一种序列推荐方法及计算机可读存储介质与流程

文档序号:23714562发布日期:2021-01-24 05:09阅读:66来源:国知局
一种序列推荐方法及计算机可读存储介质与流程

[0001]
本发明涉及序列推荐技术领域,尤其涉及一种序列推荐方法及计算机可读存储介质。


背景技术:

[0002]
随着互联网的普及,互联网应用的用户数量空前增长,诸多互联网公司在庞大的用户数据之上采用智能推荐算法提高产品的可用性和用户体验。然而经典的推荐算法往往存在一些问题,进而导致推荐精度不高或重复推荐:
[0003]
1)对于用户反馈数据表现出的相互依赖和序列性分析不足;
[0004]
2)对反馈数据和上下文(context)的动态性应对不足;
[0005]
3)往往固定表达了用户的长期/一般偏好,而非基于用户反馈数据对长期/一般偏好进行表达。
[0006]
而在序列推荐的场景中,两个重要的难点:1)学习高阶顺序依赖;目前主要的两种方案:高阶马尔科夫链模型和循环神经网络模型。但是,高阶马尔可夫链模型因参数数量随阶数呈指数增长,其分析的历史状态有限;而单一的循环神经网络模型难以处理具有非严格顺序相关性的用户反馈数据序列。2)学习长期顺序依赖;其主要方案是循环神经网络模型,而单一的循环神经网络模型依赖于相邻项的强相关性。
[0007]
现有技术中的序列推荐方法无法解决序列推荐场景中的技术难点。
[0008]
以上背景技术内容的公开仅用于辅助理解本发明的构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。


技术实现要素:

[0009]
本发明为了解决现有的问题,提供一种序列推荐方法及计算机可读存储介质。
[0010]
为了解决上述问题,本发明采用的技术方案如下所述:
[0011]
一种序列推荐方法,包括如下步骤:s1:获取用户的数据,所述数据划分为训练集和测试集,所述训练集用于训练序列推荐模型的参数,所述测试集用于测试所述序列推荐模型的效果;s2:构建所述序列推荐模型;所述序列推荐模型采用长期短期自注意力序列推荐方法;s3:用所述训练集训练所述序列推荐模型;用所述测试集测试所述序列推荐模型的效果;s4:将用户特征、推荐候选item集合特征、用户的反馈数据输入到训练好的所述序列推荐模型,得到用户的综合偏好,通过所述综合偏好估计所述用户对候选推荐item集中的推荐候选item的偏好程度,将偏好程度排名高的item推荐给用户,完成推荐。
[0012]
优选地,所述长期短期自注意力序列推荐方法包括如下步骤:s21:从用户长期反馈数据提取所述用户的长期/一般偏好;s22:从用户短期反馈数据提取所述用户的序列性偏好;s23:联合所述长期/一般偏好、所述序列性偏好、所述用户短期反馈数据参与注意力机制的赋权并非线性表达,提取出所述用户的综合偏好。
[0013]
优选地,所述序列推荐模型包括嵌入表示层、自注意力层、gru层、注意力层。
[0014]
优选地,所述嵌入表示层用于对用户特征、推荐候选item集合特征、用户的反馈数据的特征的稀疏表示进行嵌入,转化为稠密的嵌入表示。
[0015]
优选地,所述自注意力层以候选推荐item集合的嵌入表示用户u的嵌入表示用户长期反馈序列为输入,输出用户长期/一般偏好的表示u
long
,公式化表达如下:
[0016][0017][0018]
其中,表示用户长期反馈序列的item序列长度,d表示嵌入表示层的维度,表示l、u、的联合向量,其中为的长度,l、u作为上下文和联合,动态地表示了长期信息,即相同的用户反馈数据,query、key、value表示注意力机制中的查询、索引、需被注意力机制加权的数据,即query、key、value均表示分别为query和key非线性表示层的权重参数,relu(
·
)表示leaky_relu激励函数,q

和k

分别表示query和key的非线性表示,leaky_relu是relu的变体;
[0019][0020]
其中,为q

和k

的关联矩阵表示,并作为自注意力层的注意力权重矩阵,用以缩放点积;
[0021][0022]
其中,作为注意力权重矩阵和联合向量相乘得到了加权输出
[0023][0024]
对聚合,得到了用户长期/一般偏好的表示
[0025]
优选地,gru层用于提取用户短期反馈数据中的序列性偏好,将用户短期反馈数据作为输入,输出短期反馈数据表现出用户的序列性偏好表示公式化表示如下:
[0026]
z
j
=σ(w
z
[h
j-1
,v
2j
])
[0027]
r
j
=σ(w
r
[h
j-1
,v
2j
])
[0028][0029]
[0030]
y
j
=σ(w
o
h
j
)
[0031][0032]
其中,为用户短期反馈数据序列中的第j项,h
j
表示gru层中第j个单元的隐藏状态,σ(
·
)和tanh(
·
)分别表示sigmoid激活函数和tanh激活函数,z
j
为gru更新门项且w
z
为更新门权重,r
j
为重置门项且w
r
为重置门权重,为隐藏状态的重置项且为其权重,y
j
表示gru层中第j个单元的输出,w
o
为输出权重,表示用户短期反馈数据序列的长度,表示最后的gru的输出,为用户的序列性偏好表示
[0033]
优选地,所述注意力层用于联合用户短期反馈数据序列参与注意力机制,用户的长期/一般偏好表示u
long
、用户的序列性偏好表示u
seq
、用户短期反馈数据序列这三项联合为其中为的长度,输入注意力层最终得到了用户u的综合偏好的表示u
comp
;注意力层模型的公式化表示如下:
[0034][0035]
其中,和为注意力层的权重参数,这里

+

表示w
a
的每一行都和b
a
相加,由上式得到了为的非线性表示;
[0036][0037]
其中,u
long
作为注意力层的上下文向量(contextvector),使用softmax函数联合计算得到了的注意力权重向量
[0038][0039]
由上式得到的注意力权重向量对加权求和,最终得到了用户u的综合偏好的表示
[0040]
优选地,训练所述序列推荐模型时,由所述序列推荐模型的前向传递得到了用户综合偏好的表示u
comp
,用内积方法表示u
comp
和候选item的相似度,以表示用户u对候选itemv
3j
的偏好程度具体公式如下所示:
[0041][0042]
优选地,训练所述序列推荐模型的损失函数为:
[0043][0044]
其中,d表示用户、正样本、负样本构造的训练集,表示用户u对正样本候选itemj的偏好程度,表示用户u对负样本候选itemk的偏好程度,σ(
·
)表示sigmoid函数,θ
e

