基于用户长短期偏好的分层注意力网络序列推荐方法与流程

未命名 07-30 阅读:117 评论:0


1.本发明涉及数据处理技术领域,尤其涉及一种基于用户长短期偏好的分层注意力网络序列推荐方法。


背景技术:

2.随着互联网时代到来,我们已经进入信息爆炸的时代。如何将海量的信息推荐给合适的对象,是企业面临的重大难题。同时,对于个体而言,如何从庞大的互联网数据中选择自己需要的信息,也是用户面临的问题。在这样的背景下,推荐系统得以迅速发展。
3.推荐系统的主要目标是根据用户与物品的历史交互信息来学习用户的兴趣偏好,最终根据用户的兴趣个性化推荐物品。在众多场景中,用户与物品的交互往往具有时序依赖性,比如,用户通常会在购买手机后购买手机壳、手机膜等配件。
4.在这种场景下,用户的历史行为会按照活动的时间顺序进行组织。常见的一种做法是两种模型分别捕获用户的长期偏好和短期偏好,通过两个模型分别获取不同的数据不但建模过程复杂,并且无法将长期偏好和短期偏好结合,因此得到的推荐物品与用户偏好误差较大,导致推荐物品的精确度较差。
5.因此,如何结合长期偏好和短期偏好,提高物品推荐的精确性和效率,是当前亟需解决的技术问题。


技术实现要素:

