回到主页

目录

▶︎
all
running...

Session-based Recommendation with Graph Neural Networks

第一作者:ShuWu

Abstract:

基于会话的推荐问题是基于匿名会话预测用户行为。 先前的方法将会话建模为序列,并项目项目(items,不确定这个词翻译的是否准确) 表示之外估计用户表示来做成推荐。虽然取得了很好的效果,还不足以在会话中获得准确的用户向量,忽略了的复杂转换。

为了获得准确的项目嵌入,并考虑到项目的复杂转换,作者提出了一种新的方法:

1. INTRODUCTION(介绍)

第一段———说明推荐系统的作用以及缺点:

证明这项研究的意义(应用很广,但是还有可改进的地方)

第二段——由于该问题具有很高的实用价值,人们对这一问题的研究兴趣日益增加,并提出了许多基于会话的推荐系统的相关研究:

第三段:近年来,神经网络方法在推荐系统中的研究:

第四段:虽然上述方法取得了令人满意的效果,具有很强的state-of-the-arts,但仍有一定的局限性:

第五段:为了解决第四段提出的局限,作者提出了一个方法————Session-based Recommendation
with Graph Neural Networks, SR-GNN,用来挖掘数据中的丰富交易信息以及生成准确的潜向量。 之后简单介绍图神经网络(GNNs)的发展:

而本文将次方法用于基于会话的推荐系统,步骤如下:


Figure 1: 本文提出的SR-GNN方法的工作流程图:

第六段:图1显示了SR-GNN的工作流:

然后说明本文贡献:

为了使结果完全可复制,所有相关源代码已在: https://github.com/CRIPAC-DIG/SR-GNN 上公开。

第七段:后文章节安排:

在这一部分,我们回顾了基于会话的推荐系统的一些相关工作,包括传统方法、基于马尔可夫链的顺序方法和基于RNN的方法。然后,介绍了图神经网络:

传统的推荐方法:

基于深度学习的方法

基于图的神经网络方法:

3. The Proposed Method(本文提出的方法)

本小节介绍提出的SR-GNN方法:即将图神经网络应用与基于会话的推荐系统:

3.1 Notations(符号)

基于会话的推荐旨在预测用户下一步单击的项目,仅基于用户当前的顺序会话数据,而不访问长期偏好配置文件(long-term preference profile)。下面给出这个问题的描述:

在以session为基础的推荐系统中:

3.2 Constructing session graphs(构建会话图)

3.3 Implementing graph neural networks with session graphs(使用会话图实现图神经网络)

下面说明如何通过图神经网络获得节点的潜向量,首先介绍相关图神经网络的发展以及使用该方法的原因

作者首先在一个会话图中演示节点向量的学习过程。形式上,对于图Gs\mathcal{G}_s的节点vs,iv_{s,i},更新函数如下:

如图可以得到:

3.4 Generating session embedding vectors(生成会话嵌入向量)

将所有会话图输入门控图神经网络后,得到所有节点的向量。然后,为了将每个会话表示为一个嵌入向量sRds\in R^d,作者首先考虑会话ss的局部嵌入s1s_1。对于会话[vs,1,vs,2,,vs,n][v_{s,1},v_{s,2},\dots,v_{s,n}]来说,局部嵌入可以简单定义为最后点击的项vnv_n的潜向量n\vee_n,即s1=ns_1 = \vee_n

αi=qTσ(W1n+W2i+c),sg=i=1mαii(6)\begin{aligned} \alpha_i &= q^T\sigma (W_1\vee_n+W_2\vee_i+c), \\ s_g &=\sum_{i=1}^m\alpha_i\vee_i\qquad\qquad\qquad\qquad\qquad\qquad(6) \end{aligned}

其中参数qRdq\in R^dW1,W2Rd×dW_1,W_2\in R^{d\times d}控制项嵌入向量的权重。

最后,通过对局部嵌入向量和全局嵌入向量进行线性变换,计算混合嵌入shs_h:

sh=W3[sl;sg],(7)s_h=W_3[s_l;s_g],\qquad\qquad(7)

其中矩阵w3Rd×2dw_3\in R^{d\times 2d}将两个组合嵌入向量压缩到潜在空间RdR^d中。

3.5 Making recommendation and model training(推荐和模型训练)

在得到每个会话的嵌入后,我们通过将每个候选项viVv_i\in V的嵌入向量i\vee_i乘以会话表示shs_h来计算每个候选项viVv_i\in V的得分zi^\hat{z_i},可以定义为

