本发明属于推荐系统,具体涉及一种基于知识增强与兴趣演化的点击率预测方法及系统。
背景技术:
1、点击率预测是推荐系统的关键模块,该模块可以预测出任意用户对某一个物品可能的点击概率,并进一步地将点击概率从高到低排序,从而生成该用户可能感兴趣的目标物品列表,投其所好,避免用户直接接触海量的信息,帮助用户找到有价值的重点内容。在许多应用中,点击率是商业评估的关键指标,对于拥有大量用户基础的应用程序,即使微小改进也可能有助于整体收入的大幅增长。在点击率预测中,用户画像以及大量的用户行为日志,包括浏览、加入购物车、购买、评价等行为隐含了用户的兴趣,因此对行为建模是点击率预测的一个重要课题。丰富的行为数据也同时给点击率预测任务的建模带来了许多挑战,如何利用这些行为数据提高点击率预测模型的性能成为了研究的热门方向。
2、然而,尽管现有模型在一定程度上实现了性能改进,但仍面临一些主要弱点。首先,现有模型只是将整个用户行为序列中的所有物品都输入到gru中,但并不是每个相邻的物品之间都存在兴趣演化,应该尽可能地在有相关性的物品之间捕获兴趣演化。其次,它们只考虑了细粒度的每个物品的兴趣演化,而忽略了粗粒度的实体的兴趣演化,而这能代表用户的整体的兴趣演化。除此之外,现有模型通常只将目标物品的原始向量直接输入,而目标物品节点周围的用户邻居对其的影响可以反映不同用户对同一物品的不同兴趣。最后,每个用户都有独特的兴趣,挖掘用户的独特兴趣对于模型是非常重要的。知识图谱可以灵活地对综合辅助数据进行建模,以头部实体、关系、尾部实体的三元形式存储外部异质知识,由于其丰富的信息,结合知识图谱可以来丰富用户和物品的表示,并提高推荐的可解释性。
技术实现思路
1、本发明的目的在于提供一种基于知识增强与兴趣演化的点击率预测方法及系统,该方法及系统有利于提高点击率预测的准确性。
2、为了实现上述目的,本发明采用的技术方案是:一种基于知识增强与兴趣演化的点击率预测方法,包括以下步骤:
3、步骤a:采集用户的行为数据,包含用户id、目标物品id、物品类型和交互时间,构建点击率预测训练集;
4、步骤b:使用训练集训练基于知识增强与兴趣演化的深度学习网络模型g;
5、步骤c:将用户、物品数据输入训练好的深度学习网络模型g中,输出当前用户对目标物品的点击概率。
6、进一步地,所述步骤b具体包括以下步骤:
7、步骤b1:构造知识图谱gkg、物品共现图gcf和用户-物品交互图ginteract;训练集中的每一个样本包含用户id、目标物品id以及用户的行为序列;
8、步骤b2:将训练集中的样本依据知识图谱gkg进行分段,得到由多个兴趣段组成的兴趣段序列将兴趣段序列分为强兴趣段序列和弱兴趣段序列再输入到嵌入层中,得到强兴趣段序列的向量es和弱兴趣段序列的向量ew;将知识图谱中的所有实体添加到实体序列sentity中,再输入到嵌入层中,得到实体的向量ee;在知识图谱gkg和物品共现图gcf中,依据样本中的每一个物品和目标物品之间的最短路径,构造基于语义的潜在兴趣段序列和基于相似度的潜在兴趣段序列再输入到嵌入层中,得到基于语义的潜在兴趣段序列的向量ek和基于相似度的潜在兴趣段序列的向量ec;依据知识图谱gkg中实体出现的频率,构造独特兴趣段序列再输入到嵌入层中,得到独特兴趣段序列的向量eunique;将用户id和目标物品id输入到嵌入层中,得到eu和et;
9、步骤b3:将单个强兴趣段和弱兴趣段内的每个物品向量和输入到gru中,捕捉用户在兴趣段内的细粒度兴趣演化,物品向量分别更新为和对于每个兴趣段,根据知识图谱中的关系进行划分,对于每种关系,将兴趣段对应的实体向量按照兴趣段的第一个物品进行排序,输入到gru中,捕捉用户在兴趣段间的粗粒度兴趣演化,实体向量更新为将作为查询,对对应的兴趣段里的每个物品向量做注意力,计算每个物品和实体的相关性,得到强兴趣段的段内聚合向量和弱兴趣段的段内聚合向量
10、步骤b4:依据用户-物品交互图ginteract,使用gcn,将与目标物品交互过的用户的向量eu聚合到目标向量et中,得到目标物品的向量更新为将目标物品向量作为查询,对每个强兴趣段的段内聚合向量执行注意力计算,得到强兴趣的向量us;将强兴趣向量us和目标物品向量进行拼接,作为查询,对每个弱兴趣段的段内聚合向量做注意力计算,得到弱兴趣的向量uw;将目标物品向量作为查询,对独特兴趣段序列的向量eunique执行双层注意力,得到独特兴趣的向量uunique;
11、步骤b5:将目标物品向量作为查询,对潜在兴趣段序列的向量ek和ec执行双层注意力机制和多头注意力机制,得到潜在兴趣向量的向量uk和uc;对uk和uc执行对比机制来捕获两个潜在兴趣段之间的互补信息和区别信息;将来自同一用户的两种潜在兴趣作为一对正样本,将不同用户的潜在兴趣视为负样本,得到对比损失lcl;
12、步骤b6:将步骤b2、b4、b5得到的用户的向量eu、目标物品的向量强兴趣向量us、弱兴趣向量uw、潜在兴趣向量uk和uc、独特兴趣向量uunique拼接在一起,输入到多层感知机进行点击率预测,得到预测出的点击率,使用交叉熵函数计算预测损失;然后根据目标损失函数,通过反向传播方法计算深度学习网络模型中各参数的梯度,并利用随机梯度下降方法更新各参数;
13、步骤b7:当深度学习网络模型产生的损失值小于设定的阈值或达到最大的迭代次数时,终止深度学习网络模型g的训练。
14、进一步地,所述步骤b1具体包括以下步骤:
15、步骤b11:使用freebase为所有物品构建知识图谱gkg,如果有映射可用,则通过标题匹配将物品映射到freebase实体,如果物品和实体有某种关系,则物品和实体之间有一条边;
16、步骤b12:依据用户和物品之间的交互,构建物品共现图gcf,如果两个物品在用户的行为序列中同时出现,则这两个物品之间有一条边;
17、步骤b13:依据用户和物品之间的交互,构建用户-物品交互图ginteract,如果用户和物品存在交互,则用户和物品之间有一条边。
18、进一步地,所述步骤b2具体包括以下步骤:
19、步骤b21:依据步骤b11得到的知识图谱gkg,将用户行为序列中同时和同一个实体有边的物品存放到一个兴趣段中,兴趣段内的物品按照用户和物品的交互时间按从小到大进行排序,遍历单个用户行为序列,得到包含多个兴趣段的兴趣段序列
20、步骤b22:将步骤b21得到的兴趣段依据段内的物品个数进行分段,其中物品个数大于阈值τ的视为强兴趣段,剩余的视为弱兴趣段;将强兴趣段和弱兴趣段分别添加到强兴趣段序列和弱兴趣段序列中,再输入到嵌入层中,得到强兴趣段序列的向量es和弱兴趣段的向量ew;将知识图谱中的所有实体添加到实体序列sentity中,再输入到嵌入层中,得到实体的向量ee;
21、步骤b23:依据步骤b11得到的知识图谱gkg,找到样本中的每一个物品和目标物品之间的最短路径,将路径中出现的节点添加到一个潜在兴趣段中,再将这个潜在兴趣段添加到基于语义的潜在兴趣段序列中,再输入到嵌入层中,得到基于语义的潜在兴趣段序列的向量ek;
22、步骤b24:依据步骤b12得到的物品共现图gcf,找到样本中的每一个物品和目标物品之间的最短路径,将路径中出现的节点添加到一个潜在兴趣段中,再将这个潜在兴趣段添加到基于相似度的潜在兴趣段序列中,再输入到嵌入层中,得到基于相似度的潜在兴趣段序列的向量ec;
23、步骤b25:依据步骤b11得到的知识图谱gkg,将所有实体按照出现的频率按从小到大进行排序,得到实体序列sentity,遍历实体序列sentity,选择实体对应的兴趣段出现在用户行为序列中,将该兴趣段作为用户的独特兴趣段,添加到独特兴趣段序列中,直到独特兴趣段序列中包含μ个兴趣段,再输入到嵌入层中,得到独特兴趣段序列的向量eunique;
24、步骤b26:将用户id和目标物品id输入到嵌入层中,得到eu和et。
25、进一步地,所述步骤b3具体包括以下步骤:
26、步骤b31:将单个强兴趣段和弱兴趣段内的每个物品向量和输入到gru中,捕捉用户在兴趣段内的细粒度兴趣演化,第i个兴趣段内的第j个物品的向量分别更新为和
27、
28、
29、步骤b32:对于每个兴趣段,根据知识图谱中的关系进行划分;对于每种关系,将兴趣段对应的实体向量按照兴趣段的第一个物品进行排序,输入到gru中,捕捉用户在兴趣段间的粗粒度兴趣演化,第i个实体的向量更新为
30、
31、步骤b33:将步骤b22得到的作为查询,对对应的兴趣段里的每个物品向量做注意力,计算每个物品和实体的相关性,得到强兴趣段的段内聚合向量和弱兴趣段的段内聚合向量
32、
33、
34、
35、
36、其中,和表示注意力系数,w1和w2表示可训练参数,ns表示强兴趣段内物品的个数,nw表示弱兴趣段内物品的个数。
37、进一步地,所述步骤b4具体包括以下步骤:
38、步骤b41:依据步骤b13得到的用户-物品交互图ginteract,使用gcn,将与目标物品交互过的用户的向量eu聚合到目标向量et中,得到目标物品的向量更新为
39、
40、步骤b42:将步骤b41得到的目标物品向量作为查询,对每个强兴趣段的段内聚合向量做注意力计算,得到强兴趣的向量us:
41、
42、
43、其中,表示注意力系数,w2表示可训练参数,ls表示强兴趣段的个数;
44、步骤b43:将步骤b42得到的强兴趣向量us和步骤b41得到的目标物品向量进行拼接,作为查询,对每个弱兴趣段的段内聚合向量做注意力计算,得到弱兴趣的向量uw:
45、
46、
47、其中,表示注意力系数,w4表示可训练参数,lw表示弱兴趣段的个数;
48、步骤b44:将步骤b41得到的目标物品向量作为查询,对独特兴趣段里的每个物品向量做注意力,计算每个物品和目标物品的相关性,得到独特兴趣段的段内聚合向量
49、
50、
51、其中,表示注意力系数,w5表示可训练参数,nunique表示独特兴趣段内物品的个数;
52、步骤b45:将步骤b41得到的目标物品向量作为查询,对每个独特兴趣段的段内聚合向量做注意力计算,得到独特兴趣的向量uunique:
53、
54、
55、其中,表示注意力系数,w6表示可训练参数,lunique表示独特兴趣段的个数。
56、进一步地,所述步骤b5具体包括以下步骤:
57、步骤b51:将步骤b41得到的目标物品向量作为查询,对每个基于语义的潜在兴趣段的向量做注意力计算,得到基于语义的潜在兴趣段的段内聚合向量
58、
59、
60、其中,表示注意力系数,w7表示可训练参数,nk表示基于语义的潜在兴趣段内物品的个数;
61、步骤b52:将所有基于语义的潜在兴趣段的段内聚合向量进行拼接,得到xk,再输入到多头自注意力中,得到细化的基于语义的潜在兴趣段序列的段内聚合向量hk;
62、
63、
64、
65、其中,headh表示第h个注意力函数的输出,dh表示每个头的维度,nhead表示注意力函数的个数,w8表示可训练参数;
66、步骤b53:将步骤b41得到的目标物品向量作为查询,对每个基于语义的潜在兴趣段的向量做注意力计算,得到基于语义的潜在兴趣向量uk:
67、
68、
69、其中,表示注意力系数,w9表示可训练参数,lk表示基于语义的潜在兴趣段的个数;
70、步骤b54:将步骤b41得到的目标物品向量作为查询,对一个基于相似度的潜在兴趣段中的每个物品向量做注意力计算,得到基于相似度的潜在兴趣段的向量
71、
72、
73、其中,表示注意力系数,w10表示可训练参数,nc表示基于语义的潜在兴趣段内物品的个数;
74、步骤b55:将所有基于相似度的潜在兴趣段的段内聚合向量进行拼接,得到xc,再输入到多头自注意力中,得到细化的基于相似度的潜在兴趣段序列的段内聚合向量hc;
75、
76、
77、
78、其中,headh表示第h个注意力函数的输出,dh表示每个头的维度,nhead表示注意力函数的个数,w11表示可训练参数;
79、步骤b56:将步骤b41得到的目标物品向量作为查询,对每个基于相似度的潜在兴趣段的向量做注意力计算,得到基于相似度的潜在兴趣向量的表示uc:
80、
81、
82、其中,表示注意力系数,w12表示可训练参数,lc表示基于语义的潜在兴趣段的个数;
83、步骤b57:将来自两个潜在兴趣段的同一用户的兴趣作为一对正样本,将不同用户的兴趣视为成对的负样本,计算出对比损失lcl:
84、
85、其中,nu表示用户的数量,表示在一个批次中其余用户的基于语义的潜在兴趣。
86、进一步地,所述步骤b6具体包括以下步骤:
87、步骤b61:将用户的向量eu、目标物品的向量以及步骤b2、b4、b5得到的强兴趣向量us、弱兴趣向量的表示uw、潜在兴趣向量的向量uk和uc、独特兴趣向量uunique拼接在一起,输入到多层感知机mlp进行点击率预测,得到预测出的点击率:
88、
89、步骤b62:使用交叉熵函数ltarget计算预测损失,通过梯度优化算法adam对学习率进行更新,利用反向传播迭代更新模型参数,以最小化损失函数来训练模型;模型总损失为上述损失加权相加:
90、
91、lall=ltarget+λlcl
92、其中,n表示样本的数量,yi为对应的标签,λ为超参数,ltarget为点击率预测的损失函数,lcl为潜在兴趣向量的对比损失函数。
93、本发明还提供了一种采用上述方法的点击率预测系统,包括:
94、训练集构建模块,用于采集用户的行为数据,构建点击率预测训练集;
95、模型训练模块,用于训练基于知识增强与兴趣演化的深度学习网络模型g;以及
96、点击率预测模块,用于接收用户、物品数据并输入训练好的深度学习网络模型g中,输出当前用户对目标物品的点击概率。
97、与现有技术相比,本发明具有以下有益效果:本发明首先依据知识图谱、物品共现图和用户-物品交互图,将用户的兴趣细化为强兴趣、弱兴趣、基于语义的潜在兴趣、基于相似度的潜在兴趣、独特兴趣,从不同的角度提取了用户的兴趣,同时从细粒度和粗粒度两方面捕捉用户的兴趣演化。另外,通过丰富目标物品的向量和引入对比学习任务来捕获分别从知识图谱和物品共现图得到的两种潜在兴趣向量之间的互补关系,能够全面地捕捉用户的兴趣,为用户引入没有交互但符合兴趣的物品,使得模型能够学习到更多的交互信息。
1.一种基于知识增强与兴趣演化的点击率预测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于知识增强与兴趣演化的点击率预测方法,其特征在于,所述步骤b具体包括以下步骤:
3.根据权利要求2所述的基于知识增强与兴趣演化的点击率预测方法,其特征在于,所述步骤b1具体包括以下步骤:
4.根据权利要求3所述的基于知识增强与兴趣演化的点击率预测方法,其特征在于,所述步骤b2具体包括以下步骤:
5.根据权利要求4所述的基于知识增强与兴趣演化的点击率预测方法,其特征在于,所述步骤b3具体包括以下步骤:
6.根据权利要求5所述的基于知识增强与兴趣演化的点击率预测方法,其特征在于,所述步骤b4具体包括以下步骤:
7.根据权利要求6所述的基于知识增强与兴趣演化的点击率预测方法,其特征在于,所述步骤b5具体包括以下步骤:
8.根据权利要求7所述的基于知识增强与兴趣演化的点击率预测方法,其特征在于,所述步骤b6具体包括以下步骤:
9.一种采用如权利要求1-8任一项所述方法的点击率预测系统,其特征在于,包括: