APP下载

基于会话的图卷积递归神经网络推荐模型

2021-04-08曹万平崔兰兰

关键词:会话向量卷积

曹万平, 周 刚, 陈 黎, 崔兰兰

(1.四川大学计算机学院, 成都 610065; 2. 78123部队, 成都 610017)

1 引 言

推荐系统已经被广泛用于音乐[1]、电子商务[2]、电影等网站来帮助用户减轻信息过载,推荐用户感兴趣的内容.在推荐算法中,基于内容的推荐和协同过滤推荐算法[3]需要了解用户对一个商品的明确喜好或对一部电影的评级打分等交互信息.但是在许多应用场景中,用户的这些明确交互信息无法获取,从而难以对用户进行准确的推荐.为了解决这个问题,基于会话的推荐系统被提出.基于会话的推荐只需根据用户的历史点击操作序列就可以通过充分建模上下文信息来预测用户的下一步操作(点击项).

用户会话由在某个时间段内用户连续点击感兴趣的点击项组成,其包含了用户的点击项与点击时间等信息.基于这样的会话结构,早期马尔科夫链[4-5]进行会话推荐主要是根据用户的前一行为来预测用户的下一行为.马尔科夫链是将信息独立组合进行推荐,因此其预测精度受到了限制.随着深度学习的引入,循环神经网络(Recurrent Neural Network, RNN)的方法[6-9]逐渐被应用于会话推荐.此类方法将用户会话点击序列输入RNN来生成推荐结果,例如,Hidasi等[7,10]采用门控循环单元(Gate Recurrent Unit, GRU)对用户会话进行建模.Liu等[11]设计了两个多层感知机网络单元并结合注意力网络来获得用户的总体兴趣和当前兴趣.这些方法都取得了不错的推荐效果,但是仍然缺少会话间点击项转换的依赖性表示.

最近,Wu等[12]采用图神经网络的方法对用户进行推荐.其将会话构造为图结构结合GRU来捕获用户的长期兴趣和当前偏好.此类方法将由会话图构造的会话点击项关系矩阵与会话点击序列共同输入到RNN中进行序列建模,解决了会话间依赖关系弱的问题,其推荐效果得到很大的提升.但是此类方法依旧是采用RNN对会话序列进行处理,所以存在缺少对会话图节点分布结构处理等问题.

图卷积神经网络被广泛应用于对图数据的处理[13-15].针对RNN方法对图数据处理时仍然是将图转换为序列处理,无法很好地捕捉邻域间表达的信息的问题,卷积神经网络(Convolutional Neural Network, CNN)根据图的性质用卷积与池化的策略对图进行处理,充分利用了图邻域间的传播信息.CNN在图数据领域显示出很好的效果,其在会话推荐领域的研究也亟待进行.

本文提出了一种基于会话的图卷积递归神经网络推荐模型(GCRNN)来捕获用户会话图的空间结构,会话的时序与会话间依赖关系等潜在信息.针对存在大量不规则空间结构的会话数据潜在信息未能被充分利用的问题,通过卷积神经网络将会话图中的节点信息传播到邻接节点并最终收敛,使会话图的节点分布结构信息得到充分的利用.针对会话推荐结果受会话间依赖关系与会话时序信息影响的问题,本文利用RNN擅长捕获长距离时序数据信息的能力,将低层网络的会话数据信息处理后传播到高层网络,以此获取会话间的时序信息并增强会话间依赖关系,从而获得了包含更多信息的会话向量表示.随后对会话向量进行线性转变,最终得到推荐结果.本文在两个公开数据集上进行了广泛的实验以证明模型在会话推荐任务上的有效性.本文工作做了以下主要贡献:(1) 将每一个会话序列构造为会话图,通过图卷积神经网络学习会话图的节点分布结构信息,同时利用递归神经网络捕获时间信息与会话间依赖关系;(2) 本文在两个公开数据集上进行了广泛的实验,实验结果证明了GCRNN模型的有效性与先进性.

2 相关工作

基于会话的推荐是基于隐式反馈推荐系统的典型应用,用户的信息是未知的,不能得到用户明确的偏好(例如,评级),只知道用户主动的操作观察(例如,购买或者点击)[16].这些确定的观察结果通常是在一段时间内跟踪用户的操作记录而获得的顺序序列数据.

