基于用户流行度偏好的序列推荐方法及装置

未命名 10-18 阅读:131 评论:0


1.本发明属于流行度预测技术领域,尤其涉及一种基于用户流行度偏好的序列推荐方法及装置。


背景技术:

2.近年来,序列推荐由于其优秀的性能引起了学术界的关注,并被广泛应用在了工业界,例如电商推荐、新闻推荐、音乐推荐等等。序列推荐将用户的交互历史记录和这些交互发生的时间结合在一起分析,从而获取用户兴趣随着时间的变化趋势,以此来更准确的预测用户在未来的兴趣,并给出更合适的推荐。例如,中国专利(申请号:cn202110589775.7,申请公布号:cn113313381a)实现了一种用户交互敏感的动态图序列推荐系统。该系统首先收集用户对商品的带时间戳的评分数据以及用户自身的属性数据。之后,序列图建模模块从收集到的数据中通过合并相同点的方式获取商品之间的依赖和相似关系,并将关系转化成图的形式。动态环境建模模块则将用户的交互顺序作为定点信息加入图中。环境状态表征模块会使用图注意力神经网络从图上学习用户对商品的实时兴趣,进而协助智能体决策模型做出个性化推荐。中国专利(申请号:cn202010283469.6,申请公布号:cn111582492a)使用解离化自监督学习方法强化序列推荐。该方法首先将每个用户交互过的物品按照时间顺序构建成序列,然后构建一个编码器学习用户意图并将用户意图进行解离。之后,该方法将序列分解成输入序列和标签序列。然后通过使用输入序列预测标签序列的方式进行自监督学习。通过上述用户意图解离和自监督框架,该方法对于噪声拥有更强的抵抗能力,因而具有更高的信噪比,同时,该方法还能够更加精确全面地捕捉到用户的多个意图,并进行推荐。
3.但在推荐系统中,不同的用户有不同类型的流行度偏好。许多用户对物品是否流行很敏感。例如,一些用户喜欢畅销品,而另一些用户则喜欢冷门一些的物品,以显示他们的品味和个性。其他用户则对流行度不甚敏感,这些用户更加关注价格和外观等其他特征。此外,用户的流行度偏好也不是一成不变的,而是会在不同的时间段展现出不同的流行偏好。例如,用户对名牌的态度可能会随着年龄的增长而改变。由于多样性和个性化的用户的流行度偏好揭示了用户喜欢什么样的物品,全面识别用户流行偏好对于做出准确和个性化的推荐具有重要意义。
4.综上,虽然用户流行偏好已经得到了广泛的研究,但是现有的方法不能全面的涵盖的用户的各种流行偏好。有些方法只考虑喜欢流行物品的用户,有些方法则忽略了这些用户,还有些方法忽略了那些喜欢中低流行度物品的用户。此外,大部分方法都无法捕捉到动态的用户流行度偏好。因此,现有方法会错误的识别部分用户的流行度偏好从而给出不适当的推荐。


技术实现要素:

