推荐系统遇上深度学习(四十二)-使用图神经网络做基于会话的推荐

本文探讨了使用图神经网络(GNN)解决基于会话的推荐问题,指出传统RNN和马尔可夫模型的局限性。通过构建子图并利用GNN学习物品嵌入向量,模型能捕捉更丰富的双向关系。文章介绍了模型的构建过程,包括符号定义、子图构建、物品嵌入学习、会话嵌入生成以及推荐结果的计算。此外,还讨论了模型中的一些细节和训练过程。
摘要由CSDN通过智能技术生成

前两篇,我们介绍了如何使用循环神经网络来做基于会话的推荐,本篇我们更进一步,来看一下如何使用近期比较火热的图网络来做基于会话的推荐。

本文介绍的论文题目为:《Session-based Recommendation with Graph Neural Networks》
论文下载地址为:https://arxiv.org/abs/1811.00855
代码地址为:https://github.com/princewen/tensorflow_practice/tree/master/recommendation/Basic-SRGNN-Demo(代码和参考代码一致,写了点注释)
参考代码地址为:https://github.com/CRIPAC-DIG/SR-GNN

好了,开始正题吧,在模型介绍时,我们尽量配合代码,让过程显得更加易懂一些。

1、背景介绍

现有基于会话的推荐,方法主要集中于循环神经网络和马尔可夫链,论文提出了现有方法的两个缺陷:
1)当一个会话中用户的行为数量十分有限时,这些方法难以获取准确的用户行为表示。如当使用RNN模型时,用户行为的表示即最后一个单元的输出,作者认为只有这样并非十分准确。
2)根据先前的工作发现,物品之间的转移模式在会话推荐中是十分重要的特征,但RNN和马尔可夫过程只对相邻的两个物品的单向转移关系进行建模,而忽略了会话中其他的物品。

针对上面的问题,作者提出使用图网络来做基于会话的推荐,其整个模型的框架如下图所示:

4155986-eb1a7c6253b6df60.png

接下来,我们就来介绍一下这个流程吧。

2、模型介绍

2.1 符号定义

V={v1,v2,...,vm} 代表所有的物品。s=[vs,1,vs,2,...,vs,n]代表一个session中按照时间先后排序的用户点击序列,我们的目标是预测用户下一个要点击的物品vs,n+1

2.2 子图构建

我们为每一个Session构建一个子图,并获得它对应的出度和入度矩阵。

假设一个点击序列是v1->v2->v4->v3,那么它得到的子图如下图中红色部分所示:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值