当前位置:文档之家› 基于神经网络的文本倾向性分析系统的研究

基于神经网络的文本倾向性分析系统的研究

MicrocomputerApplicationsVol.27,No.12,2011研究与设计微型电脑应用2011年第27卷第12期

文章编号:1007-757X(2011)12-0020-04

基于神经网络的文本倾向性分析系统的研究

佘正炜,钱松荣

摘要:随着信息时代的到来,网络评论数量急剧增加,对于这些网络评论的倾向性分析是网络舆情研究中的重要课题。为

了对网络评论的倾向性进行分析,提出了基于神经网络的网络舆情文本倾向性分析算法,使用神经网络训练的方法构建了较

好的情感词倾向值词典,对网络评论的倾向性预测达到了较高的准确率。对算法进行了细致的描述,同时提出了基于神经网

络的网络舆情文本倾向性分析系统框架。最后通过实验进行测试,证明了该系统能够达到较好的准确率。

关键词:倾向性分析;神经网络;文本处理;网络舆情

中图分类号:TP311文献标志码:A

0引言

随着互联网的飞速发展,我们已经进入了信息时代。上

网逐渐成为了人们的日常生活方式,据统计,截止至2011

年2月份,我国的网民人数已达4亿。如此众多的网民人数

逐渐形成了一种新的现象——网络舆情,对于网络舆情的研

究是当前的一大热点。

网络舆情主要是由网民们在博客、BBS以及论坛上的

发表自己对于某些事件或者热点问题的看法以及见解来体

现的。通过对带有网民们的主观情感色彩的评论的分析,可

以了解大众舆论对于某一事件或者产品的看法。然而,飞速

发展的互联网使得这些评论的规模越来越大,单单通过人工

进行分析已经不能满足我们的分析需求,由此文本倾向性分

析技术应运而生。本文使用神经网络训练的方式改进对应的

词语倾向度词典,并且在实践中取得较好的效果。

1相关工作

文本情感分析按照不同的文本粒度可分为词汇、句子以

及篇章3个层面进行分析。词汇的情感分析主要分为基于语

料库和基于词典两种方法[1]。基于语料库的评价词语抽取和

判别主要是利用大语料库的统计特性,观察现象来挖掘语料

库中的评价词语并判断极性。另一种是基于HowNet[2]之类

的知识库,首先选择两组具有明显正向和负向极性的词语作

为种子词,对于一个情感倾向未知的词,计算这个词与两组

种子词的相似度,与正向种子词组相似度高的则判定为正面

倾向,反之则判定为负面倾向。本文采用的神经网络的倾向

词权重的初始值就是采用第二种方法计算得到的。

在句子和篇章级的文本倾向性分析方面,将主观文本的

极性分为褒义和贬义两类。目前主要有两种方法:基于情感

知识的方法以及基于特征分类的方法。基于情感知识的方法

主要是依靠一些已有的情感词典或领域词典以及主观文本

中带有情感极性的组合评价单元进行计算,来获取主观文本的极性。比如文献[3]首先分析句子/篇章中的评价词语或组合

评价单元的极性,然后进行极性加权求和。在这种方法中,

获得评价短语的极性,得到具体的评价短语的情感度倾向值

词典是主要工作。这个算法就是构建了一个较为合理的情感

词倾向值词典,已取得了较好的效果。基于特征分类的方法

则主要使用神经网络NB,支持向量机ME和SVM(Support

VectorMachine)等分类模型对一部分语料进行训练,得到对

应的分类器,然后对其他语料进行分类。其中SVM的方法

是该分类方法中效果最好的,本文的对比试验就采用了该方

法。

2基于神经网络的网络舆情文本倾向性分析

前面已经说到基于情感知识的句子和篇章级的文本倾

向性分析方法前人已经取得了一些成果,比如文献[3]已经

构建了一个情感度倾向值词典。但是现今社会网络评论的规

模已经变得越来越大。随着网络文化的发展,网民的语法用

语的习惯也在不断地发生改变。同时由于用户群的不同,评

论中情感词在不同的领域中所能表达的情感度倾向也是不

同的。所以使用固定的情感词词典,由于语料库的过时,以

及语料库的领域过于广泛,运用在具体的情感分析中效果不

佳。我们研究的基于神经网络的网络舆情文本倾向性分析技

术将会使用最新的语料库进行训练,从而调整情感词倾向值

词典,能够获得较好的效果。

2.1神经网络的训练模型

人工神经网络是由大量处理单元互联组成的非线性、自

