基于极性转移和LSTM递归网络的情感分析

2015-04-21 10:40柴玉梅原慧斌高明磊昝红英
中文信息学报 2015年5期
关键词:极性向量词语

梁 军,柴玉梅,原慧斌,高明磊,昝红英

(1. 郑州大学 信息工程学院,河南 郑州 450001;2. 中国核科技信息与经济研究院,北京 100048)



基于极性转移和LSTM递归网络的情感分析

梁 军1,柴玉梅1,原慧斌2,高明磊1,昝红英1

(1. 郑州大学 信息工程学院,河南 郑州 450001;2. 中国核科技信息与经济研究院,北京 100048)

长短时记忆(long short term memory,LSTM)是一种有效的链式循环神经网络(recurrent neural network,R2NN*为了与递归神经网络(Recursive Neural Network)进行区别,本文称之为R2NN。),被广泛用于语言模型、机器翻译、语音识别等领域。但由于该网络结构是一种链式结构,不能有效表征语言的结构层次信息,该文将LSTM扩展到基于树结构的递归神经网络(Recursive Neural Network,RNN)上,用于捕获文本更深层次的语义语法信息,并根据句子前后词语间的关联性引入情感极性转移模型。实验证明本文提出的模型优于LSTM、递归神经网络等。

LSTM,递归神经网络,情感分析

1 引言

近年来随着学者对深度学习的不断探索,其在图像、语音识别领域都取得了重大进展。与此同时NLP领域众多学者也在进行各种深入研究,尤其在利用神经网络进行语言模型建立、文本特征学习和短文本情感分析方向上都有突破。

在利用神经网络进行文本特征学习时首先要面对的问题就是对文本数据建模,通常有三种模型: 词袋模型(bag-of-words model)、序列化模型(sequence model)和结构化模型(structure model)。这三种模型各有优劣,对于词袋模型,文本被看作是无序的词汇集合,忽略语法甚至是单词的顺序,该模型被广泛应用于传统贝叶斯模型、LSA、LDA等文本分类模型中,被证明是简单有效的,但同时该模型的缺点也是十分明显的,它忽略了文本本身的语法语义信息所以很难捕获到文本中深层的语义信息。而序列化模型则将文本看作是有序的词语序列,这种模型考虑了文本的有序性以及词语间的关联性可以学习到一些词袋模型无法学习到的语义信息,如

Bengio等人提出的神经网络语言模型[1]就考虑了词语间的顺序性,但为了降低模型的复杂度仅仅考虑窗口内的词语。Mikolov等人[2]在2010年提出利用循环神经网络来构建语言模型, 这使得网络模型可以充分地利用上下文信息从而更好地进行语言建模。不过这些模型依然是将文本看作有序列的词语组合,仅考虑了文本的有序性信息而忽略了文本在语义上的结构性。结构化模型则试图将文本看作有结构的词语组合,使得在学习文本特征时能够充分保存文本的结构特征,例如,Socher等人[3]利用Recursive Autoencoder方法试图以一种树形结构来描述文本,希望能够学习到文本的句法信息,该方法在解决短文本情感分析的问题上取得了不错的效果。

在解决序列化问题时,R2NN被证明是一种有效的方法,可以充分地利用上下文信息,但该方法存在着梯度爆炸和消失的问题[4],Hochreiter和Schmidhube等人[5]提出的LSTM型R2NN有效地解决了这一问题。然而LSTM-R2NN也是一种链式网络并不能利用文本的结构化信息,因此本文将LSTM这一网络结构拓展到基于树形结构的RNN网络上,构成LSTM-RNN模型,并结合情感分析中的情感极性转移现象(Polarity Shifting)提出 PLSTM-RNN模型,从而更好地利用文本上下文信息、结构化信息和情感语义信息来解决文本情感分析这一问题。

本文具体章节安排如下: 第二节介绍了与本文相关的一些工作进展;第三节介绍了融合LSTM和情感极性转移模型之后的网络模型;第四节介绍将融合之后的模型应用于情感分析;第五节为实验及分析;最后对本文做出总结,并指出后续的工作方向。

2 相关工作

2.1 递归神经网络

Socher等人在2011年将递归神经网络成功应用在句法解析上[6],之后人们对它进行了许多研究。随后Socher在RNN的基础上添加一个感知层,从而提高模型的表达能力[7];Irsoy和Cardie[8]将RNN扩展为3-layer RNN从而成为一个深层网络结构。除了对模型的结构进行优化,RNN也被应用在NLP的其他领域,Li P和Liu Y[9]等人将RNN应用到机器翻译领域;Le和Zuidema[10]将其应用在依存句法分析上,都取得了不错的效果。这些方法通过递归神经网络为语言建模,可以有效地捕获到文本的语义信息,从而提高了利用机器学习方法解决这些传统任务时的性能。

2.2 情感分析

情感分析是一个新兴的研究课题,具有很大的研究价值和应用价值[11]。鉴于此,该研究课题受到国内外越来越多的研究机构的重视。Pang和Lee等人在2008年就利用词袋模型对文本进行情感分析,随后许多人尝试设计更好的工程特征或者使用基于句法结构的极性转移规则来提升情感分析的准确率。这些模型都是基于词袋模型,无法获取到文本中的深层语义信息,因此效果并不理想。2013年Socher等人利用递归神经网络模型对影评数据进行情感分析取得了比传统方法更好的效果。梁军等人[12]通过在Recursive Autoencoder模型中融入情感极性转移模型,在中文微博情感分析上取得不错效果。这两种模型都是树形结构网络,但没有充分利用句子的历史信息。

3 基于极性转移和LSTM的递归网络模型

神经网络模型可以学习到不同长度、句法结构的短语的特征表示。这些特征表示可以作为分类器的特征输入为短语、句子进行分类。在利用神经网络模型进行句子特征表示学习时,需要先将句子中的词语映射为d维的实数向量。这些词语对应的d维实数向量可以使用高斯分布U(_r,r)进行初始化,也可以使用一些无监督方法进行预训练,例如,google推出的将词语转化为词向量的工具word2vec,Socher等人提出的Recursive Autoencoder方法。所有词语对应的词向量将会存储在一个词向量矩阵L∈Rd×|V|中,其中|V|是词表的大小。词向量矩阵L同样会作为神经网络模型的参数被训练,当模型训练完成后词向量矩阵L就会存储每个词对应的特征表示。在有了词语对应的词向量之后,需要一定的方式来计算词语组合形成的词组、句子所对应的特征表示,有了词组、句子对应的特征表示之后,将这些特征作为softmax分类器的输入就可以得到它们的分类结果。

本节将介绍两个学习词语、句子特征表示的网络结构模型RNN和R2NN模型,并结合两个模型的特点提出一个新的LSTM-RNN模型。该模型可以有效利用句子的语法结构信息和语义的历史信息进行词语、短语和句子的特征表示学习。通过该模型学习到的特征已经可以有效地用于文本情感分析,但语言中会广泛出现情感极性转移的现象,本文进一步结合该现象对模型进行改进,提出 PLSTM-RNN模型。

3.1 RNN

递归神经网络最早由Goller[14]提出,它根据句子语法的树形结构由底向上递归地合并两个相邻的节点,如图1所示。

图1 RNN的网络结构

递归神经网络可以根据一个给定的有向无环图从下往上递归地应用相同的权重组合去构建网络结构。通过遍历该有向无环图拓扑结构中的节点,可以不断递归地由子节点的向量表示学习到父节点的

向量表示。一般来说有向无环图的结构是没有限定的,但为了结构的统一性和简洁性通常将该有向无环图转换为二叉树的形式。

假定文本为xi-1xixi+1,其句法解析树对应的二叉树结构为(pi+1(pi(xi-1xi)xi+1)),xi-1,xi,xi+1∈d表示词语,pi∈Rd表示短语xi-1xi,pi+1∈Rd表示xi-1xixi+1;W1,W2∈Rd×d为系数矩阵,则可以表述为:

(1)

其中g为激活函数tanh。如图1所示递归神经网络通过不断合并两个短语的特征表示来学习更大跨度的短语的特征表示,在特征学习的过程中它根据语法结构关系先后合并句子中的词语,既保留了句子的词序特征,又结合了句子的语法层次结构特征。

3.2 LSTM型R2NN

循环神经网络与递归神经网络的区别在于组成这些网络的神经元相互关联的结构不同: 递归神经网络中节点的结合是按照有向无环图进行的,而循环神经网络中节点是按照出现的时序关系结合。事实上,可以把循环神经网络看作是一个具有特定结构的递归神经网络。如图2所示。

图2 循环神经网络

在第t次网络传播时假定输入为xt∈RM,t-1次传播时隐含层为ht-1∈Rn(m,n分别表示向量维度),则t次传播时隐含层计算方式如式(1)所示。

(1)

其中Wx∈Rn×m是第t次输入的词向量xt对应的系数矩阵,U∈Rn×m是t-1次传播输出ht-1对应的系统矩阵,δ是非线性激活函数(sigmoid函数或者tanh函数)。这样隐含层在每次计算时都会把上次输出作为本次输入从而达到保存历史信息的目的。但是在使用BP、BPTT算法优化网络时会遭遇梯度爆炸或者梯度衰减的问题[4],而LSTM使用一个记忆单元(memory cell)来替代R2NN中的隐含层从而可以避免梯度在反向传播中遇到的爆炸和衰减问题。LSTM的网络结构如图3所示。

图3 LSTM网络结构

LSTM型R2NN由input gate i、output gate o和forget gate f和memory cell c组成,其中input gate、output gate和forget gate是控制memory cell的读、写和丢失操作的控制器。利用形式化语言,LSTM可以表述为:

it=δ(Wixt+Uiht-1+Vict-1+bi)

ft=δ(Wfxt+Ufht-1+Vfct-1+bf)

ct=ft⊙ct-1+it⊙tanh(Wcxt+Ucht-1+bc)

ot=δ(Woxt+Uoht-1+Voct+bo)

ht=ot⊙tanh(ct)

(2)

其中δ是激活函数sigmoid;⊙是点乘运算;W*,U*,V*,b*分别表示系数矩阵和偏置向量,it,ft,ot分别表示t时刻input gate、forget gate和output gate的计算方法,ct表示t时刻memory cell的计算

方法,ht为t时刻LSTM单元的输出。由图3可以看出三个控制门input gate,output gate和forget gate的输出分别连接到一个乘法单元上,从而分别控制网络的输入、输出以及cell单元的状态。

3.3 基于LSTM的RNN

本小节介绍如何将LSTM扩展到RNN模型上,使得既可以获得文本的结构信息,又可以利用LSTM对历史信息进行存储。这样在计算父节点的向量表示时不仅仅可以用到两个子节点的结构信息,还可以利用历史信息进行计算。

与LSTM单元类似,LSTM-RNN的记忆单元也同样由input gate,forget gate,output gate和memory cell组成,但由于LSTM-RNN是基于树结构,所以在t时刻LSTM-RNN的输入不止一个(对于二叉树来说,每次输入有两个),所以LSTM-RNN对于每个LSTM单元都有两个input gate和forget gate,如图4所示,一个基于二叉树结构的LSTM-RNN单元是由两个input gate,一个output gate,一个memory cell和两个forget cell组成。

图4 LSTM-RNN网络结构

(3)

由于每个孩子节点都对应一个input gate,通过训练可以使得对父节点贡献大的子节点对应的input gate更接近1,对父节点贡献小的子节点对应的input gate则更接近0;同样的forget gate控制在计算父节点时利用每个子节点的历史信息。

3.4 融合极性转移的LSTM-RNN

在各个语言中,极性转移对于文本情感分析都是一个极大的挑战。句子中的一些否定词、程度副词等的使用都可能会使得句子的极性发生偏转。张小倩[13]等人对极性转移现象进行研究分析,将其分为三类,本文根据其研究进行如下分类(表1)。

表1 极性转移实例

(4)

4 PLSTM-RNN应用于情感分析

本节介绍如何将扩展的PLSTM-RNN模型应用于情感分析,具体网络结构图如图5所示。

图5 PLSTM-RNN

其中lx是节点x通过PLSTM-RNN模型训练得到特征向量表示后作为softmax回归的输入得到的情感极性标签,同时lx作为PLSTM的输入决定偏置向量的选取。假定y是节点x对应的真正的情感。那么节点x的情感极性为Ak的概率计算方法如式(5)所示。

(5)

假定训练样本为T,那么在训练时定义损失函数为:

(6)

其中s为样本集T中的句子,n为每个句子中的节点,l{·}是示性函数,其取值规则为:l{Ture}=1。在训练模型的时候可以使用梯度下降[14]的方法来最小化损失函数J(θ),当然也可以采用LBFGS或AdaGrad[14-15]等方法来优化参数。模型的算法描述如下所示:

PLSTM-RNN输入:语料及其对应标签构成的训练语料T输出:θ1)初始化词向量及θ;2)while不收敛doÑJ=0forall∈Tdo whilepisn’tRootdo p=PLSTM_RNN(xl,xr) endwhile 计算ÑJi=∂J(s,t)/∂θ 更新ÑJ=ÑJ+ÑJi endfor 更新Θ=1NÑJ+λθ endwhile

5 实验

5.1 数据集

为了验证模型的有效性,本文选用斯坦福大学在影评数据上开发的Stanford Sentiment Treebank[7],该数据集的标签分为五类(very negative, negative, neutral, positive, very positive),共有11 855个句子, 平均每个句子包含19个词语,共有215 154个短语,按照原有的数据集分割方案: 训练集8 544句,开发集1 101句,测试集2 210句。另外,将其中没有极性的句子去掉,将其作为二分类的验证数据集,没有极性的句子约占整个数据集的20%左右,去掉之后的开发集6 920句,开发集872句,测试集1 821句。

5.2 向量维度的选择

在进行实验时,词向量使用Jeffrey Pennington et al[16]使用Common Crawl数据训练得到的300维向量*http://nlp.stanford.edu/projects/glove/初始化,中间节点则使用不同维度的向量进行表征。因为随着内部节点维度的增加整个模型的复杂度成倍增长,因此需要为内部节点的向量表征选择一个合适的维度,图6是在开发集上对内部节点使用不同的向量维度表征得到的PLSTM-RNN模型的评估。

图6 内部节点向量维度的影响

由上图可以看出,内部节点向量维度在100维时即可达到较理想的效果。

5.3 模型对比实验

本节将该文提出的模型PLSTM-RNN和之前在该数据集上试验过的模型进行对比(使用准确率作为评估标准),主要有Naive Bayes with bag of bigram features ( BiNB),Recursive neural tensor network (RNTN)[7],Convolutional neural network (CNN)[17],Dynamic convolutional neural network (DCNN)[18]和 Deep RNN(DRNN)[8]模型。

通过表2可以看出,在对文本进行二分类或者五分类时PLSTM-RNN模型都能够达到很好的效果,证明该模型是有效的。从直观上来看,利用LSTM可以有效保存文本的历史信息,这对文本进行情感分析是非常有帮助的;同时结合RNN网络的特点可以充分利用句子本身的结构信息,使得模型学习到的特征表示更完备;在此基础上进一步加入节点的联合情感信息,最终结合了文本的语义信息、结构信息和情感信息,从而使模型可以达到最好的效果。

表2 模型对比结果

6 结语

本文将基于链式结构的LSTM型网络扩展到RNN网络,使得模型可以在更好地获取文本历史信息的同时,挖掘到文本的结构信息,丰富特征学习,同时针对情感极性转移这一问题提出情感极性转移模型,并将其融入到LSTM-RNN中,进一步优化了模型的表征能力。

基于文本结构的神经网络模型在文本处理上有较强的优势,但对于如何快速有效学习到文本的结构特征,仍然是一个亟待解决的问题,下一步工作也将在这方面进行探索,从而更好地对文本进行结构化表征。

[1] Bengio Y, Ducharme R, Vincent P, et al. A neural probabilistic language model[J]. The Journal of Machine Learning Research, 2003, 3: 1137-1155.

[2] Mikolov T, Karafiát M, Burget L, et al. Recurrent neural network based language model[C]//Proceedings of the 11th Annual Conference of the International Speech Communication Association, Makuhari, Chiba, Japan, September 26-30, 2010. 2010: 1045-1048.

[3] Socher R, Pennington J, Huang E H, et al. Semi-supervised recursive autoencoders for predicting sentiment distributions[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing. Association for Computational Linguistics, 2011: 151-161.

[4] Hochreiter S, Bengio Y, Frasconi P, et al. Gradient flow in recurrent nets: the difficulty of learning long-term dependencies[M]. Wiley-IEEE Press, 2001: 237-243.

[5] Hochreiter S, Schmidhuber J. Long short-term memory[J]. Neural computation, 1997, 9(8): 1735-1780.

[6] 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 (ICML-11). 2011: 129-136.

[7] Socher R, Perelygin A, Wu J Y, et al. Recursive deep models for semantic compositionality over a sentiment treebank[C]//Proceedings of the conference on empirical methods in natural language processing (EMNLP). 2013: 1631-1642.

[8] Irsoy O, Cardie C. Deep Recursive Neural Networks for Compositionality in Language[C]//Proceedings of the Advances in Neural Information Processing Systems. 2014: 2096-2104.

[9] Li P, Liu Y, Sun M. Recursive Autoencoders for ITG-Based Translation[C]//Proceedings of the EMNLP. 2013: 567-577.

[10] Le P, Zuidema W. Inside-Outside Semantics: A Framework for Neural Models of Semantic Composition[C]//Proceedings of the Deep Learning and Representation Learning Workshop: NIPS 2014.

[11] 赵妍妍, 秦兵, 刘挺. 文本情感分析[J]. 软件学报, 2010, 21(8):1834-1848. DOI:10.3724/SP.J.1001.2010.03832.

[12] 梁军, 柴玉梅, 原慧斌, et al. 基于深度学习的微博情感分析[J]. 中文信息学报, 2014, 28(5):155-161.

[14] Goller C, Kuchler A. Learning task-dependent distributed representations by backpropagation through structure[C]//Proceedings of the IEEE International Conference on. IEEE, 1996, 1: 347-352.

[15] Duchi J, Hazan E, Singer Y. Adaptive subgradient methods for online learning and stochastic optimization[J]. The Journal of Machine Learning Research, 2011, 12: 2121-2159.

[16] Pennington J, Socher R, Manning C D. Glove: Global vectors for word representation[C]//Proceedings of the Empiricial Methods in Natural Language Processing (EMNLP 2014), 2014, 12.

[17] Kim Y. Convolutional neural networks for sentence classification[J]. arXiv preprint arXiv:1408.5882, 2014.

[18] Blunsom P, Grefenstette E, Kalchbrenner N. A convolutional neural network for modelling sentences[C]//Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, 2014.

Polarity Shifting and LSTM Based Recursive Networks for Sentiment Analysis

LIANG Jun1, CHAI Yumei1, YUAN Huibin2, GAO Minglei1, ZAN Hongying1

(1. School of Information Engineering, Zhengzhou University, Zhengzhou, Henan 450001, China;2. China Institute of Nuclear Information & Economics, Beijing 100048, China)

The chain-structured long shortterm memory (LSTM) has been shown to be effective in a wide range of tasks such as language modeling, machine translation and speech recognition. Because it cannot storage the structure of hierarchical information language, we extend it to a tree-structure based recursive neural network to capture more syntactic and semantic information, as well as the sentiment polarity shifting. Compared to LSTM, RNN etc, the proposed model achieves a state-of-the-art performance.

LSTM; recursive neural network; sentiment analysis

梁军(1990—),通信作者,硕士研究生,主要研究领域为机器学习、自然语言处理。E-mail:zhengdaxg@163.com柴玉梅(1964—),教授,主要研究领域为机器学习、数据挖掘和自然语言处理。E-mail:ieymchai@zzu.edu.cn原慧斌(1966—),学士,研究员级高工,主要研究领域为中文全文检索技术,自然语言处理。E-mail:1074821578@qq.com

1003-0077(2015)05-0152-08

2015-07-08 定稿日期: 2015-09-09

国家社会科学基金(14BYY096);国家自然科学基金(61402419,61272221);国家高技术研究发展863计划(2012AA011101);计算语言学教育部重点实验室(北京大学)开放课题(201401);国家重点基础研究发展计划 973 课题(2014CB340504);河南省高等学校重点科研项目(15A520098)

TP391

A

张小倩. 情感极性转移现象研究及应用[D]. 苏州大学, 2012.

10.7666/d.y2120830.

猜你喜欢
极性向量词语
容易混淆的词语
向量的分解
聚焦“向量与三角”创新题
找词语
跟踪导练(四)
红葱不同极性提取物抑菌活性研究
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
一枚词语一门静
双极性压缩观测光谱成像技术研究