APP下载

融合协同知识图谱和图卷积网络的推荐算法

2024-01-24沈鑫科陈建伟陈囿任

计算机技术与发展 2024年1期
关键词:邻域图谱实体

沈鑫科,李 勇,陈建伟,陈囿任

(1.新疆师范大学 计算机科学技术学院,新疆 乌鲁木齐 830054;2.新疆电子研究所,新疆 乌鲁木齐 830013)

0 引 言

随着互联网的高速发展,用户难以在繁杂的信息中找出真正感兴趣的内容,存在着严重的信息过载问题[1]。为了解决该问题,将推荐系统应用于互联网领域,以满足用户的个性化兴趣并减轻信息过载问题。在传统的推荐算法中,通过分析用户的历史行为进行推荐的协同过滤算法得到了广泛应用,但通常面临冷启动、稀疏性等问题[2]。为了解决上述问题,研究人员普遍将辅助信息加入推荐系统,例如社交网络[3]、图片[4]、属性[5]和项目[6]等,以此提升推荐效果。知识图谱(Knowledge Graph,KG)中实体与实体间蕴含着丰富的语义信息,有利于拓展实体之间的潜在联系。实体与实体之间的多种关系也有利于关联用户的潜在兴趣。将知识图谱引入推荐系统已经取得了显著的研究与应用成果[7]。

知识图谱是由形如头实体、关系和尾实体的三元组构成的异构有向图[8]。知识图谱通过项目与属性的映射可以更好地理解项目之间的关系;通过不同类型的关系连接实体,进而捕获实体之间的语义相关性[9]。与传统的基于协同过滤的推荐系统相比,基于知识图谱的推荐系统在推荐性能和可解释性方面要表现得更优秀。

文献[10]提出知识图注意力网络(KGAT),将用户-项目交互矩阵与知识图谱融合为协同知识图谱(Collaborative Knowledge Group,CKG)以缓解数据的稀疏性。文献[11]提出一种多任务推荐框架(MKR),通过多任务学习自动共享实体的高阶特征,学习实体之间的潜在隐藏关系。文献[12]提出知识图卷积网络模型(KGCN),利用图卷积网络,以知识图谱为单位的邻居之间的传播来计算项目的嵌入。

以上方法虽然通过知识图谱提高了推荐系统的性能,但未能充分利用知识图谱捕捉用户-项目之间的高阶关系,只考虑了用户与项目或者实体与实体之间的联系。针对以上问题,该文提出了一种融合协同知识图谱与图卷积网络的混合推荐模型(Collaborative Knowledge Graph and Graph Convolution Network Based Recommendation Algorithm,CKGCN)。主要贡献如下:

(1)将用户-项目交互图与项目知识图谱相融合,构成协同知识图谱,使用知识感知注意力机制嵌入传播得到用户和项目的特征表示。

(2)利用KGCN中邻域聚合的思想,对协同知识图谱中的实体进行模型构建,将获得的每一层实体特征表示与项目特征表示通过交互单元进行优化,提高用户与项目的高阶关系。

(3)在Book_Crossing和Last.FM两个公开的数据集上进行点击率预测(CTR)和Top-k推荐实验,实验效果与基线模型相比均有提升。

1 相关工作

1.1 基于知识图谱的推荐系统

现有的基于知识图谱的推荐系统可以分成三类:基于嵌入的方法、基于路径的方法和混合方法。

(1)基于嵌入的方法使用知识图嵌入进行预训练得到的实体嵌入来扩充用户和项目表征的语义信息。文献[13]提出一种深度知识感知网络(DKN),设计了包含上下文信息的实体嵌入,然后通过CNN框架进行新闻推荐。文献[14]提出一种知识增强的序列化推荐系统(KSR),采用TransE方法将实体转化为嵌入向量,加权求和后得到用户的细粒度兴趣表示。文献[15]提出一种协同知识库嵌入模型(CKE),从实体嵌入、文本嵌入和视觉嵌入提取语义信息,丰富知识库,提高推荐效果。此类方法更侧重于建模严格的语义相关性,这更适合于图应用而不是推荐。

(2)基于路径的方法中,知识图谱中丰富的实体存在多条路径。文献[16]提出一种个性化实体推荐系统(PER),提取用户之间不同元路径潜在特征,构建异构信息网络,加深用户与项目的连接性。文献[17]提出一种知识引导的成对重构网络(KPRN),自动提取连接用户-项目对的路径,然后通过循环神经网络对这些路径进行建模以进行用户偏好建模。此类方法高度依赖于元路径的设计,这在实践中很难进行优化。