适应信息处理系统。神经网络实现了一个从输入到输出的映

射功能,而数学理论已证明它具有实现任何复杂非线性映射

的功能,这使得它特别适合于求解内部机制复杂的问题,足

以进行文本倾向性判断的处理。

在本文中,使用神经网络对于正负面情感词的权重进行

训练,得到一个更为合理的权重,以对文本的倾向性进行分

析。

———————————作者简介:佘正炜(1986-),男,江苏苏州,复旦大学硕士研究生,研究方向:文本倾向性分析,网络舆情,上海,200433钱松荣(1963-),男,复旦大学教授,博士,研究方向:网络与数据通信,RFID的研究与应用,上海,200433

20MicrocomputerApplicationsVol.27,No.12,2011研究与设计微型电脑应用2011年第27卷第12期

神经网络训练模型图,如图1所示:

图1神经网络训练模型

nX...XX21,为输入层,是文本分词统计的情感词的TF。

OiH是隐藏层输出,OnOOhhhWWW...21,是每个倾向词的倾向度权

重,OY是输出层输出,即为最后的文本倾向值。OiH和OY满

足:

hiOibXfH(1)

以及

iOhoiOiObWHfY*(2)

式中xf为激活函数;hb和ob分别为隐藏层和输出层

的阈值。

在训练时,每个样本的输入都有一个对应的期望输出

值,计算的结果与这个期望的输出有一个误差,我们训练的

方法就是由这个误差来逐步修正对应的隐藏层到输出层的

权值,即每个词语的倾向度。

2.2神经网络的输入确定

本文采用通用的VSM(VectorSpaceModel)向量空间

模型来进行文本分析的。一般可以选择3种类型的权值来代

替具体的文本,即TF、DF以及TFIDF。在文献[4]中,经

过比较使用特征加权进行中文文本倾向性判断的各个方法,

得出结论:TF加权要好于DF加权和TFIDF加权。

鉴于此,使用ICTCLAS分词系统来对文本进行分词,

然后进行相关的倾向词的TF的统计,最后得到一个使用情

感词作为特征的向量来具体表征文本。

此外,在网民的各类评论中,存在着大量的副词修饰情

感词汇,比如“太不周到了”这句话中的“太”、以及“不”。前

者加强了周到这个词的感情色彩,“太不周到”明显比“不周

到”的情感色彩要强烈;后者则进行了否定。所以需要对这

样的程度修饰词进行加权。为此构建了程度修饰词字典。词

典共收录了224个修饰词,并且对于这224个词进行不同的

权重标示。比如“不”的权重为-1,“极度”的权重为2,“稍微”的权重为0.6等等。

为了验证,根据使用TF、DF、TFIDF、以及加不加上程度修饰词的加权,进行了验证,结果基本和预想相同。由

于这不是本文重点,此处简略。

2.3神经网络的各个参数确定

有了以上神经网络的模型以及样本输入以后,就可以对

于神经网络的各种参数进行确定以及调整了。

2.3.1激活函数

标准神经网络的激活函数为“S”型函数:

netenetfy11)((3)

对于应用来说,需要一个关于原点中心对称的升函数,

然而“S”型函数是将输入范围),(映射到输出范围)1,0(

上去,故需要对它进行相应的改进以使之满足要求。经变换

使用的激活函数为:

21

11*2)(

bnetenetfy

(4)

b是一个确定常数,取值需要看具体的样本的情况来确

定。

经过统计,在对于本文实验的文本进行分词以及统计

TF值后,得到的TF值的平均值大概为1.4左右,最大值为

34。整个系统搭建完成之后,将b的范围由2到17进行变

化,经测试发现73b时,结果最好,故取b=3。由此得

到的激活函数的图像,如图2所示:

图1激活函数

2.3.2阈值

阈值是神经网络中的一个重要的参数,可采用固定值,

也可采用变化的阈值。采用变化阈值即在神经网络训练的过

程中,在误差反转改变权值同时改变阈值,相当于再把输入

样本增加了一维,更有利于解决问题。但是在本文的实验中,

为简单起见将隐藏层及输出层的阈值均固定设为0。

2.3.3倾向词的初始权重的选取

在标准神经网络的权重选择中,一般是在一个范围内随

机选择权重,随后的权重修改过程都由训练过程来决定,但

是这样的方法放在实验系统中并不理想,因为这样会使得训

练的时间变得过长。所以本文的初始倾向词权重的选取使用

文献[5]中的结果,当然是为了适应本文系统还是有一定的修

21MicrocomputerApplicationsVol.27,No.12,2011研究与设计微型电脑应用2011年第27卷第12期

正。简单介绍获取步骤如下:

1)获取基本情感词

从知网获得基本的情感词,共计3116个负面情感词以

及3730个正面情感词。总共6846个情感词。

2)选取种子词

随机选取15%的情感词作为种子词。

3)根据种子词计算情感词的倾向度

计算的公式为:

NwnKeySimilarity

MwpKeySimilaritywIRSON

iiM

ii),_(),_()((5)

式中ipKey_inKey_为第i个正面(负面)的种子词,

w为待求倾向度的倾向词,),(wKeySimilarity为通过知网

计算出来的Key与w之间的相关度(详细计算方法请参见文

献[5])。

4)合并处理获得情感词表

经过步骤3得到2907个负面情感词,3292个正面情感

词。共计6199个情感词。(已经删除一些生僻词)

此时,得到的情感词表还需要经过一些处理才能正式成

为神经网络训练的权重。主要需要解决的问题有3个:一是

对情感词权重的归一化;二是处理经由知网计算得到较大误

差的权重(比如正面的情感词经由计算得到一个负值);三

是计算的结果整体有一个偏移。

相应处理如下:

对所有正面情感词中大于0的权重取平均,对所有负面

情感词中小于0的权重取平均,再对两个平均值简单地求平

均。然后把所有的情感词权重均减去这个偏移值。记为权重

列表A。

接下来对于权重列表A中的情感词权重进行线性变换:

1*2

minmin'KKKKK

man(6)

式中'K即为计算后的权重,K为权重列表A中的权

重,minK为权重列表A中最小的权重值,manK为权重列表

中最大的权重值。

最后,对于那些计算误差较大的权重进行赋默认值。方

案是对于正面情感词权重小于0的词赋初始权重为0.1,而

负面情感词中权重大于0的词赋初始权重为-0.1。

至此得到了神经网络训练的倾向词的初始权重,将之作

为隐藏层到输出层的对应权重。

2.3.4期望输出确定

使用神经网络来进行训练都需要有一个确定的预期输

出值,但是文本只有一个正面或负面的判定(做3类倾向性

分析时还需加上一个中性),这就需要通过计算确定该预期输出值,同时确定输出的正确范围。由于神经网络最后的输

出范围是1,1,故规定正面的文本倾向度输出范围应该为1,Up,负面的文本倾向度输出范围应该为Down,1,中

性的文本倾向度输出范围为UpDown,。其中Up和Down

均为一个1,0的常数。在本文的只需判断正负倾向的实验

中,00.0UpDown。

首先对于每一种分类结果都预先设定一个默认的标准

输出值,比如正面的文本倾向度设为0.5,负面的文本倾向

度设为-0.5,中性的(如果有的话)文本倾向度设为0。

将训练文本的TF值输入神经网络,经过隐藏层再到输

出层,得到一个表示文本倾向度的结果,即为文本倾向值,

如果该文本倾向值处于正确的输出范围,则使用该输出值作

为该文本的预期输出值,否则以标准值代替。例如某正面文

本的计算输出值为0.7,在正确的输出范围内,则它的预期

输出值亦设为0.7。但是如果该正面文本的计算输出值为

-0.4,则将它的预期输出值设为默认的0.5。对所有的训练文

本采取这样的处理得到训练文本的预期输出。

2.3.5误差函数及反馈

选择的误差函数为:

221kYkDeoo(7)

全局误差为:

m

kookYkDmE

1221

(8)

式中E为总体误差,kDo为第k个样本的预期输出,kYo为第k个样本的实际输出,可通过式(1)和式(2)计算获

得。m为训练样本的个数。

根据神经网路的反馈机制,权重的更新公式为:

hoiNhoiNhoiWeWW1(9)

将e代入公式,并经过一系列推导以后,得到:

ooooOiNhoiNhoiYYYDHWW11***61*1(10)

式中1NhoiW为更新后的权重,NhoiW为更新前的权重,OiH为

隐藏层输出,oD为预期输出,oY为神经网络实际输出,为

学习速率。

在每次训练时,将训练样本一个个输入神经网络,每个

样本输入后,都需要根据上式对于权重进行一次更新,训练

样本全部输入完毕以后,一次训练结束。下次训练开始后重

复这个过程。

2.4训练算法流程

为使算法明晰,在明确了各参数的获得方法后将训练流

程复述如下:

首先获得训练样本;然后通过分词统计确定神经网络的

22

相关主题