本篇paper使用GNN来建模user-item交互,具体做法是利用GNN的消息传递方式对多跳user-item交互进行建模,并更新对应的user embeddings 和 item embeddings。

0 ABSTRACT

学习user和item的向量表示是现代推荐系统的核心。 从早期的矩阵分解到最近出现的基于深度学习的方法,现有的工作通常通过映射描述user(或item)的现有特征(例如ID和属性)来获得user(或item)的embedding。
我们认为,这种方法的固有缺点是,在user-item交互中隐藏的collaborative signal 未在embedding 过程中进行编码。 这样,所得的embedding 可能不足以捕获协同过滤效果。
本篇paper中将u-i 交互的二部图集成入embeddin**g并使用GNN来建模表达高阶连接性,将协同注入embedding**。
image.png
(图1)

1 INTRODUCTION

CF模型有两个关键点:

  • 将user和item用向量表达
  • 用embedding重建历史交互

Matrix Factorization(MF)模型使用点乘的方法建模user和item embeddings,即对user-item矩阵进行分解,即
Neural Graph Collaborative Filtering - 图2
其中Neural Graph Collaborative Filtering - 图3是user embeddings,Neural Graph Collaborative Filtering - 图4是item embeddings,可以使用SVD等方法求解。
Deep CF 方法通过深度表征从物品的边缘信息进行建模,如下图:
image.png
(图2)
NCF(Neural CF)方法使用非线性(也可以是线性)神经网络替换点乘作为交互函数:
image.png
(图3)
然而,这些embedding方法缺失对重要协同信号的建模,即“在user与item之间的交互中很可能揭示user(或item)之间的行为相似性”。
基于此问题,我们通过利用用户项交互的高阶连通性来应对挑战,这是一种在交互图结构中编码协作信号的自然方法。
高阶联通性即从某个节点到u1的路径长度为l(l<1),包含着丰富的协同信号,使用图神经网络(图神经网络是个优秀的消息传递模型)递归进行传播来替换构建树(如图1所示的用树结构来展示多跳interaction)模型。

2 METHODOLOGY

NGCF模型一共包含三个部分:
(1)一个提供user embeddings和item embeddings 并进行初始化的Embedding Layer;
(2)多个Embedding Propagation Layer,通过注入高阶连通性关系来优化embeddings;
(3)Prediction Layer,其聚合来自不同传播层的精炼嵌入并输出用户-项目对的亲和力得分。最后,我们讨论了NGCF的时间复杂性以及与现有方法的联系。

2.1 Embedding Layer

本层是用向量来表示user和item:
image.png

2.2 Embedding Propagation Layers

本层是用GNN进行消息传递,即沿着图结构捕获CF信号并优化userr和item的embedding。
image.png
(图4)
从图4中我们可以清晰地看出来NGCF的消息传递方式,用l-1层的embedding和消息来构建l层embedding,再构建消息传递到l+1层去。
避坑警告:这里的l和hop是相反的2333。

Message Construction

对于一个有交互的user-item对儿,我们定义i到u的信息为:
image.png
其中Neural Graph Collaborative Filtering - 图10,是需要学习的模型参数。Neural Graph Collaborative Filtering - 图11是message embedding,Neural Graph Collaborative Filtering - 图12是message encoding function,Neural Graph Collaborative Filtering - 图13控制消息传递的衰减(其实就是归一化)。

First-order Propagation

消息编码为:
image.png
括号中第一项只与item embedding有关,第二项则是user embedding与 item embedding共同作用,即Neural Graph Collaborative Filtering - 图15捕捉item特征,而Neural Graph Collaborative Filtering - 图16捕捉user和item共同作用的特征。最后再用两个节点的度进行归一化。
image.png
用消息构建后一层(1-hop)user embedding,即节点u本身的消息与所有u的邻接节点信息相加,再添加一个激活层。

High-order Propagation

multi-hop的编码是用前一跳的embedding进行消息构建与传递,即:
image.png
image.png
关于1-hop和multi-hop的item embedding与user的方法相似,要将Neural Graph Collaborative Filtering - 图20变成Neural Graph Collaborative Filtering - 图21
image.png
(图5)
图5向我们展示了item4向user1的消息传递过程。