一种融合协作信息和自注意力机制的序列推荐方法及系统技术方案

技术编号:35455302 阅读:21 留言:0更新日期:2022-11-03 12:12
本发明专利技术提供了一种融合协作信息和自注意力机制的序列化推荐方法及系统。本发明专利技术首先根据用户行为序列计算用户之间的相似度,以相似度为权重聚合邻居用户嵌入得到协作信息;然后将协作信息与目标用户嵌入聚合以得到静态偏好向量,通过门控机制捕获不同项目中影响用户静态偏好的潜在特征,通过静态偏好向量与项目嵌入的内积操作来衡量用户对项目的静态偏好大小,以此为权值聚合项目中的潜在特征,得到用户的静态偏好表示;之后通过一个多层次的自注意力网络得到用户的动态偏好;最后通过一个静态偏好控制器对静态偏好进行缩放,再聚合动态偏好以得到最终的用户偏好表示,将其与候选项目的嵌入向量做内积,得到最终预测评分。本发明专利技术同时关注用户的动态偏好和静态偏好学习,提高了推荐准确率。提高了推荐准确率。提高了推荐准确率。

【技术实现步骤摘要】
一种融合协作信息和自注意力机制的序列推荐方法及系统


[0001]本专利技术涉及推荐系统
,尤其是融合协作信息和自注意力机制的序列化推荐方法及系统。

技术介绍

[0002]互联网的快速发展,在便利人们生活的同时,也带来了信息过载问题,用户难以从海量数据中发现对自己真正有用的信息。推荐系统是一种缓解信息过载问题的工具,它旨在基于用户的历史交互记录向用户提供个性化推荐服务,在日常生活中发挥着越来越重要的作用。
[0003]基于协同过滤的推荐算法是推荐系统中应用最广泛的方法,它们通常利用全局用户交互数据为用户推荐前N个项目,如矩阵分解模型,能够有效模拟用户潜在的静态偏好,取得不错的推荐效果。然而在现实中,用户的兴趣通常会随着时间发生改变,传统的协同过滤推荐算法很难及时捕捉到这种变化。
[0004]现在比较先进的序列化推荐方法是将用户交互数据按照时间戳排序,试图捕获序列中的依赖关系,模拟用户的动态偏好,以得到更准确的推荐结果。在早期,多是将一些成熟的算法应用于序列推荐,近几年,深度学习技术凭借超强的数据拟合能力,能有效建模序列依赖关系,成为了序列推荐的主流方法。
[0005]当前,利用深度学习已经能够很好地捕获用户的动态偏好,并且在序列推荐场景下,动态偏好极其重要,所以往往能取得很好的推荐效果。然而,大多数基于深度学习的推荐模型对用户静态偏好学习不够重视,有的模型仅用简单的用户嵌入代表静态偏好,可能会影响推荐效果。除此之外,大部分模型仅仅关注用户本身的行为,忽略了相似用户的影响。
专利技术内容
[0006]针对上述现有技术的不足,本专利技术提供一种融合协作信息和自注意力机制的序列化推荐方法及系统。其目的是从用户行为序列中捕获序列依赖关系以准确地模拟用户偏好,其中通过融合协作信息来加强用户静态偏好的表达,最终提升推荐准确度,增强推荐解释性。
[0007]为了实现上述目的,本专利技术通过以下技术方案予以实现:
[0008]S1、协作信息学习:根据用户行为序列计算用户之间的相似度,选择最相似的k个用户作为邻居用户,以相似度为权重聚合邻居用户嵌入得到协作信息;
[0009]S2、静态偏好学习:将协作信息与目标用户嵌入聚合,以得到静态偏好向量,通过门控机制捕获不同项目中影响用户静态偏好的潜在特征,通过静态偏好向量与项目嵌入的内积操作来衡量用户对项目的静态偏好大小,以此为权值聚合项目中的潜在特征,得到用户的静态偏好表示,该部分也可以视为一个注意力层;
[0010]S3、动态偏好学习:使用一个多层次的注意力网络来捕获用户的动态偏好,网络由
一系列自注意力块堆叠而成,每个自注意力块又分为自注意力层和全连接层;
[0011]S4、评分预测:通过一个静态偏好控制器(SPC)对静态偏好进行缩放,再聚合动态偏好以得到最终的用户偏好表示,将其与候选项目的嵌入向量做内积,得到最终预测评分。
[0012]与现有技术相比,本专利技术具备以下有益效果:
[0013]本专利技术使用最长公共子序列算法计算用户在序列行为上的相似度,更适合于序列化推荐场景;在静态偏好学习时,将协作信息与用户嵌入相聚合,一方面强化了目标用户嵌入向量中静态偏好信息的表达,另一方面,考虑了邻居用户的影响,增强了推荐的多样性;在评分预测时,考虑了候选项目的影响,动态地调节用户静态偏好和动态偏好的比值,使得用户偏好表达更为准确,并且静态偏好缩放系数只与用户自身的静态偏好和候选项目有关,个性化程度较高;本专利技术同时关注用户静态偏好和动态偏好建模,提升了推荐准确度。
附图说明
[0014]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0015]图1是本专利技术实施例中融合协作信息和注意力机制的序列化推荐方法及系统流程图。
[0016]图2是本专利技术实施例中融合协作信息和注意力机制的序列化推荐方法及系统架构图。
具体实施方式
[0017]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0018]下面结合说明书附图以及具体的实施方式对本专利技术作详细说明。如图1所示,一种融合协作信息和注意力机制的序列化推荐方法及系统包括步骤S1~S4:
[0019]S1、协作信息学习:根据用户行为序列计算用户之间的相似度,选择最相似的k个用户作为邻居用户,以相似度为权重聚合邻居用户嵌入得到协作信息;
[0020]S2、静态偏好学习:将协作信息与目标用户嵌入聚合,以得到静态偏好向量,通过门控机制捕获不同项目中影响用户静态偏好的潜在特征,通过静态偏好向量与项目嵌入的内积操作来衡量用户对项目的静态偏好大小,以此为权值聚合项目中的潜在特征,得到用户的静态偏好表示;
[0021]S3、动态偏好学习:使用一个多层次的注意力网络来捕获用户的动态偏好,网络由一系列自注意力块堆叠而成,每个自注意力块又分为自注意力层和全连接层;
[0022]S4、评分预测:通过一个静态偏好控制器(SPC)对静态偏好进行缩放,再聚合动态偏好以得到最终的用户偏好表示,将其与候选项目的嵌入向量做内积,得到最终预测评分。
[0023]下面对各个步骤进行详细描述。
[0024]在步骤S1中,将根据用户行为序列计算用户间的相似度,聚合邻居用户嵌入得到协作信息,如图2中的协作信息学习模块所示,其步骤具体为:
[0025]S101、引入推荐数据集,用户集和项目集分别定义为U和I,对于任意一个用户u∈U,将其历史交互记录按时间戳排序,用表示,其中|S
u
|表示用户u的交互项目总数,表示用户u最近一次的交互项目。
[0026]S102、将用户集和项目集嵌入到两个低维连续向量空间,分别用两个可学习的嵌入矩阵和表示,其中|U|和|I|分别表示用户数和项目数,D表示嵌入的维度。
[0027]S103、使用动态规划算法计算用户之间行为序列的最长公共子序列的长度,经过正则化操作后作为用户间的相似度,公式如下:
[0028][0029]其中,sim(u,v)代表用户u和v的相似度,LCS(S
u
,S
v
)计算二者的最长公共子序列的长度,|S
u
|代表用户u的行为序列长度,加入正则化操作后,相似度的值在0和1之间。
[0030]S104、得到用户之间的相似度之后,将与目标用户相似度最大的前k个用户作为邻居用户,相似度经过softmax函数计算得到权重,再聚合邻居用户的嵌入得到协作信息,其定义为:
...

