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

一、摘要

为了解决协同过滤的稀疏性和冷启动问题,社交网络或项目属性等辅助信息被用来提高推荐性能。

考虑到知识图谱是边信息的来源,为了解决现有的基于嵌入和基于路径的知识图谱感知重构方法的局限性,本文提出了一种端到端框架,它自然地将知识图结合到推荐系统中。

与水上传播的实际涟漪类似,RippleNet通过在知识图谱实体集上传播用户兴趣,从而自主迭代地沿着知识图谱中的链接来扩展用户的潜在兴趣

因此,由用户的历史点击项激活的多个“涟漪”被叠加以形成用户相对于候选项目的偏好分布,该偏好分布可用于预测最终点击概率

通过在真实世界数据集上的大量实验,本文证明RippleNet在各种场景(包括电影、书籍和新闻推荐)中都能在多个最先进的基线上获得实质性的效果。

ripple net :

ripple:波纹,是你往水里面扔石头产生的。

石头就是波纹的中心,也就是RS中的用户历史点击矩阵。
被激起的波纹就对应了知识图谱一个又一个的实体

由用户的历史纪录激起的水波,就是用户潜在感兴趣的item
除此之外波纹还有一个特点,它会随着层数的变大而逐渐衰减,这里类比到ripplenet也是同样的。


二、引言

背景:

推荐系统(Recommender systems,RS)旨在通过为用户寻找一组满足其个性化兴趣的小商品来弥补信息爆炸带来的负面影响。

在推荐策略中,协作过滤(CF)考虑了用户的历史交互,并根据用户潜在的共同偏好进行推荐,取得了巨大的成功。然而,基于CF的方法通常存在用户-项目交互的稀疏性和冷启动问题。为了解决这些局限性,研究人员提出了将侧边信息整合到CF中,如社交网络、用户/项目属性、图像和上下文。

在各种类型的边信息中,知识图谱(KG)通常包含更多关于项目的有成效的事实和联系。KG是一种有向异构图,其中节点对应于实体,边对应于关系。最近,研究人员提出了一些学术KG,如NELL1、DBpedia2和商业KG,如Google Knowledge Graph和Microsoft Satori。这些知识图已成功地应用于许多应用中,如KG构建、问答、单词嵌入和文本分类。

KG用在推荐的好处:

(1)准确性。KG引入了项目之间的语义关联性,有助于发现它们之间潜在的联系,提高推荐项目的精度;

(2)多样性。由各种类型的关系组成,有助于合理地维护用户的利益,增加推荐项目的多样性;

(3)可解释性。KG将用户的历史记录与推荐项目联系起来,从而为推荐系统带来可解释性。

现有的KG结合推荐可分为两类:

第一类是基于embedding的方法,它使用知识图嵌入(KGE)预处理KG,并将学习到的实体嵌入合并到推荐框架中。

例如,深度知识感知网络(Deep Knowledge aware Network,DKN)将实体embedding和单词embedding作为不同的通道,然后设计一个CNN框架将它们结合起来进行新闻推荐。

协同知识库嵌入(CKE)在统一的贝叶斯框架中将CF模块与知识embedding、文本embedding和项目图像embedding相结合。

签名异构信息网络嵌入(SHINE)设计深度自动编码器,嵌入情感网络、社交网络和个人资料(知识)网络,用于名人推荐。

基于嵌入的方法在利用KG来辅助推荐系统方面显示出高度灵活性,但是在这些方法中采用的KGE算法通常更适合于诸如链接预测之类的图形应用,而不是推荐。

第二类是基于路径的方法,它揭示了以KG为单位的项目之间的各种连接模式,为建议提供额外的指导。

例如,个性化实体推荐(PER)和基于元图的推荐将KG视为异构信息网络(HIN),并提取基于元路径/元图的潜在特征,以表示用户和项目之间沿着不同类型的关系路径/图的连接。

基于路径的方法以更自然和直观的方式使用KG,但它们严重依赖于手动设计的元路径,这在实践中很难优化。另一个问题是,在某些实体和关系不在一个域中的场景(例如,新闻推荐)中,不可能设计手工创建的元路径。

