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

作者及单位

解决问题

基于知识图谱的推荐系统能够缓解数据的稀疏性以及冷启动问题,并且可以增加推荐系统的多样性和可解释性。RippleNet就是基于KG的推荐模型,其主要目的也是尝试解决上述问题。
除此之外,RippleNet是第一个将基于嵌入和基于路径的方法结合起来的模型。基于嵌入的方法通常更适用于图形内链路预测应用,而推荐场景我们需要更多的去发现潜在用户感兴趣的点,而不仅仅是利用当前已有的节点,所以学习实体嵌入在描述项目间关系时不够直观和有效。

何为图内链路预测:通过已知的网络节点及网络结构等信息,预测网络中尚未产生连接的两个节点之间产生连接的可能性。

基于路径的方法严重依赖于手动设计的元路径,这在实践中很难优化。 另一个问题是,在某些场景(例如,新闻推荐)中,实体和关系不在一个域中,无法手动设计元路径。
而RippleNet避免了上述两种方法存在的问题:(1)RippleNet通过偏好传播将KGE方法自然地融入到推荐中;(2)RippleNet可以自动发现从用户历史记录中的项目到候选项目的可能路径,而无需任何手工设计。

RippleNet模型介绍

RippleNet主要思想

RippleNet是一种用于知识图谱感知推荐的端到端框架,其目的是点击率(CTR)预测。RippleNet的关键思想是用户的偏好传播,它将用户的历史兴趣视为KG中的种子集,然后沿着KG连接迭代地扩展用户的兴趣,自动发现用户对候选项目的分层潜在兴趣。

通俗来说,用户的兴趣以其历史记录为中心,在知识图谱上逐层向外扩散,而在扩散过程中不断的衰减,类似于水中的波纹,因此称为RippleNet。

RippleNet网络结构

在介绍整体框架之前,首先引入两个概念。
(1)用户的k-hop相关实体:,其中,表示用户的历史交互项目;
(2)用户的k-hop ripple set:以k-1个相关实体为head的相关三元组:。
一般情况下,为避免ripple set过大,会设定一个k的最大值进行截断。ripple的含义:用户对项目的潜在兴趣由其历史偏好激活,然后沿KG中的连接从近到远逐层传播;用户在ripple集中的潜在偏好强度随k的增加而降低。
下面,看看RippleNet的具体网络结构。


如图,模型的输入是用户 和项目 ,输出是用户 单击项目 的预测概率。在中间过程中,用户 的历史兴趣集为 ,它沿着连接扩展,以形成ripple集 ,它们用于与项目嵌入进行迭代交互,以获得用户 对项目 的响应,然后将这些响应组合起来,形成最终的用户嵌入。最后利用用户 和项目 的嵌入来计算 。
框架中提到的,要利用 获得用户 对项目 的响应,具体可分为两步:
(1)在关系空间 中度量项目 与实体 之间的相关性,给 中的每个三元组 分配相关概率: 其中, 和 是关系 和头实体 的嵌入。
(2)获得相关概率后,将 中三元组的尾实体按相应的相关概率加权求和,得到用户兴趣经过第一轮扩散的结果(图中的绿色矩形): 以上用户的兴趣沿着 的路径从其历史集 转移到其1跳相关实体 的过程叫做偏好传播。
之后将 公式中的 替换成 ,得到 ,一共重复上述过程H次,将用户的偏好从点击历史传播到H跳,则用户 最终的嵌入为:
最后,结合用户嵌入和项目嵌入,输出的预测点击概率为: 。

RippleNet的损失函数

在给定知识图谱G,用户的隐式反馈(即用户的历史记录)Y时,我们希望最大化后验概率:,其中包括所有实体、关系和项目的嵌入。
后验概率可以转化为(根据概率的乘法公式):
最终损失函数为:
=\sum_{(u,v)\in Y}{-(y_{uv}log \sigma (u^Tv)+(1-y_{uv}) log (1-\sigma (u^Tv ) ) ) + \frac{\lambda_2}{2} \sum_{r\in R}{||I_r-E^TRE||^2_2+\frac{\lambda_1}{2}(||V ||^2_2+||E ||^2_2+ \sum_{r\in R }{||R ||^2_2}}}

总结

RippleNet通过引入偏好传播,克服了现有基于嵌入和基于路径的KG感知推荐方法的局限性,论文在三个推荐场景中进行了大量实验。结果都表明RippleNet具有显著的优势。

RippleNet中用户的偏好传播丰富了用户嵌入,能够更好的发现用户的潜在兴趣,我认为该论文中的k-hop思想非常值得思考,可以尝试和一些现有的算法结合,可能会有更好的效果。

参考

论文地址:https://arxiv.org/pdf/1803.03467.pdf
https://www.jianshu.com/p/c5ffaf7ed449
https://zhuanlan.zhihu.com/p/73716930?ivk_sa=1024320u

你可能感兴趣的:(2018CIKM-RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems)