CN115525835A - 一种长短期注意力循环网络推荐方法 - Google Patents

一种长短期注意力循环网络推荐方法 Download PDF

Info

Publication number
CN115525835A
CN115525835A CN202210965065.4A CN202210965065A CN115525835A CN 115525835 A CN115525835 A CN 115525835A CN 202210965065 A CN202210965065 A CN 202210965065A CN 115525835 A CN115525835 A CN 115525835A
Authority
CN
China
Prior art keywords
long
short
term interest
term
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210965065.4A
Other languages
English (en)
Inventor
申情
牟立波
楼俊钢
朱绍军
刘洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huzhou University
Original Assignee
Huzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huzhou University filed Critical Huzhou University
Priority to CN202210965065.4A priority Critical patent/CN115525835A/zh
Publication of CN115525835A publication Critical patent/CN115525835A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了一种长短期注意力循环网络推荐方法,包括以下步骤:S1.对于短期兴趣,采用应用Dice函数的激活单元计算用户短期兴趣相似性得分,使用SoftMax函数对相似性得分进行归一化,然后与当前会话对应时间步的隐向量相乘求和得到短期兴趣表示向量;S2.对于长期兴趣,将GRU网络增加两个时间门改进为包含双时间门的Time‑GRU网络,引入时间信号用以捕捉用户的超长行为序列,并引入自学习注意力层进一步抽取用户长期兴趣,得到长期兴趣表示向量;S3.对长短期兴趣进行拼接融合,使用交叉熵作为目标函数计算点击概率分布。该方法能够避免因用户行为高度不确定造成的时序捕捉不足,导致匿名会话用户行为预测异常困难的问题,减少超长序列捕捉中信息远距离传播损失。

Description

