当前位置: 首页 > 专利查询>新疆大学专利>正文

基于多序列的类别上下文序列推荐方法及系统技术方案

技术编号:38338430 阅读:13 留言:0更新日期:2023-08-02 09:19
本发明专利技术涉及一种基于多序列的类别上下文序列推荐方法及系统。该方法从用户项目交互序列中提取类别上下文信息,转换为类别上下文序列;将项目交互嵌入序列和类别上下文序列交替输入多层seq2seq神经网络,建立由项目交互序列到类别上下文序列的正向依赖关系以及类别上下文序列到项目交互序列的反向依赖关系,最终获得项目交互序列与类别上下文序列间的双向依赖关系,表示为一组隐藏表示向量序列,该序列即为用户的动态偏好;通过个人融合模块将动态偏好与静态偏好进行整合,预测用户下一个时间步的行为。本发明专利技术方法引入了一个多层感知注意力模块来平衡不同序列之间的语义不对等现象。融合了用户的动态偏好与静态偏好,能达到更优的推荐性能。到更优的推荐性能。到更优的推荐性能。

【技术实现步骤摘要】
基于多序列的类别上下文序列推荐方法及系统


[0001]本专利技术涉及数据挖掘
,尤其涉及一种基于多序列的类别上下文序列推荐方法及系统。

技术介绍

[0002]随着近年来,人们在序列推荐上不断探索,由早期的马尔可夫链模型仅从项目序列建模中所捕获到的信息用于下一交互预测,到循环神经网络;从仅关注用户当前偏好,仅与用户最近的一个或者几个交互行为有关,到将用户完整的交互行为视为会话;从只关注用户长期偏好或者短期偏好,到整合用户的长期、短期偏好,顺序推荐系统(SRS)已经取得了显著的成果。随着研究的不断深入,人们关注到用户的不同行为对于推荐系统的结果有不同的影响,将注意力机制注入到顺序推荐系统中去,其中最为经典的模型就是GRU4Rec、Caser。
[0003]但是注意力机制在顺序推荐中存在着对顺序结构和时间序列不敏感的问题,于是人们通过将位置信息和时间信息嵌入到模型中去来增强模型对序列信息的敏感,但是过多的辅助信息嵌入破坏了原本的语义结构和增大了计算成本。为了避免以上问题,SRS分为了两个方向,一个就是完全抛弃注意力机制从其他方向切入解决,其中的典型方法就是2022年由Li等人提出的MLP4Rec模型,它通过纯MLP结构进行顺序推荐,但是它的性能却不是最优的。另一个方向便是将上下文信息进行引入,上下文信息不仅可以标记项目的位置,还可以作为项目的补充特征,在Ye等人的研究中证明了嵌入上下文信息是有效的方法,而这些上下文信息可以是时间上下文、类别上下文等。在这些研究中都没有考虑上下文序列与项目交互序列之间的关系,而只是将上下文信息合并到项目交互序列中去提升SRS的性能。
[0004]在最近的研究中,已经有两种基于多序列的上下文感知方法应用到顺序推荐中。第一个是Le等人开发的具有双网络结构的同期篮子序列(CBS)框架,它通过捕获支持序列和目标序列之间的协同作用来提升模型的性能。另一个是在2019年9月Rakkappan等人提出了一种堆叠的时间上下文感知RNN方法,它通过分别利用堆叠的RNN对项目和上下文序列进行建模。但是这两个方法仅考虑了项目交互序列到上下文序列的单向依赖关系,而没有考虑类别上下文序列到项目交互序列之间的依赖关系。总的来说,SRS在在线平台中的表现优异,使得SRS成为了推荐系统中的研究热点问题。当前如何利用深度神经网络从用户的交互序列中高效的学习到用户偏好表示,从而提高推荐系统的性能成为了序列推荐的研究方向。

技术实现思路

