融合评分矩阵和评论文本的深度学习推荐模型

2021-08-27 06:38杜永萍
计算机技术与发展 2021年8期
关键词:矩阵评分特征

王 艳,彭 治,杜永萍

(北京工业大学 信息学部,北京 100124)

0 引 言

随着网络的飞速发展,给人们的生活带来了巨大的影响,在提供便利的同时也产生了很多问题。由于数据量成指数增长,人们想要从海量的数据中获取有用信息变得越来越困难[1],因此推荐系统应运而生。推荐系统在很多领域都得到了广泛的应用,例如:医疗健康[2]、交通出行[3]、学习教育[4]、电子商务[5]等。近年来,推荐系统在解决信息过载方面被证明是有效的,可以帮助人们快速地在海量数据中找到自己需要的信息;因此得到了学术界和工业界的广泛关注。然而如何更高效地提高推荐系统的准确性是现在推荐领域的研究热点。

传统的推荐算法主要有协同过滤[6-7]和基于内容的推荐算法[8]。这两种方法都是基于用户的历史行为来进行推荐的。基于内容的推荐算法[8]利用用户对项目的评分信息来确定这些物品之间的共同特征,若是新物品也有这个特征,就会将该物品推荐给用户;协同过滤[6]是利用历史数据找到与该用户喜好相同的用户,然后将找到的这些相似用户过去喜欢的物品推荐给该用户。或者是找到和某一物品具有相同特征的物品,若用户喜欢这一物品则将其他具有相同特征的物品推荐给用户。

基于近邻的推荐算法广泛用于协同过滤中。该算法利用评分信息计算用户或物品的相似度,根据和某一用户相似的用户对目标商品的评分来预测该用户对目标商品的评分,或者根据用户对和目标商品相似的物品的评分来预测该用户对目标商品的评分。基于近邻的方法易于实现,并且对于预测结果有一个直观的解释。

在协同过滤中,矩阵分解是最成功应用最广泛的一种方法。Koren等人[9]最早提出了基于矩阵分解(matrix factorization,MF)的推荐算法,该算法在评分矩阵的基础上,加入了隐向量,并将评分矩阵分解为用户矩阵和项目矩阵乘积的形式,增强了模型对稀疏矩阵的处理能力,从而取得了很好的推荐效果。Salakhutdinov等人[10]提出了概率矩阵因子分解(probabilistic matrix factorization,PMF)模型,该模型通过添加用户、项目隐式特征的高斯概率分布来改进算法。实验研究表明,基于矩阵分解的算法在评分预测方面要好于基于近邻的推荐算法。

虽然基于矩阵分解的推荐算法在推荐领域取得了不错的推荐效果,但是数据稀疏性对推荐系统性能的影响仍是当下急需解决的问题。一些研究表明[11]引入评论文本信息能有效缓解数据稀疏性对推荐效果的影响,在一定程度上提高算法推荐的精确度。在推荐系统中,用户除了可以直接进行评分外还可以写评论信息,一般评论信息中会包含用户给出这个评分的理由,相较于评分而言,评论信息包含的内容更加丰富。一方面可以得到用户给出这个评分的原因,另一方面也可以体现用户的偏好信息或商品的一些特征。

最初使用评论文本进行建模的推荐算法大都是基于主题模型,Devid等人[12]提出了LDA(latent Dirichlet allocation)模型,该模型用于推测文本中的主题分布,然后利用推测的主题分布获取用户、项目的相关信息从而提高推荐的准确度。LDA是主题模型研究领域最具有影响力的模型。Ganu等人[13]提出从评论文本主题中推导出基于文本的评分方法。然后,使用聚类技术将文本中的主题和情感相似的用户分为一组。McAuley等人[14]提出将评论文本和评分数据相结合的HFT模型,将用户评论集或商品评论集作为输入,将评论文本主题和评分数据中的隐因子结合。HFT是将评论文本和评分数据相结合的最经典的模型。基于主题的模型在推荐效果上取得了很好的结果,但是该方法不能很好地保留文本信息中的词序信息,从而忽略了上下文之间的逻辑对应关系[15]。

近年来,深度学习在很多领域被广泛应用,特别是在自然语言处理[16]方面更取得了突破性的进展。利用自然语言在文本内容挖掘方面的优势,将其运用到推荐系统中对评论文本进行处理,这也为推荐系统提供了新的研究方向[1];目前在推荐系统中使用的深度学习技术主要有CNN[17]、RNN[18]、注意力机制[19-20]、RBM[21]、自编码器[22]等。

深度学习中的CNN、RNN网络在处理文本信息时能够很好地保留词序信息,近年来逐渐取代了主题模型。Kim等人[23]提出的ConvMF(convolution matrix factorization)模型将卷积神经网络和概率矩阵分解相结合,利用卷积神经网络处理评论文本信息,从而有效地保留词序信息。但是该模型仅仅利用了项目的评论文本信息,而忽略了用户的评论信息。随后Zheng等人[24]提出了DeepCoNN(deep cooperative neural network)模型,该模型利用两个并行的CNN来分别处理项目的评论信息和用户的评论信息,在最后一层利用因子分解机来进行评分预测。Chen等人[25]提出的NARRE(neural attentional regression model with review level explanations)模型,将评分矩阵和评论文本作为输入,同时融合评分数据中的隐向量,极大地提高了推荐系统的预测性能。

