MicrocomputerApplicationsVol.27,No.12,2011
文章编号:1007-757X(2011)12-0020-04
研究与设计微型电脑应用2011年第27卷第12期
基于神经网络的文本倾向性分析系统的研究
佘正炜,钱松荣
摘
要:随着信息时代的到来,网络评论数量急剧增加,对于这些网络评论的倾向性分析是网络舆情研究中的重要课题。为了对网络评论的倾向性进行分析,提出了基于神经网络的网络舆情文本倾向性分析算法,使用神经网络训练的方法构建了较好的情感词倾向值词典,对网络评论的倾向性预测达到了较高的准确率。对算法进行了细致的描述,同时提出了基于神经网络的网络舆情文本倾向性分析系统框架。最后通过实验进行测试,证明了该系统能够达到较好的准确率。关键词:倾向性分析;神经网络;文本处理;网络舆情中图分类号:TP311
文献标志码:A
的极性。比如文献[3]首先分析句子/篇章中的评价词语或组合评价单元的极性,然后进行极性加权求和。在这种方法中,获得评价短语的极性,得到具体的评价短语的情感度倾向值词典是主要工作。这个算法就是构建了一个较为合理的情感词倾向值词典,已取得了较好的效果。基于特征分类的方法则主要使用神经网络NB,支持向量机ME和SVM(SupportVectorMachine)等分类模型对一部分语料进行训练,得到对应的分类器,然后对其他语料进行分类。其中SVM的方法是该分类方法中效果最好的,本文的对比试验就采用了该方法。
0引言
随着互联网的飞速发展,我们已经进入了信息时代。上网逐渐成为了人们的日常生活方式,据统计,截止至2011年2月份,我国的网民人数已达4亿。如此众多的网民人数逐渐形成了一种新的现象——网络舆情,对于网络舆情的研究是当前的一大热点。
网络舆情主要是由网民们在博客、BBS以及论坛上的发表自己对于某些事件或者热点问题的看法以及见解来体现的。通过对带有网民们的主观情感色彩的评论的分析,可以了解大众对于某一事件或者产品的看法。然而,飞速发展的互联网使得这些评论的规模越来越大,单单通过人工进行分析已经不能满足我们的分析需求,由此文本倾向性分析技术应运而生。本文使用神经网络训练的方式改进对应的词语倾向度词典,并且在实践中取得较好的效果。
2基于神经网络的网络舆情文本倾向性分析
前面已经说到基于情感知识的句子和篇章级的文本倾向性分析方法前人已经取得了一些成果,比如文献[3]已经构建了一个情感度倾向值词典。但是现今社会网络评论的规模已经变得越来越大。随着网络文化的发展,网民的语法用语的习惯也在不断地发生改变。同时由于用户群的不同,评论中情感词在不同的领域中所能表达的情感度倾向也是不同的。所以使用固定的情感词词典,由于语料库的过时,以及语料库的领域过于广泛,运用在具体的情感分析中效果不佳。我们研究的基于神经网络的网络舆情文本倾向性分析技术将会使用最新的语料库进行训练,从而调整情感词倾向值词典,能够获得较好的效果。2.1神经网络的训练模型
人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统。神经网络实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能,这使得它特别适合于求解内部机制复杂的问题,足以进行文本倾向性判断的处理。
在本文中,使用神经网络对于正负面情感词的权重进行训练,得到一个更为合理的权重,以对文本的倾向性进行分析。
1相关工作
文本情感分析按照不同的文本粒度可分为词汇、句子以及篇章3个层面进行分析。词汇的情感分析主要分为基于语料库和基于词典两种方法[1]。基于语料库的评价词语抽取和判别主要是利用大语料库的统计特性,观察现象来挖掘语料库中的评价词语并判断极性。另一种是基于HowNet[2]之类的知识库,首先选择两组具有明显正向和负向极性的词语作为种子词,对于一个情感倾向未知的词,计算这个词与两组种子词的相似度,与正向种子词组相似度高的则判定为正面倾向,反之则判定为负面倾向。本文采用的神经网络的倾向词权重的初始值就是采用第二种方法计算得到的。
在句子和篇章级的文本倾向性分析方面,将主观文本的极性分为褒义和贬义两类。目前主要有两种方法:基于情感知识的方法以及基于特征分类的方法。基于情感知识的方法主要是依靠一些已有的情感词典或领域词典以及主观文本中带有情感极性的组合评价单元进行计算,来获取主观文本
———————————作者简介:佘正炜(1986-),男,江苏苏州,复旦大学硕士研究生,研究方向:文本倾向性分析,网络舆情,上海,200433
钱松荣(1963-),男,复旦大学教授,博士,研究方向:网络与数据通信,RFID的研究与应用,上海,200433
20
MicrocomputerApplicationsVol.27,No.12,2011研究与设计微型电脑应用2011年第27卷第12期
神经网络训练模型图,如图1所示:
程度修饰词的加权,进行了验证,结果基本和预想相同。由于这不是本文重点,此处简略。2.3神经网络的各个参数确定
有了以上神经网络的模型以及样本输入以后,就可以对于神经网络的各种参数进行确定以及调整了。2.3.1激活函数
标准神经网络的激活函数为“S”型函数:
y
f(net)
1
1e
net
(3)
对于应用来说,需要一个关于原点中心对称的升函数,然而“S”型函数是将输入范围(
图1神经网络训练模型
X1,X2...Xn
,
)映射到输出范围(0,1)
上去,故需要对它进行相应的改进以使之满足要求。经变换使用的激活函数为:
y
f(net)
2*
1
net
为输入层,是文本分词统计的情感词的TF。
是每个倾向词的倾向度权
HOi
HOi是隐藏层输出,WhO1,WhO2...WhOn
重,足:
YO
是输出层输出,即为最后的文本倾向值。和
YO
满
1e
b
1
2
(4)
H
以及
YO
Oi
fX
i
bh
b是一个确定常数,取值需要看具体的样本的情况来确
(1)
定。
经过统计,在对于本文实验的文本进行分词以及统计
TF值后,得到的TF值的平均值大概为1.4左右,最大值为34。整个系统搭建完成之后,将b的范围由2到17进行变化,经测试发现3b7时,结果最好,故取b=3。由此得到的激活函数的图像,如图2所示:
f
i
H
Oi
*WhoibO
(2)
bb
式中fx为激活函数;h和o分别为隐藏层和输出层
的阈值。
在训练时,每个样本的输入都有一个对应的期望输出值,计算的结果与这个期望的输出有一个误差,我们训练的方法就是由这个误差来逐步修正对应的隐藏层到输出层的权值,即每个词语的倾向度。2.2神经网络的输入确定
本文采用通用的VSM(VectorSpaceModel)向量空间模型来进行文本分析的。一般可以选择3种类型的权值来代替具体的文本,即TF、DF以及TFIDF。在文献[4]中,经过比较使用特征加权进行中文文本倾向性判断的各个方法,得出结论:TF加权要好于DF加权和TFIDF加权。
鉴于此,使用ICTCLAS分词系统来对文本进行分词,然后进行相关的倾向词的TF的统计,最后得到一个使用情感词作为特征的向量来具体表征文本。
此外,在网民的各类评论中,存在着大量的副词修饰情感词汇,比如“太不周到了”这句话中的“太”、以及“不”。前者加强了周到这个词的感情色彩,“太不周到”明显比“不周到”的情感色彩要强烈;后者则进行了否定。所以需要对这样的程度修饰词进行加权。为此构建了程度修饰词字典。词典共收录了224个修饰词,并且对于这224个词进行不同的
权重标示。比如“不”的权重为-1,“极度”的权重为2,“稍微”
图1激活函数
的权重为0.6等等。
为了验证,根据使用TF、DF、TFIDF、以及加不加上
21
2.3.2阈值
阈值是神经网络中的一个重要的参数,可采用固定值,也可采用变化的阈值。采用变化阈值即在神经网络训练的过程中,在误差反转改变权值同时改变阈值,相当于再把输入样本增加了一维,更有利于解决问题。但是在本文的实验中,为简单起见将隐藏层及输出层的阈值均固定设为0。2.3.3倾向词的初始权重的选取
在标准神经网络的权重选择中,一般是在一个范围内随机选择权重,随后的权重修改过程都由训练过程来决定,但是这样的方法放在实验系统中并不理想,因为这样会使得训练的时间变得过长。所以本文的初始倾向词权重的选取使用
[5]
文献中的结果,当然是为了适应本文系统还是有一定的修
MicrocomputerApplicationsVol.27,No.12,2011研究与设计微型电脑应用2011年第27卷第12期
正。简单介绍获取步骤如下:
1)获取基本情感词
从知网获得基本的情感词,共计3116个负面情感词以及3730个正面情感词。总共6846个情感词。
2)选取种子词
随机选取15%的情感词作为种子词。3)根据种子词计算情感词的倾向度计算的公式为:
M
N
输出值,同时确定输出的正确范围。由于神经网络最后的输出范围是
1,1,故规定正面的文本倾向度输出范围应该为Up,1,负面的文本倾向度输出范围应该为1,Down,中
性的文本倾向度输出范围为均为一个
0,1
Down,Up。其中Up和Down
的常数。在本文的只需判断正负倾向的实验
中,DownUp0.00。
首先对于每一种分类结果都预先设定一个默认的标准输出值,比如正面的文本倾向度设为0.5,负面的文本倾向度设为-0.5,中性的(如果有的话)文本倾向度设为0。
将训练文本的TF值输入神经网络,经过隐藏层再到输出层,得到一个表示文本倾向度的结果,即为文本倾向值,如果该文本倾向值处于正确的输出范围,则使用该输出值作为该文本的预期输出值,否则以标准值代替。例如某正面文本的计算输出值为0.7,在正确的输出范围内,则它的预期输出值亦设为0.7。但是如果该正面文本的计算输出值为-0.4,则将它的预期输出值设为默认的0.5。对所有的训练文本采取这样的处理得到训练文本的预期输出。2.3.5误差函数及反馈
选择的误差函数为:
Similarity(Key_pi,w)
SOIR(w)
i
i
Similarity(Key_ni,w)
NM(5)
式中
Key_piKey_ni
为第i个正面(负面)的种子词,
w为待求倾向度的倾向词,Similarity(Key,w)为通过知网
计算出来的Key与w之间的相关度(详细计算方法请参见文献[5])。
4)合并处理获得情感词表
经过步骤3得到2907个负面情感词,3292个正面情感词。共计6199个情感词。(已经删除一些生僻词)
此时,得到的情感词表还需要经过一些处理才能正式成为神经网络训练的权重。主要需要解决的问题有3个:一是对情感词权重的归一化;二是处理经由知网计算得到较大误差的权重(比如正面的情感词经由计算得到一个负值);三是计算的结果整体有一个偏移。
相应处理如下:
对所有正面情感词中大于0的权重取平均,对所有负面情感词中小于0的权重取平均,再对两个平均值简单地求平均。然后把所有的情感词权重均减去这个偏移值。记为权重列表A。
接下来对于权重列表A中的情感词权重进行线性变换:
K
'
e
1
Dok2
Yok
2
(7)
全局误差为:
E
1m
Dok
2mk1
o
Yok
k
2
(8)
Yo
为第k个样本的预期输出,
k
式中E为总体误差,D
为第k个样本的实际输出,可通过式(1)和式(2)计算获得。m为训练样本的个数。
根据神经网路的反馈机制,权重的更新公式为:
NWhoi
1
NWhoi
2*
KKman
KminKmin
eWhoi
(9)
1
(6)
将e代入公式,并经过一系列推导以后,得到:
N1Whoi
NWhoi
'
式中K即为计算后的权重,K为权重列表A中的权
*
16
*HOi*Do
N
Y*1Y1Yooo
(10)
重,Kmin为权重列表A中最小的权重值,Kman为权重列表中最大的权重值。
最后,对于那些计算误差较大的权重进行赋默认值。方
案是对于正面情感词权重小于0的词赋初始权重为0.1,而负面情感词中权重大于0的词赋初始权重为-0.1。
至此得到了神经网络训练的倾向词的初始权重,将之作为隐藏层到输出层的对应权重。2.3.4期望输出确定
使用神经网络来进行训练都需要有一个确定的预期输出值,但是文本只有一个正面或负面的判定(做3类倾向性分析时还需加上一个中性),这就需要通过计算确定该预期
22
Whoi为更新前的权重,HOi
式中Whoi为更新后的权重,为
N1
隐藏层输出,D为预期输出,Y为神经网络实际输出,
o
o为
学习速率。
在每次训练时,将训练样本一个个输入神经网络,每个样本输入后,都需要根据上式对于权重进行一次更新,训练样本全部输入完毕以后,一次训练结束。下次训练开始后重复这个过程。2.4训练算法流程
为使算法明晰,在明确了各参数的获得方法后将训练流程复述如下:
首先获得训练样本;然后通过分词统计确定神经网络的
MicrocomputerApplicationsVol.27,No.12,2011研究与设计微型电脑应用2011年第27卷第12期
输入;确定神经网络的各个训练参数;每次训练中将样本依次输入神经网络,获取误差,逐步修改倾向词权重;重复这个过程直到训练结束。最后使用训练之后的倾向词权重参数进行文本倾向性预测。2.5文本倾向性判定方法
由于本文的权重经过神经网络的训练,最后的文本倾向性判定方法也需要经过神经网络,计算得到的神经网络输出即为文本倾向值,查看它是否在正确的输出范围内来确认判定类型。比如正面的文本倾向度输出范围应该为Up,1,输出结果处于该区间,则判定为正面。
训练之后的准确率平均为81.59%,训练之前的准确率平均为72.16%。平均而言准确率提高了9.43%。
选取的对比实验,一个是无训练的基于极性加权求和的方法,即使用文献[5]中获得的情感词权重词典,通过每篇文章的情感词TF与倾向值加权求和得到一个文章的情感度,根据它是正数还是负数来判断是否是正负面文章。一个是文[5]
献中的将权重加入TFIDF的SVM分类方法。如表1所示:
表1准确率对比表
测试方法神经网络
无训练的极性
加权求和法
SVM
3基于神经网络的网络舆情文本倾向性分析的总体系统框架
所研制的网络舆情倾向性分析系统,如图3所示:
INTRENET
准确率81.59%72.16%82.1%使用神经网络训练方法获得的结果,要比无训练的基于极性加权求和的方法的准确率要高上10%左右,而与基于SVM的分类方法来看,准确率相近,当然,算法比较简单是它比基于SVM算法要优异的地方。
5
网络爬虫获取评论资源
ICTCLAS
情感词典
修饰词词典
神经网络训练
结语及进一步工作
抽取评论资源
评论文本数据库
分词及标注
根据修饰词统计情感词TF
评论TF数据库情感权重词
典
文本倾向性预
测
图2网络舆情倾向性分析系统
本文基于神经网络的思想构建了网络舆情文本倾向性分析系统,通过对于文本倾向词的权重进行训练,得到较为合理的文本倾向词权重,从而提高了对于文本倾向性的判定准确率。实验表明可以达到比较高的准确率(见表1)。
进一步的工作是看看是否可以构建复杂神经网络来对于倾向词权重进行训练,或者将神经网络与SVM方法结合起来进行文本倾向性分析,从而进一步提高文本倾向性分析的精度。
网络爬虫模块和分词、标注及统计模块抓取评论信息并进行前期处理工作。
神经网络训练模块根据具体的需要,定期或者不定期地对于已有的数据进行一定的训练,得到最新的情感词权重。
文本倾向性预测模块对新抓取的数据进行预测,用于舆情的监控及判断。
参考文献:
[1]
RaoD,RavichandranD.Semi-Supervisedpolaritylexi-coninduction.In:LascaridesA,ed.Proc.oftheEACL2009.Morristown:ACL,2009.675682.HowNet.http://www.keenage.com/
杨超,冯时,王大玲,杨楠,于戈。基于情感词典扩展技术的网络舆情倾向性分析[j]。小型微型计算机系统。Vol31No.42010
朱杰,刘功申,陈卓。中文文本倾向性分类技术比较研究[j]。信息安全与通信保密。2010年第4期
YanhuiZHU,ZhiQiangWEN,PingWang,ZhaoyiPENG.AMethodofBuildingChineseBasicSemanticLexiconBasedonWordSimilarity.PatternRecognition,2009.CCPR2009.ChineseConferenceonDigitalObjectIden-tifier.
SongBoTAN.ChineseSentimentMiningCorpus-ChenSentiCorp[EB/OL].
http://www.searchforum.org.cn/tansongbo/corpus-senti.htm,2008-12-19.
赵妍妍,秦兵,刘挺。文本情感分析[j]。JournalofSoftware,Vol.21,No.8,August2010,pp.18341848.doi:10.3724/SP.J.1001.2010.03832
(收稿日期:2011.08.14)
4实验分析
设计了实验对于本文算法的有效性进行验证。
实验采用谭松波先生采集的关于酒店的评论文[6],进行测试,共计2000篇正面评论,2000负面评论(实验时由于材料问题去除了3篇负面评论以及1篇正面评论)。随机选取500篇正面评论以及500篇负面评论作为测试样本。选取其他的评论作为训练样本。在取为0.01以及训练次数选为100次的情况下进行了60次实验,得到了如下实验结果,如图4所示:
[2][3]
[4][5]
[6]
[7]
图3训练结果图
23