赵 乐,麦范金,张兴旺
1(桂林理工大学 信息科学与工程学院,机械与控制工程学院,广西 桂林 541006)2(桂林理工大学 图书馆,广西 桂林 541006)
利用机器学习对评论文本进行情感分类是目前情感分析研究的主流方法之一.如何有效地对这些评论文本进行分析处理,挖掘出有价值的信息,更好地为人们服务?近几年,深度学习算法应用于自然语言处理,促进了文本情感分类技术的发展.何跃[1]等人基于微博情感词、表情符号、否定词、程度副词等情感知识分类算法和传统的机器学习算法,解决了机器学习算法在情感分类时样本数据分布不均的问题.姜杰[2]等人将多样化情感信息进行转化,形成更有效的多特征融合模形,提高了微博情感分类的性能.
目前的机器学习算法,如支持向量机、朴素贝叶斯和神经网络等已经在情感分类中取得了良好的分类效果,但由于文本句式的复杂性和情感特征的多样化,因此情感分类的研究还有待进一步提高.随机梯度下降算法在情感分类中很少应用,但实验发现其分类性能较好.因此本文结合词性特征和语法特征进行特征融合,然后使用软投票机制,结合随机梯度下降、随机森林、神经网络分类器等算法,提出了一种多特征融合的Voting-SRM情感分类方法.通过在IMDB电影评论数据集上进行实验,对其进行二分类研究,实验结果表明该方法能有效提高情感分类精度.
目前,文本情感分类的方法主要有三种:基于词典和规则的分类,基于机器学习的分类和基于深度学习的分类.
基于词典和规则的方法,主要是根据现有情感词典获取文本中的情感元素,然后利用规则进行特征抽取和权重计算,随后利用累加求和计算出句子的情感倾向值,进而计算篇章情感得分.闫晓东[3]等人通过构建极性词典和转折词词典,然后将其组合构建极性短语作为基本情感单元,重点分析了转折词对句子情感极性的影响.刘德喜[4]等人对比分析中英两种语言微博中情感词分布的差异,自动构建训练数据、训练分类器,最后采用投票机制确定候选词的情感极性.唐晓波[5]等人首先对中文文本进行依存句法分析,通过构建识别规则,提取情感单元,然后对情感单元进语言翻译转换,最后通过与英文情感词的匹配分析,完成了对情感评价单元的极性判定.
基于机器学习的分类方法,主要是利用机器学习的方法,抽取出文本中的情感特征,然后训练分类器来完成情感分类任务.何跃[1]等人基于微博情感词、表情符号、否定词、程度副词等情感知识分类算法和传统的机器学习算法,解决了机器学习算法在情感分类时样本数据分布不均的问题.姜杰[2]等人将多样化情感信息进行转化,形成更有效的融合特征模板,提高了微博情感分类的性能.
基于深度学习的分类方法.随着近年来深度学习技术的快速发展,其在大规模文本数据上表现出了独特优势,更好地用于情感分类.现有研究工作主要是从评论文本中学习出语义词向量,然后通过不同的语义合成方法用词向量得到所对应句子或是文档的特征表达[6],以此来进行学习,从而进行情感分类.李杰[7]等人以情感标签标注评论中的产品特征词,并利用词向量对产品特征有效聚类,提高了特征提取和分类的准确率.杨艳[8]等人针对文本中长句和短句具有不同建模特点,提出了一种基于联合深度学习的情感分类方法,在COAE2016测评任务中取得最高的系统准确率.
通过研究发现,随机梯度下降算法在情感分类中很少应用,但实验发现其分类性能较好.因此本文结合词性特征和语法特征进行特征融合,然后使用软投票机制,结合随机梯度下降,随机森林,神经网络分类器等算法,提出了一种多特征融合的Voting-SRM情感分类方法.通过在IMDB电影评论数据集上进行实验,对其进行二分类研究,实验结果表明该方法能有效提高情感分类精度.
本文对评论文本进行词性标注,抽取出名词、动词、形容词和副词,并结合二元语法进行特征抽取,构建向量空间模型,然后基于软投票机制,对随机梯度下降算法,随机森林算法,神经网络算法进行集成,构建情感分类模型进行情感分析.
特征选择是使用分类器进行情感分类的重要环节,分类结果的正确率、查准率、查全率等都取决于选择的特征的有效性.黄发良[9]等人将微博表情符号与用户性格情绪特征融合进图模型中,实现了微博主题与情感的同步推导.王汝娇[10]等人结合Twitter语言特性和词典设计语料和词典特征,使用卷积神经网络得到词向量特征,将3种特征融合,取得了较好的分类效果.何跃[1]等人将情感知识和机器学习算法组合,提出了一种组合分类算法,解决了样本数据分布不均的问题.由于不同的评论文本在语义和语法结构上均有不同特征,本文通过分析研究,决定从词性特征,语法特征两个方面进行特征选择.
3.1.1 词性特征
词性标注是在特定的语境中确定分词的词性,由于词汇倾向性可以在一定程度上决定文本倾向性,因此情感倾向性分类需要进行词性标注.本文分析了影评文本特性,发现名词、动词、形容词、副词在一定程度上决定了文本整体情感,所以选择这四类特征作为词性特征.词性标注类别如表1所示.这里考虑到英文词汇在进行词干化处理的时候会出现不合理截断或是错误现象,所以选取了形容词、副词、动词、名词的所有形式,以尽可能全的选择词性特征.
表1 词性标注类别
Table 1 Part of speech tagging category
词性标注形容词JJ,JJR,JJS副词RB,RBR,RBS,RP,WRB动词VB,VBD,VBG,VBN,VBP,VBZ名词NN,NNS,NNP,NNPS
3.1.2 语法特征
n元语法模型(N-gram)近似假设一个词的概率只依赖于它前面的n-1个词,而与其他词无关来推断句子的结构关系.本文在基于语料进行实验分析后,发现二元语法模型(Bi-gram)特征在分类时性能优于一元语法(Unigram)和三元语法(Trigram).因此本文选取二元语法模型进行特征表征.
3.2.1 SGD随机梯度下降分类器
随机梯度下降算法(Stochastic Gradient Descent,SGD)是一种简单、高效的方法,主要用于凸损失函数下线性分类器的判别式学习,例如线性支持向量机和Logistic回归.SGD算法是一个基于梯度下降的改进算法,其核心思想是:首先计算出损失函数的梯度,然后根据梯度计算出函数损失值,并且按照梯度的方向使函数损失值逐渐减少,当函数损失值最小时,得到最优梯度值[11].
给定一组训练样本S={(xi,yi),i=1,…,n},其中xi∈Rm是一个m维输入向量,yi∈{-1,1}是第i个训练样例的类标,目标是一个线性评价函数(Scoring function)f(x)=wTx+b,其中模型参数w∈Rm,截距b∈R.只需要看f(x)的符号.找到模型参数的一般选择是通过最小化由以下式子给出的正则化训练误差.
(1)
其中L衡量模型拟合程度的损失函数:
L(yi,f(xi))=max{0,1-yif(xi)}
(2)
首先,将w1置为零向量,然后均匀随机选取训练集中一个训练样例(xit,yit),其中it∈{1,…,n}是通过第t次迭代选择的训练样例下标.然后将公式(1)用下式近似替换:
(3)
对公式(3)求梯度得:
t+1=αwt-λtyitxit
(4)
其中,
(5)
w的公式更新为:
wt+1←wt-ηtt+1
(6)
(7)
w更新完毕后,再随机选取一个训练样例用式(7)进行更新,进行T次迭代,最后得到的wT+1即为算法所求的最终解.
SGD分类器实现了一个一阶SGD学习程序(first-order SGD learning routine).算法在训练样本上遍历,并且对每个样本根据以上公式给出的更新规则来更新模型参数.本文中算法选取Logisitic回归作为算法的损失函数,L2正则化作为惩罚函数,来完成SGD分类器参数的构造.
3.2.2 Voting软投票分类器
目前基于集成学习进行情感分类的研究很多,徐禹洪[12]等人考虑到即时性文本信息具有已标注数据规模小的特点,提出了基于优化样本分部抽样集成学习的半监督文本分类算法,提高了分类性能.黄伟[13]等人通过构建子分类器,每轮投票选出置信度最高的样本使训练集扩大一倍并更新训练模型,提出了基于多分类器投票集成的半监督情感分类方法.本文使用加权平均概率,即为软投票,它是结合多个不同分类器,并且为各分类器设定相应的权值,然后利用二值函数乘其权重进行汇总,并且采用平均预测概率的方式来预测分类标签,最终得到情感分类倾向值.
对于m个类别L=(l1,…,lm),存在n个不同的基分类器{cls1,…,clsn},其对应的权值为{w1,…,wn},则:
(8)
(9)
其中P(lj|wi)表示分类器clsi对类别lj的输出概率,P(lj)表示类别的先验概率,P(wi)表示分类器clsi的性能权重.Δw即为最终输出结果.
本文算法使用三个分类器,如SGD随机梯度下降,随机森林,神经网络.因此分类器性能权重可以设置为2:2:1,所以本文分类器标记为Voting-SRM.由于随机森林算法和神经网络模型被广泛使用,本文不再详细介绍其算法原理.
本文选取的是IMDB电影评论数据[14],这是一个用于二分类的电影评论数据集,选取已标注的25000条评论,并随机分为训练集和测试集,其中80%为训练集,20%为测试集,正面情感标注为1,负面情感标注为0.性能评价指标主要包括正确率(Accuracy)、查准率(Precision)、查全率(Recall)和F测度值(F-score).其中查准率衡量分类效果,查全率衡量分类效率,F测度值主要衡量情感分类方法性能[5].公式如下:
(10)
(11)
其中TP表示正确预测的正样本数,TN表示正确预测的负样本数,FP表示错误预测的正样本数,FN表示错误预测的负样本数[15].
根据3.1中特征选择的词性特征和语法特征,设置不同的组合形式,并进行实验验证,分类比较其在情感分类中的作用和分类性能.其分类结果如表2所示.
表2 不同特征集合分类
Table 2 Different feature set classification
特征集合形容词+副词(adj+adv)形容词+副词+名词(adj+adv+n)形容词+副词+动词(adj+adv+v)形容词+副词+名词+动词(adj+adv+n+v)
根据以上性能评价指标进行试验,评测Voting-SRM方法在IMDB影评数据上情感分类性能,并观察在不同特征集上的各评测指标的精度.其实验结果如表3所示.
表3 不同特征集下的分类正确率
Table 3 Classification accuracy under different feature sets
评估指标分类模型特征集合adj+advadj+adv+nadj+adv+vadj+adv+n+vAccSVM0.82500.85440.84580.8682RM0.77530.77240.77180.7685MLP0.80850.82930.81770.8309SGD0.83620.86510.85630.8765Voting-SRM0.83700.86640.85880.8775
在实验中使用十折交叉验证计算分类正确率,从表3可以看出,随着特征种类的增多,五种方法的分类正确率都有所提升,其中本文提出的Voting-SRM算法分类正确率最高,由此可见该方法的有效性.从表中还可以看出形容词+副词+名词的特征集比形容词+副词+动词的特征集分类正确率较高,由此可见名词在情感分类中的情感影响较大.整体来看五种分类方法的正确率,除随机森林外,其他四种模型的的精度在不同特征集下都高于82%,因此分类效果,效率和分类方法的性能都取得了较好的成绩.
表4 不同特征集下的查准率
Table 4 Precision rate under different feature sets
评估指标分类模型特征集合adj+advadj+adv+nadj+adv+vadj+adv+n+vPSVMRMMLPSGDVoting-SRM0.82580.77530.79550.84000.84500.85750.78630.87430.86960.87270.84400.77950.81090.86120.86360.86860.78200.83970.88200.8858
从表4、表5、表6中可以看出,随着特征种类的增加,五种方法的总体查全率、查准率和F-测度值都得到提高.本文提出得到Voting-SRM算法分类模型具有最高的分类精度,由此可见该方法是有效的.从表中还可以看出,形容词+副词+名词的特征集各种分类性能均高于形容词+副词+动词的特征集,表示名词在情感分类中具有更大的影响.因此在以后的研究中应该更加深入的研究不同词性组合对情感分类的影响.
表5 不同特征集下的查全率
Table 5 Recall rate under different feature sets
评估指标分类模型特征集合adj+advadj+adv+nadj+adv+vadj+adv+n+vRSVMRMMLPSGDVoting-SRM0.82580.77240.79540.83960.84500.85740.78160.87420.86960.87260.84400.77620.81080.86120.86360.86860.77520.83960.88200.8816
表6 不同特征集下的F-测度值Table 6 F-score values under different feature sets
为了更直观的观察和分析各种评测指标,使用折线图来展示比较五种方法在不同特征集上的分类结果. 从图1- 图4
图1 不同特征集下的正确率Fig.1 Accuary rate under different feature sets
可以看出本文提出的方法,在各种评测指标上均优于SVM算法.从图中可以看出,神经网络模型在查全率,查准率和F-测度值上均存在较大波动,显示为不稳定状态.当提取少量特征时,本文算法在各种性能上和SGD方法相当,但在提取了多种特征时,本文提出的方法能有效提高分类效果,分类效率和分类性能,这四种评测指标均优于SGD算法.因此本文提出的方法在文本情感分类中是可行的,且分类性能较好.
图2 不同特征集下的平均查准率评价结果Fig.2 Average precision under different feature sets
图3 不同特征集下的平均查全率评价结果Fig.3 Average recall rate under different feature sets
图4 不同特征集下的F-测度值评价结果Fig.4 F-score values under different feature sets
本文研究使用软投票机制集成SGD随机梯度下降,随机森林算法和神经网络算法,并提取不同特征集在IMDB影评数据集上进行对比实验,结果表明该方法有效提高了文本情感分类性能.情感分类精度的提高在于在情感特征中引入了词性特征和语法特征,并使用词频逆文档频率进行特征抽取,构建向量空间模型,在同等条件下,实验结果表明该方法优于支持向量机算法.但本文在抽取特征时只考虑了词性和语法特征,并未考虑加入情感词典、句法特征和依存语法特征,因此在以后的工作中会进一步扩展特征抽取过程,考虑更多影响文本情感倾向的因素,进一步提高文本情感分类性能.