在基于会话的推荐任务中,马尔科夫链模型被提出来模拟相邻操作之间的顺序关系,该操作通过利用数据的上一操作预测用户的下一操作.Shani等[4]将推荐视为顺序优化问题,并采用马尔科夫决策过程作为解决方法.Rendle等[5]提出将矩阵分解和马尔科夫链结合起来作用于下一次点击项推荐.Zimdars等[17]提出了一个基于马尔科夫链的顺序推荐系统,并研究如何使用概率决策树模型来提取顺序特征以学习下一状态.尽管这些方法被证明是有效的,并且被广泛使用,但是他们只考虑了会话的最新点击项,而忽略了整个点击序列的全局信息.在基于会话的推荐任务中,应用马尔科夫链的一个主要问题是,当试图处理在所有点击项上的所有潜在用户选择序列时,状态空间将迅速增加而变得难以管理.

深度学习已经成功地应用于图像识别[18]、语音识别[19]和自然语言处理领域[20]. Hidasi等[7]将具有门控递归单元的深度递归神经网络引入到会话推荐领域中对会话数据进行建模,该模型直接从给定的会话中的上一次点击中学习会话向量,并为下一步操作提供推荐.这是将RNN网络用于解决基于会话的推荐问题的首次尝试,这归功于RNN提供的序列建模能力,他们的模型可以在预测下一步操作时考虑用户的历史操作行为.Tan等[6]进一步研究了RNN在基于会话推荐中的应用.他们提出了两种提高模型性能的方法,即数据增强和解决输入数据分布变化的方法.此外,具有编码器-解码器体系结构的神经网络注意力推荐方法[8]在RNN上采用注意力机制,从而捕获用户的顺序行为特征和主要目的.Liu等[11]使用多层感知机网络和注意力网络的短期记忆优先模型以捕获用户的总体兴趣和当前兴趣.在基于会话的推荐中,尽管RNN能够处理会话数据间依赖性,但是会话间的点击项关系转换依赖性仍待加强.

为了解决会话间点击项传播的信息依赖问题,现有图神经网络方法根据会话图引入了图节点连接矩阵,将其输入到RNN网络中进行会话推荐.Wu等[12]将图节点链接矩阵输入RNN网络与注意力结合起来以获得表示为全局偏好和当前偏好的每个会话的组合.Xu等[21]将图节点链接矩阵输入RNN网络与自注意机制结合来增强会话间的依赖性.采用RNN的图神经网络的图节点连接矩阵可以捕获图节点的传播依赖等信息,但是其缺少对图节点分布结构潜在信息的处理.

为了获得更多的用户会话间的潜在信息,本文提出了图卷积递归神经网络模型,模型引入图卷积网络层对图节点的分布结构信息进行处理,递归神经网络层处理会话间的时序信息传播与会话间依赖关系,从而得到有效的推荐结果.

3 本文方法

本文提出了基于会话的图卷积递归神经网络推荐模型,模型整体框架图如图1所示.模型首先将所有会话序列构造为会话图. 然后,每个会话图通过嵌入层后输入CNN获得节点向量.接着,每个会话都使用RNN来获得会话嵌入向量,将全局嵌入向量与局部嵌入向量组合进行线性转换.最后,预测每个会话的下一次点击项的可能性.

图1 基于图卷积递归神经网络的会话推荐模型框架图

3.1 会话图的构建

基于会话的推荐任务中,I={i1,i2,...,in}表示所有会话中涉及的点击项集合,用户会话序列s=[is,1,is,2,…,is,t-1,is,t]按时间戳排序,其中is,t,is,t∈I表示在会话s中第t时刻用户的点击项,对于数据集的每一个会话序列s将其构造为有向图Gs=(Ss,Es).其中,is,t∈I表示会话图的节点,(is,t-1,is,t)∈E为会话图的边,is,t为is,t-1下一次点击.由于同一个点击项可能在会话中重复出现,本文参照文献[12]的方法,为每一条边分配归一化加权值.本文将每一个点击项嵌入到统一的低维向量空间.向量sn∈Rd表示会话节点通过神经网络学习到的潜在向量,d表示向量维度.在会话s中,每一个节点向量sn在时间步t处,将其输入到RNN当中,以此来更新节点向量.

3.2 会话图卷积神经网络层

将会话图Gs=(Ss,Es)输入嵌入层后,点击项is,t映射到G中,G∈RN×D,其中,N表示节点的数目;D表示特征通道数目.图卷积网络将图中每个节点的信息传播到相邻的节点并最终获得收敛.对于本文工作中要处理的大量节点与会话图,卷积层采用切比雪夫多项式来降低运算复杂度.对会话图进行一系列卷积操作.