5.为了解决上述问题,本发明提出一种基于用户流行度偏好的序列推荐方法及装
置,来全面捕捉多样化和动态的用户流行度偏好。
6.本发明的技术方案,包括:
7.一种基于用户流行度偏好的序列推荐方法,所述方法包括:
8.根据训练集中的用户-物品交互数据,按照时间顺序构建用户行为序列;
9.基于序列推荐模型,从所述用户行为序列中获取用户特征序列,并结合训练集中对应的物品标签,计算所述序列推荐模型的基础损失;
10.将所述用户行为序列分割成多个连续的子序列,并根据训练集中统计出的对应流行度偏好标签指导基于所述各个子序列的特征表示得到的流行度偏好g,以得到所述序列推荐模型的去噪损失;其中,所述子序列的特征是基于对应的用户特征序列得出的;
11.将一批训练样本中的相似用户当作正样本,将非相似用户看作负样本,并通过对比学习将正样本拉近且将负样本推远,以得到所述序列推荐模型的对比学习损失;其中,所述相似用户为训练样本中对应的所述流行度偏好标签的差小于第一设定值,且对应的所述用户的流行度偏好特征用户-物品交互序列的特征表示的cos相似度大于第二设定值的用户对;
12.根据基础损失、去噪损失和对比学习损失进行所述序列推荐模型的训练和优化,进而得到待检测用户-物品交互序列的推荐结果。
13.进一步地,将所述用户行为序列分割成多个连续的子序列,并根据训练集中统计出的对应流行度偏好集合的标签指导基于所述各个子序列的特征表示得到的流行度偏好g,以得到所述序列推荐模型的去噪损失,包括:
14.将所述用户行为序列分割成多个子序列;
15.基于所述序列推荐模型中的特征提取模块,将子序列对应的用户特征序列进行平均得到子序列特征;该子序列特征还包括:子序列位置特征表示;
16.使用全连接层从子序列特征中获取用户在对应时间段的流行度偏好特征表示。
17.基于各时间段的流行度偏好特征表示计算用户的平均流行度偏好特征表示,并根据所述平均特征表示预测用户的流行度偏好g;
18.使用训练集中对应的流行度偏好集合的标签指导所述流行度偏好g,以得到所述序列推荐模型的去噪损失其中,预测误差α
p
表示第一设定值,q表示求和下标。
19.进一步地,所述流行度偏好标签基于该用户对应的流行度偏好集合的均值和方差得到。
20.进一步地,所述对比学习损失其中,u表示一个训练批次中的一个用户,i表示所述训练批次中属于用户u的正样本集合φ
pos
中的用户,j表示所述训练批次中的另一用户,φ
neg
表示所述训练批次中属于用户u的负样本集合,τ表示温度系数。
21.进一步地,所述相似用户为所述标签的差异小于第一设定值,包括:
22.计算其中,表示一个训练批次中用户t对应的流行度偏好标签的流行度偏好标签表示一个训练批次中用户u对应的流行度偏好标签
23.在的情况下,判定所述用户t与所述用户u满足是相似用户的第一条件;其中,α
p
表示第一设定值;
24.在的情况下,判定所述用户t与所述用户u不满足是相似用户的第一条件。
25.进一步地,所述对应的用户-物品交互序列的特征表示的cos相似度小于第二设定值,包括:
26.计算cos(b
l-1,t
,b
l-1,u
);其中,b
l-1,t
表示用户t对应用户行为序列进行第l-1次训练累加后得到的特征表示,b
l-1,u
表示用户u对应的用户行为序列进行第l-1次训练累加后得到的特征表示,所述训练累加过程为:β为权重系数,表示用户全局特征,所述用户全局特征通过平均对应的用户特征序列得到;
27.在cos(b
l-1,t
,b
l-1,u
)》αs的情况下,判定所述用户t与所述用户u满足是相似用户的第二条件;其中,αs表示第二设定值;
28.在cos(b
l-1,t
,b
l-1,u
)《αs的情况下,判定所述用户t与所述用户u不满足是相似用户的第二条件。
29.一种基于用户流行度偏好的序列推荐装置,所述装置包括:
30.数据预处理模块,用于根据训练集中的用户-物品交互数据,按照时间顺序构建用户行为序列;
31.基础模型,用于基于序列推荐模型,从所述用户行为序列中获取用户的流行度偏好特征,并结合训练集中对应的物品标签,计算所述序列推荐模型的基础损失;
32.序列流行度感知模块,用于基于序列推荐模型,从所述用户行为序列中获取用户特征序列,并结合训练集中对应的物品标签,计算所述序列推荐模型的基础损失;
33.对比学习模块,用于将一批训练样本中的相似用户当作正样本,将非相似用户看作负样本,并通过对比学习将正样本拉近且将负样本推远,以得到所述序列推荐模型的对比学习损失;其中,所述相似用户为训练样本中对应的所述流行度偏好标签的差小于第一设定值,且对应的所述用户的流行度偏好特征用户-物品交互序列的特征表示的cos相似度大于第二设定值的用户对;
34.训练与预测模块,用于根据基础损失、去噪损失和对比学习损失进行所述序列推荐模型的训练和优化,进而得到待检测用户-物品交互序列的推荐结果。
35.一种计算机设备,所述计算机设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现上述任一项所述的基于用户流行度偏好的序列推荐方法。
36.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述任一项所述的基于用户流行度偏好的序列推荐方法。
37.与现有方法相比,本发明至少具有以下优势:
38.1.本发明提出了一个序列流行度感知模块来全面的提取用户流行度偏好的类型和演变规律,因此,可以给出和用户流行度偏好一致的推荐。
39.2.本发明提出了一个基于流行度的对比学习模块,根据流行度偏好和一般特征聚集相似的用户,因此可以更准确地捕捉用户的兴趣。
附图说明
40.图1基于用户流行度偏好的序列推荐方法的架构图。
41.图2基于用户流行度偏好的序列推荐方法的流程示意图。
具体实施方式
42.下面结合实施例及附图对本方案做详细的描述,以下实施方案只表示本发明一种可能的实施方式,不作为对本发明的限定。
43.本发明的基于用户流行度偏好的序列推荐方法,提供了一个完整的推荐系统架构,如图1所示,主要由基础模型、序列流行度感知模块和基于流行度的对比学习模块三部分组成。
44.首先,基础模型从用户行为序列中提取用户的序列化特征。然后,序列流行度感知模块感知用户流行度偏好的类型和演变规律。最后,基于流行度的对比学习模块通过对比学习将具有相似流行度偏好的用户聚集在一起。本发明的模型通过全面捕获用户流行偏好来提供更个性化的推荐。
45.按照本发明所提供的设计方案:一种基于用户流行度偏好的序列推荐方法,具体包含如下步骤:
46.1.数据预处理模块
47.数据预处理阶段将用户的历史记录按照时间顺序排列,并且抽取历史记录的时间戳信息。分别表示用户和物品的集合,一个用户u的用户行为序列则被表示为与之对应的时间戳序列则被表示为为了方便训练,用户的历史记录被修整成为固定长度n的序列,其中,长度小于n的序列被添加了空白占位符,大于n的序列在去掉了序列前面多余的记录。
48.2.基础模型。
49.为了捕获动态的用户兴趣,本发明采用常规的序列推荐方法作为本发明的基本模型。现有技术中的序列推荐方法通常包含如下步骤。
50.1)使用用户行为序列su为输入。
51.2)这些方法通过神经网络(如rnn、注意力机制)生成序列的特征表示h∈rn×d,其中d表示嵌入长度,hi表示用户交互序列中第i个物品的那个时刻的用户兴趣。
52.3)根据用户特征hi和物品特征给出最终推荐。
53.而本发明的方法只需要基础模型生成序列特征表示hi,不管基础模型应用的是哪种类型的神经网络,也不管它是否有其他输入和输出,都可以作为本发明的基础模型。由于
上述步骤在序列推荐当中十分通用,这保证了本发明的模型的泛用性。
54.在一个实施例中,基础模型损失是将特征表示h输入基础模型后,根据交叉熵损失得到。
55.3.序列流行度感知模块
56.为了能够感知用户流行度偏好的演变趋势,本发明需要分析用户在不同时间段的流行度偏好。本发明将用户行为序列su划分成l个定长的子序列。而子序列的特征表示则是通过平均用户序列特征得到的。并且,本发明为每个子序列添加了一个新的位置特征表示来学习子序列之间的顺序信息。
57.接下来,本发明将用户在不同时间段的特征表示通过两个全连接层结合到一起,并且预测用户的流行度偏好。本发明使用了用户的流行度偏好集合的均值和方差来作为上述预测的训练标签,并且应用了一个基于去噪的损失函数(简称去噪损失函数),从而使得用户序列特征和预测神经网络能够具备感知用户的流行度偏好的能力。并且,本发明通过子序列获取最终预测的模型结构使得模型能够获取用户的流行度偏好演化过程。具体来说,是将用户在各个时间段的用户流行度偏好进行平均,然后再过一个全连接层最终准确感知用户的流行度偏好。
58.4.基于流行度的对比学习模块
59.这一模块将相似的用户聚集到一起,从而更准确的获取用户兴趣。如果两个用户具备相同的流行度偏好和常规特征,本发明就将其认定为相似用户。其中,常规特征是指使用常规序列推荐获取的特征,即用户行为序列su输入基础模型得到的特征表示h。对于一个用户,本发明将同一个batch里的相似用户当作正样本,而把其他用户看作负样本。然后使用对比学习将正样本拉近、负样本推远,计算对比学习损失。这样一来,对比学习使得相似用户在特征空间里相距较近,从而能够更准确的获取用户兴趣。
60.5.训练与预测模块
61.训练时,本发明基于基础损失、去噪损失和对比学习损失对序列推荐模型进行端到端的训练。训练结束后,将待检测用户-物品交互序列输入训练后的模型,就能得到该交互序列的推荐结果。
62.下面以n个用户,m个物品为例,对本发明进行进一步的说明。如图2所示,本发明包括以下步骤。
63.步骤1.根据训练集中的用户-物品交互数据,按照时间顺序构建用户行为序列。
64.数据预处理阶段将用户的历史记录按照时间顺序排列,并且抽取历史记录的时间戳信息。分别表示用户和物品的集合,一个用户u的历史记录序列则被表示为与之对应的时间戳序列则被表示为为了方便训练,用户的历史记录被修整成为固定长度n的序列,其中,长度小于n的序列被添加了空白占位符,大于n的序列在去掉了序列前面多余的记录。
65.步骤2.计算序列推荐模型的基础损失。
66.输入一个用户的序列,基础模型会生成用户序列特征表示hi。然后结合训练集中对应的物品标签,就可以计算序列推荐模型的基础损失。
67.步骤3.计算序列推荐模型的去噪损失。
68.这一模块希望hi具备感知用户流行度偏好的能力。首先,用户行为序列被分割成多个子序列,每个子序列的特征由平均化用户特征得来:其中φi是第i个子序列的用户行为集合,oi是子序列位置特征表示。然后,本发明使用全连接层生成各个时间段的用户特征表示:之后,本发明平均各个时间段的用户特征,并添加另一个全连接层,以根据所有子序列的平均特征表示e来预测用户的流行度偏好g:g=gelu(ew3+b3)w4+b4。最后,为了指导g,本发明统计用户的流行度偏好集合的均值和方差来作为预测的标签并应用了一个去噪损失函数来进行训练预测误差w、b表示全连接层的参数,q表示求和下标。
69.步骤4.计算序列推荐模型的对比学习损失。
70.为了将相似的用户进行聚集,本发明首先学习用户的相似性。对于用户t和u,他们的相似度为:其中,e为用户的流行度特征表示矩阵。
71.为了训练上述相似度,本发明将满足下面两个条件的用户当作正样本,其他用户当作负样本。第一个条件要求用户t和u的流行度偏好的均值和方差的差小于设定值α
p
,其可以表示为:第二个条件是用户t和u的常规特征的cos相似度小于设定值αs,其可以表示为:cos(b
l-1,t
,b
l-1,u
)《αs。其中使用随着训练累进的用户常规特征是随着训练累进的用户特征。最后,本发明用对比学习来进行训练:从而使得相似用户在特征空间内聚集。其中,pos表示正样本集合,neg表示负样本集合,τ表示温度系数。
72.5.根据基础损失、去噪损失和对比学习损失进行序列推荐模型的训练和优化,进而得到待检测用户-物品交互序列的推荐结果。
73.训练时,本发明基于基础损失、去噪损失和对比学习损失对序列推荐模型进行端到端的训练。训练结束后,将待检测用户-物品交互序列输入训练后的模型,就能得到该交互序列的推荐结果。
74.综上所述,为了全面的涵盖的用户的各种流行偏好,本发明首先将物品的流行度定义为有多少个用户交互过该物品,然后再将一个用户交互过的物品的流行度构建成集合。然后,本发明通过分析上述集合来分析用户的流行度偏好。1)为了确定用户是喜欢受欢迎程度高、中还是低的项目,本发明计算了流行度集合的平均值。2)本发明使用流行度集合的标准差来衡量用户流行偏好的变化幅度。3)为了获得流行偏好的演变规律,本发明根据时间段划分流行度集合,从而捕获用户在各个时间段的流行度偏好。经过上述分析,本发明可以更准确地获取用户的流行度偏好,并且预测用户未来的流行度偏好,从而给出合适的推荐。
75.本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。实施例仅被视为示例性的,本公开也并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。

