吕 超,杨 超,李仁发
(湖南大学 信息科学与工程学院,长沙 410082)
随着微博、微信等社交媒体的兴起,网络上带有评论性的文本资源数量与日俱增。对于该大量非结构化的文本,迫切需要通过技术手段对其情感倾向进行分类判断,以达到多方面的目的,如获取大众对于有关政策的意见、对相关产品的满意程度和对各种社会热点事件的看法等[1]。但是,微博文本篇幅较短、经常存在错别字和语法错误、充满大量网络词汇和口语词汇,这些问题都给情感分类任务带来了挑战,引发了国内外学者极大的关注[2]。
目前,基于卷积神经网络(Convolutional Neural Network,CNN)的情感分类方法得到了广泛关注。CNN通过多个并行的卷积操作获取文本的局部特征[3],经过池化层将筛选出的局部特征拼接后传递给全连接层进行分类。然而大多数的CNN模型在卷积操作和特征拼接环节中,很大程度上忽略了文本的有序性,即词语之间的序列性,因此,其不能保证信息传递的连续性。例如,“我/喜欢/自然/语言/处理/但是/它的/学习/门槛/很高”,假设卷积核的尺寸是5,则被卷积的分片依次是“我/喜欢/自然/语言/处理”“喜欢/自然/语言/处理/但是”“自然/语言/处理/但是/它的”“语言/处理/但是/它的/学习”“处理/但是/它的/学习/门槛”及“但是/它的/学习/门槛/很高”,则得到的局部信息可能是“喜欢”“自然”“语言”“但是”“门槛”“很高”,也可能是“自然”“语言”“它的”“处理”“学习”“很高”,前者明显表达了负面情感,但后者很可能被误判为带有正面情感,因为其中的“很高”带有积极情绪。在现实生活中,人们也常使用一些脱离语境的极性词对情感进行评估,比如“大”“小”“高”“低”等,然而这些词在不同的语境中有着不同的含义,因此,无法仅凭某些极性词就分辨出整个文本的情感倾向,此时必须要考虑语境。
针对上述问题,本文建立一种基于词语邻近特征的CNN模型,在卷积过程中考虑每个词语前后邻近词的特征,以此保证信息传递的连续性。
近年来,深度学习模型在计算机视觉[4]和语音识别[5]邻域取得了一定成果。深度学习模型通常是具有多层结构的神经网络,其强调从大规模的数据集中学习各种现实事物的特征表示,且这些特征能够被计算机直接应用于各种计算模型中。在自然语言处理领域,大多数深度学习方法通过神经网络模型学习单词的词向量表达[6],在此基础上再进一步进行处理,如进行语义分析[7]、搜索词检索[8]、句子分类[9]等。目前,主流的神经网络模型是递归神经网络(如RNN、LSTM)和卷积神经网络(如DCNN)。递归神经网络将文本看作有序的词语序列,并且考虑词语间的关联性,其充分利用上下文信息从而较好地进行语言建模。其中RNTN模型[10]利用情感树库在二元化的句法树结构上进行语义合成,文献[11]在此模型基础上,通过对依存句法树进行变换,完成句中指定评价对象的情感极性分析。文献[12]通过添加语义合成函数的pooling层,使得RNTN可以自适应地选择最适合当前节点的语义合成函数,从而大幅提高情感分类效果。但是该类RNN模型仅考虑文本的有序性而忽略词语在语义上的结构性,且该类模型在训练过程中存在梯度爆炸和梯度消失问题[13],导致训练过程难以收敛。由于微博文本的不规范性,导致各种句法分析结果通常不准确,因而CNN模型成为微博情感分类的首选模型。文献[9]提出一种DCNN模型,通过学习句子结构来提高情感语义合成性能。文献[14]提出CharSCNN模型,为英语单词增加字符表示层的特征,以提高对于英文Twitter中不规则单词的表示能力。文献[15]首次尝试将CNN应用到句子分类任务中,通过词向量训练工具word2vector生成的词向量,训练一个简单的3层CNN,其在二分类和多分类数据集上均取得了很好的分类性能,说明预先训练的词向量是一类通用的特征向量,可以在不同的分类任务中直接使用。文献[15]采用的MCNN是CNN的一种,能够对多个窗口大小内的词向量执行语义合成操作,其在多个不同的情感数据集上也取得很好的分类性能。文献[16]基于MCNN提出EMCNN模型,其将基于表情符号的情感空间映射与深度学习模型MCNN进行结合,增强了MCNN捕捉情感语义的能力。文献[17]提出一种LSTM-CNN模型,尝试从子句的角度来分析文本的情感极性,利用LSTM(长短时记忆网络)归纳某个子句的上下文信息后将其拼接在子句的词向量表达形式的两侧,再使用CNN对子句进行特征提取、分类,该模型在影评数据集上能取得比传统分类方法更好的性能。
上述模型都基于传统的CNN模型,在做卷积操作时依然无法保证词向量之间的序列性以及信息传递的连续性。本文在参考了文献[15]的工作后,分别建立3种基于词语邻近特征的CNN模型LAF-CNN、RAF-CNN、LRAF-CNN,在卷积过程中让每个词向量携带邻近词语的特征,这样既保证信息传递的连续性,且在局部范围内确保词语的序列性不会被打乱,也在一定程度上使其具备RNN模型的归纳能力。
词语的邻近特征指与该词相邻词语的特征。假设原始句子为:
X=(w1,w2,…,wi-1,wi,…,wn)T
(1)
对应的词向量矩阵为:
M=(v1,v2,…,vi-1,vi,…,vn)T
(2)
其中,wi表示组成句子的各个词语,vi表示wi对应的词向量特征。在卷积过程中,对于某个词语wi采取3种不同的邻近特征附加策略:附加左邻近特征(Left Adjacent Feature,LAF),附加右邻近特征(Right Adjacent Feature,RAF),附加左右邻近特征(Left Right Adjacent Feature,LRAF),其作用都是为了增强词语在特定上下文中所表达的语义。若使用LAF策略,则卷积过程中使用词向量MLAF,即从第一个词向量开始,每一个词向量都会与其左侧的词向量特征进行合并操作,该做法的好处是上一个词向量的信息可以传递给下一个词向量,因此,下一个词向量在参加卷积操作时可以提供相对充足的情感信息供卷积层提取有效特征。MRAF中每一个词向量与其右侧的词向量特征合并,MLRAF中每一个词向量与其左、右侧的词向量特征合并。3种策略的直观描述如图1所示,其中v0表示零向量。
图1 3种词语邻近特征附加策略示意图
基于词语邻近特征的CNN模型如图2所示(使用LRAF附加策略),图中以“我不喜欢打篮球”为例。其中使用的卷积核有3个尺寸:2,3,4,每个尺寸的卷积核有2种,每个卷积核对句子矩阵进行卷积操作生成长度可变的特征图后,对其进行最大池化(max-pooling)操作,即取出每个特征图中的最大值,由这些单值生成一个固定大小的特征向量后将其以全连接的形式传给Softmax层,Softmax层使用该特征向量作为输入同时计算出各个类别上的概率分布(这里假设其是二分类,因此,图2中只有2个分类状态)。
图2 基于词语邻近特征的CNN模型结构
v1:n=v1⊕v2⊕…⊕vi⊕vi+1⊕…⊕vn
(3)
其中,⊕表示串联操作,也可以说,vi:i+j表示词向量vi,vi+1,…,vi+j的串联。
⊕…⊕(vn-1∪+vn)
(4)
⊕…⊕(vn∪+v0)
(5)
(vi-1∪+vi∪+vi+1)⊕…⊕(vn-1∪+vn∪+v0)
(6)
其中,运算符∪+为2个向量的合并符号,如向量a=[1,2,3],向量b=[4,5,6],则有a∪+b=[1,2,3,4,5,6]。
卷积层利用大小为h×k的滤波器对输入特征矩阵进行卷积操作,即:
(7)
C=[c1,c2,…,cn+h-1]
(8)
在卷积层后,加入了ReLU层,将ReLU作为激活函数,可以加快随机梯度下降的收敛速度[16]。
(9)
卷积层和下采样层共同构成了LRAF-CNN的特征提取层。LRAF-CNN由多个不同尺寸的特征提取层(有多个h值)并列组成,每种尺寸的特征提取层各有m个,因此,全连接层的特征向量z为:
(10)
相比普通的CNN模型,基于词语邻近特征的网络结构可以有效提取出与正负面情感标签相关的词向量特征,并用于最终的情感分类。
下采样层输出的多个单值特征作为全连接层的输入,全连接层将其进行拼接,形成特征向量,然后利用Softmax多分类函数输出各个分类的概率大小,从而确定分类结果,同时根据训练数据的实际分类标签,采用反向传播算法对模型参数进行梯度更新,即:
(11)
其中,y表示句子的实际情感标签,θ表示模型的参数集合,即神经元之间的权重矩阵,训练过程中θ会不断变化,直至收敛。
通过式(11)可以计算出给定句子的情感标签和模型参数集合θ的条件概率分布图,进而得出分类结果。
在网络的倒数第2层,引入Dropout策略并使用L2-constraint规则权重约束条件对网络参数进行正则化处理[19]。Dropout通过在前向传播过程中随机丢弃一定比例的神经元(本文Dropout比例为0.5)以阻止神经元之间的相互适应。对于倒数第2层的输入z,不再使用式(12)计算输出神经元y。
y=w·z+b
(12)
取而代之的是式(13)所示的Dropout策略。
y=w·(z∘r)+b
(13)
本文使用COAE2014、COAE2015任务4的微博数据集(http://115.24.12.5/web/index.html),其中观点倾向性分析评测(Chinese Opinion Analysis Evaluation,COAE)始于2008年,是国内情感分析方面的权威评测会议。COAE2014任务4(二分类)的微博数据集共包含40 000条数据,其中官方公布了7 000条微博的极性(负面有3 224条,正面有3 776条),另33 000条是混淆语料,涵盖手机、翡翠、保险3个领域。COAE2015任务4(三分类)的微博数据集共包含133 201条数据,其中官方公布了20 154条微博的极性(负面有6 209条,中性有1 639条,正面有12 306条),另113 047条是混淆语料,涵盖汽车、电子、手机、美食、娱乐、宾馆等多个领域。2个数据集的概要信息如表1所示。
表1 COAE2014、COAE2015数据集概要信息
其中,c表示目标数据集是几分类,l表示该数据集中最长的句子包含多少个词语,N表示数据集中有多少条标注数据,V表示标注数据的词汇量大小,Vpre表示标注数据中含有多少已存在于预训练词向量中的词汇,CV=10,表示采用十折交叉验证法划分实验数据。
在数据预处理方面,本文直接去除文本中所有标点符号和表情符号,只留下含义较多的中、英文单词,然后利用ICTCLAS(http://ictclas.nlpir.org/)分词工具对实验数据集进行分词。在词向量预训练方面,本文使用新浪微博提供的数据抽取接口,抽取1 000万条微博数据,经过去燥和预处理之后,再使用Google开源的词向量训练工具word2vec(https://code.google.com/archive/p/word2vec/)训练词向量。经过训练后,得到的词向量文件包含80 552个词语,在COAE2014、COAE2015任务4数据集上的词汇覆盖率分别是96.13%、95.33%。
各模型的训练过程如下:
1)CNN:是基准模型,使用预训练词向量对所有词语进行初始化,不在预训练词向量中的词语随机初始化(随机初始化范围是[-0.25,0.25]),且在训练过程中所有词向量保持不变。
2)LAF-CNN:词向量的初始化方案与CNN相同。训练过程中为每个词语添加左邻近特征,如果左邻近词语不在预训练词向量中,则随机初始化左邻近特征,且在训练过程中所有词向量保持不变。
3)RAF-CNN:词向量的初始化方案与CNN相同。训练过程中,为每个词语添加右邻近特征,如果右邻近词语不在预训练词向量中,则随机初始化右邻近特征,且在训练过程中所有词向量保持不变。
4)LRAF-CNN:词向量的初始化方案与CNN相同。在训练过程中,为每个词语添加左、右邻近特征,如果左、右邻近词语不在预训练词向量中,则随机初始化左、右邻近特征,且在训练过程中所有词向量保持不变。
上述4个模型除了邻近特征的附加策略不同,其余超参数设置均相同,超参数值如表2所示。
表2 模型的可调超参数值
模型在训练过程中,采用文献[20]提出的Adadelta Update Rule规则进行随机梯度下降更新参数。
在COAE2014数据集(二分类)和COAE2015数据集(三分类)上的模型对比实验结果如表3和表4所示。实验效果评价指标为查准率、召回率、F值及准确率,其中基准模型是未考虑任何邻近特征的CNN。从表3可以看出,相比基准模型CNN,LAF-CNN、RAF-CNN、LRAF-CNN在查准率、召回率、F值及准确率方面均有所提升,其中准确率分别提升了1.14%、0.57%、3%。从表4可以看出,相比基准模型CNN,LAF-CNN、RAF-CNN、LRAF-CNN在查准率、召回率、F值方面浮动比较大,这是由各个分类的训练集数量不均衡所导致,但模型在准确率方面依然提升了1.63%、1.09%、1.83%。
表3 各模型在COAE2014数据集上的分类结果对比 %
表4 各模型在COAE2015数据集上的分类结果对比 %
从2个数据集上的实验结果可以总结出:
1)当加入邻近特征后,模型在综合性能方面得到了一定提升,这说明在卷积过程中,给每个词语添加邻近特征,一方面可以强化词语在特定上下文中所表达的语义,另一方面相邻词语之间的相互关系提高了信息传递的连续性。这2点在一定程度上可确保在卷积过程中,即使漏掉了个别情感词语,也不会对最终的分类结果产生很大影响。
2)LAF-CNN的分类准确率均略高于RAF-CNN,其原因可能跟词语的序列性有关,中文文本语义的表达是从左至右、先有上文后有下文,而LAF-CNN正具有这种承上启下的作用。然而具体是否因为这个原因造成该现象,还有待进一步验证。
3)LAF-CNN、RAF-CNN的分类准确率均略低于 LRAF-CNN,其原因跟词语在特定上下文中所蕴含的语义有关,由于LAF-CNN只携带左邻近特征,RAF-CNN只携带右邻近特征,而LRAF-CNN兼顾左、右邻近特征,其可以提取到更精确的语义信息,因此,该模型的分类效果更好。
为在卷积过程中增强词语在当前上下文中的语义、保证词语在局部范围内的序列性,本文建立一种基于词语邻近特征的CNN模型,并为其设计了3种词语邻近特征附加策略。对比实验结果表明,相对传统CNN模型,该模型具有可行性、高效性。但是在附加邻近特征时,本文只考虑当前词语前、后邻近词的特征,下一步将在计算能力允许的情况下,扩大邻近词的数量从而获取更精确的上下文信息;此外,在语料预处理时,本文直接去掉所有标点符号和表情符号,然而某些标点符号和表情符号的去除会影响上下文的情感极性转移,对模型最后的分类效果产生一定的负面影响,因此,解决由标点符号和表情符号引起的情感极性转移问题也是今后的研究方向。
[1] PANG B,LEE L.Seeing stars:exploiting class relationships for sentiment categorization with respect to rating scales[C]//Proceedings of the 43rd Annual Meeting on Association for Computational Linguistics.New York,USA:ACM Press,2005:115-124.
[2] 韦 航,王永恒.基于主题的中文微博情感分析[J].计算机工程,2015,41(9):238-244.
[3] CUN L,BOTTOU L,BENGIO Y,et al.Gradient-based learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):2278-2324.
[4] KRIZHEVSKY A,SUTSKEVER I,HINTON G.ImageNet classification with deep convolutional neural networks[C]//Proceedings of International Conference on Neural Information Processing Systems.[S.l.]:Curran Associates,Inc.,2012:1097-1105.
[5] GRAVES A,MOHAMED A,HINTON G.Speech recognition with deep recurrent neural networks[C]//Proceedings of 2013 IEEE International Conference on Acoustics,Speech and Signal Processing.Washington D.C.,USA:IEEE Press,2013:6645-6649.
[6] MIKOLOV T,SUTSKEVER I,CHEN K,et al.Distributed representations of words and phrases and their compositionality[C]//Proceedings of the 26th International Conference on Neural Information Processing Systems.[S.l.]:Curran Associates,Inc.,2013:3111-3119.
[7] YIH W T,HE X,MEEK C.Semantic parsing for single-relation question answering[EB/OL].[2017-02-25].https://www.microsoft.com/en-us/research/wp-content/up loads/2016/02/SingleRelationQA-YihHeMeek-ACL14.pdf.
[8] SHEN Y,HE X,GAO J,et al.Learning semantic representations using convolutional neural networks for Web search[C]//Proceedings of the 23rd International Conference on World Wide Web.New York,USA:ACM Press,2014:373-374.
[9] KALCHBRENNER N,GREFENSTETTE E,BLUNSOM P.A convolutional neural network for modelling sentences[EB/OL].[2017-02-26].http://aclweb.org/anthology/P14-1062.
[10] SOCHER R,PERELYGIN A,WU J Y,et al.Recursive deep models for semantic compositionality over a sentiment treebank[EB/OL].[2017-02-15].https://nlp.stanford.edu/~socherr/EMNLP2013_RNTN.pdf.
[11] DONG L,WEI F,TAN C,et al.Adaptive recursive neural network for target-dependent twitter sentiment Classification[EB/OL].[2017-02-20].http://acl2014.org/acl2014/P14-2/pdf/P14-2009.pdf.
[12] DONG L,WEI F,ZHOU M,et al.Adaptive multi-compositionality for recursive neural models with applications to sentiment analysis[C]//Proceedings of the 28th AAAI Conference on Artificial Intelligence.Menlo Park,USA:AAAI Press,2014:1537-1543.
[13] KOLEN J,KREMER S.Gradient flow in recurrent nets:the difficulty of learning long term dependencies[M].Washington D.C.,USA:Wiley-IEEE Press,2001:237-243.
[14] SANTOS C N D,GATTI M.Deep convolutional neural networks for sentiment analysis of short texts[EB/OL].[2017-02-10].http://www.aclweb.org/anthology/C14-1008.
[15] KIM Y.Convolutional neural networks for sentence classification[EB/OL].[2017-02-15].http://aclweb.org/anthology/D14-1181.
[16] 何炎祥,孙松涛,牛菲菲,等.用于微博情感分析的一种情感语义增强的深度学习模型[J].计算机学报,2016,39(4):1-19.
[17] CHEN Peng,XU Bing,YANG Muyun,et al.Clause sentiment identification based on convolutional neural network with context embedding[C]//Proceedings of the 12th International Conference on Natural Com-putation,Fuzzy Systems and Knowledge Discovery.Washington D.C.,USA:IEEE Press,2016:1532-1538.
[18] COLLOBERT R,WESTON J,BOTTOU L,et al.Natural language processing (almost) from scratch[J].Journal of Machine Learning Research,2011,12(1):2493-2537.
[19] HINTON G E,SRIVASTAVA N,KRIZHEVSKY A,et al.Improving neural networks by preventing co-adaptation of feature detectors[J].Computer Science,2012,3(4):212-223.
[20] ZEILER M D.Adadelta:an adaptive learning rate method[J].Computer Science,2012,3(4):325-330.