一种长短期注意力循环网络推荐方法
【技术领域】
本发明涉及信息技术的技术领域,特别是一种长短期注意力循环网络推荐方法。
【背景技术】
推荐***(Recommender systems,RSs)已经发展成为一种基本工具,在日益超载的数字经济时代,其角色变得愈发重要,并且成功应用于各个领域。如基于内容的RSs,基于协同过滤的RSs,以及将前两者结合起来的混合RSs。然而,传统方法通常假设用户所有历史交互对当前偏好同等重要,这在现实世界很难成立,为弥补传统RSs方法的不足,近年来基于会话的推荐***(Session-based Recommender systems,SRSs)受到广泛关注。
虽然相较于传统的方法有了较大提升,但是大多数基于循环神经网络RNN的方法却忽视了用户点击两个项目之间的时间间隔,而加入时间信息有助于提高模型的性能。时间间隔就是在当前会话点击两个项目之间的时间,例如:用户对于鼠标与显卡的停留时间较长,而在鞋子停留的时间较短。所以对于用户而言,可能对于电脑相关的项目感兴趣。而对于鞋子可能是用户误触点击或者是不感兴趣。由此可知,时间间隔的长短,可以表达用户的喜好程度。为了让只能学习用户行为顺序的RNN利用时间信息,增加时间门可以有效解决这个问题,并且提高模型性能。
对于推荐***最经典的方法就是通过用户的历史行为做推荐的协同过滤(Collaborative Filtering,CF)方法。例如矩阵分解(Matrix Factorization,MF),其是将用户与物品映射到一个低维的潜在空间中,但是对于匿名会话来说这是不切实际的,并且用户的喜好只靠一些点击提供。一种自然的解决方法是基于项目的邻域方法,其中项目相似度矩阵是由同一会话内的共现次数预先计算的,但是对于会话推荐来说,对于顺序的建模也是重要的。随之采用马尔可夫决策过程(Markov decision process,MDPs)作为解决方案,通过使用序列数据,根据上一个被点击的项目预测下一个被点击的项目。然而,基于马尔可夫链的模型的主要缺点是只能对相邻动作之间的局部顺序行为建模,而没有考虑会话上下文所传递的全局信息。
最近的基于神经网络模型在自然语言模型中被广泛应用。而RNN在对语句建模最为成功,如机器翻译、会话机器。随着其在自然语言中的成功应用,自然的RNN也应用到了基于会话的推荐中。Hidasi等人提出来的GRU4REC是RNN在基于会话邻域中的第一次尝试,其良好的性能远超过一些传统的方法,这也说明了神经网络的有效性。Tan等人通过两个技巧提高了GRU4REC的表现,即数据增强技术与考虑用户行为的时间转移。随后Zhu等人,通过增加时间门改进了LSTM的表现,捕捉用户的长期兴趣与短期兴趣。Jannach]等人通过递归方法和基于邻域的方法结合在一起,混合序列模式和共现信号。随着注意力机制的广泛应用,同样也被应用到了基于会话的推荐***中。Li等人是第一个将注意力机制运用到上面的人,其通过一种基于RNN的编码与解码器做推荐,利用RNN上的注意机制捕捉用户的顺序行为特征和主要目的。随后Liu等人通过一个简单的注意力层,来捕获用户的长期兴趣与短期兴趣,并取得了良好的性能表现。然后Zang等人利用了时间信息,以及一个多头注意力机制,将捕获的短期兴趣与长期兴趣,通过一个门控策略融合做推荐。
【发明内容】
本发明的目的就是解决现有技术中因用户行为高度不确定造成的时序捕捉不足,导致匿名会话用户行为预测异常困难的问题,提出一种长短期注意力循环网络推荐方法,能够减少超长序列捕捉中信息远距离传播损失。
为实现上述目的,本发明提出了一种长短期注意力循环网络推荐方法,包括以下步骤:
S1.对于短期兴趣,采用应用Dice函数的激活单元计算用户短期兴趣相似性得分,使用SoftMax函数对相似性得分进行归一化,然后与当前会话对应时间步的隐向量相乘求和得到短期兴趣表示向量;
S2.对于长期兴趣,利用时间信息对GRU网络改进,将GRU网络增加两个时间门改进为包含双时间门的Time-GRU网络,通过Time-GRU网络引入时间信号用以捕捉用户的超长行为序列,并引入自学习注意力层进一步抽取用户长期兴趣,得到长期兴趣表示向量;
S3.将短期兴趣表示向量、长期兴趣表示向量进行拼接融合,使用交叉熵作为目标函数计算点击概率分布。
作为优选,该方法的实现基于长短期注意力推荐模型,该模型包括嵌入层、短期兴趣提取模块、长期兴趣提取模块、长短期兴趣融合与预测模块;所述嵌入层用于将高维向量编码进行低维隐向量的变换,所述短期兴趣提取模块、所述长期兴趣提取模块分别用于提取短期兴趣表示向量、长期兴趣表示向量,所述长短期兴趣融合与预测模块采用融合策略为将短期兴趣表示向量、长期兴趣表示向量按最后一个维度进行拼接。
作为优选,所述嵌入层采用如下公式实现低维隐向量的变换:
ei=Wi·i#(1)
其中,ei表示的是项目i的低维隐向量表示,
Figure BDA0003794274900000021
表示的是嵌入矩阵,d表示的是隐向量ei的维数,最后将当前会话的点击列表转化成C=[e1,e2,...,el]。
作为优选,步骤S1具体包括如下步骤:
S1.1所述激活单元的计算过程是将短期注意力表示向量与第n个时间步点击隐向量做外积,然后将得到的值与短期注意力表示向量与隐向量进行最后一个维度的拼接;
S1.2使用Dice激活函数,得到时间步n的相似得分权重Jn
Jn=ActivationUnit(en,el)#(2)
其中,n代表第n个时间步,且1≤n≤l;
S1.3使用SoftMax归一化函数,使得与目标项更相关的上下文项被赋予更大的权重:
Figure BDA0003794274900000031
S1.4将得到的注意力分数K与当前会话对应时间步的隐向量相乘求和得到短期兴趣表示向量ES:
Figure BDA0003794274900000032
作为优选,步骤S2具体包括如下步骤:
S2.1Time-GRU的总体公式如下:
Hn=Time-Gru(en,Hn-1,tn)#(5)
其中,表示第n个时间步的隐藏状态向量
Figure BDA0003794274900000033
时间间隔tn的单位为秒,n代表第n个时间步,且1≤n≤l;
S2.2传统GRU分为两个门,分别为重置门和更新门,其整体的公式如下所示:
Rn=σ(Wnren+WhrHn-1+br)#(6)
Zn=σ(Wnzen+WhzHn-1+bz)#(7)
Figure BDA0003794274900000034
Figure BDA0003794274900000035
其中,Rn表示的是重置门,Zn表示的是更新门,
Figure BDA0003794274900000036
表示的是候选隐藏状态,Hn表示的是当前时间步n的隐藏状态输出;所述Time-Gru在传统GRU的基础上增加了两个时间门,来作用于更新门上,设置的两个时间门以及修改之后的更新门,重置门公式如下:
Tn1=σ(Wnt1en+Wt1tn+bt1)#(10)
Z′n=Zn-Zn⊙Tn1#(11)
Tn2=σ(Wnt2en+Wt2tn+bt2)#(12)
R′n=Rn-Rn⊙Tn2#(13)
其中,可知Tn1,Zn∈(0,1)之间,则有Zn⊙Tn1∈(0,Zn)之间,最后得到Z′n1∈(0,1)之间,R′n同理;所以候选隐藏状态的公式与时间步n的隐藏状态公式为:
Figure BDA0003794274900000037
Figure BDA0003794274900000038
S2.3对于经过Time-Gru输出的第n个时间步隐藏状态Hn,与上下文共享权重Wh进行内积求和,并且经过Dice激活函数进行非线性转化得到了第n个时间步的输出Mn
Figure BDA0003794274900000039
其中,共享权重
Figure BDA00037942749000000310
f(·)表示的是Dice激活函数;通过计算出注意力得分后与隐藏状态向量进行加权平均得出长期兴趣表示向量EL
Figure BDA0003794274900000041
作为优选,步骤S3具体包括如下步骤:
S3.1将短期兴趣表示向量ES、长期兴趣表示向量EL拼接之后送入单层感知机中,得到融合向量EF
EC=concat(EL,ES)#(18)
EF=f(WFEC+bF)#(19)
其中,参数矩阵
Figure BDA0003794274900000042
偏置
Figure BDA0003794274900000043
f(·)表示的是Dice激活函数;
S3.2用点积算取与所有物品之间的相似性得分,然后经过Softmax得到y=[y1,y2,...,y|I|],y代表的含义是点击下一个物品的概率,|I|表示的是所有项目的总数,具体计算如下所示:
Figure BDA0003794274900000044
其中,Emb表示的是所有项目的低维隐向量的嵌入矩阵,u表示的是索引,且1≤u≤|I|;
S3.2将结果经过Softmax归一化:
Figure BDA0003794274900000045
算出了概率向量之后,拟合下一次点击的概率分布,使用交叉熵作为目标函数:
Figure BDA0003794274900000046
本发明的有益效果:本发明中强调了对用户的长期兴趣与短期兴趣建模的重要性,提出了长短期注意力循环网络,用于基于会话的推荐。对于短期兴趣,本发明引入了一个注意力层来得到用户的短期兴趣向量。其使用了一个激活单元来计算注意力得分,这一点明显的优于用点积来计算注意力得分。由于引入时间信号有助于推荐,所以本发明对GRU进行了改进,增加两个时间门来利用时间信息,并且将每个时间步的隐藏向量输入到一个自学习注意层中来得到用户的长期兴趣向量。在两个真实世界的数据集中实验结果的表现,都说明了本发明提出模型减少了超长序列捕捉中信息远距离传播损失,提高了会话用户行为预测的准确性。
本发明的特征及优点将通过实施例结合附图进行详细说明。
【附图说明】
图1是本发明一种长短期注意力循环网络推荐方法的LARN模型结构图;
图2是短期兴趣提取模块细节的结构图;
图3是Time-Gru的结构图;
图4是长期注意力层的结构图。
【具体实施方式】
本发明对于短期兴趣引注意力层来得到用户的短期兴趣向量,对于长期兴趣使用Tme-Gru,即使用两个时间门来改进传统的GRU,利用时间间隔信息对用户的行为顺序建模,将输出的隐藏状态再经过可学习的注意力层动态学习长期兴趣。由于最后一次点击可以很大的反应用户的短期兴趣,所以用一个激活单元计算与短期兴趣相似的项目,而不是用传统点积方法计算。下面对本发明的实施方法进行详细说明。
1长短期注意力推荐模型
本发明采用的长短期注意力推荐模型(LARN)由嵌入层、短期兴趣提取模块、长期兴趣提取模块、长短期兴趣融合与预测模块这四个部分组成,LARN模型的整体图如图1所示。
1.1相关定义
为了方便阅读,将对一些模型中用到的符号进行说明。I=[i1,i2,...,i|I|]表示的是所有项目的集合,|I|表示的是所有项目的总数。S=[s1,s2,...,s|S|]表示的是所有的会话集合,其中的|S|表示的是所有会话的总数。对于匿名会话,每一个会话s可以用列表s=[(i1,t1),(i2,t2),...,(il,tl)]表示,整个列表是通过时间戳进行排序的。n代表第n个时间步,且1≤n≤l,其中的tn表示的是点击当前项目in和点击下一个项目in+1之间的时间间隔。对于会话的目标就是给定当前会话s的前缀序列来预测下一个项目il+1。可以把基于会话推荐看成一个排序模型,对于模型的输出y=[y1,y2,...,y|I|],其中的yn表示的是点击项目in的概率,然后将得到的输出y,将概率分数从高到低排序,然后进行一个列表推荐。
1.2嵌入层
嵌入层的作用是将高维向量编码进行低维隐向量的变换。如one-hot编码,对于一个商品向量的维数是商品的种类,而向量每一维代表一种商品,其中维数将达到百万甚至千万,这种低香农熵的表示,不仅不能够表示商品的潜在特征还会带来维数灾难,对于嵌入层会将one-hot编码进行转换成低维的隐向量。
ei=Wi·i#(1)
其中,ei表示的是项目i的低维隐向量表示。
Figure BDA0003794274900000051
表示的是嵌入矩阵,d表示的是隐向量ei的维数,最后就将当前会话的点击列表转化成C=[e1,e2,...,el]。
1.3短期兴趣提取模块
对于基于会话的推荐***来说,推荐任务一般是对下一个物品的推荐,而用户最近的浏览对于下一次推荐任务扮演重要角色,所以对短期兴趣的建模十分重要。早期的研究中虽然对于短期兴趣也有建模,但是之间的交互却是线性的,项目被赋予相同的权重,这样无法反映这些项目对下一个项目预测的影响,限制了模型的性能。不同的项目应该赋予不同的权重。例如用户最近喜欢电子产品,而在整个会话中就应当给点击过的电子产品更高的权重,与之不相关的给更低的权重,最终学习到的短期兴趣就偏重于电子产品。所以本模块使用注意力机制对短期兴趣进行建模,得到短期兴趣表示向量。
1.3.1短期注意力层
当前会话的最后一次点击对于短期兴趣的抽取有着重要的作用,这点会在实验中证明。所以这里用最后一次点击作为key,用户在当前会话点击的所有项目作为query与key做注意力得分,短期兴趣注意力层如图2(a)所示.
而对于注意力得分计算的方法可以使用内积,对于低维向量而言,简单的内积无法拟合出显性相似度的结果,限制模型的表达,但是加大隐向量的维度又会有过拟合的风险并且加重训练负担。本发明提出了激活单元,如图2(b)所示。激活单元计算过程是将短期注意力表示向量与第n个时间步点击隐向量做外积,然后将得到的值与前两者进行最后一个维度的拼接。为了提高模型的泛化能力,并带来良好性能,多层感知机MLP(multilayerperceptron,MLP)在深度学习邻域被广泛使用,多层感知机的结构经过实验设置为(64,64,64),并且使用Dice激活函数。Dice激活函数优点就是不仅解决了独立同分布问题,而且减少了因为落在激活函数饱和区而带来的梯度消失,加速了模型的训练的同时还带来了非线性的变换。最后输出时间步n的相似得分权重Jn
Jn=ActivationUnit(en,el)#(2)
本发明计算出注意力得分之后使用了SofiMax归一化函数,原因是Softmax具有放大效果,即如果注意力分数差异过大,则这种差异经过Softmax指数运算后放大。所以可以使得与目标项更相关的上下文项被赋予更大的权重。
Figure BDA0003794274900000061
最后将得到的注意力分数K与当前会话对应时间步的隐向量相乘求和得到短期兴趣表示向量ES
Figure BDA0003794274900000062
生成短期兴趣表示向量的具体过程如算法1所示:
Figure BDA0003794274900000063
1.4长期兴趣提取模块
由于长期兴趣通常随时间而变化,并且不同用户的兴趣也是不一样的,因此学习静态长期偏好表示无法完全表达动态的长期偏好。所以本模块设计了带有时间门的循环门控单元动态的抽取用户的长期偏好,来捕捉用户的超长行为序列。同时用一个长期注意力层,进一步抽取用户长期兴趣,最后得到长期兴趣表示向量。
1.4.1Time-GRU
对于传统的RNN只能对顺序序列进行建模,而忽视了点击的项目与项目之间的时间间隔。而时间间隔的加入有助于改善对超长序列的捕捉,这一点将在实验中说明。时间间隔对于顺序建模是十分重要的因素,例如时间间隔长就说明对该项目的兴趣高,所以应该增大对当前隐藏状态输出的影响,而对于时间间隔短的点击,就可以减小对当前隐藏状态输出的影响。所以隐藏状态会一直保留感兴趣的项目,而更加忽视不感兴趣的项目,或者误点击的项目。Time-GRU单元的总体公式如下:
Hn=Time-Gru(en,Hn-1,tn)#(5)
其中,表示第n个时间步的隐藏状态向量
Figure BDA0003794274900000071
时间间隔tn的单位为秒。为了更好的对比Time-GRU与传统的GRU的不同,接下来先简单介绍一下传统GRU,然后再介绍Time-Gru单元。
对于传统的GRU分为两个门,分别为重置门和更新门,其整体的公式如下所示:
Rn=σ(Wnren+WhrHn-1+br)#(6)
Zn=σ(Wnzen+WhzHn-1+bz)#(7)
Figure BDA0003794274900000072
Figure BDA0003794274900000073
其中,Rn表示的是重置门,其决定了如何将新的输入信息与前面的记忆相结合,Zn表示的是更新门,更新门定义了前面记忆保存到当前时间步的量,
Figure BDA0003794274900000074
表示的是候选隐藏状态,Hn表示的是当前时间步n的隐藏状态输出。
本发明提出的Time-Gru在传统GRU的基础上增加了两个时间门,来作用于更新门上,起到过滤噪音的目的。具体的Time-Gru结构图如图3所示,浅色线条部分表示的是相对于GRU增加的部分。设置的两个时间门以及修改之后的更新门,重置门公式如下:
Tn1=σ(Wnt1en+Wt1tn+bt1)#(10)
Z′n=Zn-Zn⊙Tn1#(11)
Tn2=σ(Wnt2en+Wt2tn+bt2)#(12)
R′n=Rn-Rn⊙Tn2#(13)
其中,可知Tn1,Zn∈(0,1)之间,则有Zn⊙Tn1∈(0,Zn)之间,最后得到Z′n∈(0,1)之间。同样可知Tn2,Rn∈(0,1)之间,则有Rn⊙Tn2∈(0,Rn)之间,最后得到R′n∈(0,1)之间。所以候选隐藏状态的公式与时间步n的隐藏状态公式为:
Figure BDA0003794274900000075
Figure BDA0003794274900000076
当时间间隔越长则表明用户对当前项目更感兴趣,对于Z′n得到的值就越小,那么Z′n⊙Hn-1就越小,从而减小上一时间步所带来的影响,融合更多当前时间步的信息,从而有效的过滤掉一些噪音,减小了兴趣漂移现象。
1.4.2长期注意力层
为了进一步抽取长期兴趣,将Time-Gru输出的隐藏状态输入到长期注意力层中,从而使得整个注意力层考虑了上下文信息以及时间间隔信息。为了更好地捕捉不同时刻隐藏状态的不同贡献程度,设计了一个可学习的注意力层来自动和有效地学习集成权重,本发明中没有增加Softmax层,由于注意力分数差异呈指数放大,以至于最大的分数接近1,而其他的隐藏状态得分趋近0,而用户的长期兴趣应该是多样的,所以本发明直接将注意力得分与隐藏状态加权求和。长期注意力层的构造如图4所示,接下来的部分将阐述长期注意力层是如何加权求和的。
对于经过Time-Gru输出的第n个时间步隐藏状态Hn,与上下文共享权重Wh进行内积求和,并且经过Dice激活函数进行非线性转化得到了第n个时间步的输出Mn
Figure BDA0003794274900000081
其中,共享权重
Figure BDA0003794274900000082
f(·)表示的是Dice激活函数。通过计算出注意力得分后与隐藏状态向量进行加权平均得出长期兴趣表示向量EL
Figure BDA0003794274900000083
生成长期兴趣表示向量的具体过程如算法2所示:
Figure BDA0003794274900000084
1.5长短期兴趣融合与预测模块
通过短期兴趣提取模块和长期兴趣提取模块分别得到了短期兴趣表示向量ES以及长期兴趣表示向量EL。对于长短期兴趣向量的融合策略采用的是将两者按最后一个维度进行拼接,当然也可用Max Pooling等方式进行融合,但是这样会损失很多信息。与短期兴趣提取模块类似,送入单层感知机中,得到融合向量EF
EC=concat(EL,ES)#(18)
EF=f(WFEC+bF)#(19)
其中,参数矩阵
Figure BDA0003794274900000085
偏置
Figure BDA0003794274900000086
f(·)表示的是Dice激活函数。如图1中融合与预测模块所示,用点积算取与所有物品之间的相似性得分,然后经过Softmax得到y=[y1,y2,...,y|I|],y代表的含义是点击下一个物品的概率。具体计算如下所示:
Figure BDA0003794274900000091
其中,Emb表示的是所有项目的低维隐向量的嵌入矩阵,u表示的是索引,且1≤u≤|I|。最后将结果经过Softmax归一化。
Figure BDA0003794274900000092
算出了概率向量之后,接下来就是拟合下一次点击的概率分布,这里使用交叉熵作为目标函数:
Figure BDA0003794274900000093
生成概率向量的具体过程如算法3所示:
Figure BDA0003794274900000094
2实验分析
2.1实验设置
2.1.1数据集
本研究在两个真实世界的代表性数据集Yoochoose和Diginetica上评估了所提出的方法。yoochoose数据集来自2015年RecSys挑战赛,其中包含了6个月内用户在电子商务网站上的点击流。Diginetica数据集来自2016年CIKM杯,并且都仅使用其交易数据。为了公平比较,长度为1的会话,在两个数据集中出现次数少于5次的项目,以及在测试集中没有出现在训练集中的项目都被过滤掉,对于Yoochoose就剩下798,1580个会话和37,483个项目,而Diginetica就剩下204,771个会话和43097个项目。拆分每个序列来扩充数据,具体的方法是对于某一会话序列s=[(i1,t1),(i2,t2),...,(il,tl)],这里将会话划分为一系列序列以及对应的标签([(i1,t1)],i2),...,([(i1,t1),(i2,t2),...,(il-1,tl-1)],il)。对于Diginetica而言训练集与测试集的划分,实验使用最后一个星期的会话的作为测试集,之前的作为训练集。而对于Yoochoose使用最后一天的会话作为测试集,剩下的作为训练集,但是与Diginetica不同的是,由于Yoochoose数据集过于庞大所以实验使用了最近的前1/64的会话作为训练集。数据集的具体信息如表1所示。
表1两个数据集具体信息
Figure BDA0003794274900000101
2.1.2对比方法
·Item-KNN:一种基于计算候选项目与现有项目余弦相似度的推荐方法。
·BPR-MF:结合了矩阵分解模型和贝叶斯个性化排序损失的传统方法。
·FPMC:一种矩阵分解与马尔可夫链结合方法,用来捕捉长期兴趣和顺序信息。
·GRU4REC:一种基于GRU的RNN会话推荐模型。
·Time-LSTM:一种对RNN进行改进的模型,通过增加多个时间门对长短期兴趣进行捕捉。
·NARM:通过GRU与注意力机制,从隐藏状态中捕捉用户的行为序列与主要意图。
·STAMP:一种考虑最后一次点击的方法,通过注意力机制对一般和当前兴趣进行捕捉。
·SR-GNN:一种基于会话的图神经网络模型,其考虑了会话序列项之间的复杂结构和转换,并且将长期偏好和当前会话兴趣相结合做推荐。
·MAPN:一种基于时间间隔与多头注意力来捕捉长短期兴趣的方法,最后将长短期兴趣通过Gated fusion策略相融合来做下一个项目的推荐。
2.1.3评估指标
使用在基于会话推荐***领域中用的最广的两种评价指标用来评估所有模型。
·Recall@20:用来衡量预测的准确性。Recall@K表示的是被推荐的项目在推荐排序列表中位于前K位的比例。
Figure BDA0003794274900000102
其中,N表示的是整个测试样本的数量,而nhit表示的是测试样本出现在推荐排序列表前K位的次数。
·MRR@20:被推荐物品排名倒数的平均。如果被推荐物品不在前K位,则此待推荐物品的排名倒数设置为0。
Figure BDA0003794274900000103
其中,D表示的是整个训练集,Rank(t)表示的是待推荐物品t在推荐排序列表中的排名。MRR由于考虑了顺序,所以当其在推荐排序列表中越靠前则其值越大。
2.1.4参数设置
从训练集中随机取出10%作为验证集,用来对超参数的调整,超参数通过网格搜索策略,并且使用早停技术,当在验证集中Recall@20指标连续两个Epoch的增幅小于0.0001,则停止训练并且将参数回退至最佳状态。超参数的设置为:学习率η设置为0.003,并且学习率在第3个Epoch和第5个Epoch分别衰减1和2,同时使用Adam作为优化器。为了预防过拟合,在长短期融合层的Dense层与激活单元中的MLP层分别增加了Dropout层,Dropout率分别为0.4与0.2。对于mini-batch大小的设置在Yoochoose1/64数据集上采用的128,Diginetica采用的258。隐向量维度与隐藏状态维度都设置为128。该模型是用Tensorflow编写的,并在NVIDIA的TeslaV100-Sxm2-32gb上进行训练。
2.2与基线方法比较(RQ1)
基于两个数据集的具体表现如表2所示,每列的最佳结果用加粗字体显示。接下来对这些模型进行比较分析。
表2 LARN与其他Baselines在两个数据集上的性能
Figure BDA0003794274900000111
对于传统方法如BPR-MF,FPMC,Item-KNN来说总体的性能是远低于深度学习方法,缺少竞争力,原因是传统方法没有考虑到行为上下文。Item-KNN效果在传统方法中表现最优,这表明比基于马尔可夫链的FPMC和基于矩阵分解的BPR-MF表现是要好的,但是Item-KNN只是学习了项目之间的余弦相似性,缺少了对顺序的学习。
基于深度学习的方法都明显好过与传统方法,如SR-GNN,STAMP,所以说明了神经网络在SRS领域中的有效性。GRU4REC在深度学习方法中表现最差,这表明仅仅用GRU对顺序行为建模是不足够的,而Time-LSTM相比于GRU而言效果有了很大的提升,说明增加了时间门的RNN有助于对顺序的捕捉。同样是基于RNN建模的NARM,其显示的为每个用户的行为建模,并且用到了带有注意力机制的混合编码器,这对于重要信息的捕捉有着很明显的效果,效果比Time-LSTM好,这说明加入注意力机制的有效性,所以本发明提出的模型在两个数据集的Recall@20指标上比没有注意力机制的Time-LSTM分别高了5.12%和11.82%。而模型的Recall@20指标在两个数据集上比NARM分别高了4.29%,6.04%这又说明了时间信息与多个注意力的建模有着更好的效果。
对于同样考虑了长期效益与短期效益的方法,如STAMP,SR-GNN,MPAN,本发明提出的模型都要优于前三者。对于STAMP而言虽然同样考虑了长短期效益而且将最后一次点击作为短期效益,但是本发明提出的模型对每个用户的行为序列进行了建模,并且使用了两个注意力去分别学习长期与短期兴趣。对于MPAN和本发明提出的模型都考虑了时间信息,但是本发明使用的是TIME-GRU来捕捉时间信号,可以更好的学习用户的行为序列,虽然在YOOCHOOSE1/64的MRR@20指标上略低于MPAN,对此的猜测是和MPAN用了多头注意力去学习用户的多种兴趣,所以表现得可能略好一些。而本发明提出的模型比图神经网络SR-GNN的表现好的原因是在其在构建图时存在信息损失以及无效的长期依赖。
上述实施例是对本发明的说明,不是对本发明的限定,任何对本发明简单变换后的方案均属于本发明的保护范围。

Claims (6)

1.一种长短期注意力循环网络推荐方法,其特征在于:包括以下步骤:
S1.对于短期兴趣,采用应用Dice函数的激活单元计算用户短期兴趣相似性得分,使用SoftMax函数对相似性得分进行归一化,然后与当前会话对应时间步的隐向量相乘求和得到短期兴趣表示向量;
S2.对于长期兴趣,利用时间信息对GRU网络改进,将GRU网络增加两个时间门改进为包含双时间门的Time-GRU网络,通过Time-GRU网络引入时间信号用以捕捉用户的超长行为序列,并引入自学习注意力层进一步抽取用户长期兴趣,得到长期兴趣表示向量;
S3.将短期兴趣表示向量、长期兴趣表示向量进行拼接融合,使用交叉熵作为目标函数计算点击概率分布。
2.如权利要求1所述的一种长短期注意力循环网络推荐方法,其特征在于:该方法的实现基于长短期注意力推荐模型,该模型包括嵌入层、短期兴趣提取模块、长期兴趣提取模块、长短期兴趣融合与预测模块;所述嵌入层用于将高维向量编码进行低维隐向量的变换,所述短期兴趣提取模块、所述长期兴趣提取模块分别用于提取短期兴趣表示向量、长期兴趣表示向量,所述长短期兴趣融合与预测模块采用融合策略为将短期兴趣表示向量、长期兴趣表示向量按最后一个维度进行拼接。
3.如权利要求2所述的一种长短期注意力循环网络推荐方法,其特征在于:所述嵌入层采用如下公式实现低维隐向量的变换:
ei=Wi·i#(1)
其中,ei表示的是项目i的低维隐向量表示,
Figure FDA0003794274890000011
表示的是嵌入矩阵,d表示的是隐向量ei的维数,最后将当前会话的点击列表转化成C=[e1,e2,...,el]。
4.如权利要求2所述的一种长短期注意力循环网络推荐方法,其特征在于:步骤S1具体包括如下步骤:
S1.1所述激活单元的计算过程是将短期注意力表示向量与第n个时间步点击隐向量做外积,然后将得到的值与短期注意力表示向量与隐向量进行最后一个维度的拼接;
S1.2使用Dice激活函数,得到时间步n的相似得分权重Jn
Jn=ActivationUnit(en,el)#(2)
其中,n代表第n个时间步,且1≤n≤l;
S1.3使用SoftMax归一化函数,使得与目标项更相关的上下文项被赋予更大的权重:
Figure FDA0003794274890000012
S1.4将得到的注意力分数K与当前会话对应时间步的隐向量相乘求和得到短期兴趣表示向量ES
Figure FDA0003794274890000013
5.如权利要求2所述的一种长短期注意力循环网络推荐方法,其特征在于:步骤S2具体包括如下步骤:
S2.1 Time-GRU的总体公式如下:
Hn=Time-Gru(en,Hn-1,tn)#(5)
其中,表示第n个时间步的隐藏状态向量
Figure FDA0003794274890000021
时间间隔tn的单位为秒,n代表第n个时间步,且1≤n≤l;
S2.2传统GRU分为两个门,分别为重置门和更新门,其整体的公式如下所示:
Rn=σ(Wnren+WhrHn-1+br)#(6)
Zn=σ(Wnzen+WhzHn-1+bz)#(7)
Figure FDA0003794274890000022
Figure FDA0003794274890000023
其中,Rn表示的是重置门,Zn表示的是更新门,
Figure FDA0003794274890000024
表示的是候选隐藏状态,Hn表示的是当前时间步n的隐藏状态输出;所述Time-Gru在传统GRU的基础上增加了两个时间门,来作用于更新门上,设置的两个时间门以及修改之后的更新门,重置门公式如下:
Tn1=σ(Wnt1en+Wt1tn+bt1)#(10)
Z′n=Zn-Zn⊙Tn1#(11)
Tn2=σ(Wnt2en+Wt2tn+bt2)#(12)
R′n=Rn-Rn⊙Tn2#(13)
其中,可知Tn1,Zn∈(0,1)之间,则有Zn⊙Tn1∈(0,Zn)之间,最后得到Z′n1∈(0,1)之间,R′n同理;所以候选隐藏状态的公式与时间步n的隐藏状态公式为:
Figure FDA0003794274890000025
Figure FDA0003794274890000026
S2.3对于经过Time-Gru输出的第n个时间步隐藏状态Hn,与上下文共享权重Wh进行内积求和,并且经过Dice激活函数进行非线性转化得到了第n个时间步的输出Mn
Figure FDA0003794274890000027
其中,共享权重
Figure FDA0003794274890000028
f(·)表示的是Dice激活函数;通过计算出注意力得分后与隐藏状态向量进行加权平均得出长期兴趣表示向量EL
Figure FDA0003794274890000029
6.如权利要求2所述的一种长短期注意力循环网络推荐方法,其特征在于:步骤S3具体包括如下步骤:
S3.1将短期兴趣表示向量ES、长期兴趣表示向量EL拼接之后送入单层感知机中,得到融合向量EF
EC=concat(EL,ES)#(18)
EF=f(WFEC+bF)#(19)
其中,参数矩阵
Figure FDA0003794274890000031
偏置
Figure FDA0003794274890000032
f(·)表示的是Dice激活函数;
S3.2用点积算取与所有物品之间的相似性得分,然后经过Softmax得到y=[y1,y2,...,y|I|],y代表的含义是点击下一个物品的概率,|I|表示的是所有项目的总数,具体计算如下所示:
Figure FDA0003794274890000033
其中,Emb表示的是所有项目的低维隐向量的嵌入矩阵,u表示的是索引,且1≤u≤|I|;
S3.2将结果经过Softmax归一化:
Figure FDA0003794274890000034
算出了概率向量之后,拟合下一次点击的概率分布,使用交叉熵作为目标函数:
Figure FDA0003794274890000035
CN202210965065.4A 2022-08-12 2022-08-12 一种长短期注意力循环网络推荐方法 Pending CN115525835A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210965065.4A CN115525835A (zh) 2022-08-12 2022-08-12 一种长短期注意力循环网络推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210965065.4A CN115525835A (zh) 2022-08-12 2022-08-12 一种长短期注意力循环网络推荐方法

