«上一篇 下一篇»
  计算机工程  2019, Vol. 45 Issue (9): 176-182  DOI: 10.19678/j.issn.1000-3428.0051339
0

引用本文  

黄文明, 卫万成, 张健, 等. 基于注意力机制与评论文本深度模型的推荐方法[J]. 计算机工程, 2019, 45(9), 176-182. DOI: 10.19678/j.issn.1000-3428.0051339.
HUANG Wenming, WEI Wancheng, ZHANG Jian, et al. Recommendation Method Based on Attention Mechanism and Review Text Deep Model[J]. Computer Engineering, 2019, 45(9), 176-182. DOI: 10.19678/j.issn.1000-3428.0051339.

基金项目

广西自然科学基金(2018GXNSFAA138132);广西高校云计算与复杂系统重点实验室项目(yf17106);桂林电子科技大学研究生教育创新计划(2018YJCX55)

作者简介

黄文明(1963-), 男, 教授, 主研方向为人工智能、大数据处理、图形图像处理, E-mail:1163033133@qq.com;
卫万成,硕士研究生;
张健, 硕士研究生;
邓珍荣, 研究员

文章历史

收稿日期:2018-04-24
修回日期:2018-08-22
基于注意力机制与评论文本深度模型的推荐方法
黄文明a,b , 卫万成a , 张健a , 邓珍荣a,b     
a. 桂林电子科技大学 计算机与信息安全学院, 广西 桂林 541004;
b. 桂林电子科技大学 广西可信软件重点实验室, 广西 桂林 541004
摘要:传统推荐系统依赖人工进行规则设计和特征提取,对评论文本内容的特征和隐信息的提取能力有限。针对该问题,融合注意力机制并基于深度学习对推荐系统进行改进,提出一种对评论文本深度建模的推荐方法。使用词嵌入模型表达数据集评论中的语义,引入注意力机制对输入内容进行重新赋权,通过并行的卷积神经网络挖掘用户和项目评论数据中的隐含特征,将两组特征耦合输入并采用因子分解机进行评分预测,得到推荐结果。实验结果表明,该方法可有效提高推荐准确率,均方误差较DeepCoNN方法提升2%以上。
关键词推荐系统    特征提取    注意力机制    卷积神经网络    因子分解机    
Recommendation Method Based on Attention Mechanism and Review Text Deep Model
HUANG Wenminga,b , WEI Wanchenga , ZHANG Jiana , DENG Zhenronga,b     
a. School of Computer Science and Information Security, Guilin University of Electronic Technology, Guilin, Guangxi 541004, China;
b. Guangxi Key Laboratory of Trusted Software, Guilin University of Electronic Technology, Guilin, Guangxi 541004, China
Abstract: The traditional recommendation system relies on manual rule design and feature extraction, resulting in insufficient extraction of the features and implicit information of the review text content.Aiming at this problem, a recommendation method for deep modeling of review text is proposed combining the attention mechanism and the improved recommendation system based on deep learning.The word embedding model is used to express the semantics in dataset comments, the attention mechanism is introduced to re-weight the input content, and the hidden features in the user and project comment data are mined through the parallel convolutional neural network.The two sets of features are coupled and input and scored by a factorization machine to obtain the recommendation results.Experimental results show that the proposed algorithm can efficiently improve the recommendation precision, and the mean square error is improved by more than 2% than that of the DeepCoNN algorithm.
Key words: recommendation system    feature extraction    attention mechanism    Convolution Neural Network(CNN)    factorization machine    
0 概述

当今社会处于一个信息数据快速增长的时代, 诸如在线内容服务、即时通信和社交网络等新兴网络信息服务在日常生活中扮演着重要的角色, 网络上每天都进行着巨量的数据交换, 而推荐系统能为用户对海量信息进行筛选并推荐。根据CNNIC发布的报告, 截至2017年底, 中国的网民规模已达7.72亿。如此大规模的用户表明推荐系统蕴含着巨大的研究和应用价值。