上述模型中在与评论文本特征融合时仅用到了评分的潜在特征,没有对评分数据进行深度建模,学习评分数据的深度特征。因此文中提出了融合评分矩阵和评论文本的深度学习推荐模型,利用深度学习技术提取评分中的深度特征,并和评论信息中提取的用户偏好、项目特征进行融合。通过更好地对用户项目特征进行表示,从而提升推荐性能。用MSE作为评价指标,在亚马逊6个不同领域的公开数据集上进行对比实验,结果表明所提出的算法优于目前多个优秀的公开模型。

1 模型结构

文中提出了融合评分矩阵和评论文本的深度学习推荐模型RMRT(rating matrix and review text based recommendation model),模型结构如图1所示。该模型包括两个部分,左侧部分对用户进行建模,提取用户偏好信息;右侧部分对项目进行建模,提取项目特征。将提取的用户特征和项目特征融合后送入预测层,得到预测评分。

图1 融合评分矩阵和评论文本的深度学习推荐模型

在用户、项目建模过程中又分别包含了两个部分:(1)从评论文本中提取特征,输出用户、项目的深层特征表示为Tu、Ti;(2)从评分矩阵中提取用户项目特征,输出为Xu、Xi;将得到的用户特征和项目特征分别送入交互层得到用户、项目的最终特征表示,最终在预测层得出用户对项目的预测评分。在对用户、项目建模时所用网络结构相同,只有输入不同。因此文中重点介绍项目建模部分,用户建模过程与之相似。

1.1 文本特征提取模块

用户对项目的评论信息能够反映出项目的特征信息。给定某项目i的评论集{Ri1,Ri2,…,Rik},k表示模型允许输入的最大评论数,经过嵌入层后,每条评论信息被映射为d维的向量,得到固定长度的词嵌入矩阵。嵌入层之后为卷积神经网络层,该层以嵌入层得到的词向量矩阵作为输入,得到特征向量。设卷积层由m个神经元组成,使用大小为s的滑动窗口上的卷积滤波器来提取上下文特征,具体如公式(1):

kj=Relu(Mi*fj+bj)

(1)

式中,*表示卷积操作,bj表示偏差。

进入卷积模块中的最大池化层,max-pooling能够捕获重要的具有高价值的特征,并且将卷积层的输出压缩成一个固定大小的向量,即:

cj=max(k1,k2,…,kd-s+1)

(2)

卷积层最终输出的特征向量可表示为:ci1,ci2,…,cik。

对同一项目来说,不同用户会有不同的评论信息,有些用户的评论准确描述了项目的相关特性,而有些用户写的评论可能和项目没有太大的关联性。不同评论信息所作的贡献是不同的。为了选择更能代表项目特征的评论信息,引入了注意力机制[20],对相应的评论文本使用一个注意力层,得到注意力得分为:

gik=Relu(wi×cik+b)

(3)

式中,Relu表示激活函数,wi,b分别为网络自动学习的权重和偏移量。

使用softmax函数对注意力得分gik进行归一化处理,得到最终的评论权重aik如下式所示:

(4)

利用评论权重来突出当前评论集中第n条评论对项目i的特征的影响,将评论的注意力分数aik一一作用在对应的卷积层输出的特征向量上,得到项目i特征向量的加权和:

(5)

然后将其送入到全连接层,得到项目i基于文本信息的最终特征表示:

Ti=WiCi+bi

(6)

式中,Wi,bi分别是全连接层的权重和偏差量。同理对用户建模可以得到用户u基于评论信息的特征表示Tu。

1.2 评分数据处理模块

用户对项目的评分数据是一种显性反馈,可以直接反映出用户对项目的喜爱程度,不同的评分说明用户对项目的喜好程度不同,因此利用神经网络根据评分数据获取用户的偏好和项目的特征表示。

以项目i的评分数据作为输入pi={yi1,yi2,…,yin},其中网络的模型定义为:

(7)

1.3 特征融合

在本层对文本特征提取模块和评分数据处理模块得到的用户特征和项目特征进行交互,通过线性和高阶交互建模来获取项目的最终特征表示:

I=(Ti+Xi)⊕g

(8)

特征向量I中包含了从评论信息和评分数据中获取的项目特征,其中⊕表示拼接,g表示高阶交互建模。此处借鉴了因子分解机中的二阶项来获取高阶特征,首先将因子分解机中的二阶项进行转换:

(9)

其中,⊗表示元素积,在执行sum()之前,就已经包含了二阶交互项的所有信息。因此,只需要求和前的部分,将评论信息中得到的特征和评分数据中得到的特征进行拼接z=Ti⊕Xi,利用下面的网络结构来获取高阶特征:

(10)

g能进一步增强潜在特征的交互,同理可以得到用户的最终特征表示U。

1.4 评分预测

(11)

