AAAI 2019
原作关于这篇文章的blog:https://sxkdz.github.io/research/SR-GNN/
Github地址:https://github.com/CRIPAC-DIG/SR-GNN
本文提出了一种基于会话的图形神经网络推荐系统(SR-GNN)。
Introduction
之前存在的问题:
- 在基于会话的推荐系统中,会话大多是匿名的,且数量众多;
- 之前的方法总是模拟连续项目之间的单向过渡,而忽略了上下文之间的过渡,即SESSION中的其他项目。
主要工作:
- 将会话序列建模为图结构数据,并使用图神经网络捕获复杂的项目间转换;
- 不依赖用户表示,完全基于会话内部的潜在向量获得Session Embedding。
Model
图结构边的权重为该边出现的次数除以该边起始节点的出度,节点v为长度为d的向量,Session向量s为由节点向量v组成的向量。
Graph Neural Networks层使用 Gated GNN,其计算公式为:
其中A_s是由两个邻接矩阵A(in)和A(out)通过concatenation形成的(n, 2n)的矩阵,而A_s,i可以理解成矩阵的第i行(1, 2n)。如下图所示:
之后应用一个注意力机制。图1中,s1是这一个session中最后点击的item,即最后一个v。的s_g要考虑全局的v,应用软注意力机制,其计算公式为:
接着将之前得到的s_1和s_g连接,输入到一个线性层:
最后使用一个softmax层计算score。
Loss Function为交叉熵损失,最后使用Back-Propagation Through Time (BPTT)算法训练模型。
Experiments & Result
作者对比了许多baseline方法,同时改变建立图结构的方法再次进行了对比。