对于用户而言, 推荐系统能辅助决策; 对于商家而言, 推荐系统能提高用户信任度和粘性, 由此增加营收。传统推荐系统设计存在结构上的局限性, 其极度依赖人工进行规则的设计与特征的提取, 使得算法模型对于特征和隐信息的提取能力有限, 一定程度上限制了推荐系统的使用。

近年来, 随着深度学习在计算机视觉和自然语言处理等领域取得大量进展, 其对数据特征进行挖掘和提取的优势逐渐展现。而特征提取正是推荐系统中的重要环节, 特征学习的好坏关乎推荐系统的成败。因此, 近年来研究人员逐渐加大对深度学习的研究力度。

目前大部分推荐算法主要基于数据中的数值型数据和人工分类数据, 对于数据的特征提取深度及广度有限, 在一定程度上影响了推荐系统的性能和推荐准确度。为此, 本文基于卷积神经网络(Convolutional Neural Network, CNN)和注意力机制, 提出一种新的评论文本深度建模方法, 以提升推荐系统性能和推荐准确性。

1 相关研究 1.1 传统推荐算法

目前, 传统推荐算法主要分2大类:基于内容的推荐和协同过滤推荐。

1) 基于内容的推荐算法, 其基本步骤是先获取目标项目和有过用户行为的项目特征, 计算其相似度, 再结合历史评分进行推荐。

2) 协同过滤推荐, 作为业界当前应用最广泛的推荐算法, 主要包含2类:基于模型的协同过滤和基于内存的协同过滤[1]。基于模型的协同过滤根据大量的用户历史行为数据设计出可用模型对目标用户的未来行为进行预测[2], 产生推荐结果。由选取的目标对象不同, 基于内存的协同过滤可分为基于用户的协同过滤和基于项目的协同过滤[3]

目前大量的推荐系统研究主要针对挖掘系统中的数值型数据和通过人工设计规则提取数据的特征进行算法设计。随着网络的飞速发展, 交互式应用遍布所有角落, 由此产生了巨量的用户文本内容, 推荐系统能获取包含更大信息量的数据。受限于目前推荐算法对数据中尤其是文本内容的特征提取能力不足, 业界逐渐将目光投向深度学习领域。

1.2 基于深度学习的推荐算法

深度学习在自然语言处理方面上的优势, 高度契合推荐系统使用原始评论文本数据的需求。基于深度学习对推荐系统进行研究使得其发展有了新的突破口。目前用于推荐系统中的深度学习技术主要有自编码器(Autoencoder, AE)、CNN、循环神经网络(Recurrent Neural Network, RNN)、受限波尔茨曼机(Restricted Boltzmann Machine, RBM)等。本文主要使用CNN对评论文本特征深度建模, 并引入注意力机制, 技术优势及相关研究如下:

1) CNN的优势在于能从多源异构数据中实现局部和全局的表示, 自动且充分地完成抽象特征提取。文献[4]设计一个基于内容的音乐推荐系统, 通过将矩阵分解与CNN融合成一个新的网络结构, 对用户的历史数据和音乐的音频信号数据组合成的数据对进行处理, 将提取的数据对特征投影到同一特征空间上, 进而执行后续的推荐系统任务。文献[5]提出一种应用在推荐系统针对跨领域用户建模的多视图深度学习方法, 通过在原CNN结构基础上引入多视图深层学习扩展模型, 从不同领域和用户特征中共同学习项目特征。该设计有助于提高全领域的推荐质量, 并产生更紧凑和语义丰富的用户潜在特征向量, 极大提升了推荐效果。文献[6]提出深度协作神经网络模型DeepCoNN, 通过并行2个结构相同的CNN, 对用户和项目的评论文本进行特征学习, 并采用输出层与因子分解机(Factorization Machine, FM)的组合进行评分预测, 充分利用了数据集中的评论文本。

