基于图神经网络和注意力机制的会话推荐

来源:优秀文章 发布时间:2023-01-16 点击:

党伟超,姚志宇,白尚旺,高改梅,刘春霞

(太原科技大学 计算机科学与技术学院,山西 太原 030024)

推荐技术可以解决用户信息过载的问题,在诸如搜索引擎和电子商务等网络应用中,它是用户选择感兴趣信息的基础。传统的推荐研究通常根据用户历史信息进行个性化推荐,然而在许多真实的应用程序中,这种长期用户信息可能不存在。而基于会话信息推荐[1,2],可以根据用户正在进行会话中的行为信息,预测用户的下一次点击。

目前已经提出了一些推荐方法。相比于传统推荐,会话推荐[3]有更好的表现能力,Hidasi等[4]提出循环神经网络的方法。Jannach等[5]提出融合循环神经网络和基于邻域的方法。Tuan等[6]使用三维卷积神经网络完成推荐。Wu等[7]提出基于深度神经网络的方法。Li等[8]结合循环神经网络和注意力机制共同捕捉用户的行为特征和兴趣。Liu等[9]提出短期注意力优先方法,利用多层感知网络和注意力网络,有效捕获用户的一般兴趣和当前兴趣。图神经网络广泛应用于推荐系统[10,11]、行人重识别[12]、分辨率重建[13]等领域,基于图神经网络的方法可以对会话图进行操作,更好地捕捉项目之间的复杂依赖关系。

综上所述,基于循环神经网络的推荐方法存在以下局限性。首先,基于序列的方法只能对连续项目之间的顺序转换建模,很难捕获项目之间的复杂关系。其次,很难从每个会话中准确地估计每个用户的全局表示。最后,在对特定候选项目进行预测时,需要考虑与目标项目相关性比较大的项目。为克服上述方法的局限性,本文提出一种新型的会话推荐方法,称为SR-GNN-AM(session recommendation based on graph neural network and attention mechanism)。

1.1 总体框架

如图1所示。该方法首先将会话序列构建为有向会话图,利用图神经网络捕捉项目之间的依赖关系,生成准确的项目嵌入向量。其次应用多头注意力机制,生成全局嵌入向量,可以更好地挖掘用户在当前会话中的全局偏好。最后引入目标注意力机制,生成目标嵌入向量,考虑目标项目历史行为的相关性,激活当前会话中与目标项目相关的特定用户兴趣。本方法融合当前嵌入向量、全局嵌入向量和目标嵌入向量,生成会话嵌入向量,最终预测用户的下一次点击。

1.2 构建会话图

基于图神经网络的会话将每个会话s表示为一个有向会话图。有向会话图由Gs=(N,ε,A) 表示,其中N,ε,A分别是有向会话图的节点集、边集和邻接矩阵。在有向会话图Gs中,每个节点代表一个项目pi∈P, 每条边 (pi-1,pi)∈ε, 代表用户连续访问项目pi-1和pi。A定义为两个邻接矩阵A(out)和A(in)的拼接,反映项目之间的双向关系,其中A(out)和A(in)分别表示输出边和输入边的加权邻接矩阵。以会话序列s=[p1,p2,p3,p2,p4] 为例,如图2所示,图(a)是会话序列对应的会话图,图(b)是展开的一个时间步,实线对应于会话图的有向边,虚线对应于有向边的反相边,图(c)是会话图的两个邻接矩阵A(out)和A(in)的加权拼接。以邻接矩阵A(out)为例,p2的出度为2,每一条出度边的权重相同,所以p2→p3的出度值为1/2,p2→p4出度值为1/2。

1.3 项目嵌入

图神经网络是一类广泛使用的深度学习模型,它可以对有向会话图中的节点生成节点嵌入向量,可以对复杂的项目依赖关系建模。构造有向会话图之后,每个节点pi∈P都会转化为一个嵌入向量。使用图神经网络获得项目嵌入向量vi∈Rd, 它可以表示每一个会话。

