考虑用户意图和时间间隔的会话型深度学习推荐系统

阅读: 评论:0

第38卷第3期   计算机应用与软件
Vol 38No.32021年3月 
ComputerApplicationsandSoftware
Mar.2021
考虑用户意图和时间间隔的会话型深度学习推荐系统
刘浩翰 吕 鑫 李建伏
(中国民航大学计算机科学与技术学院 天津300300)
收稿日期:2019-08-09。刘浩翰,副教授,主研领域:图形图像与可视分析,推荐系统。吕鑫,硕士生。李建伏,副教授。
摘 要  基于循环神经网络的会话型推荐系统在建模用户点击行为时,无法同时考虑用户行为之间的时间间隔和用户的主要意图。针对该问题,在现有的基于注意力机制的会话型推荐系统和仅考虑用户行为时间间隔的Time LSTM的深度学习模型的基础上提出一个新的基于会话的推荐系统TAS
R。利用Time LSTM建模时间间隔影响用户行为,并利用注意力机制捕获用户的主要意图。在两个公开数据集上的实验验证了该算法的有效性。关键词  行为建模 基于会话的推荐系统 注意力机制 时间间隔 用户意图
中图分类号 TP3    文献标志码 A    DOI:10.3969/j.issn.1000 386x.2021.03.029
ASESSION BASEDDEEPLEARNINGRECOMMENDATIONSYSTEMCONSIDERING
USERPURPOSEANDTIMEINTERVAL
LiuHaohan LüXin LiJianfu
(SchoolofComputerScienceandTechnology,CivilAviationUniversityofChina,Tianjin300300,China)
Abstract  Thesession basedrecommendationsystemswithrecurrentneuralnetworkscannotsimultaneo
uslyconsiderthetimeintervalbetweenuserbehaviorsandtheuser’smainpurposewhenmodelinguserclickbehavior.Basedontheexistingsession basedrecommendationsystemwithattentionmechanismandthedeeplearningmodelofTime LSTMconsideringonlythetimeintervalofuserbehavior,anewsession basedrecommendationsystemnamedTASRisproposedinthispaper.ItusedTime LSTMtomodeltimeintervalstorefeltuserbehaviorandusedtheattentionmechanismtocapturetheuser smainintent.Theexperimentsontwopublisheddatasetsverifytheeffectivenessofthealgorithm.Keywords  Behaviormodeling Session basedrecommendationsystem Attentionmechanism Timeinterval Userpurpose
0 引 言
在Web应用中,会话是指一个终端用户与服务器端进行通信的过程。会话中记录了用户的浏览点击
行为,该行为包含了用户的兴趣偏好。基于会话的推荐系统的目的是根据会话中所包含的用户的点击序列记录挖掘用户的兴趣偏好,为用户推荐其下一步可能感兴趣的物品。现有的基于会话的推荐系统主要分为以下两大类:主回路电阻
第一类是基于传统方法的会话推荐系统,其基本思路是基于马尔可夫链建模用户的序列行为。如Shani
等[1]
提出了一种基于马尔可夫决策过程的会话推荐系
统。Zimdars等[2]
在马尔可夫链的基础上,提出利用概
率决策树模型提取序列模式。Chen等[3]
将播放列表
作为马尔可夫链,提出利用潜在马尔可夫嵌入来学习歌曲的表示,用来解决音乐播放列表推荐问题。
虽然理论上基于马尔可夫链的方法可以很好地建模用户的序列行为,但是当组成序列的物品集和产生序列的用户集足够大时,马尔可夫链所需的状态空间会非常大,且状态空间将迅速变得难以控制。此外,由于马尔可夫链建模时默认下一状态的概率分布只与当前状态有关,使其无法很好地解决用户行为间的长期依赖关系。
第二类是基于深度学习的会话型推荐系统。伴随着RNN在自然语言处理、语音识别和图像理解等领域
第3期   刘浩翰,等:考虑用户意图和时间间隔的会话型深度学习推荐系统191
中的成功应用,RNN因其处理序列数据的能力而得到了人们的关注。Hidasi等[4]首次将RNN成功应用在了基于会话的推荐系统中。Tan等[5]通过数据增强技术和特权信息方法改进了Hidasi等的工作。Zhang等[6]也提出利用RNN建模用户的序列点击行为。虽然以上研究都表明RNN能很好地对用户的序列行为进行建模,但是会话记录不同于一般的行为序列,除了包括用户的序列行为之外,其还有两个重要的特征:第一个特征是用户行为之间有时间间隔,并且行为之间的时间间隔对用户行为之间的联系有非常重要的影响[7];第二个特征是用户行为序列中往往包含很多无目的点击行为[8],这些无关的点击行为产生的噪声数据模糊了用户的主要意图,从而影响到推荐结果的质量。
针对会话数据的以上两个特征,人们分别开展了相关研究。
(1)针对行为间的时间间隔问题,Sheil等[8]提出了Time LSTM模型,其在标准的LSTM[9]中加入了类似于LSTM中门结构的两个时间门T1和T2,用来单独处理用户点击序列的时间间隔信息。Liu等[10]将用户的行为分为多种类型,利用RNN和log双线性模型分别建模用户多种行为之间的长期依赖关系和短期情景信息。通过将log双线性中的特定位置转移矩阵替换为时间特定的转移矩阵,用来捕获时差信息在用户行为历史中的影响,从而得到了一个时间感知的循环log双线性模型。Zhou等[11]提出了用户微动作及其持续时间对用户行为的影响。
(2)在用户意图方面,主要是利用注意力机制来消除用户无目的点击行为对捕获用户当前主要意图的影响。深度学习的注意力机制借鉴了人类视觉的注意力机制,其任务就是从众多信息中到对目标贡献最高的关键信息。Li等[12]通过一个混合的编码器同时建模用户的序列行为特征和用户意图。Liu等[13]提出利用用户1至t时刻的隐状态的均值、目标项目的向量表示、t时刻的隐状态来计算注意力机制的权重系数。最后根据权重计算用户最终的隐状态。
针对会话序列的两个特征,人们已经分别开展了相关研究,但是还没有出现能同时考虑两个特征的相关研究。本文同时考虑了时间间隔和用户主要意图的影响,提出一个新的基于会话的推荐系统(Ti
me AwareAttentiveSession basedRecommendation,TASR)。TASR为编码器 解码器结构。其中,编码器融合了现有的Time LSTM和注意力机制,利用Time LSTM建模时间间隔对用户行为的影响,采用注意力机制捕获用户的主要意图。最后两者的输出被拼接起来作为一个统一的会话表示,解码器根据该表示进行推荐。
1 基本概念
1.1 问题描述
假设U={u
,u
,…,u
}为用户集,X={x
,x
…,x
}为物品集,A={a
,a
…,a
}为评分集,代表
n种等级评分。对于每个用户u
,已知其会话点击及评
分序列为Sui:=[(xui
,aui
,tui
),(xui
,aui
,tui
),…,(xui
nu
aui
nu
,tui
nu
)],序列按照时间戳由小到大排列。其中(xui
aui
,tui
)表示用户u
在时刻tui
点击了第m个物品xui
,并bimp
做出了评分aui
。会话型推荐系统的目标就是根据用户的历史点击序列S,给出某个用户在某个时刻可能感兴趣的物品列表。
1.2 Time LSTM
Time LSTM一共有三个变种,依次为:只有一个时间门的Time LSTM1以及有两个时间门的Time LSTM2和Time LSTM3。与Time LSTM1相比后两种提高了算法的效果。Time LSTM2和Time LSTM3的时间门结构相同,但是Time LSTM3在不影响算法效果的前提下,采取耦合输入和遗忘门的方式减少了模型的参数。所以本文采用第三个变种。除非特别说明,下文中的Time LSTM均指其第三个变种。Time LSTM模型是在标准LSTM的基础上提出的。在LSTM中,每个细胞
包含了输入门i
、遗忘门f
、输出门o
。这些门机制采用了一定的策略来控制旧信息的丢弃与新信息的更新。即在当前细胞中,遗忘门控制旧信息的遗忘程度;输入门控制新信息的接受程度;输出门控制了当前时刻下,细胞状态的值有多少是可输出的。
Time LSTM借鉴LSTM的门机制,在LSTM的基础上增加两个时间门T1和T2,以实现时间间隔对用户当前行为和长期行为的影响的建模。其中T1根据当前行为与上一次行为之间的时间间隔的大小动态地计算当前用户行为对接下来推荐的影响,如式(1)所示。时间门T2用来计算时间间隔对用户行为的长期影响,如式(2)所示。
c~
=(1-i
⊙T1m)⊙cm-1+im⊙T1m⊙
σc(xmWxc+hm-1Whc+bc)(1)
=(1-i
)⊙c
m-1
+i
⊙T2m⊙
σc(xmWxc+hm-1Whc+bc)(2)
=σ
(x
xi
+h
m-1
hi
+w
ci
⊙cm-1+bi)(3)
=σ
(x
DAPD001
xo
+Δt
to
+h
m-1
hf
+w
co
⊙c~m+bo)(4)
=o
⊙σh(c~m)(5)
192   
计算机应用与软件
2021年
式中:W和b分别为参数矩阵和参数向量;σi和σo是Sigmoid函数;σc和σh是tanh函数;wci和wco是窥视孔连接权重。式(
3)为输入门,这里Time LSTM耦合了输入门和遗忘门。新的细胞状态c~m用来存储时间间隔信息,如式(4)和式(5)所示,它参与了输出门和隐状态hm的计算,进而决定了输出的内容。式(1)和式(2)中的T1m和T2m为激活函数,这两个激活函数实现了时间门的作用,其定义如下:
T1m=σ1(xmWx1+σΔ
t(ΔtmWt1)+b1)(6)
s.t. Wt1≤0
T2m=σ2(xmWx2+σΔ
t(ΔtmWt2)+b2)(7)
式中:Δtm是时间间隔;σΔt、σ1和σ2是Sigmoid激活函数。可以看出,当Δtm变小时,时间门T1m的值变大,放大了xm对当前预测的影响,即更能体现时间间隔对当前行为的影响;当Δtm变大,则T1m变小,xm的影响变小进而Cm-1的影响变大,即在不确定短期影响的时候,就增加长期的影响。由式(2)可以看出,T2m首先存储Δtm的影响,然后将其传递到Cm,Cm+1,…的更新当中,以便计算时间间隔对用户以后行为的长期影响。
1.3 编码器 解码器结构
编码器 解码器结构最初在机器翻译领域使用,由
Cho等[14]
提出。随着编码器 解码器结构在各领域的
应用,它已发展为深度学习中用来解决序列到序列问
题的通用模型,例如Ren等[15]以及Shang等[16]的应
用。序列到序列问题为给定序列X
,通过已知模型来获得目标序列Y的问题。在基于会话的推荐问题中,序列X指输入的用户点击序列;序列Y为用户接下来可能点击的物品排序列表。
编码器将给定变长序列X编码为一个固定长度的中间向量。然后解码器利用该中间向量和已知的目标序列Y,使产生目标序列的概率最大化即损失函数最小化,来学习到从序列X到目标序列Y的映射关系。
但是,编码器 解码器结构存在一定的问题。Bah
danau等[17]指出该结构的中间向量不能很好地表示出
较长序列的全部特征。其次,当前输入的序列项会在一定程度上覆盖以往输入序列项的信息,继而造成一定程度的信息丢失。随着输入序列长度的增加,该现象将会越来越严重。而注意力机制可以有效地解决该问题。
1.4 注意力机制
注意力机制可以解决在用户当前会话中动态计算用户当前主要意图的问题,以及编码器 解码器结构中
的信息丢失问题。RNN中应用注意力机制[12]
的流程
如下:给定RNN各时刻的隐状态h1,h2,…,ht
分体挂壁式空调,在计算t+1时刻的输出时,注意力机制不仅考虑了ht对t+1时刻输出的影响,而且考虑了前面1~t之间各时刻的影响。每个时刻对t+1时刻输出的影响程度由注意力权重系数决定:
αi=
exp(f(ht,hi
))∑t
j=1
exp(f(ht,hj
))(8)
c=∑t
i=
1αihi
(9)
式中:hi(1≤i≤t)为各时刻的隐状态;αi为注意力权重系数;f(ht,hi)为计算各时刻隐状态相似度的函数,一般为计算两部分向量的点积或两部分Cosine相似性;c为各隐状态的加权和向量。
2 TASR模型设计
2.1 模型结构
TASR的基本思路是利用Time LSTM建模时间间隔对用户行为的影响和注意力机制捕获用户的主要意图。TASR采用编码器和解码器结构。其中编码器由两部分组成,一部分是用户序列行为编码器层,用Time LSTM来编码用户的序列行为;另一部分为用户意图编码器层,利用LSTM和注意力机制来编码用户意图。最后,解码器将两部分结合起来,从而实现预测。模型的整体框架结构如图1
所示。
图1 TASR模型整体结构
2.2 输入层
模型的输入是某个用户的点击、评分序列和对应
的时间间隔。用户点击的物品xuim和对应的评分aui
m采用独热编码,在计算时间间隔Δtui
m时,本文按照公式ΔTu∶=[(xui1,xui2-tui1),(xui2,tui3-tui2),…,(xuinu,tui
q-tuinu
)]进行计算。由于Time LSTM学习到的是用户的序列行为特征,即用户序列形式上的长期和短期兴趣,
故模型把(xuim,Δtui
m)
作为序列行为编码器层对应的输
第3期   
刘浩翰,等:考虑用户意图和时间间隔的会话型深度学习推荐系统
193
 入。本文将用户对不同物品的不同评分转化为用户对
不同物品的兴趣权重,故模型把(xuim,aui
m)作为用户意
图编码器层的输入。
2.3 混合编码器层
(1)序列行为编码器层:序列行为编码器层采用Time LSTM编码用户的序列行为。该编码层的输出为
Time LSTM最后一个隐状态表示hs。
(2)用户意图编码器层:用户意图编码器层由LSTM和注意力层组成。模型通过LSTM来获得物品
级别的用户序列行为表示,借用Li等[12]的思想,通过
注意力层来学习用户的主要意图。计算式为:
ej=vT
tanh(A1ht+A2hj
)(10)αj=
exp(ej
)∑t
j=1
exp(ej
)(11)
hatt
=∑t
j=1
αjhj
(12)式中:v、A1和A2为参数矩阵;ht表示由LSTM生成的用户最后一次点击的隐状态表示;hj表示由LSTM生成的用户以往点击的隐状态表示。式(10)计算出每个隐状态对[ht,hj]之间的相似度ej,式(11)根据这些相似度计算出注意力机制的权重系数αj。最终,根据该系数用式(12)计算出用户意图作为编码器层的输出。
(3)特征的拼接:通过将用户序列行为编码器的输出hs
与用户主要意图编码器的输出hatt
拼接起来,
得到当前会话的一种混合的动态表示l=[hs,hatt
]。解
码器将根据该表示进行解码。拼接后的向量l既包含了用户的序列行为特征,也可以体现出用户意图。
2.4 解码器层
解码器层由全连接层和Softmax层组成,该层利用
[hs,hatt]得到一个物品推荐列表。列表中的物品根据
其接下来可能被用户点击的概率大小,按照从大到小的顺序排列。
2.5 损失函数
TASR模型在训练时采用的损失函数是交叉熵损失函数,计算式为:
L(p,q)=-∑m
i=1
pilog(qi
)(13)
式中:q表示模型预测结果的概率分布;p表示真实的
分布。模型的参数采用AdaGrads算法[18]
进行优化,
该方法是随机梯度下降算法的一个变种。
3 实 验
3.1 数据集及数据预处理
(1)Movielens:针对Movielens数据集,本文提取元组(user_id,movie_id,rate,timestamp)。每个元组表示某个用户u
ser_id在时刻timestamp给电影movie_id打出了评分rate。由于timestamp精确到天,即某个用户可能在同一天里对多个电影打出了评分。为了方便计算时间间隔,本文只保留了第一个。Movielens将用户对每部电影的评分(0.5~5.0)离散化为从0到9共10个等级。
2)LastFM:针对LastFM数据集,本文提取元组(user_id,song_id,timestamp)。每个元组表示某个用户user_id在时刻timestamp点击了音乐song_id。由于LastFM数据集本身不包括用户的评分,因此在实验中
认为该数据集上每个用户对每首音乐的评分都相同。
以上两个数据集所包括的用户数、物品数、用户物品交互数的统计数据如表1所示。针对每个数据集,本文随机选取其中的80%作为训练集,余下的20%作为测试集。
表1 数据集统计表内容MovielensLastFM用户数600987物品数90005000用户物品交互数
100000
818767
3.2 模型设置与实验环境
针对TASR模型,物品的表示采取独热编码,限制个数为5000,将超出范围的物品从用户点击序列中去除;初始学习率为0.01;将长度超过50的序列截断为50;隐藏层编码长度设定为128;mini batch的大小固定为1
0;模型迭代次数为30。实验环境:操作系统是Ubuntu16.4;模型框架由基于Theano的Lasagne实现;编程语言是Python2.7。
3.3 评估指标
为了评价模型的效果,实验采用了两个评价指标召回率和平均倒数排名:
(1)召回率(Recall):把每一个需要预测的目标
物品(真实值)都与其他随机的100个物品混合在一起。然后将这101个物品按照本文提出的模型进行排序,选取排名前十的物品生成推荐列表。计算式为:
Recall=
nhit
ntestcase
(14)
194   
计算机应用与软件
2021年
式中:nhit为推荐列表中出现目标物品的次数;ntestcase为总的测试次数。
2)平均倒数排名(MRR)是推荐列表中目标物品的排名倒数的均值。它可以体现目标物品在推荐列表中的排名。当目标物品在推荐列表中的排名超过10时,其值将设置为0。计算式为:
MRR=1Q∑Q
i=11
ranki
(15)
式中:|Q|是推荐的次数;ranki是对于第i次推荐时,推荐列表中第一个在真实值结果中的物品的排名。
3.4 实验对比方法与分析
实验从两个角度展开:其一将TASR与现有的其他推荐方法进行了详细对比;其二在不同编码特征、不同会话长度的条件下,讨论了TASR在同时考虑时间间隔和用户意图时的优势。具体对比方法如下:
(1)LSTM。一种基于LSTM的推荐方法。该方法在利用LSTM进行推荐时仅考虑了用户的点击序列,没有时间间隔信息。
(2)Time LSTM。指Sheil等[8]
提出的Time LSTM
模型。此时考虑用户点击序列的同时,也考虑了时间
间隔信息。
(3)Att LSTM_T。指利用LSTM和注意力机制进行推荐的方法。在推荐时考虑用户点击序列、时间间隔和用户意图。但是,时间间隔信息拼接在用户点击序列后由LSTM来计算,且同时采用注意力机制计算用户意图。
(4)Att LSTM。指利用LSTM和注意力机制进行推荐的方法。在推荐时仅考虑用户点击序列和用户主要意图,没有时间间隔信息。
5)NARM。指Li等[12]
提出的通过一个混合的编码器同时建模用户的序列行为特征和主要意图的推荐方法。但是,该方法没有考虑用户时间间隔。3.4.1 TASR与其他算法对比
TASR与当前四种不同方法在两个数据集上的实验结果如表2所示。因为实验环境的硬件条件限制,表2中NARM的实验结果来自Ren等
[19]
的实验。
表2 五种不同方法在两个数据集上的实验结果对比
方法
LastFM
Movielens
Recall@10MRR@10Recall@10MRR@10
LSTM0.24480.09930.53990.2571Time LSTM0.38020.17850.67680.3553Att LSTM_T
0.3972
0.1862
0.6739
0.2739续表2
方法LastFM
Movielens
Recall@10MRR@10Recall@10MRR@10NARM0.22040.1031——TASR
0.4001
0.2238
0.7065
0.3844
在与其他算法对比时,TASR、Time LSTM和Att
LSTM_T的隐状态编码长度设为128。LSTM的隐状态编码长度设为5
12。所有算法训练时都将序列最大长度限制为50,mini batch固定为10,迭代次数设置为30。
由表2可以得到如下结论:
(1)在LastFM和Movielens两个数据集上,TASR在Recall@10和MR
R@10这两个指标上的实验结果都是最好的。其中在LastFM数据集上,TASR比没有考虑用户时间间隔的NARM的Recall@10高出了0.18左右、比MRR@10高出了0.12左右;并且TASR比没有考虑用户意图的Time LSTM在两个数据集的两个评价指标上都有提高,基本提高0.03以上。这说明本文提出的同时考虑时间间隔和用户意图的必要性。
(2)在Movielens数据集中,采用Time LSTM作为用户序列行为编码器即TASR,比采用LSTM作为用户序列行为编码器的Att LSTM_T在MRR@10上提高了0.11左右。这说明序列行为编码器中,不同的时间间隔计算方式产生的效果也不同。
3.4.2 编码长度以及会话长度对TASR的影响
(1)不同隐状态编码长度的实验效果对比。不同的隐状态编码长度在LastFM数据集上的实验结果见表3。可以看出,TASR在隐状态编码长度为64及128时都取得了最好的实验结果。
表3 LastFM数据集上不同隐状态编码长度的实验结果对比
方法64
128
Recall@10MRR@10Recall@10MRR@10Time LSTM0.3410.1450.3800.179Att LSTM0.3360.1240.3970.186TASR
0.396
0.220
0.400
0.224
agagcl参比电极Time LSTM以及Att LSTM方法在编码为64时比编码128时实验结果相差0.03~0.06。而TASR在这两种编码条件下的实验结果相差仅在0.004左右。这说明相对于Time LSTM和Att LSTM,TASR受编码长度的影响较小。
(2)不同会话长度下模型的效果对比。本节对比了在L
浆仓库
astFM和Movielens数据集上、不同序列长度下TASR、Time LSTM、LSTM三种算法,实验结果如图2和

本文发布于:2023-07-18 21:18:27,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/183217.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:用户   序列   行为   时间   推荐   间隔   模型   点击
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图