基于知识图谱的轻量级图卷积网络推荐
2023-12-17彭永梅童向荣
彭永梅,童向荣
(烟台大学计算机与控制工程学院,烟台,264005)
信息化时代,推荐系统已经是新闻门户、搜索引擎和电子商务等网络应用程序中的重要组成部分.传统的推荐技术使用协同过滤(Collaborative Filtering,CF)[1],不能对额外的信息进行建模,例如项目属性、用户配置文件和上下文等,因此,经常会出现用户项目稀疏和冷启动问题.为了克服上述限制,研究人员使用具有丰富特性的场景来缓解稀疏性问题,并且提高推荐的性能.
最近的一些研究表明[1-2],属性之间不是独立的,而是存在联系,构成了知识图谱(Knowledge Graph,KG).KG 是有向异构图,节点对应实体,边对应关系.与没有KG 的方法相比,在推荐中加入KG 可以在三个方面提高效果[3]:(1)KG中项目之间的边表示项目在语义上密切相关,这有助于探索项目之间可能的关系,提高推荐的准确性;(2)KG 是有向异构图,可以用有意义的方式扩展用户的兴趣,使用图中不同类型的连接,增加推荐项目的多样性;(3)KG 可以结合用户历史和推荐记录来解决冷启动问题,也提高了推荐的可解释性,使用户更容易接受被推荐的项目.
目前,图卷积网络(Graph Convolutional Network,GCN)[4]已经成为协同过滤的新技术.Wang et al[5]从GCN 中得到启发,提出NGCF(Neural Graph Collaborative Filtering),同样使用邻域聚合、特征转换和非线性激活的传播规则来细化嵌入.GCN 是针对属性图上的节点分类提出的,每个节点都有丰富的属性作为输入特征.但在协同过滤的用户项目交互图中,节点仅由一个标识符表示,并且这个标识符没有其他特殊的含义,在此条件下,使用ID 嵌入作为输入来进行多层非线性特征变换,可能会增加模型训练的复杂性.He et al[6]提出LightGCN,认为GCN 的常见设计如特征转换和非线性激活不一定对协同过滤起积极的作用,因此对NGCF 进行了广泛的消融实验,结果表明GCN 的特征转换和非线性激活对协同过滤的有效性没有产生积极的影响,相反,消除它们可以显著提高准确性.证明在GCN 中添加一些对目标任务无效的操作,不仅没有任何益处,反而使模型的效率下降.
本文在简化模型设计的基础上实现了KG 中的高阶结构和语义信息的自动捕获以及反映远距离的潜在用户兴趣,提出基于知识图谱的轻量级图卷积网络(Lightweight Graph Convolutional Network Based on Knowledge Graph,Light-KGCN).该方法通过简化GCN 的结构来适应CF的需求,降低训练难度,同时,将知识图谱中的实体通过多次迭代嵌入传播来获取高阶邻域信息,聚合邻域信息并扩展感受野需求,感受野结合实体表示和邻域表示,并将其扩展到多跳,在高阶层次上捕捉用户的偏好并捕获远距离的潜在用户兴趣,提高推荐的准确性.
LightKGCN 通过有偏差的方式合并和聚集邻域信息来对KG 中的给定实体进行表示,这样的设计有两大优势.第一,通过使用邻域聚合操作,可以成功捕获和存储每个实体的本地邻域结构信息.第二,邻居权重是通过对连接关系和特定用户的分数加权得到的,这些评分既描述了关于KG 的语义信息,又反映了用户在关系中的个性化兴趣.由于不同实体的邻居大小各不相同,因此对每个节点的固定大小的邻域进行采样来作为感受野,可以实现对LightKGCN 的成本预测,也可以在多个层次上对给定实体邻域的定义进行分层扩展,从而对更高层次的实体的依赖关系进行建模,并捕获用户潜在的远距离兴趣.
本文的主要贡献如下.
(1)提出基于知识图谱的轻量级图卷积网络LightKGCN,只包含GCN 中最基本的组件邻域聚合,不仅简化了模型设计,还提升了模型预测的准确性.
(2)LightKGCN 是一种基于图神经网络框架的以显式端到端的方式来实现高阶关系建模的方法.通过扩展知识图谱中每个实体的感受野,可以在高阶层次上捕捉用户的偏好并且捕获远距离的潜在用户兴趣.
(3)在三个公共数据集上进行了不同的实验,证明提出的LightKGCN 在不同的设置下始终优于其他推荐方法.
1 相关理论
1.1 基于知识图谱的推荐将知识图谱应用到推荐领域中可以显著提高推荐的性能,缓解推荐中的数据稀疏和冷启动问题[7].根据应用知识图谱的不同形式,可以分为三类:基于嵌入的方法、基于路径的方法和基于传播的方法.
基于嵌入的方法[8-9]利用知识图谱中丰富的信息来表示用户和项目,其使用知识图谱嵌入技术,通过对KG 预处理来学习实体和关系表示,再将学习到的实体嵌入推荐模型[10].例如,Wang et al[11]提出MKR 模型,将知识图谱特征学习和推荐进行交替式学习,它们之间是分离的,也是相关联的.Cao et al[12]设计了一个通过联合学习推荐模型和KG 完成模型来转移知识的系统.这些方法证明KG 嵌入可以使知识之间灵活结合,有利于提高推荐精度,然而,基于嵌入的方法很难对实体之间的连通性和顺序依赖关系进行建模,导致推荐的准确性和推理能力的有限性.
基于路径的方法[13]需要先建立一个用户项目图,并利用图中实体之间的连接关系,学习用户到项目的路径之间的连接相似性来进行推荐.该方法的问题是严重依赖于手动构建的元路径.Xian et al[14]提出的PGPR 模型是一种策略引导的路径推理的方式,首次将强化学习运用到知识图谱的推荐中.Wang et al[15]提出基于知识图谱意图网络KGIN,为每个意图建模为知识图谱中关系的组合来获得更好的建模能力和可解释性.现有的基于路径的方法大多侧重于给定的候选路径建模,通过枚举在知识图谱上的所有路径来选择候选路径,这种方式显然不适合在大规模的知识图谱中的应用.
基于传播的方法是基于嵌入传播的思想,聚合知识图谱中的多跳邻居节点的信息嵌入来深化实体表示并预测用户的偏好.Wang et al[3]提出RippleNet 模型,引入偏好传播的概念,可以自动发现用户不同层的潜在兴趣.Kojima et al[16]提出的KGCN 模型结合了知识图谱和图卷积神经网络,能够很好地捕捉邻域信息并考虑邻居节点权重来实现推荐.Ai et al[17]将知识图嵌入方法应用于可解释推荐.但是,以上方法是在推荐了相应的项目后通过软匹配生成的,所以它们的解释路径本质上是事后解释.
1.2 图卷积网络一般来说,GCN 可分为光谱方法和非光谱方法[18].例如,Bruna et al[19]在傅里叶域中定义卷积并计算拉普拉斯图的特征分解.Defferrard et al[20]通过使用K跳卷积定义图上的卷积,提出ChetNet,省去了计算拉普拉斯矩阵特征向量的过程.Kipf and Welling[21]提出一种通过谱图卷积的局部一阶近似的卷积架构,将层级运算的k限制为1,以此缓解模型在节点的度范围较大的图上存在的局部结构过拟合的问题.相反,非光谱方法直接在原始图上操作,并且为节点组定义卷积.以往的研究建议学习每个节点度的权重矩阵,从图中提取局部连接的区域,或采样固定大小的邻域集作为支持大小.
GCN 在推荐中的应用也非常广泛.例如,Ying et al[22]首先将其应用于web 规模的推荐系统,并提出一种基于GCN 的称为Pinsage 的方法,结合随机行走和图卷积来生成项目嵌入,这种嵌入结合了图结构和项目特征信息.随后,Wang et al[5]设计了基于图的协同过滤框架NGCF,其中的交互编码器可以捕捉用户和物品之间的协作信号.为了对项目上的用户意图的多样性进行建模,Wang et al[23]设计了DGCF,可以在用户意图的更细粒度上考虑用户和项目之间的关系,并生成解缠结的用户项目表示,能获得更好的推荐性能.受这些有益研究的启发,本文提出了Light-KGCN 来进行高效和有效的推荐.
2 LightKGCN
2.1 问题描述将基于知识图谱的轻量级图卷积网络问题描述如下.在推荐场景中,有一组M个用户U={u1,u2,…,uM}和N个项目V={v1,v2,…,vN}.用户项目交互矩阵Y∈RM×N是根据用户的隐式反馈定义的,隐式反馈表示不主动暴露用户偏好的行为,包括点击、浏览和购买等.yuv=1 表示用户u对项目v感兴趣,否则,yuv=0.此外,给出了知识图谱G,它由实体-关系-实体三元组(h,r,t)组成,其中h∈E,r∈R,t∈E分别表示知识图谱中三元组的头、关系和尾,E是知识图谱中实体的集合,R是关系的集合.
给定知识图谱G和用户项目交互矩阵Y,目标是预测目标用户u是否对以前没有互动过的项目v有潜在兴趣.形式化上是学习预测函数=F(u,v|θ,Y,G),其中,表示用户u喜欢项目v的概率,而θ表示函数F的模型参数.
2.2 LightKGCN 层GCN 最初是为了解决对具有丰富属性的属性图中的节点进行分类的问题而提出的,其中每个节点都被用作输入属性,标识符被用来描述用户项目交互图中的每个节点.在这种情况下,通过转换多层非线性特征转换特征,模型训练的难度可能会增加.在实证结果的推动下,本文提出一个改进的模型LightKGCN,简化了GCN 的非线性激活和特征变换操作,保留了GCN 最基础的组成部分邻域聚合,将其用于协同过滤算法.
图1 是LightKGCN 的整体框架.在给定知识图谱三元组(h,r,t)的情况下,从候选用户项目对中任选一组,通过归一化目标用户u和三元组实体关系的分数,最终得到用户u的用户关系评分.然后,结合目标用户u的用户关系评分信息和项目v的邻域节点得到项目v的邻域信息.最后,使用聚合器聚合项目v和其邻域节点信息,在一次迭代中得到项目v的信息.
图1 LightKGCN 模型体系结构Fig.1 The architecture of LightKGCN model
初始步骤中,设N(v)表示与v直接连接(即一跳之内)的所有实体集合表示实体i和实体j的关系,G(比如内积)用来计算用户u和某个关系r之间的分数Rd×Rd→R,如式(1)所示:
其中,u∈Rd和r∈Rd表示用户u和关系r之间的向量表示,d是向量的维度.一般地表征关系r对于用户u的重要程度,这里的G函数用于衡量用户对不同关系的偏好程度.例如一个男性用户可能比较关注汽车的性能,而一个女性用户更喜欢汽车的颜值和外观.
通过计算项目v的邻域线性表示来得到项目v的邻域节点信息.项目v的邻域线性表示如下:
在真实的知识图谱中,一个实体项目是和其他实体相连的,它们之间的关系也是不同的.通过用户关系评分可以获得目标用户的个性化偏好,目标用户对某条路径对应的项目越感兴趣,它的得分就越高,反之越低.N(e)的大小在不同的实体上可能会有很大的不同.实体连接的点太多,计算量很庞大,为了保证每批次计算模型的固定性并减少计算复杂度,每个实体固定随机采样,即为每个实体采样统一固定大小的邻居.具体地,计算实体v的邻域表示,其中,S(v)≜{e|e~N(v)}和|S(v)|=D,D是一个可配置常数,S(v)是实体v的(单层)感受野.
最后,将实体表示v及邻域表示聚合到单个向量中,得到最后的向量表示:
其中,H代表迭代的次数.聚合是LightKGCN 中的一个关键步骤,通过聚合项目的表示和邻居得到实体的表示形式.αh表示第h层嵌入在构成最终嵌入中的重要性,实验中统一设置
通常可获得良好的性能.因此,无须设计特殊组件来优化αh,能避免LightKGCN 的复杂化,保持其简单性.
2.3 学习算法LightKGCN 层中实体自身及它的近邻构成实体的最终表示,称一阶实体表示.LightKGCN 可以很自然地从单层扩展到多层来更深层次地挖掘用户潜在的兴趣,即将每个实体的初始表征传递给它的邻居来获得一阶实体表示,然后不断地重复传播聚合前一阶表示的过程,得到n阶表示.通常,实体的h阶表示是当前实体自身及其上一跳的邻居的初始表示结合得到的.
图1 是LightKGCN 模型体系架构,eu[h]为模型的输入部分.对于给定的用户项目对,首先对其以迭代的方式计算每一层中实体e的邻域表示,之后重复H次聚合,下一次的迭代使用实体的邻域表示和自己的表示聚合.最终的H阶实体表示为eu,它与用户表示u被输入函数f来预测用户u对项目v感兴趣的概率,如式(5)所示:
本文在训练过程中使用负采样策略来提高计算效率.完全损失函数如下所示:
其中,J是交叉熵损失,P是负采样分布,遵循均匀分布;,Tu是用户u的负采样数;最后一项是L2 正则化器.LightKGCN 具体的算法流程如下所示.
3 实验
在电影、书籍和音乐推荐三个现实场景中评估lightKGCN,研究不同的超参数设置(如邻居抽样的大小、感受野的深度、嵌入尺寸)对Light-KGCN 的影响,并对比LightKGCN 和先进的基于知识图谱的推荐方法的性能表现.
3.1 数据集为了评估LightKGCN 的有效性和准确性,在三个数据集的不同场景下进行实验,这三个数据集的大小和稀疏性都是不同的.
MovieLens-20M 是基准数据集,基于Movie-Lens 网站上大约两千万的公开投票评分,是一个完整的体系.
Book-Crossing 包含Book-Crossing 社区中100 万本书的评分,评分范围为0~10.
Last.FM 包含FM 在线音乐系统中一组2000个用户的音乐家的收听信息.
由于三个数据集是直接反馈,本文将其转换为间接反馈,每条记录用1 表示,1 表示正样本,对于用户未查看的项目集合用0 表示.
实验不仅需要用户项目交互,还需要构建数据集的知识图谱,知识图谱通过Microsoft Stori 构建.首先,从整个知识图谱中获取一个置信度高于0.9 的三元组子集.为了简洁计算,将符合多个实体匹配的项目及与不符合任何一个实体的项目剔除.表1 是三个数据集的详细统计数据和LightKGCN 的超参数设置,其中,K是邻近样本的大小,d是嵌入的维数,H是感受野的深度,λ是L2 正则化权重,η是学习速率.
表1 三个数据集的基本信息和LightKGCN 的超参数Table 1 Basic information of three datasets and the corresponding hyperparameter settings of LightKGCN
3.2 评估指标和对比方法采用Precision,Recall,F1 和AUC(Area under Curve)四个指标来进行评估.Precision是对于给定的测试数据集预测正确的概率,也就是分类器正确分类的样本占样本总体的比例.Recall是实际为正的样本被判为正样本的比例,和推荐效率正相关.F1 综合考虑了Precision和Recall 两个指标,通过取两个指标的调和平均值来计算,F1 越大说明模型的质量越好.AUC是一个衡量模型整体性能的指标,其值越高,模型的性能越好.
将提出的LightKGCN 与以下基线方法进行比较来验证其有效性,前两个基线方法是无知识图谱的,其余都是基于知识图谱的推荐方法.
SVD[24]:是一个基于CF 的模型,使用内积来模拟用户项目之间的交互.
LibFM[25]:是一个在点击率(Click-Through Rate,CTR)场景下的基于特征的因式分解模型,将用户ID 和项目ID 合并作为输入数据.
LibFM+TransE:通过在每个用户项目对中加入TransE 学习到的实体表示来扩展LibFM.
PER[26]:是一种典型的基于路径的方法,将KG 视为异构信息网络,提取基于元路径的特征来表示用户与物品之间沿不同类型的关系路径的连通性.
CKE[27]:是一种典型的基于嵌入的方法,在一个贝叶斯框架中将CF 与文本知识、结构知识和可视化知识结合在统一的推荐框架中.
RippleNet[3]:是一种类似于记忆网络的方法,在知识图谱中通过偏好传播,不断自动发现用户的层级兴趣,以此来进行推荐.
KGAT[28]:是一个结合了知识图谱和图卷积网络的经典案例,采用注意力机制来提高模型的整体性能.
KGCN[16]:利用知识图谱对项目的属性信息建模,利用图卷积层传播和聚合项目的邻域节点信息和节点本身消息,捕捉局部邻域结构储存在实体中,得到用户的个性化偏好信息.
3.3 实验设置在LightKGCN 中,将函数g和f设为内积,将σ设为非末层聚合器的ReLU,将tanh 设为末层聚合器.
将电影、书籍和音乐推荐三个数据集分三个部分,分别是训练集、评估集和测试集,占比为6∶2∶2,每个实验重复三次,取平均值.在两个实验场景中进行评估:(1)使用训练好的模型对测试集中的每个交互进行CTR 预测,用AUC和F1 来进行评估;(2)对于点击率最高的推荐,训练好的模型为每个用户从测试集中选择预测点击率最高的k个项目,使用Recall@K来评估推荐.在此基础上,使用Adam 算法来优化所有的训练参数.
基线方法的超参数设置如下.SVD,使用无偏版本,三个数据集的维数和学习率设置为:MovieLens-20M 和Book-Crossing,d=8,η=0.5;Last.FM,d=8,η=0.1.LibFM,维数为{1,1,8},训练epoch 数为50.TransE 的维数是32.PER,特征使用手动设计的“用户项目-属性-项目路径”.CKE,三个数据集的维数分别是64,148,64.KG的训练权值为0.1,学习率与SVD 相同,Movie-Lens-20M 中,d=8,H=2,λ1=10-6,λ2=0.01,η=0.01.RippleNet,d=16,H=3,λ1=10-5,λ2=0.02,η=0.005.
3.4 邻居抽样大小的影响改变样本邻居K来研究知识图谱的使用效果,实验结果如表2 所示,表中黑体字表示结果最优.由表可见,K=4 或8时,LightKGCN 的性能最优,这可能是因为K太小时模型没有足够的容量来包含邻域信息,而K太大时模型容易被噪声影响,结合了过多的邻域节点信息,产生过拟合现象.
表2 相邻样本K 不同时LightKGCN 的AUCTable 2 AUC of LightKGCN with different adjacent sample size K
3.5 层深度的影响研究不同的层深度H对LightKGCN 的影响,在{1,2,3,4}中搜索层数,实验结果如表3 所示,表中黑体字表示结果最优.由表可见,LightKGCN 对H比对K更敏感,当H=3 或4 时,模型效果显著下滑,这可能是因为较大的H给模型带来了大量的噪声.远距离传播的影响有好有坏,好处是可以提供更多的用户项目交互信息,坏处是可能带来更多的噪声,特别是数据量大时.根据实验结果,实际情况下H=1 或2 时效果最好.
表3 层深度H 不同时LightKGCN 的AUCTable 3 AUC of LightKGCN with different layer depth H
3.6 嵌入尺寸的影响将相同维数参数用于实体和关系的嵌入以促进计算,并探索不同维度对LightKGCN 的影响.实验结果如表4 所示,表中黑体字表示结果最优.由表可见,在一定范围内增加嵌入维数d可以有效地提高LightKGCN 的性能,但d越大,可以编码的用户和实体信息就越多.但是,d超过某个阈值就导致过拟合,降低推荐的性能.实验结果表明,d取值8~32 时算法的性能较好.
表4 嵌入维数不同时LightKGCN 的AUCTable 4 AUC of LightKGCN with different embedding dimensions
3.7 对比实验结果CTR 预测结果和top-k 推荐结果分别见表5(表中黑体字表示结果最优)和图2,整体上,LightKGCN 模型在三个数据集上的结果均优于其他模型.AUC和F1,LightKGCN在MovieLens-20M 上分别提升0.3% 和0.6%,在Book-Crossing 上分别提升1.2%和1.8%,在Last.FM 上分别提升4.3% 和3.8%,可见其在Book-Crossing 和Last.FM 上的提升要远高于MovieLens-20M.一个可能的解释是每个用户的平均互动和每个项目的平均连接在三个数据集上是不同的,例如,电影数据集与书籍和音乐数据集相比有更丰富的交互和连接,表明LightKGCN 在解决稀疏场景问题时效果较好,因为Book-Crossing 和Last.FM 比MovieLens-20M 更稀疏,也 证明GCN 的非线性激活函数、特征变换等操作对推荐系统不会有很大的提升.
表5 CTR 预测中AUC 和F1 的实验结果Table 5 AUC and F1 in CTR predictions
图2 top-k 推荐的Recall@K 结果Fig.2 The results of Recall@K by top-k recommendation
SVD 和LibFM 没有知识图谱基线,PER 和CKE 有基线,从表5 还可以看出,前者性能更好.说明PER 和CKE 不能通过手动设计的元路径和TransR 正则化来充分发挥知识图谱的作用.
大多数的情况下LibFM+TransE 优于Lib-FM,说明引入KG 会提高推荐的性能.但现实中很难定义最佳元路径,所以PER 在所有基线中表现最差.和其他基线相比,RippleNet 性能更好.同时,RippleNet 中的多跳邻域结构可以捕获KG中的邻域信息,有助于提高推荐的准确性.
图2 展示了MovieLens-20M,Book-Crossing和Last.FM 上预测样例数量K(指定返回用户K个项目)在1~100 时的Recall.由图可见,K不断增大,Recall也在逐步递增,而LightKGCN 的Recall明显优于其他基线,证明LightKGCN 模型的整体性能更好.这也证明,本文采用的轻量级聚合器简化了图卷积操作中的非线性激活和特征转换,降低了模型训练的复杂度,所以在K较高时也能表现出良好的性能.
4 结论
本文提出一个基于知识图谱的轻量级图卷积网络(LightKGCN),既可以挖掘知识图谱上的关联属性来有效地捕捉项目间的相关性,也可以自动发现实体的高阶结构信息和语义信息.Light-KGCN 从实体的邻居中抽取样本作为它们的感受野,再计算实体的表示来结合邻域信息和偏差.感受野可以扩展到多跳来模拟高阶连通性,并且捕获用户潜在的长距离兴趣.LightKGCN 使用邻域聚合应用于协同过滤中,不仅简化了模型设计,还提高了模型的有效性和准确度.通过对真实世界数据集的大量实验,证明LightKGCN 在电影、书籍和音乐推荐方面始终优于最先进的基线方法.
实验还证明,传统GCN 的特征转换、非线性激活等操作对协同过滤操作没有很大的作用.未来考虑引入其他辅助信息,如使用社交网络等信息来提高推荐的准确性,引入时间节点信息来构建知识图谱,以此进一步提高推荐的精确性,同时也可以将因果推断引入知识图谱推荐,为用户提供更好的推荐.