推荐系统遇上深度学习(二十七)--知识图谱与推荐系统结合之RippleNet模型原理及实现...

本文介绍了将知识图谱与推荐系统结合的RippleNet模型,详细阐述了其背景、网络结构和损失函数,并提供了Tensorflow实现的概述。RippleNet模拟用户兴趣在知识图谱上的传播,通过逐层扩散和衰减来捕获用户偏好。此外,还提到了RippleNet的损失函数和模型构建过程。
摘要由CSDN通过智能技术生成

知识图谱特征学习在推荐系统中的应用步骤大致有以下三种方式:

依次训练的方法主要有:Deep Knowledge-aware Network(DKN)
联合训练的方法主要有:Ripple Network
交替训练主要采用multi-task的思路,主要方法有:Multi-task Learning for KG enhanced Recommendation (MKR)

本文先来介绍联合训练的方法Ripple Network

论文下载地址为:https://arxiv.org/abs/1803.03467

1、RippleNet原理

1.1 RippleNet背景

在上一篇中我们介绍了Deep Knowledge-aware Network(DKN),在DKN中,我们需要首先学习到entity的向量和relation的向量,但是学习到的向量,其目的是为了还原知识图谱中的三元组关系,而并非是为了我们的推荐任务而学习的。因此今天我们来介绍一下知识图谱和推荐系统进行联合训练的一种网络结构:RippleNet。

Ripple是波纹的意思,RippleNet就是模拟用户兴趣在知识图谱上的一个传播过程,如下图所示:

如上图,用户的兴趣以其历史记录为中心,在知识图谱上逐层向外扩散,而在扩散过程中不断的衰减,类似于水中的波纹,因此称为RippleNet。

1.2 RippleNet网络结构

我们先来介绍两个相关的定义:Relevant Entity:在给定知识图谱的情况下,用户u的k-hop相关实体定义如下:

特别地,用户u的0-hop相关实体即用户的历史记录。

Ripple Set:用户u的k-hop ripple set被定义为以k-1 Relevant Entity 为head的相关三元组:

这里,为避免Ripple Set过大,一般都会设定一个最大的长度,进行截断。另一方面,构建的知识图谱都是有向图,只考虑点的出度。

接下来,我们来看看RippleNet的网络结构:

可以看到,最终的预测值是通过item embedding和user embedding得到的,item embedding通过embedding 层可以直接得到,关键是user embedding的获取。user embedding是通过图中的绿色矩形表示的向量相加得到的,接下来,我们以第一个绿色矩形表示的向量为例,来看一下具体是如何计算的。

第一个绿色矩形表示的向量,需要使用的是1-hop的ripple set,对于set中的每

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值