基于深度神经网络和LSTM的文本情感分析
2019-01-23王子牛吴建华高建瓴陈娅先
王子牛,吴建华,高建瓴,陈娅先,王 许
基于深度神经网络和LSTM的文本情感分析
王子牛1,吴建华2,高建瓴2,陈娅先2,王 许2
(1. 贵州大学计算机网络中心,贵州 贵阳 550000;2. 贵州大学大数据与信息工程学院,贵州 贵阳 550000)
在自然语言处理任务中,词向量的出现大幅度提高了模型的性能,因此通常直接使用词向量初始化的深度模型。由于训练的数据集和方法会影响词向量的质量,为了减少这种影响,本文提出了深度神经网络结合LSTM模型来实现情感分析。先将词向量输进到深度神经网络实现对词向量的隐藏特征再一次提取,然后输入到LSTM网络中进行情感分析,由此来提高情感分析的准确率。实验表明,本文提出的模型比起单个LSTM模型,深度神经网络结合LSTM模型在文本情感分析上具有更高的性能。
情感分析;词向量;深度神经网络;LSTM
0 引言
目前国内的电商发展迅猛,网上购物早已普及,随之而来的是大量的商品评论。而对商品评论进行相应的情感分类,不仅可以了解大众对商品喜爱还是厌恶,而且还有利于商家对客户提出相应的购买建议及对其商品和服务的改进,从而提高商品的商业价值。因此,对中文商品评论进行相应情感倾向[1]分析是非常有必要的。
传统的文本情感分类方法主要有两种:1)基于词典(Lexicon-based)的情感分类方法;2)基于机器学习的情感分类方法。前者核心模式是“词典+规则”,即以情感词典[2]作为判断情感极性的主要依据,同时兼顾评论数据中的句法结构,设计相应判断规则。本质上依赖情感词典和判断规则的质量,而这两者都需要人工设计,因此这类方法优劣取决于人工设计和先验知识,其推广能力差;而后者基于机器学习的情感分类方法多使用经典分类模型如支持向量机[3]、朴素贝叶斯、最大熵模型等,其中多数分类模型的性能依赖于标注数据集的质量,而获取高质量的标注数据也需要耗费大量的人工成本。
随着深度神经网络的兴起,深度神经网络在自然语言处理也被广泛应用。2003年 Bengio等人[4]通过神经网络训练词向量来表示文本。词向量不仅可以有效获取语义信息[5],而且避免了数据稀疏性问题,利用词向量表示文本,并采用深度学习模型,如递归神经网络[6-7]、卷积神经网络(CNN)[8-9]、循环神经网络(RNN)[10]等进行分类[11-13]可以获得比传统机器学习方法更优的效果。
考虑到在对商品评论进行情感分类时,文本对上下文有较强的依赖性,而传统的神经网络模型不能很好地解决该问题。Elman[14]在1990年提出了循环神经网络(Recurrent Neural Network,RNN),RNN具有一定的处理长序列的能力,但存在梯度爆炸和消失的问题。为了解决这个问题,1997年,Hochreiter &Schimidhuber[15]提出了长短期记忆单元(Long Short- Term Memory,LSTM)用于改进传统的RNN模型。LSTM通过带细胞的记忆单元来替代RNN隐藏层中的模块,同时使用输入门和输出门来让信息选择式通过。1999年,Gers等[16]在前面的基础上又引入了遗忘门。这三个门和细胞状态的设计,使得LSTM可以记忆、更新长距离的信息,从而可以实现对长距离信息的处理。因此本文将采用长短时记忆神经网络(LSTM)进行情感分类。另外,引入深度神经网络对词向量隐藏特征提取。基于此,本文提出了一种基于深度神经网络结合LSTM模型对中文商品评论进行情感分类。为了验证模型的有效性,本文采用某电商网站的京东网站对美的热水器评论数据集对模型进行实验。实验结果表明,该模型取得了较好的效果。
1 基于深度神经网络和LSTM的本文模型
基于深度神经网络和LSTM的模型如图1所示。该模型主要有四个部分组成:
图1 基于深度神经网络和LSTM的模型
(1)将文本分词后,用词向量来表示。
(2)利用深度神经网络对词向量隐藏特征的提取。
(3)利用LSTM层获取文本特征。
(4)最后利用softmax分类器进行情感分类。
◆申请课题时,无论自己的知识储备如何,皆敢气吞山河地声称其成果将有重大创新与社会影响、理论价值、国内领先、国际一流云云.
1.1 文本的词向量表示
1.2 深度神经网络
深度神经网络其第一层为输入,最后一层为输出,中间层都为隐藏层,其三层结构大致如图2所示:
图2 简单的三层深度神经网络示意图
在构建深度学习网络层时,输入层和输出层只有一层,但是隐藏层则根据实际任务所需可以有很多层。其中,输入层是输入的数据。而隐藏层和输出层则由神经元构成,而且每一层的神经元个数不是固定的,由具体任务实现时而定。每个神经元结构如图3所示:
图3 神经元
一个神经元有n个输入,每一个输入对应一个权值w,神经元内会对输入与权重做乘法后求和,求和的结果与偏置做和,最终将结果放入激活函数中,由激活函数给出最后的输出。
1.3 LSTM模型
在处理时间序列问题上,无论是分类还是预测的问题,循环神经网络(RNN)都有着很好的优势。它能够将循环神经网络的神经单元输出作为下个神经单元的输入,这样可以有效利用前面的信息。在情感分析的问题中循环神经网络能够利用上文信息,从而提高分类的准确率。然而,传统循环神经网络利用上文信息的有限,当文本过长时,容易造成梯度爆炸和消失的问题。之后提出的LSTM能够避免梯度爆炸和消失的问题,而LSTM也是RNN的一种,也具有对上文信息有效利用,它的模型如图4所示:
图4 LSTM模型
LSTM模型是一系列重复的LSTM单元构成,每个单元模块包含三个门:遗忘门(forget gate)ft、输入门(input gate)it、输出门(output gate)ot和一个记忆单元(memory cell)Ct,LSTM单元的表示如下:
1)遗忘门(forget gate):遗忘门是以上一单元的输出ht-1和本单元输入xt为输入的sigmoid函数,为Ct-1的每一项产生[0,1]内的值,来控制上一单元被遗忘的程度
3)输出门(output gate):输出门用来控制当前的单元状态有多少被过滤掉。先将单元状态激活,输出门为其中每一项产生一个在[0,1]内的值,控制单元状态被过滤的程度。
1.4 情感分类
为了进行情感分类,取出LSTM模型最后的一个输出结果H,输入softmax层进行结果预测,预测结果为:
将模型定义好后,采用随机梯度下降法实现模型的训练,且为防止过拟合,本文也将使用dropout技术,并进行对dropout的设定值进行讨论。
2 实验
2.1 数据集
为验证本文模型的有效性,采取了在京东网站上购买的美的热水器评论作为数据集,且此数据集是不平衡数据集。数据集分为两部分:(1)训练数据集25449评论,包含积极评论21075条和消极评论4374条;(2)测试集5576评论,包含积极评论4509条和消极评论1067条。数据集样例见表1。
表1 数据集样例
Tab.1 Sample data set
2.2 数据预处理
本文先采用jieba分词工具对评论进行分词,利用停用词文档,删除评论中的无用词、无效符号和标点符号。取每条评论的前50词,不足50词的以空格填充,使用由word2vec训练的模型构建文本特征向量,且词向量的维度为60维。构建文本向量时,当有word2vec模型未出现的进行padding。
2.3 实验参数设置
训练神经网络中参数设置非常关键,本文中主要参数设置为:深度神经网络设为由180个神经元和以Leanky-ReLU作为激活函数的隐藏层,而输出层由60个神经元和Leanky-ReLU激活函数构成。学习率0.01,批次处理的评论数为32。而LSTM隐藏层设为64、128和200,dropout值以1、0.8、0.7、0.6和0.5,分别进行实验。
2.4 实验结果
本文的实验环境的主要参数CPU:Intel(R) Core (TM) i7-7700HQ CPU@2.80 GHz 2.81 GHz,CPU内存(RAM)为8 GB,操作系统为Windows10(基于x64处理器的64位操作系统),实验平台为python3.6。
本文试验评价标准为查全率(P)、召回率(R)和F值。试验结果见表2。
表2 实验结果
Tab.2 Experimental result
通过表2可以看出:
1)无论是本文模型还是LSTM模型,在隐藏层为128和dropout值为0.6时取到最大值。并且通过整个实验可以看出dropout防止过拟合技术,能够有效提高模型性能,在本次实验中值dropout为0.6的效果最好。
2)在不平衡数据集中,P值和R值差距较大,且波动大,因此评判值F值得参考价值更大。而在本文实验中,无论在什么条件下,本文模型相比较于LSTM模型,F值都是本文模型更高,能够说明深度神经网络对提取词向量隐性特征是有效的,更有利于提高情感分类精度。
3 结论
本文提出了一种基于深度神经网络和LSTM的情感分类模型。实验表明当将以word2vec模型构成的词向量直接输入深度神经网络后,是有利于提取词向量的隐性特征的,这样的向量输入LSTM模型中提高模型性能。
由于用来实现情感分类的模型较多,在接下来的工作中将深度神经网络带入更优的模型中,研究是否同样可以提高模型性能
[1] 王坤亮. 汉语情感倾向自动分类方法的研究[J]. 软件, 2013, 34(11): 73-76.
[2] 王非. 基于微博的情感新词发现研究[J]. 软件, 2015, 36(11): 06-08.
[3] 陈海红. 多核SVM文本分类研究[J]. 软件, 2015, 36(5): 7-10.
[4] Yoshua Bengio, Holger Schwenk, Jean-Sébastien Senécal, et al. A Neural Probabilistic Language Model[J]. Journal of Machine Learning Research, 2003, 3: 1137-1155.
[5] Mikolov Tomas, Yih Wen-tau, Zweig Geoffrey. Linguistic regularities in continuous space word representations[C]. The Annual Conference of the North American Chapter of the Association for Computational Linguistics(NAACL-HLT), 2013: 746-751.
[6] Richard Socher, Brody Huval, Christopher D. Manning, et al. Semantic compositionality through recursive matrix vector spaces[C]. Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning(EMNLPCoNLL), 2012: 1201-1211.
[7] Richard Socher, Alex Perelygin, Jean Wu, et al. Recursive deep models for semantic compositionality over a sentiment Treebank[C]. Proceedings of 2013 Conference on Empirical Methods in Natural Language Processing(EMN LP), 2013: 1631-1642.
[8] Yoon Kim. Convolutional neural networks for sentence classification[C]. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing(EMN LP), 2014: 1746-1751.
[9] Nal Kalchbrenner, Edward Grefenstette, Phil Blunsom. A convolutional neural network for modelling sentences[C]. Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics(ACL), 2014: 655-665.
[10] Siwei Lai, Liheng Xu, Kang Liu, et al. Recurrent convolutional neural networks for text classification[C]. Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence, 2015: 2267-2273.
[11] 刘腾飞, 于双元, 张洪涛, 等. 基于循环和卷积神经网络的文本分类研究[J]. 软件, 2018, 39(01): 64-69
[12] 张玉环, 钱江. 基于两种 LSTM 结构的文本情感分析[J]. 软件, 2018, 39(1): 116-120.
[13] 刘腾飞, 于双元, 张洪涛, 等. 基于循环和卷积神经网络的文本分类研究[J]. 软件, 2018, 39(01): 64-69[14] Elman J L. Finding structure in time[J]. Cognitive science, 1990, 14(2): 179-211.
[14] Hochreiter S, Schmidhuber J. Long Short-Term Memory[J]. Neural Computation, 1997, 9(8): 1735-1780.
[15] Gers F A, Schmidhuber J, Cummins F. Learning to forget: Continual prediction with LSTM[J]. Neural computation, 2000, 12(10): 2451-2471.
Text Sentiment Analysis Based on Deep Neural Network and LSTM
WANG Zi-niu1, WU Jian-hua2, GAO Jian-ling2, CHEN Ya-xian2, WANG Xu2
(1. Guizhou University, Computer network center, Guiyang, 550000; 2. Guizhou University, School of Big Data and Information Engineering, Guiyang, 550000)
In natural language processing tasks, the appearance of word vectors greatly improves the performance of the model, so the depth model initialized by the word vector is usually used directly. Since the trained data sets and methods affect the quality of the word vector, in order to reduce this effect, this paper proposes a deep neural network combined with the LSTM model to achieve sentiment analysis. The word vector is first input into the deep neural network to realize the hidden feature of the word vector and then extracted, and then input into the LSTM network for sentiment analysis, thereby improving the accuracy of sentiment analysis. Experiments show that the proposed model has higher performance in text sentiment analysis than the single LSTM model, deep neural network combined with LSTM model.
Emotional analysis; Word vector; Deep neural network; LSTM
TP183
A
10.3969/j.issn.1003-6970.2018.12.005
云环境中半监督聚类算法的并行化研究、贵州省科技厅基金项目、黔科合[2015]2045号
王子牛(1961-),男,副教授,主要研究方向:自然语言处理;高建瓴(1969-),女,副教授,主要研究方向:图像处理;吴建华(1993-),男,研究生,主要研究方向:自然语言处理;陈娅先(1995-),女,研究生,主要研究方向:自然语言处理;王许(1993-),男,研究生,主要研究方向:自然语言处理。
王子牛,吴建华,高建瓴,等. 基于深度神经网络和LSTM的文本情感分析[J]. 软件,2018,39(12):19-22