RS-KGRS-2018:RippleNet(水波网络)【首次将基于embedding-based和path-based的方法结合到基于知识图谱的推荐系统中】

一、论文介绍

推荐系统中,协同过滤(Collaborative Filtering,简称CF)根据用户的历史交互数据,并根据用户的潜在共同爱好进行推荐。然而CF算法也有一些问题:用户数据稀疏(Sparsity),以及冷启动(Cold-start)问题。

为了解决这些问题,研究者们提出在CF模型的基础上加入额外信息。比如社交网络、用户/商品属性、图片信息以及文字信息等。

本文考虑将知识图谱(Knowledge Graph,KG)作为额外信息,融入到推荐系统中。

前人将KG融合到推荐系统的相关工作,主要分为两种类别:

  • embedding-based methods:万物皆可embedding
  • path-based method:探索KG中各个实体之间的各种联系,为推荐系统提供额外的指导。

1、embedding-based methods

Deep Knowledge-aware Network (DKN)中,实体embeddings和词embeddings当做不同的通道,然后用CNN网络将他们两者结合到一起(用来新闻推荐)。

Collaborative Knowledge base Embedding (CKE)中,CF模型结合了知识embeddings、文本embeddings,图片embeddings。

Signed Heterogeneous Information Network Embedding (SHINE) 中,模型将情感网络、社会网络、个人网站都进行深度编码。模型用于名人推荐。

优点:embedding-based方法在利用KG辅助推荐系统表现出很高的灵活性

缺点:但这些方法中采用的KGE(Knowledge Graph Embedding)算法通常更适用于图形内链路预测应用(何为图内链路预测:通过已知的网络节点及网络结构等信息,预测网络中尚未产生连接的两个节点之间产生连接的可能性),而推荐场景我们需要更多的去发现潜在用户感兴趣的点,而不仅仅是利用当前也有的节点连接,所以学习好的实体embeddings对于表征实体间的关系作用不大。

2、path-based method

Personalized Entity Recommendation(PER)和Meta-Graph Based Recommendation 将KG视为异构信息网络(Heterogeneous Information networks,HIN),通过关系路径、图表的类型提取基于元路径/元图的潜在特征来表示user和item之间的连接。

优点:path-based 方法以更自然和更直观的方式使用KG。

缺点:但它们严重依赖于手动设计的元路径,这在实践中很难优化。 另一个问题是,在实体和关系不在一个域内的某些场景(例如,新闻推荐)中设计手工制作的元路径是不可能的。

为了解决前人方法中的问题,作者提出RippleNet:

思路借鉴水波(Ripple)的传播,以user感兴趣的items为种子(seed),在商品知识图谱上,用seed items向外一圈一圈的扩散到其他的items上,这个过程称之为偏好传播(Preference Propagation)。该模型认为外层的items同样属于用户潜在偏好,因此在刻画user的时候,需要将其考虑进去,而不能仅仅使用观测到的items去表示user偏好。

RippleNet与前人工作的差异:

(1)RippleNet通过偏好传播方法,很自然地将KGE方法融入到推荐系统中;

(2)RippleNet可以从用户历史的item中,发现用户到候选item的可能路径,不需要任何手工设计;

RippleNet 的贡献

(1)首次将基于embedding-based和path-based的方法结合到基于知识图谱的推荐系统中;

(2)提出了RippleNet模型,这是一个利用知识图谱实现推荐系统的端到端框架,RippleNet通过在KG中偏好传播的方法,不断自动的发现用户的潜在的层级兴趣;

(3)对三个真实世界的推荐场景(电影、图书、新闻)进行了实验,结果证明RippleNet在几个最好的基线上都是有提高的。

知识图谱与推荐系统联合学习之RippleNet:论文及代码讲解 - 知乎

知识图谱与推荐系统之RippleNet_十三吖的博客-CSDN博客 

【论文笔记】RippleNet : 知识图谱+用户偏好传播的推荐系统_HicSuntLeones的博客-CSDN博客 

RippleNet 论文及代码阅读 - 知乎 

你可能感兴趣的:(#,RS/基于知识图谱的推荐,知识图谱,人工智能,自然语言处理)