推荐系统&知识图谱(6)---NGCF

论文:Neural Graph Collaborative Filtering,SIGIR,2019,Wang Xiang, He Xiangnan


推荐系统的关键就是获取用户和物品的embeddings。
目前的协同过滤方法中的embedding的问题在于:没有在embedding过程中编码入协同信号(collaborative signal),导致embedding的结果不足以捕获协同过滤的效果。
因此作者提出了神经图协同过滤(Neural Graph Collaborative Filtering,NGCF),使用图结构来表达用户-物品的交互信息,建模用户-物品在图网络中的高阶连通性,从而显示的将协同信号注入embedding过程中。

1. 背景介绍

目前协同过滤方法的问题有两点:
1.没有编码协同信号(collaborative signal),只通过交互函数去表达交互信息;
2.现实场景交互数据规模大,使用传统的树结构难以提取协同信号;

推荐系统&知识图谱(6)---NGCF_第1张图片
因此作者采用图结构,利用图网络来捕获用户-物品的高阶连通性,提出了 NGCF
如右图所示,采用图结构之后,可以清楚表达用户和物品在高阶的关系。如:在和之间,更喜欢,因为和之间有两条通路。

2. NGCF结构

NGCF的结构如图所示,分为三部分:
Embeddings 层:初始化用户和物品的embedding
Multiple Embedding Propagation 层:通过高阶连通图来训练embedding
Prediction 层:聚合embedding表示,输出预测值

推荐系统&知识图谱(6)---NGCF_第2张图片

2.1 Embedding层

embedding层就是给用户和物品随机初始化一个可训练的embedding。
用户:
物品:
embedding矩阵:

2.2 Embedding Propagation层

嵌入的传播学习多层做法与第一层相同,只是重复多次,这里以一层为例。
第一层的传播分为两步:消息构建消息聚合

消息构建

对于连接的用户-物品对,定义物品传播给用户的消息向量为:,其中为每次传播时边的衰减因子。
作者的具体做法是:其中,为拉普拉斯算子,和表示用户和物品的邻居。
公式中,表示物品的贡献,与的点积表示用户与物品的关系亲密度,二者共同构成了物品对用户的消息贡献。

消息聚合

聚合用户所有邻居传递的消息,来更新的向量表示:其中,表示一层传播,表示自连接。

高阶传播

如图,给出了一个协同信号在embedding传播过程被捕获的示例。

推荐系统&知识图谱(6)---NGCF_第3张图片

2.3 Prediction层

用户表示:
物品表示:
其中,表示拼接
预测结果为:

3. 损失函数

作者使用pairwise的损失函数:

4. 实验结果

与其他协同过滤方法的比较:
推荐系统&知识图谱(6)---NGCF_第4张图片

不同层数的影响:
推荐系统&知识图谱(6)---NGCF_第5张图片

你可能感兴趣的:(推荐系统&知识图谱(6)---NGCF)