一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于注意力机制的情感时序推荐方法与流程

2022-03-09 10:21:40 来源:中国专利 TAG:


1.本发明属于序列推荐领域,具体涉及一种基于注意力机制的情感时序推荐方法。


背景技术:

2.近年来,如何利用评价信息提高推荐满意度成为研究者关注的焦点。例如使用文本信息作为辅助边信息来缓解评分矩阵的稀疏问题,引入评论来解决协同过滤cf算法稀疏性带来的问题。基于cnn的解决方案通常利用不同大小的转换过滤器和最大池操作来获得特征向量。然而,基于cnn的推荐方法的缺点是,在推荐时总是忽略用户偏好的时间动态性。因此,如何探索用户和项目评论的动态变化以提高推荐者的性能仍然是一个巨大的挑战。在这种情况下,基于rnn的方法可以在预测用户下一步将消费哪个项目方面获得良好的性能。一些深度兴趣进化网络模型被提出以捕捉暂时的兴趣,但它没有在评论中使用丰富的情感信息。此外,大多数现有的方法使用评分或审查文本作为单独的输入。他们没有全面地使用反馈信息,没有充分利用现有异构数据的优势来有效地捕获时间动态,且未能考虑全局联系和局部联系,且能并行化计算,且模型过拟合现象较严重。


技术实现要素:

3.针对现有技术中的上述不足,本发明提供的一种基于注意力机制的情感时序推荐方法解决了深度兴趣进化网络模型没有在评论中使用丰富的情感信息的问题。
4.为了达到上述发明目的,本发明采用的技术方案为:一种基于注意力机制的情感时序推荐方法,包括以下步骤:
5.s1、收集评论信息和时间信息,并将其输入嵌入层,得到具有时态信息的用户因素和项目因素;
6.s2、将有时态信息的用户因素和项目因素输入至blstm层进行情感特征提取,得到用户和项目之间的交互序列;
7.s3、将用户和项目之间的交互序列通过注意力层输入至cnn层,得到用户表示和项目表示;
8.s4、将用户表示和项目表示输入至输出层,得到精确评分,进而将最高精确评分对应项目作为情感时序推荐结果。
9.进一步地:所述步骤s1中,所述评论信息具体为评论的集合r={r1,r2,...,r
p
},其中,ri为第i条评论,i=1,2,...,p,p为评论的总数;
10.第i条评论具体为ri={w1,w2,...,wq},其中,wj为第j个词的低维密集向量,j=1,2,...,q,q为第i条评论的单词数;
11.其中,第j个词的低维密集向量wj的表达式具体为:
12.wj=ej×
we13.式中,we为预训练的词向量矩阵,ej为嵌入层中输入第j个词生成对应的索引ej;
14.所述时间信息具体为第i次用户与项目交互和第i 1次用户与项目交互之间的时
间间隔其表达式具体为:
[0015][0016]
式中,ti为第i条评论对应的时间,min(t)为用户与项目交互时间间隔的最小值,max(t)为用户与项目交互时间间隔的最大值。
[0017]
上述进一步方案的有益效果为:本发明通过用户交互之间的时间间隔表示时间信息,可以不改变输入的评论顺序。
[0018]
进一步地:所述步骤s1中,具有时态信息的用户因素和项目因素具体为融合时间信息的用户和项目评论集;
[0019]
得到具有时态信息的用户因素和项目因素的方法具体为:
[0020]
通过融合时间信息和评论信息,得到更新后的评论,进而得到融合时间信息的用户和项目评论集;
[0021]
其中,融合时间信息的用户和项目评论集r

