一种基于Self-Attention的序列推荐方法技术

技术编号:33891747 阅读:24 留言:0更新日期:2022-06-22 17:27
本发明专利技术公开了一种基于Self

【技术实现步骤摘要】
一种基于Self

Attention的序列推荐方法


[0001]本专利技术涉及信息推送
,具体涉及一种基于Self

Attention的序列推荐方法。

技术介绍

[0002]在当今信息过载的大数据时代,如何从巨量的信息中获得有益的信息是人们面临的重要课题。推荐系统可以为不同的用户提供个性化的推荐,每个用户都可以从推荐系统筛选出的有限的、多样化的信息中获得自己想要的信息。
[0003]传统的推荐系统利用用户的属性为用户画像并建模,然后推荐一些用户可能感兴趣的物品。换句话说,每个用户必须有足够多的交互记录和可见的用户身份数据。然而在很多在线系统中,比如电子商务、新闻和娱乐网站,推荐系统只能依赖当前的会话信息来为用户准确推荐,因为有很多未登录用户,无法获取他们历史交互信息。
[0004]因此,如何提高基于时序的推荐系统的准确性,研发有效的推荐算法一直是学术界和工业界的热点。
[0005]以往基于序列的推荐算法主要采用基于物品的启发式方法,通过捕获物品之间的关系来描述序列中的用户偏好。然而,这些方法没有考虑会话中整体时序信息。从循环神经网络(RNN)在序列建模取得的成功得到启发,很多研究者引入这种方法到基于时序的推荐算法中便于获得会话中的时序信息。RNN基于对整个用户交互会话建模的能力获得了令人印象深刻的结果。在RNN框架下,推荐系统的准确性得到了提高。然而,用户的兴趣是变化的,于是,基于attention的RNN方法被提出,可以随时关注用户兴趣动态变化,并适应用户多样性的兴趣。
[0006]专利CN107507054A中,采用的是LSTM单循环神经网络分别对用户行为和用户信息进行建模,然后将两者组合在一起作为输出层的输入。这种方法虽然取得了很好的效果,但是,一方面由于是单向循环网络,表达力受限,另一方面RNN固有的串行执行,不能并行执行,导致效率低下总之,基于RNN框架的推荐系统会面临以下局限:(1)梯度消失和梯度爆炸依旧是个严重问题;(2)基于时序的RNN是串行方式,无法实现并行计算,导致计算效率低下;(3)基于RNN的推荐算法只能基于单向计算序列的依赖,不能从双向或全局获得序列的依赖,因此损失了一些重要的信息。

技术实现思路

[0007]针对现有技术存在的上述不足,本专利技术的目的在于提供一种基于Self

Attention的序列推荐方法,以解决现有技术中推荐系统梯度消失、梯度爆炸、计算效率低下、容易损失重要信息的问题。
[0008]为了解决上述技术问题,本专利技术采用如下技术方案:
一种基于Self

Attention的序列推荐方法,包括如下步骤:S1:通过日志系统获取用户行为的会话序列,会话序列中包含多个元素,将会话序列转换为固定长度,并将序列中每个元素编码在低纬度的密集空间中;S2:利用self

attention模块获取输入和输出、物品之间的全局依赖;S3:利用self

attention学习物品交互的高阶依赖;S4:采用预测层预测会话的下一次点击,利用带BPR优化准则的目标函数和增量训练方法对模型参数进行训练,并根据训练结果进行推送。
[0009]与现有技术相比,本专利技术具有如下有益效果:本专利技术利用多层self

attention学习序列交互的高层特征,在每层self

attention网络中,多头注意力机制从不同空间表达序列元素之间的关系,无论在序列中相差多远,都可以学习到他们之间的关系,能准确的学习到各个元素之间的依赖,这为模型准确预测的重要基础。本专利技术所述方法既满足记忆性、泛化,又能从丰富的序列信息中挖掘用户偏好、实现千人千面进行准确推送。
附图说明
[0010]图1为本专利技术的推荐系统组件图。
[0011]图2为本专利技术的核心算法整体框架示意图。
[0012]图3为本专利技术采用的Self

