首页> 中国专利> 一种基于信息传播和注意力机制的序列推荐方法

一种基于信息传播和注意力机制的序列推荐方法

摘要

本发明公开了一种基于信息传播和注意力机制的序列推荐方法。对输入的用户行为序列计算出每个物品对应的传播力;对用户的评分数据进行修正;进行特征提取利用矩阵分解计算出当前时间物品与当前时间节点之前物品的相关性,将相关性结果输入至Softmax函数输出预测下个物品的概率;建立二元交叉熵损失函数,当损失函数未达到给定条件时,将信息重新传入神经网络模型进行训练,直至输出的结果满足给定条件,将训练完成的模型作为最终模型用于序列推荐。本发明能够更加用户的历史行为序列数据计算出物品的传播力信息,将物品的传播力信息加入到深度模型中,帮助序列推荐得到更好的性能。

著录项

  • 公开/公告号CN114691995A

    专利类型发明专利

  • 公开/公告日2022-07-01

    原文格式PDF

  • 申请/专利权人 东华大学;

    申请/专利号CN202210357247.3

  • 发明设计人 石秀金;陶陈赟;王绍宇;

    申请日2022-04-06

  • 分类号G06F16/9535(2019.01);G06F16/958(2019.01);G06N3/04(2006.01);G06N3/08(2006.01);

  • 代理机构北京力量专利代理事务所(特殊普通合伙) 11504;

  • 代理人刘一霖

  • 地址 200051 上海市长宁区延安西路1882号

  • 入库时间 2023-06-19 16:03:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-19

    实质审查的生效 IPC(主分类):G06F16/9535 专利申请号:2022103572473 申请日:20220406

    实质审查的生效

  • 2022-07-01

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及神经网络和机器学习技术领域,具体涉及一种基于信息传播和注意力机制的序列推荐方法。

背景技术

随着互联网的不断发展,人们可接收的各类数据信息呈指数级增长,引发了信息过载的问题,为了解决信息过载问题,推荐系统应运而生。在这些信息数据中一部分是关于用户行为的时间序列数据。时间序列数据是每隔一定时间间隔点所记录的数据排列成的序列。我们能从用户的历史行为序列数据中挖掘出有用的信息,从而提升对该用户的个性化推荐体验。在现实场景下,用户在不同的时间段内做出的决策往往是不同的,通常时间间隔越短的行为相互之间的关联性越大,并且根据用户的历史行为序列数据,能够挖掘出用户行为的发展趋势。因此研究序列推荐具有非常重要的意义。

现在主流的序列推荐方法包括基于机器学习的方法和基于深度学习的方法。基于机器学习的方法通常利用机器学习模型对用户行为序列进行建模以此来挖掘时间序列特征。基于机器学习的方法主要包括频繁模式挖掘、K最近邻法、马尔科夫链和矩阵分解,典型的模型有PopRec和BPR。这些方法虽然易于实现,但是能够挖掘的序列特征有限,在面对内部项目之间依赖关系复杂的序列数据效果不好。而基于深度学习的模型能够根据序列数据自主学习内部的序列特征和依赖关系,因此深度学习模型能够更好的应用于序列推荐任务。RNN这种能够捕捉序列特征的神经网络已经被广泛应用于序列推荐之中,例如GRU4Rec和Parallel-RNN,同时为了能够更好地捕捉用户偏好和时间之间的依赖关系,CNN和GNN也被应用于序列推荐,例如Caser、SR-GNN和SGNN-HN等模型。近几年由于RNN的计算效率较低,因此出现了基于注意力机制的序列推荐模型,例如SASRec、ComiRec和AttRec等。但目前基于深度学习的序列推荐模型没有考虑到热门物品的传播力信息,例如一个传播范围广且质量好的商品会在人群中有较好的口碑,而以为没有购买过该商品的用户更可能关注该商品而不是其他商品。

发明内容