本文使用一种特定类型的图神经网络,门控图神经网络完成项目嵌入。对于有向会话图Gs中的节点pi, 其更新规则为

(1)

(2)

(3)

(4)

(5)

式(1)表示不同节点之间的信息传播,提取潜在向量,并将它们作为图神经网络的输入。式(2)和式(3)分别表示更新门和重置门,分别决定要保留和丢弃信息。式(4)表示候选状态,通过前一个时间步的状态、当前状态和重置门来构建候选状态。式(5)表示为,在更新门的控制下,最终状态是前一个时间步状态和候选状态的组合。通过不断更新,获得最终的节点向量。

1.4 全局嵌入

在之前的推荐研究中,大部分模型利用项目嵌入生成全局嵌入向量,它可以表示用户的长期兴趣偏好,在此基础上,通过应用多头注意力机制生成更加准确的全局嵌入向量sglobal∈Rd。

多头注意力机制为将查询Q、 键K和值V, 分别用不同的、经过训练的线性投影对dq、dk和dv维进行线性投影h次,然后将它们拼接起来并再次投影,得到最后的结果。dq为查询的维度,dk为键的维度,dv为值的维度,h为头的数量。多头注意力机制能够同时在不同的子部分中,获取重要的相关信息。

多头注意力机制的输入为项目嵌入矩阵X=[v1,v2,…,vn]T∈Rn×d,vi∈Rd为所有项目中第i个项目的嵌入向量,其输出为Y=[y1,y2,…,yn]∈Rn×d,yi∈Rd为经过多头注意力机制,新生成的第i个项目的嵌入向量,n为会话长度,d为项目嵌入向量维度。多头注意力机制的表达式为

Q=K=V=X

(6)

(7)

(8)

Y=Concat(head1,…,headh)WO

(9)

对于每个会话s, 全局嵌入向量由sglobal∈Rd表示

(10)

1.5 目标嵌入

在获得每个项目的嵌入向量之后,模型自适应地考虑目标项目的相关性,目标项目为所有要预测的候选项目。通过应用目标注意力机制计算会话s中,所有项目嵌入向量vi和每个目标项目嵌入向量vt之间的注意力分数,利用softmax函数归一化,其公式为

(11)

其中,Wt∈Rd×d为权重矩阵。

对于每个会话s, 目标项目嵌入向量由starget∈Rd表示

(12)

1.6 会话嵌入

在会话s中,用户最后一次点击的项目会影响用户的下一次点击。使用当前嵌入向量slocal∈Rd表示用户的短期兴趣偏好,它是用户最后一次访问项目pn的向量化表示。

本模型拼接目标嵌入向量、当前嵌入向量和全局嵌入向量,之后通过线性变换,最终生成会话嵌入向量

st=W[starget;slocal;sglobal]

(13)

其中,W∈Rd×3d为权重矩阵。

1.7 生成推荐

(14)

(15)

(16)

其中,yi为真值项目的独热编码向量,使用时间反向传播算法训练模型。

2.1 数据集

本实验分别在两个真实的公共电子商务数据集Yoochoose和Diginetica上进行验证。Yoochoose数据集的数据信息来源于RecSys Challenge 2015,它包含用户在电子商务网站上6个月内的点击信息。Diginetica数据集的数据信息来自CIKM Cup 2016的交易数据。为公平比较,本实验严格遵循与Wu等[14]相同的数据集处理规则,在公共数据集中,删除点击次数不到5次的项目和会话长度为1的会话。最终,Yoochoose数据集包含7 981 580条会话和37 483个项目,Diginetica数据集包含204 771条会话和43 097个项目。

Yoochoose数据集的最后几天数据作为该数据集的测试集,Diginetica数据集的最后几周数据作为该数据集的测试集。对于会话s=[p1,p2,…,pn], 通过预处理生成一系列的会话序列以及相应标签,其中会话序列为 [p1,p2,…,pn], 相应的标签为 ([p1],p2),([p1,p2],p3),…,([p1,p2,…,pn],pn+1),pn+1为下一次点击的项目。由于Yoochose数据集太大,只使用其最近1/4部分训练,用Yoochoose 1/4表示。表1总结了两个数据集的详细信息。