=[r
t1
,r
t2
,...,r
tw
];r
ti
为更新后的第i条评论,且i条评论,且为连接算子。
[0022]
进一步地:所述步骤s2中,blstm层包括并列的前向lstm层和后向lstm层;
[0023]
所述步骤s2包括以下分步骤:
[0024]
s21、将融合时间信息的用户和项目评论集输入blstm层,通过前向lstm层和后向lstm层进行情感特征提取,分别得到时间步k的语法含义和时间步k的单子含义
[0025]
其中,时间步k的语法含文和时间步k的单子含义的表达式具体为:
[0026][0027][0028]
式中,为时间步k-1的语法含义,为时间步k-1的单子含义,xk为在时间步k,blstm层输入融合时间信息的用户和项目评论集向量;
[0029]
s22、根据语法含义和单子含义得到时间步k的隐藏状态更新hk;
[0030]
其中,时间步k的隐藏状态更新hk的表达式具体为:
[0031][0032]
s23、将所有时间步的隐藏状态更新组合,得到用户和项目之间的交互序列h;
[0033]
其中,用户和项目之间的交互序列h=[h1,h1,...,h
t
],t为句子长度。
[0034]
进一步地:所述步骤s3包括以下分步骤:
[0035]
s31、将用户和项目之间的交互序列输入注意力层,得到句子级用户和项目之间的交互序列;
[0036]
s32、将句子级用户和项目之间的交互序列输入cnn层,得到用户表示和项目表示。
[0037]
上述进一步方案的有益效果为:本发明的cnn层使用多个不同的卷积滤波器来提取特征,可以获得丰富的特征。
[0038]
进一步地:所述步骤s31具体为:
[0039]
通过注意力层生成一个权重向量,使权重向量乘以用户和项目之间的交互序列,
得到句子级用户和项目之间的交互序列;
[0040]
其中,句子级用户和项目之间的交互序列h*表达式具体为:
[0041]
h*=tanh(r)
[0042]
r=hαt
[0043]
α=softmax(wtm)
[0044]
m=tanh(h)
[0045]
式中,m为第二运算过程向量,r为第一运算过程向量,α为权重向量,t为句子长度,w为是经过训练的参数向量,tanh(*)为第一激活函数,softmax(*)为第二激活函数。
[0046]
进一步地:所述s32中,cnn层包括依次连接的卷积层、最大池化层和全连接层;
[0047]
其中,所述卷积层设置有并列的g个互不相同卷积滤波器;
[0048]
所述步骤s32包括以下分步骤:
[0049]
s32-1、将用户和项目之间的交互序列通过卷积层的卷积滤波器提取特征,得到特征图;
[0050]
其中,所述特征图t具体为t=[t1

t2,...,ts];tj为第j个卷积滤波器输出的结果,j=1,2,...,s,s为卷积滤波器的总数;第j个卷积滤波器输出的结果tj表达式具体为:
[0051][0052]
式中,xi为句子级用户和项目之间的交互序列h*中的第i个评论,其中i=1,2,...,p,p为评论的总数,bj为偏置项,为卷积运算,kj为第j个卷积滤波器,为第三激活函数;
[0053]
s32-2、将所述特征图输入最大池化层进行特征提取,得到特征子向量,进而将得到的特征子向量进行拼接,得到固定长度的特征向量;
[0054]
其中,得到特征子向量zs的表达式具体为:
[0055]zs
=max(t)
[0056]
所述特征向量z具体为[z1,z2,...,zg];
[0057]
s32-3、将特征向量输入至全连接层,进而通过下式对特征向量进行特征提取,得到用户表示和项目表示;
[0058]
χ=relu(w
×
z b)
[0059]
式中,χ为特征提取的结果,relu(*)为激活函数,w为权重矩阵,z为特征向量,b为偏置项;
[0060]
根据特征提取的结果χ得到用户表示χu和项目表示χo。
[0061]
上述进一步方案的有益效果为:设置最大池化层可以捕获更有意义的信息,得到特征子向量。
[0062]
进一步地:所述步骤s4包括以下分步骤:
[0063]
s41、根据用户表示和项目表示计算得到评分,进而根据评分计算预测评分;
[0064]
其中,计算评分γ的表达式具体为:
[0065][0066]
所述预测评分的表达式具体为:
[0067][0068]
式中,γm为第m次计算的评分,γn为第n次计算的评分;为第一辅助向量,为第二辅助向量,n为计算的评分的总数;
[0069]
s42、根据评分和预测评分计算,得到评分的损失函数和损失函数的正则化项,进而通过评分的损失函数和损失函数的正则化项处理评分,得到精确评分;
[0070]
其中,损失函数的表达式具体为:
[0071][0072]
式中,m为预测评分的总数,为第f次计算的预测评分,yf为第f次计算的评分;
[0073]
所述损失函数的正则化项表达式具体为:
[0074][0075]
式中,η为惩罚系数,θ为可训练参数的集合。
[0076]
上述进一步方案的有益效果为:本发明设置损失函数可以判定推荐结果的准确度,设置损失函数的正则化项可以防止深度学习中的过拟合问题,从而得到精确评分。
[0077]
本发明的有益效果为:
[0078]
(1)本发明把基于注意力的双向长短期记忆网络与卷积神经网络结合,构造出一个强有力的模型,以更好得捕捉推荐系统中评论数据中的情感特征,进而提升推荐性能。
[0079]
(2)本发明在blstm层的基础上引入了注意力层的机制,增强了学习情感的能力,进而会增强推荐系统的预测能力。
附图说明
[0080]
图1为一种基于注意力机制的情感时序推荐方法的流程图;
[0081]
图2为本发明的网络模型图。
具体实施方式
[0082]
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
[0083]
实施例1:
[0084]
如图1所示,在本发明的一个实施例中,一种基于注意力机制的情感时序推荐方法,包括以下步骤:
[0085]
s1、收集评论信息和时间信息,并将其输入嵌入层,得到具有时态信息的用户因素和项目因素;
[0086]
s2、将有时态信息的用户因素和项目因素输入至blstm层进行情感特征提取,得到用户和项目之间的交互序列;
[0087]
s3、将用户和项目之间的交互序列通过注意力层输入至cnn层,得到用户表示和项目表示;
[0088]
s4、将用户表示和项目表示输入至输出层,得到精确评分,进而将最高精确评分对应项目作为情感时序推荐结果。
[0089]
评分是推荐系统内对一个项目在下一次交互中被推荐概率的度量标准。
[0090]
所述步骤s1中,所述评论信息具体为评论的集合r={r1,r2,...,r
p
},其中,ri为第i条评论,i=1,2,...,p,p为评论的总数;
[0091]
第i条评论具体为ri={w1,w2,...,wq},其中,wj为第j个词的低维密集向量,j=1,2,...,q,q为第i条评论的单词数;
[0092]
其中,第j个词的低维密集向量wj的表达式具体为:
[0093]
wj=ej×
we[0094]
式中,we为预训练的词向量矩阵,ej为嵌入层中输入第j个词生成对应的索引ej;
[0095][0095]
为评论矩阵,具体为q行v列的矩阵,|v|为预训练词数据集中的词数。
[0096]
所述时间信息具体为第i次用户与项目交互和第i 1次用户与项目交互之间的时间间隔其表达式具体为:
[0097][0098]
式中,ti为第i条评论对应的时间,min(t)为用户与项目交互时间间隔的最小值,max(t)为用户与项目交互时间间隔的最大值,的维度为的维度为为行数为q的矩阵。
[0099]
所述步骤s1中,具有时态信息的用户因素和项目因素具体为融合时间信息的用户和项目评论集;
[0100]
得到具有时态信息的用户因素和项目因素的方法具体为:
[0101]
通过融合时间信息和评论信息,得到更新后的评论,进而得到融合时间信息的用户和项目评论集;
[0102]
其中,融合时间信息的用户和项目评论集r