本发明的目的在于提供一种基于信息传播和注意力机制的序列推荐方法,以解决现有技术基于用户行为序列数据缺少热门物品传播力的信息的问题,利用信息传播模型对物品传播力进行建模,以此帮助深度学习模型获取辅助信息。

本发明提供了一种基于信息传播和注意力机制的序列推荐方法,包括如下步骤:

S1、对输入的用户行为序列计算出每个物品对应的传播力;

S2、利用每个物品的传播力对用户的评分数据进行修正;

S3、使用Transformer编码器和CNN卷积对上述经过修正后的用户行为序列数据进行特征提取;

S4、利用矩阵分解计算出当前时间物品与当前时间节点之前物品的相关性,将相关性结果输入至Softmax函数,用Softmax函数的输出预测下个物品的概率;

S5、根据上述的概率建立二元交叉熵损失函数,当损失函数未达到给定条件时,将信息重新传入神经网络模型进行训练,直至输出的结果满足给定条件,将训练完成的模型作为最终模型用于序列推荐。

本发明公开了一种基于信息传播和注意力机制的序列推荐方法。该技术能够更加用户的历史行为序列数据计算出物品的传播力信息,将物品的传播力信息加入到深度模型中,帮助序列推荐得到更好的性能。相对于现有技术,本发明的优点在于:

1、融合了信息传播模型和序列推荐模型,建立了一个基于信息传播和注意力机制的序列推荐方法。

2、设计了一种根据结合Transformer编码器和CNN卷积的注意力机制来提取特征信息的方法。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍。

图1是本发明序列推荐方法的流程示意图;

图2是本发明基于信息传播和注意力机制模型的整体架构示意图;

图3是本发明的序列推荐方法与其他方法性能对比示意图。

具体实施方式

下面将结合本发明的附图,对本发明的技术方案进行更进一步详细地阐述。在本发明中一个较佳实施例中,提供了一种基于信息传播和注意力机制的序列推荐方法,

如图1所示的流程示意图,一种基于信息传播和注意力机制的序列推荐方法,包括如下步骤:

S1、对输入的用户行为序列计算出每个物品对应的传播力。为了计算出每个物品对应的传播力,我们首先使用信息传播模型中的SI(Sensitive Infected)模型模拟各个物品在对应时间序列之中能够影响到用户的比例,然后我们需要利用物品能够影响的比例来计算出每个物品的影响力。

在本实施例中,步骤S1具体包括以下步骤:

S11、首先利用SI(SensitiveInfected)模型将待推荐的物品作为“感染源”,并把用户分为易影响状态和影响状态。通过计算每个物品在特定时刻“感染”人数的比例,计算在时刻t受到某个物品影响的人数比例:

式中i(t)表示时刻t受到物品影响的人数比例,i

S12、将t时刻的用户对特定物品的评分与t时刻该物品的影响比例相乘,得到传播力,用户受到的影响比例越大,说明用户群体对该物品的评分趋于一直性越大。因此评分低的物品,如果影响用户比例越大,那么该物品评分则越低;相对的,评分高的物品,如果影响用户比例越大,那么该物品评分则越高。计算传播力的公式为:

其中t

S2、利用每个物品的传播力对用户的评分数据进行修正。基于S1得到物品传播力的结果以及根据物品的流行度对各个物品进行评分修正。其中结合物品的流行度是为了更好的让物品的传播力的信息体现在评分结果之中,使得不同的物品在不同的时间点的评分由明显的区别,以此帮助后续S3提取出更有意义的特征信息。

在本实施例中,步骤S2具体包括以下步骤:

S21、计算物品的流行度,流行度的计算通过某物品的评分次数占总评分次数的比例得出:

式中sum(click(i))表示某一个物品被评分的总次数,sum(click)表示所有物品的评分次数。

S22、修正物品的评分;通过两个权重参数,把流行度和传播力融入到最终的评分中:

式中μ

