张海龙 颜金尧
摘 要:针对当前基于知识图谱的推荐模型没有充分挖掘知识图谱语义结构信息的问题,提出一种融合知识图谱表示学习方法和信息协同传播机制的推荐模型KCOD。KCOD基于经典的知识图谱表示学习模型DistMult与TransR建模并推理实体三元组的语义关系,然后通过交叉计算每一阶历史交互实体向量推理结果与候选物品实体向量推理结果的相似度,进行模型训练及偏好预测。实验结果显示KCOD的性能优于经典对比模型。
关键词:个性化推荐;知识图谱;表示学习;协同传播
中图分类号:TP391.3 文献标识码:A 文章编号:2096-4706(2023)16-0094-06
Recommendation Model Based on Knowledge Graph Information
Collaborative Diffusion
ZHANG Hailong1, YAN Jinyao2
(1.The 15th Research Institute of CETC, Beijing 100083, China; 2.Communication University of China, Beijing 100024, China)
Abstract: Aiming at the problem that the current recommendation model based on knowledge graph does not fully mine the semantic structure information of knowledge graph, a recommendation model, KCOD, which combines the representation learning method of knowledge graph and the information collaborative diffusion mechanism, is proposed. KCOD models and infers the semantic relationship of entity triples based on the classical knowledge graph representation learning model DistMult and TransR. Then it performs model training and preference prediction by cross-calculating the similarity between the inference results of historical interaction entity vector and the inference results of candidate item entity vector at each hop. The experimental results show that the performance of KCOD is better than the classical comparison model.
Keywords: personalized recommendation; knowledge graph; representation learning; collaborative diffusion
0 引 言
近年来,随着互联网的快速发展,人类社会开始面临严重的“信息过载”问题。推荐系统是互联网平台缓解这一问题、改善用户体验的关键技术。经典的推荐模型包括协同过滤和矩阵分解模型。这些模型的核心思想是通过用户与物品的历史交互数据(比如点击、观看、评论、转发等)进行相似度计算,并根据相似度进行相似用户或者物品的推荐。但用户的历史交互数据非常稀疏,基于交互数据进行推荐使得推荐结果的可解释性较差,且不可避免地存在冷启动问题[1]。为了解决上述问题,提高推荐效果,研究人员开始在推荐系统中引入辅助信息。常用的辅助信息包括用户物品属性信息,比如用户画像信息;内容信息,比如文本信息、图像信息;上下文信息,比如时间、地点;社交网络信息,比如用户的好友关系等。随着深度神经网络(Deep Neural Networks, DNN)的广泛应用,为了有效融合多源的辅助信息,研究人员开始基于DNN架构设计个性化推荐系统[2]。DNN模型能够自动从多源辅助信息中挖掘高阶个性化兴趣特征,从而改善传统推荐模型的各种问题。尤其是图神经网络(Graph Neural Networks, GNN)[3]技术的研究取得进展后,利用非欧几里得空间的图数据作为辅助信息进行推荐受到研究人员的重点关注。
知识图谱(Knowledge Graph, KG)是一种由实体(Entity)节点和边组成的异构网络图,具有丰富的语义结构信息。知识图谱由三元组(h,r,t)集合组成。其中h表示头实体,t表示尾实体,r表示h和t之间的关系。如果将推荐系统中的用户或者物品映射到知识图谱中的相关实体,那么知识图谱可以提供丰富的先验知识信息。
利用知识图谱进行个性化推荐的方法主要分为三类:基于嵌入的方法、基于路径的方法、一体化方法[4]。基于嵌入的方法,先使用经典的知識图谱嵌入表示模型,比如Trans系列模型,学习每个实体与关系的低维表示向量,然后基于表示向量计算相似度从而进行推荐。典型模型有CKE[5]、MKR[6]等。此类模型直接利用三元组信息进行表示向量学习,非常适用于知识图谱内部进行知识推理与补全;但由于在训练时没有考虑路径上的邻居节点信息,因而将其应用于推荐系统时存在局限性。基于路径的方法通过在知识图谱中提取用户-物品二元组之间的元路径或元图类隐特征,从而完成相似度的计算。由于其利用了知识图谱的语义结构信息,能够挖掘用户的个性化兴趣,具有较好的可解释性。典型模型有HeteRec[7]等。但是此类方法非常依赖于人工设计的元路径或元图,在现实场景中难以应用。最近的研究工作开始借助深度神经网络模型自动提取元路径,一定程度上改善了基于路径方法的可用性与准确性。一体化方法则充分结合了以上两类模型的优势,即使用嵌入方法学习实体与关系的表示向量,又利用路径信息即连接关系进行邻居实体表示向量的特征融合。用户或者物品的特征信息在知识图谱中向邻居实体进行多阶传播后,即可学习到用户更广泛的个性化兴趣特征。典型的一体化推荐方法有RippleNet[8]、KGAT[9]、KGCN[10]等。一体化方法充分利用了知识图谱数据的结构关系与语义信息,在学习到个性化兴趣特征的同时还具有非常好的可解释性。特别是知识图谱数据属于典型的非欧几里得空间数据,近些年来提出的图卷积网络、图注意力网络等模型使得在深度神经网络架构下处理这类数据成为可能。一体化方法因而成为研究人员重点关注的方向。但由于知识计算与信息传播方法的多样性,尤其考虑到知识图谱中的实体具有严格的连接推理关系,现有模型并未充分利用以上特性从知识图谱结构及语义上挖掘用户兴趣特征,因此融合知识图谱的个性化推荐模型有待进一步研究完善。
综合上述分析,本文提出知识协同传播推荐模型KCOD(Knowledge COllaborative Diffusion Recommendation Model)。首先KCOD将知识图谱表示学习方法融入特征学习过程,基于DistMult[11]和TransR[12]模型对知识图谱中实体三元组(h,r,t)的语义关系进行建模,并通过矩阵运算进行表示向量推理。然后KCOD将用户历史交互实体向量和候选物品实体向量在知识图谱中同时扩散传播,并通过交替计算向量推理结果的相似度来学习语义结构信息。
1 基于知识图谱信息协同传播的推荐
1.1 感受野集合
知識图谱中实体的感受野集合是指由实体节点与邻居实体节点组成的三元组集合。例如某实体a的多阶感受野集合示意图如图1所示。则图中实体a的0阶感受野Na(0)等于a本身,实体a的1阶感受野为 ;实体a的2阶感受野为 ,其中
通常,在构建感受野集合时,需要将每一个实体的一阶邻居数量设置为固定值n。如果实体的邻居数量大于n,则进行随机采样;如果实体的邻居数量小于n,则进行重复采样。
1.2 知识协同传播推荐模型
KCOD的结构图如图2所示。KCOD模型首先构建两个实体感受野集合,一个是用户u的历史交互实体感受野集合Nu,另一个是候选物品v的实体感受野集合Nv。然后,KCOD在两个感受野集合中同时传播特征信息。在向每一阶邻居实体扩散信息时,KCOD假设由Nu(i)中的(hu,ru,tu)推理出的Muhu与Nv(i)中(hv,rv,tv)的tv具有较高的相似度,同样由Nv(i)中(hv,rv,tv)推理出的Mvhv与Nu(i)中(hu,ru,tu)的tu具有较高的相似度。KCOD模型最终输出由sigmoid函数基于这两个相似度数值之和计算的交互概率。
1.2.1 特征协同传播层
KCOD模型基于DistMult模型和TransR模型建模知识图谱中实体三元组(h,r,t)的语义关系:
tr = Mr Rr h (1)
其中tr = Rr t,Mr和Rr分别表示关系r对应的转换矩阵和投影矩阵。
然后,如图2所示,KCOD在用户u的历史交互实体感受野集合Nu和候选物品实体v的感受野集合Nv中同时进行信息扩散传播。在用户的第i阶感受野Nu(i)中进行信息扩散时,KCOD首先对Nu(i)中的所有三元组(h,r,t)计算出以下结果:
(2)
(3)
其中l2_normalize()表示对计算出的特征表示向量进行L2正则化,hw表示将基于知识图谱表示学习算法推理出的尾实体向量之和进行正则化的结果。
同样,在候选物品的感受野集合Nv中进行信息扩散时,KCOD首先对Nv(i)中的所有三元组(hv,rv,tv)计算出以下结果:
(4)
(5)
接着,KCOD分别计算出用户历史交互实体感受野集合Nu(i)对应的hw和t s以及候选物品实体感受野集合Nv(i)对应的 和 后,再通过下式交叉计算这四组特征表示向量的相似度:
(6)
(7)
最后,KCOD将(6)式和(7)式的结果求和后作为第i阶感受野的相似度综合得分:
si = su, v + sv, u (8)
1.2.2 预测层
KCOD模型通过迭代执行式(2)~(8)计算出全部K阶感受野的相似度得分 ,然后加和全部K阶感受野的相似度综合得分:
ssum = s1 + s2 + … + sK (9)
最后,KCOD模型通过sigmoid函数输出预测的用户与候选物品的交互概率:
(10)
1.2.3 模型训练
KCOD模型的优化目标定义为给定知识图谱G以及用户-物品交互矩阵Y,优化如下的后验概率:
max p(θ | G, Y ) (11)
基于贝叶斯定理,即为最大化式(12):
(12)
取负对数,得到KCOD需要最小化的损失函数如下:
(13)
式中第一项表示基于交互矩阵与预测概率计算的交叉熵损失,其yu,v表示交互矩阵中样本的实际标签值,σ (ssum)表示模型基于用户相似度得分的总和预测的交互概率;第二项表示基于知识图谱表示学习模型与实体连接关系计算的均方误差;第三项表示模型待学习参数的正则化项。
2 实验与分析
本节对KCOD模型的性能进行实验分析,使用的数据集是MovieLens-1M和MovieLens-20M。
2.1 数据集
MovieLens-1M数据集是取自MovieLens电影评分推荐网站的经典电影评分数据集,它包含了约
6 000名用户对约4 000部电影的近100万条评分记录,分值从1到5。相比MovieLens-1M,MovieLens-20M数据集则包含了约138 000名用户对约27 000部电影的近2 000万条评分记录。实验使用的样本数据是文献[9]和文献[11]公开的基于MovieLens-1M和MovieLens-20M处理后的数据集。这两个预处理后的包含知识图谱的数据集其基本统计信息如表1所示。在数据预处理部分,文献先将数据集的显式交互评分转化成隐式标签数据。转化时,评分大于3的样本数据转换成正样本标签1。同时,文献对评分记录中用户没有评价过的电影集合进行随机负采样。随机负采样生成的負标签样本与正标签样本数量相等。文献基于MovieLens数据集和微软Satori生成电影知识图谱三元组时,先依据关系名称初步筛选出知识图谱电影子图,然后将MovieLens数据集中的电影名称与子图实体名称进行一一匹配,从而构建出MovieLens对应的电影知识图谱。
2.2 实验设置
实验中的对比模型包括SVD、CKE、RippleNet和KGCN。硬件训练环境为Intel Core i7-6800K和Nvidia GTX 1080 Ti,软件训练环境为TensorFlow v1.14和Python V3.7。KCOD模型的超参数设置如表2所示,其中dim表示实体与关系的特征表示向量维度,hop表示最高感受野阶数K,lr表示学习率,num表示每阶感受野采样的邻居节点个数,λ1和λ2表示正则化项的衰减系数。这些超参数取值主要参考经验数据并通过参数搜索实验确定。模型优化器采用Adam算法。对比模型的超参数设置参考了原论文中的参数设置,但为了公平比较,一些参数设置成和本章所提模型尽量相同。例如,SVD模型的表示向量维度设置为32,学习率设置为0.01。CKE模型的表示向量维度设置为64。RippleNet与KGCN的超参数设置取原论文最优实验结果的参数。实验按照6:2:2的比例从样本数据中随机选择出训练集、验证集以及测试集。为了充分验证模型的性能,本文使用AUC、准确率(Accuracy, ACC)、召回率(Recall@N)以及精确率(Precision@N)作为实验结果评价指标,对每个模型分别进行3次实验,并取实验结果的平均值作为对比数据。
2.3 实验结果
各模型的实验结果如表3、图3、图4、图5、图6所示。结果表明,经典的SVD取得了相对较好的性能,这证明了矩阵分解模型的有效性。结合知识图谱的CKE模型并未取得理想的结果,说明CKE未能有效地学习到知识图谱的语义信息。RippleNet和KGCN的结果超过其他的对比模型,这说明基于一体化方法利用知识图谱进行推荐比较有效。本文提出的KCOD模型在AUC、ACC、Recall@N以及Precision@N四个指标上都取得了最好的实验结果。这证明在特征信息扩散过程中引入DistMult和TransR模型可以更好地学习用户的个性化兴趣特征,从而提高表示向量的准确度。从数据集上看,所有模型的性能在MovieLens-20M上都有提升。这是因为MovieLens-20M拥有更多的训练样本,可以更充分地挖掘特征信息。
表4显示的是各模型在MovieLens-20M上完成一轮训练的训练时间。相比RippleNet,KCOD拥有更低的训练时间。这说明KCOD复杂度低,训练效率高,能够有效地学习邻居节点的特征信息。
实验还调整了一些超参数的取值来研究其对于模型性能的影响。首先,实验将超参数num设置为不同的值并在MovieLens-20M数据集上进行实验,结果如表5所示。实验结果表明KCOD在num = 32时达到最优性能。这说明合适的num值可以使模型学习到最丰富的特征信息。
然后,实验将超参数dim设置为不同的值并在MovieLens-20M数据集上进行实验,结果如表6所示。实验结果表明KCOD在dim = 16时达到最优性能。这是因为增加dim值可以增加特征表示向量的表达能力,但过高的dim值会导致过拟合现象,并增加模型复杂度。
最后,实验将超参数hop设置为不同的值并在MovieLens-20M数据集上进行实验,结果如表7所示。实验结果表明KCOD在hop = 2时达到最优性能。这说明引入多阶邻居信息可以提高KCOD的性能,但是过高的邻居阶数又会引入噪声,降低模型性能。
3 结 论
将知识图谱含有的语义结构信息集成到个性化推荐系统中,可以改善数据稀疏性、冷启动和可解释性等问题。为了学习这些语义结构信息,基于知识图谱表示学习模型DistMult与TransR,本文提出的KCOD模型对知识图谱三元组之间的关系进行了矩阵化推理计算,并将推理结果应用到信息扩散过程中。KCOD通过交叉计算每一阶历史交互实体向量推理结果与候选物品实体向量推理结果的相似度进行模型训练及偏好预测。本文在两个MovieLens数据集上对KCOD进行性能对比分析。实验结果表明KCOD优于经典的对比模型,可以有效地学习知识图谱的语义结构信息。
参考文献:
[1] CAMACHO L A G,ALVES-SOUZA S N. Social Network Data to Alleviate Cold-start in Recommender System: A Systematic Review [J].Information Processing and Management,2018,54(4):529-544.
[2] 王越群.基于知识图谱的深度推荐系统研究 [D].长春:吉林大学,2022.
[3] WU Z H,PAN S R,CHEN F W,et al. A Comprehensive Survey on Graph Neural Networks [J].IEEE Transactions on Neural Networks and Learning Systems,2021,32(1):4-24.
[4] GUO Q Y,ZHUANG F Z,QIN C,et al. A Survey on Knowledge Graph-Based Recommender Systems [J].IEEE Transactions on Knowledge and Data Engineering,2020,34(8):3549-3568.
[5] ZHANG F Z,YUAN N J,LIAN D F,et al. Collaborative Knowledge Base Embedding for Recommender Systems [C]//Proceedings of the 22nd ACM International Conference on Knowledge Discovery and Data Mining.San Francisco:ACM,2016:353-362.
[6] WANG H W,ZHANG F Z,ZHAO M,et al. Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation [C]//The World Wide Web Conference.San Francisco:ACM,2019:2000-2010.
[7] YU X,REN X,SUN Y Z,et al. Recommendation in Heterogeneous Information Networks with Implicit User Feedback [C]//Proceedings of the 7th ACM conference on Recommender Systems.Hong Kong:ACM,2013:347-350.
[8] WANG H W,ZHANG F Z,WANG J L,et al. Ripplenet: Propagating User Preferences on the Knowledge Graph for Recommender Systems [C]//Proceedings of the 27th ACM International Conference on Information and Knowledge Management.Torino:ACM,2018:417-426.
[9] WANG X,HE X N,CAO Y X,et al. KGAT: Knowledge Graph Attention Network for Recommendation [C]//Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining.Anchorage:ACM,2019:950-958.
[10] WANG H W,ZHAO M,XIE X,et al. Knowledge Graph Convolutional Networks for Recommender Systems [C]//WWW '19: the World Wide Web Conference.San Francisco:ACM,2019:3307-3313.
[11] YANG B S,YIH W-T,HE X D,et al. Embedding Entities and Relations for Learning and Inference in Knowledge Bases [J/OL].arXiv:1412.6575 [cs.CL].(2014-12-20).https://arxiv.org/abs/1412.6575v1.
[12] 田萱,陈杭雪.推荐任务中知识图谱嵌入应用研究综述 [J].计算机科学与探索,2022,16(8):1681-1705.
作者简介:张海龙(1988—),男,漢族,山东兰陵人,工程师,博士,研究方向:数据分析、推荐系统;颜金尧(1973—),男,汉族,浙江海宁人,研究员,博士,研究方向:数据分析、多媒体计算与传播。