RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems简析

RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems

介绍

为了解决基于embedding和基于路径的方法的限制,作者生成了RippleNet.正如涟漪一样,利用用户曾经的点击记录,不断外扩发掘用户可能的兴趣点。

###问题生成

我们有用户与items的交互,以及包含大量实体与关系的三元组的知识图谱,进而预测用户会点击接下来那个item

框架

RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems简析

其实总体就是首先计算item embedding与one hop的实体的相似度,输入softmax,而后加权求和尾部得到对应的embedding,而后继续上述操作,得到H个hop的embedding的求和与对应的item embedding计算,得出预测概率。

定义

首先我们理解两个定义:

RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems简析

RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems简析

偏好的传播

分别利用1-hop的实体与关系与item embedding计算,得到不同的权重

RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems简析

后利用权重加权求和对应t得到向量表示。

重复上述操作H次,并求和如下:

RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems简析

后经过sigmoid函数得到得分。

损失函数

给定知识图谱G与用户的交互矩阵Y,我们希望最大化后验概率:
RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems简析

后验概率展开如下:

RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems简析

对于第一项,我们设为具有零均值和对角协方差矩阵的高斯分布:

RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems简析

第二项:

RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems简析

第三项即我们常用的二分类似然函数:

RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems简析

连乘这三项并求log可得:
RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems简析