Attention模块详细结构图。
[0013]图4为本专利技术采用的流程图。
[0014]图5为本专利技术的算法效果统计截图。
具体实施方式
[0015]为了使本专利技术的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,所描述的实施例不应视为对本专利技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。
[0016]一种基于Self

Attention的序列推荐方法,包括如下步骤:S1:通过日志系统获取用户行为的会话序列,会话序列中包含多个元素,将会话序列转换为固定长度,并将序列中每个元素编码在低纬度的密集空间中;S2:利用self

attention模块获取输入和输出、物品之间的全局依赖;S3:利用self

attention学习物品交互的高阶依赖;S4:采用预测层预测会话的下一次点击,利用带BPR优化准则的目标函数和增量训练方法对模型参数进行训练,并根据训练结果进行推送。
[0017]图1描述了实现本专利技术所述方法的整个推荐系统架构。首先从日志系统中根据用户的会话序列,对序列进行各种预处理后,得到输入模型的数据,根据目标函数经过多次迭代,导出训练好的模型,部署到线上用户实时推断用户下一个点击的物品,然后推荐给用户。
[0018]在具体实施时,参见图4,在S1中,所述会话序列包括物品点击序列和行为序列,并将会话序列的长度设为预定值;当物品点击序列的长度不足预定值的,对其进行补齐,并按照时间先后顺序进行排列;当行为序列的长度超过预定值的,根据行为序列的产生时间,选
取日期最近的、预定值个数的物品备用。例如,从日志系统中获取用户的会话序列,这些会话序列包含物品点击序列和用户行为序列,利用会话序列数据,其中物品点击序列长度大小可初步设置为128,该数值可根据实际设计需要进行调整,不足128的物品点击序列在其左边用0补齐,然后按照时间先后顺序,从左至右进行顺序排列。而对于行为序列大于128的,选取日期最近的128个物品作为备用。
[0019]将会话序列中的每个元素进行one

hot编码,然后随机初始化为维度为设定值的嵌入密集向量,作为网络的输入,其值随网络训练收敛而进行动态调整,用M表示。例如,将前述步骤中的各个元素进行one

hot编码,然后随机初始化为维度为32(维度大小可根据设计需要进行调整)的embedding密集向量,作为后续网络的输入,其值随着网络训练收敛而动态调整,用M表示。
[0020]对会话序列中每个元素随机初始化一个位置标记,并进行嵌入,维度和物品嵌入保持一致,用P表示。按照前面同样的步骤,为序列中对每个元素随机初始化一个位置标记,并进行embedding,维度和物品embedding保持一致,用P表示。
[0021]将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Self

Attention的序列推荐方法,其特征在于,包括如下步骤:S1:通过日志系统获取用户行为的会话序列,会话序列中包含多个元素,将会话序列转换为固定长度,并将序列中每个元素编码在低纬度的密集空间中;S2:利用self

attention模块获取输入和输出、物品之间的全局依赖;S3:利用self

attention学习物品交互的高阶依赖;S4:采用预测层预测会话的下一次点击,利用带BPR优化准则的目标函数和增量训练方法对模型参数进行训练,并根据训练结果进行推送。2.根据权利要求1所述基于Self

Attention的序列推荐方法,其特征在于,在S1中,所述会话序列包括物品点击序列和行为序列,并将会话序列的长度设为预定值;当物品点击序列的长度不足预定值的,对其进行补齐,并按照时间先后顺序进行排列;当行为序列的长度超过预定值的,根据行为序列的产生时间,选取日期最近的、预定值个数的物品备用;将会话序列中的每个元素进行one

hot编码,然后随机初始化为维度为设定值的嵌入密集向量,作为网络的输入,其值随网络训练收敛而进行动态调整,用M表示;对会话序列中每个元素随机初始化一个位置标记,并进行嵌入,维度和物品嵌入保持一致,用P表示;将M和P按照对应元素相加,得到的矩阵作为网络的输入T...

【专利技术属性】
技术研发人员:袁章凯谢磊蔡春茂郝金隆胡伟红
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

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

1