斯坦福大学最新论文|知识图卷积神经网络在推荐系统中的应用
推荐系统广泛应用于互联网应用和服务中。传统的协同过滤推荐算法通常会遇到用户-物品交互的稀疏性问题和冷启动问题,可以通过引入额外的信息来解决,如用户/物品属性信息和社交网络。近年来,为了解决上述问题,一些学者考虑将知识图谱与推荐系统相结合。
具体来说,推荐系统中的每个物品可以对应为知识图谱中的实体,而实体与实体之间的连接路径则提供了物品之间丰富的连接关系。利用这些信息可以一定程度减轻稀疏性及冷启动,增加推荐系统的可解释性。
本文介绍斯坦福大学最新论文“Knowledge Graph Convolutional Networks for Recommender Systems with Label Smoothness Regularization”,如何将图卷积神经网络(GCN)应用到基于知识图谱的推荐系统中。
论文摘要
Knowledge graphs capture interlinked information between entities and they represent an attractive source of structured information that can be harnessed for recommender systems. However, existing recommender engines use knowledge graphs by manually designing features, do not allow for end-to-end training, or provide poor scalability. Here we propose Knowledge Graph Convolutional Networks (KGCN), an end-to-end trainable framework that harnesses item relationships captured by the knowledge graph to provide better recommendations. Conceptually, KGCN computes user-specific item embeddings by first applying a trainable function that identifies important knowledge graph relations for a given user and then transforming the knowledge graph into a user-specific weighted graph. Then, KGCN applies a graph convolutional neural network that computes an embedding of an item node by propagating and aggregating knowledge graph neighborhood information. Moreover, to provide better inductive bias KGCN uses label smoothness (LS), which provides regularization over edge weights and we prove that it is equivalent to label propagation scheme on a graph. Finally, We unify KGCN and LS regularization, and present a scalable minibatch implementation for KGCN-LS model. Experiments show that KGCN-LS outperforms strong baselines in four datasets. KGCN-LS also achieves great performance in sparse scenarios and is highly scalable with respect to the knowledge graph size.
问题定义
给定用户集合 U={u1,u2,...} 以及物品集合 V={v1,v2,...}.物品与用户的交互矩阵可以定义Y[u,v]=yu,v , yu,v =1表示⽤户u与物品v有交互。同时还存在知识图谱 G,其中每个元素为一个三元组(h,r,t),h∈E, r∈R, t∈E 分别为头实体、关系、尾实体 。按照物品 v 在知识图谱中的对应关系,实体集合可以表示为物品集合与非物品集合的并集 E = V ⋃ E \V ,根据上述定义,任务的⽬标可以表示为学习一个预测函数如下:
其中如下函数表示用户与物品之间有交互的概率。
模型介绍
作者为了解决此类问题提出了知识图卷积⽹络KGCN-LS, 其关键思想就是针对不同用户将知识图谱转换为⼀个用户个性化的加权图,并利用GCN学习出每个物品的表示向量,然后再根据用户特征向量计算出用户与物品有交互的概率。
具体来说,⾸先对每个用户为知识图谱每种关系算出⼀一个关系评分 su(r) = g(u, r) ,其中 u ,r 分别表示用户及关系的特征向量。以此来刻画用户对不同关系的偏好程度。这样原知识图谱 G 可以⽤用⼀个特定用户的邻接矩阵表示 Au ∈ R∣E∣×∣E∣,其中每个元素为对应边的关系评分,然后就可以应用GCN对每个节点的特征向量进行传播,生成最终的表示向量如下:
之后用一个预测函数计算出如下内容:
vu = H(L)[v, :]为最后一层GCN得出的物品V的表示向量。
除此之外,为了了防⽌过拟合,论⽂还提出了了一个label- smoothness的正则化策略。基本思想是用对每个有label的节点,利用标签传播的方式为每个节点生成⼀个节点标签预测值,然后优化标签预测值与真实标签的差值。标签传播的过程分为如下两步:
将每个节点的标签设定为邻居标签的加权平均值,权重为对应边的关系评分如下:
将在物品集合中节点的标签设为原始标签: lu(V) ← Y[u, V]⊤,迭代重复以上过程即可得到预测标签lv∗,这样相应的正则化项可以表示为:
最终的优化目标为:
γ∥F∥2 为L2 正则化项。 J(Y^ , Y ) 表示GCN传播层。
优化上述损失函数需要整个知识图谱及用户集合作为输入,在实际中很难应用。因此作者提出了算法的minibatch版本。即借用GraphSAGE的思路,为每个节点的邻居节点进行预先采样,然后只在采样的邻居集合中进行特征传播及标签传播。算法流程图(图1):
实验结果
作者在电影推荐,书籍推荐,音乐推荐,食物推荐4种推荐系统数据集上进行了测试。结果如下图(图2),其中KGCN-LS为作者提出来的算法,KGCN-avg为上述算法的变种:节点的特征传播时直接对邻居特征求平均值,不计算关系评分。可以看出KGCN-LS在大部分数据集中均取得了最优效果。
作者还探究了label-smoothness正则化 对最终结果的影响,如下图(图3), 当 λ
(label-smoothness 正则化项的系数)的值从 0变为5时,推荐效果先上升后下降,说明label-smoothness 正则化对模型推荐效果有一定提升作用。