[0005]针对上述类别上下文推荐方法存在的问题,本专利技术提成了一种基于多序列的类别上下文序列推荐方法,采用三层seq2seq神经网络建立了项目交互序列到类别上下文序列与类别上下文序列到项目交互序列的双向依赖关系,有效提高了推荐效率。
[0006]本专利技术的具体方案如下:
[0007]一种基于多序列的类别上下文序列推荐方法,包括以下步骤:
[0008]S1、获取用户u的项目交互序列S
u
={i1,i2,i3,
……
,i
m
},从中提取对应的类别上下文信息,转换为类别上下文序列S
c
={c1,c2,c3,
……
,c
m
},输入到嵌入层得到项目交互嵌入序列和类别上下文嵌入序列
[0009]S2、将项目交互嵌入序列输入到第一层seq2seq神经网络中进行训练,得到项目交互序列的隐藏表示向量序列,将该隐藏表示向量序列送入多层感知注意力模块中进行语义调整,得到语义相对平衡的前向转换向量序列;
[0010]S3、将前向转换向量序列与类别上下文嵌入序列一起输入到第二层seq2seq神经网络中,建立由项目交互序列到类别上下文序列的正向依赖关系,表示为一组新的隐藏表示向量序列;
[0011]S4、将从第二层seq2seq神经网络中得到的隐藏表示向量序列与项目交互嵌入序列一起输入到第三层seq2seq神经网络中,捕获从类别上下文序列到项目交互序列的反向依赖关系,进而得到项目交互序列到类别上下文序列再到项目交互序列的双向依赖关系,并将双向依赖关系表示为一组新的隐藏表示向量序列,该序列即为用户的动态偏好;
[0012]S5、采用随机初始化方式赋予用户静态偏好,通过个人融合模块将动态偏好与静态偏好进行整合,预测用户下一个时间步的行为。
[0013]步骤S2中前向转换向量序列的生成过程如下:
[0014]S2.1、将项目交互嵌入序列送入到第一层seq2seq神经网络中,并且每k
th
个时间步长输出每个项目的隐藏表示向量其中表示隐藏表示向量的维度,具体如下:
[0015][0016]S2.2、将该隐藏表示向量送入多层感知注意力模块中进行语义调整,该模块由多层感知机、多头注意力机制模块和变分自编码器组成;首先输入到多层感知机中,具体如下:
[0017][0018]S2.3、经过多层感知机后输出转换向量序列将其送入第二层的多头注意力机制模块中进行注意力评分,进而得到一组带有注意力分数的转换向量序列具体如下:
[0019][0020]其中Q=K=V=V
mlp
,d
k
代表向量的维度;
[0021]S2.4、将转换向量序列输入到变分自编码器中进行压缩表示,在该模块中对每个时间步长k
th
推断出一个前向转换向量其中表示前向转换向量的维度,它遵循正态分布并且以序列的先前动作为条件,具体如下:
[0022][0023]其中和分别表示从生成的正态分布参数,定义为:
[0024][0025]其中和是两个可以训练的权重矩阵;是权重矩阵的维度,b
μ
和b
σ
分别为偏置项,经过步骤S2之后得到一个前向转换向量序列Z
u
={z1,z2,z3,......,z
m
};
[0026]在第一层循环神经网络的损失函数中使用zk来保持其预测下一个项目的能力:
[0027]步骤S3中生成第二层隐藏表示向量的方法具体如下:
[0028]将前向转换向量序列Z
u
={z1,z2,z3,......,z
m
}与类别上下文嵌入序列输入到第二层seq2seq神经网络中,建立由项目交互序列到类别上下文序列的正向依赖关系,得到第二层隐藏表示向量定义为:
[0029][0030]其中是可训练权重矩阵。
[0031]步骤S3中,通过修改标准变分自编码器损失函数作用于第二层seq2seq神经网络中,建立由项目交互序列到类别上下文序列的正向依赖关系的损失,所述损失函数如下:
[0032][0033]其中,是来自标准变分自编码器损失函数的Kullback

