RippleNet 2018 (CIKM) Propagating User Preferences on the Knowledge Graph for Recommender Systems

知识图谱引入推荐系统的优势

  • 知识图谱提供了项目之间的语义相关性,可以帮助我们发现潜在的项目之间的关联性,从而提高推荐的准确性。
  • 知识图谱由多种关系类型组成,有利于扩展用户的偏好和增加推荐的多样性。
  • 知识图谱连接用户的历史交互和目标项目,可以解释推荐。

ripplenet核心思想

核心思想是偏好传播。对于每一个用户,将用户的交互历史作为种子集合,然后用户的偏好沿着知识图谱进行传播。我们类比偏好传播为水面涟漪,多个涟漪叠加在一起形成用户对知识的偏好分布。

  • 用户的潜在兴趣由交互历史引发,然后沿着知识图谱由近及远进行传播,距离越远,用户的偏好越弱。实际上是在寻找和用户历史物品相似的物品。
  • 本文重点是通过用户的交互历史及知识图谱提炼出用户的特定表示。

简要概述本文工作

王等人提出了ripplenet,这是利用用户偏好传播的一篇文章,将偏好传播类比为水纹涟漪传播,通过用户的交互历史数据逐层传播,最终获得用户的向量表示。给定用户u和物品v,首先获得用户u的一跳相关三元组 S u 1 S_u^1 Su1,根据一跳三元组中的元素计算与物品v的相似度 p i = softmax ⁡ ( v T R i h i ) = exp ⁡ ( v T R i h i ) ∑ ( h , r , t ) ∈ S u 1 exp ⁡ ( v T R h ) p_{i}=\operatorname{softmax}\left(\mathbf{v}^{\mathrm{T}} \mathbf{R}_{i} \mathbf{h}_{i}\right)=\frac{\exp \left(\mathbf{v}^{\mathrm{T}} \mathbf{R}_{i} \mathbf{h}_{i}\right)}{\sum_{(h, r, t) \in \mathcal{S}_{u}^{1}} \exp \left(\mathbf{v}^{\mathrm{T}} \mathbf{R h}\right)} pi=softmax(vTRihi)=(h,r,t)Su1exp(vTRh)exp(vTRihi)
然后获取用户u对物品v的一阶响应
o u 1 = ∑ ( h i , r i , t i ) ∈ S u 1 p i t i \mathbf{o}_{u}^{1}=\sum_{\left(h_{i}, r_{i}, t_{i}\right) \in \mathcal{S}_{u}^{1}} p_{i} \mathbf{t}_{i} ou1=(hi,ri,ti)Su1piti,重复上述过程,依次获得k跳的用户表示,最终用户的表示为
u = o u 1 + o u 2 + … + o u H \mathbf{u}=\mathbf{o}_{u}^{1}+\mathbf{o}_{u}^{2}+\ldots+\mathbf{o}_{u}^{H} u=ou1+ou2++ouH
预测评分为
y ^ u v = σ ( u T v ) \hat{y}_{u v}=\sigma\left(\mathbf{u}^{\mathrm{T}} \mathbf{v}\right) y^uv=σ(uTv)

trick

  1. 水波网络中所谓每一层向外扩散的操作,实际上每一次都会产生笛卡尔乘积数量级的新实体,即数量不断变大。
    • 实际上,知识图谱中大量的实体是下沉实体,只有入链接没有出链接。
    • 在特定领域的场景中,关系可以被限定为特定关系,如电影场景。
    • 实际上,H的取值不会太大,因为距离越远,噪音越多。
    • 操作时需要设定一个值来限定每一次扩散取得新实体的数量上限,每次进行随机采样,从而增加训练数据的覆盖率、

疑惑

  1. 按照文章意思,一个用户根据候选物品的不同会有不同的表示吗?即在训练阶段,对于(u,v1),(u,v2)相同的用户不同的物品,最终会训练出两个用户表示,是这样吗?

可改进的地方

  • 本文利用知识图谱提炼了对用户表示,没有提炼对物品的表示。
  • 文章用到了注意力机制,但是是手动计算的,而不是网络自己学习的。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值