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)用户u的k-hop相关实体:\epsilon_{u}^{k}=\{t|(h,r,t)\in G\ and\ h\in \epsilon_{u}^{k-1} \},其中,\epsilon_{u}^{0}=V_u=\{v|y_{uv}={1}\}表示用户的历史交互项目;
(2)用户u的k-hop ripple set:以k-1个相关实体为head的相关三元组:S_{u}^{k}=\{(h,r,t)|(h,r,t)\in G\ and\ h\in \epsilon_{u}^{k-1} \}
一般情况下,为避免ripple set过大,会设定一个k的最大值进行截断。ripple的含义:用户对项目的潜在兴趣由其历史偏好激活,然后沿KG中的连接从近到远逐层传播;用户在ripple集中的潜在偏好强度随k的增加而降低。
下面,看看RippleNet的具体网络结构。


如图,模型的输入是用户u和项目v,输出是用户u单击项目v的预测概率。在中间过程中,用户u的历史兴趣集为V_u,它沿着连接扩展,以形成ripple集S_{u}^{k},k=1,2,...,H,它们用于与项目嵌入进行迭代交互,以获得用户u对项目v的响应,然后将这些响应组合起来,形成最终的用户嵌入。最后利用用户u和项目v的嵌入来计算\hat{y}_{uv}
框架中提到的,要利用S_{u}^{1}获得用户u对项目v的响应,具体可分为两步:
(1)在关系空间R_i中度量项目v与实体h_i之间的相关性,给S_{u}^{1}中的每个三元组(h_i,r_i,t_i)分配相关概率:p_i=softmax (V^{T}R_{i}h_{i})=\frac{exp(V^TR_ih_i)}{\sum_{(h,r,t)\in S_{u}^{1}}{exp(V^TR h)}} 其中,R_ih_i是关系r_i和头实体h_i的嵌入。
(2)获得相关概率后,将S_{u}^{1}中三元组的尾实体按相应的相关概率加权求和,得到用户兴趣经过第一轮扩散的结果(图中的绿色矩形):O_u^1=\sum_{(h_i,r_i,t_i)\in S_{u}^{1}}{p_it_i}以上用户的兴趣沿着S_{u}^{1}的路径从其历史集V_u转移到其1跳相关实体\epsilon_{u}^{1}的过程叫做偏好传播。
之后将p_i公式中的v替换成O_u^1,得到O_u^2,一共重复上述过程H次,将用户的偏好从点击历史传播到H跳,则用户u最终的嵌入为:u=O_u^1+O_u^2+...+O_u^H
最后,结合用户嵌入和项目嵌入,输出的预测点击概率为:\hat{y}_{uv}=\sigma (u^Tv)

RippleNet的损失函数

在给定知识图谱G,用户的隐式反馈(即用户的历史记录)Y时,我们希望最大化后验概率:max\ p(\Theta|G,Y),其中\Theta包括所有实体、关系和项目的嵌入。
后验概率可以转化为(根据概率的乘法公式):p(\Theta|G,Y)=\frac{p(\Theta,G,Y)}{p(G,Y)} \varpropto p(\Theta) \cdot p(G|\Theta) \cdot p(Y|\Theta,G)
最终损失函数为:min\ L=-log(p(Y|\Theta,G) \cdot p(G|\Theta) \cdot p(\Theta) )
=\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
//www.greatytc.com/p/c5ffaf7ed449
https://zhuanlan.zhihu.com/p/73716930?ivk_sa=1024320u

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,193评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,306评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,130评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,110评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,118评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,085评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,007评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,844评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,283评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,508评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,395评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,985评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,630评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,797评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,653评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,553评论 2 352

推荐阅读更多精彩内容