示嵌入层的权重参数,θ
a
表示自注意力层和注意力层的权重参数,θ
seq
表示gru层的权重参数,λ
e
、λ
a
、λ
seq
为对应的正则项系数。
[0045]
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述方法的步骤。
[0046]
本发明的有益效果为:提供一种序列推荐方法及计算机可读存储介质,通过采用了自注意力序列推荐方法,从用户长期反馈数据提取用户的长期/一般偏好,从用户短期反馈数据的提取用户的序列性偏好,同时考虑了用户和候选推荐item集合的动态影响;通过用户特征、推荐候选item集特征、用户反馈数据,可以得到用户的综合偏好。
[0047]
进一步地,注意力机制为不同的反馈数据赋予不同的权重以动态捕捉重点信息,同时也考虑了不同用户和不同候选推荐item集合对推荐结果的动态影响。
[0048]
再进一步地,自注意力机制捕捉了长期反馈数据之间的长期相互依赖,而不依赖于相邻强相关性(或顺序相关性),准确地表达了用户的长期/一般偏好,而非基于用户特征信息固定地表示用户的长期/一般偏好。
[0049]
更进一步地,gru捕捉了短期反馈数据的序列性并参与注意力机制的赋权,依据数据顺序相关性的强弱调整注意力权重,准确表达了用户的序列性偏好。
附图说明
[0050]
图1是本发明实施例中一种序列推荐方法的示意图。
[0051]
图2是本发明实施例中长期短期自注意力序列推荐方法的示意图。
[0052]
图3是本发明实施例中序列推荐模型的示意图。
[0053]
图4是本发明实施例中自注意力层的示意图。
[0054]
图5(a)、图5(b)是本发明实施例中本发明的方法与现有技术的方法以召回率为指标的对比结果示意图。
[0055]
图6(a)、图6(b)是本发明实施例中本发明实施例中本发明的方法与现有技术的方法以auc为指标的对比结果示意图。
[0056]
图7(a)、图7(b)是本发明实施例中消融实验对照图。
具体实施方式
[0057]
为了使本发明实施例所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0058]
需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至该另一个元件上。另外,连接既可以是用于固定作用也可以是用于电路连通作用。
[0059]
需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0060]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0061]
推荐系统领域的名词解释:
[0062]
(1)item:表示推荐系统中的项,如商品、视频等;
[0063]
(2)候选推荐item:可能被推荐给用户的候选item。推荐系统估计用户对候选推荐item的偏好程度,将用户对候选推荐item集合中的每个item的偏好程度排名,推荐系统将排名高的候选推荐item推荐给用户;
[0064]
(3)用户反馈(user-item interactions)数据:用户交互过的item,如用户买过的商品、看过的视频等。单项反馈数据为单个item,用户反馈数据列表为多个item;
[0065]
(4)推荐算法:通过用户反馈数据估计用户偏好,进而估计用户对候选推荐item的偏好程度,将用户对候选推荐item集合中偏好程度排名高的item推荐给用户。
[0066]
如图1所示,一种序列推荐方法,包括如下步骤:
[0067]
s1:获取用户的数据,所述数据划分为训练集和测试集,所述训练集用于训练序列推荐模型的参数,所述测试集用于测试所述序列推荐模型的效果;
[0068]
在本发明的一种实施例中,采用公开数据集,将数据集以一定比例划分为训练集和测试集,训练集用于训练序列推荐模型参数,测试集用以测试序列推荐模型效果。
[0069]
s2:构建所述序列推荐模型;所述序列推荐模型采用长期短期自注意力序列推荐方法;
[0070]
s3:用所述训练集训练所述序列推荐模型;用所述测试集测试所述序列推荐模型的效果;
[0071]
s4:将用户特征、推荐候选item集合特征、用户的反馈数据输入到训练好的所述序列推荐模型,得到用户的综合偏好,通过所述综合偏好估计所述用户对候选推荐item集中的推荐候选item的偏好程度,将偏好程度排名高的item推荐给用户,完成推荐。
[0072]
在本发明中,采用了自注意力序列推荐方法,从用户长期反馈数据提取用户的长期/一般偏好,从用户短期反馈数据的提取用户的序列性偏好,同时考虑了用户和候选推荐item集合的动态影响;通过用户特征、推荐候选item集特征、用户反馈数据,可以得到用户的综合偏好。
[0073]
如图2所示,长期短期自注意力序列推荐方法包括如下步骤:
[0074]
s21:从用户长期反馈数据提取所述用户的长期/一般偏好;
[0075]
s22:从用户短期反馈数据提取所述用户的序列性偏好;
[0076]
s23:联合所述长期/一般偏好、所述序列性偏好、所述用户短期反馈数据参与注意力机制的赋权并非线性表达,提取出所述用户的综合偏好。
[0077]
本发明提出了一种长期短期自注意力序列推荐方法。长期短期表示将用户的反馈数据分为长期和短期,用户的长期反馈数据反映了用户的长期/一般偏好,用户的短期反馈数据反映了用户的短期偏好和序列性偏好;注意力(attention)机制,可以为不同的数据赋予不同的权重,帮助算法动态捕捉数据中重要的信息,自注意力(self-attention)机制在此基础上,可以有效地捕捉长序列数据之间的相互依赖。gru(gaterecurrentunit,循环神
经网络的一种)可以分析序列数据的序列特性。与序列推荐的两个难点相对应:gru在学习高阶依赖时,联合注意力机制的赋权,动态地依据数据的顺序相关性的强弱调整权重,以准确学习高阶依赖;自注意力机制在捕捉长序列数据之间的相互依赖的同时,不依赖数据的相邻关系,准确学习了长期顺序依赖。
[0078]
进一步地,自注意力机制从用户长期反馈数据提取用户的长期/一般偏好,同时考虑了用户和候选推荐item集合的动态影响。gru从用户短期反馈数据的提取用户的序列性偏好。由前面步骤得到的用户的长期/一般偏好、用户的序列性偏好,联合用户短期反馈数据参与注意力机制的赋权并非线性表达(用户的长期/一般偏好表示同时作为注意力机制的上下文向量),得到了用户的综合偏好(基于综合偏好,估计候选推荐item集合中各item的偏好评分,得到推荐列表,完成推荐)。
[0079]
如图3所示,是本发明实施例中序列推荐模型的示意图。序列推荐模型包括嵌入表示层、自注意力层、gru层、注意力层。序列推荐模型负责前向传播,将用户特征、推荐候选item集特征、用户反馈数据输入模型部分,可以得到用户的综合偏好。序列推荐模型的网络参数需要通过训练更新才能准确表达用户的综合偏好,参数学习部分表示模型网络权重参数的训练更新过程。经过参数学习/训练后的模型,可以为用户进行可靠的推荐。
[0080]
在本发明的一种实施例中,构建序列推荐模型步骤如下,分为嵌入表示(embedding)层、自注意力层、gru层、注意力层的构建:
[0081]
(1)模型的构建-嵌入表示(embedding)层:对用户特征、可能被推荐的候选推荐item集合、用户反馈数据的特征的稀疏表示进行嵌入(embed),转化为稠密的嵌入表示(embedding)。
[0082]
(2)模型的构建-自注意力层:如图4所示,是本发明的实施例中一种自注意力层的示意图。本发明的自注意力层以候选推荐item集合的嵌入表示用户u的嵌入表示用户长期反馈序列
[0083]
为输入(其中,表示用户长期反馈序列的item序列长度,d表示嵌入表示层的维度,也是全局的维度参数),输出用户长期/一般偏好的表示u
long
(long-term representation)。
[0084]
表示l、u、的联合向量,其中为的长度,l、u作为上下文和联合,动态地表示了长期信息,即相同的用户反馈数据,在不同的候选item集或用户的情况下,会对推荐结果产生不同影响。query、key、value表示注意力机制中的查询、索引、需被注意力机制加权的数据。在本文的自注意力层中,即query、key、value均表示自注意力层的公式化表达如下:
[0085][0086][0087]
公式(1)(2)中的,分别为query和key非线性表示层的权
重参数,relu(
·
)表示leaky_relu激励函数,q

