1、作者认为,通过user、item的ID、属性映射得到的embedding缺失了他们的交互过程,因此不足以捕捉协同过滤效果。
2、NGCF将用户-物品交互集成到embedding过程中,以显式的方式有效地将协作信号注入其中
一般来说,在可学习CF模型中有两个关键组成部分:1)embedding,向量化的表示; 2)user-item交互建模。我们认为目前的方法还不足以为CF生成令人满意的嵌入。关键原因是嵌入函数缺乏对关键协作信号的显式编码,这种信号潜伏在用户-物品交互中,揭示用户(或物品)之间的行为相似性。更具体地说,现有的方法大多只使用描述性特征(如ID和属性)来构建嵌入函数,而没有考虑用户-物品交互,而用户-物品交互仅用于定义模型训练的目标函数。
在NGCF中,我们通过利用用户-物品交互的高阶连通性来解决这一挑战,这是交互图结构中协作信号的一种自然编码方式。
图1说明了高阶连接性的概念:右边的子图显示了从u1展开的树状结构。高阶连通性表示从路径长度l大于1的任何节点到达u1的路径。这种高阶连接包含了丰富的语义。例如,路径u1←i2←u2表示u1和u2之间的行为相似度,因为两个用户都与i2交互过;路径u1←i2←u2←i4表明u1很可能采用i4,因为她的类似用户u2以前已经使用了i4。而且,从l = 3的整体观点来看,i4项比i5项更可能引起u1的兴趣,因为
NGCF设计了一种神经网络方法来递归地在图上传播嵌入,而不是将交互图扩展为一个复杂的实现树。具体来说,我们设计了一个嵌入传播层,它通过聚合交互项(或用户)的嵌入来细化用户(或物品)的嵌入。通过叠加多个嵌入传播层,我们可以通过嵌入来捕获高阶连通性的协作信号。如图1,叠加两层捕获u1←i2←u2的行为相似,叠加三层捕获的潜在建议u1←i2←u2←预告。
本工作的主要贡献如下:
•强调了在CF方法的embedding函数中显式利用交互信息的重要性。
•提出了一种新的基于图神经网络的推荐框架NGCF,该框架通过嵌入传播将交互信息以高阶连通性的形式显式编码。
•我们对300万大小的数据集进行实证研究。大量的实验结果表明,NGCF具有最先进的性能,并能通过神经嵌入传播提高嵌入质量。
NGCF架构如图2所示,该框架包含三个组件:
(1)提供用户嵌入和项目嵌入初始化的嵌入层embedding layer;
(2)多个嵌入传播层multiple embedding propagation layers ,通过注入高阶连通关系来细化嵌入;
(3)预测层,该层聚合来自不同传播层的嵌入并输出用户-项目对的亲和度评分。
代码如下(示例):
消费某物品的用户可以被视为该物品的特征,在此基础上执行连接用户和项之间的嵌入传播,用两个主要操作构造流程:消息构造message construction 和消息聚合message aggregation。
message construction
对交互的用户-项目对(u,i):
从i到u的消息为:
系数pui控制边缘(u,i)上每次传播的衰减因子,设为图拉普拉斯范数1/|Nu ||Ni |,p可以被解释为一个折扣因子,考虑到所传播的消息应该随路径长度衰减。
F(·)为信息编码函数,如下:
W1, W2为可训练矩阵
message aggregation
在这个阶段,我们聚合从u的邻域传播的消息,以完善u的表示。具体来说,我们将聚合函数定义为:
LeakyReLU为激活函数,允许消息编码正信号和小的负信号。
除了从邻居Nu传播的消息外,还考虑了u的自连接:mu←u = W1 eu,保留了原始特征信息(W1为与式(3)中共享的权矩阵)。类似地,我们可以通过从其连接的用户传播信息来获得项i的表示ei。总之,嵌入传播层的优势在于显式地利用一阶连接信息来关联用户和项目表示。
叠加更多的嵌入传播层可以探索高阶连接信息。这种高阶连接对于编码协作信号来估计用户和产品之间的相关性评分至关重要。
通过叠加嵌入传播层,用户(和项目)能够接收从其l-hop(L跳)邻居传播的消息。如图2所示,在第l步中,用户u的表示递归表示为:
汇总得user更新信息为:
连接不同层学习到的representation:
计算得分:
评价指标:对于测试集中的每个用户,将所有用户没有交互过的项目视为负项,每个方法输出用户对所有项目的偏好分数。
《Neural Graph Collaborative Filtering》(2019)的改进版《Disentangled Graph Collaborative Filtering》(2020)笔记见下篇:
NGCF通过利用用户-物品集成图中的高阶连接来实现将交互信息纳入embedding这一目标。NGCF的关键是新提出的嵌入传播层,在该层的基础上,NGCF允许用户和物品之间相互交互,以获取协同信号。在三个真实数据集上的大量实验证明了将用户-物品图结构注入到嵌入学习过程中的合理性和有效性。在未来,我们将进一步改进NGCF,引入注意机制[2],学习嵌入传播过程中邻居的变权以及不同阶数的连通性。这将有利于模型的泛化和可解释性。此外,我们还对用户/物品嵌入的对抗学习[13]和增强NGCF鲁棒性的图结构进行了研究。
这项工作是利用基于模型的CF中的消息传递机制来开发结构化知识的初步尝试,并开辟了新的研究可能性。