【技术保护点】

【技术特征摘要】
1.一种融合协作信息和自注意力机制的序列推荐方法及系统,其特征在于,所述方法由计算机执行,包括以下步骤:S1、协作信息学习:根据用户行为序列计算用户之间的相似度,选择最相似的k个用户作为邻居用户,以相似度为权重聚合邻居用户嵌入得到协作信息;S2、静态偏好学习:将协作信息与目标用户嵌入聚合,以得到静态偏好向量,通过门控机制捕获不同项目中影响用户静态偏好的潜在特征,通过静态偏好向量与项目嵌入的内积操作来衡量用户对项目的静态偏好大小,以此为权值聚合项目中的潜在特征,得到用户的静态偏好表示,该部分也可以视为一个注意力层;S3、动态偏好学习:使用一个多层次的注意力网络来捕获用户的动态偏好,网络由一系列自注意力块堆叠而成,每个自注意力块又分为自注意力层和全连接层;S4、评分预测:通过一个静态偏好控制器(SPC)对静态偏好进行缩放,再聚合动态偏好以得到最终的用户偏好表示,将其与候选项目的嵌入向量做内积,得到最终预测评分。2.如权利要求1所述的融合协作信息和自注意力机制的序列推荐方法及系统,其特征在于,S1的具体实现过程如下:S101、引入推荐数据集,用户集和项目集分别定义为U和I,对于任意一个用户u∈U,将其历史交互记录按时间戳排序,用表示,其中|S
u
|表示用户u的交互项目总数,表示用户u最近一次的交互项目。S102、将用户集和项目集嵌入到两个低维连续向量空间,分别用两个可学习的嵌入矩阵和表示,其中|U|和|I|分别表示用户数和项目数,D表示嵌入的维度。S103、使用动态规划算法计算用户之间行为序列的最长公共子序列的长度,经过正则化操作后作为用户间的相似度,公式如下:其中,sim(u,v)代表用户u和v的相似度,LCS(S
u
,S
v
)计算二者的最长公共子序列的长度,|S
u
|代表用户u的行为序列长度,加入正则化操作后,相似度的值在0和1之间。S104、得到用户之间的相似度之后,将与目标用户相似度最大的前k个用户作为邻居用户,相似度经过softmax函数计算得到权重,再聚合邻居用户的嵌入得到协作信息,其定义为:CI=softmax(w
n
)
·
N
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,代表协作信息,是邻居用户嵌入堆叠构成的矩阵,是由目标用户与邻居用户的相似度构成的向量。3.如权利要求1所述的融合协作信息和自注意力机制的序列推荐方法及系统,其特征在于,S2的具体实现过程如下:S201、从每个用户的行为序列中取定长序列作为输入序列,即最近的L个交互项目,构
成输入矩阵成输入矩阵其中,向量表示输入序列中第L个项目的嵌入表示。S202、为了强化用户嵌入向量中包含的静态偏好信息,将目标用户嵌入和协作信息相融合作为用户的静态偏好向量:v
sp
=u+CI
·
W
c
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)其中,代表用户的静态偏好向量,是一个可学习的参数矩阵,u是目标用户嵌入向量。S203、接着,通过门控机制捕获不同项目中影响用户静态偏好的潜在特征,通过静态偏好向量与项目嵌入的内积操作来衡量用户对项目的静态偏好大小,以此为权值聚合项目中的潜在特征,得到用户的静态偏好表示:SPL(E)=p
s
=w
s
·
Ε
′ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)w
s
=softmax(v
sp
·
E)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)E

=E

σ(E
·
W
s1
+v
...

【专利技术属性】
技术研发人员:唐超肖晓丽
申请(专利权)人:长沙理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1