CNN结合BLSTM的短文本情感倾向性分析
2019-12-12司新红王勇
司新红 王勇
摘 要:情感分析在业界被广泛应用于产品分析、商品推荐等方面,具有很高的商业价值。目前常用的研究方法主要基于机器学习算法和基于词典的方法,该类方法通常需依赖复杂的人工规则和特征工程。针对传统情感分类方法需要人工干预的问题,总结目前已有可用于情感分析的深度学习方法,提出将卷积神经网络(CNN)和双向长短时记忆网络(BLSTM)进行组合,并将融合后的特征添加至注意力机制,设计出CBLSTM-Attention模型。实验表明,该模型在中文数据集上准确率达0.965 0,在NLPCC英文数据集上准确率达0.942 2,证明该方法不仅可提高文本情感倾向性分析的准确率,而且可有效解决人工干预问题。
关键词:卷积神经网络;双向长短时记忆网络;注意力机制;文本情感分析;深度学习
0 引言
随着微博、论坛、豆瓣、微信等社交媒体的发展,网民在网络上的行为已不再局限于信息浏览,更多的用户在社交网络上表达自己的观点,分享知识、创作内容,这也成为互联网资源的一部分[1]。这些内容既包括对热点新闻事件的评论,也包括对特定商品的评价,上述信息带有明显情感倾向。由于互联网用户规模大、传播速度快,如何从海量、非结构化文本数据中挖掘出有价值的信息,是情感分析的主要任务[2]。
情感分析(Sentiment Analysis),也被称为意见/评论挖掘(Review/Opinion Mining)[3],指对带有主观情感色彩的文本数据进行处理和分析,从中提取出结构化的有价值的信息。情感分析主要包括情感抽取、情感极性分析、主客观分析等子课题。在学术界,情感分析是计算语言学和自然语言处理领域的一个基础任务。情感分析在工业界被广泛应用于股票价格预测[4]、产品分析[5]、商品推荐等方面;对于政府部门来说,情感分析更是舆情监测、民意调研、危机管理的基础技术。随着信息量爆炸式增长,已经不可能依靠人工进行信息收集和整理,因此如何从海量数据中自动挖掘出情感信息非常重要。
情感分析主要是对文本或者句子、短语等进行情感极性分析,分析结果可以是积极、消极或中性,或者是情感极性的强弱等[6]。传统情感分析相关研究方法可大致分为基于词典的方法和基于机器学习的方法两类[7]。在基于词典的无监督方法中,Turney[8]于2002年以大量语料资源为基础,基于语义分类,利用PMI-IP算法比较情感短语与两个种子情感词之间的互信息得出短语的情感值,并进一步得到文章情感值;在以往基于机器学习的情感分析中,2010年,昝红英等[9]将机器学习中的经典分类方法与规则方法结合,利用支持向量机分类器研究特征选择与特征权重,再计算两种方法结合对实验结果的影响。基于情感词典的方法,需要使用已人工标注的情感词典。该方法严重依赖情感词典的质量,并且词典的维护需要耗费大量人力物力,隨着新词的不断涌现,已经不能满足应用需求,亟待改进与优化。虽然基于机器学习方法已经取得了很好的效果,但是特征和模板均需要人工设计,而且设计的特征往往没有良好的适应性,当领域变化时需重新设计。
为了避免过多的人工设计特征,研究者们开始使用深度学习方法,本文提出采用基于三通道卷积神经网络和双向长短时记忆网络进行组合,然后加入注意力机制对句子中的关键词给予更多的注意力,以便更有效地获取句中的情感信息,实现更准确的情感分类。
1 相关工作
1.1 深度学习
深度学习的核心是特征学习,旨在通过分层网络获取分层次的特征信息,从而解决以往需要人工设计特征的重要难题。近年来,深度学习算法在自然语言领域取得了十分出色的成果,经典成果是循环神经网络(Recurrent Neural Network,RNN)。RNN首先被Socher[10]在句法解析时采用,Irsoy等[11]将RNN结合成深层结构,使其成为一个典型的3层结构的深度学习模型。RNN被证明在解决序列化问题上效果突出,能够利用上下文信息,但是RNN在求解过程中存在梯度爆炸和消失问题[12],并且对长文本的处理效果不佳。后期提出的长短时记忆神经网络(Long Short-Term Memory,LSTM)有效解决了该问题,长短时记忆神经网络通过在隐藏层增加3种“门”的结构控制细胞状态,适合解决长序列问题,尔后又衍生出BLSTM,经常被用于解决序列化的问题,如机器翻译、中文分词等。目前,基于深度学习的自然语言处理成为主流研究方向。
1.2 文本情感分析
情感分析的概念最早在2002年由Pang等[13]提出,之后文本情感分析吸引了越来越多的注意。目前关于文本情感分类技术的研究按照文本特点来分,主要有词语级[14]、句子级[15-16]、篇章级[17]3类,另外近年来针对各种短文本,如Twitter[18]、微博[19]、商品评论等的研究成果大量涌现。任远等[20]采用支持向量机和TF-IDF计算特征项权值进行情感分析;石强强等[21]采用SVM对不同的特征组合进行训练测试,并对每个组合的正确率进行分析,然后找出最适合用户评论情感分析的文本特征及特征组合;罗帆等[22]提出一种多层网络H-RNN-CNN处理中文文本情感分类任务。随着深度学习在自然语言处理领域越来越广泛的应用,许多基于深度学习、或深度学习与传统算法结合的情感分析模型被提出。
2 CBLSTM-Attention模型结构
2.1 词向量表示
2.1.1 数据预处理
无论文本数据是何种类型,在进行分类任务之前均须进行数据清洗降噪,因为原始的用户评论包含与情感无关的信息,良好的预处理会提高分类准确率。进行文本预处理的主要目的是去除文本中的一些噪声数据,从而获得与最终分类相关的数据。英语文本中单词与单词之间存在天然的空格符,但中文文本不同,所以需要对中文文本进行分词操作,将中文文本评论的词语与词语分离开,形成有合理语义的词语。本文采用的分词工具是使用Python语言编写的中文分词工具:结巴(jieba)分词。
2.1.2 文本向量化表示
文本向量化表示指将分词结果用词向量表示,本文采用的词向量表示方法由Hinton[23]提出。该方法将文本建模转化成机器学习问题,训练大规模的语料数据,输出指定维度的特征向量,既保存了较为丰富的文本语义信息,也起到了特征向量降维的作用,优于传统One-Hot编码和词袋模型(Bag of Words Model)。由谷歌推出Word2Vec是目前较常用的词向量工具,其主要基于CBOW(Continuous Boags-of-Words)模型和Skip-gram模型[24],这两个模型结构如图1、图2所示。
CBOW模型利用当前词[Wt]的上下文预测当前词[Wt]的概率,每一个在上下文中出现的词都对当前词的出现概率有相同的影响权重;Skip-gram模型则利用当前词[Wt]预测其上下文概率。本文采用Skip-gram模型,上下文窗口大小为5,在大量无标注语料上进行词向量训练,将训练完成的词向量作为模型词向量。
2.2 卷积神经网络
卷积神经网络是一种前馈神经网络,由Hubel&Wissel在研究猫脑皮层时发现并提出,在图像识别、推荐系统和自然处理领域得到了广泛应用。典型的网络结构由输入层、卷积层、池化层(下采样层)、全连接层和输出层组成。其中池化层为特征映射层,对经过卷积层后得到的特征进行采样,得到局部最优值。CNN结构如图3所示。
2.3 双向长短时记忆神经网络
长短时记忆神经网络(Long Short-Term Memory,LSTM)是对传统循环神经网络(Recurrent Neural Network,RNN)模型的一种改进,解决了RNN的长期依赖问题和序列过长导致的梯度爆炸问题。标准LSTM网络通常包含3层结构,即输入层、输出层、隐藏层。在解决自然语言处理任务时,LSTM模型仅考虑上文信息,没有用到下文信息,丢失了部分语义信息。BLSTM主要构建一个对齐的双层模型,一层从左到右传播,一层从右向左传播,每一层都是传统的LSTM模块,BLSTM模型包含输入层、前向传递层、后向传递层,输出层。本文采用的BLSTM模型结构如图4所示。
2.4 注意力机制
深度学习的注意力模型是模拟人脑注意力的模型,对比传统模型有显著优化,2014年Bandanau等[25]最早提出了Soft Attention Model,并把它运用到机器翻译等相关领域。注意力模型可计算注意力分配概率分布,给出输入句子X中任一个单词的相关概率,得出概率分布,模型结构如图5所示。
2.5 CBLSTM-Attention模型构建
本文构建的CBLSTM-Attention模型如图6所示。本文提出将三通道卷积神经网络(CNN)和双向长短时记忆网络(BLSTM)进行组合,并将融合后的特征与注意力机制结合,构建出新的网络模型。利用CNN提取文本向量的局部特征,利用BLSTM提取与文本上下文相关的全局特征,将两种互补模型提取的特征进行融合,解决了单卷积神经网络模型忽略词的上下文语义和语法信息的问题,也有效避免了传统循环神经网络梯度消失或梯度弥散问题,加入注意力机制对句子中的关键词给予更多的注意力,以便更好地获取句子中的情感信息,实现更准确的情感分类。
本文模型首先对原始语料C进行预处理,并通过Word2Vec训练出词向量,构建出每个句子对应句向量;将构建出的句向量分别输入CNN的卷积层和BLSTM,为了取得更好的实验效果,卷积窗口采用3、4、5进行结合,卷积层采用的激活函数为RELU,步长设置为1,通过卷积操作提取句子局部特征;池化层采用Max-Pooling,窗口采用2, 通过池化操作提取关键特征,然后将3个池化操作输出的特征拼接起来,作为Attention输入的一部分;同时,将构建出的句向量作为BLSTM的输入,经过隐层LSTM单元,獲得两组特征,将这两组特征进行拼接,作为注意力输入的一部分;最后将CNN和BLSTM的输出进行融合,作为注意力的输入。将注意力提取出的重要特征,输入到全连接层,并通过[softmax]进行分类。为了防止过拟合,采用L2正则化约束网络参数,同时引入Dropout机制。
3 实验与分析
3.1 实验语料数据
本文采用中文和英文两类数据集进行实验验证,所有数据集如表1所示。
(1)ChnSentiCorp(Songbo Tan)[26],中文情感语料。本文采用数据去重的6 000条数据,正负样本各3 000条。
(2)PR(NLPCC2014)[27],中英文数据集。这是由中国中文信息学会举办的自然语言处理会议公布的深度学习情绪分类评测数据集,包含中文数据(NLPCC-cn)10 000条和英文数据(NLPCC-en)9 985条。
3.2 实验评价指标
本文在情感样本上采用准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1-Measure作为评价情感分类结果好坏的指标。文本情感倾向性分析实际上是二分类问题,本文针对该问题给出响应的分类结果混淆矩阵,如表2所示。
3.3 模型参数
实验参数的选择影响最终实验结果,词向量维度可以反映词语特征,特征越多越容易准确地区别不同的词,但是维度太大可能会淡化词与词之间的关系,同时随着词向量维度的增加,计算复杂度也会增加。本文比较了100维、200维和300维的词向量,发现在中文数据集上词向量采用100维词、英文数据集词向量采用300维时,可以取得较好的效果;优化函数采用RMSProp、Adam、Adadelta进行对比实验;批处理个数采用50、64、128进行对比实验。通过对比参数对实验结果的影响,相关参数范围如表3所示,在不同数据集上的具体取值略有不同。
3.4 实验结果与分析
为验证本文模型有效性,基于3种数据集比较BLSTM模型、CNN模型、BLSTM-CNN模型、CBLSTM-Attention模型。其中CBLSTM-Attention模型是本文提出的BLSTM和CNN的組合,并通过Attention提取重要特征。同时,本文还引用了相同数据集上已有的代表性工作与之进行比较。
(1)不同模型在数据集NLPCC-en上的对比。图7和图8是NLPCC-en英文数据集在BLSTM模型、CNN模型、BLSTM-CNN模型、CBLSTM-Attention模型上损失函数Loss值和准确率随迭代次数的变化而变化,图9是不同模型在NLPCC-en数据集上评价指标的对比,模型具体参数取值如表3所示。对比图7发现所有模型均下降到相对较低的稳定值,本文模型、BLSTM模型的loss值下降速度较快,并且最终收敛到一个很低的稳定值。
对比图8发现,在相同条件下,本文模型准确率相对于其它3个模型收敛速度较慢,但是准确率达到0.949 2,明显高于其它模型。对比图9的其它评价指标,CBLSTM-Attention模型均高于其它3个模型。因为CNN卷积层限定了参数个数,虽然能够挖掘局部信息,但是无法对时间序列上的变换有效建模;BLSTM可以提取与文本上下文相关的全局特征,重点关注词在上下文语义和语法信息的问题,而CNN池化层可对特征向量图进行采样操作,提取重要的特征信息,所以将BLSTM和CNN进行组合后的模型比单模型准确率高约2%;本文提出的CBLSTM-Attention模型相对于单模型提高了约9%,相对于BLSTM和CNN组合后的模型提高了约7%。因为若不引入注意力机制,每个词对目标词的贡献相同,这样所有语义完全通过一个相同的中间语义向量C表示,则大量细节信息会丢失。注意力分配模型可以给每个词赋予不同的权重,突出关键输入对输出的作用,所以本文模型在相同数据集上取得了较好的效果。
(2)注意力机制对模型结果的影响。表4为在所有参数均相同的情况下,加入注意力机制后在3种数据集上的比较,在NLPCC英文数据集上提高了约7%,在NLPCC-cn中文数据集上提高了约4%,在ChnSentiCorp中文酒店评论数据集上提高了约5%。实验表明,加入注意力机制确实可以提高模型准确率,对于文本情感分析可以取得非常好的效果。
(3)本文模型与其它研究的对比。为了验证本文方法的有效性,表5将本文模型与已有的代表性工作进行对比。相比于NLPCC-SCDL评测中分类效果最好的算法(NLPCC_SCDL_best),本文CBLSTM-Attention模型在中文数据集的F1值提升了约4%,在英文数据集上F1-Measure提升了约7%;罗帆等[22]基于深度学习提出H-RNN-CNN层次模型,模型使用RNN建模词语序列和句子序列,并通过CNN识别跨语句信息,取得了较好效果,但是本文提出的基于Attention机制的CBLSTM-Attention模型在NLPCC中文数据集和ChnSentiCorp中文酒店评论数据集上明显优于H-RNN-CNN;曹宇慧[28]提出了一种结合卷积神经网络和支持向量机的文本情感分析模型。本文利用该模型,首先将卷积神经网络作为自动特征学习器,学习输入样本的特征表达,然后将获得的特征表达作为支持向量机的输入,发现本文模型明显提高了文本分类的F1-Measure值。
4 结语
本文提出的CBLSTM-Attention模型将BLSTM和CNN进行组合提取特征信息,BLSTM可提取与文本上下文相关的全局特征,重点关注词在上下文的语义与语法信息,而CNN池化层可对特征向量图进行采样操作,提取重要的特征信息,然后将提取到的特征信息输入到注意力机制,对于不同的词赋予不同的权重,使文本更加关注与输出结果有关的特征,将本文模型与CNN模型、BLSTM模型、BLSTM-CNN模型进行对比实验,证明本文模型可取得较好的效果,将本文模型与其它相关研究进行比较,发现在3个数据集上的表现均有明显提高。但由于本文模型仅研究了与上下文有关的向量输入,未涉及词性研究,所以下一步工作是研究词性对文本分类准确率的影响。
参考文献:
[1] 田竹. 基于深度特征提取的文本情感极性分类研究[D]. 济南: 山东大学,2017.
[2] 王树恒. 基于深度学习的维吾尔语文本情感分析[D].乌鲁木齐: 新疆大学,2017.
[3] PANG B, LEE L. Opinion mining and sentiment analysis[M]. Berkeley: Now Foundations and Trends? in Information Retrieval, 2008.
[4] BOLLEN J, MAO H, PEPE A. Modeling public mood and emotion: Twitter sentiment and socio-economic phenomena[C]. Proceedings of the International AAAI Conference on Weblogs and Social Media, 2011: 17-21.
[5] BING L. Sentiment analysis: a fascinating problem[M]. Massachusetts: Morgan and Claypool Publishers, 2012.
[6] NASUKAWA T,YI J. Sentiment analysis: capturing favorability using natural language processing[C]. Proceedings of the 2nd International Conference on Knowledge capture,2003: 70-77.
[7] 张林,钱冠群,樊卫国,等. 轻型评论的情感分析研究[J]. 软件学报,2014,25(12):2790-2807.
[8] TURNEY P D. Thumbs up or thumbs down?semantic orientation applied to unsupervised classification of reviews[C]. Proceeding of Association for Computational Linguistics 40th Anniversary Meeting,2002:1417-1424.
[9] 昝红英,郭明,柴玉梅,等. 新闻报道文本的情感倾向性研究[J]. 计算机工程,2010(15): 20-22.
[10] SOCHER R, LIN C C, MANNING C, et al. Parsing natural scenes and natural language with recursive neural networks[C]. Proceedings of the 28th international conference on machine learning,2011: 129-136.
[11] IRSOY O, CARDIE C. Deep recursive neural networks for compositionality in language[C].Advances in Neural Information Processing Systems,2014: 2096-2104.
[12] HOCHREITER S,BENGIO Y,FRASCONI P. Gradient flow in recurrent nets: the difficulty of learning long term dependencies[M]. New York:Wiley-IEEE Press, 2001.
[13] PANG B, LEE L, VAITHYANATHAN S. Thumbs up?: sentiment classification using machine learning techniques[C]. Proceedings of the ACL-02 Conference on Empirical Methods in Natural Language Processing,2002: 79-86.
[14] TABOADA M,BROOKE J,TOFILOSKI M,et al. Lexicon-based methods for sentiment analysis[J]. Computational linguistics, 2011, 37(2): 267-307.
[15] JIANG L,YU M,ZHOU M,et al. Target-dependent twitter sentiment classification[C]. Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies,2011: 151-160.
[16] 楊立公,朱俭,汤世平. 文本情感分析综述[J]. 计算机应用, 2013, 33(6):1574-1607.
[17] BALAHUR A,STEINBERGER R,KABADJOV M,et al. Sentiment analysis in the news[C]. Proceedings of the 7th International Conference on Language Resources and Evaluation,2010: 2216-2220.
[18] NAKOV P, RITTER A, ROSENTHAL S, et al. SemEval-2016 task 4:sentiment analysis in Twitter[C]. Proceedings of the 10th international workshop on semantic evaluation(semeval-2016),2016:1-18.
[19] LIU H, LI S, JIANG C, et al. Sentiment analysis of Chinese Micro- blog based on DNN and ELM and vector space model[C]. Proceedings of ELM-2015, 2016: 117-129.
[20] 任远, 巢文涵, 周庆, 等. 基于话题自适应的中文微博情感分析[J]. 计算机科学, 2013, 40(11): 231-235.
[21] 石强强,赵应丁,杨红云. 基于SVM的酒店客户评论情感分析[J]. 计算机与现代化,2017(3):117-121.
[22] 罗帆, 王厚峰. 结合 RNN 和 CNN 层次化网络的中文文本情感分类[J]. 北京大学学报:自然科学版,2018,54(3): 459-465.
[23] LAROCHELLE H, MANDEL M, PASCANU R, et al. Learning algorithms for the classification restricted Boltzmann machine[J]. Journal of Machine Learning Research, 2012, 13(Mar): 643-669.
[24] MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality[C].Advances in Neural Information Processing Systems,2013: 3111-3119.
[25] BAHDANAU D,CHO K,BENGIO Y. Neural machine translation by jointly learning to align and translate[DB/OL]. http://pdfs.semanticscholar.org/071b/16f25117fb6133480c6259227d54fc2a5ea0.pdf.
[26] NLPIR大数据搜索与挖掘实验室. 中文情感语料[DB/OL]. http://www.nlpir.org/?action-viewnews-itemid-77.
[27] NLPCC2014. NLPCC 2014 Evaluation Tasks Sample Data [DB/OL]. http://tcci.ccf.org.cn/conference/2014/pages/page04_sam.html.
[28] 曹宇慧. 基于深度学习的文本情感分析研究[D]. 哈尔滨: 哈尔滨工业大学, 2015.
(责任编辑:江 艳)