ripple net :

RippleNet是为点击率(CTR)预测而设计的,

输入:用户项目对

输出:用户参与(如点击、浏览)项目的概率。

关键思想:偏好传播。

对于每个用户,RippleNet将其历史兴趣视为KG中的种子集,然后沿着KG链接迭代扩展用户兴趣,以发现其与候选项相关的层次潜在兴趣。

我们将偏好传播与雨滴在水面上传播所产生的实际涟漪进行类比,其中多个“涟漪”叠加在一起,形成用户对知识图的偏好分布。

RippleNet与现有文献的主要区别在于RippleNet结合了上述两种方法的优点:(1)RippleNet通过偏好传播自然地将KGE方法融入到推荐中;(2)RippleNet可以自动发现从用户历史记录中的项目到候选项目的可能路径,而无需任何手工设计。

实验:

根据经验,我们将RippleNet应用于电影、书籍和新闻推荐的三个真实场景。实验结果表明,与最新的推荐基线相比,RippleNet在电影、书籍和新闻推荐中的AUC分别提高了2.0%-40.6%、2.5%-17.4%和2.6%-22.4%。我们还发现,RippleNet根据知识图为推荐的结果提供了一种新的解释方法。

 

三、问题描述

前提介绍:

在典型的推荐系统中,让U={u1,u2,…}和V={v1,v2,…}分别表示用户和项目的集合。用户项目交互矩阵根据用户的隐含反馈定义(例如点击、观看、浏览等行为),其中

除了交互矩阵Y之外,还有一个知识G,它由实体-大量关系-实体三元组(h、r、t)组成。

其中,,表示三元组的头、关系、尾。表示实体,表示关系。

例如,三元组(Jurassic Park,film.director,Steven Spielberg):史蒂芬·斯皮尔伯格(Steven Spielberg)是电影《侏罗纪公园》(Jurassic Park)的导演。

在许多推荐场景中,一个项目v可能与G中的一个或多个实体关联。

例如,电影《侏罗纪公园》与其同名的KG关联,而标题为“法国熊猫宝宝首次公开亮相”的新闻则与实体“法国”和“熊猫”关联。

问题定义:

给定交互矩阵Y和知识图G,目的是预测用户u是否对之前没有交互的项目v有潜在兴趣。我们的目标是学习一个预测函数,其中yˆuv表示用户u单击项目v的概率,而Θ表示函数F的模型参数。

 

四、RippleNet

1、RippleNet框架:

 RippleNet将用户u和项目v作为输入,并输出用户u单击项目v的预测概率。

对于输入用户u,其历史兴趣集Vu被视为KG中的种子,然后沿链接扩展以形成多个ripple集Suk(k=1、2、…、H)。ripple集Suk是远离种子集Vu的k-hop的知识三元组集。这些ripple集用于迭代地与项目嵌入(黄色块)交互,以获得用户u对项目v(绿色块)的响应,然后组合这些响应以形成最终用户嵌入(灰色块)。最后,利用用户u和项目v的嵌入来计算预测概率yˆuv。

2、Ripple Set

知识图通常包含丰富的事实和实体之间的联系。

例如,如图3所示,电影《Forrest Gump》与“Robert Zemeckis”(导演)、“Tom Hanks”(明星)、“U.S.”(乡村)和“Drama”(流派)联系在一起,而Tom Hanks则与他主演的电影《The Terminal》和《Cast Away》进一步联系在一起。

这些复杂的KG连接为我们提供了一个深入和潜在的视角来探索用户偏好。

例如,如果用户曾经看过《Forrest Gump》,他可能会成为Tom Hanks的粉丝,对《The Terminal》或《Cast Away》感兴趣。为了用KG来描述用户的层次扩展偏好,在RippleNet中,我们递归地为用户u定义了一组与k-hop相关的实体,如下所示:

 

猜你喜欢

转载自www.cnblogs.com/Lee-yl/p/11949636.html