zi^=shTi(8)\hat{z_i} =s_h^T\vee_i \qquad\qquad(8)

然后应用softmax函数得到模型y^\hat{y}的输出向量:

y^=softmax(z^),(9)\hat{y}=softmax(\hat{z}),\qquad\qquad(9)

其中z^Rm\hat{z}\in R^m为所有候选项的推荐得分,y^Rm\hat{y}\in R^m为会话ss中出现下一个点击的节点概率。对于每个会话图,损失函数定义为预测与真实值项(ground truth item)的交叉熵。可以这样写

L(y^)=i=1myilog(yi^)+(1yi)log(1yi^)(10)\mathcal{L}(\hat{y})=-\sum_{i=1}^my_ilog(\hat{y_i})+(1-y_i)log(1-\hat{y_i})\qquad(10)

其中yy表示真实值项(ground truth item)的一个独热编码向量。

最后,我们使用时间反向传播(BPTT)算法来训练提出的SR-GNN模型。注意,在基于会话的推荐场景中,大多数会话的长度相对较短。 因此,建议选择相对较少的训练步骤来防止过拟合。

3.6 Scalability and practical deployment(可扩展性和实际部署)

为了训练模型,首先聚合邻居的信息,然后使用GRUs更新节点状态。因此,模型训练的整体时间复杂度是O(m2n)O(m^2n)。其中mm为序列的平均长度,nn为会话数。注意因为mnm\ll n,所以在实际中,该方法与会话数成线性关系。

在实际部署方面,推荐人可以分为线下和线上两部分。离线部分学习项目嵌入,不需要实时更新,而在线部分只负责预测,可以实时完成。

4. Experiments and Analysis(实验和分析)

在本节中:

4.1 Datasets(数据集)

