基于图的推荐算法(12):Handling Informatio
前言
- 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)
不加限制的添加short-cut 会不会造成信息冗余?
将EOP Layer和SGAT交替堆叠,一方面避免SGAT构图的损失累计;另一方面:可以有效地利用不同层学习到的特征。
最后将图中节点表征进行聚合得到session的表征,即readout操作模型预测与训练
预测方法:实验情况
小结
本文对GNN方法中的缺陷进行了分析,指出了GNN用于SBR的问题,并针对性地提出了无损编码方法和GNN改进方法,工作还是挺有创新性,但在具体的SGAT中仍然存在着改进的空间。