自注意力网络的生成方法、物品推荐方法及其装置
未命名
07-23
阅读:70
评论:0
1.本发明涉及物品推荐技术领域,尤其涉及一种自注意力网络的生成方法、物品推荐方法及其装置。
背景技术:
2.随着社会的进步和信息技术的发展,越来越多的用户使用电子商务系统进行在线购物、在线定外卖、以及在线订购电影票等等。当某个用户访问过、购买过、评价过某个项目(该项目可以为商品,外卖和电影票等)时,电子商务系统会存储这些交互数据。可以理解的是,如果电子商务系统可以对这些交互数据进行处理,然后得到该用户未来用可能访问、购买若干项目,然后将若干项目推荐给该用户,则能够极大的提高该用户购买该项目的可能性。
技术实现要素:
3.有鉴于此,本发明的主要目的在于提供一种自注意力网络的生成方法、物品推荐方法及其装置。
4.为达到上述目的,本发明的技术方案是这样实现的:一种用于物品推荐的自注意力网络的生成方法,包括以下步骤:获取包含有若干不同用户的用户集合u、包含有若干不同兴趣点的兴趣点集合l、包含有若干不同区域的区域集合b、以及包含有若干不同类别的类别集合c;获取用户集合中的每个用户u对应的兴趣点序列每个用户对应的区域序列以及每个用户对应的类别序列其中,k和tk均为自然数,且k》1,tk》1;创建自注意力网络,所述自注意力网络包括:兴趣点级表示层、区域级表示层、类别级表示层和对比学习层;所述兴趣点级表示层首先构造一个有向poi图,通过gcn神经网络得到跨用户的poi表示,之后,通过san神经网络得到poi基于兴趣点级的表示;所述区域级表示层用于:通过san神经网络得到poi基于区域级别的表示;所述类别级表示层通过san神经网络得到poi基于位置级别的表示;所述对比学习层使用poi基于地点级别、区域级别和类别级别的表示,两两进行对比学习,拉近正样本对的间表示,推远负样本对间的表示;基于用户集合u、兴趣点集合l、区域集合b、类别集合c、兴趣点序列、区域序列和类别序列,对所述自注意力网络进行训练。
5.作为本发明实施例的一种改进,所述“所述兴趣点级表示层首先构造一个有向poi图,通过gcn神经网络得到跨用户的poi表示”具体包括:基于所述兴趣点序列、区域序列和类别序列构建有向poi图,得到所述有向poi图对应的poi表示
6.其中,relu()是激活函数,a是所述有向poi图的入度矩阵,i为所述有向poi图中每个节点的自连接的单位矩阵,为所述有向poi图的对角入度矩阵,h
(z)
为第z层中的poi嵌入矩阵,w
(z)
为逐层可训练的权重矩阵;基于gcn神经网络对poi表示h
(z+1)
进行处理,得到每个用户u签到轨迹中的poi表示
7.其中h是gcn最后一层的输出,其中,k为自然数;跨用户的poi表示
8.其中,w是可学习的权重矩阵,是两个地点间的距离表示,是时间上下文信息的表示;pj是poi在序列内位置的表示,j为自然数,j=1,2,...,k。
9.作为本发明实施例的一种改进,所述“通过san神经网络得到poi基于兴趣点级的表示”具体包括:将增强的poi表示输入san神经网络中,得到
10.其中,是用户u的兴趣点通过san的表示,是查询、键和值的投影矩阵,d为poi嵌入矩阵中的编码长度;兴趣点级的表示其中,b1和b2均为偏差矩阵。
11.作为本发明实施例的一种改进,所述“通过san神经网络得到poi基于区域级别的表示”具体包括:增强的区域级偏好表示,其中,是在bu中的表示;b∈r
|b|
×d是区域表示矩,是和之间距离的表示,p1,p2,...,pk均为偏差矩阵;将bu送入san和ffn:
12.其中,是bu中区域通过san的精细表示;将ffn应用于得到作为bu中区域的表示b4均为偏差矩阵。
13.作为本发明实施例的一种改进,在所述对比学习层中,对比损失函数如下:对比损失函数如下:
14.其中,sim()是余弦相似度函数,|u|是用户数,l
lr
、l
lc
和l
rc
分别是兴趣点级和区域级的对比学习损失函数,兴趣点级和类别级的对比学习损失函数,以及区域级和类别级的对比学习损失函数,n-是负样本对的集合;
15.通过最小化损失函数的对比学习如下:l
cl
=l
lr
+l
lc
+l
rc
。
16.作为本发明实施例的一种改进,还包括:候选集推荐及模型优化层,用户偏好为
其中,其中,和均为多粒度的表示;给定时刻tk的poi表示,下一个poi为其中,表示所有候选poi的分数,z是gcn层数;下一个poi预测的损失函数计算为分数,z是gcn层数;下一个poi预测的损失函数计算为其中,是真实值poi的在时间t
k+1
的独热向量;一个区域和类别的两个辅助任务:其中,是所有候选区域的预测分数,是所有候选类别的预测分数;两个辅助任务的损失函数为是所有候选类别的预测分数;两个辅助任务的损失函数为其中,是地面实况区域在时间t
k+1
;是地面实况区域在时间t
k+1
的独热向量;推荐任务损失函数为l
npr
=l
l
+lr+lc,联合优化推荐和对比学习损失为l=l
npr
+λl
cl
,其中,λ是平衡两个任务损失的权重。
17.本发明实施例还提供了一种用于物品推荐的自注意力网络的生成装置,包括以下模块:
18.数据获取模块,用于获取包含有若干不同用户的用户集合u、包含有若干不同兴趣点的兴趣点集合l、包含有若干不同区域的区域集合b、以及包含有若干不同类别的类别集合c;获取用户集合中的每个用户u对应的兴趣点序列每个用户对应的区域序列以及每个用户对应的类别序列其中,k和tk均为自然数,且k》1,tk》1;
19.网络创建模块,用于获取包含有若干不同用户的用户集合u、包含有若干不同兴趣点的创建自注意力网络,所述自注意力网络包括:兴趣点级表示层、区域级表示层、类别级表示层和对比学习层;所述兴趣点级表示层首先构造一个有向poi图,通过gcn神经网络得到跨用户的poi表示,之后,通过san神经网络得到poi基于兴趣点级的表示;所述区域级表示层用于:通过san神经网络得到poi基于区域级别的表示;所述类别级表示层通过san神经网络得到poi基于位置级别的表示;所述对比学习层使用poi基于地点级别、区域级别和类别级别的表示,两两进行对比学习,拉近正样本对的间表示,推远负样本对间的表示;
20.训练模块,用于基于用户集合u、兴趣点集合l、区域集合b、类别集合c、兴趣点序列、区域序列和类别序列,对所述自注意力网络进行训练。
21.作为本发明实施例的一种改进,所述网络创建模块还用于:基于所述兴趣点序列、区域序列和类别序列构建有向poi图,得到所述有向poi图对应的poi表示区域序列和类别序列构建有向poi图,得到所述有向poi图对应的poi表示其中,relu()是激活函数,a是所述有向poi图的入度矩阵,i为所述有向poi图中每个节点的自连接的单位矩阵,为所述有向poi图的对角入度矩阵,h
(z)
为第z层中的poi嵌入矩阵,w
(z)
为逐层可训练的权重矩阵;基于gcn神经网络对poi表示h
(z+1)
进行处理,得到每个用户u签到轨迹中的poi表示
22.其中h是gcn最后一层的输出,其中,k为自然数;跨用户的poi表示
23.其中,w是可学习的权重矩阵,是两个地点间的距离表示,是时间上下文信息的表示;pj是poi在序列内位置的表示,j为自然数,j=1,2,...,k。
24.本发明实施例还提供了一种物品推荐方法,包括以下步骤:执行上述生成方法并得到自注意力网络;获取与预设用户对应的兴趣点序列、区域序列和类别序列cu,将所述兴趣点序列、区域序列和类别序列cu输入到所述自注意力网络,从而得到下一个兴趣点。
25.本发明实施例还提供了一种物品推荐装置,包括以下模块:预处理模块,用于执行上述生成方法并得到自注意力网络;处理模块,用于获取与预设用户对应的兴趣点序列、区域序列和类别序列cu,将所述兴趣点序列、区域序列和类别序列cu输入到所述自注意力网络,从而得到下一个兴趣点。
26.本发明实施例所提供的自注意力网络的生成方法、物品推荐方法及其装置具有以下优点:本发明实施例公开了一种自注意力网络的生成方法、物品推荐方法及其装置,该生成方法包括以下步骤:获取包含有若干不同用户的用户集合u、包含有若干不同兴趣点的兴趣点集合l、包含有若干不同区域的区域集合b、以及包含有若干不同类别的类别集合c;获取用户集合中的每个用户u对应的兴趣点序列、每个用户对应的区域序列、以及每个用户对应的类别序列;创建自注意力网络,所述自注意力网络包括:兴趣点级表示层、区域级表示层、类别级表示层和对比学习层;基于用户集合u、兴趣点集合l、区域集合b、类别集合c、兴趣点序列、区域序列和类别序列,对所述自注意力网络进行训练。从而得到能够进行物品推荐的自注意力网络。
附图说明
27.图1为实施例中的自注意力网络的生成方法的流程示意图;
28.图2、图3a和图3b为实施例中的自注意力网络的实验结果图。
具体实施方式
29.以下将结合附图所示的实施方式对本发明进行详细描述。但该实施方式并不限制本发明,本领域的普通技术人员根据该实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
30.以下描述和附图充分地示出本文的具体实施方案,以使本领域的技术人员能够实践它们。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本文的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。本文中,术语“第一”、“第二”等仅被用来将一个元素与另一个元素区分开来,而不要求或者暗示这些元素之间存在任何实际的关系或者顺序。实际上第一元素也能够被称为第二元素,反之亦然。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的结构、装置或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种结构、装置或者设备所固有的要素。在没有更多限制
的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的结构、装置或者设备中还存在另外的相同要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
31.本文中的术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本文和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。在本文的描述中,除非另有规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
32.本发明实施例一提供了一种用于物品推荐的自注意力网络的生成方法,如图1所示,包括以下步骤:
33.步骤101:获取包含有若干不同用户的用户集合u、包含有若干不同兴趣点的兴趣点集合l、包含有若干不同区域的区域集合b、以及包含有若干不同类别的类别集合c;获取用户集合中的每个用户u对应的兴趣点序列每个用户对应的区域序列以及每个用户对应的类别序列其中,k和tk均为自然数,且k》1,tk》1;
34.这里,将用户、poi(point-of-interest,兴趣点)、区域和类别的集合分别表示为u、l、b和c,它们的数量分别为|u|、|l|、|r|和|c|。构建用户u对应的兴趣点序列u、l、b和c,它们的数量分别为|u|、|l|、|r|和|c|。构建用户u对应的兴趣点序列其中,表示用户u在时间t访问过的地点;构建用户u对应的区域序列构建用户u对应的区域序列其中,表示用户u在时间t访问过地点的区域;构建用户u对应的类别序列其中,表示用户u在时间t访问过地点的类别。然后,定义下一poi推荐如下:给定用户签到的poi序列lu,目标是预测用户u的下一个最有可能访问的地点
35.步骤102:创建自注意力网络,所述自注意力网络包括:兴趣点级表示层、区域级表示层、类别级表示层和对比学习层;所述兴趣点级表示层首先构造一个有向poi图,通过gcn神经网络得到跨用户的poi表示,之后,通过san神经网络得到poi基于兴趣点级的表示;所述区域级表示层用于:通过san神经网络得到poi基于区域级别的表示;所述类别级表示层通过san神经网络得到poi基于位置级别的表示;所述对比学习层使用poi基于地点级别、区域级别和类别级别的表示,两两进行对比学习,拉近正样本对的间表示,推远负样本对间的表示;
36.步骤103:基于用户集合u、兴趣点集合l、区域集合b、类别集合c、兴趣点序列、区域序列和类别序列,对所述自注意力网络进行训练。
37.本实施例中,所述“所述兴趣点级表示层首先构造一个有向poi图,通过gcn神经网络得到跨用户的poi表示”具体包括:
38.基于所述兴趣点序列、区域序列和类别序列构建有向poi图,得到所述有向poi图对应的poi表示其中,relu()是激活函数,a是所
述有向poi图的入度矩阵,i为所述有向poi图中每个节点的自连接的单位矩阵,为所述有向poi图的对角入度矩阵,h
(z)
为第z层中的poi嵌入矩阵,w
(z)
为逐层可训练的权重矩阵;
39.这里,可以理解的是,a∈r
|l|
×
|l|
,h
(z)
∈r
|l|
×d,w
(z)
∈rd×d,其中,d为poi嵌入矩阵中的编码长度。
40.基于gcn神经网络对poi表示h
(z+1)
进行处理,得到每个用户u签到轨迹中的poi表示其中h是gcn最后一层的输出,其中,k为自然数;
41.跨用户的poi表示其中,w是可学习的权重矩阵,是两个地点间的距离表示,是时间上下文信息的表示;pj是poi在序列内位置的表示,j为自然数,j=1,2,...,k。
42.这里,通过gcn(graph convolutional network,图卷积网络)后,用户u签到轨迹中的poi表示为:其中h∈rd是gcn最后一层的输出。为了区分poi在签到轨迹中的不同位置,将位置p的嵌入与上述poi表示相加。此外,在下一poi推荐任务中,时空上下文信息非常重要。因此,使用这两个因素来增强poi嵌入的表示,增强后的跨用户的的poi表示如下:
43.其中,w是可学习的权重矩阵,是两个地点间的距离表示,是时间上下文信息的表示;pk是poi在序列内位置的表示。
44.本实施例中,所述“通过san神经网络得到poi基于兴趣点级的表示”具体包括:将增强的poi表示输入san神经网络中,得到其中,是用户u的兴趣点通过san的表示,是查询、键和值的投影矩阵,d为poi嵌入矩阵中的编码长度;兴趣点级的表示兴趣点级的表示其中,b1和b2均为偏差矩阵。
45.为了捕获用户本地的顺序依赖性,将增强的poi表示输入san(self-attention network,自注意力网络)中:其中,是用户u的兴趣点通过san的表示;是查询、键和值的投影矩阵;可以防止输入softmax的值过大。
46.将前馈网络(ffn)应用于将前馈网络(ffn)应用于其中,是最终的基于兴趣点级的表示,b1和b2均为偏差矩阵。
47.本实施例中,所述“通过san神经网络得到poi基于区域级别的表示”具体包括:增
强的区域级偏好表示,其中,是在bu中的表示;b∈r
|b|
×d是区域表示矩阵,是和之间距离的表示,p1,p2,...,pk均为偏差矩阵;
48.将bu送入san和ffn:其中,是bu中区域通过san的精细表示;将ffn应用于得到作为bu中区域的表示
49.b4均为偏差矩阵。
50.本实施例中,在所述对比学习层中,对比损失函数如下:
[0051][0052]
其中,sim()是余弦相似度函数,|u|是用户数,l
lr
、l
lc
和l
rc
分别是兴趣点级和区域级的对比学习损失函数,兴趣点级和类别级的对比学习损失函数,以及区域级和类别级的对比学习损失函数,n-是负样本对的集合。通过最小化损失函数的对比学习如下:l
cl
=l
lr
+l
lc
+l
rc
。
[0053]
这里,可以从不同的粒度中选择相同的poi表示作为正样本。例如,从小批量中选择不同的poi表示作为负样本。在确定正负样本对后,使用对比损失infonce函数来最大化正样本对的一致性,最小化负样本对之间的一致性。
[0054]
本实施例中,候选集推荐及模型优化层,用户偏好为其中,其中,其中,和均为多粒度的表示;
[0055]
给定时刻tk的poi表示,下一个poi为其中,表示所有候选poi的分数,z是gcn层数;
[0056]
下一个poi预测的损失函数计算为其中,
[0057]
是真实值poi的在时间t
k+1
的独热向量;
[0058]
一个区域和类别的两个辅助任务:一个区域和类别的两个辅助任务:
[0059]
其中,是所有候选区域的预测分数,是所有候选类别的预测分数;
[0060]
两个辅助任务的损失函数为
[0061]
其中,是地面实况区域在时间t
k+1
;是地面实况区域在时间t
k+1
的独热向量;
[0062]
推荐任务损失函数为l
npr
=l
l
+lr+lc,联合优化推荐和对比学习损失为l=l
npr
+λl
cl
,其中,λ是平衡两个任务损失的权重。
[0063]
为了评估自注意力网络的性能,发明人在广泛使用的四个用于推荐的数据集上进行实验。数据集分别为calgary(cal)、phoenix(pho)以及singapore(sin),数据集详细数据如图2所示。
[0064]
发明人采用了两个最常用的性能评估指标,即命中率(hr)和归一化折扣累积增益(ndcg)。hr强调的是模型推荐的准确性,即用户的需求项是否包含在模型的推荐项中。ndcg是一种排名损失,用于衡量真实项目在前n个推荐中的位置。对于每个用户,根据预测得分对每个项目进行降序排序并生成推荐列表,并截取前n个项目,计算出评价指标的前n个结果。报告hr@{5,10}和ndcg@{5,10}的结果。此外,与常见的poi推荐模型进行了比较,具体的推荐性能如图3a和图3b所示。
[0065]
本发明实施例二提供了一种用于物品推荐的自注意力网络的生成装置,包括以下模块:
[0066]
数据获取模块,用于获取包含有若干不同用户的用户集合u、包含有若干不同兴趣点的兴趣点集合l、包含有若干不同区域的区域集合b、以及包含有若干不同类别的类别集合c;获取用户集合中的每个用户u对应的兴趣点序列每个用户对应的区域序列以及每个用户对应的类别序列其中,k和tk均为自然数,且k》1,tk》1;
[0067]
网络创建模块,用于获取包含有若干不同用户的用户集合u、包含有若干不同兴趣点的创建自注意力网络,所述自注意力网络包括:兴趣点级表示层、区域级表示层、类别级表示层和对比学习层;所述兴趣点级表示层首先构造一个有向poi图,通过gcn神经网络得到跨用户的poi表示,之后,通过san神经网络得到poi基于兴趣点级的表示;所述区域级表示层用于:通过san神经网络得到poi基于区域级别的表示;所述类别级表示层通过san神经网络得到poi基于位置级别的表示;所述对比学习层使用poi基于地点级别、区域级别和类别级别的表示,两两进行对比学习,拉近正样本对的间表示,推远负样本对间的表示;
[0068]
训练模块,用于基于用户集合u、兴趣点集合l、区域集合b、类别集合c、兴趣点序列、区域序列和类别序列,对所述自注意力网络进行训练。
[0069]
本实施例中,所述网络创建模块还用于:基于所述兴趣点序列、区域序列和类别序列构建有向poi图,得到所述有向poi图对应的poi表示其中,relu()是激活函数,a是所述有向poi图的入度矩阵,i为所述有向poi图中每个节点的自连接的单位矩阵,为所述有向poi图的对角入度矩阵,h
(z)
为第z层中的poi嵌入矩阵,w
(z)
为逐层可训练的权重矩阵;基于gcn神经网络对poi表示h
(z+1)
进行处理,得到每个用户u签到轨迹中的poi表示其中h是gcn最后一层的输出,其中,k
为自然数;跨用户的poi表示其中,w是可学习的权重矩阵,是两个地点间的距离表示,是时间上下文信息的表示;pj是poi在序列内位置的表示,j为自然数,j=1,2,...,k。
[0070]
本实施例三还提供了一种物品推荐方法,包括以下步骤:执行实施例一中的所述生成方法并得到自注意力网络;获取与预设用户对应的兴趣点序列、区域序列和类别序列cu,将所述兴趣点序列、区域序列和类别序列cu输入到所述自注意力网络,从而得到下一个兴趣点。
[0071]
本实施例三还提供了一种物品推荐装置,包括以下模块:预处理模块,用于实施例一中的生成方法并得到自注意力网络;处理模块,用于获取与预设用户对应的兴趣点序列、区域序列和类别序列cu,将所述兴趣点序列、区域序列和类别序列cu输入到所述自注意力网络,从而得到下一个兴趣点。
[0072]
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
[0073]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0074]
可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
[0075]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
技术特征:
1.一种用于物品推荐的自注意力网络的生成方法,其特征在于,包括以下步骤:获取包含有若干不同用户的用户集合u、包含有若干不同兴趣点的兴趣点集合l、包含有若干不同区域的区域集合b、以及包含有若干不同类别的类别集合c;获取用户集合中的每个用户u对应的兴趣点序列每个用户对应的区域序列每个用户对应的区域序列以及每个用户对应的类别序列其中,k和t
k
均为自然数,且k>1,t
k
>1;创建自注意力网络,所述自注意力网络包括:兴趣点级表示层、区域级表示层、类别级表示层和对比学习层;所述兴趣点级表示层首先构造一个有向poi图,通过gcn神经网络得到跨用户的poi表示,之后,通过san神经网络得到poi基于兴趣点级的表示;所述区域级表示层用于:通过san神经网络得到poi基于区域级别的表示;所述类别级表示层通过san神经网络得到poi基于位置级别的表示;所述对比学习层使用poi基于地点级别、区域级别和类别级别的表示,两两进行对比学习,拉近正样本对的间表示,推远负样本对间的表示;基于用户集合u、兴趣点集合l、区域集合b、类别集合c、兴趣点序列、区域序列和类别序列,对所述自注意力网络进行训练。2.根据权利要求1所述的生成方法,其特征在于,所述“所述兴趣点级表示层首先构造一个有向poi图,通过gcn神经网络得到跨用户的poi表示”具体包括:基于所述兴趣点序列、区域序列和类别序列构建有向poi图,得到所述有向poi图对应的poi表示其中,relu()是激活函数,a是所述有向poi图的入度矩阵,i为所述有向poi图中每个节点的自连接的单位矩阵,为所述有向poi图的对角入度矩阵,h
(z)
为第z层中的poi嵌入矩阵,w
(z)
为逐层可训练的权重矩阵;基于gcn神经网络对poi表示h
(z+1)
进行处理,得到每个用户u签到轨迹中的poi表示其中h是gcn最后一层的输出,其中,k为自然数;跨用户的poi表示其中,w是可学习的权重矩阵,是两个地点间的距离表示,是时间上下文信息的表示;p
j
是poi在序列内位置的表示,j为自然数,j=1,2,...,k。3.根据权利要求2所述的生成方法,其特征在于,所述“通过san神经网络得到poi基于兴趣点级的表示”具体包括:将增强的poi表示输入san神经网络中,得到其中,是用户u的兴趣点通过san的表示,w
lq
,w
lk
,w
lv
∈r
d
×
d
是查询、键和值的投影矩阵,d为poi嵌入矩阵中的编码长度;兴趣点级的表示其中,b1和b2均为偏差矩阵。4.根据权利要求3所述的生成方法,其特征在于,
所述“通过san神经网络得到poi基于区域级别的表示”具体包括:增强的区域级偏好表示,其中,是在b
u
中的表示;b∈r
|b|
×
d
是区域表示矩阵,是和之间距离的表示,p1,p2,...,p
k
均为偏差矩阵;将b
u
送入san和ffn:其中,是b
u
中区域通过san的精细表示;将ffn应用于得到作为b
u
中区域的表示b4均为偏差矩阵。5.根据权利要求4所述的生成方法,其特征在于,在所述对比学习层中,对比损失函数如下:对比损失函数如下:对比损失函数如下:其中,sim()是余弦相似度函数,|u|是用户数,l
lr
、l
lc
和l
rc
分别是兴趣点级和区域级的对比学习损失函数,兴趣点级和类别级的对比学习损失函数,以及区域级和类别级的对比学习损失函数,n-是负样本对的集合;通过最小化损失函数的对比学习如下:l
cl
=l
lr
+l
lc
+l
rc
。6.根据权利要求5所述的生成方法,其特征在于,还包括:候选集推荐及模型优化层,用户偏好为其中,其中,和均为多粒度的表示;给定时刻t
k
的poi表示,下一个poi为其中,表示所有候选poi的分数,z是gcn层数;下一个poi预测的损失函数计算为其中,是真实值poi的在时间t
k+1
的独热向量;一个区域和类别的两个辅助任务:其中,是所有候选区域的预测分数,是所有候选类别的预测分数;两个辅助任务的损失函数为
其中,是地面实况区域在时间t
k+1
;是地面实况区域在时间t
k+1
的独热向量;推荐任务损失函数为l
npr
=l
l
+l
r
+l
c
,联合优化推荐和对比学习损失为l=l
npr
+λl
cl
,其中,λ是平衡两个任务损失的权重。7.一种用于物品推荐的自注意力网络的生成装置,其特征在于,包括以下模块:数据获取模块,用于获取包含有若干不同用户的用户集合u、包含有若干不同兴趣点的兴趣点集合l、包含有若干不同区域的区域集合b、以及包含有若干不同类别的类别集合c;获取用户集合中的每个用户u对应的兴趣点序列每个用户对应的区域序列以及每个用户对应的类别序列其中,k和t
k
均为自然数,且k>1,t
k
>1;网络创建模块,用于获取包含有若干不同用户的用户集合u、包含有若干不同兴趣点的创建自注意力网络,所述自注意力网络包括:兴趣点级表示层、区域级表示层、类别级表示层和对比学习层;所述兴趣点级表示层首先构造一个有向poi图,通过gcn神经网络得到跨用户的poi表示,之后,通过san神经网络得到poi基于兴趣点级的表示;所述区域级表示层用于:通过san神经网络得到poi基于区域级别的表示;所述类别级表示层通过san神经网络得到poi基于位置级别的表示;所述对比学习层使用poi基于地点级别、区域级别和类别级别的表示,两两进行对比学习,拉近正样本对的间表示,推远负样本对间的表示;训练模块,用于基于用户集合u、兴趣点集合l、区域集合b、类别集合c、兴趣点序列、区域序列和类别序列,对所述自注意力网络进行训练。8.根据权利要求7所述的生成装置,其特征在于,所述网络创建模块还用于:基于所述兴趣点序列、区域序列和类别序列构建有向poi图,得到所述有向poi图对应的poi表示其中,relu()是激活函数,a是所述有向poi图的入度矩阵,i为所述有向poi图中每个节点的自连接的单位矩阵,为所述有向poi图的对角入度矩阵,h
(z)
为第z层中的poi嵌入矩阵,w
(z)
为逐层可训练的权重矩阵;基于gcn神经网络对poi表示h
(z+1)
进行处理,得到每个用户u签到轨迹中的poi表示其中h是gcn最后一层的输出,其中,k为自然数;跨用户的poi表示其中,w是可学习的权重矩阵,是两个地点间的距离表示,是时间上下文信息的表示;p
j
是poi在序列内位置的表示,j为自然数,j=1,2,...,k。9.一种物品推荐方法,其特征在于,包括以下步骤:执行权利要求1-6任一项所述生成方法并得到自注意力网络;获取与预设用户对应的兴趣点序列、区域序列和类别序列c
u
,将所述兴趣点序列、区域序列和类别序列c
u
输入到所述自注意力网络,从而得到下一个兴趣点。
10.一种物品推荐装置,其特征在于,包括以下模块:预处理模块,用于执行权利要求1-6任一项所述生成方法并得到自注意力网络;处理模块,用于获取与预设用户对应的兴趣点序列、区域序列和类别序列c
u
,将所述兴趣点序列、区域序列和类别序列c
u
输入到所述自注意力网络,从而得到下一个兴趣点。
技术总结
本发明公开了一种自注意力网络的生成方法、物品推荐方法及其装置,该生成方法包括以下步骤:获取包含有若干不同用户的用户集合U、包含有若干不同兴趣点的兴趣点集合L、包含有若干不同区域的区域集合B、以及包含有若干不同类别的类别集合C;获取用户集合中的每个用户u对应的兴趣点序列、每个用户对应的区域序列、以及每个用户对应的类别序列;创建自注意力网络,所述自注意力网络包括:兴趣点级表示层、区域级表示层、类别级表示层和对比学习层;基于用户集合U、兴趣点集合L、区域集合B、类别集合C、兴趣点序列、区域序列和类别序列,对所述自注意力网络进行训练。从而得到能够进行物品推荐的自注意力网络。品推荐的自注意力网络。品推荐的自注意力网络。
技术研发人员:孙逊 方立刚 郝永静 张量 鲜学丰
受保护的技术使用者:苏州市职业大学(苏州开放大学)
技术研发日:2023.04.10
技术公布日:2023/7/22
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