Leibler(KL)散度正则化项,用于预测项目的下一个上下文。
[0034]步骤S4中生成用户的动态偏好的方法如下:
[0035]在经过第二层seq2s本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多序列的类别上下文序列推荐方法,其特征在于包括以下步骤:S1、获取用户u的项目交互序列S
u
={i1,i2,i3,......,i
m
},从中提取对应的类别上下文信息,转换为类别上下文序列S
c
={c1,c2,c3,......,c
m
},输入到嵌入层得到项目交互嵌入序列和类别上下文嵌入序列S2、将项目交互嵌入序列输入到第一层seq2seq神经网络中进行训练,得到项目交互序列的隐藏表示向量序列,将该隐藏表示向量序列送入多层感知注意力模块中进行语义调整,得到语义相对平衡的前向转换向量序列;S3、将前向转换向量序列与类别上下文嵌入序列一起输入到第二层seq2seq神经网络中,建立由项目交互序列到类别上下文序列的正向依赖关系,表示为一组新的隐藏表示向量序列;S4、将从第二层seq2seq神经网络中得到的隐藏表示向量序列与项目交互嵌入序列一起输入到第三层seq2seq神经网络中,捕获从类别上下文序列到项目交互序列的反向依赖关系,进而得到项目交互序列到类别上下文序列再到项目交互序列的双向依赖关系,并将双向依赖关系表示为一组新的隐藏表示向量序列,该序列即为用户的动态偏好;S5、采用随机初始化方式赋予用户静态偏好,通过个人融合模块将动态偏好与静态偏好进行整合,预测用户下一个时间步的行为。2.根据权利要求1所述的基于多序列的类别上下文序列推荐方法,其特征在于:步骤S2中前向转换向量序列的生成过程如下:S2.1、将项目交互嵌入序列送入到第一层seq2seq神经网络中,并且每k
th
个时间步长输出每个项目的隐藏表示向量其中表示隐藏表示向量的维度,具体如下:S2.2、将该隐藏表示向量送入多层感知注意力模块中进行语义调整,该模块由多层感知机、多头注意力机制模块和变分自编码器组成;首先输入到多层感知机中,具体如下:S2.3、经过多层感知机后输出转换向量序列将其送入第二层的多头注意力机制模块中进行注意力评分,进而得到一组带有注意力分数的转换向量序列具体如下:
其中Q=K=V=V
mlp
,d
k
代表向量的维度;S2.4、将转换向量序列输入到变分自编码器中进行压缩表示,在该模块中对每个时间步长k
th
推断出一个前向转换向量其中表示前向转换向量的维度,它遵循正态分布并且以序列的先前动作为条件,具体如下:其中和分别表示从生成的正态分布参数,定义为:其中和是两个可以训练的权重矩阵;是权重矩阵的维度,b
μ
和b
σ
分别为偏置项,经过步骤S2之后得到一个前向转换向量序列Z
u
={z1,z2,z3,......,z
m
};在第一层循环神经网络的损失函数中使用z
k
来保持其预测下一个项目的能力:3.根据权利要求2所述的基于多序列的类别上下文序列推荐方法,其特征在于:步骤S3中生成第二层隐藏表示向量的方法具体如下:将前向转换向量序列Z
u
={z1,z2,z3,......,z
m
}与类别上下文嵌入序列输入到第二层seq2seq神经网络中,建立由项目交互序列到类别上下文序列的正向依赖关系,得到第二层隐藏表示向量定义为:其中是可训练权重矩阵。4.根据权利要求3所述的基于多序列的类别上下文序列推荐方法,其特征在于:通过修改标准变分自编码器损失函数作用于第二层seq2seq神经网络中,建立由项...

【专利技术属性】
技术研发人员:秦继伟高澳华
申请(专利权)人:新疆大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1