(3)混合方法融合以上两种方法。文献[18]提出RippleNet模型,融合基于嵌入和基于路径的方法,采用水滴波纹思想在知识图谱中传播用户每层的潜在偏好,并将其组合得到用户特征表示。文献[19]提出一种自适应自注意力模型(AKUPM),对实体通过自注意力机制分配适当的权重,学习实体对用户的相关性来捕获实体特征。但是此类方法通常伴随着较高的计算和存储成本。

上述文献在一定程度上缓解了数据稀疏性与冷启动问题,但并没有充分将知识图谱的图结构信息细化实体向量表示。随着图卷积网络在各领域的深入研究,其对节点的特征与结构信息的处理为基于知识图谱的推荐算法提供了新的思路。

1.2 基于图卷积网络的推荐系统

基于图卷积网络的推荐算法使用神经网络从节点的本地网络邻域聚合节点特征信息。KGCN模型开创性地采用GCN层来聚合知识图谱中的实体以推断项目嵌入。为提高KGCN的鲁棒性,文献[20]假设知识图谱中的相邻项目可能具有相似的用户相关性标签,提供了对相邻项目边权重的正则化。文献[21]通过引入用户偏好网络,加深图卷积网络对节点的特征提取。

基于以上分析,该文提出了融合协同知识图谱和图卷积网络的推荐算法,一方面引入图卷积网络细化实体向量表示,捕捉用户-项目间的高阶联系。另一方面,使用注意力嵌入传播减少实体噪声污染。

2 CKGCN模型

该文将用户-项目交互图与项目知识图谱结合为协同知识图谱嵌入到注意力嵌入传播模块,获得用户向量u与项目向量v,再将实体和关系嵌入到优化的图卷积网络中,通过邻域聚合的方法聚合实体周边邻居得到实体向量e(K),对于每次聚合的实体向量e(K)与项目向量v进行交互处理得到最终的项目向量。最后,将用户向量u与项目向量v进行计算得到最终预测概率y,如图1所示。

图1 CKGCN模型

2.1 问题定义

在一个推荐任务中,设U={u1,u2,…,um}为m个用户的集合,V={v1,v2,…,vn}为n个项目的集合,Y={yuv|u∈U,v∈V}为用户-项目交互矩阵。yuv表示用户u与项目v是否交互记录(比如评分、收藏、购买等行为),如式1所示。

(1)

知识图谱G由若干个实体和关系组成的三元组(h,r,t)构成,h∈E,r∈R和t∈E分别表示为头实体、关系和尾实体,E和R代表G中实体和关系的集合。用户项目交互矩阵中与知识图谱结合可以生成协同知识图谱。用户和项目可以视为新的实体,是否有过交互记录可以视为新的关系。

2.2 基于注意力嵌入传播的实体特征提取

(2)

其中,Wr∈Rd×d是关系r的变换矩阵,它将实体从d维实体空间投影到k维关系空间上。g(h,r,t)的分数越低,表明三元组更加嵌入效果更加真实。

对于实体h,使用Nh={(h,r,t)|(h,r,t)∈CKG}来表示三元组,计算h的周边实体网络的线性组合eNh,如式3所示。

(3)

通过关系注意力机制实现π(h,r,t),如式4所示。

π(h,r,t)=(Wret)Tsigmoid(Wreh+er)

(4)

其中,T为转置操作。接下来,对所有与h相连的三元组的注意力得分进行归一化操作,如式5所示。

(5)

最终的注意力得分能判断应该对哪些邻居节点给予更多的关注以捕获关联信息。

最后将实体eh以及周边实体网络eNh聚合成新的实体h,eh=f(eh,eNh),f如式6所示。

f=LeakyReLU(W(eh+eNh))

(6)

其中,W∈Rd×d是可训练的权重矩阵。

为了探究深层次的语义信息,可以进一步地递归更多传播层并调整传播距离。在第l层中,将实体递归表示,如式7和式8所示。

(7)

(8)

(9)

特别注意的是,对于项目表示要多进行邻域聚合操作来增强它的表达能力。

2.3 基于领域聚合的实体特征提取

该文采用KGCN[12]算法中的邻域聚合方法,利用图卷积技术将知识图谱中实体的邻域信息聚合,从而丰富实体的语义表示。