表1 数据集信息统计

2.2 参数设置

在所有实验中,隐含向量的维度为100,初始学习率为0.001,每3个训练周期衰减0.1,多头注意力中头的数量为2。对于这两个数据集,批处理大小设置为20,l2惩罚项设置为10-5。

2.3 评估指标

本实验采用与Wu等[14]相同的评估指标,分别是准确率(Precision)和平均倒数排名(mean reciprocal rank,MRR)。

P@N用于评估推荐的准确性,表示在推荐排名列表前N项中,正确推荐项目数量占样本数量的比例,时间复杂度为O(n)。计算公式为

P@N=nhit/n

其中,nhit表示前N项中正确推荐项目的数量,n表示样本数量。

MRR@N用于评估正确项目在推荐排名列表中的排名,表示正确推荐项目的倒数排名的平均值,值越大,表明推荐的项目在排名列表中位置越靠前,时间复杂度为O(n)。计算公式为

其中:n表示样本数量,M表示前N个项目中正确项目组成的集合,rankpi表示项目pi在推荐排名列表中的排名,本实验中N为20。

2.4 相关方法比较与分析

为验证SR-GNN-AM方法的有效性,与下列方法比较。基于循环神经网络的推荐方法:基于循环神经网络和注意力机制的推荐方法[8](neural attentive recommendation machine,NARM)和基于短期注意力优先的推荐方法[9](short-term attention/memory priority,STAMP)。基于图神经网络的推荐方法[14](session-based recommendation with graph neural networks,SR-GNN)。表2总结了P@20和MRR@20的总体表现,最高表现以粗体的形式在表中显示。

表2 实验结果对比

实验结果表明SR-GNN-AM在公共数据集上,P@20和MRR@20都有良好的表现,这验证了所提出方法的有效性。从表2中可以反映出一个明显的趋势,基于神经网络类方法优于传统方法,这些方法具有更强捕捉复杂用户行为的能力。NARM应用循环单元捕捉用户的整体兴趣,STAMP使用最后一次点击的项目,改善短期记忆能力,这些方法考虑了用户的全局行为偏好,从而获得了优于传统方法的性能。但是这些方法只考虑连续项目之间的单向转换关系,它们的性能仍然不如SR-GNN。

NARM和STAMP忽略了项目之间的交互关系,但是SR-GNN进一步考虑了会话中项目之间的复杂依赖关系,该方法将每个会话建模为一个有向会话图,该图可以捕捉用户点击项目之间更加复杂和隐含的联系。该方法采用软注意力机制生成全局会话表示,该会话表示可以自动选择相对重要的项目,并且忽略当前会话中无效的用户行为,STAMP只利用最后一次单击的项目和之前项目之间的依赖关系,这可能是不够的,其它RNN模型,如NARM,在传播过程中也不能选择有影响的信息。当用户的行为是无目的的,或者用户的兴趣在当前会话中快速漂移时,传统的模型处理这种类型会话信息是无效的。然而SR-GNN的性能仍然不如本文所提出的方法。

SR-GNN-AM在SR-GNN基础上,利用多头注意力机制生成全局会话嵌入向量,多头注意力机制有多个头,每个头可以从不同的特征空间中提取不同的特征信息,从而更加全面地捕捉项目之间的依赖关系,并且采用目标注意力机制,进一步考虑用户兴趣和目标兴趣之间的关系,在给定不同目标项目的情况下,该模型会激活不同的用户兴趣,从而提高推荐模型的表现能力。综上所述,这些实验结果验证了所提出方法的有效性。

2.5 不同会话嵌入方法比较与分析