=[r
t1
,r
t2
,...,r
tq
];r
ti
为更新后的第i条评论,且i条评论,且为连接算子。
[0103]
所述步骤s2中,blstm层包括并列的前向lstm层和后向lstm层;
[0104]
所述步骤s2包括以下分步骤:
[0105]
s21、将融合时间信息的用户和项目评论集输入blstm层,通过前向lstm层和后向lstm层进行情感特征提取,分别得到时间步k的语法含义和时间步k的单子含义
[0106]
其中,时间步k的语法含义和时间步k的单子含义的表达式具体为:
[0107][0108][0109]
式中,为时间步k-1的语法含义,为时间步k-1的单子含义,xk为在时间步k,blstm层输入融合时间信息的用户和项目评论集向量;
[0110]
s22、根据语法含义和单子含义得到时间步k的隐藏状态更新hk;
[0111]
其中,时间步k的隐藏状态更新hk的表达式具体为:
[0112][0113]
s23、将所有时间步的隐藏状态更新组合,得到用户和项目之间的交互序列h;
[0114]
其中,用户和项目之间的交互序列h=[h1,h1,...,h
t
],t为句子长度。
[0115]
所述步骤s3包括以下分步骤:
[0116]
s31、将用户和项目之间的交互序列输入注意力层,得到句子级用户和项目之间的交互序列;
[0117]
s32、将句子级用户和项目之间的交互序列输入cnn层,得到用户表示和项目表示。
[0118]
所述步骤s31具体为:
[0119]
通过注意力层生成一个权重向量,使权重向量乘以用户和项目之间的交互序列,得到句子级用户和项目之间的交互序列;
[0120]
其中,句子级用户和项目之间的交互序列h*表达式具体为:
[0121]
h*=tanh(r)
[0122]
r=hαt
[0123]
α=softmax(wtm)
[0124]
m=tanh(h)
[0125]
式中,m为第二运算过程向量,r为第一运算过程向量,α为权重向量,t为句子长度,w为是经过训练的参数向量,tanh(*)为第一激活函数,softmax(*)为第二激活函数。
[0126]
所述s32中,cnn层包括依次连接的卷积层、最大池化层和全连接层;
[0127]
其中,所述卷积层设置有并列的g个互不相同卷积滤波器;
[0128]
所述步骤s32包括以下分步骤:
[0129]
s32-1、将用户和项目之间的交互序列通过卷积层的卷积滤波器提取特征,得到特征图;
[0130]
其中,所述特征图t具体为t=[t1,t2,...,ts];tj为第j个卷积滤波器输出的结果,j=1,2,...,s,s为卷积滤波器的总数;第j个卷积滤波器输出的结果tj表达式具体为:
[0131][0132]
式中,xi为句子级用户和项目之间的交互序列h*中的第i个评论,其中i=1,2,...,p,p为评论的总数,bj为偏置项,为卷积运算,kj为第j个卷积滤波器,为第三激活函数;
[0133]
s32-2、将所述特征图输入最大池化层进行特征提取,得到特征子向量,进而将得到的特征子向量进行拼接,得到固定长度的特征向量;
[0134]
其中,得到特征子向量zs的表达式具体为:
[0135]zs
=max(t)
[0136]
所述特征向量z具体为[z1,z2,...,zg];
[0137]
s32-3、将特征向量输入至全连接层,进而通过下式对特征向量进行特征提取,得到用户表示和项目表示;
[0138]
χ=relu(w
×
z b)
[0139]
式中,χ为特征提取的结果,relu(*)为激活函数,w为权重矩阵,z为特征向量,b为偏置项;
[0140]
根据特征提取的结果χ得到用户表示χu和项目表示χo。
[0141]
所述步骤s4包括以下分步骤:
[0142]
s41、根据用户表示和项目表示计算得到评分,进而根据评分计算预测评分;
[0143]
其中,计算评分γ的表达式具体为:
[0144][0145]
所述预测评分的表达式具体为:
[0146][0147]
式中,γm为第m次计算的评分,γn为第n次计算的评分;为第一辅助向量,为第二辅助向量,n为计算的评分的总数;
[0148]
s42、根据评分和预测评分计算,得到评分的损失函数和损失函数的正则化项,进而通过评分的损失函数和损失函数的正则化项处理评分,得到精确评分;
[0149]
其中,损失函数的表达式具体为:
[0150][0151]
式中,m为预测评分的总数,为第f次计算的预测评分,yf为第f次计算的评分;
[0152]
所述损失函数的正则化项表达式具体为:
[0153][0154]
式中,η为惩罚系数,θ为可训练参数的集合。
[0155]
如图2所示,通过本发明的网络框架,可以将评论信息结合时间信息和情感信息转化为评分,提高了评分的评估能力。
[0156]
本发明方法的实施过程为:嵌入层输入评论信息和时间信息,输出网络训练得到具有时态信息的用户因素和项目因素,blstm层输入具有时态信息的用户因素和项目因素,通过情感特征提取,得到用户和项目之间的交互序列,注意力层生成权重向量,使用户和项目之间的交互序列单次特征乘以权重向量,得到句子级用户和项目之间的交互序列,cnn层输入句子级用户和项目之间的交互序列,通过cnn层提取特征,得到用户表示和项目表示,将用户表示和项目表示输入至输出层,经过最小二乘的损失函数和损失函数的正则化项处理,得到精确评分,进而提高用户所需项目在下一次交互中被推荐概率。
[0157]
本发明的有益效果为:本发明把基于注意力的双向长短期记忆网络与卷积神经网络结合,构造出一个强有力的模型,以更好得捕捉推荐系统中评论数据中的情感特征,进而提升推荐性能。
[0158]
本发明在blstm层的基础上引入了注意力层的机制,增强了学习情感的能力,进而会增强推荐系统的预测能力。
[0159]
在本发明的描述中,需要理解的是,术语“中心”、“厚度”、“上”、“下”、“水平”、“顶”、“底”、“内”、“外”、“径向”等指示的方位或位置关系为基于附图所示的方位或位置关
系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或隐含指明的技术特征的数量。因此,限定由“第一”、“第二”、“第三”的特征可以明示或隐含地包括一个或者更多个该特征。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献