6.本发明提供一种基于用户长短期偏好的分层注意力网络序列推荐方法,用以解决现有技术中推荐物品与用户偏好精确度较差的缺陷,实现结合长期偏好和短期偏好,提高物品推荐的精确性和效率。
7.本发明提供一种基于用户长短期偏好的分层注意力网络序列推荐方法,包括:
8.获取目标用户的用户特征信息,基于所述用户特征信息确定该目标用户所关联的历史物品特征信息;
9.将所述用户特征信息和历史物品特征信息输入至用户偏好模型中,得到所述目标用户对所述历史物品的长期偏好信息以及短期偏好信息,并对所述长期偏好信息和短期偏好信息进行加权得到混合偏好信息;
10.基于所述混合偏好信息和物品特征信息确定所述历史物品的预测得分,基于所述预测得分确定待推荐物品,将所述待推荐物品推荐给所述目标用户;
11.其中,所述用户偏好模型是基于注意力机制构建,并基于用户样本、物品样本以及所述用户样本对应的物品交互记录进行训练得到的。
12.根据本发明提供的一种基于用户长短期偏好的分层注意力网络序列推荐方法,所述用户偏好模型包括:嵌入层、特征融合层、长短期偏好捕获层、长短期偏好混合层;
13.所述将所述用户特征信息和历史物品特征信息输入至用户偏好模型中,得到所述目标用户对所述历史物品的混合偏好信息,包括:
14.将所述用户特征信息和物品特征信息输入至所述嵌入层中,得到用户特征矩阵和物品特征矩阵;
15.将所述用户特征矩阵和物品特征矩阵输入至所述特征融合层中,得到用户融合向量和物品融合向量;
16.将所述用户融合向量和物品融合向量输入至所述长短期偏好捕获层中,得到所述目标用户对所述历史物品随时间变化的长期偏好信息和短期偏好信息;
17.将所述长期偏好信息和短期偏好信息输入至所述偏好混合层中,得到所述目标用户对所述历史物品的混合偏好信息。
18.根据本发明提供的一种基于用户长短期偏好的分层注意力网络序列推荐方法,所述将所述用户融合向量和物品融合向量输入至所述长短期偏好捕获层中,得到所述目标用户对所述历史物品随时间变化的长期偏好信息和短期偏好信息,包括:
19.基于固定时间间隔,将所述物品融合向量划分为多个时间段的序列集合,基于所述序列集合确定第一向量序列和第二向量序列;所述第一向量序列用于确定所述目标用户对所述历史物品的长期偏好信息,所述第二向量序列用于确定所述目标用户对所述历史物品的短期偏好信息;
20.将所述用户融合向量和第一向量序列输入至长短期偏好捕获层中,得到所述长期偏好信息,并基于所述第二向量序列确定所述短期偏好信息。
21.根据本发明提供的一种基于用户长短期偏好的分层注意力网络序列推荐方法,所述将所述用户融合向量和第一向量序列输入至长短期偏好捕获层中,得到所述长期偏好信息,包括:
22.基于所述长短期偏好捕获层的多层感知机得到所述第一向量序列中第n个向量的隐藏表示;
23.基于所述第n个向量的隐藏表示和用户融合向量确定所述目标用户在该时间段的第一重要性权重;
24.基于所述第一重要性权重和所述第n个向量的乘积确定所述长期偏好信息。
25.根据本发明提供的一种基于用户长短期偏好的分层注意力网络序列推荐方法,所述基于所述长短期偏好捕获层的多层感知机得到所述第一向量序列中第n个向量的隐藏表示,包括:
26.确定所述第一向量序列中第n个向量的第一目标权重和第一目标偏置,其中,所述n为正整数;
27.基于所述第n个向量、第一目标权重和第一目标偏置以及预设的激活函数得到所述第n个向量的隐藏表示。
28.根据本发明提供的一种基于用户长短期偏好的分层注意力网络序列推荐方法,所述基于所述第二向量序列确定所述短期偏好信息,包括:
29.确定所述第二向量序列中第m个向量的第二目标权重和第二目标偏置,其中,所述m为正整数;
30.基于所述第m个向量、第二目标权重和第二目标偏置以及预设的激活函数得到所述第m个向量的隐藏表示;
31.基于所述第m个向量的隐藏表示和用户融合向量确定所述目标用户在该时刻的第
二重要性权重;
32.基于所述第二重要性权重和所述第m个向量的乘积确定所述短期偏好信息。
33.根据本发明提供的一种基于用户长短期偏好的分层注意力网络序列推荐方法,所述将所述长期偏好信息和短期偏好信息输入至所述偏好混合层中,得到所述目标用户对所述历史物品的混合偏好信息,包括:
34.将所述长期偏好信息和短期偏好信息输入至所述偏好混合层中,获取所述长期偏好信息的混合权重,基于所述短期偏好信息、所述长期偏好信息以及所述长期偏好信息的混合权重确定所述混合偏好信息。
35.本发明还提供一种基于用户长短期偏好的分层注意力网络序列推荐装置,包括:
36.获取模块,用于获取目标用户的用户特征信息,基于所述用户特征信息确定该目标用户所关联的历史物品特征信息;
37.混合模块,用于将所述用户特征信息和历史物品特征信息输入至用户偏好模型中,得到所述目标用户对所述历史物品的长期偏好信息以及短期偏好信息,并对所述长期偏好信息和短期偏好信息进行加权得到混合偏好信息;
38.推荐模块,用于基于所述混合偏好信息和物品特征信息确定所述历史物品的预测得分,基于所述预测得分确定待推荐物品,将所述待推荐物品推荐给所述目标用户;
39.其中,所述用户偏好模型是基于注意力机制构建,并基于用户样本、物品样本以及所述用户样本对应的物品交互记录进行训练得到的。
40.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于用户长短期偏好的分层注意力网络序列推荐方法。
41.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于用户长短期偏好的分层注意力网络序列推荐方法。
42.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于用户长短期偏好的分层注意力网络序列推荐方法。
43.本发明提供的基于用户长短期偏好的分层注意力网络序列推荐方法,通过用户偏好模型基于用户特征信息和物品特征信息得到目标用户对历史物品的长期偏好信息和短期偏好信息,并对长期偏好信息和短期偏好信息进行加权得到混合偏好信息,即利用用户偏好模型实现长期偏好信息和短期偏好信息的结合,能够减少单独通过长期偏好信息或短期偏好信息进行物品推荐存在的误差,从而提高物品推荐的精确性和效率。
附图说明
44.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
45.图1是本发明提供的基于用户长短期偏好的分层注意力网络序列推荐方法的流程示意图;
46.图2是本发明提供的基于用户长短期偏好的分层注意力网络序列推荐方法的模型架构图;
47.图3是本发明提供的基于用户长短期偏好的分层注意力网络序列推荐装置的结构示意图;
48.图4是本发明提供的电子设备的结构示意图。
具体实施方式
49.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.现有技术中,序列推荐已广泛用于商业场景中(例如,电子商务推荐,媒体推荐等)。在这种情况下,用户的历史行为可以按商品的时间顺序进行组织。序列推荐的主要目标是基于用户的历史行为来推荐用户在不久的将来可能与之交互的下一个或者下多个物品。
51.传统的序列模型通常基于马尔科夫链的fpmc(factorizing personalized markov chains for next-basket recommendation)模型对用户-商品矩阵进行因式分解,学习用户的长期偏好,利用商品-商品转换对顺序信息进行建模,然后相加得到最终得分。然而,基于马尔科夫链的方法却忽略了用户的总体偏好是随时间推移而动态变化。为每个用户学习一个静态的向量来模拟用户的长期偏好是不够准确的。递归神经网络(rnn)也被用于建模序列推荐,但很难保存用户的长期偏好,更为适合基于会话的推荐场景中。shan模型采用注意力网络能够捕获用户的长短期偏好进行下一个物品推荐,但是未能在模型中融入用户和物品的特征,这可能会极大降低推荐性能。
52.fpmc:fpmc模型主要用于预测未知物品引起用户兴趣的可能性,并根据可能性列出物品推荐列表,该方法将矩阵分解和马尔可夫链结合起来进行下一个购物篮推荐,但忽略用户的长期偏好随时间动态转移。
53.gru4rec:gru4rec模型采用门控循环单元(gated recurrent unit,gru)建模用户序列行为并进行基于会话的推荐,但很难保留用户的长期依赖性且不能并行计算。
54.shan:shan模型采用两个attention模型建模用户的长短期偏好进行序列推荐,并能取得较好的推荐效果,但是该模型未能融入辅助特征的影响,这可能会较大程度影响模型的预测性能。
55.综上所述,现有技术中无法将长期偏好和短期偏好结合,因此得到的推荐物品与用户偏好误差较大,导致推荐物品的精确度较差。
56.因此为了解决上述技术问题,在本发明中,采用分层的注意力机制建模用户随时间转移的长期偏好和用户短期偏好生成用户的混合表示,并与候选物品集的物品做乘积预测得分,为用户推荐其可能感兴趣的下一个物品。
57.参照图1,本发明提供的基于用户长短期偏好的分层注意力网络序列推荐方法,包括但不限于以下步骤:
58.步骤110、获取目标用户的用户特征信息,基于所述用户特征信息确定该目标用户
所关联的历史物品特征信息;
59.步骤120、将所述用户特征信息和历史物品特征信息输入至用户偏好模型中,得到所述目标用户对所述历史物品的长期偏好信息以及短期偏好信息,并对所述长期偏好信息和短期偏好信息进行加权得到混合偏好信息;
60.步骤130、基于所述混合偏好信息和物品特征信息确定所述历史物品的预测得分,基于所述预测得分确定待推荐物品,将所述待推荐物品推荐给所述目标用户;
61.其中,所述用户偏好模型是基于注意力机制构建,并基于用户样本、物品样本以及所述用户样本对应的物品交互记录进行训练得到的。
62.以下对上述步骤进行详细描述。
63.在上述步骤110中,首先获取目标用户的用户特征信息和物品的物品特征信息。物品可指代为向用户推荐的各种商品,如金融产品、影视资料、图文资料等,再次不作具体限定。目标用户可指的是需要进行商品推荐的用户,比如电子书应用程序、视频应用程序、电影应用程序,融信应用程序等不同类型的信息提供平台的用户,对此不作具体地限定。可以理解的是,本发明中提出的基于用户长短期偏好的分层注意力网络序列推荐方法可适用于各种类型的商品推荐场景。
64.进一步地,用户特征信息包括但不限于用户的年龄、性别、id(identity document,身份标识)和个性签名,本实施对此不做具体地限定。商品特征信息包括但不限于商品的热门程度、id和类型,本实施对此不做具体地限定。
65.在上述步骤120中,利用用户偏好模型对用户特征信息和物品特征信息进行特征融合、偏好捕获以及偏好混合等,得到目标用户对物品的混合偏好信息。用户偏好模型是经过有监督训练得到的神经网络模型,其主要采用自注意力网络构建。
66.其中,自注意力网络采用自注意力机制,可自动地学习多维特征的高阶交互特征。注意力机制为借鉴人类的注意力机制,可以将注意力聚焦在重点区域并忽略其他信息。
67.用户偏好模型的训练过程为常规训练过程:获取用户样本、物品样本组成训练数据集,根据训练数据集和对应的标签即用户样本对应的物品交互记录进行训练,以使训练好的用户偏好模型可以准确输出用户的偏好信息,进而为用户进行精准推荐,提高用户的体验感。其中,训练方式可以根据实际需求进行设置,如梯度下降法及其衍生优化算法和遗传算法等,在此不多做限定。
68.需要说明的是,用户偏好模型的各个层结构包括嵌入层、特征融合层、长短期偏好捕获层、长短期偏好混合层,其中每一层的具体结构,如层数、初始化参数和激活函数等,可以根据实际需求进行设置,本实施例对此不做具体地限定。
69.可选地,用户偏好模型的具体执行过程为:融合目标用户和历史物品特征,采用vanilla attention注意力层生成混合的用户和物品向量表示。然后将用户特征向量和交互的历史物品特征向量输入注意力网络学习用户的长期偏好,随后采用另一层独立的注意力网络建模用户长短期偏好占比生成混合的用户向量表示。
70.最后通过上述步骤130,基于混合偏好信息和历史物品确定历史物品的预测得分,基于预测得分确定待推荐物品,将待推荐物品推荐给目标用户。
71.具体地,在获取目标用户对历史物品的混合偏好信息之后,将混合偏好信息与每个候选商品进行乘积运算,得到各候选商品的评分信息,具体如以下公式所示:
72.y
uj
=uhij73.其中,y
uj
为第i个物品的的第j个特征对物品u的评分信息;uh为混合偏好信息,ij为第i个物品的的第j个特征。
74.最后根据各物品的评分信息,将评分信息最高的物品作为待推荐物品推荐给目标用户。
75.在实际应用中,比如movielens数据集,输入用户历史观看的电影序列以及电影和用户的特征信息。通过训练后会学习到一套用户偏好模型的参数,记录了用户的长短期偏好信息,进而为用户推荐接下来可能感兴趣的电影。对于推荐系统而言,传递给用户的是用户下一部或者下几部可能感兴趣的排序后的电影列表。
76.本发明提供的基于用户长短期偏好的分层注意力网络序列推荐方法,通过用户偏好模型基于用户特征信息和物品特征信息得到目标用户对历史物品的长期偏好信息和短期偏好信息,并对长期偏好信息和短期偏好信息进行加权得到混合偏好信息,即利用用户偏好模型实现长期偏好信息和短期偏好信息的结合,能够减少单独通过长期偏好信息或短期偏好信息进行物品推荐存在的误差,从而提高物品推荐的精确性和效率。
77.参照图2,在一些可选的实施例中,所述用户偏好模型包括:嵌入层、特征融合层、长短期偏好捕获层、长短期偏好混合层。
78.所述将所述用户特征信息和历史物品特征信息输入至用户偏好模型中,得到所述目标用户对所述历史物品的混合偏好信息,包括:
79.将所述用户特征信息和物品特征信息输入至所述嵌入层中,得到用户特征矩阵和物品特征矩阵;
80.将所述用户特征矩阵和物品特征矩阵输入至所述特征融合层中,得到用户融合向量和物品融合向量;
81.将所述用户融合向量和物品融合向量输入至所述长短期偏好捕获层中,得到所述目标用户对所述历史物品随时间变化的长期偏好信息和短期偏好信息;
82.将所述长期偏好信息和短期偏好信息输入至所述偏好混合层中,得到所述目标用户对所述历史物品的混合偏好信息。
83.本实施例给出了用户偏好模型的各个层级结构以及各层级结构的具体功能。
84.首先,将所述用户特征信息和物品特征信息(即历史物品特征信息)输入至所述嵌入层中,得到用户特征矩阵和物品特征矩阵。具体过程为:将每一个用户、物品以及用户物品特征映射到一个密集的嵌入向量v∈rd中,其中d表示潜在维度,进而消除不同类型的特征对推荐结果的影响,提高推荐结果的准确性。
85.经过嵌入层,每个用户u会生成m+1个向量,m为用户特征向量的个数,1为用户id映射向量,同样的,每个物品也会生成n+1个向量,其中n为每个物品特征的个数。
86.需要说明的是,用户u的m+1个向量组成用户特征矩阵,物品i的n+1个向量组成物品特征矩阵。
87.然后,将用户特征矩阵和物品特征矩阵输入至特征融合层中,得到用户融合向量和物品融合向量,也就是融入用户和物品的辅助信息到用户/物品的向量表示中。采用多个vanilla attention注意力层机制计算每个特征向量的重要程度,进而能够为用户/物品筛选有用的特征信息,每个注意力层分别输出一个用户融合向量和一个物品融合向量。
88.需要说明的是,本实施例中并非用用户和物品的特征向量完全替代其表示,仍给用户和物品预留一个自由向量表示,生成融合特征的物品向量表示公式如下:
[0089][0090][0091]
其中,表示用户交互过的第i个物品的第j个特征(此处包括物品i的自由向量表示),m表示物品特征的个数。ii是用户交互过的物品i的整合特征向量,用户整合特征向量的生成与物品向量生成类似:
[0092][0093][0094]
其中u为生成的用户向量,u
fj
为用户的第j个特征(同样包含用户的自由向量),m表示用户特征的个数。最终,在特征融合层会生成n+1个向量表示,其中1为用户向量,n为用户交互过的物品向量。
[0095]
进一步,将用户融合向量和物品融合向量输入至长短期偏好捕获层中,得到目标用户对历史物品随时间变化的长期偏好信息和短期偏好信息。
[0096]
在输入长短期偏好捕获层之前,需要将特征融合层输出的物品融合向量形成用户交互序列,然后将该序列按照固定的时间间隔(比如一天)划分成多个集合,可记为t。其中,前t-1个序列集合用于计算用户长期偏好信息,最后一个t的商品则表示用户的短期偏好信息。
[0097]
举例而言,若将序列按照每一天划分为10个集合,则将前9天用于计算用户长期偏好信息,第10天用于计算用户的短期偏好信息。
[0098]
最后,将长短期偏好捕获层输出的长期偏好信息以及短期偏好信息输入至偏好混合层中进行加权混合计算,输出目标用户对历史物品的混合偏好信息。
[0099]
本实施例通过用户偏好模型的多个层结构,对用户特征信息和物品特征信息先后进行特征映射、特征融合、长短期偏好捕获以及长短期偏好融合,从而能够生成用户对物品的长短期混合偏好信息,便于减少单独通过长期偏好信息或短期偏好信息进行物品推荐存在的误差,从而提高物品推荐的精确性和效率。
[0100]
在一些可选的实施例中,所述将所述用户融合向量和物品融合向量输入至所述长短期偏好捕获层中,得到所述目标用户对所述历史物品随时间变化的长期偏好信息和短期偏好信息,包括:
[0101]
基于固定时间间隔,将所述物品融合向量划分为多个时间段的序列集合,基于所述序列集合确定第一向量序列和第二向量序列;所述第一向量序列用于确定所述目标用户
对所述历史物品的长期偏好信息,所述第二向量序列用于确定所述目标用户对所述历史物品的短期偏好信息;
[0102]
将所述用户融合向量和第一向量序列输入至长短期偏好捕获层中,得到所述长期偏好信息,并基于所述第二向量序列确定所述短期偏好信息。
[0103]
本实施例为长短期偏好捕获层的具体功能,也就是是长期偏好信息和短期偏好信息的具体获取过程。
[0104]
首先基于固定时间间隔,将物品融合向量划分为多个时间段的序列集合,基于序列集合确定第一向量序列和第二向量序列。第一向量序列用于确定目标用户对历史物品的长期偏好信息,第二向量序列用于确定目标用户对历史物品的短期偏好信息。
[0105]
将用户交互的商品序列按照时间间隔(比如照天)划分成t个集合,其中t-1个序列集合的商品用于计算用户长期偏好,最后一个t的商品则表示用户的短期偏好。
[0106]
参照图2,需要说明的是,物品1到n-2用于计算用户的长期偏好,第n-1与n属于第t个时间间隔,用于表征用户的短期偏好。
[0107]
本实施例中,将用户融合向量和第一向量序列输入至长短期偏好捕获层中,得到长期偏好信息,并基于第二向量序列确定短期偏好信息。也就是说,对于长期偏好来说,需经过长短期偏好捕获层的attention network注意力网络,根据长期偏好商品来计算每个商品的重要性,然后根据重要性权重加权求和汇总这些嵌入向量,形成用户长期偏好表示。对于短期偏好来说,无需经注意力网络,可直接根据第二向量序列确定。
[0108]
进一步地,所述将所述用户融合向量和第一向量序列输入至长短期偏好捕获层中,得到所述长期偏好信息,包括:
[0109]
基于所述长短期偏好捕获层的多层感知机得到所述第一向量序列中第n个向量的隐藏表示;
[0110]
更进一步地,在一些可选的实施例中,所述基于所述长短期偏好捕获层的多层感知机得到所述第一向量序列中第n个向量的隐藏表示,包括:确定所述第一向量序列中第n个向量的第一目标权重和第一目标偏置,其中,所述n为正整数;基于所述第n个向量、第一目标权重和第一目标偏置以及预设的激活函数得到所述第n个向量的隐藏表示;基于所述第n个向量的隐藏表示和用户融合向量确定所述目标用户在该时间段的第一重要性权重;
[0111]
基于所述第一重要性权重和所述第n个向量的乘积确定所述长期偏好信息。
[0112]
本实施例中,例如n=j,首先根据长短期偏好捕获层的多层感知机得到所述第一向量序列中第j个向量的隐藏表示。
[0113]
公式定义如下:
[0114]hj
=σ(wjij+bj)
[0115]
其中,hj为第j个向量的隐藏表示,σ为激活函数,wj和bj分别表示计算第j个物品向量的目标权重和目标偏置。
[0116]
然后计算用户u在该时间段的第一重要性权重,公式如下:
[0117][0118]
其中,αj为第一重要性权重,u
t
为用户融合向量,h
jk
为第j个向量的隐藏表示的第k
维特征。
[0119]
最后,根据重要性权重和第j个向量得到长期偏好信息,公式如下:
[0120][0121]
其中,u
l
为长期偏好信息。
[0122]
在一些可选的实施例中,所述基于所述第二向量序列确定所述短期偏好信息,包括:
[0123]
确定所述第二向量序列中第m个向量的第二目标权重和第二目标偏置,其中,所述m为正整数;
[0124]
基于所述第m个向量、第二目标权重和第二目标偏置以及预设的激活函数得到所述第m个向量的隐藏表示;
[0125]
基于所述第m个向量的隐藏表示和用户融合向量确定所述目标用户在该时刻的第二重要性权重;
[0126]
基于所述第二重要性权重和所述第m个向量的乘积确定所述短期偏好信息。
[0127]
相应地,本实施例为短期偏好信息的获取过程。
[0128]
参照长期偏好信息的获取过程,在第二向量序列中选取第j个向量,获取第j个向量的隐藏表示;
[0129]
oj=σ(wjij+bj)
[0130]
其中,oj为第j个向量的隐藏表示,σ为激活函数,wj和bj分别表示计算第j个物品向量的目标权重和目标偏置。
[0131]
然后,基于第m个向量的隐藏表示和用户融合向量确定目标用户在该时刻的第二重要性权重。
[0132][0133]
其中,表示用户u在时间t交互过的物品集合,h
jk
为第j个向量的隐藏表示的第k维特征。
[0134]
最后,基于第二重要性权重和所述第j个向量的乘积确定短期偏好信息,如以下公式所示:
[0135][0136]
其中,us为长期偏好信息。
[0137]
在一些可选的实施例中,所述将所述长期偏好信息和短期偏好信息输入至所述偏好混合层中,得到所述目标用户对所述历史物品的混合偏好信息,包括:
[0138]
将所述长期偏好信息和短期偏好信息输入至所述偏好混合层中,获取所述长期偏好信息的混合权重,基于所述短期偏好信息、所述长期偏好信息以及所述长期偏好信息的混合权重确定所述混合偏好信息。
[0139]
本实施例中,根据用户对物品的长期偏好信息和短期偏好信息以及长期偏好信息的权重得到用户的混合偏好信息。如以下公式所示:
[0140]
uh=β0u
l
+us[0141]
其中,β0为长期偏好信息的目标权重。
[0142]
最后,根据混合偏好信息计算每个候选商品的推荐评分。
[0143]yuj
=uhij[0144]
其中,y
uj
为第i个物品的的第j个特征对物品u的评分信息;uh为混合偏好信息,ij为第i个物品的的第j个特征。
[0145]
下面对本发明提供的基于用户长短期偏好的分层注意力网络序列推荐装置进行描述,下文描述的基于用户长短期偏好的分层注意力网络序列推荐装置与上文描述的基于用户长短期偏好的分层注意力网络序列推荐方法可相互对应参照。
[0146]
参照图3,本发明提供的基于用户长短期偏好的分层注意力网络序列推荐装置,包括以下模块:
[0147]
获取模块310,用于获取目标用户的用户特征信息,基于所述用户特征信息确定该目标用户所关联的历史物品特征信息;
[0148]
混合模块320,用于将所述用户特征信息和历史物品特征信息输入至用户偏好模型中,得到所述目标用户对所述历史物品的长期偏好信息以及短期偏好信息,并对所述长期偏好信息和短期偏好信息进行加权得到混合偏好信息;
[0149]
推荐模块330,用于基于所述混合偏好信息和物品特征信息确定所述历史物品的预测得分,基于所述预测得分确定待推荐物品,将所述待推荐物品推荐给所述目标用户;
[0150]
其中,所述用户偏好模型是基于注意力机制构建,并基于用户样本、物品样本以及所述用户样本对应的物品交互记录进行训练得到的。
[0151]
在上述获取模块310中,首先获取目标用户的用户特征信息和物品的物品特征信息。物品可指代为向用户推荐的各种商品,如金融产品、影视资料、图文资料等,再次不作具体限定。目标用户可指的是需要进行商品推荐的用户,比如电子书应用程序、视频应用程序、电影应用程序,融信应用程序等不同类型的信息提供平台的用户,对此不作具体地限定。可以理解的是,本发明中提出的基于用户长短期偏好的分层注意力网络序列推荐方法可适用于各种类型的商品推荐场景。
[0152]
进一步地,用户特征信息包括但不限于用户的年龄、性别、id(identity document,身份标识)和个性签名,本实施对此不做具体地限定。商品特征信息包括但不限于商品的热门程度、id和类型,本实施对此不做具体地限定。
[0153]
在上述混合模块320中,利用用户偏好模型对用户特征信息和物品特征信息进行特征融合、偏好捕获以及偏好混合等,得到目标用户对物品的混合偏好信息。用户偏好模型是经过有监督训练得到的神经网络模型,其主要采用自注意力网络构建。
[0154]
其中,自注意力网络采用自注意力机制,可自动地学习多维特征的高阶交互特征。注意力机制为借鉴人类的注意力机制,可以将注意力聚焦在重点区域并忽略其他信息。
[0155]
用户偏好模型的训练过程为常规训练过程:获取用户样本、物品样本组成训练数据集,根据训练数据集和对应的标签即用户样本对应的物品交互记录进行训练,以使训练好的用户偏好模型可以准确输出用户的偏好信息,进而为用户进行精准推荐,提高用户的
体验感。其中,训练方式可以根据实际需求进行设置,如梯度下降法及其衍生优化算法和遗传算法等,在此不多做限定。
[0156]
需要说明的是,用户偏好模型的各个层结构包括嵌入层、特征融合层、长短期偏好捕获层、长短期偏好混合层,其中每一层的具体结构,如层数、初始化参数和激活函数等,可以根据实际需求进行设置,本实施例对此不做具体地限定。
[0157]
可选地,用户偏好模型的具体执行过程为:融合目标用户和历史物品特征,采用vanilla attention注意力层生成混合的用户和物品向量表示。然后将用户特征向量和交互的历史物品特征向量输入注意力网络学习用户的长期偏好,随后采用另一层独立的注意力网络建模用户长短期偏好占比生成混合的用户向量表示。
[0158]
最后通过上述推荐模块330,基于混合偏好信息和历史物品确定历史物品的预测得分,基于预测得分确定待推荐物品,将待推荐物品推荐给目标用户。
[0159]
具体地,在获取目标用户对历史物品的混合偏好信息之后,将混合偏好信息与每个候选商品进行乘积运算,得到各候选商品的评分信息,具体如以下公式所示:
[0160]yuj
=uhij[0161]
其中,y
uj
为第i个物品的的第j个特征对物品u的评分信息;uh为混合偏好信息,ij为第i个物品的的第j个特征。
[0162]
最后根据各物品的评分信息,将评分信息最高的物品作为待推荐物品推荐给目标用户。
[0163]
在实际应用中,比如movielens数据集,输入用户历史观看的电影序列以及电影和用户的特征信息。通过训练后会学习到一套用户偏好模型的参数,记录了用户的长短期偏好信息,进而为用户推荐接下来可能感兴趣的电影。对于推荐系统而言,传递给用户的是用户下一部或者下几部可能感兴趣的排序后的电影列表。
[0164]
本发明提供的基于用户长短期偏好的分层注意力网络序列推荐装置,通过用户偏好模型基于用户特征信息和物品特征信息得到目标用户对历史物品的长期偏好信息和短期偏好信息,并对长期偏好信息和短期偏好信息进行加权得到混合偏好信息,即利用用户偏好模型实现长期偏好信息和短期偏好信息的结合,能够减少单独通过长期偏好信息或短期偏好信息进行物品推荐存在的误差,从而提高物品推荐的精确性和效率。
[0165]
在一些可选的实施例中,所述用户偏好模型包括:嵌入层、特征融合层、长短期偏好捕获层、长短期偏好混合层;
[0166]
所述将所述用户特征信息和历史物品特征信息输入至用户偏好模型中,得到所述目标用户对所述历史物品的混合偏好信息,包括:
[0167]
将所述用户特征信息和物品特征信息输入至所述嵌入层中,得到用户特征矩阵和物品特征矩阵;
[0168]
将所述用户特征矩阵和物品特征矩阵输入至所述特征融合层中,得到用户融合向量和物品融合向量;
[0169]
将所述用户融合向量和物品融合向量输入至所述长短期偏好捕获层中,得到所述目标用户对所述历史物品随时间变化的长期偏好信息和短期偏好信息;
[0170]
将所述长期偏好信息和短期偏好信息输入至所述偏好混合层中,得到所述目标用户对所述历史物品的混合偏好信息。
[0171]
在一些可选的实施例中,所述将所述用户融合向量和物品融合向量输入至所述长短期偏好捕获层中,得到所述目标用户对所述历史物品随时间变化的长期偏好信息和短期偏好信息,包括:
[0172]
基于固定时间间隔,将所述物品融合向量划分为多个时间段的序列集合,基于所述序列集合确定第一向量序列和第二向量序列;所述第一向量序列用于确定所述目标用户对所述历史物品的长期偏好信息,所述第二向量序列用于确定所述目标用户对所述历史物品的短期偏好信息;
[0173]
将所述用户融合向量和第一向量序列输入至长短期偏好捕获层中,得到所述长期偏好信息,并基于所述第二向量序列确定所述短期偏好信息。
[0174]
在一些可选的实施例中,所述将所述用户融合向量和第一向量序列输入至长短期偏好捕获层中,得到所述长期偏好信息,包括:
[0175]
基于所述长短期偏好捕获层的多层感知机得到所述第一向量序列中第n个向量的隐藏表示;
[0176]
基于所述第n个向量的隐藏表示和用户融合向量确定所述目标用户在该时间段的第一重要性权重;
[0177]
基于所述第一重要性权重和所述第n个向量的乘积确定所述长期偏好信息。
[0178]
在一些可选的实施例中,所述基于所述长短期偏好捕获层的多层感知机得到所述第一向量序列中第n个向量的隐藏表示,包括:
[0179]
确定所述第一向量序列中第n个向量的第一目标权重和第一目标偏置,其中,所述n为正整数;
[0180]
基于所述第n个向量、第一目标权重和第一目标偏置以及预设的激活函数得到所述第n个向量的隐藏表示。
[0181]
在一些可选的实施例中,所述基于所述第二向量序列确定所述短期偏好信息,包括:
[0182]
确定所述第二向量序列中第m个向量的第二目标权重和第二目标偏置,其中,所述m为正整数;
[0183]
基于所述第m个向量、第二目标权重和第二目标偏置以及预设的激活函数得到所述第m个向量的隐藏表示;
[0184]
基于所述第m个向量的隐藏表示和用户融合向量确定所述目标用户在该时刻的第二重要性权重;
[0185]
基于所述第二重要性权重和所述第m个向量的乘积确定所述短期偏好信息。
[0186]
在一些可选的实施例中,所述将所述长期偏好信息和短期偏好信息输入至所述偏好混合层中,得到所述目标用户对所述历史物品的混合偏好信息,包括:
[0187]
将所述长期偏好信息和短期偏好信息输入至所述偏好混合层中,获取所述长期偏好信息的混合权重,基于所述短期偏好信息、所述长期偏好信息以及所述长期偏好信息的混合权重确定所述混合偏好信息。
[0188]
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communications interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通
信。处理器410可以调用存储器430中的逻辑指令,以执行基于用户长短期偏好的分层注意力网络序列推荐方法,该方法包括:
[0189]
获取目标用户的用户特征信息,基于所述用户特征信息确定该目标用户所关联的历史物品特征信息;
[0190]
将所述用户特征信息和历史物品特征信息输入至用户偏好模型中,得到所述目标用户对所述历史物品的长期偏好信息以及短期偏好信息,并对所述长期偏好信息和短期偏好信息进行加权得到混合偏好信息;
[0191]
基于所述混合偏好信息和物品特征信息确定所述历史物品的预测得分,基于所述预测得分确定待推荐物品,将所述待推荐物品推荐给所述目标用户;
[0192]
其中,所述用户偏好模型是基于注意力机制构建,并基于用户样本、物品样本以及所述用户样本对应的物品交互记录进行训练得到的。
[0193]
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0194]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于用户长短期偏好的分层注意力网络序列推荐方法,该方法包括:
[0195]
获取目标用户的用户特征信息,基于所述用户特征信息确定该目标用户所关联的历史物品特征信息;
[0196]
将所述用户特征信息和历史物品特征信息输入至用户偏好模型中,得到所述目标用户对所述历史物品的长期偏好信息以及短期偏好信息,并对所述长期偏好信息和短期偏好信息进行加权得到混合偏好信息;
[0197]
基于所述混合偏好信息和物品特征信息确定所述历史物品的预测得分,基于所述预测得分确定待推荐物品,将所述待推荐物品推荐给所述目标用户;
[0198]
其中,所述用户偏好模型是基于注意力机制构建,并基于用户样本、物品样本以及所述用户样本对应的物品交互记录进行训练得到的。
[0199]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于用户长短期偏好的分层注意力网络序列推荐方法,该方法包括:
[0200]
获取目标用户的用户特征信息,基于所述用户特征信息确定该目标用户所关联的历史物品特征信息;
[0201]
将所述用户特征信息和历史物品特征信息输入至用户偏好模型中,得到所述目标用户对所述历史物品的长期偏好信息以及短期偏好信息,并对所述长期偏好信息和短期偏
好信息进行加权得到混合偏好信息;
[0202]
基于所述混合偏好信息和物品特征信息确定所述历史物品的预测得分,基于所述预测得分确定待推荐物品,将所述待推荐物品推荐给所述目标用户;
[0203]
其中,所述用户偏好模型是基于注意力机制构建,并基于用户样本、物品样本以及所述用户样本对应的物品交互记录进行训练得到的。
[0204]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0205]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0206]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种基于用户长短期偏好的分层注意力网络序列推荐方法,其特征在于,包括:获取目标用户的用户特征信息,基于所述用户特征信息确定该目标用户所关联的历史物品特征信息;将所述用户特征信息和历史物品特征信息输入至用户偏好模型中,得到所述目标用户对所述历史物品的长期偏好信息以及短期偏好信息,并对所述长期偏好信息和短期偏好信息进行加权得到混合偏好信息;基于所述混合偏好信息和历史物品特征信息确定所述历史物品的预测得分,基于所述预测得分确定待推荐物品,将所述待推荐物品推荐给所述目标用户;其中,所述用户偏好模型是基于注意力机制构建,并基于用户样本、物品样本以及所述用户样本对应的物品交互记录进行训练得到的。2.根据权利要求1所述的基于用户长短期偏好的分层注意力网络序列推荐方法,其特征在于,所述用户偏好模型包括:嵌入层、特征融合层、长短期偏好捕获层、长短期偏好混合层;所述将所述用户特征信息和历史物品特征信息输入至用户偏好模型中,得到所述目标用户对所述历史物品的混合偏好信息,包括:将所述用户特征信息和物品特征信息输入至所述嵌入层中,得到用户特征矩阵和物品特征矩阵;将所述用户特征矩阵和物品特征矩阵输入至所述特征融合层中,得到用户融合向量和物品融合向量;将所述用户融合向量和物品融合向量输入至所述长短期偏好捕获层中,得到所述目标用户对所述历史物品随时间变化的长期偏好信息和短期偏好信息;将所述长期偏好信息和短期偏好信息输入至所述偏好混合层中,得到所述目标用户对所述历史物品的混合偏好信息。3.根据权利要求2所述的基于用户长短期偏好的分层注意力网络序列推荐方法,其特征在于,所述将所述用户融合向量和物品融合向量输入至所述长短期偏好捕获层中,得到所述目标用户对所述历史物品随时间变化的长期偏好信息和短期偏好信息,包括:基于固定时间间隔,将所述物品融合向量划分为多个时间段的序列集合,基于所述序列集合确定第一向量序列和第二向量序列;所述第一向量序列用于确定所述目标用户对所述历史物品的长期偏好信息,所述第二向量序列用于确定所述目标用户对所述历史物品的短期偏好信息;将所述用户融合向量和第一向量序列输入至长短期偏好捕获层中,得到所述长期偏好信息,并基于所述第二向量序列确定所述短期偏好信息。4.根据权利要求3所述的基于用户长短期偏好的分层注意力网络序列推荐方法,其特征在于,所述将所述用户融合向量和第一向量序列输入至长短期偏好捕获层中,得到所述长期偏好信息,包括:基于所述长短期偏好捕获层的多层感知机得到所述第一向量序列中第n个向量的隐藏表示;基于所述第n个向量的隐藏表示和用户融合向量确定所述目标用户在该时间段的第一重要性权重;
基于所述第一重要性权重和所述第n个向量的乘积确定所述长期偏好信息。5.根据权利要求4所述的基于用户长短期偏好的分层注意力网络序列推荐方法,其特征在于,所述基于所述长短期偏好捕获层的多层感知机得到所述第一向量序列中第n个向量的隐藏表示,包括:确定所述第一向量序列中第n个向量的第一目标权重和第一目标偏置,其中,所述n为正整数;基于所述第n个向量、第一目标权重和第一目标偏置以及预设的激活函数得到所述第n个向量的隐藏表示。6.根据权利要求4所述的基于用户长短期偏好的分层注意力网络序列推荐方法,其特征在于,所述基于所述第二向量序列确定所述短期偏好信息,包括:确定所述第二向量序列中第m个向量的第二目标权重和第二目标偏置,其中,所述m为正整数;基于所述第m个向量、第二目标权重和第二目标偏置以及预设的激活函数得到所述第m个向量的隐藏表示;基于所述第m个向量的隐藏表示和用户融合向量确定所述目标用户在该时刻的第二重要性权重;基于所述第二重要性权重和所述第m个向量的乘积确定所述短期偏好信息。7.根据权利要求6所述的基于用户长短期偏好的分层注意力网络序列推荐方法,其特征在于,所述将所述长期偏好信息和短期偏好信息输入至所述偏好混合层中,得到所述目标用户对所述历史物品的混合偏好信息,包括:将所述长期偏好信息和短期偏好信息输入至所述偏好混合层中,获取所述长期偏好信息的混合权重混合权重,基于所述短期偏好信息、所述长期偏好信息以及所述长期偏好信息的混合权重确定所述混合偏好信息。8.一种基于用户长短期偏好的分层注意力网络序列推荐装置,其特征在于,包括:获取模块,用于获取目标用户的用户特征信息,基于所述用户特征信息确定该目标用户所关联的历史物品特征信息;混合模块,用于将所述用户特征信息和历史物品特征信息输入至用户偏好模型中,得到所述目标用户对所述历史物品的长期偏好信息以及短期偏好信息,并对所述长期偏好信息和短期偏好信息进行加权得到混合偏好信息;推荐模块,用于基于所述混合偏好信息和物品特征信息确定所述历史物品的预测得分,基于所述预测得分确定待推荐物品,将所述待推荐物品推荐给所述目标用户;其中,所述用户偏好模型是基于注意力机制构建,并基于用户样本、物品样本以及所述用户样本对应的物品交互记录进行训练得到的。9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述基于用户长短期偏好的分层注意力网络序列推荐方法。10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7一项所述基于用户长短期偏好的分层注意力网络序列推荐方法。

技术总结
本发明提供一种基于用户长短期偏好的分层注意力网络序列推荐方法,包括:获取目标用户的用户特征信息,基于所述用户特征信息确定该目标用户所关联的历史物品特征信息;将所述用户特征信息和历史物品特征信息输入至用户偏好模型中,得到所述目标用户对所述历史物品的长期偏好信息以及短期偏好信息,并对所述长期偏好信息和短期偏好信息进行加权得到混合偏好信息;基于所述混合偏好信息和物品特征信息确定所述历史物品的预测得分,基于所述预测得分确定待推荐物品,将所述待推荐物品推荐给所述目标用户;其中,所述用户偏好模型是基于注意力机制构建,并基于用户样本、物品样本以及所述用户样本对应的物品交互记录进行训练得到的。得到的。得到的。


技术研发人员:吴扬红
受保护的技术使用者:中银金融科技有限公司
技术研发日:2023.03.21
技术公布日:2023/7/26
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