技术特征:
1.一种基于用户流行度偏好的序列推荐方法,其特征在于,所述方法包括:根据训练集中的用户-物品交互数据,按照时间顺序构建用户行为序列;基于序列推荐模型,从所述用户行为序列中获取用户特征序列,并结合训练集中对应的物品标签,计算所述序列推荐模型的基础损失;将所述用户行为序列分割成多个连续的子序列,并根据训练集中统计出的对应流行度偏好标签指导基于所述各个子序列的特征表示得到的流行度偏好g,以得到所述序列推荐模型的去噪损失;其中,所述子序列的特征是基于对应的用户特征序列得出的;将一批训练样本中的相似用户当作正样本,将非相似用户看作负样本,并通过对比学习将正样本拉近且将负样本推远,以得到所述序列推荐模型的对比学习损失;其中,所述相似用户为训练样本中对应的所述流行度偏好标签的差小于第一设定值,且对应的所述用户的流行度偏好特征用户-物品交互序列的特征表示的cos相似度大于第二设定值的用户对;根据基础损失、去噪损失和对比学习损失进行所述序列推荐模型的训练和优化,进而得到待检测用户-物品交互序列的推荐结果。2.如权利要求1所述的方法,其特征在于,将所述用户行为序列分割成多个连续的子序列,并根据训练集中统计出的对应流行度偏好集合的标签指导基于所述各个子序列的特征表示得到的流行度偏好g,以得到所述序列推荐模型的去噪损失,包括:将所述用户行为序列分割成多个子序列;基于所述序列推荐模型中的特征提取模块,将子序列对应的用户特征序列进行平均得到子序列特征;该子序列特征还包括:子序列位置特征表示;使用全连接层从子序列特征中获取用户在对应时间段的流行度偏好特征表示。基于各时间段的流行度偏好特征表示计算用户的平均流行度偏好特征表示,并根据所述平均特征表示预测用户的流行度偏好g;使用训练集中对应的流行度偏好集合的标签指导所述流行度偏好g,以得到所述序列推荐模型的去噪损失其中,预测误差α
p
表示第一设定值,q表示求和下标。3.如权利要求1所述的方法,其特征在于,所述流行度偏好标签基于该用户对应的流行度偏好集合的均值和方差得到。4.如权利要求1所述的方法,其特征在于,所述对比学习损失4.如权利要求1所述的方法,其特征在于,所述对比学习损失其中,u表示一个训练批次中的一个用户,i表示所述训练批次中属于用户u的正样本集合φ
pos
中的用户,j表示所述训练批次中的另一用户,φ
neg
表示所述训练批次中属于用户u的负样本集合,τ表示温度系数。5.如权利要求1所述的方法,其特征在于,所述相似用户为所述标签的差异小于第一设定值,包括:
计算其中,表示一个训练批次中用户t对应的流行度偏好标签表示一个训练批次中用户u对应的流行度偏好标签在的情况下,判定所述用户t与所述用户u满足是相似用户的第一条件;其中,α
p
表示第一设定值;在的情况下,判定所述用户t与所述用户u不满足是相似用户的第一条件。6.如权利要求1所述的方法,其特征在于,所述对应的用户-物品交互序列的特征表示的cos相似度小于第二设定值,包括:计算cos(b
l-1,t
,b
l-1,u
);其中,b
l-1,t
表示用户t对应用户行为序列进行第l-1次训练累加后得到的特征表示,b
l-1,u
表示用户u对应的用户行为序列进行第l-1次训练累加后得到的特征表示,所述训练累加过程为:β为权重系数,表示用户全局特征,所述用户全局特征通过平均对应的用户特征序列得到;在cos(b
l-1,t
,b
l-1,u
)>α
s
的情况下,判定所述用户t与所述用户u满足是相似用户的第二条件;其中,α
s
表示第二设定值;在cos(b
l-1,t
,b
l-1,u
)<α
s
的情况下,判定所述用户t与所述用户u不满足是相似用户的第二条件。7.一种基于用户流行度偏好的序列推荐装置,其特征在于,所述装置包括:数据预处理模块,用于根据训练集中的用户-物品交互数据,按照时间顺序构建用户行为序列;基础模型,用于基于序列推荐模型,从所述用户行为序列中获取用户的流行度偏好特征,并结合训练集中对应的物品标签,计算所述序列推荐模型的基础损失;序列流行度感知模块,用于基于序列推荐模型,从所述用户行为序列中获取用户特征序列,并结合训练集中对应的物品标签,计算所述序列推荐模型的基础损失;对比学习模块,用于将一批训练样本中的相似用户当作正样本,将非相似用户看作负样本,并通过对比学习将正样本拉近且将负样本推远,以得到所述序列推荐模型的对比学习损失;其中,所述相似用户为训练样本中对应的所述流行度偏好标签的差小于第一设定值,且对应的所述用户的流行度偏好特征用户-物品交互序列的特征表示的cos相似度大于第二设定值的用户对;训练与预测模块,用于根据基础损失、去噪损失和对比学习损失进行所述序列推荐模型的训练和优化,进而得到待检测用户-物品交互序列的推荐结果。8.一种计算机设备,其特征在于,所述计算机设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如权利要求1-6任一项所述的基于用户流行度偏好的序列推荐方法。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-6任一项所述的基于用户流行度偏好的序列推荐方法。

技术总结
本发明提供了一种基于用户流行度偏好的序列推荐方法及装置,该方法包括:根据训练集中的用户-物品交互数据,按照时间顺序构建用户行为序列;计算序列推荐模型的基础损失;计算序列推荐模型的去噪损失;计算序列推荐模型的对比学习损失;根据基础损失、去噪损失和对比学习损失进行序列推荐模型的训练和优化,进而得到待检测用户-物品交互序列的推荐结果。本发明可以全面捕捉多样化和动态的用户流行度偏好。度偏好。度偏好。


技术研发人员:古晓艳 钱明达 代飞飞 樊海慧 刘东 李波
受保护的技术使用者:中国科学院信息工程研究所
技术研发日:2023.06.25
技术公布日:2023/10/11
版权声明

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

飞行汽车 https://www.autovtol.com/

分享:

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

相关推荐