一种带权多兴趣类别增强的推荐系统召回方法与流程

文档序号:30583820发布日期:2022-06-29 14:15阅读:71来源:国知局
一种带权多兴趣类别增强的推荐系统召回方法与流程

1.本发明涉及推荐系统召回技术领域,具体涉及一种带权多兴趣类别增强的推荐系统召回方法。


背景技术:

2.随着互联网技术的普及,人们通过智能手机等终端设备每天会接触到海量的数据。对于用户来说,只有部分数据是感兴趣的,冗余信息会影响用户的使用体验。推荐系统旨在帮助用户过滤无用信息,同时为用户智能地推荐信息。推荐系统通常以用户的历史行为日志作为输入,历史行为日志包括用户购买、评价、浏览过的行为日志等,通过行为日志建模得到用户的画像,得到用户画像后推荐算法可以为用户推荐其感兴趣的信息。推荐系统的应用给广大用户提供了诸多便利,准确、高效的推荐系统可以挖掘用户潜在的消费倾向,也可以增进用户的黏着度。
3.推荐系统一般包含召回、粗排、精排与重排环节。其中召回阶段的任务是:从全体信息集合中快速筛选出部分数据以供后续阶段使用。召回阶段的表现好坏对后续粗排、精排与重排模块有着直接的影响,因此召回阶段在推荐系统中非常重要。
4.现有推荐系统中的召回模块依然存在以下问题:1)现有大多召回方法在为用户建模时仅建模单个兴趣,但现实中用户的兴趣往往是多样的;2)现有召回模块出于模型设计原因不能合理利用与物品强相关的类别特征。上述两个问题都会导致对于用户的建模不准确,导致推荐的效果不佳。


技术实现要素:

5.发明目的:本发明所要解决的技术问题是针对现有推荐系统召回阶段用户兴趣建模技术的不足,提供基于带权多兴趣类别增强的推荐系统召回方法。本方法通过利用用户历史物品序列及物品类别序列建模用户带权重的多兴趣向量,提高了推荐系统召回阶段的准确率与召回率。
6.本发明公开了一种带权多兴趣类别增强的推荐系统召回方法,包括如下步骤包括:
7.步骤1,从全体数据集合中提取用户u最近n个历史交互物品序列su和与物品对应的类别序列qu;
8.步骤2,将用户的历史交互物品序列和物品类别序列进行向量化;
9.步骤3,将两个向量化后的结果送入自注意力网络,得到序列的总体信息;
10.步骤4,将序列总体信息送入多兴趣提取网络中提取用户u的多兴趣向量;
11.步骤5,将用户的多兴趣向量送入带权多兴趣演变层学习下一时刻多兴趣向量的权重;
12.步骤6,结合用户u的多兴趣向量和兴趣权重来计算出与其他物品的得分,根据物品得分的大小进行推荐。
13.步骤1中,所述全体数据集合中的数据为常见的用户和物品交互数据集,包含用户编号u、物品编号i、物品类别号c和物品交互时间t。根据用户编号u聚合历史交互物品序列,如果序列长度超过n个则截取最近n个,如果不满n个则左边补0,根据用户编号u聚合历史交互物品序列,如果序列长度超过n个则截取最近n个,如果不满n个则左边补0,直到长度为n,得到历史交互物品序列su及其对应的物品类别序列qu。其中n的取值可以为20或50,具体根据实际数据集情况进行设置。
14.步骤2包括:将物品的编号向量化表示为e,其中为e,其中表示e的维度为d,d一般取值为64,用户u的历史交互物品序列su向量化表示为其中代表用户u历史交互的第2个物品,同理可得eu中的其他e所表达的含义。同理得到物品类别序列向量化表示为δ表示取物品类别的操作。
15.步骤3包括如下步骤:
16.步骤3-1,定义可学习参数wq、wk、wv,将cu分别与wk和wv相乘得到中间参数k和v,将历史交互物品序列的向量化表示eu与wq相乘得到中间参数q,其中q、k、
17.q=eu·
wq,
18.k=cu·
wk,
19.v=cu·
wv;
20.步骤3-2,采用如下公式计算历史交互物品序列向量化表示与物品类别序列向量化表示之间的注意力权重r1:
[0021][0022]
其中,其中softmax为针对数组数据的归一化操作,例如对于数组[x1,x2,

,xm],对于其中的xi做softmax操作为:
[0023][0024]
t代表矩阵的转置,dk为k的最后一维的维度;
[0025]
步骤3-3,采用如下公式计算历史交互物品序列与物品类别序列关联的结果h:
[0026]
h=r1.v+eu,
[0027][0028]
步骤4包括如下步骤:
[0029]
步骤4-1,所述多兴趣提取网络用于从h中提取用户u的k个兴趣,定义w1和w2为可训练参数,计算得到a1所表达的物理含义是历史交互物品序列中每一个物品对应的k个兴趣;多兴趣提取网络首先是对原始输入h进行非线形压缩,将其从压缩至表达式如下:
[0030][0031]
a1=softmax(tanh(hw1)w2)
[0032]
其中tanh为激活函数,e
x
为指数函数,e为自然对数的底数,近似等于
2.718281828;
[0033]
步骤4-2,计算得到用户的k个兴趣的向量化表示vu:
[0034][0035]vu
代表的是用户最常见的k个兴趣;
[0036]
步骤5包括如下步骤:
[0037]
步骤5-1,建模用户每个兴趣的区分度,基于vu、h、eu和cu得到用户购买物品过程中多兴趣的权重a2:
[0038][0039][0040]
步骤5-2,使用多头自注意力机制来学习用户多兴趣变化过程,取最后一个的结果代表下一时刻用户的k个兴趣重要度得分a3,公式中“:”为取数组中全部数据操作,其中multi_attention为多头的注意力机制:
[0041]
a3=multi_attention(a2,a2,a2)[:,-1],
[0042][0043]
步骤6包括如下步骤:
[0044]
步骤6-1,训练阶段,先找出与目标物品e
t
最为相近的兴趣mu作为当前阶段用户的兴趣:
[0045]mu
=vu[argmax(softmax(v
uet
)a3),:]
[0046]
其中argmax为取数组最大元素的下标,公式中“:”为取数组中全部数据操作;
[0047]
最大化用户u和目标物品e
t
的概率,使用采样softmax方法来计算用户u和其他目标物品交互的概率,通过如下所示的目标函数来训练模型:
[0048][0049]
其中sample为随机采样操作,ei是随机采样操作的结果;
[0050]
步骤6-2,将用户的兴趣vu和兴趣权重得分a3应用在测试阶段,每个兴趣向量都能够独自地通过使用最近邻库faiss检索项目池中的前n个相关物品,通过下述计算表达式得到用户u的推荐物品集合s(u,i):
[0051][0052]
得到每个兴趣对应的具体得分后,与兴趣权重得分加权后再统一排序,将其中得分排名前n个物品推荐给用户,n一般为20或50。
[0053]
有益效果:本发明利用用户历史物品及其类别序列特征,首先设计了一个合理挖掘物品类别序列特征的网络,设计建模用户带权重的多兴趣向量结构,提供了一个准确有效的召回方法。与传统的召回方法相比,本发明最大的特点是在对历史物品序列建模时引入了物品强相关的类别特征,同时建模并学习了用户带权重的多兴趣向量。根据实验结果显示,本方法能较大程度地提高召回阶段的准确率与召回率。
附图说明
[0054]
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0055]
图1是推荐系统整体架构示意图。
[0056]
图2是用户历史购买物品序列示意图。
[0057]
图3是基于多兴趣类别增强的推荐系统召回方法整体流程图。
具体实施方式
[0058]
图1为召回阶段处于推荐系统中的前部环节,召回结果对于推荐系统后续模块具有重要影响。
[0059]
图3为一实施方式中,本发明提供的一种带权多兴趣类别增强的推荐系统召回方法整体流程图,该方法包括以下内容:
[0060]
步骤1,从全体数据集合中提取用户u最近n个历史交互物品序列su和与物品对应的类别序列qu,如图2所示,是用户的历史购买物品序列;
[0061]
步骤2,将用户的历史交互物品序列和对应的类别序列分别进行向量化;
[0062]
步骤3,将向量化结果送入自注意力网络中,得到两个序列向量化后的序列总体信息;
[0063]
步骤4,将序列总体信息送入多兴趣提取网络中提取下一时刻用户的多兴趣向量;
[0064]
步骤5,将下一时刻用户的多兴趣向量送入带权多兴趣演变层学习下一时刻多兴趣向量的权重;
[0065]
步骤6,结合用户u的多兴趣向量和兴趣权重来计算出与其他物品的得分,根据得分排序输出一定数量的物品。
[0066]
步骤1中,数据为常见的用户-物品交互数据集,数据中包含用户编号u、物品编号i、物品类别号c和物品交互时间t。根据用户编号u聚合历史交互物品序列,如果序列长度超过n个则截取最近n个,如果不满n个则左边补0,到长度为n,其中n的取值可以为20或50,得到物品序列su及其对应的物品类别序列qu。
[0067]
步骤2中,向量化指的是将物品的编号表示稠密的向量化表示步骤2中,向量化指的是将物品的编号表示稠密的向量化表示表示e的维度为d,d一般取值为64。用户u的历史物品序列向量化表示为其中代表用户u历史交互的第2个物品,同理可得eu中的其他e所表达的含义。同理得到历史物品类别序列向量化表示δ()为取物品类别的操作。
[0068]
步骤3包括如下步骤:
[0069]
步骤3-1,定义可学习参数将cu分别与wk和wv相乘得到k和v,将物品序列的向量化表示eu与wq相乘得到q,其中q、k、
[0070]
q=eu·
wq[0071]
k=cu·
wk[0072]
v=cu·
wv[0073]
步骤3-2,将q和k相乘得到r1,t代表矩阵的转置,dk为k的最后一维的维度,r1为建
模物品序列向量化表示与物品类别序列向量化表示之间的注意力权重,其中softmax为针对数组数据的归一化操作:
[0074][0075]
步骤3-3,在得到物品序列与物品类别序列之间的注意力权重后,经过下式得到物品序列与物品类别序列关联的结果
[0076][0077]
步骤4包括如下步骤:
[0078]
步骤4-1,多兴趣提取网络旨在从h中提取用户u的k个兴趣,定义w1和w2为可训练参数,计算得到a1所表达的物理含义是物品序列中每一个物品对应的k个兴趣。多兴趣提取网络第一步的本质是对原始输入h进行非线形压缩,将其从压缩至其中tanh为激活函数,表达式如下,e
x
为指数函数,e为自然对数的底数,近似等于2.718281828:
[0079][0080]
a1=softmax(tanh(hw1)w2)
[0081]
步骤4-2,将a1与输入h相乘可以进一步得到用户的k个兴趣vu为用户最常见的k个兴趣:
[0082][0083]
步骤5包括如下步骤:
[0084]
步骤5-1,上述步骤得到用户的k个兴趣的向量化表示建模用户每个兴趣的区分度,基于vu、h、eu和cu得到用户购买物品过程中多兴趣的权重
[0085][0086]
步骤5-2,使用多头自注意力机制来学习用户多兴趣变化过程,取最后一个结果代表用户的k个兴趣重要度得分其中multi_attention为多头注意力机制操作,公式中“:”为取数组中全部数据操作:
[0087]
a3=multi_attention(a2,a2,a2)[:,-1]
[0088]
步骤6包括如下步骤:
[0089]
步骤6-1,训练阶段,找出与目标物品e
t
最为相近的兴趣mu作为当前阶段用户的兴趣,其中argmax为取数组最大值元素下标操作,公式“:”为取数组中全部数据操作:
[0090]mu
=vu[argmax(softmax(v
uet
)a3),:]
[0091]
最大化用户u和目标物品e
t
的概率,使用采样方法来计算用户u和其他目标物品交互的概率,通过下列的目标函数训练模型,其中sample操作为随机采样操作:
[0092][0093]
步骤6-2,测试阶段将用户的兴趣vu和兴趣权重得分a3应用在测试阶段。每个兴趣向量都可以独自地通过使用最近邻库faiss检索项目池中的前n个相关物品,得到具体的得
分后再与兴趣权重得分加权再统一排序,将其中得分排序前n个物品将用于推荐给用户,n一般为20或50,计算表达式如下:
[0094][0095]
以图2中的序列为例,假设用户u的三个多兴趣向量维度为3,召回数量n为2。vu=[[0.12,0.14,0.43],[0.34,0.64,0.23],[0.62,0.64,0.13]],对应的兴趣权重a3=[0.3,0.3,0.4],对应的5个物品中口红=[0.22,0.24,0.63]、电脑=[0.66,0.31,0.23]、鼠标=[0.88,0.24,0.73]、鞋子=[0.22,0.04,0.73]以及手机=[0.68,0.32,0.33]。用户u各个兴趣对于5个物品的得分并乘以权重系数a3,得到总体得分最高的2个物品是手机与电脑,如表1(5个物品在用户u兴趣1上的得分)、表2(5个物品在用户u兴趣2上的得分)、表3(5个物品在用户u兴趣3上的得分)所示:
[0096]
表1
[0097]
物品名初始得分增加权重口红0.20077160.06023148电脑0.1799660.0539898鼠标0.226867910.068060373鞋子0.203805880.061141764手机0.188588610.056576583
[0098]
表2
[0099]
物品名得分增加权重口红0.183907810.055172343电脑0.203737950.061121385鼠标0.235529130.070658739鞋子0.165576710.049673013手机0.211248380.063374514
[0100]
表3
[0101]
物品名得分增加权重口红0.164819410.065927764电脑0.214959660.085983864鼠标0.251401270.100560508鞋子0.146914440.058765776手机0.221905220.088762088
[0102]
为了验证本方法的有效性,本方法与其他优秀模型在推荐系统公开数据集amazon books上进行对比,实验结果如表4,由实验结果可知本方法能较大地提升召回阶段的准确率与召回率,其中进行对比的模型均为近些年在召回领域表现最好的方法,表4中标记有年份信息。
[0103]
表4
[0104][0105]
本发明提供了一种带权多兴趣类别增强的推荐系统召回方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1