S3、使用Transformer编码器和CNN卷积对上述经过修正后的用户行为序列数据进行特征提取。利用两种注意力机制的实现方式帮助模型提取更加全面的用户偏好信息。

在本实施例中,步骤S3具体包括以下步骤:

S31、对用户行为序列数据进行预处理分割。设定能够处理的序列最大长度为k,对经过S2步骤处理过的用户行为序列数据(a

S32、对用户行为序列数据进行嵌入表示。构建一个嵌入矩阵E,该矩阵中每一行是一个用户-物品的嵌入向量,之后对每一行的嵌入向量后方拼接一个位置嵌入p使得嵌入矩阵能够学习到用户行为序列的前后位置信息得到嵌入矩阵E

S33、利用注意力层中的Transformer编码器对嵌入矩阵提取用户的长期偏好,Transformer编码器能够提取全局时序信息,帮助神经网络模型捕获用户的长期兴趣:

式中Q代表查询向量,K代表键值向量,V代表值向量,这三个向量是由初始嵌入向量X乘以给定不同权重的矩阵得到的,K

S=Attention(E

为了不与历史信息发生交互,对结果添加两层前馈神经网络:

其中W

h(in)=in+dropout(h(LayerNorm(in)))

其中h(in)表示一层前馈网络,in为输入信息。

S34、利用注意力层中的卷积对嵌入矩阵提取用户的短期偏好。CNN卷积能够感知边缘以及细节信息,因此通过卷积能够提取布局特征信息。先对嵌入矩阵添加filter为2,kernel大小为100的一维卷积,然后对其做最大池化:

φ

其中M

φ

其中M

convAttention=concat(φ

其中concat(·)表示拼接函数。

S35、对提取的特征信息进行融合:

其中convAttention为卷积操作计算得到的特征信息,h(in)为Transformer编码器计算得到的特征信息,α和γ为两个权重参数。在本实施例中,我们规定α=0.8,γ=0.2。

S4、利用矩阵分解计算出当前时间物品与当前时间节点之前物品的相关性,将相关性结果输入至Softmax函数,用Softmax函数的输出预测下个物品的概率。在本实施例中假设最终的结果矩阵分解为两个小矩阵,之后通过梯度下降法来学习各个参数:R=F×(E

S5、根据上述的概率建立二元交叉熵损失函数,当损失函数未达到给定条件时,将信息重新传入神经网络模型进行训练,直至输出的结果满足给定条件,将训练完成的模型作为最终模型用于序列推荐。在本实施例中的计算训练过程内,损失函数为:

loss=

其中r

进一步地,本发明基于信息传播和注意力机制模型的整体架构如图2所示。模型主要由4个部分组成,即数据预处理层、嵌入层、注意力层和预测层。其中预处理层的功能是计算物品的传播力并根据物品不同的传播力对用户评分进行修正,以得到考虑传播因素的评分数据。嵌入层主要是将用户-物品行为序列数据和对应的评分序列数据分别进行向量化,并把数据映射到另一个维度空间之中。注意力层的作用是捕获序列信息的依赖关系以及序列信息的特征信息,在这一层中使用带有多头自注意力机制的编码对全局依赖进行提取,再使用两个1维卷积提取局部特征信息,从而达到对用户兴趣特征的全面提取。最后预测层则使用矩阵分解的思想进行预测。

进一步地,图3给出了本发明与其他方法性能对比。具体地,基于三组不同的数据集,即Amazon_Beauty、Amazon_VideoGames、MovieLens-1M数据集,分别通过Recall、NDCG作为评估指标来评估模型性能。需要说明的是Recall表示召回率,Recall@K表示预测被召回的物品排在前K位置的物品所占比例,NDCG(NormalizedDiscountedCumulativeGain)表示归一化折损累积增益,NDCG@K表示在考虑顺序的情况下,前K个推荐的物品总评分占所有评分的比重。由图3可知,由本发明提供的序列推荐方法的性能要优于其他方法,因此本发明能够提高序列推荐的准确度。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号