2019SIGIR-RCF: Relational Collaborative Filtering: Modeling Multiple Item Relations for Recommend...

作者以及单位

Xin Xin , Xiangnan He

解决问题

比基于item的协同过滤(collaborative filtering, ICF)做到更细粒度的推荐。
ICF的关键假设是用户应该选择与其历史上交互过的物品相似的物品。相似度通常是通过用户交互来判断的——两个物品在过去被用户交互的可能性有多大。现有的ICF方法具有普遍性和有效性,但作者认为这些方法还不够充分,因为它们只考虑了宏观层面的、粗粒度的、缺乏具体语义的协同相似关系

RCF把ICF由隐式和单一的联系,变为了显示和多重的联系(我觉得故事是说的很好)

区别

研究动机

首先说说我关注这个文章动机:很多文章是基于模型的叠加,但是这个事情做的不好就比较low,做好了正在能解决实际问题,就比较经典,例如deepFM,NCF,或者这篇RCF。
这个文章动机是:当两个用户A和B观看了同一部电影《外星人》,A喜欢小说主题,看下一部《复仇者》,B喜欢导演,选择了《辛德勒的名单》看下一部。即,如果在数据特征的细粒度处理部分,能够上述区别体现出来,准度就可以进一步提高。
因为本文定位是在CF协同过滤上的修改,协同过滤如果不能解释用户背后决策的真正原因,就无法正确的推荐产品,例如买了羽毛球拍,就要推羽毛球,原因同类,买了羽毛球推球拍,原因功能性。

type+value

研究方法

整体结构如下:利用2层将多个item关系利用attention整合形成user preference以及提高item embedding的表示。
注意:我看大部分模型结合的工作都是在embedding上做文章

架构图

下面我解释一下公式的实现,在此,我抓大放小说大逻辑,细节部分(例如防止梯度爆炸,如何平滑处理,这里都不谈,很多文章都介绍),大的逻辑就3个:
1.第一级:relation type(上面看电影的图)
2.第二级:relation value
3.处理偏执bias
变量定义如下:


符号定义

首先*第一级由user embedding与type embedding计算对应的attention score,因为relation type在这一过程中占有重要的地位。例如,用户在看电影时可能会关注电影类型

attention

然后利用softmax函数来计算对应的权重
权重

然后在对二级关注点进行建模时,既要考虑项目,也要考虑相应的关系值。从这个角度,我们定义为:

attention第二级

现在我们完成了目标感知用户嵌入的建模。在此基础上,我们利用多层感知器(MLP)计算用户对第项的最终预测得分,结果如下


得分

我们利用BPR逐对学习框架来定义目标函数,如下所示:


目标函数

最后结果,输入uik

创新点

核心创新点应该就是把ICF改为了RCF,然后两层进行协同处理。


代码流程

结论

我们可以看到RCF比FM提高了不少


试验结果

参考

Relational Collaborative Filtering: Modeling Multiple Item Relations for Recommendation简析_loserChen的博客-CSDN博客
Relational Collaborative Filtering: Modeling Multiple Item Relations for Recommendation - (jianshu.com)

你可能感兴趣的:(2019SIGIR-RCF: Relational Collaborative Filtering: Modeling Multiple Item Relations for Recommend...)