1.本发明涉及用户商品信息推荐领域,更具体涉及一种基于注意力机制的商品序列推荐的方法。
背景技术:
2.互联网产业快速发展带来了剧烈的数据激增。推荐系统的出现,解决了数据过载问题,能更好的为用户推荐感兴趣的物品。推荐系统试图根据用户的历史行为,利用用户与物品的交互信息,挖掘用户的兴趣和偏好,预测用户的下一次交互,在现实生活中发挥着重大的作用。
3.但是,在现实生活中,用户的行为是有序且动态可变的,用户与物品的交互其实是一个动态序列,随着时间的流逝,用户的兴趣与偏好一般都会产生偏移。基于内容、协同过滤等传统的推荐算法没有考虑到用户的偏好演化,因此为更好的考虑用户动态兴趣,增强用户兴趣与项目之间的紧密联系,序列推荐系统应运而生。常见的序列推荐模型,比如基于马尔可夫链虽在稀疏性数据中有着不错的效果,但在更复杂的环境中很难挖掘到有效的信息。基于循环神经网络的序列推荐模型存在长距离依赖问题,且假设项目之间都有依赖,因此容易造成错误的依赖。
技术实现要素:
4.本发明的目的在于提供基于一种注意力机制的商品序列推荐的方法,以解决上述背景技术中提出的问题。
5.为实现上诉目的,本发明提供如下技术方案:基于注意力机制的商品序列推荐的方法,包括如下步骤:
6.s1:数据预处理;
7.s2:利用多头注意力机制构造用户短期兴趣偏好向量;
8.s3:为长期兴趣分配不同的权重,得到长期偏好的最终表示。
9.s4:加权融合长短期偏好得到用户最终的兴趣偏好,与候选集中每一个物品进行交互,在预测层得到该相关性分数值,然后将所得到的分数值按照由高到低排序得到用户的推荐列表;
10.所述步骤s1具体包括以下步骤:
11.s1.1:采集待分析的数据集,设用户的短期意图来自于最近l个商品交互,历史数据为用户长期偏好。
12.s1.2:针对短期意图,其行为序列的长度如果大于l,则取前l个。若小于l,则采用0左边填充至长度l。
13.s1.3:因为矩阵能方便gpu的计算,因此经过embedding操作,得到矩阵,定义如下:
[0014][0015]
s1.4:借鉴transformer引入位置项量p进行嵌入得到向量矩阵。
[0016]
所述步骤s2具体包括以下步骤:
[0017]
s2.1:设置目标相关的查询向量q、键向量k、值向量v、以及注意力机制。具体定义如下:
[0018][0019]
multihead(q,k,v)=contact(head1...headn)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0020]
si=multihead(q,k,v)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0021]
q、k、v都等于。接着结合多个单独的注意力机制就形成了多头注意力机制模型,该模型就是将查询向量q扩展为多个查询,从而并行地从输入中选取多组信息。接着结合多个单独的注意力机制就形成了多头注意力机制模型,该模型就是将查询向量q扩展为多个查询,从而并行地从输入中选取多组信息。
[0022]
s2.2:在s2.1基础上再叠加采取两层的前馈网络,赋予了模型非线性,最终得到短期偏好向量表示fi。
[0023]
所述步骤s3长期兴趣偏好定义如下:
[0024][0025]
p
tu
为长期兴趣偏好,mu为内积相似度。获取长期偏好的方式和获取短期偏好类似,让序列向量通过嵌入层后,在自注意力机制中引入用户和物品在隐空间上的内积相似度,并用相似度进行加权。从而增加了注意力机制的的协同性。与transformer类似,为学习更复杂的特征变换,叠多个注意力层。
[0026]
所述步骤s3长期兴趣偏好定义如下:
[0027][0028]
最后加权融合长短期偏好,然后与每一个目标候选物品进行交互,得到该值越高越能说明物品的相关性越大,然后按照相关性进行top-n排序,并完成物品最终的筛选,得到用户最可能交互的下一项物品,完成推荐。
附图说明
[0029]
图1为本发明的一种基于注意力机制的商品序列推荐的方法模型概念图。
[0030]
图2为本发明中针对算法模型的过拟合处理机制。
具体实施方式
[0031]
实施例:
[0032]
本发明提供如下技术方案:一种基于注意力机制的商品序列推荐的方法,包括如下步骤:
[0033]
s1:数据预处理;
[0034]
s2:利用多头注意力机制构造用户短期兴趣偏好向量;
[0035]
s3:为长期兴趣分配不同的权重,得到长期偏好的最终表示。
[0036]
s4:加权融合长短期偏好得到用户最终的兴趣偏好,与候选集中每一个物品进行交互,在预测层得到该相关性分数值,然后将所得到的分数值按照由高到低排序得到用户的推荐列表;
[0037]
根据权利要求书所述的一种基于多目标优化的混合推荐系统及方法,其特征在于,所述步骤s1具体包括以下步骤:
[0038]
s1.1:如图1模型概念图中嵌入层所示,采集待分析的数据集,设用户的短期意图来自于最近l个商品交互,历史数据为用户长期偏好;
[0039]
s1.2:针对长期、短期意图,其行为序列的长度如果大于l,则取前l个。若小于l,则采用0左边填充至长度l;
[0040]
s1.3:经过embedding操作,得到矩阵,定义如下:
[0041][0042]
s1.4:以用户短期意图为例,借鉴transformer引入位置项量p进行嵌入得到向量矩阵定义如下:
[0043][0044]
根据权利要求书所述的根据权利要求书所述的一种基于注意力机制的商品序列推荐的方法,其特征在于:所述步骤s2具体包括以下步骤:
[0045]
s2.1:设置目标相关的查询向量q、键向量k、值向量v、以及注意力机制。具体定义如下:
[0046][0047]
multihead(q,k,v)=contact(head1...headn)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0048]
si=multihead(q,k,v)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0049]
q、k、v都等于。接着结合多个单独的注意力机制就形成了多头注意力机制模型,该模型就是将查询向量q扩展为多个查询,从而并行地从输入中选取多组信息。接着结合多个单独的注意力机制就形成了多头注意力机制模型,该模型就是将查询向量q扩展为多个查询,从而并行地从输入中选取多组信息。
[0050]
s2.2:如图1所示,在兴趣层中再叠加采取两层的前馈网络,赋予了模型非线性,最终得到短期偏好向量表示fi。
[0051]
[0052]fi
=fnn(si)=relu(siw b)w1 b1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0053]
p
tu
为长期兴趣偏好,mu为内积相似度。鉴于输入维大时,会导致点击模型的值有较大的方差,因此在点积的基础上加入缩放维度d,然后将权重系数和相应的值向量v加权求和,最终计算出注意力值。获取长期偏好的方式和获取短期偏好类似,让序列向量通过嵌入层后,在自注意力机制中引入用户和物品在隐空间上的内积相似度,并用相似度进行加权。从而增加了注意力机制的的协同性。
[0054]
如下定义w、w1都属于rd×d,b、b1为偏置向量。与transformer类似,为学习更复杂的特征变换,叠多个注意力层。第b个注意力block定义为:
[0055]
sb=s(f
b-1
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0056][0057]
根据权利要求书所述的根据权利要求书所述的一种基于注意力机制的商品序列推荐的方法,其特征在于:所述步骤s4加权兴趣偏好定义如下:
[0058]
最后加权融合长短期偏好,然后与每一个目标候选物品进行交互,得到。该值越高越能说明物品的相关性越大,然后按照相关性进行top-n排序,并完成物品最终的筛选,得到用户最可能交互的下一项物品,完成推荐。
[0059]
如图2所示,随着网络层数的加深,参数过多导致模型的时间复杂度俱增,并且模型会出现过拟合的现象,除此之外,模型很可能出现不稳定的情况进而发生梯度消失的现象。因此,在模型中加入残差连接、归一化操作、和dropout来抑制模型过拟合的现象。
技术特征:
1.一种基于注意力机制的商品序列推荐的方法,其特征在于,包括:获取用户所需数据并进行数据预处理;利用多头注意力机制来捕捉用户最近历史行为中物品与物品的之间的关系依赖,得到用户短期兴趣偏好向量;将用户与项目在隐式空间的相似度系数加入注意力机制的权重中,为长期兴趣分配不同的权重,得到长期偏好的最终表示;融合长短期偏好得到用户最终的兴趣偏好;将其与候选集中每一个物品进行交互,在预测层得到该相关性分数值,然后将所得到的分数值按照由高到低排序得到推荐序列。2.一种基于注意力机制的商品序列推荐的方法,其特征在于,包括如下步骤:s1:数据预处理;s2:利用多头注意力机制构造用户短期兴趣偏好向量;s3:为长期兴趣分配不同的权重,得到长期偏好的最终表示;s4:加权融合长短期偏好得到用户最终的兴趣偏好,与候选集中每一个物品进行交互,在预测层得到该相关性分数值,然后将所得到的分数值按照由高到低排序得到用户的推荐列表。3.根据权利要求2所述的一种基于注意力机制的商品序列推荐的方法,其特征在于,所述步骤s1具体包括以下步骤:s1.1:采集待分析的数据集,设用户的短期意图来自于最近l个商品交互,历史数据为用户长期偏好;s1.2:针对短期意图,其行为序列的长度如果大于l,则取前l个;若小于l,则采用0左边填充至长度l;s1.3:因为矩阵能方便gpu的计算,因此经过embedding操作,得到矩阵,定义如下:s1.4:借鉴transformer引入位置项量p进行嵌入得到向量矩阵4.根据权利要求2所述的一种基于注意力机制的商品序列推荐的方法,其特征在于:所述步骤s2具体包括以下步骤:s2.1:设置目标相关的查询向量q、键向量k、值向量v、以及注意力机制;具体定义如下:multihead(q,k,v)=contact(head1...head
n
)s
i
=multihead(q,k,v)q、k、v都等于接着结合多个单独的注意力机制就形成了多头注意力机制模型,该模型就是将查询向量q扩展为多个查询,从而并行地从输入中选取多组信息;接着结合多个单独的注意力机制就形成了多头注意力机制模型s
i
,该模型就是将查询向量q扩展为多个查询,从而并行地从输入中选取多组信息;s2.2:在s2.1基础上再叠加采取两层的前馈网络,赋予了模型非线性,最终得到短期偏好向量表示f
i
。5.根据权利要求2所述的一种基于注意力机制的商品序列推荐的方法,其特征在于:所
述步骤s3长期兴趣偏好定义如下:p
tu
为长期兴趣偏好,m
u
为内积相似度;获取长期偏好的方式和获取短期偏好类似,让序列向量通过嵌入层后,在自注意力机制中引入用户和物品在隐空间上的内积相似度,并用相似度进行加权;从而增加了注意力机制的的协同性;与transformer类似,为学习更复杂的特征变换,叠多个注意力层。6.根据权利要求2所述的一种基于注意力机制的商品序列推荐的方法,其特征在于:所述步骤s4加权兴趣偏好定义如下:最后加权融合长短期偏好,然后与每一个目标候选物品进行交互,得到该值越高越能说明物品的相关性越大,然后按照相关性进行top-n排序,并完成物品最终的筛选,得到用户最可能交互的下一项物品,完成推荐。
技术总结
一种基于注意力机制的商品序列推荐方法,包括:获取用户的商品历史数据集并进行数据预处理;利用多头注意力机制来捕捉用户最近历史行为中物品与物品的之间的关系依赖,得到用户短期兴趣偏好向量;将用户与项目在隐式空间的的相似度系数加入注意力机制的权重中,为长期兴趣分配不同的权重,得到长期偏好的最终表示。最后加权融合长短期偏好得到用户最终的兴趣偏好。然后将其与候选集中每一个物品进行交互,在预测层得到该相关性分数值,然后将所得到的分数值按照由高到低排序得到推荐序列,相关性的分数越高就代表用户下一项交互的可能性越大。本发明能更为精准的为用户推荐多个推荐结果,更加符合用户的商品推荐结果的需求。更加符合用户的商品推荐结果的需求。更加符合用户的商品推荐结果的需求。
技术研发人员:邓酩 谢刚 侯立宪 刘超 柳庆龙
受保护的技术使用者:桂林理工大学
技术研发日:2022.02.17
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-10640.html