TKDE'22 | DGRN:用于序列推荐的动态图神经网络

2022-09-19 10:53:26 浏览数 (2)

关注我们,一起学习~

title:Dynamic Graph Neural Networks for Sequential Recommendation link:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9714053 from:TKDE 2022

1. 导读

本文是针对序列推荐任务提出的方法DGSR,通常我们只考虑用户本身交互序列中包含的信息而忽略了动态信息,即利用动态GNN连接不同用户的交互序列,发掘用户和商品的交互行为。

  • DGSR中的图结构考虑了交互信息的同时,也考虑了时间信息以及交互的顺序关系;
  • 通过子图采样提升效率;
  • 利用注意力机制,将结构信息和序列信息结合,挖掘用户的长短期兴趣以及商品的长短期特性

2. 定义

2.1 基础符号

用户集合为,商品集合Wie,对于用户u有交互序列,交互序列最大长度为n,单个用户和商品的embedding表示为,所有用户和商品的embedding表示为矩阵,。

2.2 动态图

动态网络定义为,其中V是节点集合,边E表示节点之间在t时刻的交互,因此边可以表示为,有些情况下,t也可以表示两个节点交互的先后顺序。通过记录每条边的时间或顺序,动态图可以捕捉节点之间关系的演变。

3. 方法

如图所示为DGSR的主要流程,分别包括动态度构造,子图采样和动态图推荐。

3.1 动态图构造

当用户u和商品i在t时刻交互后,可以构建边e为,其中表示u-i交互顺序,即商品i在用户交互的所有商品中的顺序位置。表示u在和商品i交互的所有用户中的顺序位置。具体例子可见论文。由这个五元组构成的图不仅包含了交互信息和交互时间,也包含了顺序关系。

定义在时间t及其之前的交互数据构成的图为,给定用户交互序列和对应的时间戳序列,构建图得到用户和商品表征后可以进行预测。

3.2 子图采样

随着用户序列的扩展,它的邻居序列的数量也在增加。同样,由所有用户组成的动态图的规模也在逐渐扩大。这会增加计算成本并在目标序列中引入过多的噪声。为了有效的训练和推荐,这里采用一种采样策略,其细节如算法 1 所示。

  • 首先选择用户节点u作为锚点节点,从选取其最近交互的n个一阶邻居节点构成集合,其中n就是交互序列的最大长度n;
  • 对于集合中的每个商品节点i,将他们分别作为锚点节点,选取其对应的邻居用户节点构成集合;
  • 为了提升采样效率,记录之前作为锚点节点的节点,并且在采样用户节点的时候也是采样n个;
  • 依此类推,我以得到节点 u 的多阶邻居,这可以形成的 u 的 m 阶子图(m 是用于控制子图大小的超参数)。

采样后,每个子图包含交互序列的节点及其相关序列。这些序列中的用户和商品节点通过在子图中堆叠用户到商品和商品到用户的关系来相互链接。

3.3 动态图推荐网络

此处设计动态图推荐网络DGRN从子图中学习用户偏好,通过GNN进行消息传播的目标是学习用户到商品和商品到用户的信息,但是如何去编码邻居节点的序列信息是一个难题,直接使用GNN无法捕获序列信息,而直接使用RNN方法可以捕获序列信息但是无法捕获结构信息,因此此处将两者结合。

  • 从商品到用户。用户节点 u 的邻居节点集合是 u 购买的物品。为了更新每一层的用户节点表征,需要从每个用户节点的邻居中提取两类信息,分别是长期偏好和短期偏好。用户的长期偏好反映了固有特征和一般偏好,可以从用户的所有历史商品中得出。用户的短期偏好反映了最近的兴趣。
  • 从用户到项目。item节点i的邻居节点集合是购买它的用户,其中用户按时间顺序排列。与用户类似,item的邻居也反映了它的两种特性。一方面,长期特征可以反映商品的一般特征。例如,有钱人通常购买高档化妆品。另一方面,短期特征反映了商品的最新属性。例如,许多非体育爱好者也可能会在世界杯期间购买球衣或球员海报。

3.3.1 消息传播机制

3.3.1.1 长期信息

作者设计了一个动态注意力模块DAT来考虑结构信息和顺序信息,对于已有的五元组,进一步定义序列中的商品或用户与最后一个元素的关系,以用户交互序列中的商品为例,。对于r可以经过embedding层得到对应的相对位置embedding。对于图的结构信息,作者通过聚合节点邻居来捕获,而对于顺序关系则是加入了相对位置表征。

从而设计相对位置感知的注意力机制,公式如下,其中h为经过GCN在l-1层时得到的用户和商品embedding

对系数归一化后得到下式,

用户的长期兴趣可以通过聚合邻居得到,公式如下,其中p为相对位置embedding

同理可得商品的长期特性,公式如下,

3.3.1.2 短期信息

短期的信息是考虑目标商品/用户和对应序列的最后一个商品/用户之间的关系,同样通过注意力机制来实现,公式如下,

3.3.2 节点更新

利用层的长期兴趣,短期兴趣以及层的表征来得到第层的表征,公式如下,

同理可得商品的表征,

3.4 模型优化

经过L层消息传播之后,获得L层每层的embedding,将不同层的embedding拼接后经过全连接层,然后与商品原始embedding求偏好分数,公式如下,

经过softmax层后计算交叉熵损失函数来优化模型,

4. 结果

0 人点赞