本发明属于序列推荐,具体涉及一种基于多行为动态图的序列推荐方法。
背景技术:
1、传统的推荐系统往往采用静态方法来分析用户与商品之间的互动,这种模式主要捕捉到用户的一般性偏好。但在现实世界的应用中,用户的行为是连续变化的,他们的互动方式、偏好以及商品的流行度都会随着时间的推移而发生改变。为了应对这种动态性,序列推荐系统被引入。
2、序列推荐系统将用户与商品的交互视为一个连续的序列,利用序列内的相关性来深入理解用户当前和近期的兴趣点。这种系统通过分析用户行为的连续性,能够更深入地洞察用户兴趣的即时状态和近期趋势。因此,序列推荐系统突破了传统推荐模型的局限,提供了一种更为精确的方式来反映用户兴趣随时间的动态变化。
3、鉴于序列推荐系统显著的实用价值,序列推荐问题的研究正不断蓬勃发展,各种创新方案相继涌现。在这一领域,一些基于马尔可夫链思想的方法被引入。然而,在强调各行为独立性的假设下,过去各组件的独立组合限制了预测的准确性。为克服这一限制,涌现了基于深度学习的方法,其中主要用到的深度神经网络模型包括图神经网络(gnn)、循环神经网络(rnn)和卷积神经网络(cnn)。这些深度学习方法能够更好地表征用户与项目之间的动态交互关系,并学习出有效的用户偏好表示。众多实验已经证实了这些方法的优点,但是仍然存在以下问题:
4、目前的序列推荐方法,关注的一般都是用户的目标行为数据,从而形成用户项目交互序列。然而,在现实世界中,用户通常是以多行为序列化的方式与项目交互的。例如,在电商平台上,交互行为包括点击、添加到收藏夹、添加到购物车和购买等多种行为。多行为交互数据中的信息往往提供了用户更加细粒度的兴趣偏好。此外,目前的多行为序列推荐方法没有充分考虑交互序列中的时序信息,忽略了用户的兴趣偏好的动态变化。
技术实现思路
1、针对现有技术存在的不足,本发明提出了一种基于多行为动态图的序列推荐方法,该方法包括:获取待推荐用户的多行为交互序列;将多行为交互序列输入到训练好的项目推荐模型中,得到项目推荐结果;
2、项目推荐模型的训练过程包括:
3、s1:获取用户的历史行为数据,从历史行为数据中提取多行为交互序列;
4、s2:根据多行为交互序列构建多行为动态图,并将多行为动态图划分为多个特定行为子图;
5、s3:初始化特定行为子图的节点嵌入表示,得到初始节点嵌入表示;将所有初始节点嵌入表示投影到相同的特征空间,得到中间节点嵌入表示;
6、s4:采用多行为编码器对特定行为子图的中间节点嵌入表示进行处理,得到特定行为子图的关系嵌入表示;
7、s5:采用通用行为相关性编码器对任意两个特定行为子图的关系嵌入表示进行处理,得到每两个特定行为子图的通用相关性嵌入表示;
8、s6:融合特定行为下的时序信息到特定行为子图的节点中,得到特定行为子图下的融合用户节点嵌入表示和融合项目节点嵌入表示;
9、s7:融合每两个特定行为子图的通用相关性嵌入表示和融合用户节点嵌入表示,得到用户的每两个特定行为子图的个性化行为相关性嵌入表示;
10、s8:根据用户的每两个特定行为子图的个性化行为相关性嵌入表示,采用注意力机制对融合项目节点嵌入表示进行处理,得到更新融合项目节点嵌入表示;
11、s9:聚合每个特定行为子图下的更新融合项目节点嵌入表示,得到最终项目节点嵌入表示;聚合每个特定行为子图下的融合用户节点嵌入表示,得到最终用户节点嵌入表示;
12、s10:将最终项目节点嵌入表示和最终用户节点嵌入表示输入到前馈神经网络中进行处理,得到匹配得分;
13、s11:根据匹配得分计算模型总损失,并根据模型总损失调整模型参数,当损失函数收敛时,完成模型的训练。
14、进一步的,多行为动态图表示为:
15、g={(u,v,b,t,ov,u,ou,v)|u∈u,v∈v,b∈b}
16、其中,g表示多行为动态图,u表示用户集合,v表示项目集合,b表示行为集合,b表示交互的行为类型,t表示交互发生的时间戳,ov,u表示项目v在用户u交互过的所有项目中的位置,ou,v表示用户u在与项目v有过交互的所有用户中的位置;
17、将多行为动态图划分为多个特定行为子图表示为:
18、
19、其中,gb表示只包含了行为b的的子图,ub表示与项目发生过行为b交互的用户集合,vb表示与用户发生过行为b交互的项目集合,t表示交互发生的时间戳,表示项目v在用户u以行为b交互过的所有项目中的位置,表示用户u在与项目v以行为b交互过的所有用户中的位置。
20、进一步的,得到特定行为子图的关系嵌入表示的公式为:
21、mu=mean(dropout(hu))
22、mv=mean(dropout(hv))
23、hb=σ(w2[mu‖mv]+b0)
24、其中,hu为特定行为子图gb中的中间用户节点表示集合,hv为特定行为子图gb中的中间项目节点表示集合;hb表示特定行为子图的关系嵌入表示;σ表示激活函数;∥表示向量拼接操作;mu表示聚合用户表示,mv表示聚合项目表示;b0表示第一偏置;w2表示第三参数矩阵。
25、进一步的,得到每两个特定行为子图的通用相关性嵌入表示的公式为:
26、
27、其中,表示第i个特定行为子图和第j个特定行为子图的通用相关性嵌入表示,表示第i个特定行为子图的关系嵌入表示,表示第j个特定行为子图的关系嵌入表示,b1表示第二偏置,σ表示激活函数;∥表示向量拼接操作,w3表示第四参数矩阵。
28、进一步的,得到特定行为子图下的融合用户节点嵌入表示和融合项目节点嵌入表示的过程包括:
29、融合特定行为子图的关系嵌入表示、用户的中间节点嵌入表示和项目的中间节点嵌入表示,得到第一注意力分数;对第一注意力分数进行归一化处理,得到第一注意力权重;根据的第一注意力权重和项目的中间节点嵌入表示计算得到融合用户节点嵌入表示;
30、融合特定行为子图的关系嵌入表示、项目的中间节点嵌入表示和用户的中间节点嵌入表示,得到第二注意力分数;对第二注意力分数进行归一化处理,得到第二注意力权重;根据的第二注意力权重和用户的中间节点嵌入表示计算得到融合项目节点嵌入表示。
31、进一步的,得到用户的每两个特定行为子图的个性化行为相关性嵌入表示的公式为:
32、
33、其中,表示用户u的第i个特定行为子图和第j个特定行为子图的个性化行为相关率;表示第i个特定行为子图和第j个特定行为子图的通用相关性嵌入表示;表示用户u的第i个特定行为子图和第j个特定行为子图的个性化行为相关性嵌入表示;σ表示激活函数,w6、w7分布为第七、第八参数矩阵。
34、进一步的,得到更新融合项目节点嵌入表示的公式为:
35、
36、其中,qi表示与用户u交互的第i个项目的查询向量,表示b(u,i)行为子图下与用户u交互的第i个项目的融合项目节点嵌入表示,表示用户u的b(u,i)行为子图和b(u,j)行为子图的个性化行为相关性嵌入表示,kj表示与用户u交互的第j个项目的键向量,表示b(u,j)行为子图下与用户u交互的第j个项目的融合项目节点嵌入表示,vj表示与用户u交互的第j个项目的值向量,a[i,j]表示与用户u交互的第j个项目对与用户u交互的第i个项目的注意力权重,softmax表示softmax激活函数,nu表示与用户交互过的项目集合,表示b(u,i)行为子图下与用户u交互的第i个项目的更新融合项目节点嵌入表示。
37、进一步的,得到项目匹配得分的公式为:
38、
39、其中,scoreuv表示用户u与项目v的匹配得分,scoreu表示用户u的匹配得分向量,表示最终用户节点嵌入表示,表示最终项目节点嵌入表示,wpre表示预测参数矩阵,softmax表示softmax激活函数,表示归一化后的匹配得分向量。
40、进一步的,计算模型总损失的公式为:
41、
42、其中,loss表示模型总损失,s表示序列集合;yuv表示用户u下一项交互是否为项目v,为用户u与项目v的归一化匹配得分,θ表示模型所有参数,‖·‖2表示l2范式;λ正则化强度控制系数。
43、本发明的有益效果为:本发明同时考虑到用户项目多行为交互序列的多行为信息和时序信息,使用了多行为动态图来存储交互序列数据,使用了如注意力机制等方法来学习并更新用户嵌入、项目嵌入、行为嵌入,然后将最终的用户表示和待预测的候选项目送入前馈神经网络计算匹配得分,根据匹配得分可为用户提供更为精准的推荐对象,提高推荐的准确性。
1.一种基于多行为动态图的序列推荐方法,其特征在于,包括:获取待推荐用户的多行为交互序列;将多行为交互序列输入到训练好的项目推荐模型中,得到项目推荐结果;
2.根据权利要求1所述的一种基于多行为动态图的序列推荐方法,其特征在于,多行为动态图表示为:
3.根据权利要求1所述的一种基于多行为动态图的序列推荐方法,其特征在于,得到特定行为子图的关系嵌入表示的公式为:
4.根据权利要求1所述的一种基于多行为动态图的序列推荐方法,其特征在于,得到每两个特定行为子图的通用相关性嵌入表示的公式为:
5.根据权利要求1所述的一种基于多行为动态图的序列推荐方法,其特征在于,得到特定行为子图下的融合用户节点嵌入表示和融合项目节点嵌入表示的过程包括:
6.根据权利要求1所述的一种基于多行为动态图的序列推荐方法,其特征在于,得到用户的每两个特定行为子图的个性化行为相关性嵌入表示的公式为:
7.根据权利要求1所述的一种基于多行为动态图的序列推荐方法,其特征在于,得到更新融合项目节点嵌入表示的公式为:
8.根据权利要求1所述的一种基于多行为动态图的序列推荐方法,其特征在于,得到项目匹配得分的公式为:
9.根据权利要求1所述的一种基于多行为动态图的序列推荐方法,其特征在于,