为比较不同的会话嵌入方法对模型表现的影响程度,本实验将与以下3种嵌入方法进行比较:①局部嵌入(L);
②具有平均池化的全局嵌入(AVG);
③具有多头注意力机制的全局嵌入(M-H);
④融合局部嵌入和多头注意力机制的全局嵌入(L+M-H)。比较结果见表3。

表3 不同会话嵌入方法的结果表现

从表3中可以看出,SR-GNN-AM在两个公共数据集上都获得了最佳的结果,实验结果表明,L优于AVG,它仅使用最后一次点击的项目作为会话表示,表明最后一次点击的项目对预测用户的最终点击有很大的影响。M-H优于AVG,多头注意力机制有助于从会话数据中提取出重要的行为信息。从表中还可以看出,(L+M-H)优于L和M-H,实验结果验证了将当前会话兴趣、长期兴趣偏好结合的必要性。

从实验结果还可以看出,使用AVG在会话中取得了不好的表现,这种现象是因为会话中用户行为具有多样性,这进一步突出了使用本文所提出的多头注意力机制,捕捉不同用户兴趣的重要性。

2.6 不同注意力机制比较与分析

本模型利用多头注意力机制和目标注意力机制完成推荐,为比较不同注意力机制对模型的影响程度,本实验分别与以下两种注意力机制进行比较:①软注意力机制推荐模型(L+S),也是SR-GNN,其会话嵌入向量包括:当前嵌入向量和软注意力机制生成全局会话嵌入向量;
②多头注意力机制推荐模型(L+M-H),其会话嵌入向量包括:当前嵌入向量和多头注意力机制生成全局嵌入向量。比较结果见表4,最高表现以粗体的形式在表中显示。

从表4中可以看出(L+M-H)优于SR-GNN,这验证了多头注意力机制强于软注意力机制,多头注意力机制可以更加准确地表示全局兴趣偏好,提高推荐精度。SR-GNN-AM在各项指标上都优于(L+M-H),这验证了模型融合目标嵌入的重要性,目标注意力机制可以更好地针对目标项目完成相关性推荐。实验结果表明,本模型通过结合多头注意力机制和目标注意力机制,可以更好地完成个性化推荐任务。

表4 不同注意力机制的表现

本文提出基于图神经网络和注意力机制的会话推荐方法,门控图神经网络捕捉项目间依赖关系,多头注意力准确表示用户全局偏好,生成全局嵌入,目标注意力考虑目标项目相关性,生成目标嵌入,融合当前嵌入,生成会话嵌入,从而完成推荐。通过在真实数据集上的大量实验,实验结果表明,SR-GNN-AM在各项指标上均优于SG-GNN等方法,另外通过消融实验验证了本方法各组成部分之间的有效性。但是,由实验结果可见,会话推荐的各项指标还存在很大的提升空间,在接下来的工作研究中,考虑通过挖掘用户更多行为信息以及结合知识图谱,以得到更高的推荐精度。

猜你喜欢 会话全局向量 基于改进空间通道信息的全局烟雾注意网络北京航空航天大学学报(2022年8期)2022-08-31领导者的全局观中国医院院长(2022年13期)2022-08-15向量的分解新高考·高一数学(2022年3期)2022-04-28聚焦“向量与三角”创新题中学生数理化(高中版.高考数学)(2021年1期)2021-03-19QQ和微信会话话轮及话轮转换特点浅析长江丛刊(2020年17期)2020-11-19二分搜索算法在全局频繁项目集求解中的应用现代计算机(2019年19期)2019-08-12落子山东,意在全局金桥(2018年4期)2018-09-26用绘画导入英语教学考试周刊(2016年82期)2016-11-01向量垂直在解析几何中的应用高中生学习·高三版(2016年9期)2016-05-14向量五种“变身” 玩转圆锥曲线新高考·高二数学(2015年11期)2015-12-23推荐访问:神经网络 会话 注意力
上一篇:编织艺术在建筑中的空间塑造及语言表达研究
下一篇:中国共产党村级党组织功能:历史发展与现实启示

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有