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

基于双重注意力机制的文本推荐系统

2022-04-13 19:20:11 来源:中国专利 TAG:


1.本发明涉及到一种基于双重注意力机制的文本推荐系统,属于推荐系统领域。


背景技术:

2.评论数据相比于评分数据更能展现用户对商品的喜好程度,同时相较于单个的数字评分,具体的文字能让其他用户更好地了解某个物品的属性。而现在许多优秀的推荐模型大多都使用的是协同过滤的方法来预测用户对某个物品的喜好程度,通过将评分矩阵进行分解,得到用户与物品的特征向量,再将这两个向量的点乘结果作为预测评分。虽然基于矩阵分解的推荐模型已取得了不错的性能表现。但是受限于点乘操作,无法拟合特征之间的非线性关系以及无法加入其他相关信息,而且具有较低的可解释性。
3.而引入了评论文本的模型能够有效解决这些弊端,使模型更有效地理解用户的偏好:在一条评论中可以抽取出用户的情感倾向、用户的喜好以及物品的一些特征,并且具有较好的可解释性。但是用户的评论具有随意性,即一个用户他的每条评论对模型的贡献是不同的。详细而贴近主题的评论应该被赋予更大的权重。而且评论之间存在着某种联系,一条评论可能会受到前一条评论的影响,同时也会影响其他评论。
4.目前已经有许多研究致力于解决上述问题:convmf是最早将卷积神经网络引入到评论推荐系统中的工作。convmf的主要思路是将卷积神经网络与概率矩阵分解结合起来,使用网络学习到的物品的特征作为物品特征向量的均值,从而进行推荐;zheng等人提出的deepconn完全使用了深度学习的方法对评论进行建模,使用了两个平行的卷积神经网络分别对用户物品评论进行特征提取,再将得到的特征输入到因子分解机中预测评分;seo等人提出的d-attn是首次将注意力机制引入到文本推荐系统中的模型,同样使用两个平行的卷积网络进行特征提取,采用局部注意力机制和全局注意力机制对评论文本进行分析,找出对用户和物品更重要的词,进而提高推荐效果和推荐的可解释性;chen c等人提出的,通过卷积神经网络提取到每条评论的表达,然后通过注意力网络计算出每条评论的权重,再将得到的特征输入到因子分解机中预测评分;lu y等人提出的tarmf在思路上与narre相近,方法上与convmf类似,引入了概率模型,通过序列化神经网络提取特征,在计算出评论的权重后,得到用户或者物品的表达,与概率矩阵分解后的用户物品特征向量做比较,从而获得推荐结果。虽然上述研究已经能在某些数据集上取得不错的效果,但是都未能将评论之间的关系的信息融入到模型学习中,这会影响到最终的模型性能表现。


技术实现要素:

5.本发明为了应对上述模型存在的缺陷,提出了一种基于双重注意力机制的推荐算法:首先将所有评论映射成向量形式,再通过一个局部注意力网络将其编码为一个含有所有评论表示的矩阵,接着再通过一个全局注意力网络将这个矩阵编码为一个用户向量,与自编码器得到的用户向量相加,得到最终的用户特征表示;同理可以获得物品的特征表示,将这两个向量相加输入到预测网络之中得到最终的预测评分。具体技术方案如下:
6.基于双重注意力机制的评论推荐系统的特征在于包括以下步骤:
7.步骤1:获取用户和物品的评论文本、评分信息;
8.步骤2:对上一步骤获取到的数据进行预处理,使其满足网络训练的需要,包括缺失值填充、异常值剔除以及构建一个用户/物品-评论的哈希表;
9.步骤3:将评论文本信息输入到句向量工具中,得到评论的向量化形式;划分训练集、验证集、测试集;
10.步骤4:初始化神经网络的各种超参数,将预处理后的训练集数据输入到网络中进行训练直至收敛;
11.步骤5:在预处理后的验证集数据上调整网络的各种超参数;然后在预处理后的测试集上进行预测,评估模型的性能表现。
12.进一步的,所述步骤1具体为:
13.步骤1.1:获取所有用户和物品的唯一编号、评论的物品、评论文本、评论时间以及评分。
14.进一步的,所述步骤2具体为:
15.步骤2.1:将缺失以及明显异常的数据直接删除;
16.步骤2.2:遍历整个数据集,构造一个哈希表,其键是用户/物品唯一标识码,值是一个具有所有评论序号,评论时间组成的二元组的列表。
17.进一步的,所述步骤3具体为:
18.步骤3.1:将数据集中的所有评论输入到句向量工具中得到评论的向量化表示,并且进行数据归一化操作,将所有值控制在[0,1]之间;
[0019]
步骤3.2:按照步骤2.2生成的哈希表中的评论序号,将值替换为真正的评论向量,并且对所有值按照时间顺序进行排序;
[0020]
步骤3.3:按照7:3:1的比例将数据集分割为训练集、验证集、以及测试集。
[0021]
进一步的,所述步骤4具体为:
[0022]
步骤4.1:初始化模型的各个超参数:局部注意力向量的维度,全局注意力向量的维度,批量大小,全联接网络的层数,各层神经元个数,注意力头部个数,数据集迭代次数,dropout比率;
[0023]
步骤4.2:计算各个评论之间的局部注意力分数,进行加权求和,得到单个用户下所有评论进行局部注意力计算后的矩阵表示,物品同理;
[0024]
步骤4.3:计算各个评论的全局注意力分数,进行加权求和,得到单个用户的向量表示,物品同理,并且将两者相加,得到一个此用户-物品对的一个最终表示向量;
[0025]
步骤4.4:将上一步骤产生的最终表示向量输入到因子分解机中进行评分预测;
[0026]
步骤4.5:依照mse进行整体损失计算,使用adam优化器对模型的参数进行优化,在模型收敛或者达到最大数据集迭代次数后结束训练。
[0027]
进一步的,所述步骤5具体为:
[0028]
步骤5.1:根据训练后的结果对模型进行参数调整,寻找到一组使模型性能最优的超参数;
[0029]
步骤5.2:在测试集上使用mse指标对模型性能进行评估,得到最终结果。
附图说明
[0030]
图1是本发明的方法流程图;
[0031]
图2是整体预测方法的模型架构图;
[0032]
图3是在kindle store数据集上与其他算法的对比图;
[0033]
图4是在digital music数据集上与其他算法的对比图;
[0034]
图5是在toys and games数据集上与其他算法的对比图;
[0035]
图6是在movies and tv数据集上与其他算法的对比图。
具体实施方式
[0036]
下面结合附图对本发明作进一步说明。
[0037]
如图1所示,本发明的基于双重注意力机制的的推荐算法,具体步骤如下:
[0038]
步骤1:获取用户和物品的评论文本、评分信息;
[0039]
步骤2:对上一步骤获取到的数据进行预处理,使其满足网络训练的需要,包括缺失
[0040]
值填充、异常值剔除以及构建一个用户(物品)-评论的哈希表;
[0041]
步骤3:将评论文本信息输入到句向量工具中,得到评论的向量化形式;将评分信息输入到已训练好的自编码器中,得到评分的向量化表示;划分训练集、验证集、测试集;
[0042]
步骤4:初始化神经网络的各种超参数,将预处理后的训练集数据输入到网络中进行训练直至收敛;
[0043]
对于一个用户-物品对(u,p),用户u对物品p的评分为r
up
;评论集合cu={v
u1
,v
u2
,...,v
um
}含有用户u的所有评论;评论集合c
p
={v
p1
,v
p2
,...,v
pm
}含有物品p的所有评论,以下只讨论提取用户的特征,物品特征同理。
[0044]
在局部注意力网络中,对于每一个向量需要乘上三个名称为wq,wk,wv的变换矩阵,得到qi,ki,vi后再进行点乘运算计算得到局部注意力分数
[0045][0046]
在此之后对所有的局部注意力分数使用softmax算子进行归一化,得到其他所有向量对该向量的局部注意力权重
[0047][0048]
使用该局部注意力权重对其他所有评论进行加权求和,可以得到一个融合了其他所有评论信息的向量表达v’u1

[0049][0050]
对cu中所有评论都做此操作,最后可以得到一个新的矩阵表达c’u
={v’u1
,v’u2
,....,v’um
},其中每一个v’ui
都融合了其他所有评论的信息。
[0051]
将c’u
中的每一个v’ui
输入到一个全连接网络中计算它的全局注意力权重
[0052][0053]
进行加权求和,得到用户的向量表示u
[0054][0055]
同理得到用户的向量表示p,将两个向量相加得到最终的向量表示o
[0056]
o=p u
[0057]
再将o输入到一个全连接的网络中得到最终的预测评分r:
[0058]
r=woo bo[0059]
步骤5:在预处理后的验证集数据上调整网络的各种超参数;然后在预处理后的测试集上进行预测,评估模型的性能表现。
[0060]
本发明使用rmse作为损失函数,同时也作为对模型性能评估的指标,计算公式如下:
[0061][0062]
模型的最终表现如表1所示,由此可见本发明在预测用户对物品的评分上实现了较好的精度:
[0063]
表1
[0064][0065][0066]
本发明基于双重注意力机制的文本推荐系统,大大提高了预测用户对某个物品的评分的精度。
[0067]
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0068]
本发明基于双重注意力机制的文本推荐系统,大大提高了预测用户对某个物品的评分的精度。
再多了解一些

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

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

相关文献