陈学勤,陶涛,张钟旺,王一蕾
(福州大学 数学与计算机科学学院,福州 350108)(∗通信作者电子邮箱714867833@qq.com)
融合成对编码方案及二维卷积神经网络的长短期会话推荐算法
陈学勤,陶涛,张钟旺,王一蕾*
(福州大学 数学与计算机科学学院,福州 350108)(∗通信作者电子邮箱714867833@qq.com)
虽然基于循环神经网络(RNN)的会话推荐算法可以有效地对会话中的长期依赖关系进行建模,并且可以结合注意力机制来刻画用户在会话中的主要目的,但它在进行会话建模的过程中无法绕过与用户主要目的不相关的物品,易受其影响以致降低推荐精度。针对上述问题,设计了成对编码方案来将原始输入序列嵌入向量转化为一个三维张量表示,使得非相邻的行为也能够产生联系。通过二维卷积神经网络(CNN)来处理该张量以捕获非相邻物品间的联系,并提出了引入用于会话推荐的二维卷积神经网络的神经注意力推荐机(COS-NARM)模型。该模型能有效跳过序列中与用户主要目的不相关的物品。实验结果表明,COS-NARM模型在DIGINETICA等多个真实数据集上的召回率和平均倒数排名(MRR)都得到了不同程度的提升,且优于NARM、GRU-4Rec+等所有基线模型。在上述研究的基础上,将欧氏距离引入COS-NARM模型,提出了OCOS-NARM模型。利用欧氏距离直接计算不同时刻兴趣间的相似度以减少模型的参数,降低模型的复杂度。实验结果表明,欧氏距离的引入不仅使得OCOS-NARM模型在DIGINETICA等多个真实数据集上的推荐效果得到了进一步的提升,而且使OCOS-NARM模型的训练时间相较COS-NARM模型缩短了14.84%,有效提高了模型的训练速度。
会话推荐;循环神经网络;成对编码;卷积神经网络;欧氏距离
现今,基于会话的推荐算法已成为个性化推荐算法的重要组成部分,与传统的推荐算法不同,它将会话间或会话内的信息交互纳入推荐过程,同时在建模数据时把会话看作基本数据结构。近年来,由于超级计算机的进步和深度学习技术的突破进展,深度学习技术在数据处理方面的能力得到了大幅提高,可以更有效地挖掘出数据中潜藏的特征[1]。因此,许多研究者开始利用深度学习技术来解决基于会话的推荐算法中存在的各种问题。近几年深度神经网络在会话推荐中的应用已经验证了深度神经模型比其他模型能产生更好的推荐效果[2]。
循环神经网络(Recurrent Neural Network, RNN)的网络结构使得当前时刻的输出受到当前时刻的输入和上一时刻的输出的共同影响。因此,它在每一时刻的输出都包含之前时刻的信息以此刻画用户的长期兴趣。文献[3]中第一次在基于会话的推荐算法里使用了RNN,提出了GRU-4Rec模型,该模型能批量并行处理会话数据,同时选择基于排序的损失函数作为模型的损失函数;文献[4]中将基于规则的算法与RNN相结合,使得模型可以根据用户在浏览会话期间执行的操作序列来了解用户可能点击哪个物品;文献[5]中利用卷积神经网络(Convolutional Neural Network, CNN)提取复杂局部特征,并使用RNN从会话序列中学习长期依赖关系;文献[6-7]中使用RNN从会话序列中学习长期依赖关系;文献[8]中提出了一种增强型的RNN模型,该模型使用基于物品的神经网络提取高阶的用户上下文偏好以增强任何基于RNN的会话推荐模型。尽管以上基于RNN的会话推荐算法相较传统的会话推荐算法有了很大的改进,但它们都只考虑了用户在当前会话中的顺序行为而没有强调用户在当前会话中的主要目的。因此,文献[9]中提出了基于会话的神经注意力推荐机(Neural Attentive Recommendation Machine, NARM)模型,同时考虑用户的连续行为和当前会话中的主要目的,并首次将注意力机制应用于基于会话的推荐算法。但是基于RNN的会话推荐算法是直接对有序的物品表示进行操作,因而会受到单向链式结构的物品序列的约束,这导致其在利用会话数据进行序列建模时无法绕过与当前会话的用户主要目的不相关的行为。针对基于RNN的会话推荐算法在捕获用户的主要目的时会受到一些与用户的主要目的毫无关联的会话数据的影响以致推荐效果降低的问题,本文设计了成对编码方案对原始的输入序列嵌入向量进行处理,并融入二维卷积神经网络共同构成了引入用于会话推荐的二维卷积神经网络的神经注意力推荐机(Neural Attentive Recommendation Machine introducing two-dimensional COnvolutional neural network for Session-based recommendation, COS-NARM)模型。为了能在COS-NARM模型的基础上进一步提升其推荐效果,并使推荐模型更加轻量级,本文提出了OCOS-NARM模型,对COS-NARM模型中的局部编码器进行优化,并采用欧氏距离公式来计算不同时刻兴趣表示之间的相似度作为重要度分数分配给对应时刻的兴趣表示。
近年来,RNN已在语言模型、文本分类、机器翻译、图像分析以及推荐系统等领域都展现出较好的效果[10-11]。为了能更有效地利用会话数据中所包含的时间顺序信息,RNN使用状态变量储存历史信息,并将其和当前输入结合起来作为当前的输出以实现神经网络的“记忆功能”。然而,若需要RNN处理长序列,它将难以把较早时刻的信息传递给后面的时刻。另外,在使用反向传播训练RNN期间,RNN会产生梯度消失的现象。因此,在进行梯度更新时,较早时刻的层因其梯度值通常会非常小而不再进行学习,这造成RNN只有短期记忆。而长短期记忆(Long Short-Term Memory, LSTM)网络和门控循环单元(Gated Recurrent Unit, GRU)模型在RNN的基础上引入了可以调节信息流的门控机制,有效解决了上述问题。
卷积神经网络(CNN)是一种能够进行卷积运算的深度神经网络[12],它一般被应用在视觉图像的识别。CNN的四个重要做法包含局部感知、卷积、池化以及权值共享。这一系列的做法有效降低了模型的复杂性,减小了过拟合现象出现的频率。
由于大部分会话数据被假定是序列依赖联系,而RNN对于建模序列依赖关系有着与生俱来的优势,所以它在基于会话的推荐算法中表现非常突出。最基础的基于RNN的会话推荐模型是GRU-4Rec模型,之后的许多研究都是在这个基础上展开的。近年来,基于RNN的模型也进行了不少扩展;文献[13]中将用户停留在物品上的时间长短信息融入模型;文献[14]中利用RNN对会话点击序列进行建模,并利用有关用户和文章的辅助信息实现新闻推荐;文献[15]中设计了一个跨域用户级别的RNN来探索用户跨域行为之间的相关性,实现跨域顺序信息的合并;文献[9]中使用RNN分别建模长期兴趣和短期兴趣,并在刻画短期兴趣的编码器里引入了注意力机制。
一个好的推荐器除了需要考虑用户的整体顺序行为外,还应该考虑用户在当前会话中的主要目的。这个主要目的是由一些在当前会话中相对重要的物品所体现的。基于会话的神经注意力推荐机(NARM)模型通过带有注意机制的混合编码器来对用户的顺序行为进行建模并挖掘用户在当前会话中的主要目的,再将用户的顺序行为表示以及用户的主要目的表示合并为一个新的会话表示。NARM模型利用注意力机制对更重要的会话数据给予更多的关注,并使用基于统一会话表示的双线性匹配方案计算每个候选项目的推荐分数。
本文通过成对编码方案和二维卷积神经网络重构了NARM模型的全局编码器以捕获更有效的用户长期偏好,提出了COS-NARM模型。在COS-NARM模型的基础上,考虑其局部编码器通过加法注意力的方式并不能很好地刻画不同向量之间的相似度。因此,在COS-NARM模型的局部编码器中,本文利用欧氏距离来计算相似度,提出了OCOS-NARM模型。
RNN在利用会话数据进行序列建模时无法绕过与当前会话的用户主要目的不相关的行为,而改进的CNN在进行序列建模时能够放松序列顺序结构的约束以有效跳过与会话的主要目的不相关的行为。但是,放松序列顺序结构的约束会导致模型无法有效保留局部行为的动态变化。为了发挥RNN和CNN各自的优势以使它们互相弥补,本文设计了成对编码方案将原始输入序列嵌入向量转化成一个三维张量表示,并通过二维CNN处理该张量以捕获更有效的序列特征表示和行为间的复杂关系。
2.1.1 基于RNN的神经注意力会话推荐算法
NARM模型的具体结构如图1所示。该模型的基本思想是通过全局编码器和局部编码器共同构建一个会话的隐藏表示并基于该会话表示通过解码器生成推荐。
图1 NARM模型的结构Fig. 1 Structure of NARM model
NARM模型使用GRU构建全局编码器,输入用户历史全部点击行为,输出用户在当前会话中的顺序行为特征,并且输入和输出都用高维向量表示。但是,利用该全局编码器捕获到的顺序行为一般无法体现用户在当前会话中的真实目的。为了弥补这一不足,NARM模型提出了局部编码器。
局部编码器的结构与全局编码器的结构相似,它们在进行编码时都使用GRU作为基本框架。为了挖掘出用户在当前会话的主要目的,局部编码器还引入了注意力机制以允许解码器可以动态选择并线性结合输入会话的不同部分。最后,NARM模型使用一个双线性解码方案来计算会话表示和每个候选行为之间的相似度得分Si,并通过softmax层将每个行为的得分转化成每个行为在下一次点击中发生的概率。
2.1.2 引入成对编码方案及2D CNN的长短期会话推荐算法
尽管NARM模型在一系列会话推荐任务中都显现出较好的效果,但由于序列顺序结构的约束,它难以挖掘隐含在用户历史行为中的复杂关系。为了解决上述问题,本文通过一个二维卷积神经网络(2D CNN)来建模成对关系以捕获更有效的序列特征表示和行为间的复杂关系,并将其与NARM模型相结合。
根据经典CNN的架构设计,本文使用一种轻权重的卷积神经网络作为2D CNN的基础网络以降低模型的参数量。如表1所示,2D CNN包含两个卷积块,每个卷积块由两层卷积层构成。在一个卷积块中,一级卷积层使用一个的卷积核来丰富输入序列的特征表示,二级卷积层利用的卷积核使模型随着网络的加深能够聚合序列的顺序特征并提取用户历史行为中更复杂的关系。数据在经过每个卷积层之后,都要进行批处理归一化和一个修正线性单元(Rectified Linear Unit, ReLU)激活。
表1 二维卷积神经网络的结构Tab. 1 Structure of two-dimensional CNN
尽管放松序列顺序结构的约束能使序列中的行为产生跳跃现象,但是这打破了序列中的局部链式结构,使得模型难以保留局部行为的动态变化。这会使得NARM模型在处理会话时会受到序列顺序结构的约束而导致最终推荐精度的降低。为了弥补上述缺点,本文利用成对编码方案将原始输入序列嵌入向量转化成一个三维张量表示,使得非相邻的行为也能够产生联系,并通过2D CNN处理该张量以捕获更有效的序列特征表示和行为间的复杂关系。上述方案共同构成了COS-NARM模型。
为了更清晰地展现成对编码方案具备绕过与会话的主要目的不相关的物品的能力,通过一个例子来具体阐述。给定一个会话序列嵌入矩阵[[1,0,0],[0,1,0],[0,0,1]],通过成对编码方案的建模方法可以得到一个三维张量[[[1,0,0,1,0,0],[1,0,0,0,1,0],[1,0,0,0,0,1]],[[0,1,0,1,0,0],[0,1,0,0,1,0],[0,1,0,0,0,1]],[[0,0,1,1,0,0],[0,0,1,0,1,0],[0,0,1,0,0,1]]]。显而易见,成对编码方案能建立序列中非相邻物品之间的联系。
具体而言,COS-NARM模型的全局编码器首先将输入的所有物品都进行one-hot编码。COS-NARM模型中全局编码器的结构如图2所示。会话序列Sl经过one-hot编码后表示为,其中对应第i个物品的二进制向量,S是一个二维矩阵即。为了允许物品之间能够产生灵活的成对关联,COS-NARM先将S进行拷贝后再分别将其按第0维和第1维进行维度扩充得到,。然后将和分别按其扩充的维度通过长度L进行张量拷贝得到,和,则有。最后,将和按第2维进行张量拼接即可得到,其计算式如式(1):
其中:cop表示张量的复制操作;rep(X,i)表示将张量X按其第i个维度进行张量拷贝;“⊕”表示张量的拼接。通过上述成对编码方案,COS-NARM在S的基础上创建了一个三维张量作为新的会话表示。上述操作即为图2中的第①步至第②步。然后,COS-NARM将上述类似“图像特征映射”形式的会话表示T作为2.1.1节所提的2D CNN的输入。接着,将该2D CNN的输出通过一个带有dropout(一种预防CNN过拟合的正则化方法)的全连接层转化成最终的序列特征向量。最后,通过式(2)把当作长期兴趣表示并将其与2.1.1节所提的局部编码器获得的短期兴趣相结合作为最终兴趣表示,同时仍使用NARM模型的解码器处理最终的兴趣表示。因此,COS-NARM模型可以看成是一个优化了NARM模型的全局编码器的模型。
图2 COS-NARM模型的全局编码器Fig. 2 Global encoder of COS-NARM model
COS-NARM模型的局部编码器使用式(3)的目的是通过加法注意力来获取不同时刻的兴趣表示之间的相似性。由于每个时刻的兴趣表示都是一个向量,故这种线性相加的方式并不能很好地刻画不同向量之间的相似度。并且假设某时刻用户兴趣的向量表示的长度为d时,则计算相似度q的时间复杂度为。
为了改进COS-NARM模型以进一步提升模型的推荐效果并提高训练速度,本节将更能描绘不同向量之间相似度的欧氏距离[16]引入COS-NARM模型的局部编码器,提出了结合CNN并引入欧氏距离的长短期会话推荐模型OCOS-NARM。
具体而言,OCOS-NARM模型的局部编码器首先将会话表示通过RNN的处理得到对应时刻的隐藏状态表示,若将看成当前会话的第i个时刻的用户兴趣表示,则代表最后时刻的用户兴趣表示。然后,利用式(4)来计算和之间的相似度,该相似度就是用户在第i个时刻的兴趣对于用户在会话中的主要兴趣的重要性权值。假设向量的长度为d,则计算相似度q的时间复杂度为。最后,通过式(5)将每个时刻的重要性权值分配给对应时刻的兴趣表示。
实验选择了四个传统模型POP(POpular Predictor)、S-POP(Session POP)、Item-KNN(Item basedK-Nearest Neighbor)协同过滤方法、BPR-MF(Bayesian Personalized Ranking Matrix Factorization)和三个基于RNN的模型GRU-4Rec、GRU-4Rec+、NARM作为基线模型。另外,为了验证成对编码方案和二维CNN只适合用于构建全局编码器而不适用于构建局部编码器,本文在COS-NARM模型的基础上使用成对编码方案和2D CNN重构了局部编码器得到DCOS-NARM模型作为一个基线模型。为了完善对比,本文也将2D CNN独立出来作为一个基线模型,其他基线模型介绍如下:
1)POP,流行预测器每次都将训练集中最受用户欢迎的物品推荐给用户。
2)S-POP,该基线模型与POP类似,不同之处在于它推荐的是当前会话中最令用户感兴趣的物品。
3)Item-KNN,该基线模型是一个基于物品相似性的推荐算法,它计算一个候选物品与点击序列中物品之间的相似性并将最相似的物品推荐给用户。
4)BPR-MF,该基线模型利用随机梯度下降的方法来优化成对排名的损失函数。
5)GRU-4Rec,该基线模型是一种基于RNN的会话推荐模型,其中包括多个GRU层。
6)GRU-4Rec+,该基线模型是一种基于GRU-4Rec的改进模型,它利用数据增强以及处理输入数据分布改变的方式来提升GRU-4Rec的性能。
7)NARM,该基线模型同时考虑用户的连续行为和当前会话中的主要目的,并首次将注意力机制应用于基于会话的推荐算法。
本文在两个标准交易数据集(即YOOCHOOSE数据集[9]和DIGINETICA数据集[9])上对不同的模型进行评估。YOOCHOOSE是RecSys Challenge 2015发布的公开数据集,该数据集包含电子商务网站上的点击流。DIGINETICA数据集则来自CIKM Cup 2016,该数据集只使用了发布的交易数据。为了实验结果的可靠性,本文剔除了YOOCHOOSE数据集和DIGINETICA数据集中所有长度为1的会话以及出现次数低于5次的物品。最终,YOOCHOOSE数据集剩下7 981 580个会话和37 483个物品,而DIGINETICA数据集只包含204 771个会话和43 097个物品。接着,本文对这两个数据集分别进行一些预处理以构建测试集和训练集。对于YOOCHOOSE数据集,本文使用当天会话之后的第二天会话作为测试集,并过滤掉出现在测试集但没有出现在训练集中的物品。对于DIGINETICA数据集,本文使用当天会话之后的七天会话作为测试集,也过滤掉出现在测试集但没有出现在训练集中的物品。因为本文在实验中没有用并行处理会话的方法去训练模型,所以,分割预处理会话序列是必须的。对于每个输入会话,本文都会将其转化成一个所有位置都带有标记的新序列并把它作为在YOOCHOOSE数据集和DIGINETICA数据集上进行训练时的会话数据。其中,用每个分割出的会话序列中的位置标记表示该序列中的最后一个物品。
文献[17]中验证了推荐模型需要考虑用户行为随着时间的变化,且其实验结果表明训练在最近一部分数据集上的推荐模型的效果优于训练在整个数据集上的推荐模型。由于YOOCHOOSE数据集本身的数据量过大并且时间跨度长达六个月,因此,本文按时间戳对YOOCHOOSE数据集的训练序列从高到低进行排序,并从中提取出数据集的前1/64部分和前1/4部分,分别记为YOOCHOOSE 1/64和YOOCHOOSE 1/4。YOOCHOOSE 1/64、YOOCHOOSE 1/4、DIGINETICA这三个数据集的统计数据如表2所示。
表2 不同数据集的统计数据Tab. 2 Statistics of different datasets
本文在Ubuntu 16.04 64bit操作系统上进行实验,实验所用的GPU为两块Nvidia GTX 1080,选择Pytorch作为实验用到的深度学习框架,将Python3.7作为实验的编程语言。
本文设置批处理大小固定在512,物品特征的嵌入维度大小为50,隐藏层大小为100,初始学习率为0.001,训练的迭代总数为100,学习衰减率为0.1,位于物品嵌入层和GRU层之间的dropout值为0.25,位于GRU层和双线性相似层之间的dropout值为0.5,位于全连接层中的dropout值为0.5。另外,本文使用交叉熵损失函数作为模型的损失函数并通过基于时间的反向传播(Back Propagation Through Time, BPTT)来训练模型,使用Adam作为优化函数,使用训练集的10%数据作为验证集,规定在第80次迭代后才开始衰减学习率。
本文的模型评估指标使用召回率(Recall)和平均排名倒数(Mean Reciprocal Rank, MRR)。召回率是实际情况和预测结果都为正的样本在实际情况为正的所有样本中发生的概率。Recall@K是Top-K推荐中的常用指标,其计算式如式(6)所示:
其中:Ru表示测试集中与用户u相关的物品集;Tu表示推荐给用户的前K个物品列表。本文在实验中使用Recall@20作为模型评估指标之一。
平均倒数排名(MRR)能很好地评估检索算法的效果,其中心思想反映了结果集的好坏。在推荐算法中,推荐结果的MRR的具体计算式如式(7)所示:
其中:|U|是用户的数量;ranki是用户i的推荐列表中第一个能在真实结果集中被查询到的推荐物品所处的位置。由于推荐结果的顺序问题是衡量本文实验结果优劣的重要依据,而MRR考虑了推荐结果的排名。因此本文在实验中所使用的另一个模型评估指标是MRR@20。在MRR@20中,若一个排名的大小是超过20的,那么它的倒数应该设置为零。
3.5.1 引入成对编码方案及2D CNN的长短期会话推荐
不同模型在YOOCHOOSE 1/64、YOOCHOOSE 1/4和DIGINETICA这三个数据集上训练得到的Recall@20和MRR@20如表3所示。
表3 不同模型的Recall@20和MRR@20 单位: %Tab. 3 Recall@20 and MRR@20 of different models unit: %
观察表3可知:1)对于不同的数据集,COS-NARM模型以及NARM模型的推荐效果都优于其他对比模型,这是因为前两者不仅考虑了用户会话的顺序行为,还同时考虑了用户的长期兴趣和短期兴趣,从而促使推荐效果的提升。2)2D CNN在三个数据集上的实验结果表明,其虽具有一定的推荐效果,但远没有融入NARM模型所得到的推荐效果好。究其原因在于,单纯的卷积操作会过于放松序列顺序结构的约束而使序列中的行为产生跳跃现象,这会使得局部行为的动态变化难以捕捉而导致推荐效果不佳。3)与NARM模型相比,COS-NARM模型的MRR@20和Recall@20都有了不错的提升,该实验结果表明本文所提的成对编码方案以及2D CNN作为建模中的全局编码器的有效性。通过该全局编码器,COS-NARM模型在进行会话建模过程中可以有效绕过与当前会话的主要目的不相关的物品,这使得模型能捕获到更符合用户真实偏好的兴趣表示。4)DCOS-NARM模型的推荐效果远不如COS-NARM模型,甚至比NARM模型的推荐效果还略差一些。该实验结果表明,在模型的局部编码器和全局编码器中都使用成对编码方案以及2D CNN,会使得模型大幅度放松会话顺序结构的约束进而导致模型无法有效刻画用户局部兴趣的动态变化过程,从而降低了推荐效果。
对于YOOCHOOSE 1/64、YOOCHOOSE 1/4以及DIGINETICA这三个不同的数据集,根据表4~5可得:1)COS-NARM模型的MRR@20和Recall@20相较于NARM模型都得到了提升。2)DCOS-NARM模型的MRR@20和Recall@20相较于NARM模型都有所降低。
分析可知,相较于NARM模型,COS-NARM模型的推荐效果在YOOCHOOSE 1/4数据集上提升的百分比远大于在另外两个数据集上提升的百分比,并且DCOS-NARM模型的推荐效果在YOOCHOOSE 1/4数据集上降低的百分比远小于在另外两个数据集上降低的百分比。这是因为YOOCHOOSE 1/4数据集的点击总数远大于另外两个数据集,而数据集的点击总数越多意味着其中包含与会话的主要目的不相关的点击也越多,本文所提的成对编码方案和二维CNN的作用也越显著。
表4 不同模型与NARM模型在Recall@20和MRR@20上的比较Tab. 4 Comparison of different models and NARM model on Recall@20 and MRR@20
表5 不同数据集的点击总数Tab. 5 Total number of clicks of different datasets
3.5.2 引入欧氏距离的COS-NARM模型
为了验证用来改进NARM模型的局部编码器依然有效,本节也将欧氏距离引入NARM模型得到O-NARM模型并将此作为基线模型之一。将OCOS-NARM模型与前文得到的最优模型COS-NARM以及NARM模型进行对比实验。四种模型在三个数据集上的Recall@20和MRR@20如表6所示。为了验证所提的方法能提高COS-NARM模型的训练速度,使得模型更加轻量级,在YOOCHOOSE 1/4数据集上测试了不同模型的训练时间,结果如表7所示。
通过对表6的结果分析可得:相较于COS-NARM模型,OCOS-NARM模型的Recall@20和MRR@20都有所提升。这是由于将欧氏距离引入COS-NARM模型有助于它的局部编码器捕获到不同向量之间更准确的相似度,同时减少模型参数,因此2.2节的改进方法不仅能提高模型效果而且能防止过拟合问题。
通过对表7的结果分析可得:O-NARM模型的训练时间相较于NARM模型缩短了16.14%,而OCOS-NARM模型的训练时间相较COS-NARM模型缩短了14.84%。这是因为O-NARM模型与OCOS-NARM模型都将欧氏距离引入了模型来降低模型的复杂度并减少了模型的参数,使得模型的训练速度得到了提升。
结合表6~7可以发现:1)虽然O-NARM模型与NARM模型的推荐效果差别并不显著,但是O-NARM模型与NARM模型的训练时间却有较大差异。2)相较于COS-NARM模型,虽然OCOS-NARM模型的推荐效果仅仅只是略有提高,但是其训练时间却显著减少。这是因为NARM模型和COS-NARM模型都使用基础注意力机制来计算不同兴趣表示间的相似度,而O-NARM模型与OCOS-NARM模型都将欧氏距离引入局部编码器,所以O-NARM模型与OCOS-NARM模型都不需要通过训练参数也能在一定程度上刻画特征向量间的相似性,以致模型的参数量减少了很多。综上所述,使用欧氏距离来改进NARM模型和COS-NARM模型的局部编码器不仅能在一定程度上提升模型的推荐效果,而且能大幅提高模型的训练速度。
表6 四种模型的Recall@20和MRR@20 单位: %Tab. 6 Recall@20 and MRR@20 of four models unit: %
表7 在YOOCHOOSE 1/4数据集上不同模型的训练时间Tab. 7 Training time of different models on YOOCHOOSE 1/4 dataset
为了解决基于RNN的会话推荐算法在进行序列建模时无法绕过与当前会话中用户的主要目的不相关的行为的问题,本文提出了COS-NARM模型。首先,将会话中的物品嵌入编码成为成对表示并利用一个2D CNN提取用户的长期兴趣。然后,将用户的长期兴趣与用RNN和注意力机制获取得到的短期兴趣相结合。最后,使用双线性解码器计算每个候选物品推荐得分。实验结果表明,将2D CNN和RNN相结合的方式可以帮助模型在建模会话的过程中绕过与会话的主要目的不相关的物品以捕捉更准确的用户兴趣,提升了推荐效果。为了能进一步提升COS-NARM模型的推荐效果,使模型更加轻量级,本文提出了另一种改进模型OCOS-NARM,即在COS-NARM模型的局部编码器中直接利用欧氏距离公式来计算不同时刻兴趣表示之间的相似度,并将其作为重要度分数分配给对应时刻的兴趣表示。在三个不同的数据集上的实验结果表明,OCOS-NARM模型的推荐效果和训练速度都优于COS-NARM模型。另外,本文按照OCOS-NARM模型的方式将欧氏距离引入NARM模型,并通过实验进一步验证了使用欧氏距离来改进相似度计算的有效性。未来将进一步考虑如何将时域卷积网络应用在基于会话的推荐算法中以充分发挥它的优势。
[1] 毛勇华,桂小林,李前,等.深度学习应用技术研究[J].计算机应用研究,2016,33(11):3201-3205.(MAO Y H, GUI X L, LI Q, et al. Study on application technology of deep learning [J]. Application Research of Computers, 2016, 33(11): 3201-3205.)
[2] 刘浩翰,吕鑫,李建伏.考虑用户意图和时间间隔的会话型深度学习推荐系统[J].计算机应用与软件,2021,38(3):190-195,223.(LIU H H, LYU X, LI J F. A session-based deep learning recommendation system considering user purpose and time interval [J]. Computer Applications and Software, 2021, 38(3): 190-195, 223.)
[3] HIDASI B, KARATZOGLOU A, BALTRUNAS L, et al. Session-based recommendations with recurrent neural networks [EB/OL]. [2021-02-12]. https://arxiv.org/pdf/1511.06939.pdf.
[4] DADOUN A, TRONCY R. Many-to-one recurrent neural network for session-based recommendation [EB/OL]. [2021-02-12]. https://arxiv.org/pdf/2008.11136.pdf.
[5] BACH N X, LONG D H, PHUONG T M. Recurrent convolutional networks for session-based recommendations [J]. Neurocomputing, 2020, 411: 247-258.
[6] QUADRANA M, KARATZOGLOU A, HIDASI B, et al. Personalizing session-based recommendations with hierarchical recurrent neural networks [C]// Proceedings of the 2017 11th ACM Conference on Recommender Systems. New York: ACM, 2017: 130-137.
[7] HIDASI B, KARATZOGLOU A. Recurrent neural networks with top-k gains for session-based recommendations [C]// Proceedings of the 2018 27th ACM International Conference on Information and Knowledge Management. New York: ACM, 2018: 843-852.
[8] SONG Y, LEE J G. Augmenting recurrent neural networks with high-order user-contextual preference for session-based recommendation [EB/OL]. [2021-02-12]. https://arxiv.org/pdf/1805.02983.pdf.
[9] LI J, REN P J, CHEN Z M, et al. Neural attentive session-based recommendation [C]// Proceedings of the 2017 ACM Conference on Information and Knowledge Management. New York: ACM, 2017: 1419-1428.
[10] YIN W P, KANN K, YU M, et al. Comparative study of CNN and RNN for natural language processing [EB/OL]. [2021-02-12]. https://arxiv.org/pdf/1702.01923.pdf.
[11] DHYANI M, KUMAR R. An intelligent Chatbot using deep learning with Bidirectional RNN and attention model [J]. Materials Today: Proceedings, 2021,34(Pt 3): 817-824.
[12] TANG J X, WANG K. Personalized top-Nsequential recommendation via convolutional sequence embedding [C]// Proceedings of the 2018 11th ACM International Conference on Web Search and Data Mining. New York: ACM, 2018: 565-573.
[13] BOGINA V, KUFLIK T. Incorporating dwell time in session-based recommendations with recurrent neural networks [C]// Proceedings of the 2017 1st Workshop on Temporal Reasoning in Recommender Systems Co-located with 11th International Conference on Recommender Systems. Aachen: CEUR-WS.org, 2017:57-59.
[14] MOREIRA G S P, JANNACH D, DA CUNHA A M. Hybrid session-based news recommendation using recurrent neural networks [EB/OL]. [2021-02-12]. https://arxiv.org/pdf/2006. 13063.pdf.
[15] WANG Y Q, GUO C L, CHU Y F, et al. A cross-domain hierarchical recurrent model for personalized session-based recommendations [J]. Neurocomputing,2020, 380: 271-284.
[16] BEHRENS T, SCHMIDT K, VISCARRA ROSSEL R A, et al. Spatial modelling with Euclidean distance fields and machine learning [J]. European Journal of Soil Science, 2018, 69(5): 757-770.
[17] TAN Y K, XU X X, LIU Y. Improved recurrent neural networks for session-based recommendations [C]// Proceedings of the 2016 1st Workshop on Deep Learning for Recommender Systems. New York: ACM, 2016: 17-22.
Long short-term session-based recommendation algorithm combining paired coding scheme and two-dimensional conventional neural network
CHEN Xueqin, TAO Tao,ZHANG Zhongwang, WANG Yilei*
(College of Mathematics and Computer Science,Fuzhou University,Fuzhou Fujian350108,China)
The session-based recommendation algorithm based on Recurrent Neural Network (RNN) can effectively model the long-term dependency in the session, and can combine the attention mechanism to describe the main purpose of the user in the session. However, it cannot bypass the items that are not related to the user’s main purpose in the process of session modeling, and is susceptible to their influence to reduce the recommendation accuracy. In order to solve problems, a new paired coding scheme was designed,which transformed the original input sequence embedding vector into a three-dimensional tensor representation, so that non-adjacent behaviors were also able to be linked. The tensor was processed by a two-dimensional Conventional Neural Network (CNN) to capture the relationship between non-adjacent items, and a Neural Attentive Recommendation Machine introducing two-dimensional COnvolutional neural network for Session-based recommendation (COS-NARM) model was proposed. The proposed model was able to effectively skip items that were not related to the user’s main purpose in the sequence. Experimental results show that the recall and Mean Reciprocal Rank (MRR) of the COS-NARM model on multiple real datasets such as DIGINETICA are improved to varying degrees, and they are better than those of all baseline models such as NARM and GRU-4Rec+. On the basis of the above research, Euclidean distance was introduced into the COS-NARM model, and the OCOS-NARM model was proposed. Euclidean distance was used to directly calculate the similarity between interests at different times to reduce the parameters of model and reduce the complexity of model. Experimental results show that the introduction of Euclidean distance further improves the recommendation effect of the OCOS-NARM model on multiple real datasets such as DIGINETICA, and makes the training time of the OCOS-NARM model shortened by 14.84% compared with that of the COS-NARM model, effectively improving the training speed of model.
session-based recommendation; Recurrent Neural Network (RNN); paired coding; Conventional Neural Network (CNN); Euclidean distance
TP183
A
1001-9081(2022)05-1347-08
10.11772/j.issn.1001-9081.2021030467
2021⁃03⁃29;
2021⁃07⁃01;
2021⁃07⁃05。
福建省自然科学基金资助项目(2018J01799)。
陈学勤(1997—),男,福建福州人,硕士研究生,主要研究方向:个性化推荐; 陶涛(1995—),男,江西抚州人,硕士研究生,主要研究方向:个性化推荐; 张钟旺(1997—),男,福建三明人,硕士研究生,主要研究方向:个性化推荐; 王一蕾(1979—),女,福建福州人,副教授,博士,CCF会员,主要研究方向:文本挖掘、数据安全、隐私保护。
This work is partially supported by Natural Science Foundation of Fujian Province (2018J01799).
CHEN Xueqin, born in 1997, M. S. candidate. His research interests include personalized recommendation.
TAO Tao, born in 1995, M. S. candidate. His research interests include personalized recommendation.
ZHANG Zhongwang, born in 1997, M. S. candidate. His research interests include personalized recommendation.
WANG Yilei, born in 1979, Ph. D., associate professor. Her research interests include text mining, data security, privacy protection.