式中,W表示预测层的权重参数,bu、bi分别表示用户的偏差量、项目的偏差量,bg表示全局偏差量。

2 实验结果与分析

2.1 数据集与实验设置

在实验中,使用了6个不同领域的公开数据集来评估文中提出的模型,这些数据集来自Amazon 5-core,分别为:Toys_and_Games、Office_Product、Musical_ents、Instant_Video、Digital_Music、Kindle_Store,下面简称(TG,OP,MI,IV,DM,KS)。这些数据集中主要包含了以下内容:用户对项目的评分信息(1-5分)、用户对项目的评论信息、用户ID和项目ID。具体统计信息如表1所示。

表1 数据集基本信息

在实验中将数据集划分为训练集、测试集和验证集,所占比重分别为80%,10%,10%。其中,验证集主要是用来调整参数,在测试集上对模型的性能进行评估。

在实验过程中,使用Google新闻上训练的300维的word2vec向量来初始化词嵌入并在训练的过程中进行微调。使用Adam函数优化目标函数,默认初始化学习率设置为0.005,卷积核大小设置为3。为了防止过拟合,在实验中采用了dropout策略,将值设置为0.5。

2.2 评价指标

在实验中,模型的性能评价指标选用了均方误差MSE,该值越小表示模型的性能越好,计算如下:

(13)

2.3 对比模型

为了验证文中提出模型的有效性,选择了基于评分和评论数据相关的推荐模型进行对比,具体如下所示:

· MF[9]:矩阵分解模型,这个模型中只用到了评分数据,是协同过滤中最常使用的方法。

· PMF[10]:概率矩阵分解模型,该模型在推荐建模时用到了高斯分布,来获取用户和项目的隐特征。

· HFT[14]:该模型结合评分数据和评论文本信息,在建模时有两种组合方式,用户评论文本和评分HFT(user),项目评论文本信息和评分HFT(itme)。文献中显示HTF(item)的效果要优于HFT(user),文中在对比时HFT指的是HFT(itme)。

· ConvMF[23]:该模型结合卷积神经网络和概率矩阵分解,利用CNN来处理评论文本信息,保留了文本中的词序,但是仅仅只用到了项目的评论信息。

· DeepCoNN[24]:深度协同神经网络模型,是首个同时利用了用户和项目的评论文本信息的深度学习模型,使用两个并行的卷积神经网络来处理文本数据,并在融合层利用因子分解机进行评分预测,取得了很好的结果。

· NARRE[25]:该模型在建模时用到了评分数据和评论文本,并在DeepCoNN的基础上引入了attention机制,来识别评论的有用性,预测性能有一定的提高。

2.4 实验结果分析

使用亚马逊数据集进行对比实验,在6个不同的数据集上对不同模型的性能进行了比较,实验结果如表2所示。

表2 在Amazon数据集上不同模型的结果对比(MSE)

由上面的对比结果可以看出,基于评分的推荐模型,由于数据稀疏性问题其推荐性能要差于基于评论文本的推荐模型。融合评分矩阵和评论文本的推荐模型性能要优于单独采用评分数据或者评论数据模型的推荐性能。因为评论能够反映用户的偏好,项目的特征,而评分数据仅反映了用户的偏好情况。引入文本信息能够在一定程度上缓解数据稀疏性对性能的影响;一般情况下,基于深度学习的推荐模型在推荐性能上优于常规的推荐模型,因为深度学习可以更好地学习特征表示。从表2结果可以看出RMRT在不同的数据集上均取得了优于其他模型的效果。

2.5 评分处理模块有效性验证

为了验证模型中利用深度学习技术对评分处理模块的有效性,将评分部分的处理方式替换为其他模型中常用的矩阵分解,其他部分保持不变,将替换后的方法表示为RMRT-D+MF。在亚马逊数据集上进行对比实验,结果如图2所示,可以看出利用深度学习技术处理评分数据得到了更优的MSE值。

图2 评分处理模块有效性验证性能比较

3 结束语

提出了融合评分矩阵和评论文本的深度推荐模型RMRT。该模型可以同时从评分数据和评论文本信息中学习用户和项目的特征。在处理评分矩阵时利用深度学习算法进行深度特征学习,提取用户和项目的特征表示,将其和评论信息中提取的特征进行融合。对比实验结果表明,文中提出的方法在不同的数据集上均取得了优于其他模型的效果,因此提取深度特征能够在一定程度上提高预测的准确性。

文中工作主要关注的是评分数据和评论文本信息的特征提取,没有考虑时间因素及文本情感对推荐性能的影响,在今后的工作中将考虑引入时间变化对用户偏好及商品特征的影响,以及潜在特征的权重和文本中的情感信息对推荐性能的提升。

猜你喜欢
矩阵评分特征
车联网系统驾驶行为评分功能开发
基于安全多方计算技术的隐私保护打分系统设计
APACHEⅡ评分在制定ICU患者护理干预措施中的应用研究
抓特征解方程组
不忠诚的四个特征
双周最佳阵容
多项式理论在矩阵求逆中的应用
矩阵
矩阵
矩阵