和k

分别表示query和key的非线性表示,leaky_relu是relu的变体,解决了relu函数进入负区间后,导致神经元不学习的问题。
[0088][0089]
公式(3)中,,为q

和k

的关联矩阵表示,并作为自注意力层的注意力权重矩阵(attentionmap),用以缩放点积,使得softmax函数的梯度不容易因为d过大而趋近于零。
[0090][0091]
公式(4)中,作为注意力权重矩阵和联合向量相乘得到了加权输出
[0092][0093]
公式(5)中,对聚合(如求和、取最大值,这里采用均值),得到了用户长期/一般偏好的表示
[0094]
自注意力机制捕捉了长期反馈数据之间的长期相互依赖,而不依赖于相邻强相关性(或顺序相关性),准确地表达了用户的长期/一般偏好,而非基于用户特征信息固定地表示用户的长期/一般偏好。
[0095]
(3)模型的构建-gru层:与利用自注意力层提取用户长期反馈数据之间的相互依赖不同,用户短期反馈数据的重点则是提取用户短期反馈数据中的序列性偏好。gru是循环神经网络的一种,解决了长期记忆和反向传播中的梯度等问题,且易于计算。模型将用户短期反馈数据输入gru,计算得到短期反馈数据表现出用户的序列性偏好表示u
seq
。模型gru层的公式化表示如下:
[0096]
z
j
=σ(w
z
[h
j-1
,v
2j
])
ꢀꢀ
(6)
[0097]
r
j
=σ(w
r
[h
j-1
,v
2j
])
ꢀꢀ
(7)
[0098][0099][0100]
y
j
=σ(w
o
h
j
)
ꢀꢀ
(10)
[0101][0102]
公式(6)-(11)中,为用户短期反馈数据序列中的第j项,h
j
表示gru网络中第j个单元的隐藏状态(hiddenstate),σ(
·
)和tanh(
·
)分别表示sigmoid激活函数和tanh激活函数。公式(6)中,z
j
为gru更新门(updategate)项且w
z
为更新门权重;公式(7)中,r
j
为重置门(resetgate)项且w
r
为重置门权重;公式(8)中,为隐藏状态的重置项且为
其权重;公式(10)中,y
j
表示gru网络中第j个单元的输出,w
o
为输出权重;公式(11)中,表示用户短期反馈数据序列的长度,表示最后的gru的输出,即模型的gru层的输出仅存在于最后的gru,且为用户的序列性偏好表示
[0103]
gru捕捉了短期反馈数据的序列性并参与注意力机制的赋权,依据数据顺序相关性的强弱调整注意力权重,准确表达了用户的序列性偏好。
[0104]
(4)模型的构建-注意力层:前面由自注意力层得到了用户的长期/一般偏好表示u
long
、由gru层得到了用户的序列性偏好表示u
seq
。需要注意的是,用户的序列性偏好并不能充分反映短期反馈数据的信息,且某些序列推荐的场景下往往存在部分非严格顺序相关性的用户反馈数据,会对gru层的结果u
seq
产生影响。因此,u
seq
需要联合用户短期反馈数据序列参与注意力机制才能充分表达短期反馈数据所含的信息,同时从结构上赋予相对重要的短期数据更高的权重。用户的长期/一般偏好表示u
long
、用户的序列性偏好表示u
seq
、用户短期反馈数据序列这三项联合为其中为的长度,输入注意力层最终得到了用户u的综合偏好的表示u
comp
。注意力层模型的公式化表示如下:
[0105][0106]
公式(12)中,和为注意力层的权重参数,这里