我们在两个真实世界的代表性数据集,即Yoochoose1(https://2015.recsyschallenge.com/challenge.html)和Diginetica2(http://cikm2016.cs.iupui.edu/cikm-cup)上对所提出的方法进行了评估

为了公平比较:

例如:

Table 1: Statistics of datasets used in the experiments

Statistics Yoochoose 1/64 Yoochoose 1/4 Diginetica
# of clicks 557,248 8,326,407 982,961
# of training sessions 369,859 5,917,745 719,470
# of test sessions 55,898 55,898 60,858
# of items 16,766 29,618 43,097
Average length 6.16 5.71 5.12

4.2 Baseline Algorithms(基线算法)

为了评估该方法的性能,将其与以下具有代表性的基线进行了比较:

4.3 Evaluation Metrics(评价指标)

以下指标用于评估比较的方法:

4.4 Parameter Setup(参数设置)

仿照Li et al. 2017aLiu et al. 2018的方法:

4.5 Comparison with baseline methods(同基线方法进行比较)

为了证明所提模型的整体性能,与其他基于会话的最先进的推荐方法进行了比较,P@20和MRR@20表示的总体性能如表2所示。

4.6 Comparison with different connection schemes(不同连接方案的比较)

SR-GNN方法在构建图中项之间的连接关系时具有灵活性。由于会话中的用户行为是有限的, 因此本节中使用另外两种连接变体,以增强每个会话图中项之间有限的关系。

4.7 Comparison with different session representations(与不同会话表示形式的比较)

我们将会话嵌入策略与以下三种方法进行了比较:

图4给出了三种不同嵌入策略的方法的结果。

4.8 Analysis on session sequence lengths(会话序列长度分析)

进一步分析了不同模型处理不同长度会话的能力。为了进行比较,我们将Yoochoose 1/64和Diginetica的会话划分为两组,

然后分析了不同会话表示形式下SR-GNN-L、SRGNN- ATT和SR-GNN的性能

5. Conclusions(结论)

6. REFERENCES(参考文献)

[Shani, Brafman, and Heckerman 2002] Shani, G.; Brafman, R. I.; and Heckerman, D. 2002. An mdp-based recommender system. In Proceedings of the Eighteenth Conference on Uncertainty in Artificial Intelligence, UAI’02, 453–460. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc.

[Rendle, Freudenthaler, and Schmidt-Thieme 2010] Rendle, S.; Freudenthaler, C.; and Schmidt-Thieme, L. 2010. Factorizing personalized markov chains for next-basket recommendation. In Proceedings of the 19th international conference on World wide web, 811–820. ACM.

[Tan, Xu, and Liu 2016] Tan, Y. K.; Xu, X.; and Liu, Y. 2016. Improved recurrent neural networks for session-based recommendations.In Proceedings of the 1st Workshop on Deep Learning for Recommender Systems, DLRS 2016, 17–22. New York, NY, USA: ACM.

[Tuan and Phuong 2017] Tuan, T. X., and Phuong, T. M. 2017. 3d convolutional networks for session-based recommendation with content features. In Proceedings of the Eleventh ACM Conference on Recommender Systems, RecSys ’17, 138–146. New York, NY, USA: ACM.

[Hidasi et al. 2016a] Hidasi, B.; Karatzoglou, A.; Baltrunas, L.; and Tikk, D. 2016a. Session-based recommendations with recurrent neural networks. In Proceedings of the 2016 International Conference on Learning Representations, ICLR ’16.

[Li et al. 2017a] Li, J.; Ren, P.; Chen, Z.; Ren, Z.; Lian, T.; and Ma, J. 2017a. Neural attentive session-based recommendation. In Proceedings of the 2017 ACM on Conference on Information and Knowledge Management, CIKM ’17, 1419–1428. New York, NY, USA: ACM.

[Liu et al. 2018] Liu, Q.; Zeng, Y.; Mokhosi, R.; and Zhang, H. 2018. Stamp: Short-term attention/memory priority model for session-based recommendation. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD ’18, 1831–1839. New York, NY, USA: ACM.

[Scarselli et al. 2009] Scarselli, F.; Gori, M.; Tsoi, A. C.; Hagenbuchner,M.; and Monfardini, G. 2009. The graph neural network model. IEEE Transactions on Neural Networks 20(1):61–80.

[Li et al. 2015] Li, Y.; Tarlow, D.; Brockschmidt, M.; and Zemel,R. S. 2015. Gated graph sequence neural networks. In Proceedings of the 2015 International Conference on Learning Representations, volume abs/1511.05493 of ICLR ’15.

[Sarwar et al. 2001] Sarwar, B.; Karypis, G.; Konstan, J.; and Riedl,J. 2001. Item-based collaborative filtering recommendation algorithms.In Proceedings of the 10th International Conference on World Wide Web, WWW ’01.

[Rendle et al. 2009] Rendle, S.; Freudenthaler, C.; Gantner, Z.; and Schmidt-Thieme, L. 2009. Bpr: Bayesian personalized ranking from implicit feedback. In UAI, 452–461.

[Li, Ding, and Liu 2018] Li, Z.; Ding, X.; and Liu, T. 2018. Constructing narrative event evolutionary graph for script event prediction.

[Li et al. 2017b] Li, R.; Tapaswi, M.; Liao, R.; Jia, J.; Urtasun, R.;and Fidler, S. 2017b. Situation recognition with graph neural networks. In 2017 IEEE International Conference on Computer Vision (ICCV), 4183–4192.

[Marino, Salakhutdinov, and Gupta 2017] Marino, K.; Salakhutdinov, R.; and Gupta, A. 2017. The more you know: Using knowledge graphs for image classification. In 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), volume 00, 20–28.

7. 附录

7.1 摘自参考文献(Tan, Xu, and Liu 2016)的分割输入序列方法

7.2 摘自参考文献(Liu et al. 2018)的评价指标

7.2.1 P@20

P@K评分被广泛用于SRS(Session-based Recommender systems)领域的预测准确度的度量。P@K表示测试用例中在排名列表的前K位拥有正确推荐项目的比例。定义为:

P@K=nhitNP@K=\frac{n_{hit}}{N}

其中N表示SRS系统G中测试数据的个数,nhitn_{hit}表示在前K个排名列表中拥有所需项目的案例的个数,当t出现在G的排名列表的前K个位置时,就发生了一个hit。

7.2.2 MRR@20

期望的项t的平均值倒数排名。如果排名大于20,则倒数的排名设置为零。

MRR@K=1NtG1Rank(t)(10.5n1/n)MRR@K = \frac 1N\sum_{t\in G}\frac 1{Rank(t)} \\ (注:求和项代表第一个结果匹配,分数为1,第二个匹配分数为0.5,第n个匹配分数为1/n)

MRR是在[0,1]范围内的归一化得分,其值的增加反映出大部分hit都出现在推荐列表中排名靠前的位置,说明相应的推荐系统性能较好。