作者:Hongwei Wang等
会议:CIKM
关键词:Recommender systems; knowledge graph; preference propagation
一·摘要
协同过滤的不足:sparsity,cold start
解决方法:使用 side information(this paper use KG)-> social networks, item attributes
propose RippleNet-> end to end framework-> incorporates the knowledge graph into recommender systems
使用户的偏好数据在知识图谱的通道中传递。
将用户点击事件数据进行叠加,形成用户偏好分布,点击概率。
二·介绍
协同过滤(Collaborative filtering,CF):基于用户历史行为偏好构建模型(不需要类似基于内容的推荐算法那样进行复杂的特征提取与建模)
基于内容的推荐算法:用户可能会喜欢与他曾经喜欢过的物品相似的物品
基于协同过滤的推荐算法:(基于用户的推荐)用户可能会喜欢与他相似用户喜欢的物品,这避开了对物品自身属性的挖掘
协同过滤同样存在着数据稀疏和冷启动的问题--解决方法--加入side information--such as social networks, user/item attributes, images and contexts.BUT KG 表现效果最好!
加入知识图谱的推荐系统,知识图谱的作用(1)引入项目之间的语义相关性,增大准确度(2)含有多种类型的链接 ,增加可解释性(3)KG中包含着用户的本体喜欢的记录和推荐给他的记录
KG-aware 推荐方法(过去)
embedding-based methods
| 该算法利用知识图嵌入(KGE)算法对知识库进行预处理,并将学习到的实体嵌入到推荐框架中。 基于嵌入的方法在利用KG辅助推荐系统方面表现出了很高的灵活性,但这些方法中采用的KGE算法通常更适合于图内应用,如链接预测,而不是推荐,因此,学习到的实体嵌入在描述项目间关系时不够直观和有效 |
path-based methods
| 其中探讨了KG项目之间的各种联系模式,为建议提供额外的指导。 基于路径的方法以一种更自然、更直观的方式使用KG,但它们严重依赖于手工设计的元路径,在实践中很难进行优化。另一个问题是,在实体和关系不在一个域中的特定场景(例如,新闻推荐)中,不可能设计手工制作的元路径。 |
(现在)为了解决之前的各种不足--我们的方法出场了!RippleNet端到端的知识图感知推荐
designed for 点击率预测
--input 用户-商品 对--output 用户对该物品的点击浏览概率
亮点idea preference propagation------For each user, RippleNet treats his historical interests as a seed set in the KG, then extends the user’s interests iteratively along KG links to discover his hierarchical potential interests with respect to a candidate item.
RippleNet优点:(1)RippleNet通过偏好传播将KGE方法自然融入到推荐中; (2)RippleNet可以自动发现从用户历史记录中的物品到候选物品的可能路径,而无需任何手工设计。
三·问题公式化
知识图感知推荐问题的公式为
用户集 商品集 用户商品交互矩阵
其中
-->头实体,关系,尾实体
entity ; relation
在给定交互矩阵Y和知识图G的情况下,我们的目的是预测user 是否对之前没有交互过的item 有潜在的兴趣。
GOAL:
四·RippleNet详细介绍
1.框架
input:user u and an item v
output:predicted probability that user u will click item v
user'u 的历史喜爱Vu-> 在KG中开始扩散,像是水波纹一样-> hop1 hop2 hop...
黄色块进行迭代交互,获取用户u对项目v的响应(绿色),响应组合成最终的用户嵌入(灰色),then prediicted
2.Repple的设置
KG中这些复杂的连接为我们探索用户偏好提供了一个深刻而潜在的视角
为了用KG来表征用户的层次扩展偏好,在RippleNet中,我们递归定义用户u的k-hop相关实体集如下:
relevant entity:给定交互矩阵Y和知识图G,定义用户u的k-hop相关实体集合为:
可以将相关实体视为用户历史兴趣相对于KG的自然扩展
给定相关实体的定义,定义用户u的k-hop ripple集如下:
一个担忧:ripple越扩越大
不用担心:(1)大多数知识图谱中的结点都只有输入而没有输出 (2)在特定的场景中可以限制实体的类别以此来减少关系的扩展 (3)实际问题中不会把h设置的太大
3. 传播
在RippleNet中,为了以更细粒度的方式对用户和项目之间的交互进行建模,我们提出了一种偏好传播技术,以探索用户对其ripple集的潜在兴趣。
给定v 对比h和r得到一个概率:(4)
在机器学习尤其是深度学习中,softmax是个非常常用而且比较重要的函数,尤其在多分类的场景中使用广泛。他把一些输入映射为0-1之间的实数,并且归一化保证和为1,因此多分类的概率之和也刚好为1。
和 是r 和 h 的embedding,关联概率pi可以看作是在关系Ri空间中度量的项目v与实体hi的相似度。需要注意的是,在计算项目v和实体hi的相关性时,需要考虑嵌入矩阵Ri,因为项目-实体对在不同的关系度量时可能有不同的相似性。
这两个🦁,把用户的兴趣从历史喜欢V集沿着波纹边传递到了1hop实体,这就叫做preference propagation
通过把v替换为(4)可以继续向后求 2hop 3hop..
即使求到了H,也不要忽略小hop,最终可以求得预测点击概率->
4. 学习算法
5.一些讨论
可解释推荐系统 旨在揭示用户可能喜欢某个特定商品的原因,这有助于提高他们对推荐的接受度或满意度,并增加对RS的信任。
解释通常基于社区标签,社交网络,方面,短语情感,在KG中,它通过跟踪用户历史到具有高相关性概率的项目的路径,提供了一个新的可解释性观点。
五·实验
1.数据集选择
2.baselines
3.实验设置
4.经验学习
我们进行了一项实证研究,以调查KG中一个项目对的共同近邻的平均数量与RS中它们是否有共同评分者(s)之间的相关性。对于每个数据集,我们首先随机抽取100万个项目对,然后计算两项在以下两种情况下在KG中共享的k-hop邻居的平均数量:(1)两项在RS中至少有一个共同评分者;(2)两个项目在RS中没有共同的评分者,结果分别如图4a、4b、4c所示,这清楚地表明,如果两个项目在RS中有共同的评分者,他们可能有更多的共同k-hop邻居知识图谱固定k。上述研究经验表明,邻近结构的相似性的两项知识图谱可以协助测量他们在RS亲缘。此外,我们把两个平均数字的比例不同的hops(例如,在图4d中,我们可以看到随着跳数的增加,两种情况下两个项目的邻近结构变得更加相似。这是因为任何两个项目都可能共享大量的k-hop邻居在KG为一个大的k,即使在现实中它们之间没有直接的相似性。这个结果促使我们在RippleNet中寻找一个适中的跳数,在避免引入过多噪音的同时,尽可能挖掘用户的潜在兴趣。
5.结果
六·总结与展望
在本文中,我们提出了一个端到端框架RippleNet,它将知识图自然地整合到推荐系统中。RippleNet通过引入偏好传播,克服了现有基于嵌入和基于路径的KG感知推荐方法的局限性,自动传播用户的潜在偏好,并探索用户在KG中的层次兴趣。RippleNet将偏好传播与正则化的KGE结合在贝叶斯框架中,用于点击率预测。我们在三个推荐方案中进行了广泛的实验。