+

表示w
a
的每一行都和b
a
相加,由公式(11)得到了为的非线性表示;
[0107][0108]
公式(13)中,u
long
作为注意力层的上下文向量(contextvector),使用softmax函数联合计算得到了的注意力权重向量
[0109][0110]
由公式(14)得到的注意力权重向量对加权求和,最终得到了用户u的综合偏好的表示
[0111]
注意力机制为不同的反馈数据赋予不同的权重以动态捕捉重点信息,同时也考虑了不同用户和不同候选推荐item集合对推荐结果的动态影响。
[0112]
将长期/一般偏好的表示、序列性偏好的表示、短期反馈数据进行注意力机制的赋权,从结构赋予相对重要的短期反馈数据更高的权重,并以长期/一般偏好的表示作为上下文向量,准确估计了用户的综合偏好。
[0113]
在训练模型的过程中,由模型的前向传递得到了用户综合偏好的表示u
comp
,现在用内积方法如公式(15)所示,表示u
comp
和候选item的相似度,以表示用户u对候选itemv
3j
的偏好程度
[0114][0115]
在隐反馈的推荐系统场景中,用户往往没有对item的具体评分,而只是交互记录。
这种情况下,推荐系统只有正样本而缺乏负样本,模型的训练效果会因此受到影响。可以简单地将与用户没有交互记录的item作为用户的负样本,从而构造负样本集。而模型只需要和正样本集差不多大的负样本集,这种做法会造成负样本集庞大,且负样本集的质量低下。bpr方法是一种基于矩阵分解的方法,一对用户交互与未交互的两个item项构成偏序关系对,一个用户下item之间的偏序关系形成偏序矩阵,遍历用户集建立预测排序矩阵,bpr方法对预测排序矩阵分解生成用户矩阵和item矩阵,用户矩阵
×
item矩阵可以得到用户对每个item偏好程度。利用bpr方法生成低偏好程度的负样本集,大小与正样本集等同,参与训练。
[0116]
定义训练模型中的损失函数如下:
[0117][0118]
公式(16)中,d表示用户、正样本、负样本构造的训练集,表示用户u对正样本候选itemj的偏好程度,表示用户u对负样本候选itemk的偏好程度,σ(
·
)表示sigmoid函数。第一个加号后的三项为正则项(防止过拟合),θ
e
表示嵌入层的权重参数,θ
a
表示自注意力层和注意力层的权重参数,θ
seq
表示gru层的权重参数,λ
e
、λ
a
、λ
seq
为对应的正则项系数。选择优化器(一般为adam优化器),基于损失函数的梯度对算法模型中的网络权重参数进行迭代更新,得到训练好的算法模型。
[0119]
由模型计算得到的用户的综合偏好,用内积方法计算和候选推荐item的相关性,表示用户对候选推荐item的偏好评分。之后定义了算法的损失函数,损失函数的构造考虑了:正样本和负样本的偏好评分差距、防止过拟合的正则项。与此同时,通过bpr算法提供负样本,和正样本联合,参与损失函数的计算。最后优化器依据损失函数的梯度对算法的参数进行迭代更新,得到训练完成后的算法模型后。
[0120]
面对需要被推荐的用户,将用户特征、推荐候选item集合特征、用户的反馈数据输入算法模型,可以得到用户的综合偏好,通过综合偏好估计用户对候选推荐item集中的推荐候选item的偏好程度,将偏好程度排名高的item推荐给用户,完成推荐。
[0121]
在本发明的一种实施例中,采用如上所述的方法记性序列推荐包括如下流程:
[0122]
1:获取训练数据,如公开数据集或企业后台数据;
[0123]
2:设置序列推荐模型的结构超参数,包括维度参数、优化器等;
[0124]
3:构建序列推荐模型(embedding层、自注意力层、gru层、注意力层),初始化序列推荐模型的网络权重参数;
[0125]
4:枚举迭代次数i从1-n,训练序列推荐模型的网络权重参数:
[0126]
5:枚举批次(batch,本发明中batch=1),每次选择一个批次的用户和对应的反馈数据参与训练,直到整个训练数据集的用户和对应的反馈数据在第i次迭代中,都参与过训练:
[0127]
6:由训练数据集得到用户反馈数据列表,并划分为短期和长期的反馈数据列表,和用户特征、推荐候选item集合一同转化为各自的嵌入表示。输入算法模型,由上文所述的算法模型,得到用户的综合偏好的表示;
[0128]
7:通过用户的偏好表示、正样本、负样本、当前网络权重计算损失函数,优化器基
于损失函数的梯度通过反向传播对算法的网络权重参数进行更新;
[0129]
8:枚举结束;
[0130]
9:枚举结束,得到训练完成后的算法模型;
[0131]
10:此时可以对用户进行推荐,将用户特征、推荐候选item集特征、用户反馈数据输入算法模型前向传播得到综合偏好,并依据综合偏好估计推荐候选item集中用户偏好程度最高的几项item作为推荐列表,对用户进行推荐。
[0132]
如图5(a)、图5(b)和图6(a)、图6(b)所示,将上述长期短期自注意力序列推荐方法(lsssan)分布应用在tmall和gowalla数据集上的表现和现有技术中的方法进行对比,其中图5(a)、图5(b)的对比指标是召回率,图6(a)、图6(b)的对比指标是auc。结果显示,本发明的推荐算法的性能整体优于现有技术中的推荐算法:
[0133]
(1)长期短期自注意力序列推荐算法(lsssan)在整体上优于自注意力的attrec模型,lsssan在tmall数据集上recall@20和auc分别为0.126、0.797,在gowalla上两个指标分别为0.461、0.982。相比attrec模型,lsssan在两个数据集上指标召回率@20分别提升了6.07%和20.49%,在两个数据集上auc指标分别提升了10.45%和0.81%。表明相比attrec模型固定表达用户的长期/一般偏好、忽视序列性偏好,lsssan的自注意力层从长期反馈数据中提取了用户的长期/一般偏好、gru层从短期反馈数据中提取了用户的序列性偏好、并从结构上赋予了短期反馈更高的权重,对推荐结果更有利。
[0134]
(2)lsssan在gowalla数据集上的表现整体优于shan模型,在tmall数据集上的表现与shan模型相比各有优劣。lsssan在gowalla数据集上指标召回率@20和auc分别提升了1.51%和0.37%,在tmall数据集上指标auc分别提升了1.48%,而在tmall数据集上指标召回率@20落后于shan模型14.6%。其原因是gowalla数据集用户反馈数据之间的相互依赖和顺序相关性比tmall数据集严格,本文模型相比shan模型利用自注意力和gru着重捕捉了用户反馈数据之间的相互依赖和序列性,因此在gowalla上lsssan的表现整体优于shan模型,而在tmall数据集上的表现的稳定性不如shan模型。综上表明,相比shan对长期数据的相互依赖分析不足、忽视序列性偏好,lsssan的自注意力层分析了长期数据的相互依赖、gru层提取了序列性偏好,在推荐结果上具有更好的表现,尤其是当数据具有较强的相互依赖和顺序相关性的情况下。
[0135]
进一步地,本发明进行了消融试验。消融实验在人工智能/深度学习领域的作用为验证模型结构的合理性,消去模型的某一部分与原模型进行实验对比,证实这一部分在模型中具有不可替代的作用。消融实验的对照见表1和图7(a)、图7(b):
[0136]
表1消融实验对照表
[0137][0138]
lsssan1为长期短期自注意力序列推荐算法(lsssan)消去self-attention层后的模型,在两个数据集上表现不佳。相比lsssan,lsssan1在两个数据集上指标召回率@20分别降低了26.98%和38.83%,其原因主要是消去自注意力层后模型缺乏对长期/一般偏好的表达,也降低了相对重要的短期反馈数据在模型中的权重。
[0139]
lsssan2为长期短期自注意力序列推荐算法(lsssan)消去gru层后的模型,lsssan2在gowalla上的两个指标相比lsssan分别降低了0.87%、0.31%,lsssan2在tmall上的auc相比lsssan降低了0.89%,虽然lsssan2在tmall数据集上指标召回率@20相比lsssan提升了3.17%,但由附图5可以观察到lsssan2在tmall数据集上的整体表现稍劣于lsssan。以lsssan为基准,消去gru层的lsssan2在tmall数据集上的表现优于其在gowalla的表现,其原因是tmall数据集的顺序相关性和相互依赖性不如gowalla数据集严格。而lsssan与lsssan2相比,n参数较大时指标recall较稳定,此时对推荐结果而言,gru层提取序列性偏好的优势会大于gru层受非严格顺序相关性和弱相互依赖性的影响而不稳定的劣势。
[0140]
至此,消融实验验证了本发明中gru层和自注意力层发挥的重要作用。
[0141]
本申请实施例还提供一种控制装置,包括处理器和用于存储计算机程序的存储介质;其中,处理器用于执行所述计算机程序时至少执行如上所述的方法。
[0142]
本申请实施例还提供一种存储介质,用于存储计算机程序,该计算机程序被执行时至少执行如上所述的方法。
[0143]
本申请实施例还提供一种处理器,所述处理器执行计算机程序,至少执行如上所述的方法。
[0144]
所述存储介质可以由任何类型的易失性或非易失性存储设备、或者它们的组合来实现。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasableprogrammable read-only memory)、电可擦除可编程只读存储器(eeprom,electricallyerasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagneticrandom access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),
其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronousstatic random access memory)、动态随机存取存储器(dram,dynamic random accessmemory)、同步动态随机存取存储器(sdram,synchronous dynamic random accessmemory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data ratesynchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
[0145]
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0146]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0147]
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0148]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0149]
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0150]
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0151]
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0152]
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以
任意组合,得到新的方法实施例或设备实施例。
[0153]
以上内容是结合具体的优选实施方式对本发明所做的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1