当前位置: 首页 > 专利查询>武汉大学专利>正文

一种评论驱动的深度序列推荐方法技术

技术编号:22308857 阅读:57 留言:0更新日期:2019-10-16 08:56
本发明专利技术公开了一种评论驱动的深度序列推荐方法,包括以下步骤:对用户评论文本建立词汇表,每个单词赋予随机初始化的词向量;为每篇文档构建文档词向量表达矩阵;得到方面感知的文档表达张量和多个特征图;计算用户的长期偏好向量和商品的向量表示;计算联合层面和个体层面的用户短期偏好向量;对两个层面进行加权相加得到最终的用户短期偏好向量;将用户短期偏好向量乘以折减系数和用户长期偏好向量相加,得到用户的向量表示,进而计算用户对商品的偏好分数;训练得到RNS模型;将训练的RNS模型用于线上的序列推荐情景。本发明专利技术很好地解决了评论驱动的序列推荐问题,具有训练较快、测试时间较短的优点,说明本发明专利技术具有广泛的实际意义和商业价值。

A review driven deep sequence recommendation method

【技术实现步骤摘要】
一种评论驱动的深度序列推荐方法
本专利技术涉及计算机
,尤其涉及一种评论驱动的深度序列推荐方法。
技术介绍
随着互联网的快速兴起,我们逐步进入大数据时代。大数据时代的信息繁杂,几乎每个人每天面对的信息都是过载的,这就是智能推荐系统的用武之地,它已经在诸如新闻浏览软件,短视频平台,问答社区发挥了巨大作用,精准推荐帮助用户缓解信息爆炸带来的忧虑。传统的推荐系统技术,例如以矩阵分解为代表的协同过滤框架,都是在一个静态思维下考虑用户的兴趣偏好,即每个用户对应一个不变的向量,然而这是不符合实际情况的,现实中用户的兴趣在不断地发生着变化,推荐算法应该能够对这些变化进行建模,才能够完成更精准的推荐。这就是序列化推荐的问题,序列化推荐是一种动态推荐,它考虑用户最近购买过的L个商品进行短期偏好建模,并同时能够综合用户的长期偏好,能够更精确地刻画用户兴趣所在。目前现有技术中,还没有人提出用户评论文本驱动的序列化动态精准推荐的方法。
技术实现思路
本专利技术要解决的技术问题在于针对现有技术中的缺陷,提供一种评论驱动的深度序列推荐方法。本专利技术解决其技术问题所采用的技术方案是:本专利技术提供一种评论驱动的深度序列推荐方法,该方法包括以下步骤:步骤1、获取用户/商品文档,根据其中所有用户购买的商品和评论文本信息,对所有用户评论文本建立一个词汇表,词汇表中的每个单词赋予一个随机初始化的词向量;步骤2、根据每个单词的词向量,为每篇文档构建文档词向量表达矩阵;步骤3、利用方面特定的词向量转换矩阵对文档表达矩阵进行矩阵相乘,得到方面感知的文档表达张量;步骤4、对文档表达张量,将方面维度看做类似图像的通道,在文档长度维度进行1.5维的卷积操作,得到多个特征图;步骤5、通过一个最大池化层,对特征图提取特征,得到用户的长期偏好向量和商品的向量表示;步骤6、对于目标商品和用户最近购买的L个商品,通过第一个注意力网络连接步骤5得到的这L+1个商品的表达向量,得到购买过的L个商品的权重,对这L个商品向量进行加权相加得到联合层面的用户短期偏好向量;步骤7、通过一个argmax层,得到L个商品的权重中的权重最大的商品向量,作为个体层面的用户短期偏好向量;步骤8、通过第二个注意力网络,以目标商品向量为引导,计算个体层面和联合层面的偏好向量的权重,对两个层面进行加权相加得到最终的用户短期偏好向量;步骤9、将最终的用户短期偏好向量乘以折减系数后与用户长期偏好向量相加,得到用户的向量表示;步骤10、将用户向量表示和商品向量表示进行交互,得到用户对商品的偏好分数,通过偏好分数判断是否将目标商品推荐给用户;步骤11、通过以上步骤训练得到RNS模型;步骤12、将训练好的RNS模型用于线上的序列推荐情景。进一步地,本专利技术的步骤1的具体方法为:步骤1.1、对所有用户评论文本进行聚合,经过文本预处理后,得到所有评论文本的词汇表;步骤1.2、将词汇表中的每个单词w映射为向量ew∈Rd,其中d表示词向量的空间大小,向量ew是随机初始化的,随模型训练。进一步地,本专利技术的步骤2的具体方法为:步骤2.1、给定用户u,将其所有对购买过的商品评论聚合,构成评论文档Du;所有商品的评论文档处理方式一致;步骤2.2、将评论文档Du中的每个单词,根据词向量映射到词向量空间,得到文档词向量矩阵Mu∈Rl×d,其中1表示文档长度,d表示词向量的空间大小。进一步地,本专利技术的步骤3的具体方法为:步骤3.1、引入方面a特定的词向量转换矩阵Ta∈Rd×d,将原始词向量转化到方面a特定的语义向量空间;步骤3.2、对于用户评论文档Du,将它的词向量矩阵与方面a特定的词向量转换矩阵相乘,得到该评论文档对应的方面a特定的语义向量空间的词向量矩阵,公式如下:其中,为该评论文档对应的方面a的语义向量空间的词向量矩阵;步骤3.3、设定共有K个方面,对于每个方面,用户评论文档都通过步骤3.2得到对应的方面特定的语义向量空间的词向量矩阵,这样的矩阵共有K个,将这K个矩阵拼接,即得到用户评论文档表达张量这样的张量是方面感知的。进一步地,本专利技术的步骤4的具体方法为:对用户评论文档表达张量将方面维度看做类似图像的通道,在文档长度维度进行1.5维卷积;设定卷积核共有n个,第k个卷积核的形状为Fk∈Rh×d×K,其中,1≤k≤n,h为卷积核的高度;第k个卷积核提取特征的公式为:其中,1≤i≤1-h+1为卷积核的滑动窗口起始点,⊙代表卷积操作,ReLU代表激活函数,zk即是第k个卷积核得到的特征图。进一步地,本专利技术的步骤5的具体方法为:步骤5.1:n个卷积核就可以得到n个特征图,为了得到最显著的特征,将得到的n个特征图通过一个最大池化层,再将输出值拼接起来,公式如下:得到的向量即是用户长期偏好向量表示,同理,每个商品i也可以通过如上的步骤1-5对其评论文档进行方面级的卷积建模,得到其向量表示:qi。进一步地,本专利技术的步骤6的具体方法为:步骤6.1、给定目标商品j,其向量表示为qj,用户u最近购买的L个商品,其向量表示分别为,q1,q2,.......qL,以向量qj为引导,通过softmax函数计算L个商品的权重如下公式:其中,qi表示每个商品i对其评论文档进行方面级的卷积建模得到的向量表示;步骤6.2、利用得到的权重,对最近购买的L个商品向量进行加权相加,如下公式:其中,得到的即为联合层面的用户短期偏好向量。进一步地,本专利技术的步骤7的具体方法为:步骤7.1、为了刻画个体层面上用户购买记录对其未来购买行为的影响,利用一个argmax函数得到在步骤6.1中计算的权重最大的商品向量,公式如下:其中,得到的即为个体层面的用户短期偏好向量。进一步地,本专利技术的步骤8的具体方法为:步骤8.1、为了进一步判断联合层面和个体层面对于用户未来购买行为的影响,同样利用一个注意力层,即softmax函数,计算两个层面的权重这里同样以目标商品向量qj为引导,公式如下:步骤8.2、利用得到的权重,对两个层面的用户短期偏好向量进行加权相加,如下公式:其中,得到的即为最终的用户短期偏好向量。进一步地,本专利技术的步骤9的具体方法为:步骤9.1:通过步骤5和步骤8分别得到用户长期偏好和短期偏好向量,为了综合表示用户的兴趣偏好,对短期偏好向量偏好乘以一个折减系数α,与长期偏好向量相加,公式如下:得到的pu即为用户最终的综合偏好向量。进一步地,本专利技术的步骤10的具体方法为:给定用户u和目标商品j,利用用户综合偏好向量和目标商品向量计算得到偏好分数为:其中,σ()表示sigmoid激活函数,最终得到的偏好分数suj是一个0到1之间的值,能表示概率;pu即为用户最终的综合偏好向量,qj为目标商品向量。进一步地,本专利技术的步骤11的具体方法为:训练时采用交叉熵作为损失函数,正则项为L2正则,具体的损失函数形式如下:其中,Cu表示用户u的所有训练样例,N(j)表示采样的负样本,λ表示正则项的权重系数,θ表示所有模型参数,模型在训练时运用反向传播以及随机梯度下降算法进行优化,模型训练若干轮数后训练完成。本专利技术产生的有益效果是:本专利技术的评论驱动的深度序列推荐方法,通过利用了隐藏在用户评论文本里的语义信息,通过方面级卷积神经网络、层次注意力机制等前沿技术有效地解决了序列化动态推荐任务本文档来自技高网...