hθ*g=UhθUTg

(1)

(2)

3.3 递归神经网络会话嵌入层

本文利用RNN来获取用户会话的时序信息与依赖关系.本文使用带有门控循环单元(GRU)的RNN代替标准RNN,因为Hidasi等[7]证明GRU可以胜过基于会话的推荐任务的长期短期记忆(LSTM)单元.GRU是更复杂的RNN单元,旨在处理逐渐消失的梯度问题.本文将卷积得到的节点向量输入到GRU网络中,RNN层的最终输出hi计算如下.

zi=σ(Wzsi+Uzhi-1)

(3)

ri=σ(Wrsi+Urhi-1)

(4)

(5)

(6)

其中,Wz,Wr,Wh∈R2d×d;Uz,Ur,Uh∈Rd×d是通过模型学习得到的参数;σ(·)是sigmoid函数;⊙是元素乘法运算符.zi,ri是重置门与更新门,分别确定要舍弃与保留的信息.经过GRU网络编码后,每个会话s被编码成H={h1,h2,…,hi,…,hn}.

为了将会话的嵌入向量表示为H∈Rd,同时加强会话的最后点击项对推荐结果的影响.本文首先考虑用户会话的局部嵌入向量hl,对于会话H={h1,h2,…,hi,…,hn},局部嵌入向量hl可以定义为会话的最后一次点击项的潜在向量.局部嵌入向量表示为

hl=hn

(7)

然后,汇总所有的RNN层得到的节点向量作为会话的全局嵌入向量hg如下式.

(8)

最后,本文通过将局部嵌入向量与全局嵌入向量进行拼接,经过线性变换得到混合嵌入向量hs.

hs=Ws[hg;hl]

(9)

通过模型学习得到的参数矩阵Ws∈Rd×2d将混合嵌入向量压缩到潜在向量空间Rd.

3.4 模型训练预测层

(10)

然后,通过softmax层来获取模型的预测输出向量.

(11)

对于每个会话图,本文选择交叉熵损失函数.交叉熵损失可以测量真实值与预测值之间的相似度[8].其表示为

(12)

其中,y表示真实点击项的one-hot编码向量.θ是所有参数的集合.为了防止过度拟合,我们对θ进行λ参数化的L2正则化.

4 实验与分析

为了验证本文模型GCRNN在基于会话推荐任务上的有效性,本节在Yoochoose和Diginetica这两个数据集上进行了一系列实验.

4.1 数据集

实验使用Yoochoose和Diginetica这两个具备代表性的数据集来评估本文模型.Yoochoose是RecSys Challenge 2015发布的公共数据集.它拥有从电子商务网站收集的6个月点击流,并且训练集只包含会话事件.Diginetica由CIKMCup2016发布,本文实验仅使用发布的交易数据.根据文献[8]和文献[11],我们按时间对Yoochoose的训练序列进行排序,并在最近的1/64和1/4部分训练序列上训练模型.同时我们筛选出长度为1的会话和在两个数据集中出现少于5次的点击项.此外,Yoochoose的测试集包括训练集中的后续工作日,并且我们会过滤掉未出现在训练集中的点击项.对于Diginetica,我们使用相对于训练集中会话数据时间的下一周的会话过程进行测试.在预处理阶段之后,Yochoose数据集中剩余7 966 257个会话,总共31 637 239次点击,而Diginetica数据集中剩余202 633个会话,共98 296次点击,共计43 097个点击项.经过预处理后,数据集的统计信息如表1所示.

表1 数据集信息

4.2 比较模型

本文模型采用图卷积与递归神经网络结合的方法,为了评估本文所提出的方法,本文使用下面的模型作为基线模型.(1) POP:根据在最近的会话训练数据集中最经常被访问的点击项排名来进行推荐;(2) Item-KNN(2016)[16]:根据计算先前点击的会话向量之间的余弦相似度来进行推荐;(3) GRU4Rec(2016)[7]:在会话推荐中采用循环神经网络对用户序列进行建模;(4) NARM(2017)[8]:采用具有注意力机制的循环神经网络来捕获用户的主要目的以及会话顺序行为;(5) STAMP(2018)[11]:采用短期记忆优先级模型,根据用户的先前点击与最后点击项来捕获用户的长期偏好;(6) SR-GNN(2019)[12]:使用图神经网络生成会话点击项的潜在向量,使用软注意力机制生成会话向量.

