2. 华南师范大学 计算机学院,广东 广州 510631
2. College of Computer, South China Normal University, Guangzhou 510631, China
情感分析的目的是根据用户或者产品中的数据进行分析其极性特征,得出用户的行为分析结果。目前,情感分析已经得到工业界和学术界的广泛关注。
篇章的情感分类是情感分析任务中的一项基础任务,假设每个篇章只有一个情感目标的情况下,分析篇章的情感极性得到情感倾向性。Pang等[1]采用了传统统计学的方法在情感分析上进行应用,对文本中词的性质特征进行有效的标注,该方法在情感分析的实验中取得良好的实验效果,由此证明了标记词性在情感分析上具有积极的意义。Lu等[2]利用词典WordNet来发现情感词汇。Wang等[3]将机器学习方法SVM与朴素贝叶斯方法进行结合,在情感分类任务中得到良好的实验效果。Kiritchenko等[4]使用tweets中的标签和表情来构建情感特征。
神经网络模型在自然语言处理的各个领域都取得较好效果,如命名实体识别[5-6]、机器阅读[7-8]和问答系统[9]。在篇章情感分析中,Kim[10]提出用词向量训练方法表示文本信息,在CNN模型中成功地进行文本的篇章分类。Kalchbrenner等[11]构建卷积神经网络模型,采用MAX-Pooling进行提取情感特征并取得良好的实验效果。Zhang等[12]使用字符作为最小单元,以卷积神经网络进行文本分类,在多个数据上取得较好效果。
层次化神经网络模型和注意力机制结合在情感分析中取得较好效果。Tang等[13]建立了一种层次化模型,使用CNN和LSTM从词和句子两个角度获取篇章的特征表示。Yang等[14]将注意力机制与层次化模型结合,利用注意力机制分别关注句子中的关键词和篇章中的关键句子。这些方法多以循环神经网络模型为基础,结合注意力构建层次化的模型,或者仅从词角度分析篇章。
在篇章级的文本情感分析中,理想的层次化情感分析模型应当在层次的第一层中将重点情感特征进行明显表示,以帮助模型挖掘到重要的情感特征。在第二层发现并整合篇章的重要句子,得到篇章整体语义。CNN具有较强的局部特征提取能力,但CNN无法自动判别输入文本中哪些局部特征词较为重要,故本文首先结合注意力和卷积神经网络构建词注意力的卷积神经网络,发现重点词汇。因此,本文构建一个双注意力的层次化情感分析模型。采用双注意力机制,模型使用两个注意力机制,分别关注重要的词汇和句子。在提取句子中的关键词时,使用局部注意力机制,获取篇章关键句子时,使用全局注意力机制。CNN有助于获取局部特征,局部注意力可使模型更有效地关注重点词汇,提取句子的局部特征。第二层中,GRU神经网络可提取到整个篇章的语义,全局注意力可关注到篇章中的重点句子,得到篇章的整体语义信息[15-16]。
本文主要贡献如下:
1)利用注意力机制与卷积神经网络进行建模,构建层化的情感分类模型,改进的CNN可有效发现句子的重点词汇,形成句子表示;
2)本文的模型在多个数据集上取得当前最好实验效果;
3)本文从局部特征和全局语义两个角度提取特征,两个注意力机制分别关注不同的侧面,多元的特征更有助于篇章的表达。
1 相关工作篇章级别的情感分类是情感分析的一项基础工作[3],Pang等[1]将情感分类问题视为同篇章分类相似的任务,采用监督学习算法解决该任务。Wan[17]使用英文数据作为训练集,训练模型解决了中文情感分类问题,用于解决交叉语言情感分析的难题。Zagibalov等[18]提出一种能自动提取商品评论中情感词的方法,该方法是一种无监督的机器学习算法,无需任何的标注数据集。
但是,上述方法多依赖于特征工程,在构建特征工程过程中需要耗费大量时间和财力,并且不能很好地提取到评论的语法和语义信息。词嵌入[19-21]原理在于,利用一个计算好的词典向量表将文本映射成相应的实值向量。Tang等[22]使用一种改进的基于情感信息辅助的词嵌入方法提高情感分析的准确性。其他的传统神经网络模型在情感分析任务中应用得非常广泛,如RNN和CNN常被用来设计模型,并且承担了大量的情感分析任务。Kim[10]以CNN为基础构建了一个多通道CNN模型,以此提取多方面的情感特征。Johnson等[23]用单词的独热表示作为输入特征,使模型学习到更深层的语义特征,从而进行情感分析。Socher等[24]在RNN上进行构建情感分类模型并取得良好的实验效果。Tang等[13]提出将卷积神经网络与循环神经网络进行结合的基于层次化的篇章分类模型。该模型首先利用CNN或RNN学习句子的特征表示。然后,使用一种带有门控机制的RNN构建篇章的特征表示。
注意力机制是一种有效神经网络机制。Xu等[25]利用注意力机制进行图像分析,在图像分类上改善了分类的性能。注意力机制在其他领域也有良好的应用,例如在机器翻译领域获得了应用研究,其常被用来优化encode-decode模型以解决机器翻译效果不佳等问题[26-27]。Zhou等[28]结合LSTM和注意力机制用于情感分类。Allamanis等[29]在文本摘要领域使用attention机制,都取得较好效果。Yin等[30]将卷积神经网络与注意力机制融合,提出一种新的模型以用于情感分析。这些模型方法充分证明了注意力机制在卷积神经网络中的实验有效性。Wang等[31]提出将卷积神经网络与多个注意力进行结合并在情感分类任务中取得了良好的实验效果。Chen等[32]使用层次化的模型,借助注意力机制将用户和产品信息加入到模型,取得较好的情感分类效果。
2 层次化的双注意力神经网络模型如图1所示,该图是层次化的双注意力神经网络模型,模型进行篇章特征提取后,得到最终的情感特征,从而进行分析情感极性。首先对篇章中的每个句子通过词注意力卷积神经网络获取句子的词特征,进而构建句子的特征表示;然后使用全局注意力机制的LSTM提取句子向量的整体篇章表示。
Download:
|
|
针对在情感分析应用模型中卷积神经网络模型存在的缺点,本文提出一种词特征提取的词注意力卷积神经网络模型,具体包括如下几部分:
1)词嵌入层:词注意神经网络模型的第一层为词嵌入层,主要的作用是将词进行序列化表示后得到文本的词嵌入表示。
2)词注意力层:针对上一层的输出,对词嵌入层进行重点词提取,由此在词嵌入后进行添加词注意力机制,作用是减少在训练过程中噪声对实验的影响。
3)卷积层:在词注意力层之后加入卷积层,本文使用的卷积核的窗口大小为1、3、4和5。用于提取更多的情感特征。
在情感分析中,通过词注意力层和卷积层,使模型在训练过程中具有文本词特征的鉴别能力。其卷积层是为了选出对情感分析作用帮助更大的特征,而注意力机制的作用是为了将重要的特征进行突出。
词嵌入层:文本进行词嵌入映射表示得到连续低维的实值向量,假设文本表示为
$ {x_i} = {w_i}{{e}},\;{x_i} \in {{\bf{R}}^d} $ | (1) |
式中:
词注意力层:在词嵌入层表示后,让单词表示中的情感特征更为突出,然后本文借助于n-grams的语言模型,并借助该中心词的上下文的n个词作为该中心词的语义表示。本文以大小
Download:
|
|
$ {{X}}_i^{{\rm{att}}} = \{ {x_{i - D}}, \cdots ,{x_i}, \cdots ,{x_{i + D}}\} $ | (2) |
$ {\alpha _i} = h\left( {{{X}}_i^{{\rm{att}}}{{{W}}_{{\rm{att}}}} + {b_{{\rm{att}}}}} \right) $ | (3) |
式中:
$ \alpha = \{ {\alpha _1},{\alpha _2}, \cdots ,{\alpha _n}\} $ | (4) |
式中
$ \begin{array}{l} \;\;\;\;\;\;\;\;\;\;\;\;x_i^{{\rm{att}}} = {\alpha _i}{x_i}\\ \;\;\;\;\;\;\;\;\;\;\;\;x_i^{{\rm{att}}} \in {{\bf{R}}^d}\\ {X_{{\rm{att}}}} = \{ x_1^{{\rm{att}}},x_2^{{\rm{att}}} \cdots ,x_i^{{\rm{att}}}, x_{i+1}^{{\rm{att}}}\cdots ,x_n^{{\rm{att}}}\} \end{array} $ | (5) |
卷积层 传统的情感分析处理自然语言的方法一般采用1-gram、2-gram和n-gram语言模型提取文本的情感特征。Pang等[1]曾使用该方法进行情感分析,并取得良好的实验效果。卷积神经网络模型根据上下文大小提取局部特征值,卷积核参数
本文中,取卷积核大小为3,则文本中心词对应的上下范围为1,并遵循马尔可夫原则,即卷积核大小变为5时,中心词对应上下文范围扩大为2。当卷积核大小取3时,其上下文大小为1,进行卷积操作时,无法取到第一个词的上文以及最后一个词的下文表示。即首尾两个词导致有
$ X = {X_{{\rm{att}}}}\underbrace { \oplus \cdots \oplus {x_0} \oplus {x_0}}_{h - 1} $ | (6) |
式中
卷积层的作用在于提取每个词特征信息和词的上下文信息。在词注意力之后得到的文本特征信息
$ {{{s}}_i} = {\rm{CNN}}\left( {{X_{{\rm{att}}}}} \right) $ | (7) |
式中
篇章分析 假设输入句子层次词注意卷积神经网络获取到句子向量
$ {{{h}}_i} = \left[ {{{\overrightarrow {{h}}}_i},{{\overleftarrow{{{h}}}}_i}} \right] = {\rm{Bi - GRU}}\left( {{{{s}}_i}} \right) $ | (8) |
篇章全局注意力 通过词注意力卷积神经网络获取到每个句子的特征表示,经过双向GRU进一步编码提取每个句子的信息,将双向GRU的输出作为全局注意力层的输入,得到每个句子对篇章表示的贡献,排除掉无用的句子并获取到篇章的整体语义信息。具体计算如下:
$ {{{u}}_i} = \tanh \left( {{{{W}}_g}{{{h}}_i} + {b_g}} \right) $ | (9) |
$ {{{\alpha }}_i} = \dfrac{{\exp \left( {{u_i}} \right)}}{{\displaystyle\sum\limits_i {\exp \left( {{u_i}} \right)} }} $ | (10) |
$ {{v}} = \displaystyle\sum\limits_i {{\alpha _i}{{{h}}_i}} $ | (11) |
其中双向GRU的输出经过一个多层感知机,使用
篇章特征向量由提取词和句子特征后得到。向量
$ {P_C} = {\rm{softmax}} \left( {{{{W}}_c}{{v}} + {b_c}} \right) $ | (12) |
式中
实验中将预测的类别分布同真实分布进行对比,训练过程中使用交叉熵作为模型的损失函数。以
$ {\rm{loss}} = - \displaystyle\sum\limits_{d \in D} {\displaystyle\sum\limits_{c = 1}^C {P_C^g\left( d \right)} } \ln \left( {{P_C}\left( d \right)} \right) $ | (13) |
式中
为验证本文提出模型的有效性,实验部分在以下3个公开数据集上进行,所用数据集来自于Chen等[32]的数据集:
IMDB:用户在不同商品上的评论数据集。用于对评论进行情感倾向性分析,每条评论分为10个情感强度。
YELP:Yelp比赛2013年和2014年的数据集,每条评论分为5个强度。
数据集详细信息如表1所示。
本数据集使用Keras进行数据预处理,分词任务由Keras提供的tokenizer实现。将数据集划分为训练、验证和测试集,划分比例分别为8∶1∶1。实验时对词向量进行降维处理,训练词向量维度为200维。卷积神经网络参数设置如表2所示。本文设置上下文范围大小D=2,滑动窗口数量为1,GRU的输出维度设为100,双向得到向量为200维,全连接层隐藏单元200个。
实验模型指定batch_size大小为32,同时对词向量进行动态微处理。本文使用Adadelta算法对模型参数进行了优化调整。为了提升实验效果和模型准确率,训练过程中将含有句子数相近的篇章形成一个batch,用以加速训练过程。最后,模型使用准确率作为评判标准。
3.3 对比方法为了测定模型效果,本实验对比了不同的模型实验结果,如表3所示,有SVM(support vector machine)、NN(neural network)等。
对比方法如下:
Majority:将训练集中占多数的情感标签视为测试集的情感标签。
Trigram:以一元词、二元词和三元词为特征训练SVM分类器[33]。
TextFeature:提取文本的词特征、字符特征和词性特征训练SVM分类器。
AvgWordvec:将文档的词向量平均化得到文档表示,以此训练SVM分类器。
SSWE:使用特别训练的情感词向量生成特征,SVM为分类器。
NSC:双层LSTM分别获取词特征和句子特征,构建篇章表示[32]。
NSC+LA:双层LSTM结合全局注意力机制提取篇章的特征表示[14]。
RNTN+RNN:使用递归神经网络提取句子的特征表示,并用循环神经网络得到篇章的特征表示。
Paragraph Vector:PVDM[34]模型用于情感分类。
Cnn2Cnn:词特征提取和句子特征提取都使用词注意卷积神经网络。
Cnn2Rnn:词特征提取使用词注意卷积神经网络,句子特征提取使用GRU和全局注意力。
3.4 实验结果与分析本文的实验结果如表3所示,在3个数据集上分别得到模型的准确率,将模型的对比实验分为3组:第1组以传统特征提取结合分类器进行情感分类;第2组使用层次化的循环神经网络作为基础,结合全局注意力机制,得到篇章的情感类别;第3组是本文提取出的模型,以词注意力卷积神经网络模型提取句子的词特征,构建句子表示,并以层次化的模型得到篇章情感倾向。
从第1组实验可以看出,传统方法和简单基于词向量的方法较其余两组的情感分类效果差距较大,说明在长文本的篇章中使用层次化的模型更有助于提取篇章的特征。
第2组的层次化循环神经网络,使用GRU或LSTM构建层次化的模型,模型在各个数据集上都有较大幅度的提升,NSC较Paragraph Vector提升都在8%左右。注意力机制有助于模型关注突出的情感特征,从而,提升模型效果,NSC+LA改进了 NSC,取得了更优效果。
卷积神经网络和循环神经网络在处理文本时各有优缺点,单一的循环神经网络结合注意力机制,无法做到模型特征提取的多样性,从第3组实验可以看出,Cnn2Cnn模型与NSC+LA模型取得相近的结果,注意力机制虽不同,但CNN更关注于篇章的局部特征,对整体语义表征不够。
Cnn2Rnn取得了较之前更好的效果,在IMDB、YELP 2013和YELP 2014分别取得49.4%、64.1%和64.2%的准确率,较传统的第1组实验的方法提升为10%左右,较双层LSTM或GRU在IMDB、YELP 2013、YELP 2014提升5%、2%、1%左右,较单一模型的层次化注意力机制模型NSC+LA和Cnn2Cnn,各数据集提升在1%左右。
词注意力卷积神经网络作为第1层,提取每个句子中的关键词,发现句子的局部重要信息,如情感词、语气词、转折词等,以此构建句子的特征表示;全局注意力机制发现篇章中重要的句子,分配以高权重,循环神经网络模型提取整个篇章句子的语义表达,避免CNN的局部提取而丢失信息。
4 结束语本文提出一种层次化的双注意力神经网络模型,将其用于情感分析任务,取得较好效果。模型基于CNN和RNN,从局部注意力机制和全局注意力两个角度提取不同的特征,层次化篇章的注意力神经网络模型分别获得句子的重点词汇以及整个篇章的重点句子特征。模型在多个数据集上得到验证,说明在不同角度获取的特征更有助于表达篇章特征。虽然本文在篇章级文本中取得较好实验结果,由于模型较为复杂,并且文本较长,导致模型训练时间上并非理想。在未来研究中,优化模型的复杂性将是下一个改进的方向。
[1] | PANG Bo, 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-Volume 10. Stroudsburg, USA, 2002: 79–86. (0) |
[2] | LU Yue, CASTELLANOS M, DAYAL U, et al. Automatic construction of a context-aware sentiment lexicon: an optimization approach[C]//Proceedings of the 20th International Conference on World Wide Web. Hyderabad, India, 2011: 347–356. (0) |
[3] | WANG Sida, MANNING C D. Baselines and bigrams: simple, good sentiment and topic classification[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Short Papers. Jeju Island, Korea, 2012: 90–94. (0) |
[4] | KIRITCHENKO S, ZHU Xiaodan, MOHAMMAD S M. Sentiment analysis of short informal texts[J]. Journal of artificial intelligence research, 2014, 50: 723-762. DOI:10.1613/jair.4272 (0) |
[5] | LAMPLE G, BALLESTEROS M, SUBRAMANIAN S, et al. Neural architectures for named entity recognition[C]// Proceedings of 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. San Diego, USA, 2016: 260–270. (0) |
[6] | SHEN Dinghan, MIN M R, LI Yitong, et al. Adaptive convolutional filter generation for natural language understanding. [J]. arXiv: 1709.08294, 2017. (0) |
[7] | WANG Shuohang, JIANG Jing. Machine comprehension using match-LSTM and answer pointer[C]//Proceedings of International Conference on Learning Representations. Toulon, France, 2017: 1–15. (0) |
[8] | WANG Wenhui, YANG Nan, WEI Furu, et al. Gated self-matching networks for reading comprehension and question answering[C]//Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics. Vancouver, Canada, 2017: 189–198. (0) |
[9] | KUMAR A, IRSOY O, ONDRUSKA P, et al. Ask me anything: dynamic memory networks for natural language processing[C]//Proceedings of the 33rd International Conference on Machine Learning. New York, USA, 2016: 1378–1387. (0) |
[10] | KIM Y. Convolutional neural networks for sentence classification[C]//Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. Doha, Qatar, 2014: 1746–1751. (0) |
[11] | KALCHBRENNER N, GREFENSTETTE E, BLUNSOM P, et al. A convolutional neural network for modelling sentences[C]//Proceedings of 52nd Annual Meeting of the Association for Computational Linguistics. Baltimore, USA, 2014: 655–665. (0) |
[12] | ZHANG Xiang, ZHAO Junbo, LECUN Y. Character-level convolutional networks for text classification[C]// Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal, Canada, 2015: 649–657. (0) |
[13] | TANG Duyu, QIN Bing, LIU Ting. Document modeling with gated recurrent neural network for sentiment classification[C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. Lisbon, Portugal, 2015: 1422–1432. (0) |
[14] | YANG Zichao, YANG Diyi, DYER C, et al. Hierarchical attention networks for document classification[C]//Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. San Diego, USA, 2016: 1480–1489. (0) |
[15] | ADI Y, KERMANY E, BELINKOV Y, et al. Fine-grained analysis of sentence embeddings using auxiliary prediction tasks[C]//Proceedings of International Conference on Learning Representations. Toulon, France, 2017: 1608–1622. (0) |
[16] | VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[C]//Proceedings of the 31st Conference on Neural Information Processing Systems. Long Beach, USA, 2017: 5998–6008. (0) |
[17] | WAN Xiaojun. Co-training for cross-lingual sentiment classification[C]//Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP. Suntec, Singapore, 2009: 235–243. (0) |
[18] | ZAGIBALOV T, CARROLL J. Automatic seed word selection for unsupervised sentiment classification of Chinese text[C]//Proceedings of the 22nd International Conference on Computational Linguistics. Manchester, United Kingdom, 2008: 1073–1080. (0) |
[19] | LIU Jiangming, ZHANG Yue. Attention modeling for targeted sentiment[C]//Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics. Valencia, Spain, 2017: 572–577. (0) |
[20] | ZHANG Lei, WANG Shuai, LIU Bing. Deep learning for sentiment analysis: a survey[J]. WIREs data mining and knowledge discovery, 2018, 8(4): e1253. (0) |
[21] | CHEN Peng, SUN Zhongqian, BING Lidong, et al. Recurrent attention network on memory for aspect sentiment analysis[C]//Proceedings of 2017 Conference on Empirical Methods in Natural Language Processing. Copenhagen, Denmark, 2017: 452–461. (0) |
[22] | TANG Duyu, WEI Furu, YANG Nan, et al. Learning sentiment-specific word embedding for twitter sentiment classification[C]//Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics. Baltimore, USA, 2014: 1555–1565. (0) |
[23] | JOHNSON R, ZHANG Tong. Effective use of word order for text categorization with convolutional neural networks[C]//Proceedings of 2015 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Denver, USA, 2015: 103–112. (0) |
[24] | SOCHER R, PERELYGIN A, WU J, et al. Recursive deep models for semantic compositionality over a sentiment Treebank[C]//Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing. Seattle, USA, 2013: 1631–1642. (0) |
[25] | XU K, BA J, KIROS R, et al. Show, attend and tell: neural image caption generation with visual attention[C]//Proceedings of the 32nd International Conference on Machine Learning. Lille, France, 2015: 2048–2057. (0) |
[26] | BAHDANAU D, CHO K, BENGIO Y. Neural machine translation by jointly learning to align and translate[C]//Proceedings of the 3rd International Conference on Learning Representations, 2014. San Diego, USA, 2015: 473–488. (0) |
[27] | LUONG T, PHAM H, MANNING C D, et al. Effective approaches to attention-based neural machine translation[C]//Proceedings of 2015 Conference on Empirical Methods in Natural Language Processing. Lisbon, Portugal, 2015: 1412–1421. (0) |
[28] | ZHOU Xinjie, WAN Xiaojun, XIAO Jianguo. Attention-based LSTM network for cross-lingual sentiment classification[C]//Proceedings of 2016 Conference on Empirical Methods in Natural Language Processing. Austin, USA, 2016: 247–256. (0) |
[29] | ALLAMANIS M, PENG Hao, SUTTON C A. A convolutional attention network for extreme summarization of source code[C]//Proceedings of 2016 International Conference on Machine Learning. New York, USA, 2016: 2091–2100. (0) |
[30] | 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. DOI:10.1162/tacl_a_00097 (0) |
[31] | WANG Linlin, CAO Zhu, DE MELO G, et al. Relation classification via multi-level attention CNNs[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. Berlin, Germany, 2016: 1298–1307. (0) |
[32] | CHEN Huimin, SUN Maosong, TU Cunchao, et al. Neural sentiment classification with user and product attention [C]//Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. Austin, USA, 2016: 1650–1659. (0) |
[33] | FAN Rongen, CHANG Kaiwei, HSIEH C J, et al. LIBLINEAR: a library for large linear classification[J]. Journal of machine learning research, 2008, 9: 1871-1874. (0) |
[34] | LE Q, MIKOLOV T. Distributed representations of sentences and documents[C]//Proceedings of the 31st International Conference on Machine Learning. Beijing, China, 2014: 1188–1196. (0) |