【技术保护点】
1.一种评论驱动的深度序列推荐方法,其特征在于,该方法包括以下步骤:步骤1、获取用户/商品文档,根据其中所有用户购买的商品和评论文本信息,对所有用户评论文本建立一个词汇表,词汇表中的每个单词赋予一个随机初始化的词向量;步骤2、根据每个单词的词向量,为每篇文档构建文档词向量表达矩阵;步骤3、利用方面特定的词向量转换矩阵对文档表达矩阵进行矩阵相乘,得到方面感知的文档表达张量;步骤4、对文档表达张量,将方面维度看做类似图像的通道,在文档长度维度进行1.5维的卷积操作,得到多个特征图;步骤5、通过一个最大池化层,对特征图提取特征,得到用户的长期偏好向量和商品的向量表示;步骤6、对于目标商品和用户最近购买的L个商品,通过第一个注意力网络连接步骤5得到的这L+1个商品的表达向量,得到购买过的L个商品的权重,对这L个商品向量进行加权相加得到联合层面的用户短期偏好向量;步骤7、通过一个argmax层,得到L个商品的权重中的权重最大的商品向量,作为个体层面的用户短期偏好向量;步骤8、通过第二个注意力网络,以目标商品向量为引导,计算个体层面和联合层面的偏好向量的权重,对两个层面进行加权相加得到最终的用户短期偏好向量;步骤9、将最终的用户短期偏好向量乘以折减系数后与用户长期偏好向量相加,得到用户的向量表示;步骤10、将用户向量表示和商品向量表示进行交互,得到用户对商品的偏好分数,通过偏好分数判断是否将目标商品推荐给用户;步骤11、通过以上步骤训练得到RNS模型;步骤12、将训练好的RNS模型用于线上的序列推荐情景。...