2) 注意力机制的引入可使神经网络将训练的重点集中在输入内容中与目标关联度高的部分, 由此加强对处理内容重点部分的关注。注意力机制早在20世纪90年代中期便被提出, 直到2014年由Google团队将其实现在RNN模型上对图像进行分类并取得优秀的效果才引起业界的重视[7]。同年文献[8]将注意力机制引入RNN结构上做机器翻译任务, 这也是注意力机制在自然语言处理领域较早期的应用。文献[9]提出BCNN结构, 将深度学习框架运用到问答模型上, 并取得较好的效果, 接着文献[10]在此基础上引入注意力机制, 提出ABCNN结构, 提高了对句对模型的处理效率和提炼结果的准确度, 将深度学习处理文本内容的能力进一步提升, 而这也是注意力机制较早在文本领域CNN结构上的应用。文献[11]提出一种应用于标签推荐的结合注意力机制的CNN, 通过CNN提取微博数据的特征, 设计一个包含全局通道和局部注意力通道的模型, 以提升获取微博文本重点内容的能力, 增强推荐系统性能。文献[12]将单个注意力模型应用在新闻推荐及筛选领域, 新闻文本的内容和种类特征通过结合注意力机制的CNN模型处理为固定长度的隐向量表示, 同时考虑到用户对于不同类型喜好的时效性及选择规律, 最终输出一个二分类问题的结果。

由于深度学习的神经网络结构具有强大的自动学习特征的能力与自动对非线性结构进行深层次学习的能力, 因此, 将其与推荐系统融合的优势可归纳为两点:第一, 深度学习可以自动从多源异构数据中进行特征学习, 将不同数据映射至同一空间, 由此可以提取数据特征并表达到同一个特征空间上; 第二, 深度学习能自动进行训练和学习, 得到深层次的非线性网络结构, 由此挖掘并表征数据的深层次特征表示[13]。这些优势让推荐系统的研究发展有了一个全新的突破点。

2 DeepCoNN模型

本文基于CNN提出一种融合注意力机制对评论文本深度建模的推荐方法, 主要步骤为:

1) 评论文本深度建模:使用一个并行的CNN结构, 分别基于用户评论及商品评论进行文本特征建模, 实现推荐系统对文本数据的充分利用。

2) 引入注意力机制:将注意力机制引入第1步设计的CNN结构中, 提升对重点内容的关注, 实现对评论文本更准确的建模。

2.1 评论文本深度建模

深度学习中的神经网络结构具有强大的自动学习特征的能力及能自动对非线性结构进行的深层次学习的能力, 能有效利用多源异构数据进行特征学习和实现更深层次的数据特征表示。

本文研究的深度评论文本模型是对文献[6]DeepCoNN模型的改进。

2.1.1 神经网络结构

DeepCoNN模型是2个并行的神经网络组合, 其中一个网络用于处理用户评论(标记为Netu), 提取用户的行为特征; 另一个网络用于处理项目评论Neti), 提取商品具有的特性。在最后一层, 将这2个网络生成的结果进行耦合并生成最终结果。DeepCoNN模型网络结构如图 1所示。

Download:
图 1 DeepCoNN模型网络结构

DeepCoNN模型的具体步骤如下:

1) 对用户的评论文本和项目的评论文本进行处理, 得到相应的表达。

2) 将用户评论和项目评论各自的表达分别输入Netu和Neti, 进行卷积处理, 提取深层特征。

3) 进行最大池化操作, 降低第2个步骤卷积层的特征向量维度, 并解决过拟合问题。

4) 将结果输入全连接层, 并映射学习到的特征到样本标记空间。

5) 对2个并行CNN结构输出的用户特征向量及项目特征向量进行处理并使用评分预测函数得到用户相应的评分。该目标函数也将作为模型的损失函数进行迭代训练, 以得到最优结果。

2.1.2 词向量表示

词向量表示是目前对自然语言处理领域效果最优的文本数据处理方法之一, 其原理是通过使用词嵌入模型, 将数据集中用户与项目的评论文本通过模型函数映射到一个新的表达空间, 由此得到词向量表示, 即f:wordnRn, 其中, wordn代表数据集中组成字典的每个单词, Rn代表经过参数化的函数映射得到一个n维特征向量。