4.3 评估指标

本文使用P@20和MRR@20来作为模型的评估指标,在这两个模型上,将本文模型与其他模型进行比较.P@20(Precision@20) 在推荐领域被广泛使用,表示返回前20个结果的准确性.

(13)

其中,N表示推荐项数;Hhit表示返回的正确相关的推荐项.

MRR@20(Mean Reciprocal Rank) 为正确推荐项倒数的平均值.当排序超过20,则倒数排序为0.MRR度量考虑推荐排名的顺序,其中,MRR值大表示排名正确的推荐在排名列表的顶部.

(14)

其中,|I|表示推荐结果数目;rank(it)表示推荐列表中相关推荐项所排的位置.

4.4 参数设置

本文在设置模型参数时,点击项维度设为100,点击项向量采用随机初始化高斯分布,卷积核大小为2*100,批次大小设为100,epoch为30,学习率为0.001,学习率衰减为0.1,迭代步数为3,隐藏层向量设为100,优化器采用Adam优化器.

4.5 实验结果分析

为了评估本文提出的模型GCRNN的性能,本文将与第4.2节的基线模型进行比较,实验结果如表2所示.根据实验结果显示,在P@20与MRR@20方面,本文提出的方法在3个数据集上基本都获得了最佳的性能,这表明GCRNN推荐效果的有效性.

表2 实验结果

如表2所示, POP与Item-KNN(2016)的性能不理想,因为没有采用RNN,不能获得会话间传递的信息.但Item-KNN(2016)相较于POP在P@20上有50.98%的提升,这是因为会话向量信息对推荐结果起到重要作用.将RNN应用于会话推荐后,GRU4Rec(2016)、 NARM(2017)与STAMP(2018)的推荐效果都优于POP与Item-KNN(2016),在P@20上最高有17.83%的提升,在MRR@20上有8.3%的提升.SR-GNN(2019)的推荐效果在P@20上最高有5.09%的提升,由于利用图神经网络生成了点击项潜在嵌入向量,再使用注意力机制获取会话向量的表示,因此推荐效果得到了提升.相较于RNN,GCRNN的推荐效果在P@20上最高有5.99%的提升,在MRR@20上有3.44%的提升.因为此方法采用CNN网络进行会话图进行训练,获取了会话图节点间的结构信息,进一步考虑到会话邻域之间信息传播,并根据会话的时序信息与会话间依赖性来进行推荐,从而得到更好的推荐效果.我们注意到在YOOCHOOSE1/4数据集上,GCRNN模型的推荐效果没有得到显著的提升,通过实验结果分析可知,本文模型在少量数据集上就可以得到不错的推荐效果,较大的数据集且离推荐时间较远的推荐数据集不能进一步提高模型性能.

4.6 消融实验

为了分析模型的各个模块对推荐效果的影响程度,本文设计了消融实验,如图2所示,分别验证了CNN与RNN模块对实验结果的影响.

图2 消融实验Fig.2 Ablation experiment

由实验结果可以看出,GCRNN去掉RNN层后,模型的推荐效果明显降低,说明RNN层捕获会话序列间的时序信息与会话间依赖关系可以显著的提升模型的推荐效果. 模型去掉CNN层后,模型的推荐效果也不理想,表明使用经过CNN层处理得到的会话图节点的分布结构信息,比原节点信息的效果好. 消融实验的结果表明本文提出的模型充分利用了CNN与RNN对会话数据处理的优势,从而获得了更好的推荐效果.

5 结 论

在基于会话的推荐任务中,本文提出的GCRNN推荐模型有效地处理了会话之间信息传播,获得了更准确的用户会话间的潜在信息.GCRNN使用卷积层对会话图进行处理,以获取会话图节点分布结构信息,同时结合RNN学习会话间的依赖关系与时序信息.GCRNN在两个公开数据集上进行了广泛的实验取得了有效的成果,通过实验证明,GCRNN在会话推荐领域的可行性与有效性.接下来,我们考虑将点击项进行特征处理并嵌入到模型特征中,并且对会话图进一步处理,在图数据上进行性能训练,来获得更有效的推荐结果.

猜你喜欢

会话向量卷积
向量的分解
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
聚焦“向量与三角”创新题
QQ和微信会话话轮及话轮转换特点浅析
从滤波器理解卷积
用绘画导入英语教学
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线