【技术特征摘要】
1.一种评论驱动的深度序列推荐方法,其特征在于,该方法包括以下步骤:步骤1、获取用户/商品文档,根据其中所有用户购买的商品和评论文本信息,对所有用户评论文本建立一个词汇表,词汇表中的每个单词赋予一个随机初始化的词向量;步骤2、根据每个单词的词向量,为每篇文档构建文档词向量表达矩阵;步骤3、利用方面特定的词向量转换矩阵对文档表达矩阵进行矩阵相乘,得到方面感知的文档表达张量;步骤4、对文档表达张量,将方面维度看做类似图像的通道,在文档长度维度进行1.5维的卷积操作,得到多个特征图;步骤5、通过一个最大池化层,对特征图提取特征,得到用户的长期偏好向量和商品的向量表示;步骤6、对于目标商品和用户最近购买的L个商品,通过第一个注意力网络连接步骤5得到的这L+1个商品的表达向量,得到购买过的L个商品的权重,对这L个商品向量进行加权相加得到联合层面的用户短期偏好向量;步骤7、通过一个argmax层,得到L个商品的权重中的权重最大的商品向量,作为个体层面的用户短期偏好向量;步骤8、通过第二个注意力网络,以目标商品向量为引导,计算个体层面和联合层面的偏好向量的权重,对两个层面进行加权相加得到最终的用户短期偏好向量;步骤9、将最终的用户短期偏好向量乘以折减系数后与用户长期偏好向量相加,得到用户的向量表示;步骤10、将用户向量表示和商品向量表示进行交互,得到用户对商品的偏好分数,通过偏好分数判断是否将目标商品推荐给用户;步骤11、通过以上步骤训练得到RNS模型;步骤12、将训练好的RNS模型用于线上的序列推荐情景。2.根据权利要求1所述的评论驱动的深度序列推荐方法,其特征在于,步骤1的具体方法为:步骤1.1、对所有用户评论文本进行聚合,经过文本预处理后,得到所有评论文本的词汇表;步骤1.2、将词汇表中的每个单词w映射为向量ew∈Rd,其中d表示词向量的空间大小,向量ew是随机初始化的,随模型训练。3.根据权利要求1所述的评论驱动的深度序列推荐方法,其特征在于,步骤2的具体方法为:步骤2.1、给定用户u,将其所有对购买过的商品评论聚合,构成评论文档Du;所有商品的评论文档处理方式一致;步骤2.2、将评论文档Du中的每个单词,根据词向量映射到词向量空间,得到文档词向量矩阵Mu∈Rl×d,其中l表示文档长度,d表示词向量的空间大小。4.根据权利要求1所述的评论驱动的深度序列推荐方法,其特征在于,步骤3的具体方法为:步骤3.1、引入方面a特定的词向量转换矩阵Ta∈Rd×d,将原始词向量转化到方面a特定的语义向量空间;步骤3.2、对于用户评论文档Du,将它的词向量矩阵与方面a特定的词向量转换矩阵相乘,得到该评论文档对应的方面a特定的语义向量空间的词向量矩阵,公式如下:其中,为该评论文档对应的方面a的语义向量空间的词向量矩阵;步骤3.3、设定共有K个方面,对于每个方面,用户评论文档都通过步骤3.2得到对应的方面特定的语义向量空间的词向量矩阵,这样的矩阵共有K个,将这K个矩阵拼接,即得到用户评论文档表达张量这样的张量是方面感知的。5.根据权利要求1所述的评论驱动的深度序列推荐方法,其特征在于,步骤4的具体方法为:对用户评论文档表达张量将方面维...

【专利技术属性】
技术研发人员:李晨亮牛锡钏陈震中
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北,42

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

1