共同出现率高或近义的词汇在特征空间中会被投影成相似的角度。向量表示方式的优点是:避免因词汇量过大造成数据稀疏, 同时可以对数据进行降维; 加入了词对间的相互关系, 实现句子级的表示。

在输入层中, 评论文本经过处理被表示为一个词嵌入矩阵。本文挖掘并利用数据集评论中的语义的具体步骤如下:

1) 将单个用户Uu的所有评论内容的单词合并为一个文档, 代表该用户的字典w1:nu, 其中wku代表该用户字典中第k个词。

2) 处理用户字典内所有词汇得到相应的词向量表示, 得到用户的词向量字典(w1:nu)′, 其中(wku)′代表第k个词的词向量表示。

3) 在用户的词向量字典(w1:nu)′的组合过程中保留词汇在评论文本中的原始顺序, 此举将有利于语义的挖掘与表示, 由此得到用户Uu的词向量矩阵Mu为:

$ {\mathit{\boldsymbol{M}}_u} = {\left( {\mathit{\boldsymbol{w}}_1^u} \right)^\prime }:{\left( {\mathit{\boldsymbol{w}}_2^u} \right)^\prime }: \cdots :{\left( {\mathit{\boldsymbol{w}}_n^u} \right)^\prime } $ (1)
2.1.3 卷积神经网络层

CNN层用于评论文本特征的提取, 主要包含卷积层、最大池化层和全连接层。以用户Uu为例, 具体细节如下:

1) 卷积层:每层中包含n个神经元, 将输入的用户词向量矩阵Mu进行卷积操作提取新的特征。在每个神经元neuronk中, 对应尺寸为m×t的过滤器filterk。其中, m为词嵌入模型产生特征维度, k为设计的滑动词窗口大小。在CNN中, 每个卷积核经卷积操作对应产生一个特征图mapn, 具体公式如下:

$ \mathit{\boldsymbol{ma}}{\mathit{\boldsymbol{p}}_n} = f\left( {{\mathit{\boldsymbol{M}}_u} \otimes \mathit{\boldsymbol{filte}}{\mathit{\boldsymbol{r}}_k} + {\mathit{\boldsymbol{b}}_k}} \right) $ (2)

其中, f为激活函数ReLU, ⊗为卷积操作, bk为过滤器filterk对应的偏置。

2) 池化层:模型DeepCoNN采取最大池化操作。通过选取每一个池化层过滤器对应区域中的最大值, 最终在输入的原特征图mapn中提取主要特征, 得到新的特征图。使用最大池化操作, 有利于对不同长度的文本输入进行处理, 解决评论文本长度不一致的问题。通过使用最大池化层, 网络对特征图进行压缩使其规模变小, 同时只提取主要特征, 不仅简化网络计算的复杂度, 也一定程度上解决过拟合现象。得到的池化特征图mapn为:

$ \mathit{\boldsymbol{ma}}{{\mathit{\boldsymbol{p'}}}_n} = \mathit{\boldsymbol{ma}}{\mathit{\boldsymbol{p}}_n}\left( {{\rm{Max}}\left( {allfeature} \right)} \right) $ (3)

3) 全连接层:将经过最大池化操作得到的特征图mapn输入全连接层, 与本层的权值矩阵相乘并加上偏置求和, 引入Dropout策略, 对特征进行随机丢弃。加入全连接层, 能进一步缓解过拟合并进行分类输出。加权求和得到分类输出的计算公式为:

$ \mathit{\boldsymbol{outpu}}{\mathit{\boldsymbol{t}}_u} = f\left( {\mathit{\boldsymbol{W}} \times \mathit{\boldsymbol{ma}}{{\mathit{\boldsymbol{p'}}}_n} + {\mathit{\boldsymbol{b}}_{{\rm{all}} - {\rm{connected}}}}} \right) $ (4)

其中, f是激活函数ReLU, outputu为该用户u的分类输出, W为全连接层的权值矩阵, ball-connected为全连接层的偏置。

2.1.4 共享层

虽然经过上述传统神经网络结构输出得到了用户和项目的特征矩阵, 但是这2种输出存在于不同的特征空间中, 并不能直接进行比较。因此, 本文模型在网络结构的顶部设计了一个共享层, 其具体操作细节如下:

1) 将用户u的特征矩阵outputu与项目i的特征矩阵outputi进行连接, 构建用户-项目向量z=(outputu, outputi)。

2) 引入FM, 将向量z输入其中经多次训练得到最终用户u对项目i的预测评分, 根据DeepCoNN模型, 给出具体的目标损失函数, 如下式所示:

$ J\left( {{w_i}} \right) = {y_{{\rm{real}}}} - \left( {{{\bar w}_0} + \sum\limits_{i = 1}^{\left| {\bar z} \right|} {{{\bar w}_i}{{\bar z}_i}} + \sum\limits_{i = 1}^{\left| {\bar z} \right|} {\sum\limits_{j = i + 1}^{\left| {\bar z} \right|} {{w_{ij}}{{\bar z}_i}{{\bar z}_j}} } } \right) $ (5)

其中, yreal为用户对项目的真实评分值, w0为全局偏置量, wi表示用户-项目特征组合向量z中第i个分量的权重值, $ {{w}_{ij}}=<{{\bar{v}}_{i}}, {{\bar{v}}_{j}}>=\sum\limits_{f=1}^{|\bar{z}|}{{{{\bar{v}}}_{i, f}}{{{\bar{v}}}_{j, f}}} $。基于矩阵分解思想, 实现各分量之间的二阶交互, 并对此建模, 挖掘出任意2条特征的相关程度。

3) 训练过程即最小化目标损失函数(式(5))。为进行参数更新以优化模型, 将训练集拆分成若干小集合, 以mini-batch形式使用RMSprop优化算法进行参数更新。该方法能更契合神经网络的非凸函数特点, 将传统优化算法的梯度累积转变为根据梯度绝对值自适应移动来控制历史信息的获取。

2.2 注意力机制

人类在观察和阅读时会对对象内容的特定部分进行重点关注, 而后对这一区域投入更多注意力资源, 以获取更多所需要关注目标的细节信息。受此启发, 研究人员提出注意力机制。本文将注意力机制融入CNN对评论文本特征的提取过程中, 提出的一种评论文本深度建模方法, 加大对文本核心内容的关注, 由此实现对评论文本更准确的建模, 提升推荐准确度。

2.2.1 基于注意力机制的词向量权值更新算法

本文设计的注意力机制算法是基于单个词汇级别上进行注意力权值计算。

算法  基于注意力机制的词向量权值更新

输入  目标用户Uu所有文本评论数据的词向量矩阵Mu, 用户Uuall的所有词汇各自的词向量表示(w1:nu)′

输出  目标用户Uu采用注意力机制更新后的词向量矩阵Mu(a)

1) 将用户Uuall的所有词向量表示(w1:nu)′按单个词取出。

2)(循环1)计算目标用户评论文本中每个词汇的词向量表示(wku)′与用户评论词向量字典中的每个词汇(w1:nu)′的相似度simk, 使用余弦相似度计算方法实现, 具体如式(6)所示。

$ si{m_k} = \sum\limits_{i = 1}^m {\cos \left( {{{\left( {\mathit{\boldsymbol{w}}_k^u} \right)}^\prime },{{\left( {\mathit{\boldsymbol{w}}_{1:n}^u} \right)}^\prime }} \right)} $ (6)

3)(循环2)通过softmax函数分别对每个词向量的相似度权重进行归一化处理, 得到每个词向量分别对应的注意力权重ak, 具体如式(7)所示。

$ {a_k} = \mathit{softmax}\left( {si{m_k}} \right) = \frac{{{{\rm{e}}^{si{m_k}}}}}{{\sum\limits_{i = 1}^n {{{\rm{e}}^{si{m_i}}}} }} $ (7)

4) 将所有词向量的注意力权重, 与其在原评论文本的词序进行拼接, 得到目标用户Uu的注意力权值矩阵A(Uu), 具体如式(8)所示。

$ \mathit{\boldsymbol{A}}\left( {{U_n}} \right) = \left( {{a_1},{a_2}, \cdots ,{a_k}, \cdots ,{a_n}} \right) $ (8)

5) 结束循环1。

6) 结束循环2。

