基于知识图谱的轻量级图卷积网络推荐
Lightweight graph convolutional network recommendation based on knowledge graph
通讯作者:
收稿日期: 2023-08-10
基金资助: |
|
Received: 2023-08-10
关键词:
Keywords:
本文引用格式
彭永梅, 童向荣.
Peng Yongmei, Tong Xiangrong.
信息化时代,推荐系统已经是新闻门户、搜索引擎和电子商务等网络应用程序中的重要组成部分.传统的推荐技术使用协同过滤(Collaborative Filtering,CF)[1],不能对额外的信息进行建模,例如项目属性、用户配置文件和上下文等,因此,经常会出现用户项目稀疏和冷启动问题.为了克服上述限制,研究人员使用具有丰富特性的场景来缓解稀疏性问题,并且提高推荐的性能.
目前,图卷积网络(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,LightKGCN).该方法通过简化GCN的结构来适应CF的需求,降低训练难度,同时,将知识图谱中的实体通过多次迭代嵌入传播来获取高阶邻域信息,聚合邻域信息并扩展感受野需求,感受野结合实体表示和邻域表示,并将其扩展到多跳,在高阶层次上捕捉用户的偏好并捕获远距离的潜在用户兴趣,提高推荐的准确性.
LightKGCN通过有偏差的方式合并和聚集邻域信息来对KG中的给定实体进行表示,这样的设计有两大优势.第一,通过使用邻域聚合操作,可以成功捕获和存储每个实体的本地邻域结构信息.第二,邻居权重是通过对连接关系和特定用户的分数加权得到的,这些评分既描述了关于KG的语义信息,又反映了用户在关系中的个性化兴趣.由于不同实体的邻居大小各不相同,因此对每个节点的固定大小的邻域进行采样来作为感受野,可以实现对LightKGCN的成本预测,也可以在多个层次上对给定实体邻域的定义进行分层扩展,从而对更高层次的实体的依赖关系进行建模,并捕获用户潜在的远距离兴趣.
本文的主要贡献如下.
(1)提出基于知识图谱的轻量级图卷积网络LightKGCN,只包含GCN中最基本的组件邻域聚合,不仅简化了模型设计,还提升了模型预测的准确性.
(2) LightKGCN是一种基于图神经网络框架的以显式端到端的方式来实现高阶关系建模的方法.通过扩展知识图谱中每个实体的感受野,可以在高阶层次上捕捉用户的偏好并且捕获远距离的潜在用户兴趣.
(3)在三个公共数据集上进行了不同的实验,证明提出的LightKGCN在不同的设置下始终优于其他推荐方法.
1 相关理论
1.1 基于知识图谱的推荐
将知识图谱应用到推荐领域中可以显著提高推荐的性能,缓解推荐中的数据稀疏和冷启动问题[7].根据应用知识图谱的不同形式,可以分为三类:基于嵌入的方法、基于路径的方法和基于传播的方法.
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,可以在用户意图的更细粒度上考虑用户和项目之间的关系,并生成解缠结的用户项目表示,能获得更好的推荐性能.受这些有益研究的启发,本文提出了LightKGCN来进行高效和有效的推荐.
2 LightKGCN
2.1 问题描述
将基于知识图谱的轻量级图卷积网络问题描述如下.在推荐场景中,有一组M个用户
给定知识图谱G和用户项目交互矩阵Y,目标是预测目标用户u是否对以前没有互动过的项目v有潜在兴趣.形式化上是学习预测函数
2.2 LightKGCN层
GCN最初是为了解决对具有丰富属性的属性图中的节点进行分类的问题而提出的,其中每个节点都被用作输入属性,标识符被用来描述用户项目交互图中的每个节点.在这种情况下,通过转换多层非线性特征转换特征,模型训练的难度可能会增加.在实证结果的推动下,本文提出一个改进的模型LightKGCN,简化了GCN的非线性激活和特征变换操作,保留了GCN最基础的组成部分邻域聚合,将其用于协同过滤算法.
图1是LightKGCN的整体框架.在给定知识图谱三元组
图1
初始步骤中,设
其中,
通过计算项目v的邻域线性表示来得到项目v的邻域节点信息.项目v的邻域线性表示如下:
其中,e是实体向量表示;
在真实的知识图谱中,一个实体项目是和其他实体相连的,它们之间的关系也是不同的.通过用户关系评分可以获得目标用户的个性化偏好,目标用户对某条路径对应的项目越感兴趣,它的得分就越高,反之越低.
最后,将实体表示v及邻域表示
其中,H代表迭代的次数.聚合是LightKGCN中的一个关键步骤,通过聚合项目的表示和邻居得到实体的表示形式.
2.3 学习算法
LightKGCN层中实体自身及它的近邻构成实体的最终表示,称一阶实体表示.LightKGCN可以很自然地从单层扩展到多层来更深层次地挖掘用户潜在的兴趣,即将每个实体的初始表征传递给它的邻居来获得一阶实体表示,然后不断地重复传播聚合前一阶表示的过程,得到n阶表示.通常,实体的h阶表示是当前实体自身及其上一跳的邻居的初始表示结合得到的.
图1是LightKGCN模型体系架构,
本文在训练过程中使用负采样策略来提高计算效率.完全损失函数如下所示:
其中,
LightKGCN算法
输入:知识图谱G,用户项目交互矩阵Y,邻域采样映射
超参数
输出:预测函数
1.While LightKGCN not converage do;
2. for
3.
4.
5. for
6. for
7.
8.
9.
10. 梯度下降更新参数;
11.Return F;
12.Function get receptive
13.
14. for
15.
16. for
17.
18.return
3 实验
在电影、书籍和音乐推荐三个现实场景中评估lightKGCN,研究不同的超参数设置(如邻居抽样的大小、感受野的深度、嵌入尺寸)对LightKGCN的影响,并对比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
MovieLens⁃20M | Book⁃Crossing | Last.FM | |
---|---|---|---|
#users | 138159 | 19676 | 1872 |
#items | 16954 | 20003 | 3846 |
#interactions | 13501622 | 172576 | 42346 |
#entities | 102569 | 25787 | 9366 |
#relations | 32 | 18 | 60 |
#KG triples | 499474 | 60787 | 15518 |
K | 4 | 8 | 8 |
d | 32 | 64 | 16 |
H | 2 | 1 | 1 |
λ | 10-7 | 2×10-5 | 10-4 |
η | 2×10-2 | 2×10-4 | 5×10-4 |
batch size | 65536 | 256 | 128 |
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个项目,使用
基线方法的超参数设置如下.SVD,使用无偏版本,三个数据集的维数和学习率设置为:MovieLens⁃20M和Book⁃Crossing,
3.4 邻居抽样大小的影响
改变样本邻居K来研究知识图谱的使用效果,实验结果如表2所示,表中黑体字表示结果最优.由表可见,
表2 相邻样本K不同时LightKGCN的AUC
Table 2
K | 2 | 4 | 8 | 16 | 32 | 64 |
---|---|---|---|---|---|---|
MovieLens⁃20M | 0.978 | 0.980 | 0.978 | 0.978 | 0.976 | 0.977 |
Book⁃Crossing | 0.680 | 0.723 | 0.739 | 0.724 | 0.720 | 0.730 |
Last.FM | 0.790 | 0.795 | 0.797 | 0.793 | 0.795 | 0.792 |
3.5 层深度的影响
研究不同的层深度H对LightKGCN的影响,在
表3 层深度H不同时LightKGCN的AUC
Table 3
H | 1 | 2 | 3 | 4 |
---|---|---|---|---|
MovieLens⁃20M | 0.976 | 0.980 | 0.973 | 0.625 |
Book⁃Crossing | 0.749 | 0.743 | 0.675 | 0.547 |
Last.FM | 0.798 | 0.739 | 0.564 | 0.536 |
3.6 嵌入尺寸的影响
将相同维数参数用于实体和关系的嵌入以促进计算,并探索不同维度对LightKGCN的影响.实验结果如表4所示,表中黑体字表示结果最优.由表可见,在一定范围内增加嵌入维数d可以有效地提高LightKGCN的性能,但d越大,可以编码的用户和实体信息就越多.但是,d超过某个阈值就导致过拟合,降低推荐的性能.实验结果表明,d取值8~32时算法的性能较好.
表4 嵌入维数不同时LightKGCN的AUC
Table 4
d | 4 | 8 | 16 | 32 | 64 |
---|---|---|---|---|---|
MovieLens⁃20M | 0.973 | 0.977 | 0.979 | 0.975 | 0.973 |
Book⁃Crossing | 0.735 | 0.737 | 0.739 | 0.741 | 0.738 |
Last.FM | 0.795 | 0.798 | 0.793 | 0.791 | 0.789 |
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
Model | MovieLens⁃20M | Book⁃Crossing | Last.FM | |||
---|---|---|---|---|---|---|
AUC | F1 | AUC | F1 | AUC | F1 | |
LightKGCN | 0.980 | 0.936 | 0.747 | 0.701 | 0.810 | 0.735 |
SVD | 0.963 | 0.919 | 0.612 | 0.635 | 0.769 | 0.696 |
LibFM | 0.959 | 0.906 | 0.691 | 0.618 | 0.778 | 0.710 |
LibFM+TransE | 0.966 | 0.917 | 0.698 | 0.622 | 0.777 | 0.709 |
PER | 0.832 | 0.788 | 0.617 | 0.562 | 0.633 | 0.596 |
CKE | 0.924 | 0.871 | 0.677 | 0.611 | 0.744 | 0.673 |
RippleNet | 0.950 | 0.912 | 0.715 | 0.650 | 0.776 | 0.702 |
KGAT | 0.965 | 0.926 | 0.735 | 0.681 | 0.788 | 0.722 |
KGCN | 0.977 | 0.930 | 0.738 | 0.688 | 0.776 | 0.708 |
图2
SVD和LibFM没有知识图谱基线,PER和CKE有基线,从表5还可以看出,前者性能更好.说明PER和CKE不能通过手动设计的元路径和TransR正则化来充分发挥知识图谱的作用.
大多数的情况下LibFM+TransE优于LibFM,说明引入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),既可以挖掘知识图谱上的关联属性来有效地捕捉项目间的相关性,也可以自动发现实体的高阶结构信息和语义信息.LightKGCN从实体的邻居中抽取样本作为它们的感受野,再计算实体的表示来结合邻域信息和偏差.感受野可以扩展到多跳来模拟高阶连通性,并且捕获用户潜在的长距离兴趣.LightKGCN使用邻域聚合应用于协同过滤中,不仅简化了模型设计,还提高了模型的有效性和准确度.通过对真实世界数据集的大量实验,证明LightKGCN在电影、书籍和音乐推荐方面始终优于最先进的基线方法.
实验还证明,传统GCN的特征转换、非线性激活等操作对协同过滤操作没有很大的作用.未来考虑引入其他辅助信息,如使用社交网络等信息来提高推荐的准确性,引入时间节点信息来构建知识图谱,以此进一步提高推荐的精确性,同时也可以将因果推断引入知识图谱推荐,为用户提供更好的推荐.
参考文献
NAIS:Neural attentive item similarity model for recommendation
,
DKN:Deep knowledge⁃aware network for news recommen⁃dation
∥
RippleNet:Propagating user preferences on the knowledge graph for recommender systems
∥
Inductive representation learning on large graphs
∥
Neural graph collaborative filtering
∥
LightGCN:Simplifying and powering graph convolution network for recommendation
∥
利用知识图谱的推荐系统研究综述
,
Review of recommendation systems using knowledge graph
,
Translating embeddings for modeling multi⁃relational data
∥
Knowledge graph embedding by translating on hyperplanes
∥
Towards explainable conversational recommendation
∥
Multi⁃task feature learning for knowledge graph enhanced recommendation
∥.
Unifying knowledge graph learning and recommendation:Towards a better understanding of user preferences
∥.
基于知识图谱的推荐算法研究综述
,
Survey on knowledge graph⁃based recommendation methods
,
Reinforcement knowledge graph reasoning for explainable recommendation
∥
Learning intents behind interactions with knowledge graph for recommendation
∥
Knowledge graph convolutional networks for recommender systems
∥
Learning heterogeneous knowledge base Embeddings for explainable recommendation
,
面向推荐系统的图卷积网络
,
Graph convolutional network for recommender systems
,
Spectral networks and locally connected networks on graphs
∥
Convolutional neural networks on graphs with fast localized spectral filtering
∥
Semi⁃supervised classification with graph convolutional networks
∥
Graph convolutional neural networks for web⁃scale recom⁃mender systems
∥
Disentangled graph collaborative filtering
∥
Factorization meets the neighborhood:A multifaceted collaborative filtering model
∥
Personalized entity recommendation:A heterogeneous information network approach
∥
Collaborative knowledge base embedding for recommender systems
∥
KGAT:Knowledge graph attention network for recommen⁃dation
∥
/
〈 | 〉 |