1、基于 LSTM 的购物网站用户评价的情感分类研究摘要:随着电子商务和物流的发展,越来越多的人开始转向于网络购物和消费。对于销售者而言,商品的用户评价对该商品的下一步的销售策划和销售定位具有指导性作用,同时经营者也可以依据此数据更好的把握顾客需求和完善用户的购买体验,但由于购物网站上的用户评价往往是海量数据,凭人工评判某一系列评论的情感偏向是非常浪费人力和物力的。本文针对此问题,提出一个依据 LSTM 模型和词向量的自动化解决方案。本方案采用将一条语句转换为词向量的方法,运用 LSTM 神经网络模型,在 KERAS 深度学习框架之下对该模型进行有监督的学习和训练,进行用户评论质量的评估。LSTM
2、 神经网络模型相比于传统的 RNN 神经网络模型能很好的解决由于学习距离过长靠后的神经节点对前方神经节点感知能力下降的问题,因此 LSTM 神经网络模型能够更好的完成用户语句的情感分析任务。实验表明该模型对用户评论的情感属性二级分类的正确率达到 90%以上。关键字: 情感分类 神经网络 LSTM 用户评价LSTM Based on the Classification of Emotion aboutUsers Evaluation on Shopping SiteAbstract :For a commodity, the users evaluation play a very impor
3、tant role for the market positioning and sales plan of this product, and businesses can also base on these data to improve the users purchase experience. However, there are a lot data of users evaluation on the shopping sites, so it is very wasteful of human and material resources to evaluate of a s
4、eries of reviews of the emotional attributes by hand. Aiming at this problem, we propose an automation solution based on the LSTM model. This program make the sentence convert into a word vector, and make the model study and training with a teacher under the framework of deep learning of KERAS by us
5、ing the neural network model of LSTM. Compared to the traditional model of RNN, the LSTM does a better work on this question of the reward neurons react to the front neurons dully due to the learning distance. Therefore, the neural network model of LSTM is able to resolve the question Sentiment anal
6、ysis on users statement better. The experimental result shows that correct rate can reach 90% on the two level classification of Sentiment analysis.Keywords: Emotional Classification Neural Network LSTM User Evaluation引言互联网时代,网络购物平台每日销售数以万计的商品,在购买商品之后,用户也会通过网络购物平台的评论通道对其所购买的商品给予评价。这些评价对于销售商来说往往蕴含着巨大
7、的商业信息,有助于投资者了解电子商务网站的市场潜力和品牌价值,同时也能为其他顾客提供参考的依据并帮助其更快找到理想的购物网站,所以对用户的反馈与评价进行情感分类是很有必要的。随着网络媒体的发展,大量文本需要使用自然语言技术对其自动分析处理。情感分析任务作为自然语言处理的一个重要组成部分,是机器认知网络上语言的一个重要环节。情感信息的分类任务可大致分为两种:一种是主、客观信息的二元分类;另一种是主观信息的情感分类,包括最常见的二级分类以及更细致的多级分 。对于类 2情感分类这一复杂任务目前有很多方法进行解决,比如文献3所采用支持向量机(SVM)的方 等等,但支持向量机存在着“维度灾难”和“过拟合
8、”的问题,且计算量过大,本法 3文采用基于递归长短时记忆神经网络模型(LSTM)对用户的评论进行二级分类。在中文文本处理中,如何将中文文本进行数据化表示一直以来都是一个难点,现使用较为广泛的表示法有词袋模型(bag-of-words model)、序列化模型(sequence model)、结构化模型(structure model)。词袋模型仅仅是将文本看作是无序的单个词语的组合,广泛用于 LSA、LDA 的分类模型中,但忽略语句的语法,甚至忽略词语之间的顺序。序列化模型将文本看作有序的词语序列,但仅考虑有序性信息忽略语义上的结构性。结构化模型保留文本的结构特征,在解决情感分析的问题上取得了
9、不错的成果。在解决序列化问题时,LSTM-RNN 模型更好的解决了情感分析问题 4。本文基于真实数据集(通过爬虫获取了京东商城的用户评论)利用已搭建的模型,选择 18000 条评论数据作为训练集进行学习和检测,再选择 4000 条评论数据作为测试集进行检验。实验表明,本文提出的依据 LSTM 模型和词向量的自动化解决方案具有相当高的准确率,远远优于现有相关算法,在情感极性判别中获得有竞争力的效果。1. Introduction and Concept1.1.Word2vecWord2vec 是 Google 在 2013 年中年中开源的一款将词表征为实数值向量高效工具,这是一款基于 Deep
10、learning 的学习工具,其遵循 Apache License2.0 开源协议。Word2vec 通过训练,可以把一段文本处理简化为 n 维空间中的向量,进而能够使用计算机对其进行运行与进一步的处理。1.2.词向量英文名为 Word Embedding, 词向量的获取需要通过语言模型来训练得到。对于一条文本语句,要转化为机器学习的问题,需要先将它符号数学化。在 NLP 中,存在两种常用的词表示法,分别是 One-hot Representation 和 Distributed Representation。前者是把每个词句表示成一个很长的向量。向量的维度表示词表的大小,绝大多数为 0,只有
11、一个维度为1,且这个维度表示当前的词,也就是为每个词分配一个数字 ID。然而这样的表示方法无法捕捉词与词之间的相似度,尤其是在 Deep Learning 中,当词的数量过大,容易发生位数灾难。而后者训练将每个词映射成 n 维实数向量,通过词之间的距离(cosine 相似度、欧式距离等)来判断他们之间的语义相似度,word2vec 使用的就是 Distributed representation这种表示方式。1.3.文本情感分析文本情感分析又称为意见挖掘,是对带有情感色彩的主观性文本进行分析处理。最初的情感分析源自前人对带有情感色彩的词语的分析,如“优秀”是带有褒义色彩的词语 5。情感分析可分
12、为词语级、短语级、句子级、篇章级以及多篇章等几个研究层次。按照处理文本的类别不同,可分为基于新闻评论的情感分析和基于产品评论的情感分析 6。1.4.LSTM 神经网络模型LST 是一种特殊的 RNN 类型的神经网络模型,传统的 RNN 神经网络模型是一种节7点定向连接成环的人工神经网络,而且其已经在自然语言处理中获得了很大的成功和广泛的运用。但传统的 RNN 神经网络模型存在着一处缺陷,就是随着学习步数的增加,接近于输出层的神经元对接近于输入层的神经元感知能力下降的问题,针对此问题 LSTM 在原有的 RNN 模型基础之上,引入一个 cell 记忆单元,cell 可以在神经网络工作时短时间记忆
13、一段时间的工作信息,这样就在一定程度上解决了 RNN 的梯度消失问题。2.Experiment Setup对于一条给定的语句,通过分词工具将其分成词语,并将得到的词语转换成高维向量,那么语句就对应着词向量的矩阵。递归神经网络(RNNs)将矩阵形式的输入编码降为较低维度的一维向量。将得到的处理内容输入到 KERAS 深度学习框架下利用 LSTM 算法进行处理。在 LSTM 神经网络中,一个 cell 中有三个 Gate(input、forget、output)和一个 cell 单元组成。Gate 的结构有去除或者增加信息到细胞状态的能力,能让信息选择式通过。它包含一个 sigmoid 神经网络层
14、和一个 pointwise 乘法操作。Sigmoid 层输出 0 到 1 之间的数值,描述每个部分有多少量可以通过。0 代表“不许任何量通过 ”,1 就指“允许任意量通过” 。第一步是决定从细胞状态中丢弃的信息,由忘记门层完成。该门会读取 Ft-1 和 Xt,输出一个在 0 到 1 之间的数值给每个在细胞状态 C_t-1中的数字。 1 表示“完全保留” ,0 表示“完全舍弃” 。第二步是决定被存放在细胞状态的新信息中。这里包含两个部分。第一,sigmoid 层称 “输入门层” 决定将要更新内容。一个 tanh 层创建一个新的候选值向量 Ct 会被加入到状态中。第三步,将这两个信息来产生对状态的
15、更新,C t-1 更新为 Ct。把旧状态 Ct-1 与 ft 相乘,丢弃掉确定需要丢弃的信息,再加上 It*FC 得到新的候选值,根据决定更新每个状态的变化。第四步,确定输出值,这个输出将会基于细胞状态。首先,运行一个 sigmoid 层来确定细胞状态的输出部分。接着,把细胞状态通过 tanh 进行处理(得到一个在 -1 到 1 之间的值)并将它和 sigmoid 门的输出相乘,最终就只会输出被确定输出的那部分。 (, 1) =(,1+) =tan(,1+) =(,1+) =(,1+) =1+ =tan() 1 2 3 1 图 2-1 LSTM 神经网络模型3.实例分析本文利用 Python
16、爬虫工具,从目前国内最大的 B2C 购物网站随机爬取用户的评论数据共计五万余条,将其整理并存放在 excel 表格中,整理后的数据包含以下属性:1) 商品 ID2) 用户 ID3) 用户评论4) 评分等级5) 评论时间6) 后期追评等等由于本文只针对于用户评论进行二级情感分类,因而以四星,五星评论作为好评,以一星,二星评论为差评,以此来对所得评论数据进行情感属性的标注,将好评的情感属性标注为 1,差评的情感属性标注为 0,即以此为数据标签,取好评差评数据各一万条对该神经网络进行有监督的学习和训练。具体执行步骤如下:a) 将评论语句转换为词向量利用分词工具,将用户的评论语句转换为维数 50 维的
17、词向量,送入神经网络的输入层。b) 搭建 LSTM 神经网络模型基于 Keras 深度学习框架,搭建 LSTM 神经网络模型,其中输入层设置256 个神经元节点,隐藏层设置 128 个神经元节点,输出层的激活函数采用sigmoid 函数,将输出的实数域中的数光滑的映射到0,1空间,以 0.5 为阈值,高于 0.5 认为该评论为好评,低于 0.5 为差评。同时为了防止过拟合的情况出现,在模型学习时随机丢弃 50%的神经元的贡献效果。c) 训练该模型模型搭建完毕之后,以 80%的数据集为训练集,20%的数据集为测试集。相继循环进行 8 次训练和测试。d) 将模型运用于实例将随机的 1 万 5 千条
18、评论,运用于训练完毕的模型之上,对评论进行分类,测试所得模型优劣。模型训练总共花费一小时二十分钟,每次训练模型损失函数的值如图 3-1 所示,对于预测数据集的预测成功率如图 3-2 所示:1 2 3 4 5 6 7 8 900.10.20.30.4训 练 频 次loss图 3-1 训练模型损失函数的值1 2 3 4 5 6 7 8 90.850.90.9511.05训 练 频 次成功率图 3-2 预测成功率由图 3-1 可知,随着训练频次的增加,模型损失函数的值逐次降低,这也从侧面说明了模型的鲁棒性越来越好;由图 3-2 可知随着训练次数的增加,以及对神经网络各节点的权值不断调整,模型的正确率
19、俞来俞高,最终可以达到 95%以上。将本文所用的 LSTM 改进的递归神经网络与传统的循环神经网络(RNN)进行对比实验,在相同实验条件下对相同实验数据进行测试,并将所得结果绘制折线图如图 4-1 所示。由图中可以看出,在初期的训练时,RNN 就已经表现出学习能力弱于 LSTM 改进的递归神经网络的特点,即使在后面的训练中逐渐提升正确率并接近于 LSTM 改进的递归神经网络,但始终处于次位。0.750.80.850.90.9511 2 3 4 5 6 7 8LSTM 0.8663 0.9675 0.9871 0.9924 0.9954 0.996 0.9967 0.9976RNN 0.7743
20、 0.9469 0.9798 0.9902 0.9852 0.993 0.9911 0.9924LSTM RNN训 练 次 数正确率图 4-1由图 4-1 可知,基于 LSTM 改进的递归神经网络要比传统的循环神经网络在中文情感分类上面的准确性要高。相对于这两种非线性模型,线性模型存在着学习不充分的缺点,并且也无法展现原始数据中各种特征间隐含的关系。随着递归迭代的次数增加,还会导致过度拟合的出现,这使得模型的学习能力不断下降。而对于没有记忆功能的 BP 神经网络模型,还存在着推导结果是局部极小值的问题,这会导致还没有推导出最优解就提前结束模型训练。不仅如此,BP 神经网络对于最初的状态设置十分
21、敏感,即使是相同条件下的训练,最终的结果也有可能不尽相同。更先进的递归神经网络则可以通过在隐藏层节点接受来自上层节点与上一时刻节点的输入来学习如何处理具有更加复杂特征的关系,同时还具备了记忆历史信息的功能。但随着学习深度的不断递增,发生梯度爆炸和消失的概率也逐步增加。介于此,LSTM 在原有的递归神经网络基础上改进了结构,替换了原有的曲线神经元激励函数,同时增加了 cell 记忆单元,这使得记忆历史信息功能进一步增强同时也尽量避免了发生梯度爆炸的可能性。因此我们认为 LSTM 可以比其他模型在情感分类上展现更好的效果。4.结语本文研究了 LSTM 在中文语境下的情感分类功能,并通过理论推导,将
22、之与其他传统模型进行对比,探究了它在速度与准确性方面的优势。相对于无法获取准确关系的非线性模型以及对初始输入敏感且学习过程复杂的其他线性模型,基于 LSTM 改进的递归神经模型取得了很好的效果。通过递归神经模型来进行情感分类的研究目前还有问题可以进一步讨论。不仅有由于过多参数导致的过拟合问题,还有如何快速学习到文本的结构特征的问题。下一步的研究也将在这些方面进行探讨。参考文献1 HUA Qiaozhao. Research on Evaluation System of B2C Online Shopping Websize Based on CPV D. Xian:Xidian Univer
23、sity,20112 ZHAO Yan-Yan,QIN Bing,LIU Ting.Sentiment AnalysisJ.Journal of Software.2010,21(08):1834-18483 Liu Jie,Fu Xiaodong, Liu Li, Huang Qingsong. ANALYSIS OF fACTORS AFFECTING ONLINE REVIEWS QUALITY J. Computer Applications and Software.4 LIANG Jun,CHAI Yumei,Yuan Huibin,Gao Minglei.LSTM with Re
24、cursive Networks Based on Polarity Shifting for Sentiment Analysis J. Journal of Chinese Information Processing,2015(05)5 Pang B.Lee L.Opinion mining and sentiment analysis 2008(3)6 Huang XJ.Zhao J Sentiment analysis for Chinese text 2008(2)7 Sepp Hocheriter,Jurgen Schmidhuber. LONG SHORT-TERM MEMOR
25、Y. Neural Computation 9(8):1735-1780, 1997 8 ZHANG Liang,HUANG ShuGuang,SHI ZhaoXiang,HU RongGui.CAPTCHA Recognition Method Based on RNN of LSTMJ. PRAI,2011,24(1):40-479 Yu Shimin. Prediction of adsclick through rate based on recurrent neural network D. Zhejiang Sci-tech University, 2016.10TANG Ming
26、,ZHU Lei,ZOU Xian-chun.Document Vector Representation Based on Word2vecJ. Computer Science,2016,43(6):214-21711 HAN Li,SHI Li-ping,XU Zhi-gao. Structure of RBF with long and short term memory based on field knowledgeJ .Journal of Nor th China Electric Pow er University,2008,35(5):78-8312 ZHENG Wen-chao,XU Peng.Research on Chinese word Clustering with Word2vecJ.SOFTWARE,2013,34(12):160-16213 Felix A. Gers, Nicol N. Schraudolph, Jurgen Schmidhuber. Learning Precise Timing with LSTM Recurrent NetworksJ. Journal of Machine Learning Research 3 (2002) 115-143