王汝娇,姬东鸿
(武汉大学 计算机学院,武汉 430072)
随着移动互联网和社交网络应用的飞速发展,用户越来越乐于利用微博、微信、Twitter、Facebook等社交软件在互联网中分享和传播自己对于某件事物的立场和看法,或者在各大电商、APP应用等平台中表达对某一产品或者服务的使用感受。如何准确高效地对这类带有感情色彩的文本进行分析处理、归纳推理已成为当前学界和商界的迫切需求,这就大大地促进了文本情感分析技术的发展[1]。
文本情感分析依据其处理的文本粒度不同可以分为:文档级,句子级,词语级。文档级情感分析目的是对文档表达的整体情感倾向进行判别分类,通常重点关注话题和与话题相关的观点词和情感词。句子级情感分析是一个三元分类问题,其重点在于判断句子是否为主观句,并在此基础上判别主观句的情感倾向是正面、负面或中立。词语级情感分析主要包括基于词典的情感分类方法和基于语料的情感分析方法,前者通过同义、反义以及语义层次来构建情感词,而后者通常人工初始少量情感词作为种子,然后通过某种统计方法或者句式分析方法在大规模语料数据中判别其他词语的情感倾向性。
对Twitter短文本开展情感分析研究,通过判断Twitter文本作者的情感状态是积极的肯定赞赏、中立观望或者消极的否定批判,获取Twitter舆论话题的倾向性,把握舆论的走向。但是,Twitter短文本区别于传统文本,其长度通常只有1个~100个词左右,Twitter中包含的信息总量虽然庞大,但是单条Twitter短文本包含的特征少,并且Twitter短文本通常不遵守语法句法特性,组词造句存在很强的随意性[2]。因此,Twitter短文本的稀疏性和不规范性对情感分析带来了较大的影响和干扰。
本文提出一种基于卷积神经网络和多特征融合的Twitter情感分类方法。针对Twitter文本独特的语言特性,构建适用于Twitter文本情感分类的语料特征和词典特征。然后将Twitter文本词向量作为卷积神经网络的输入,通过训练神经网络获取深度词向量特征。最后,将语料特征、词典特征和深度词向量特征进行特征融合生成情感特征,使用支持向量机SVM对积极、中性、消极3类文本进行一对一的模型训练和分类,从而实现Twitter文本的情感分类判别。
情感分析主要任务是分析文本的主客观性,然后对主观性语句的情感倾向以及情感强度进行判别分析[3]。目前文本情感分析主要可分为基于情感词典和基于机器学习两大类。
1)基于情感词典方法,该类方法是利用情感词典、领域词典等人工编写的词典模板来获取最终的文本情感极性,其中最为关键的是要有一个能准确评价情感强度的情感词典。文献[4]情感词典包含2 006个正性词(Positive Word)和4 783个负性词(Negative Word),该词典不仅包含正常的用词,还包含了拼写错误、语法变形、俚语以及社交媒体标记等。文献[5]主观词典包含2 718个正性词和4 912个负性词并标示出了词性、词根以及定义了词语情感极性的强弱。NRC Hashtag词典和 Sentiment 140词典[6]这2个词典是专门针对Twitter文本挖掘创建的,分别用Hashtag和表情符号作为某条Twitter是正面或负面的信号,共收集了775 000个有情感表达Hashtag(如难过、生气、开心等)的Twitter数据,人工挖掘了与正面情感或负面情感联系紧密的78个种子词汇,然后计算词语偏向正面情感的互信息与偏向负面情感的互信息的差值作为该词的情感得分。General Inquirer词典[7]包含1 914个正性词和2 293个负性词,并依据每个词语词性和强度不同打上不同的标签值。LIWC词典[8]包含70多个类别的2 300个词语,该词典包含影响情感分类判别的介词、否定词和表示程度的副词等。
2)基于机器学习方法,其重点在于选取合适的特征来表征文本,从人工标注情感类别的文本中提取特征,用于分类器的训练和构建,最终利用机器学习方法获得文本的情感极性。文献[9]通过提取文本的词性、否定词等特征,使用有监督方法进行文本情感分类。文献[10]提出一种基于情感词图模型的方法,将PageRank算法引入情感词权重中,使用SVM进行微博语料的情感分析。文献[11]通过对微博层次结构的多策略方法的特征进行对比分析研究,重点分析了表情符号的规则方法、情感词典的规则方法以及基于SVM的层次结构的多策略方法。文献[12]提出一种基于Bootstrapping的半监督情感分析方法,通过自学习来扩大情感类别标记的规模,使用迭代学习提高SVM情感分类的准确性。但上述两大类方法并非完全独立,基于情感词典的机器学习情感分类方法也是研究热点之一。
Twitter微博属于短文本,针对其开展的句子级情感倾向性分析的最终目的是将Twitter文本的情感极性分为正向、负向和中性3大类。目前,国内外的研究学者已经在Twitter情感分析领域做出了诸多探索,主要是分析整个句子中的主客观性,并结合微博所表现的总体情感倾向性进行情感分类。近年来涌现了大量对Twitter文本情感分析的研究,文献[13]提到了Twitter情感分析面临的一些困难:数据的稀疏性,非标准词汇的使用,语法缺乏规范性以及Twitter的多语言特性。研究者设计了2种不同的思路解决上述这些困难:一种是基于Twitter本身的内容,另一种是使用Twitter的上下文。基于内容的模型使用每个Twitter的字符n-gram特征图表示,语言的独立性和语法、句法的错误变得不相关,因此分析效果更好。文献[14]则是构建了一个基于Twitter领域的词法器,然后利用N-gram词组模型作为情感特征并通过动态神经网络DAN2对Twitter消息进行分类。文献[15]针对含有Hashtag的Twitter进行分析,提出了Hashtag图模型,将Hashtags之间的共现关系和Hashtag的字面意思并入到分类框架中,从而辅助极性判别。针对Twitter文本特性构建了一系列文本特征,包括一元词、二元词、否定文本个数、情感词数量等,最后采用lib-SVM进行情感分类[6]。文献[16]设计了一个Twitter情感分析系统,能抓取Twitter中与总统选举有关的社会舆论信息并进行情感性分析。
上述这类基于浅层机器学习的方法已在情感分类中得到广泛应用,但这类基于传统机器学习方法较为依赖构造分类器的情感词典特征以及分类器模型的参数调优。为解决这一问题,目前已有研究学者将深度学习运用到自然语言处理领域中,深度学习模型能够更加高效地完成特征提取任务,并且提取出的特征能够更好地反映出文本语义信息。
深度学习作为一种新兴的神经网络学习算法,开启了机器学习二次革命的浪潮。深度学习依据学习方法的不同可以分为深层无监督学习和深层监督学习。1)深层无监督学习可以看作是多个浅层无监督学习器的叠加,输入是数据的原始特征,输出是数据新的表达,模型中的任意一层输出均可以看作是数据的特征表达,代表方法包括限制玻尔兹曼机Deep Boltzmann Machines、自编码器Autoencodes等;2)深层监督学习方法输入也是数据的原始特征,但输出是数据的label标签,与传统的浅层监督方法最大的不同在于深层监督学习方法在学习迭代过程中会生成很多数据的中间表达或者特征,因此深层监督学习方法中间层的学习或者特征提取过程可以看作是一个特征自学习或者特征表达的过程,代表方法包括深信度网络(Deep Belief Network,DBN)、深度神经网络(Deep Neural Network,DNN)、卷积神经网络(Convolutional Neural Network,CNN)等。
文献[17]采用卷积神经网络CNN实现了一个多层结构的神经网络学习算法,CNN利用空间相对关系减少参数数目,从而提高反向传播BP算法的训练性能。它的权值共享网络结构使之更类似于生物神经网络,减少了权值的数量,降低了网络模型的复杂度。近年来,CNN被用于自然语言处理领域和情感分析问题上并取得了良好的效果[18]。文献[19]提出了一个可以同时利用基于特定任务调整的词向量和静态的预训练词向量的卷积神经网络模型,用于句子级别的文本分类任务。文献[20]改进了CNN的结构,进行了两次卷积操作,并提出了动态K-max pooling池化策略,返回每一个feature maps中最大的K个值。文献[21]受图像有RGB、CMYK多通道的启发,将句子视为图像,将一个d维的词向量看成一个有d个通道的像素,在卷积层中,每一个卷积核作用于维度为:filter长度与词向量维度的乘积即P×|V|的region上,为了降低需要学习的参数数量,将P个词向量相加,从而将参数数量由P×|V|降低为|V|。不同于上述论文中只使用单词的词向量表示,文献[22]同时使用了字符级的向量,将词向量和字符向量合并在一起作为其向量表示。文献[23]针对句子匹配的问题,提出了一种基于CNN的句子建模网络,模型解决句子输入长度不一致的方法是规定最大的可输入句子长,然后长度不够的进行补0填充。文献[24]通过选择使用词性标注、Word embedding等方法增强模型性能,并且在卷积、池化以及句子表征方面进行局部相似度计算来提升性能。文献[25]提出一种使用Siamese框架的CNN模型,并且采用多粒度的交互特征,一方面提高了模型的分类性能,另一方面增强了模型的鲁棒性。文献[26]构建了一个深度卷积神经网络模型。针对训练集用word2vec训练出每个词的词向量,然后把它们输入CNN中并作为网络参数一起参与迭代训练过程。最后由CNN中最后一层Softmax层进行分类输出情感极性。
此外,深度学习中递归自编码方法也广泛应用在情感分析中。文献[27]提出一种基于递归自编码方法对句子级文本进行情感分析,使用了无监督RAE方法学习句子组合机构,采用有监督方法训练带情感标签的数据通过分类判别获取情感极性。文献[28]设计了一种基于RAE的微博情感分析方法,通过将低维实数向量表示的文本作为RAE情感极性转移模型的输入,最终获得情感分类判别的极性。
然而,单纯使用深度学习方法处理情感分类问题会忽略现有情感分类领域积累的大量情感词典、知识库、人工特征等资源。此外,Twitter文本是一种口语化的非规范文本,受字数限制,通常就是简短的一句话,甚至是若干单词的组合,缺乏必要的上下文语境关联,导致单纯地使用词向量模型来表示文本特征效果可能不太理想。现阶段情感分类领域积累的大量情感词典、知识库、人工特征等资源,其中关于情感词、否定词、标点符号等这些短词精心设计的特征在情感分析中也取得不错的效果。本文将这类特征与深度词向量特征进行融合,以实现对Twitter短文本的情感分类。如何合理科学地设计深度卷积神经网络,将深度学习技术与已有的情感分类资源进行有效融合,提高情感分类准确性是本文研究的切入点和突破口。
本文提出一种基于卷积神经网络和特征融合的Twitter情感分类方法,首先预先对Twitter文本进行预处理,将Twitter文本转化为统一规则的规范化文本,并结合Twitter文本的语言特性,构建Twitter文本情感分类的语料特征和词典特征。然后使用GloVe获取Twitter文本的词向量表示,并将文本词向量特征输入本文设计的卷积神经网络中,通过网络模型训练获取深度词向量特征。最终用于情感分类特征为语料特征、词典特征和深度词向量进行特征融合的结果,最后将融合特征使用One-Versus-One SVM支持向量机进行3类情感极性的一对一模型训练和分类。
由于Twitter文本并不像传统媒体发布的文本那样规范正式,这种非正式文本通常很短不超过140字,多数都是一句话、一个标题,所使用的语言有其自己的特色,内容包含有创意的拼写和标点、表情符号、俚语、新词、URL、特定术语缩写、用户名以及Twitter中特有的主题标签#Hashtag等,这些非正式文本给情感分类带来了极大挑战。
为了去除不必要的噪声干扰,本文预先对Twitter文本进行预处理,具体规则如表1所示。针对8种非规范对象进行规范化转换,并在转换后的文本对象后添加对应的标记,从而将原始Twitter文本转化为统一规则的规范化文本。
表1 Twitter文本规范化预处理规则
经过规范化处理后,得到相对规范化的Twitter文本,在此基础上提取语料特征、词典特征以及深度词向量特征。
Twitter文本受到长度限制,通常内容简单直观,整体表达内容单一,导致Twitter文本中情感表达的词语和短语往往就代表该文本的倾向性。例如:“They may have a SuperBowl in Dallas,but Dallas ain’t winning a SuperBowl.”,其中“SuperBowl”和“Dallas”代表文本的主题内容,而“but”和“ain’t”就代表了文本的情感倾向。针对Twitter短文本的独特语言特性,本文设计了Twitter文本的语料特征和词典特征用于对其进行情感分类。
如表2所示,使用6种语料特征,总计30维:
1)标签的数量:该标签使用Twitter词性标注工具包“ark-tweet-nlp”,其中定义了24种标签,包括名词、表情符号、用户名等。
2)Hashtag主题标签数量:Hashtag是Twitter中用来标注线索话题的标签,如#NBA Final则代表这条Twitter与NBA篮球总决赛有关。
3)Twitter中否定上下文的数量:否定上下文的定义是以否定词(no、wouldn’t等)开始,以标点符号“,”“.”“:”“!”“?”为结尾。
4)Twitter中纯大写的词数量,如GOOD等。
5)Twitter中连续出现的标点符号序列的个数以及最长序列的长度,如“!!!”“!?”“?!”“??”等。
6)Twitter中是否出现刻意延长词:如looove、sooo等。
表2 Twitter短文本的语料特征
除语料特征外,还选取了4个情感字典,分别计算对应的4种情感分数,得到总计16维的词典特征。
对于Liu Bing词典和MPQA主观词典,计算如下特征:
1)计算肯定上下文中包含token的正面分数;
2)计算肯定上下文中包含token的负面分数;
3)计算否定上下文中包含token的正面分数;
4)计算否定上下文中包含token的负面分数。
否定上下文的定义与语料特征3)中定义一致,除去否定上下文的剩余部分即为肯定上下文。其中,对于Bing Liu’s Lexicons词典中的情感词,正面token给予+1的情感分数,负面token给予-1的情感分数。对于MPQA Subjectivity Lexicon词典中的情感词,由于该词典考虑了情感极性的强弱,因此给予弱情感词的情感分数分别为+1/-1,强情感词的情感分数分别为+2/-2。
对于NRC Hashtag和Sentiment 140词典,计算如下特征:
1)情感分数不为0的token总数;
2)语句中所有token的情感分数之和;
3)语句中token的情感分数最大值;
4)语句中最后一个token的情感分数。
将30维语料特征和16维词典特征组合在一起获得本文构建的46维特征。
由于该46维的特征维度间差异较大,为避免分类中某一维特征支配整个分类过程对结果过分干扰,对46维语料特征和词典特征进行线性归一化,归一化公式如下:
其中,Featurenorm为某一维特征归一化后的结果;Feature为某一维的原始特征;Featuremax和Featuremin分别为某一维原始特征中的最大值和最小值,通过归一化将46维特征进行等比例缩放。
在使用卷积神经网络处理自然语言问题时,通常以矩阵表示的句子,采用一个低维的实数向量来表示词语以避免数据维数灾难。Twitter文本情感分析的输入是短文本,可以看作是一串单词序列的组合,那么矩阵的每一行对应于一个分词元素或者一个单词,矩阵中每一行表示一个单词的向量,这些向量都是word embeddings的形式,例如Word2Vec和GloVe等。这样就将文本数据用低维度实数向量表示,然后可作为卷积神经网络的输入。
本文采用了斯坦福开源工具GloVe(Global Vector for Word Representation)获得文本词向量表示[29]。它提供了一个用大量Twitter语料预先训练好的词向量glove.twitter.27B,里面包含有25维、50维、100维以及200维4种不同维度的词向量。
词向量可将每一个词语映射到d维实数向量空间上,假如词向量空间Ω的大小为|Ω|×d,|Ω|是词表的大小,代表着词向量中包含的词语个数,Ω中每一行表示一个单词的d维的词向量。例如,输入的一条Twitter语料E可以单词序列[e1,e2,…,
e|E|]表示,其中,|E|表示语料E中包含的词语个数,即给定句子E,包含|E|个词语ei,1≤i≤|E|。将语料E转换为词向量矩阵时,∀ei∈E,1≤i≤|E|,在Ω中搜索ei的词向量,若存在则选取它对应的实数向量θi表示,若不在Ω中则将其向量置为0,即θi=0。通过将各个词语的词向量堆放在一起,最终语料E可转换为大小为|E|×d的词向量S特征矩阵表示,即:
词向量特征矩阵S的每一行代表输入的Twitter文本中一个单词的词向量。
如图1所示,本文构建的卷积神经网络模型由卷积层、池化层、全连接层和softmax层组成,每一层的输出均为下一层的输入。
图1 深度词向量特征提取算法
利用该模型获取情感分类的深度词向量特征,卷积神经网络构造方法如下:
1)卷积层
卷积层接收大小为n×d的Twitter短文本的词向量特征矩阵S,其中S包含n个单词,词向量维度为d,矩阵S每一行表示一个单词的d维词向量。选取大小为m×d的滤波器F来对特征矩阵S进行卷积操作,从而获得新的特征值ci,其中i表示第i个特征值,则:
ci=(F*S)i=f(w×Si:i+m-1+b)
其中,f是一个非线性卷积核函数,m表示卷积计算中滑动窗口的大小,w为大小m×d的滤波器F,b是一个偏置项,Si:i+m-1表示从S的第i行至第i+m-1行抽取的局部特征矩阵。这个卷积窗口被应用到所有可用的局部特征矩阵S1:m,S2:m+1,…,Sn-m+1:n中,最终生成了特征向量C。
C=[c1,c2,…,cn-m+1]
2)池化层
由于每条Twitter文本的单词长度不确定,词向量特征矩阵S大小也不确定,最终导致卷积层输出特征维度不固定,因此需要对获得的特征向量C进行池化操作。
池化操作采用K-Max Pooling方法,对于某个卷积核获得的若干特征值,只保留其特征值中得分在前K的特征值,并且保留这K个特征在卷积后的先后顺序。
当K=1时,K-Max Pooling方法与Max Pooling方法一致,即取得最大值。
通过池化Pooling层可以固定全连接层的神经元个数,也固定了全连接层输出特征的长度,自然地解决了Twitter文本情感分析中句子长度不一致干扰特征提取的问题。
3)全连接层
上述过程描述了卷积窗口为m×d的特征提取过程,而在整个卷积神经网络中使用了多个不同大小卷积核。本文使用了3种不同尺寸的卷积核,分别为m=3,m=4,m=5。每个尺寸卷积核中包含T个滤波器,每个滤波器产生的特征中又池化获得K个特征。因此,所有特征在全连接层汇聚为最终3×K×T维的深度词向量特征V:
4)Softmax层
全连接层输出的特征V利用Softmax输出情感极性3分类(正面、负面、中立)判别的结果,并依据训练Twitter文本数据中的真实标签,采用反向传播算法对卷积神经网络中的参数进行梯度更新:
P(result|V,Wx,bx)=softmaxx(Wx·V+bx)
其中,softmax为分类器,result表示情感极性判别的结果result∈{+1,0,-1},下标x代表第x轮的梯度更新。
5)情感分类模型的训练和判别
当整个CNN网络梯度更新收敛后,获得最终用于情感分类的深度词向量特征。将语料特征、词典特征和深度词向量特征组合在一起作为情感分类的特征,并采用支持向量机SVM对训练和测试样本进行模型训练和分类判别,其中:情感分类特征=[语料特征;词典特征;深度词向量特征]。
由于情感分类面对的是一个3类分类的问题,因此本文使用One-Versus-One SVM进行分类,在积极、中性、消极中任意2类之间设计一个SVM,总计设计3个SVM分类器,当对一个未知语句Sample进行情感类别分类时,使用3个分类器进行分类判决投票,得票最多的情感类别即是该语句的情感类别。具体分类投票算法如下:
S_Negative,S_Neutral,S_Positive为消极、中性、积极3类Twitter情感语句的训练样本,训练生成3个分类模型:
Model_1=Train(S_Negative,S_Neutral)
Model_2=Train(S_Neutral,S_Positive)
Model_3=Train(S_Positive,S_Negative)
初始化Negative=Neutral=Positive=0,如果Classifier(Model_1,Sample)=Negative,则Negative=Negative+1,否则Neutral=Neutral+1;如果Classifier(Model_2,Sample)=Neutral,则Neutral=Neutral+1,否则Positive=Positive+1;如果Classifier(Model_3,Sample)=Positive,则Positive=Positive+1,否则Negative=Negative+1;最终Sample的情感类别Label为:Label=max(Negative,Neutral,Positive)。
如表3所示,本文选用了SemEval发布的关于Twitter情感分析任务所提供的公开语料数据集来验证本文方法的有效性。将SemEval2013、SemEval2014及SemEval2015数据集内所有Twitter语料合成在一起,去除重复和标注自相矛盾的Twitter短文本,最终获得9 396条已标注情感极性的短文本,其中情感极性判定积极的有3 574条,消极的为1 344条,中性的为4 478条。由于3个类别的样本数目存在差异,这种数量的不平衡性会导致分类器训练的过程中严重偏向训练样本多的类别,对分类器性能造成较大的损失。因此,本文选取训练集时保证了3种类别的训练样本数量一致。
表3 SemEval语料集合样例
如表4所示,实验中随机抽取积极、中性、消极样本各800条,总计2 400条语料组成训练集;将剩余6 996条语料作为测试语料。其中制作2个测试集:测试集1为全部剩余的6 996条语料均作为测试集。测试集2为在6 996条测试集语料中积极、中性、消极样本各抽取相同的544条。
表4 实验数据集语料分布
本文选择精确率P、召回率R以及F值作为评价指标。精确率P表示情感分类后,实际属于某个类别的文本数量与情感分类判断属于某个类别的文本数量的比值:P=a/(a+c)其中,a、b、c和d的定义如表5所示。
表5 情感分类混淆矩阵
召回率R表示情感分类后,情感分类判断属于某个类别的文本数量与实际属于某个类别的文本数量的比值:
R=a/(a+b)
为了综合考虑精确率和召回率,使用两者的加权调和平均数F来衡量分类效果:
由于本文设定的情感类别包括消极、积极和中性3个类别,因此采用了平均精确率av_P、平均召回率av_R、平均av_F值作为最终衡量情感分类方法的性能的评价指标,即先对不同类别单独计算P、R和F值,再取算术平均值。
卷积神经网络中参数和函数设置如表6所示。使用ReLu作为激活函数,采用Adadelta方法作为梯度更新规则。而参数T和d则采用单因子变量法实验确立最优参数。实验采用表4中训练集和测试集2种样本,使用本文方法测试在不同滤波器数T和词向量维度d下的av_F值。
表6 实验参数设置
如表7所示,随着词向量维度d的增加,情感分类的效果有明显提升;而当滤波器的数量T增多时,情感分类F值有所提升,但当T达到100个后,对情感分类的提升作用较小。所以,在卷积神经网络训练复杂度和分类器训练时间没有显著增加的前提下,最终选择100个滤波器数量、200维词向量,深度词向量特征为3×2×100总计600维。在此条件下,本文设计的情感分类方法准确性能达到0.704。
表7 不同滤波器数T和词向量维度d下的情感分类结果
表8给出了本文方法针对测试集2中1 632条Twitter语料的分类结果,可以看出本文方法训练出来的情感分类器在消极和积极语料中表现较好,F值分别为0.743和0.726,针对中性Twitter语料的F值为0.643。
表8 本文方法的预测准确性
为验证本文提出的基于卷积神经网络和特征融合的Twitter情感分类方法的有效性,将本文方法与N-gram词袋模型、UNITN模型进行对比实验,具体实验如下:
1)方法1:采用uni-gram特征,使用SVM分类;
2)方法2:采用uni-gram和bi-gram特征,使用SVM分类;
3)方法3:采用uni-gram、bi-gram和tri-gram特征,使用SVM分类;
4)UNITN-CNN:采用word2vec训练的词向量,并迭代训练,最后使用CNN的Softmax进行分类;
5)Corpus-Lexicons-SVM:采用本文提出46维的语料特征和词典特征,使用One-Versus-One SVM分类;
6)GloVe-CNN-SVM:采用本文提出的深度词向量特征,使用One-Versus-One SVM分类;
7)本文方法:采用本文提出的语料特征、词典特征和深度词向量融合情感特征,使用One-Versus-One SVM分类。
上述7种不同情感分类方法在表4中2个测试集下对比实验结果如表9所示。
表9 不同方法的分类准确性对比
通过对比方法1、方法2和方法3发现:引入bi-gram和tri-gram特征能显著提升情感分类的准确性,但是随着N-gram模型N值变大,会导致模型训练难度增大。
通过对比N-gram词袋模型和UNITN-CNN发现:卷积神经网络使用不同尺寸的多个卷积核来学习文本词向量特征,并且通过池化层来固定全连接层的神经元个数,降低了输出特征的维数,避免维数灾难的出现,并且也一定程度地提升了检测准确率。
通过对比UNITN-CNN和本文方法发现:本文方法在采用GloVe词向量作为原始特征并使用One-Versus-One SVM分类器取代CNN的softmax进行模型训练和情感分类时能够提高情感分类精确度。
本文设计特征融合方法(对比Corpus-Lexicons-SVM、GloVe-CNN-SVM与本文特征融合方法):这种特征融合在保证深度词向量特征反映文本上下文语义关系和其中蕴含的情感信息表达的基础之上,又采用如情感词得分、延长词、连续标点等特征增强了对原词向量的情感信息表达。实验结果证明,将语料特征、词典特征与深度词向量特征进行特征融合能够有效地提高情感分类的准确性。
此外,从SemEval数据集中抽选了6条Twitter语句,如表10所示,分别给出了它们采用方法3、UNITN-CNN以及本文方法的情感分类结果。其中人工标记“-1”代表该条语句被标记为消极、“0”代表中性、“1”代表积极。
1)样例1中包含了“great” “awesome”等明显的正面极性词,样例3中出现了“hate” “bad” “no”明显的负面极性词,样例5为不带情感色彩的陈述句,所以3种方法都做出了准确的情感判别。
2)样例2不是情感词单独起作用,而是通过词语的序列表达出逻辑关系。CNN处理此类样例时,由于出现了“not” “didn’t”等大量的负面词,从而被误分类为消极的情感倾向。而本文方法中的深度词向量特征反映了词语间的序列关系,“may not”是否定词,“but”表示转折关系然后接着“amazing”是正面极性词,因而被判定为积极的情感倾向。深度词向量特征与语料特征、词典特征的融合纠正了仅靠情感词判别导致的分类错误,在考虑词语的情感极性的同时也兼顾了词语序列表达的逻辑,从而做出正确的分类。
3)样例4从词语的极性来说“best”是正向极性词,词语序列关系也没有出现转折,但该样例是一种虚拟语气的表达,其实表达的是一种消极的后悔情绪,所以3种方法都将其误分类为积极的情感倾向。
4)样例6陈述了他们在杂货店里自发的大声唱歌这样一个事件,并没有任何情感倾向性。然而在语句中出现“great”“beautiful”明显的正向极性词(实际为歌词),因此系统将其误判为积极的情感倾向。
表10 测试集实验结果样例
综上所述,对于包含虚拟语气、反语以及一些既定事实陈述句的无情感转述容易影响情感分类的准确性,针对这一类语句的情感分类研究也是后续研究的重点方向。
本文提出了一种基于卷积神经网络和多特征融合的Twitter情感分类方法,根据Twitter文本的独特性,构建了适用于Twitter文本情感分类的语料特征和词典特征。在此基础上,通过卷积神经网络获取Twitter文本深度词向量特征,并将语料特征、词典特征和深度词向量特征融合为情感分类特征,最终使用One-Versus-One SVM进行分类,实验结果显示本文方法能够有效地对Twitter文本进行情感分类。下一步将针对一些复杂语法结构的短文本进行研究,从而进一步提高Twitter文本情感分类的准确性。
[1] 陆文星,王燕飞.中文文本情感分析研究综述[J].计算机应用研究,2012,29(6):2014-2017.
[2] KOULOUMPIS E,WILSON T,MOORE J D.Twitter Sentiment Analysis:The Good the Bad and The Omg![C]//Proceedings of International Conference on Weblogs & Social Media.Berlin,Germany:Springer,2011:538-541.
[3] 赵妍妍,秦 兵,刘 挺.文本情感分析[J].软件学报,2010,21(8):1834-1848.
[4] HU Minqing,LIU Bing.Mining and Summarizing Customer Reviews[C]//Proceedings of the 10th ACM International Conference on Knowledge Discovery and Data Mining.New York,USA:ACM Press,2004:168-177.
[5] WILSON T,WIEBE J,HOFFMANN P.Recognizing Contextual Polarity in Phrase-level Sentiment Analysis[J].International Journal of Computer Applications,2005,7(5):347-354.
[6] MOHAMMAD S M,KIRITCHENKO S,ZHU Xiaodan.NRC-Canada:Building the State-of-The-Art in Sentiment Analysis of Tweets[C]//Proceedings of the 7th International Workshop on Semantic Evaluation.Berlin,Germany:Springer,2013:1-9.
[7] The General Inquirer Home Page[EB/OL].(2006-01-31).http://www.wjh.harvard.edu/~inquirer.
[8] Linguistic Inquiry and Word Count[EB/OL].(2016-01-20).http://liwc.wpengine.com.
[9] PANG Bo,LEE L.Opinion Mining and Sentiment Analysis[J].Foundations and Trends in Information Retrieval,2008,2(1-2):1-135.
[10] 黄 挺,姬东鸿.基于图模型和多分类器的微博情感倾向性分析[J].计算机工程,2015,41(4):171-175.
[11] 谢丽星,周 明,孙茂松.基于层次结构的多策略中文微博情感分析和特征抽取[J].中文信息学报,2012,26(1):73-83.
[12] ZHU Shaojie,XU Bing,ZHENG Dequan,et al.Chinese Microblog Sentiment Analysis Based on Semi-supervised Learning[M].Berlin,Germany:Springer,2013.
[13] AISOPOS F,PAPADAKIS G,VARVARIGOU T.Sentiment Analysis of Social Media Content Using N-Gram Graphs[C]//Proceedings of the 3rd ACM SIGMM International Workshop on Social Media.New York,USA:ACM Press,2011:9-14.
[14] GHIASSI M,SKINNER J,ZIMBRA D.Twitter Brand Sentiment Analysis:A Hybrid System Using N-gram Analysis and Dynamic Artificial Neural Network[J].Expert Systems with Applications,2013,40(16):6266-6282.
[15] JIANG Long,YU Mo,ZHOU Ming,et al.Target-dependent Twitter Sentiment Classification[C]//Proceedings of Annual Meeting of the Association for Computational Linguistics.Oregon,USA:Association for Computational Linguistics,2011:151-160.
[16] WANG Hao,CAN Dogan,KAZEMZADEH A,et al.A System for Real-time Twitter Sentiment Analysis of 2012 U.S.Presidential Election Cycle[C]//Proceedings of ACL 2012 System Demonstrations.Jeju Island,Korea:Associa-tion for Computational Linguistics,2012:115-120.
[17] LECUN Y,KAVUKCUOGLU K,FARABET C C.Con-volutional Networks and Applications in Vision[C]//Proceedings of IEEE International Symposium on Circuits and Systems.Washington D.C.,USA:IEEE Press,2010:253-256.
[18] 吴 轲.基于深度学习的中文自然语言处理[D].南京:东南大学,2014.
[19] KIM Y.Convolutional Neural Networks for Sentence Classification[EB/OL].(2014-09-03).https://arxiv.org/abs/1408.5882.
[20] KALCHBRENNER N,GREFENSTETTE E,BLUNSOM P.A Convolutional Neural Network for Modelling Sentences[EB/OL].(2014-09-08).https://arxiv.org/abs/1404.2188.
[21] JOHNSON R,ZHANG T.Effective Use of Word Order for Text Categorization with Convolutional Neural Networks[EB/OL].(2015-03-26).https://arxiv.org/abs/1412.1058.
[22] DOS SANTOS C N,GATTI M.Deep Convolutional Neural Networks for Sentiment Analysis of Short Texts[C]//Proceedings of International Conference on Computational Linguistics.New York,USA:ACM Press,2014:69-78.
[23] HU Baotian,LU Zhengdong,LI Hang,et al.Convolutional Neural Network Architectures for Matching Natural Language Sentences[C]//Proceedings of International Conference on Neural Information Processing Systems.New York,USA:ACM Press,2015:2042-2050.
[24] HE Hua,KEVIN G,LIN Jimmy.Multi-perspective Sentence Similarity Modeling with Convolutional Neural Networks[C]//Proceedings of Conference on Empirical Methods in Natural Language Processing.Berlin,Germany:Springer,2015:1576-1586.
[25] YIN Wenpeng,HINRICH S.Convolutional Neural Network for Paraphrase Identification[C]//Proceedings of International Conference on Neural Information Processing.Berlin,Germany:Springer,2015:901-911.
[26] SEVERYN A,MOSCHITTI A.UNITN:Training Deep Convolutional Neural Network for Twitter Sentiment Classification[C]//Proceedings of the 9th International Workshop on Semantic Evaluation.Berlin,Germany:Springer,2015:464-469.
[27] SOCHER R,PENNINGTON J,HUANG E H,et al.Semi-supervised Recursive Autoencoders for Predicting Sentiment Distributions[C]//Proceedings of Conference on Empirical Methods in Natural Language Processing.New York,USA:ACM Press,2011:151-161.
[28] 梁 军,柴玉梅,原慧斌,等.基于深度学习的微博情感分析[J].中文信息学报,2014,28(5):155-161.
[29] PENNINGTON J,SOCHER R,MANNING C D.Glove:Global Vectors for Word Representation[C]//Proceedings of Conference on Empirical Methods in Natural Language Processing.Berlin,Germany:Springer,2014:1532-1543.