基于图的推荐算法(11):Rethinking the Item Order in Session-based Recommendation with Graph Neural Networks

前言

  • 与前两篇相同,针对session-based rec任务,利用GNN构建推荐模型
  • 相关工作:https://www.jianshu.com/p/1b3ded6acb81
  • 发表在CIKM2019,昆士兰大学 Prof. Hongzhi Yin

目前session推荐的研究中,主要利用注意力机制来挖掘序列模式,利用时序信息。但是,在物品选择的转换过程中,用户的偏好比单一连续时间模式要复杂得多。 在本文中,通过构建会话图(session graph)来研究(item transition pattern),并提出了一种新颖的模型,该模型协同考虑了基于会话的推荐系统在会话图中的顺序和潜在顺序。将会话中的next-item推荐形式化为图形分类问题。

具体来说,我们提出了一个加权注意图层和一个Readout函数,以学习next-item推荐的物品和会话的嵌入。

引言

通过考虑最近的会话记录,基于会话的推荐能够处理用户兴趣偏移的问题(interest shift).电商系统中,它们通常不会记录用户的长期历史。 为了利用用户的偏好,可以将会话视为当前匿名用户的近期偏好的表征。因此,如何通过从会话中的交互中提取表征信息来表示用户的偏好是基于会话的RS的本质。

会话中的序列特征是目前相关方法的关注重点,但是存在着一些局限:

  • 用户偏好并非完全依赖序列顺序,物品转移模式不是简单的线性序列关系。传统的RNN模型基于这种思想进行。
  • 一些方法将用户偏好划分为长期和短期,这种方法可能一直忽略了物品选择模式,引入偏差(introduce the bias )。

因此,确定会话中物品的固有顺序(intrinsic order)很重要。

这个固有的顺序既不是RNN的直接时间顺序,也不是自注意力机制的完全随机性。
文章提出了一个Full Graph Neural Network来学习这种顺序,计算会话级的表征。

模型方法

相关定义

本文将推荐抽象为图分类任务,给定一系列session graph来预测相关标签。

利用GNN对图处理的过程如下:

然后通过Readout得到图表征,用于后续任务

FGNN

模型完整架构如下所示,与SR-GNN基本相同

1.session graph

首先针对每个session构建一个有向图,称为session graph,节点即为物品,边权重即为边的共现次数。

2. Weighted Graph Attentional Layer

文中提出:GCN和GAT适用于非加权的无向图,不能直接用于加权的有向图session graph,故而提出了WGAT

节点表征如下:

节点间关系计算方式如下:加上了两节点之前边的权重



具体的实现使用了GAT中的公式表示:
聚合后的节点表征为
Multi-head WGAT:

除以上拼接外,还可以通过均值方法得到最后节点的表征:

3. ReadOut

在最后的Readout为了得到整个图的表征,计算过程使用了GRU模型,对经过处理的节点表征结合注意力机制,如下所示:

4. Recommendation

将图Readzout得到的表征与节点表征计算,得到对节点的预测评分,选择TopK个物品进行推荐

实验部分

对比实验如下,其中用到GNN的仅有SR-GNN模型

小结

本文仔细读下来与SR-GNN模型并无太大差异,只是修改了GNN模型,从GateGNN变成了GAT,所谓加权也是将边权重简单加入。对于论文所述研究问题,并没有特别针对的分析。问题是个好问题,但方法一般。

你可能感兴趣的:(基于图的推荐算法(11):Rethinking the Item Order in Session-based Recommendation with Graph Neural Networks)