首先,用M(v)表示直接连接到v的实体,用特定的关系评分函数代表用户对不同关系的重视程度,如式10所示。

(10)

为了获取实体v的临近拓扑结构,计算与实体直接相连的节点的线性组合,如式11所示。

(11)

(12)

(13)

其中,W∈Rd×d和b∈Rd分别表示可训练的权重和偏置。

图2 交叉压缩单元

(14)

(15)

最后把用户特征表示与经过交叉压缩得到的项目特征表示计算预测概率,如式16所示。

(16)

其中,σ函数为sigmoid函数。

2.4 模型优化

为了尽可能提高CKGCN的推荐性能,完整的损失函数包含交叉熵损失函数、协同知识图谱嵌入损失函数和正则化项,如式17所示。

(17)

2.5 算法流程

CKGCN模型的算法流程如算法1所示。

算法1:CKGCN算法

输入:用户-项目交互矩阵Y,协同知识图谱(CKG)

1.初始化参数

2.FOR训练迭代次数 DO

3.在batchsize空间内对Y和CKG进行负采样

4.FOR层数l 从1~LDO

5. 按照公式2~4获得每一个三元组的注意力分数

7. 将各层的嵌入表示按照公式9进行拼接获得新的用户嵌入表示u和项目嵌入表示v

8.END FOR

9. FOR跳数k从1~KDO

10. 获取项目v在协同知识图谱CKG中的k跳实体集合M(v)

11. 按照公式10获取用户u对不同关系的重视程度

15. END FOR

17.使用Adam算法更新参数

18.END FOR

3 实验结果与分析

3.1 数据集

该文使用两个公开的数据集来测试模型的性能。Book_Crossing是由德国自由堡大学制作的在书籍推荐中使用的数据集,其中包含了一百多万条用户对书籍的评分(0到10)。Last.FM则记录了两千多名用户对不同音乐的聆听记录。该文在进行实验之前对数据进行预处理。两个数据集中,用户如果跟书籍或者音乐有交互记录,则将其视为正反馈记录,并随机抽取等量的没有交互记录的数据视为负反馈记录。两个数据集的基本数据信息如表1所示。

表1 数据集的统计信息

3.2 实验设置

该文设置两个数据集的训练、评估和测试集的比例为6∶2∶2,超参数利用优化曲线下面积(Area Under Curve,AUC)获得。在以下两个场景中测试模型性能:

(1)CTR预测。将测试数据应用在训练好的模型下进行点击预测,使用AUC,ACC(准确率)和F1指标评估CTR预测性能。

(2)Top-k推荐。通过训练好的模型为用户提供k个可能感兴趣的项目,使用Precision@k和Recall@k指标进行评估。

每个数据集的超参数设置如表2所示,其中d,L,K和N分别为嵌入维度、注意力嵌入传播层数、图卷积网络层数和图卷积邻居数,λ为平衡参数,η为学习率。

表2 两个数据集的超参数设置

3.3 对比方法

将提出的CKGCN模型与以下五种基线方法进行性能比较。

(1)CKE[15]:通过引入知识图谱结构,文本,图像来提升推荐系统性能,分别采用TransR,栈式降噪自编码和栈式卷积自编码方法拼接提取语义表示。

(2)RippleNet[19]:利用水滴波纹传播的思想,以用户感兴趣的物品为起点,在知识图谱中不断寻找用户的潜在兴趣,丰富用户的语义表示。

(3)MKR[11]:提出一种多任务特征学习的端到端推荐框架,通过深度学习得到的实体向量与项目向量以交替学习的方式丰富项目的语义表示。

(4)KGCN[12]:通过挖掘知识图谱上的相关属性,有效地获取实体间的相关性。在实体的邻居集合体中采用GCN思想计算实体的邻域信息,从而获取用户的潜在兴趣。

(5)KGAT[10]:提出一种基于传播的推荐模型,将知识图谱和用户项目交互矩阵构建为协同知识图谱,采用注意力机制对用户嵌入和项目嵌入训练传播期间的邻居权重。

3.4 性能比较

3.4.1 CTR预测实验

CKGCN与不同基线模型的CTR预测实验结果如表3所示,所选评价指标为AUC,ACC,F1。

表3 CTR结果

根据表3可以得出以下结论:

(1)在Book_Crossing数据集中,CKGCN模型在AUC指标上与MKR相比提升了1.23%,在ACC指标上与MKR相比提升了0.43%,在F1指标上与KGCN相比提升了1.94%。CKGCN在Book_Crossing数据集中的推荐效果优于其他五种基线模型,证明了模型在捕获项目邻域信息和用户项目高阶关系后提升了推荐效果。

(2)在Last.FM数据集中,CKGCN模型在ACC指标上与MKR相比提升了0.14%,在F1指标上与KGAT相比提升了0.14%。CKGCN在Last.FM数据集中的推荐效果整体优于其他五种基线模型。但是在AUC指标上不如KGAT,Last.FM数据集比Book_Crossing数据集更为稀疏,说明注意力机制在处理稀疏场景下优势较为明显。在其他指标上,CKGCN均优于KGAT,说明聚合邻域信息的实体在经过交叉压缩单元后更能挖掘用户的潜在兴趣。

(3)KGCN在Last.FM数据集上的表现要优于MKR,充分证明了图卷积网络可以提高稀疏场景下的推荐效果。MKR在Book_Crossing数据集上的表现要优于KGCN,说明交叉压缩单元能改善稠密场景下的推荐效果。

3.4.2 Top-k预测实验

CKGCN与五种不同的基线模型进行了Top-k推荐实验,所选指标为Recall@k和Precision@k,k从5递增到100。其中,Book_Crossing数据集的实验结果如图3(a)及图3(b)所示;Last.FM数据集的实验结果如图3(c)及图3(d)所示。通过观察得知,CKGCN模型在整体性能上均优于其他基线模型。在k值大于20后,图卷积网络对实体特征进行了过度的聚合,融入了较多噪声,导致CKGCN模型的Recall@k与Precision@k下降。文中模型在k小于20的情况下均优于其他基线模型,说明CKGCN更侧重于为用户进行精确推荐。

图3 Top-k推荐效果

3.5 消融实验

采用消融实验,通过移除或更改模块,进一步验证交叉压缩单元在改良后的邻域聚合中的有效性。本节实验设计了另外两种消融模型与CKGCN进行比较,以下为消融模型的介绍,实验结果如表4所示。

(2)CKGCN-s:去除图卷积网络中聚合器的操作,将用户高阶表示u和项目高阶表示v经过交叉压缩操作后计算预测概率。

表4 消融实验

根据表4可得,CKGCN在各项指标上均优于其他消融模型,说明协同知识图谱的加入让用户u与知识图谱中的实体相连,建立用户的高阶建模。此外图卷积网络的聚合效果让物品的语义表示更加具有代表性。

3.6 超参数分析

为了探究模型中参数对推荐性能的影响,本节实验测试邻域聚合中不同跳数K与注意力嵌入传播中不同邻居数N对CKGCN模型的影响,评价指标为AUC,如表5和表6所示。

表5 不同K的AUC值

表6 不同N的AUC值

根据以上实验可得出以下结论:

(1)据表5可得,在稀疏场景下,K为1层时模型的性能最好,而相对稠密的Book_Crossing数据集中,K为3层时模型的效果最好。说明稀疏场景下模型从远距离聚合邻域信息时带来了更大的噪声。

(2)据表6可得,取邻居数N=8的情况下,CKGCN模型在两种数据集下都达到了最佳的推荐性能。随着聚合邻域信息的邻居数增加,模型的推荐效果均呈现出先升后降的趋势,说明较小的邻居数没有足够能力来聚合邻域信息,而较大的邻居数也将导致邻域信息被噪声污染。

4 结束语

针对用户-项目的高阶项目难以捕捉及数据稀疏性的问题,该文提出一种融合协同知识图谱和图卷积网络的混合推荐算法(CKGCN)。CKGCN通过构建协同知识图谱缓解数据的稀疏性,通过注意力嵌入传播和邻域聚合获取项目表示,在交叉压缩单元中进行优化获取高阶项目表示,从而提高推荐性能。在两个数据集中与五种基线模型进行对比,在整体上均处于领先位置。该文并未考虑用户兴趣随时间的变化对模型的影响,这将是未来工作的研究重点。

猜你喜欢

邻域图谱实体
绘一张成长图谱
稀疏图平方图的染色数上界
前海自贸区:金融服务实体
基于邻域竞赛的多目标优化算法
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
补肾强身片UPLC指纹图谱
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
关于-型邻域空间
主动对接你思维的知识图谱