7) 使用注意力权值矩阵A(Uu)与用户Uu的原词向量矩阵Mu进行对应相乘, 得到更新的词向量矩阵Mu(a), 具体如式(9)所示。

$ \mathit{\boldsymbol{M}}_u^{\left( a \right)} = \mathit{\boldsymbol{A}}\left( {{U_u}} \right){\mathit{\boldsymbol{M}}_u} $ (9)
2.2.2 基于注意力机制的权值更新层

本文在卷积层的输入前设置一层基于注意力机制的权值更新层。该层通过将输入层的词向量序列重新赋权, 实现对重点内容的更高关注。

该层的设计原理是利用注意力机制对原输入进行权值更新, 产生与原输入尺寸一样的输入图, 并保留原输入, 将卷积层的输入通道拓展为双通道进行输入, 其实现如图 2所示。

Download:
图 2 基于注意力机制的权值更新层
3 ACoNN网络结构设计 3.1 网络结构

本文提出的融合注意力机制的评论文本深度建模方法是通过设计一组并行的CNN结构分别对用户及项目的评论文本内容进行特征提取并构建两者的模型, 在最顶层通过引入的因子分解机实现评分预测以达到推荐功能。在对评论文本内容进行词向量表示后, 本文加入一层基于注意力机制的权值更新层实现对评论文本内容的进一步优化, 加强网络对重点内容的关注以实现更准确的建模效果, 以提升推荐准确性。

加入注意力权值更新层的ACoNN网络结构如图 3所示。

Download:
图 3 ACoNN网络结构
3.2 网络训练

ACoNN网络训练步骤如下:

1) 数据处理:首先将单个用户的所有评论文本和单个项目的所有评论文本分别连接成一个文档, 保留所有词在原评论文本的顺序。然后进入输入层, 通过词嵌入模型得到用户和项目的两组词向量表达MuMi, 作为下一层权值更新层的输入。

2) 基于注意力机制的权值更新:通过对MuMi进行基于注意力机制的权值更新得到MuMi, 并将更新后的输入图与原输入图作为双通道输入, 一起输入到下一层卷积层中进行卷积操作。

3) 特征抽取:将用户和项目2组表达分别输入至并行的2个卷积层中进行特征抽取, 得到用户特征图mapu和项目特征图mapi

4) 池化采样:将mapumapi分别输入池化层, 经最大池化操作, 在保留重要特征的基础上减少参数数量, 简化计算复杂度, 并缓解过拟合现象。输出新的用户特征图mapu和项目特征图mapi

5) 全连接层:将mapumapi分别输入全连接层进一步缓解过拟合并进行分类输出。得到用户输出outputu和项目输出outputi

6) 分享层参数训练:连接outputuoutputi, 构建用户-项目向量z, 引入因子分解机, 根据最小化其损失函数进行训练, 更新参数, 最终完成模型训练。进而得到预测评分, 实现用户推荐。

4 实验与结果分析 4.1 数据集

本文实验使用亚马逊数字音乐评价数据集(Amazon Digital Music, ADM)和亚马逊电影电视评价数据集(Amazon Movies&TV, AMT), 分别包含64 706条真实评论及评分和1 697 533条真实评论及评分, 其中每条数据均有9个属性, 包含用户id、项目id、用户名、其他用户给予的该评论有效分、用户评论内容、用户评分、评论摘要、评论unix时间戳以及评论日期。本文摘录一条数据, 如下所示:

{"reviewerID":"A38IRL0X2T4DPF", "asin":"5555991584", "reviewText":"I never thought Enya would reach the sublime heights of Evacuee or Marble Halls from′Shepherd Moons.′′The Celts, Watermark and Day…′ were all pleasant and admirable throughout, but are less ambitious both lyrically and musically.But Hope Has a Place from ′Memory…′reaches those heights and beyond.It is Enya at her most inspirational and comforting.I′m actually glad that this song didn′t get overexposed the way Only Time did.It makes it that much more special to all who own this album.", "overall":5.0}

为减轻运算读取数据的负担, 将没有使用的数据删除, 仅保留需要数据, 分别为:用户id(reviewerID), 项目id(asin), 用户评论内容(reviewText), 用户评分(overall)。实验根据用户对项目(音乐、电影或电视)的评价文本和项目的所有用户评价文本进行深度建模, 挖掘出用户对项目的喜好程度, 最终根据喜好程度对用户个性化推荐对应的项目。在实验中, 将数据集10%作为测试集、80%作为训练集、10%作为验证集。

4.2 评价指标

实验采用推荐系统常用度量指标均方误差RMSE和平均绝对误差MAE作为推荐结果的评价指标。

$ RMSE = \frac{{\sqrt {\sum\limits_{u,n \in u,all} {{{\left( {{P_{u,n}} - rea{l_{u,n}}} \right)}^2}} } }}{{all}} $ (10)
$ MAE = \frac{{\sum\limits_{u,n \in u,all} {\left| {{P_{u,n}} - rea{l_{u,n}}} \right|} }}{{all}} $ (11)

其中, 下标u, n代表目标用户Uu评分的目标项目n, 下标u, all代表目标用户Uu的所有预测评分项目集, Pu, n代表目标用户Uu对目标项目n的预测评分, realu, n代表目标用户Uu对目标项目n在测试集中的真实评分, all代表测试集中目标用户Uu的所有评分数量。

4.3 实验结果对比

本文对比实验如下所示:

1) 纵向对比:通过ACoNN和DeepCoNN模型验证融合注意力机制对推荐性能的提升。

2) 横向对比:ACoNN、概率矩阵分解算法(PMF)、文档主题生成算法(LDA)[14]、协同过滤推荐算法(CF)。其中, LDA通过获取用户的偏好主题, 在推荐过程中引入偏好主题, 对用户推荐包含偏好主题的项目, 从而达到最终的推荐效果[15]。通过以上基准方法的对比, 验证基于深度学习对推荐性能的提升。

实验相关参数设定为:神经网络模型以经验为主进行参数设置, 并进行多次实验得到最优参数。其中, 词嵌入模型维度为300, 学习率初始值设定为0.001, 卷积核数量为100, 用户特征维度为50, 项目特征维度为50, 滑动词窗口大小为3, 模型训练批尺寸为100, Drop-out参数设定为默认值0.5。实验结果如表 1表 2所示。

下载CSV 表 1 ADM数据集实验结果对比
下载CSV 表 2 AMT数据集实验结果对比

表 1表 2可以看出:

1) 纵向对比:在ADM数据集中, ACoNN算法的RSMEMAE分别比DeepCoNN算法低0.022 42和0.006 99;在AMT数据集中, ACoNN算法的RSMEMAE分别比DeepCoNN算法低0.023 33和0.022 93。

2) 横向对比:在ADM数据集中, ACoNN算法的RSMEMAE均最低, DeepCoNN算法其次, 其他3种对比算法较差; AMT数据集中的结论与Amazon Digital Music数据集的结论相同。

综上, 基于深度学习的算法推荐效果较好, 而ACoNN算法引入注意力机制, 其指标比DeepCoNN算法提升2%以上。

在实验中, 所有算法在ADM数据集中的表现优于AMT数据集。这是因为AMT数据集内容更丰富(数据集含用户数量以及项目数量更多), 数据量更大(评价数量提升262%), 导致其准确度下降。

对比实验在一定程度上表明, 深度学习能提高传统推荐算法对特征提取和利用的能力从而提升推荐系统的性能。同时, 本文提出的基于注意力机制的改进也有效提升推荐准确性。

5 结束语

本文对DeepCoNN模型进行改进, 设计融合注意力机制的评论文本深度建模方法, 并将其用于推荐系统。实验结果表明, 相比PMF、LD和CF算法, 该方法采用深度模型, 能有效提升推荐性能。同时, 本文方法引入注意力机制, 其推荐结果优于DeepCoNN算法。但是本文方法依赖于词嵌入模型的训练语料库, 扩展难度较大, 并且神经网络存在可解释性不足的问题, 因此下一步将对此展开研究。

参考文献
[1]
韩路. 协同过滤推荐算法的研究[J]. 无线互联科技, 2013(2): 160. (0)
[2]
汪静. 协同过滤推荐算法研究综述[J]. 中国新通信, 2014(13): 111-113. DOI:10.3969/j.issn.1673-4866.2014.13.086 (0)
[3]
冷亚军, 陆青, 梁昌勇. 协同过滤推荐技术综述[J]. 模式识别与人工智能, 2014, 27(8): 720-734. DOI:10.3969/j.issn.1003-6059.2014.08.007 (0)
[4]
DIELEMAN S, SCHRAUWEN B.Deep content-based music recommendation[C]//Proceedings of International Conference on Neural Information Processing Systems.[S.l.]: Neural Information Processing Systems, Inc., 2013: 2643-2651. (0)
[5]
ELKAHKY A M, SONG Yang, HE Xiaodong.A multi-view deep learning approach for cross domain user modeling in recommendation systems[C]//Proceedings of the 24th International Conference on World Wide Web.New York, USA: ACM Press, 2015: 278-288. (0)
[6]
ZHENG Lei, NOROOZI V, YU P S.Joint deep modeling of users and items using reviews for recommendation[C]//Proceedings of the 10th ACM International Conference on Web Search and Data Mining.New York, USA: ACM Press, 2017: 425-434. (0)
[7]
MNIH V, HEESS N, GRAVES A, et al.Recurrent models of visual attention[C]//Proceedings of International Conference on Neural Information Processing Systems.[S.l.]: Neural Information Processing Systems, Inc., 2014: 2204-2212. (0)
[8]
BAHDANAU D, CHO K, BENGIO Y.Neural machine translation by jointly learning to align and translate[EB/OL].[2018-04-01].https: //arxiv.org/abs/1409.0473. (0)
[9]
FENG Minwei, XIANG Bing, GLASS M R, et al.Applying deep learning to answer selection: a study and an open task[C]//Proceedings of 2015 IEEE Workshop on Automatic Speech Recognition and Understanding.Washington D.C., USA: IEEE Press, 2015: 813-820. (0)
[10]
YIN Wenpeng, SCHÜTZE H, XIANG Bing, et al. ABCNN:attention-based convolutional neural network for modeling sentence pairs[J]. Transactions of the Association for Computational Linguistics, 2016(4): 259-272. (0)
[11]
GONG Yuyun, ZHANG Qi.Hashtag recommendation using attention-based convolutional neural network[C]//Proceedings of International Joint Conference on Artificial Intelligence.[S.l.]: AAAI Press, 2016: 2782-2788. (0)
[12]
WANG Xuejian, YU Lantao, REN Kan, et al.Dynamic attention deep model for article recommendation by learning human editors'demonstration[C]//Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York, USA: ACM Press, 2017: 2051-2059. (0)
[13]
黄立威, 江碧涛, 吕守业, 等. 基于深度学习的推荐系统研究综述[J]. 计算机学报, 2018, 41(7): 191-219. (0)
[14]
BLEI D M, NG A Y, JORDAN M I. Latent Dirichlet allocation[J]. Machine Learning Research Archive, 2003, 3: 993-1022. (0)
[15]
MCAULEY J, LESKOVEC J.Hidden factors and hidden topics: understanding rating dimensions with review text[C]//Proceedings of the 7th ACM Conference on Recommender Systems.New York, ACM Press, 2013: 165-172. (0)