92
. www.rti.cn
出能对中文微博文本的情感倾向进行判定的系统;孙艳[2]等提出了一种基于无监督的主题情感混合模型,以此模型对句子的情感标签和词的主题标签采样,无须对样本进行标注即可得到每个主题的情感词,从而进行文本情感分类。Pang[3]等首次将机器学习的方法应用于文本情感分类任务中。王峥[4]等基于句法决策树、N-gram模型的特征要素提取方法和SVM分类器,提出一种语境分类模型,解决字词在不同语境下的多义性问题。Yoon Kim[5]使用基于深度学习的卷积神经网络(CNN)模型处理文本情感分类任务,并通过改进模型结构及使用特定的静态字向量来提高准确率。 总的来说,目前针对文本情感分析的各类算法研究较多,但缺少对多种方法的对比分析。本文针对常用的情感词典、SVM、朴素贝叶斯和卷积神经网络四种方法分别进行对比实验,在不同数据量的情况下,对实验结果进行对比分析,以此来探究各个方法的特点以及适用场景。2 主要文本情感分析
方法的原理
2.1 基于情感词典的分析方法
利用情感词典与规则相结合的途径来辨别文本信息的情感极性,是一种典型的无监督学习的文本分析方法,由于其原理较简单,因此应用十分广泛。本文结合现有的情感词典,同时考虑否定词和程度副词的影响,通过情感打分的方式来进行文本情感极性判断。选用BosonNLP情感词典作为打分依据,该词典包含社交文本中的常用词汇以及每个词的情感分数,否定词典和程度副词词典来源于知网,其中包含5个不同级别的程度副词以及相应的程度值。情感极性判定方法如下。(1)文本预处理对原始数据进行特殊字符的初步清洗,并对清洗后的文本进行分词处理。本文参考哈工大的停用词表并结合实验语料,经人工筛选构建了包含2个词的停用词表,对经过分词后的语料进行去停用词处理。(2)计算情感得分遍历情感词典找出情感词,以每个情感词为基准,向前依次寻找程度副词、否定词,并作相应分值计算,随后对文本中每个情感词的得分作求和运算,分值计算公式如下。情感值=否定词(-1)×程度副词权重×情感词分值由于否定词和程度副词的数量以及修饰关系会影响整个句子的情感倾
向,故本文定义了相应的情感聚合方法,如图1中的公式(1)所示。其中,F为情感值,ω为程度副词权重,f为情感词分值。如果总分值为正,则文本情感倾向是积极的,反之则为消极。
2.2 基于朴素贝叶斯(NBM)的分析方法
朴素贝叶斯分类是一种常用的机
综合应用 Application 2020年4月 月刊 总第336期器学习分类算法,通过先验概率和类别的条件概率来估计文档d对于类别集合的特征项总数,TF(tj,cj)为特征项化,使得所有样本都满足│g(D)│=1,tj在cj类中的频度。图1中的公式(2)即yi[(ω·Di)+b]-1≥0,i=1,2,…,N,cj的后验概率,以此实现对文档d的和图1中的公式(3)后的近似部分做类别归属判断。了平滑处理,以避免出现值为0的项。在构建朴素贝叶斯分类器之前,(3)计算待测文本d属于每个类需要进行文本预处理。首先,对原始别cj的后验概率,取后验概率最大的数据进行特殊字符的初步清洗,对文类别作为文本的类别cNB,计算公式如本进行分词处理,参考停用词表去除图1中的公式(4)所示,其中ti表示相应的停用词。然后,是特征项的选
待测文本d的第i个特征项,wt(wi)
择和权值计算,本文选择词频法(TF)是文本d中特征项wi的权值。作为特征项权值表示。最后,进行分2.3 基于支持向量机(SVM)的类计算。分类器算法步骤如下。
分析方法
(1)在训练文本集D和类别集
支持向量机是Vapnik等在多年研合C上计算每个类别的先验概率P(cj),究统计学习理论基础上对线性分类器提计算公式如图1中的公式(2)所示,出的最佳设计准则,是文本分析常用的M为类别数,N为训练集的文本总数。
一种分类方法。SVM算法假设线性分(2)计算特征项ti属于每个类别类面的形式如图2中的公式(1)所示。的条件概率P(tj/cj),计算公式如图1其中,ω为分类面的权系数向中的公式(3)所示,其中│V│为文本量,b为分类阈值。将判别函数归一
图1图2yi是样本的类别标记,即当样本属于类C时yi=1,否则yi=-1;Di是相应的样本。这样样本的分类间隔就等于2/‖ω‖,设计目标是要使得这个间隔值最小,从而得到最优超平面,最优超平面边界上样本称之为支持向量[6]。
据此可定义Lagrange函数,如图2中的公式(2)所示,其中αi>0为Lagrange乘数,对ω和b求偏微分并令其为0,原问题转换成如下对偶问题:在约束条件下对αi求解函数的最大值,计算公式如图2中的公式(3)所示。如果α*i为最优解,再由图2中的公式(4)计算得出最优分类面的权系数向量。为了判断某个样本是否属于类C,需计算最优分类函数,计算公式如图2中的公式(5)所示。f(D)=1时,D属于该类,否则不属于该类。用SVM方法进行文本分析之前,需要进行文本预处理。首先对原始数据进行特殊字符的初步清洗,然后进行分词处理,最后参考停用词表去除相应的停用词。之后将文本进行向量化表示,本文使用word2vec工具来训练词向量,再进行降维处理。为保证训练的准确性,本文选用基数较大的维基百科中文语料,共26万条文本段落作为语料库进行词向量训练。最后,将文本特征和用词向量表示的文本矩阵输入SVM分类器,利用上述算法设计SVM分类器,并选用十折交叉验证方法进行训练和验证,得到分类结果。2.4 基于卷积神经网络(CNN)的分析方法
在情感分析任务中,情感特征 . www.rti.cn
93
Application综合应用图3图4表1 文本情感分析语料数据集样例表
文本标签文本内容积极记者观察入微,最后一个细节亮了[哈哈][哈哈]
积极
内容挺充实,感觉比之前的几期文字多了,色彩也丰富许多,支持
知日!
#北京事儿#【狗主人无人性![怒]狗狗被主人无情的从18楼扔下致重伤![怒]】 昨晚@韩悦溪 在北京后现代城发现一只小狗满
消极身是血的躺在一辆汽车上,从图片中可以看出该狗狗是被从高处摔
下,连汽车挡风玻璃都被震得破碎不堪。后来据了解,因为主人洗澡时,狗狗跑了进去,被主人无情的从18楼扔下[泪][泪]消极
可以不搬伐?多少届的双年展啊。。多少青葱回忆啊。。。多少凑热
闹的排队啊。。多少照片的留影。。。[泪]信息将直接影响文本情感极性的判断,作可以提取输入句子最重要的特征信卷积神经网络可以将词向量和情感特息,如图3中的公式(5)所示。
征结合作为网络的输入来构建分类模上述为一个卷积核采样得到的结型。对于长度为n的句子,输入向量果,对k个卷积核采样得到的特征信
表示如图3中的公式(1)和公式(2)息可以表示如图4中的公式(1)所示。所示。其中,xi为词向量,senti为情把池化层采样得到特征信息作为全连感特征。接层输入,得到分类结果如图4中的CNN的卷积层可以通过不同卷公式(2)所示,其中Wf∈Rd为全连
积核针对输入句子进行局部特征的提接层权重,Bf∈R为偏置,
y为输出结果。取,长度为l的卷积核可以把句子分卷积神经网络的输入层也要经为{e0:l-1,e1:l,...,ei:i+l-1,...,en-l+1:n},然过文本预处理和向量表示。首先对原后对每一个分量进行卷积操作,得到
始数据进行特殊字符的初步清洗,并
卷积特征如图3中的公式(3)所示。进行分词及停用词处理,然后再采其中,ci是对分量ei:i+l-1进行卷积操用word2vec工具进行词向量的训练,作后提取而得到的信息,如图3中的训练结果表明100维的向量较为合公式(4)所示,w∈Rl×(m+k)为卷积适,最后将文本特征和用词向量表示
核权重,b∈R为偏置。通过池化操
的文本矩阵作为卷积神经网络的输入。94
. www.rti.cn
对于本文网络结构设计,经实验对比,模型中的激活函数选为relu函数,采用多组卷积核来进行训练,其中滤波器窗口大小为2、3、4,每个滤波器卷积核数量为128,batch大小为32,迭代次数为12,输出层选用softmax进行分类,且训练过程中采用dropout以防止过拟合,最后采用随机梯度下降算法来进行权重更新迭代。3 实证对比分析
3.1 实验数据准备
为了验证模型的有效性,本文选用了中文自然语言处理数据集中的带标注的部分情感分析语料,其公布的语料规模为数百万篇,人工标注为积极和消极两类。本文的研究对象是与广播电视相关的短文本语料,因此需要从数据集中筛选出包括影评、剧评、新闻类、媒体类等广播电视相关的语料,并将文本长度控制在200字以内,然后经过去重、去噪处理,最终得到短文本语料共282000篇。为了探究不同语料规模对分类器训练的影响,将总语料按不同规模分为12个子集,分别为100、200、500、1000、2000、3000、4000、5000、10000、50000、100000和282000篇,所有子集均为平衡语料,即正负类语料数量相等。本文将对这12个子集分别进行实验,并用上文中提到的四种不同的分类算法进行对比实验分析,表1为数据集样例。在训练集和测试集的选取方面,朴素贝叶斯算法和支持向量机算法均
采用十折交叉验证,即将数据集随机分成10份,使用其中9份进行训练,而将另外1份用作测试。该过程重复
10次,每次使用的测试数据不同,选
取10次结果的平均值作为最终分类结试集来测试模型的准确性。果。卷积神经网络则是随机选取数据3.2 实验评价指标集的75%作为训练集,8%作为验证准确率(precision)和召回率集进行模型训练,剩下的17%作为测(recall)是两个用来评价分类结果好坏图5表2 基于情感词典情感分析实验结果表数据集规模(条)准确率召回率F1测度1000.77100.66000.62122000.77870.67500.175000.72210.000.603310000.70770.62790.588230000.73630.840.612450000.74450.65130.6146100000.75240.65610.6199500000.75310.65230.62081000000.750.65380.62522820000.75390.65690.6287表3 朴素贝叶斯分类实验结果表数据集规模(条)准确率召回率
F1测度
1000.70190.68380.67652000.73410.73270.73235000.77710.77610.775910000.82760.82590.825730000.830.85250.852350000.86860.86810.8681100000.87690.87650.8765500000.88610.88580.88571000000.040.020.022820000.90520.9051
0.9051
表4 SVM情感分析实验结果表
数据集规模(条)
准确率召回率F1测度
1000.71020.70710.7062000.74120.74120.74125000.77450.77450.774510000.79700.79700.797030000.82660.82660.826550000.83940.83940.8394100000.85230.85220.8522500000.88080.88080.88081000000.340.340.34282000
0.92130.9212
0.9213
综合应用 Application 2020年4月 月刊 总第336期的指标,定义分别如图5中的公式(1)和公式(2)所示。system.output表示的是分类器返回的该类的总记录数,system.correct表示分类器为该类返回的正确结果数,human. labeled表示测试集中该类的总数目。准确率用于衡量分类器准确性,召回率用于衡量分类器是否能找全该类样本,这两个指标应该兼顾。使用F1测度来均衡这两方面,定义如图5中的公式(3)所示。
3.3 实验结果与分析
将前文提到的基于情感词典的方法、朴素贝叶斯方法、SVM方法以及
卷积神经网络方法进行对比试验,利用3.1中不同规模的语料集进行训练和测试,根据训练模型的结果来进行对比实验分析,实验结果如表2、表3、表4及表5所示(表格中为部分实验数据)。
为了更直观地进行对比分析,利用上述情感分析实验结果来绘制曲线
对比趋势图,如图6和图7所示。图中显示的是各方法的F1值随数据量变化的趋势,用不同颜色的曲线表示。结果表明,训练数据量的大小与分类结果的好坏有着密切联系。
其中,基于情感词典的方法分类结果最为稳定,基本不随数据量变化而变化;而SVM、NBM和CNN的
F1测度值均随数据量增大而增大,且
增幅逐渐减小,最后趋**缓,从图7可看出,机器学习方法要比深度学习方法收敛速度更快,SVM和NBM的曲线大约从200条数据开始收敛,而CNN从500条左右才开始收敛。
从分类效果来看,基于情感词典的方法分类效果最差,与其他机器学
. www.rti.cn
95
Application综合应用习或深度学习的方法比相差甚远。当效率综合考虑,可优先选择SVM,其数据量低于500条时,机器学习方法次NBM,最后CNN。当数据量高于(SVM和NBM)要比深度学习方法500条且低于100000条时,CNN的(CNN)分类效果稍好一些。结合分类
分类效果最好,NBM要比SVM的分
表5 CNN情感分析实验结果表
数据集规模(条)
准确率召回率F1测度
1000.63290.62460.61852000.70390.69990.69845000.79760.79580.795510000.82700.82500.824830000.85100.85090.850950000.87590.87400.8739100000.430.360.35500000.93030.93020.93021000000.93820.93800.9380282000
0.94080.9408
0.9408
图6 各分类方法的F1值随数据量变化的趋势图(全局图)图7 各分类方法的F1值随数据量变化的趋势图(拐点细节图)96
. www.rti.cn
类效果稍好一些,因此优先选择CNN,其次是NBM,最后SVM。当数据量高于100000条时,CNN仍是首选,但SVM分类效果要比NBM更优。
4 结语
实验结果表明,训练数据量的大小与文本情感分析模型的性能有着密切联系,在不同数据量的情况下,各方法的分类性能各有不同,并且最优的分类方法也并不唯一。总的来说,对于机器学习和深度学习这两类文本情感分析方法而言,增大训练数据量是提高模型分类效果的一种有效方式。当数据量较小,低于500条时,可优先选择SVM,其次选择NBM,最后选择CNN;而当数据量足够大的情况下,优先选择CNN方法进行文本情感分析效果最好,其次选择SVM,最后选择NBM。单纯的基于情感词典的分析方法运行速度慢、分类效果较差,可以不予考虑。参考文献:
[1]陈晓东.基于情感词典的中文微博情感倾向分析研究[D].武汉:华中科技大学,2012.[2]孙艳,周学广,付伟.基于主题情感混合模型的无监督文本情感分析[J].北京大学学报(自然科学版),2013(1):102-108.
[3]Pang B,Lee L,Vaithyanathan S.Thumbs up? Sentiment Classification using Machine Learning Techniques[C].IN PROCEEDINGS OF EMNLP:2002.
[4]王峥,刘师培,彭艳兵.基于句法决策树和SVM的短文本语境识别模型[J].计算机与现代化,2017(3):13-17.
[5]Kim Y.Convolutional Neural Networks for Sentence Classification[J].EprintArx-iv, 2014.
[6]A.J.Smola and B.Schölkopf.A tuto-rial on support vector regression[J].Stat.
Comput,2004(14):199-222.
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务