上一篇介绍了依次训练的DKN模型,本文介绍连个训练的RippleNet模型。
在DKN中,我们需要首先学习到entity的向量和relation的向量,但是学习到的向量,其目的是为了还原知识图谱中的三元组关系,而并非是为了我们的推荐任务而学习的。因此今天我们来介绍一下知识图谱和推荐系统进行联合训练的一种网络结构:RippleNet。
论文
KG-aware recommendation 可以分为两类: embedding-based methods and path-based methods,有以下问题:
目的:RippleNet, an end-to-end framework for knowledge-graph-aware recommendation. RippleNet is designed for click-through rate (CTR) prediction, which takes a user-item pair as input and outputs the probability of the user engaging (e.g., clicking, browsing) the item.
主要思想:The key idea behind RippleNet is 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.
有上述两个方法的优点:(1) RippleNet incorporates the KGE methods into recommendation naturally by preference propagation; (2) RippleNet can automatically discover possible paths from an item in a user’s history to a candidate item, without any sort of hand-crafted design.
模型的基本框架:
模型输入输出:
定义1:
定义2:
问题:
最终的预测值是通过item embedding和user embedding得到的,item embedding通过embedding 层可以直接得到,关键是user embedding的获取。user embedding是通过图中的绿色矩形表示的向量相加得到的,接下来,以第一个绿色矩形表示的向量为例,来看一下具体是如何计算的。
模型输出:
损失函数:
论文原文地址:https://arxiv.org/pdf/1803.03467.pdf
代码地址:https://github.com/hwwang55/RippleNet
转载自原文链接, 如需删除请联系管理员。
原文链接:知识图谱与推荐系统之RippleNet,转载请注明来源!