作者及单位
![](https://img.haomeiwen.com/i23701910/18e0fefa5f4f46db.png)
解决问题
基于知识图谱的推荐系统能够缓解数据的稀疏性以及冷启动问题,并且可以增加推荐系统的多样性和可解释性。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的具体网络结构。
![](https://img.haomeiwen.com/i23701910/4c94a2a4942dc089.png)
如图,模型的输入是用户
框架中提到的,要利用
(1)在关系空间
(2)获得相关概率后,将
之后将
最后,结合用户嵌入和项目嵌入,输出的预测点击概率为:
RippleNet的损失函数
在给定知识图谱G,用户的隐式反馈(即用户的历史记录)Y时,我们希望最大化后验概率:,其中
包括所有实体、关系和项目的嵌入。
后验概率可以转化为(根据概率的乘法公式):
最终损失函数为:
总结
RippleNet通过引入偏好传播,克服了现有基于嵌入和基于路径的KG感知推荐方法的局限性,论文在三个推荐场景中进行了大量实验。结果都表明RippleNet具有显著的优势。![](https://img.haomeiwen.com/i23701910/cf0c23a02cad4546.png)
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
网友评论