基于图的推荐算法(12):Handling Information Loss of Graph Neural Networks for Session-based Recommendation

前言

  • KDD2020,针对基于会话推荐任务提出的GNN方法
  • 对已有的GNN方法的缺陷进行分析并做出改进
  • 主要针对lossy session encoding和ineffective long-range dependency capturing两个问题:基于GNN的方法存在损失部分序列信息的问题,主要是在session转换为图以及消息传播过程中的排列无关(permutation-invariant)的聚合过程中造成。
  • 由于GNN层数限制,session内的一些长期依赖无法被捕捉

引言

基于会话的推荐算法具有极高的实用价值,近年来被广泛研究,基于GNN的会话推荐也被很多学者研究,然而却存在着信息损失的问题。

  • 有损编码问题 lossy session encoding problem
    如下图所示,不同的session被编码成同样的graph,


  • 长期依赖捕捉问题 ineffective long-range dependency capturing

文中提出无损编码:edge-order preserving(EOP) multigraph 保存交互顺序信息;
并提出shortcut graph来解决长期依赖捕捉的问题。

模型方法

1. 问题定义

物品集合:

定义session为:

定义预测任务为:

没有利用额外的上下文信息

2. 构图

包含两种构图方式:构建EOP graph和构建shortcut graph


S2MG: Session to EOP Multigraph
给每个节点的入边进行有序编号,是一种无损编码的方法

S2SG: Session to Shortcut Graph
为了有效解决现有基于GNN的方法无法处理长期依赖的问题,文中提出构建shortcut graph,利用the shortcut graph attention (SGAT) layer处理graph. 图中的边根据session中物品的时序来构建,当且仅当节点u,v都在session中并且时,二者之间存在一条边,即单向全连接图

(本质上是加了Mask的Transformer)

3. 模型LESSR

现有的GNN方法中在聚合近邻节点特征时并不会考虑节点顺序,因此是排序无关的聚合方法。文中认为这种方式是有损的,因此用GRU对之前构建的EOP图进行近邻处理,实现消息聚合。

主要工作创新在于利用RNN聚合来解决信息损失问题。

信息更新过程如下

shortcut graph Attention (SGAT)

对于shortcut graph利用注意力进行计算,可以实现对多跳关系的有效捕捉,避免传统堆叠方法带来的over-smoonth影响
本质上shortcut graph增加了节点间的short-cut connection

不加限制的添加short-cut 会不会造成信息冗余?

将EOP Layer和SGAT交替堆叠,一方面避免SGAT构图的损失累计;另一方面:可以有效地利用不同层学习到的特征。

最后将图中节点表征进行聚合得到session的表征,即readout操作

模型预测与训练

预测方法:

实验情况

小结

本文对GNN方法中的缺陷进行了分析,指出了GNN用于SBR的问题,并针对性地提出了无损编码方法和GNN改进方法,工作还是挺有创新性,但在具体的SGAT中仍然存在着改进的空间。

你可能感兴趣的:(基于图的推荐算法(12):Handling Information Loss of Graph Neural Networks for Session-based Recommendation)