从早期的矩阵分解到最近出现的基于深度学习的方法,现有的工作通常通过从描述用户(或项目)的现有特性(如ID和属性)映射来获得用户(或项目)的嵌入。作者认为,这种方法的一个固有缺点是,隐藏在用户-项目交互中的协作信号没有在嵌入过程中编码。因此,由此产生的嵌入可能不足以捕获协作过滤效果。作者提出了一个新的推荐框架Neural Graph Collaborative Filtering (NGCF) ,它可以在图结构中学习嵌入表示,让模型可以表达高维特征,显示地将协同过滤信号放入到嵌入过程中。
E是user和item的初始embedding
我们定义从 i 到 u 的信息嵌入 mu←i为:
Nu,Ni 表示用户 u 和项目 i 的度(第一跳邻居数),1/𝑠𝑞𝑟𝑡(|𝑁𝑢||𝑁𝑖|) 为衰减因子
eu(1) 是用户 u 在一阶嵌入传播层获得的表示。 除了从邻居 Nu 传播的消息外,还考虑了 u 的自连接: mu←u,保留了原始特征的信息。
矩阵形式的传播规则:
L 表示用户-项目图的拉普拉斯矩阵:
A 为邻接矩阵,D 为对角度矩阵,其中第 t 个对角元素 Dtt=∣Nt∣,这样Lui 就等于之前的衰减因子1/𝑠𝑞𝑟𝑡(|𝑁𝑢||𝑁𝑖|)
由于在不同层中获得的表示强调通过不同连接传递的消息,所以它们在反映用户偏好方面有不同的贡献。因此,将它们串联起来,构成用户的最终嵌入;对 item 也做同样的操作:
最后,进行内积来估计用户对目标产品的偏好:
它考虑观察到的和未观察到的用户-项目交互之间的相对顺序:用户已观察到的交互作用应该比未观察到的交互作用具有更高的预测值,目标函数如下: