一种基于评论信息的推荐方法技术

技术编号:23485007 阅读:25 留言:0更新日期:2020-03-10 12:37
本发明专利技术提供了一种基于评论信息的推荐方法,为了模拟真实场景,本发明专利技术的验证集和测试集数据不包括待预测用户对物品的评价,而训练集包括了待预测用户对物品的评价,本发明专利技术利用训练集中待预测用户对物品的评价指导深度学习模型学习用户已经做出的所有评论信息在物品被做出的所有评论信息上的注意力分布以及物品被做出的所有评论信息在用户已经做出的所有评论信息上的注意力分布,从而帮助模型更好地从用户评论和物品评论中提取出最有价值的信息,帮助使模型在验证集和测试集上更好地预测用户对物品的评分,提高了用户对物品评分的预测准确度,修正了现有方法存在的未考虑真实应用场景的缺点,并且其性能超越了现有的诸多方法。

A recommendation method based on comment information

【技术实现步骤摘要】
一种基于评论信息的推荐方法
本专利技术属于计算机
,尤其涉及一种评论信息的推荐方法。
技术介绍
随着电子信息产业的发展,人们的生活已经越来越离不开电子设备和互联网,在浏览各种网站的同时,人们的信息也在被各个网站所收集。每当你打开一个app或者网页时,在其后台,便有一个巨大的算法专门为你而运行,它会根据之前收集的所有关于你的信息为你推荐你最可能感兴趣的商品,音乐,电影,书籍等等(为了方便,后文统一称之为物品)。这种为用户推荐可能该兴趣物品的算法统称为推荐算法。传统推荐系统领域常使用的信息包括用户对物品的评分信息,用户自身的身份信息,用户访问该网站或app时使用的设备信息等。这些数据中除了评分信息可以直接反应用户喜好外,其他信息对于用户喜好的贡献太小,而评分信息又太单一,只能反应用户对物品的整体喜好,不能反应用户具体喜欢哪些方面,不喜欢哪些方面。比如说,用户A1,A2对电影《唐人街探案》的评分都是5(满分5),但他们的偏好不同,A1给5分可能因为他喜欢看喜剧,A2给5分可能因为他喜欢王宝强,二人的评分虽然一样,但侧重点完全不同,单单依靠评分信息无法细致地判断用户的偏好,也就不利于为用户推荐物品。各个服务厂商认识到这个问题后,纷纷建立了评论机制,但这些评论多数依靠人工阅读然后指导商家改进,效率很低。为了能让推荐系统获得用户的评论信息,自然语言处理技术的使用成为了必然。自然语言处理技术按照应用的算法类型可以分为两大类,一类是统计自然语言处理,另一类就是上文提及的基于深度学习的自然语言处理。相比而言,统计自然语言处理方法相对传统,现在的自然语言处理算法多是依靠深度学习,也有些算法依靠深度学习和一些统计方法(如条件随机场)的结合。造成自然语言处理领域由统计方法向深度学习方法过度的重要因素是词嵌入技术的专利技术,可以认为词嵌入技术是将深度学习引入自然语言处理领域的最重要环节。当我们希望计算机理解人类语言时,第一步要解决的问题就是如何把人类的语言表示成计算机认识的符号,这个问题的解决办法就是词嵌入。具体做法是,我们先将句子拆分成一系列的token(token可以是词,字,甚至是词缀,符号等),然后利用word2vec,Glove等算法根据所有语料计算出每个token的向量表示,这个向量表示就是这个token的词嵌入,词嵌入可以反应各个token之间的相对意义。利用自然语言处理技术结合深度学习,我们可以从用户评论中提取特征从而获得更加丰富的用户偏好信息以及物品的特性信息,这些信息可以帮助推荐系统更细致地理解用户的爱好,从而为用户更精确地推荐其可能感兴趣的物品。本专利技术提出的基于用户评论的推荐算法就是为了利用评论信息提高推荐系统的精准度。
技术实现思路
针对现有技术中的上述不足,本专利技术提供的一种基于评论信息的推荐方法解决了如何提高评论信息的推荐精度的问题。为了达到以上目的,本专利技术采用的技术方案为:本方案提供一种基于评论信息的推荐方法,包括如下步骤:S1、获取用户已经做出的所有评论信息user_rev以及物品被做出的所有评论信息item_rev;S2、将步骤S1获取的评论信息划分包括U2I的训练集,其中,U2I为该用户对该物品做出的评论信息;S3、利用特征提取模块FEM对所述user_rev、item_rev以及U2I进行编码,并利用concat拼接模块对编码后的信息进行拼接,分别得到user_rev_enc、item_rev_enc和U2I_enc,其中,user_rev_enc为用户曾经做出的所有评论被编码后的张量信息,item_rev_enc为物品被做出所有评论被编码后的张量信息,U2I_enc为用户对物品做出的评论被编码后形成的张量信息;S4、根据所述U2I_enc、user_rev_enc以及item_rev_enc训练深度学习模型,并计算得到深度学习模型的损失函数;S5、根据所述损失函数,利用梯度下降法更新深度学习模型参数,并利用更新后的深度学习模型输出评论信息,从而完成信息的推荐。本专利技术的有益效果是:本专利技术提出的基于用户评论信息的推荐方法修正了现有方法存在的未考虑真实应用场景的缺点。真实的应用场景中,我们希望提前预测用户对未消费过的物品的评分,既然没有消费过,故该用户也没有对该物品做出过评价,因此,为了模拟真实场景,本方法的验证集和测试集数据不包括待预测用户对物品的评价,而训练集包括了待预测用户对物品的评价。本专利技术利用训练集中待预测用户对物品的评价U2I指导模型学习user_rev在item_rev上的注意力分布以及item_rev在user_rev上的注意力分布,帮助深度学习模型在验证集和测试集上更好地预测用户对物品的评分。再进一步地,所述特征提取模块FEM包括依次连接的词嵌入层EmbeddIng、卷积神经网络层CNN以及最大池化层MaxPooling,其中:所述卷积神经网络层CNN中每个卷积核的卷积操作z的表达式如下:z=V*W+b(1)其中,*为卷积,V为输入的评论信息,W为卷积核中窗口状的参数块,b为卷积核中的偏差;所述卷积神经网络层CNN中输出数据的维度表达式如下:其中,q为输出的维度,p为评论长度,t为卷积的窗口大小,且t=1,3,5,padding为向评论信息两端填补的0的个数,S为卷积核在输入的评论信息上平移的步长。上述进一步方案的有益效果是:本专利技术中不同窗口尺寸的卷积神经网络可以提取不同跨度的tokens之间的交互特征,而最大池化层可以从上述特征中筛选出最重要的特征。再进一步地,所述步骤S4包括如下步骤:S401、将所述U2I_enc和user_rev_enc输入至第一注意力机制模型attention,分别得到加权的用户编码Weighteduser以及U2I_enc对user_rev_enc的注意力分布attn_user;将所述user_rev_enc和item_rev_enc输入至协同注意力机制模型co_attention,分别得到加权的用户编码Weighteduser、加权的物品编码Weighteditem、user_rev_enc对item_rev_enc的注意力分布attn_item以及item_rev_enc对user_rev_enc的注意力分布attn_user;将所述U2I_enc和item_rev_enc输入至第二注意力机制模型attention,分别得到加权的物品编码Weighteditem以及和U2I_enc对item_rev_enc的注意力分布attn_item;S402、利用FM算法对所述第一注意力机制模型attention输出的加权的用户编码Weighteduser进行特征组合得到预测结果,并根据所述预测结果以及训练集中包含的真实标签计算得到第一MSE损失函数;S403、利用FM算法对所述第二注意力机制模型attention输出的Weighteditem进行特征组合得到预测结果,并根据所述预测结果以及训练集中包含的真本文档来自技高网
...

【技术保护点】
1.一种基于评论信息的推荐方法,其特征在于,包括如下步骤:/nS1、获取用户已经做出的所有评论信息user_rev以及物品被做出的所有评论信息item_rev;/nS2、将步骤S1获取的评论信息划分包括U2I的训练集,其中,U2I为该用户对该物品做出的评论信息;/nS3、利用特征提取模块FEM对所述user_rev、item_rev以及U2I进行编码,并利用concat拼接模块对编码后的信息进行拼接,分别得到user_rev_enc、item_rev_enc和U2I_enc,其中,user_rev_enc为用户曾经做出的所有评论被编码后的张量信息,item_rev_enc为物品被做出所有评论被编码后的张量信息,U2I_enc为用户对物品做出的评论被编码后形成的张量信息;/nS4、根据所述U2I_enc、user_rev_enc以及item_rev_enc训练深度学习模型,并计算得到深度学习模型的损失函数;/nS5、根据所述损失函数,利用梯度下降法更新深度学习模型参数,并利用更新后的深度学习模型输出评论信息,从而完成信息的推荐。/n

【技术特征摘要】
1.一种基于评论信息的推荐方法,其特征在于,包括如下步骤:
S1、获取用户已经做出的所有评论信息user_rev以及物品被做出的所有评论信息item_rev;
S2、将步骤S1获取的评论信息划分包括U2I的训练集,其中,U2I为该用户对该物品做出的评论信息;
S3、利用特征提取模块FEM对所述user_rev、item_rev以及U2I进行编码,并利用concat拼接模块对编码后的信息进行拼接,分别得到user_rev_enc、item_rev_enc和U2I_enc,其中,user_rev_enc为用户曾经做出的所有评论被编码后的张量信息,item_rev_enc为物品被做出所有评论被编码后的张量信息,U2I_enc为用户对物品做出的评论被编码后形成的张量信息;
S4、根据所述U2I_enc、user_rev_enc以及item_rev_enc训练深度学习模型,并计算得到深度学习模型的损失函数;
S5、根据所述损失函数,利用梯度下降法更新深度学习模型参数,并利用更新后的深度学习模型输出评论信息,从而完成信息的推荐。


2.根据权利要求1所述的基于评论信息的推荐方法,其特征在于,所述特征提取模块FEM包括依次连接的词嵌入层EmbeddIng、卷积神经网络层CNN以及最大池化层MaxPooling,其中:
所述卷积神经网络层CNN中每个卷积核的卷积操作z的表达式如下:
z=V*W+b(1)
其中,*为卷积,V为输入的评论信息,W为卷积核中窗口状的参数块,b为卷积核中的偏差;
所述卷积神经网络层CNN中输出数据的维度表达式如下:



其中,q为输出的维度,p为评论长度,t为卷积的窗口大小,且t=1,3,5,padding为向评论信息两端填补的0的个数,S为卷积核在输入的评论信息上平移的步长。


3.根据权利要求1所述的基于评论信息的推荐方法,其特征在于,所述步骤S4包括如下步骤:
S401、将所述U2I_enc和user_rev_enc输入至第一注意力机制模型attention,分别得到加权的用户编码Weighteduser以及U2I_enc对user_rev_enc的注意力分布attn_user;
将所述user_rev_enc和item_rev_enc输入至协同注意力机制模型co_attention,分别得到加权的用户编码Weighteduser、加权的物品编码Weighteditem、user_rev_enc对item_rev_enc的注意力分布attn_item以及item_rev_enc对user_rev_enc的注意力分布attn_user;
将所述U2I_enc和item_rev_enc输入至第二注意力机制模型attention,分别得到加权的物品编码Weighteditem以及和U2I_enc对item_rev_enc的注意力分布attn_item;
S402、利用FM算法对所述第一注意力机制模型attention输出的加权的用户编码Weighteduser进行特征组合得到预测结果,并根据所述预测结果以及训练集中包含的真实标签计算得到第一MSE损失函数;
S403、利用FM算法对所述第二注意力机制模型attention输出的Weighteditem进行特征组合得到预测结果,并根据所述预测结果以及训练集中包含的真实标签计算得到第二MSE损失函数;
S404、利用concat拼接模块拼接所述协同注意力机制模型co_attention输出的加权的用户编码Weighteduser和加权的物品编码Weighteditem,并利用FM算法对拼接的数据进行特征组合得到预测结果;
S405、根据步骤S404中所述的预测结果以及训练集中包含的真实标签计算得到第三MSE损失函数;
S406、根据所述协同注意力机制模型co_attention输出的注意力分布attn_user以及第一注意力机制模型attention输出的注意力分布attn_user计算得到第一KL损失函数;
S407、根据所述协同注意力机制模型co_attention输出的注意力分布attn_item以及第二注意力机制模型attention输出的注意力分布attn_item计算得到第二KL损失函数;
S408、根据所述第一MSE损失函数、第二MSE损失函数、第三MSE损失函数、第一KL损失函数以及第二KL损失函数计算得到训练深度学习模型的损失函数。


4.根据权利要求3所述的基于评论信息的推荐方法,其特征在于,所述步骤S401包括如下步骤:
S4011、将所述U2I_enc和user_rev_enc分别输入至第一注意力机制模型attention,将所述user_rev_enc和item_rev_enc分别输入至协同注意力机制模型co_attention,以及将所述U2I_enc和item_rev_enc分别输入至第二注意力机制模型attention;
S4012、根据步骤S4011中输入的数据利用矩阵乘法分别计算得到第一注意力机制模型attention的相似度矩阵attn_u、第二注意力机制模型attention的相似度矩阵attn...

【专利技术属性】
技术研发人员:孙罡李煜虞红芳孙健
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

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

1