Publications (1)

Publication Number Publication Date
CN115525835A true CN115525835A (zh) 2022-12-27

Family

ID=84695184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210965065.4A Pending CN115525835A (zh) 2022-08-12 2022-08-12 一种长短期注意力循环网络推荐方法

Country Status (1)

Country Link
CN (1) CN115525835A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113537552A (zh) * 2021-04-28 2021-10-22 桂林电子科技大学 基于混合深度学习及注意力机制的学生表现预测方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113537552A (zh) * 2021-04-28 2021-10-22 桂林电子科技大学 基于混合深度学习及注意力机制的学生表现预测方法

Similar Documents

Publication Publication Date Title
Xie et al. Contrastive learning for sequential recommendation
CN111125538B (zh) 一个利用实体信息增强个性化检索效果的搜索方法
Qiao et al. Word-character attention model for Chinese text classification
CN115422369B (zh) 基于改进TextRank的知识图谱补全方法和装置
Wu et al. Leveraging neighborhood session information with dual attentive neural network for session-based recommendation
Zhang et al. MBPI: Mixed behaviors and preference interaction for session-based recommendation
Chen et al. Session-based recommendation: Learning multi-dimension interests via a multi-head attention graph neural network
Zhou et al. Profiling temporal learning interests with time-aware transformers and knowledge graph for online course recommendation
Zhang et al. Dual part-pooling attentive networks for session-based recommendation
CN115525835A (zh) 一种长短期注意力循环网络推荐方法
Guo et al. Sequential dependency enhanced graph neural networks for session-based recommendations
Zhang et al. DSGNN: A dynamic and static intentions integrated graph neural network for session-based recommendation
Deng et al. Neural variational collaborative filtering with side information for top-K recommendation
Zeyu et al. Causal embedding of user interest and conformity for long-tail session-based recommendations
Lv et al. Xdm: Improving sequential deep matching with unclicked user behaviors for recommender system
Pang et al. Efficient deep reinforcement learning-enabled recommendation
Pan et al. Enhanced Multi-Head Self-Attention Graph Neural Networks for Session-based Recommendation.
Yan et al. A personalized search query generating method for safety-enhanced vehicle-to-people networks
Zheng et al. Hierarchical collaborative embedding for context-aware recommendations
Lin et al. Transfer learning for collaborative recommendation with biased and unbiased data
Cheng et al. Accurate multi-interest modeling for sequential recommendation with attention and distillation capsule network
Gui et al. Training recurrent neural network on distributed representation space for session-based recommendation
Kumar et al. Next-item recommendation within a short session using the combined features of horizontal and vertical convolutional neural network
Leng et al. Hierarchical context-aware recurrent network for session-based recommendation
Daradkeh et al. Lifelong machine learning for topic modeling based on hellinger distance

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination