- 1 -
中国科技论文在线
基于迭代神经网络的文本情感分析
陈晨,庄伯金**
作者简介:陈晨(1991-),男,硕士研究生,主要研究方向:模式识别
通信联系人:庄伯金(1976 ),男,副教授,主要研究方向:模式识别、图像处理等
(北京邮电大学信息与通信工程学院,北京 100876)
5 摘要:随着互联网的飞速发展,信息的传播和增长也越来越快。如何有效的获取民众对相关
事件、商品、活动等评价信息并挖掘出一些其中有价值的内容,成为互联网技术的一项研究
热点。因此,互联网舆情分析技术应运而生。文本情感分析以判断用户发表信息的情感属性
为目标,是舆情分析中的一项关键技术,对了解民众舆论倾向起重要作用。传统的情感分析
算法存在特征维度过高、语句中词语时序信息识别不全面等问题。本文改进了一种基于朴素10
贝叶斯的支持向量机融合分类算法,利用 N 元模型优化文档特征向量,有效改善了传统方
法中特征维度问题,并加入了短语时序信息。然后,本文实现了一种基于迭代神经网络的语
言模型,可有效获得语句的完整时序信息,从而改善了情感分析的准确性
关键词:情感分析;神经网络;迭代神经网络
中图分类号:TP181 15
Sentiment Analysis Of Text Base On Recurrent Neural
Network
ChenChen, Zhuang Bojin
(School of Information and Communication Engineering, Beijing University of Posts and 20
Telecommunications, Beijing 100876)
Abstract: With the rapid development of Internet, the transmission of information is becoming
more and more quickly. People interact more frequently in the information via the Internet. How
to effective access to relevant events, product, activity assessment information and dig out some
valuable content, become a study focus in the Internet technology. Therefore, the Internet public 25
opinion analysis technology arises at the historic moment. The text sentiment analysis to
determine user information emotional attributes is a key technology of the public opinion analysis,
which play an important role to understand public opinion tendency. Traditional sentiment
analysis algorithm has some problems, such as high dimension feature, comprehensive words
sequence information in a statement. 30
This paper improves a support vector machine (SVM) based on naive bayes fusion classification
algorithm. n-gram model was used to optimize the document feature vector, effectively improved
the characteristic dimension problem in traditional method, and joined the phrase sequence
information. What’s more, This paper implements a language model based on recurrent neural
network model, which can effectively obtain statements complete sequence information, thus 35
improving the accuracy of the sentiment analysis.
Key words: sentiment analysis;neural network; RNN
0 引言
现今社会,科技的飞速发展使得信息的快速传播成为可能,人们更加倾向于通过互联网40
表达自己的意愿。然而,随着互联网大范围的快速普及,网民人数迅速扩大,导致很多普通
人的网络表达淹没在大量的网络信息中。不论是政府还是一些公司、组织,都希望能从海量
信息数据中,找出他们感兴趣的数据,比如寻找到网民对一些事件的评论,判断目前舆论关
注情况、挖掘出一些比较合理的建议等。所以,在人工无法处理如此巨大数据的背景下,学
- 2 -
中国科技论文在线
者们提出了许多算法来处理一些特定的问题。 45
挖掘出评论数据中有意义的信息可以为商家以后在制定策略时,提供必要的信息,避免
陷入一些误区,提高制定策略的效率。例如目前淘宝拥有大约数百万卖家,其中一些商家销
售假货、服务质量差,引起了很多消费者的不满,对淘宝本身产生了很不好的影响。所以,
如何通过用户对卖家商品、服务的评价来衡量该卖家的信誉度,就成为阿里巴巴的一个研究
目标。获得卖家商品的好评/差评率,筛选出有意义的评论等,都可以为阿里巴巴决定是否50
调整一些卖家的信誉提供数据支持。
可见,网民对于某一个事件、某一个商品的评论具有很高的社会价值和商业价值。而针
对用户评论的情感分析是很重要的一环。现在社会信息化高度发达,如果能够利用文本情感
分析技术快速了解用户反馈,商家无疑在以后的竞争中处于很有利的地位。但是,传统人工
评测的方式无法快速及时地处理庞大的评论数据,所以研发针对特定数据集合、高效的文本55
情感分析系统的需求越来越迫切。
1 相关研究
传统中文文本情感分析方法
目前针对文本情感分析系统的研究中,很多研究人员采取传统的机器学习方法在实验数
据集上获得了很好的效果。传统的分析方法主要包含下面几种思路: 60
李蓉等人将文本情感分析抽象成分类问题,应用在中文评论数据集上。具体方法为使用
词袋模型进行文档特征向量化,然后采用朴素贝叶斯、支撑向量机等分类算法训练模型。随
后,wang 提出了使用贝叶斯方法优化文档特征向量,来解决词袋模型对词汇情感信息提取
不足的问题,在英文评论数据集上进行了验证[1] [2] [3]。上述方法有不错的实践效果,但是对
于语句中词汇之间的时序信息没有考虑到。 65
杨江等人也是将文本情感分析抽象成分类问题。不同之处在于,他们采用语言模型的思
路解决中文文本情感分析问题,使用的具体语言模型为 N 元模型。具体的训练过程为,首
先针对两种情感属性的训练集分别训练各自的 N 元模型,然后预测时分别计算待预测文档
属于不同情感分类的概率(置信度),然后通过比较置信度的大小进行情感属性的判断[4]。
但是,N 元模型有过拟合的问题,即测试集中 N 元长度的词语序列可能在训练集中没有出70
现过,这不仅导致 N 元模型需要小心的进行平滑处理,而且序列长度不能过大(常取三元
模型)。这导致 N 元模型对词汇之间的时序信息只能进行短语级别的覆盖,提取的时序信
息不足,不能识别由转意词(“虽然”,“但是”等)组成的转意语句结构。
另一种思路为,中文文本情感分析系统需要加入语句的语义结构、句法结构等信息,采
用条件随机场等时序模型识别转意结构,提高分析效果。陈豪等人将这种方法应用在中文评75
论数据集上[5] [6]。但是条件随机场等时序模型,对于时序信息的刻画很简单,对于复杂、较
长序列的时序信息刻画不足。
实际上,以上论文虽然采取的思路不同,但是主要的改进目标之一都是为了能够更好的
覆盖词语之间的时序关系,以及尝试对文档特征向量降维等。但是,传统机器学习的结构比
较简单,对简单的时序关系(如 N 元短语)有比较好的覆盖效果,但是难以应对复杂词汇80
时序序列。
- 3 -
中国科技论文在线
神经网络技术
目前,深度学习在图像、语音识别等领域有了很大的进展,而且神经网络模型对于特征
重构和时序关系识别方面有着自己独特的优势。因此很多研究人员开始尝试将深度学习应用
在自然语言处理领域,在词汇时序信息的提取方面有了很大进展。 85
Hinton 在论文[7]中提出了深度学习中词向量的概念,而 Bengio 在 2003 年提出了经典的
神经网络计算词向量的模型[8]。Mikolov 对神经网络模型的网络结构进行了改变,改进了词
向量的求解过程,并且提出了利用神经网络模型构建文档向量的方法,用于构建描述文档的
特征向量,在一些英文语料集上证明了相对于 N 元模型的提升效果[9]。
上述词向量的构建方法在一些英文数据集上进行了验证,但是,中文文本分析有自己的90
独特问题。例如中文文本处理首先需要分词,中文分词技术的准确程度直接影响文本处理的
效果。除此之外,中文的语义结构,一些情感表达语句方式与英文也有所不同。尤其是一些
商品评论的口语化十分严重,不仅导致中文分词效果受到影响,对于时序信息的刻画也会产
生歧义。因此,神经网络技术在中文评论数据集上的应用还需要在特定数据集上进行实验、
分析。 95
2 基于 N 元贝叶斯特征的支撑向量机模型
基于贝叶斯特征的支撑向量机模型(NBSVM)
本小节重点讨论在本文中将朴素贝叶斯方法和支撑向量机两种方法进行模型融合的策
略。
模型的预测函数如公式 1 所示,用来计算第 k 个文本的分类标签。其中 k 为文本序列号,100
)(ky 为标签, )(kx 为第 k 个文档的特征向量,W、b 为模型的训练参数。
)( )()( bxWsigny kTk (1)
为了便于接下来详细介绍模型的算法思路,我们先定义一些相关的概念:
1.
||)(f vi R ,作为第 i 个文档的词袋模型向量(不一定是最终使用的文档特征)。而 V
是词表矩阵,|V|即表示训练集中的词汇数量,同时也是文档特征向量的维度。这样一来, (i)jf105
表示在第 i 个文档中,词表 V 中第 j 个词汇出现的次数。
2. 1:
)(
1:
)(
)()( f,f ii yi
i
yi
i qp ,其中的 qp, 分别表示正向情感和负向情感
文本的特征向量之和,包含每个词汇分别在两种文档分类中的出现次数。接下来利用 qp, 可
以定义数据集的正负词汇对数概率(log-count ratio),如公式 2 所示。
)
||||/
||||/
log(
1
1
qq
pp
r (2) 110
以上本章中定义的一些概念,下面将按顺序介绍多项式朴素贝叶斯、支撑向量机、基于
贝叶斯特征的支撑向量机模型(NBSVM)各自的具体处理方法。
多项式朴素贝叶斯方法。文档特征向量定义为: }0f{;1f )(
)(
1
)( k
kkx ,而模型参数
的计算方式如下: rWNB 以及 )/log( NNb ,其中的 N 和 N 分别表示训练集中,属
于正向情感文本的文本总数,以及属于负向情感文本的文本总数。文档特征 )(kx 之所以不采115
- 4 -
中国科技论文在线
用 )(f k ,而采用
)(
1f
k
,是因为在论文[2]中提到词向量求并集构成文档向量的方法准确度更高。
支撑向量机方法,同样令 }0f{;1f )(
)(
1
)( k
kkx ,但是 dWSVM , 由公式 3 的目标函数
优化训练得到。在实际训练中,我们采用 L2 范数而不是 L1 范数,这是因为中,提到在文
本分类问题中,L2 范数效果更好[3]。这表示训练过程中,倾向于每个词汇对应的权重 iw 更
加均衡,不会过于稀疏。 120
))(1,0max( )()( bxWyCWW
i
iTiT (3)
基于贝叶斯特征的支撑向量机模型。与上文支撑向量机模型相比,该模型有两个变化:
首先,第 k 个文档的特征向量 )(kx 被定义成如公式 4 所示:
)(
1
)(
2
)( frf kkkx (4)
即特征向量由朴素贝叶斯模型中的权重参数 NBW 来代替,其中的 r即为 NBW 。然后,该125
模型按照 SVM 目标函数训练出模型参数 bWSVM , ,并且进行修正得到最终的模型参数,如
公式 5 所示。其中, ||/|||| 1
_
VWW SVM ,表示参数向量的均值。 ]1,0[ ,是调节支撑向
量机和朴素贝叶斯方法权重的因子,这一公式的核心的思想就是,将给予朴素贝叶斯模型训
练的参数极大信任,除非支持向量机模型的置信度足够大。本文中令 。
SVMWWW
_
)1(' (5) 130
NBSVM 的优势和不足
词袋模型需要解决的问题包括:特征维度过大,文档词语重要性,词语时序关系等。
NBSVM 模型的优势就在于它很好的解决了文档词语重要性的问题。从文档特征向量的
角度来说,贝叶斯特征实际上使用词汇对应正向/负向情感分类的概率作为相应特征位的值。
这种方式使得文档特征向量能够体现出词汇的情感属性,提高分类模型训练的效果。 135
但是 NBSVM 的不足之处在于,另外两个问题仍然没有解决:文档向量的维度仍然是词
表的维度,而且文档特征向量并没有提取出词语之间的时序信息。
N 元模型改进贝叶斯特征
在 N 元模型中,词语序列长度 N 的扩大,如从一元模型(unigram)向二元模型(bigram)、
三元模型(trigram)等多元模型的变化,可以理解为在构建文档向量的过程中,加入了短语140
类型的词序关系。例如,在文本分析领域常用的三元模型中,考虑到了( nnn www ,, 12 )这种
三个词语连续的情况。
改进思路
同样的,朴素贝叶斯特征的基础上也可以引入 N 元模型的思路,继续改进特征。本文
中,策略的改进方式如流程框图 1 所示: 145
- 5 -
中国科技论文在线
图 1 N 元模型改进时序信息系统流程图
Fig. 1 The system flow chart of N-gram model improved time-series information
该模型主要的改进步骤是将词表 V 进行扩充。最初的词表可以理解成一元模型的词表,150
第 i 个位置表示词语 i,扩充的方式为将( nknkn www ,...,, 1 )这种连续的词语序列,作为一个
新的词汇,加入的词表中。其他的特征构建方式和模型训练方式不变。
N 元模型改进的不足
但是,N 元模型改进思路也有它的局限性。首先,特征数据维度过大的问题不仅没有改
善,反而更加严重。假设词表的大小原本为|V|,引入二元模型后,词表的大小理论上最大155
可以扩充到|V|^2,而对于多元模型情况更加严重,可以达到|V|^N。下面的表 1 中,表现了
在携程评论数据集上,随着 N 的扩大,词表的变化趋势:
表 1 词表大小与 N 的关系
Tab. 1 The relationship between vocabulary size and N
N=1 N=2 N=3 N=4 N=5
8865 64726 165116 280390 397217
160
其次,引入 N 元的词语序列,模型的过拟合情况更加严重。一元模型实验过程中发现,
待分析的中文文本中可能出现训练集中没有出现过的词汇,如果这样的词汇过多,会导致在
训练集上分析效果很好的模型在测试集上准确率降低。而引入 N 元词语序列,会导致这种
情况更加严重,在文章[10]提到了这一点。观察表 2,我们也可以发现,如果没有采用低阶的
N 元模型进行平滑,随着 N 元模型中词语序列长度 N 的增加,训练数据集(valid)上准确165
度增加的同时,在测试数据集上的准确度却在下降。三元模型的时候这一趋势就已经非常明
显了。
这就导致受到词汇序列长度 N 的限制,N 常常取为 3,这样理论上 N 元模型改进的特
征只能识别长度为 3 的短语序列,不仅对稍微长一些的短语序列无法覆盖,而且对于“但是”,
“就算”等语句级别的转意结构更加无法识别。 170
例如,表 3 中先列出一些预测错误的文本语句,从实际应用的角度进行分析,左半边部
分被模型判断成负面情感,而语句本身的情感分类属性是正面的,右边正好相反
表 2 N 元模型实验结果
N-gram model experimental results
序列长度 N valid test
N=1 % %
N=2 % %
N=3 % %
N=4 % %
- 6 -
中国科技论文在线
表 3 Trigram 改进贝叶斯特征下,判断错误的文本实例 175
Wrong instances of text with trigram-NB features
正向情感文本 负向情感文本
值得推荐的一间酒店,我很满意,尤其是酒店提供的包车
服务为我解决了很多实际问题。
入住的客人停车场也要收费,这在广州到是极
为少见。
怀旧的人可以住庐山宾馆,这样的宾馆现在不多了,有让
你回到 8、90 年代的感觉,虽然设备陈旧一些,服务员有
些也上了年纪,但很踏实,可能他们年青时就在此工作至
今。
房间还是不错的,但是总的来说,还是不怎么方
便.在 2 楼才是总抬。不管怎么说,我还是不愿
在去住了,但是离机场进,呵呵。。。
总体感觉良好!交通比较方便。就是房间太小了点!价格
有点贵!
自称 4 星,实际上顶多 2 星。贵宾楼比较好,
房内还算干净。
3 迭代神经网络语言模型
与上文不同,N 元模型也可以作为语言模型,通过计算新文本在正/负两种情感模型下
的存在概率(置信度),进行情感分析判别。 180
而 RNNLM 实际上从某种角度上来说,可以认为是 N 元模型的改进型扩展模型,将 N
理论上扩展到了无穷大,可以覆盖文档语句的全部词汇长度,而这正是 RNNLM 模型最大
的理论优势。
N 元模型不论是直接作为语言模型,还是用来改进文档向量特征,都是试图通过加入词
语序列从而能够在文档特征中体现出词序关系。然而,这两种方法引入词序关系在实际应用185
中都有自己的限制。
首先,对于 N 元模型,N 的大小在实际应用时有限制。在很多实验中,N 的长度取 3,
否则就会产生相反的效果[10]。因此,N 元模型只能识别短语级别的语义结构信息,并不能
完整的识别整个文档的时序信息。
而 RNNLM 在能够在理论上覆盖整个文档的时序结构,尤其是在例如“虽然”,“但是”190
等转意词时。例如下面的语句实例,运用上一章中使用的方法判断错误。
“这样的宾馆现在不多了,有让你回到 8、90 年代的感觉,虽然设备陈旧一些,服务员
有些也上了年纪,但都让人很踏实。”
上面实例是一个正向情感的中文文本评论,但是基于贝叶斯特征和基于 doc2vec 特征的
支撑向量机模型都将其误判成负向情感。主要原因就在于“虽然”,“但”这样的连接词,无法195
向人脑一样识别出转折等语义信息。从中文的使用习惯上来说,“虽然”后面的红色标注的词
语序列:“陈旧”,“上了年纪”并不是这条语句的中心语句,前两个短句和“但”后面才应该是。
除此之外,“回到 8、90 年代的感觉”,在训练时因为训练集数据不足,被判断成偏向负向情
感。因此在使用支撑训练机进行训练时,“现在不多了”和“踏实”在偏向正向情感的效果,没
有“陈旧”,“上了年纪”等偏向负面情感的效果强,导致这一文档样本被判断错误。 200
所以,中文文本情感分析需要新的模型能够更好的识别文本词语间的时序关系,
RNNLM 正是一种尝试。
迭代神经网络(Recurrent neural network)结构
Bengio(2003)在提出神经网络语言模型训练词向量的时候,曾经提出可以对隐藏层进
行改进,采用隐藏层迭代的思路来改进模型的效果[8]。因此 Mikolov 在随后的工作中着重205
于这一点,改进了是将网络模型,提出迭代神经网络(RNN)模型[11],RNN 的神经网络结
构如图 2 所示。
迭代神经网络模型神经网络主要分为三层:输入层(input),隐藏层(context),输出
- 7 -
中国科技论文在线
层(output)。迭代神经网络模型提出的主要目的就是能够更好的识别出语句中词语的时序
关系,这一点迭代神经网络是通过隐藏层来实现的。我们观察上图发现 t-1 时刻的隐藏层会210
在下一时刻和 t 时刻的输入层一起,作为新的输入层进行计算,求出第 t 时刻的隐藏层,这
样一来,隐藏层实际上保存了前 t-1 时刻的所有信息。
图 2 迭代神经网络模型网络结构示意图
Fig. 2 Recurrent neural network model structure diagram 215
在自然语言处理领域,迭代神经网络作为语言模型计算文本的存在置信度时,它的神经
网络各层的元素和含义如下所述:
首先,输入层有两部分组成。图 2 左边上半部分是第 t 时刻词汇的词向量,记为 )(tw ;
下半部分是前 t-1 时刻所有词向量之间的时序信息,记为 )1( ts 。对于中文文本,分词完成220
之后,从左至右遍历文本语句,依次按照上述方式组合,作为该时刻的输入向量 )(tx ,如
公式 6 所示。
)1()()( tstwtx (6)
然后,隐藏层负责记录前 t-1 时刻所有词向量之间的时序信息,记为 )1( ts 。在 t 时刻,
读入第 t 个词向量后,词向量 )(tw 和第 t-1 时刻的隐藏层向量 )1( ts 一起,通过各自的转移225
矩阵 U 和 W 相乘计算,映射到第 t 时刻的隐藏层 )(ts 。隐藏层中每一个元素的计算公式如
下所示。
))1()(()( jl
l
lji
i
ij wtsutwfts (7)
最后,输出层的大小为词表的大小,其中第 i 个元素表示词表中第 i 个词汇在语句中该
位置出现的概率,由隐藏层通过转移矩阵进行映射,如公式 8 所示。 230
))(()(
j
kjjk vtsgty (8)
其中,隐藏层的激活函数 )(zf 是 sigmod 函数,输出层则用 softmax 函数作为激活函数
)(zg 。
k
z
z
z ke
e
zg
e
zf )(;
1
1
)(
(9)
通过上面的介绍,我们可以了解到迭代神经网络模型中需要训练优化的参数包括:转移235
- 8 -
中国科技论文在线
矩阵 W、U 和 V,隐藏层向量 )(ts 和输入的词向量 )(tw 。
迭代神经网络训练过程
最简单的迭代神经网络参数优化过程也是分为前向计算和反向传播优化两个部分,然后
采用随即梯度下降算法进行优化。上文已经很详细的介绍了前向计算过程,下面将对反向传
播优化过程进行讲述。 240
首先,每一个文本语句的优化目标函数如公式 10 所示,表示该语句中每个词汇的存在
的对数概率之和,T 就是文本语句的长度。
T
t
li tyfL
1
)(log)( (10)
然后,我们开始反向传播的过程,求目标函数对各个参数的偏导,采用梯度下降方法进
行优化: 245
1. 求解目标函数 L对输出层向量 )(to 的偏导梯度,公式 11:
)()()(
)(
tytdte
to
L
o
(11)
其中, )(td 是指用 0-1 格式存储的输出层向量, )(teo 可以理解为前向计算的结果 )(ty ,
与实际输出层向量的误差。
2. 计算目标函数 L对隐藏层向输出层转移矩阵 V 的梯度,参数矩阵 V 中,每个元素的250
梯度值,可用公式 12 计算:
)()(
)(
)(
)()(
tste
tv
to
to
L
tv
L
jok
kj
k
kkj
(12)
以上 k 是指向量、矩阵的下标。其中 )(teok 是指输出层误差向量 )(teo 中的第 k 个元素
值。然后,将上述公式写成向量形式,作为梯度向量,更新转移矩阵 V 的值:
)()()()()1( tVtstetVtV To (13) 255
3. 计算目标函数 L对输入层向隐藏层转移矩阵 U 的梯度以及隐藏层之间的 转 移 矩
阵梯度 W,两者的元素梯度值计算公式分别如公式 14 和公式 15
所示:
k
kjokijj
ji
vtetwtsts
tu
L
)()())(1()(
)(
(14)
k
kjokljj
jl
vtetststs
tw
L
)()1())(1()(
)(
(15) 260
然后,将上述公式写成向量形式,作为梯度向量,更新转移矩阵 V 的值,公式如
下:
)()()()()1( tUtwtetUtU Th (16)
- 9 -
中国科技论文在线
)()1()()()1( tWtstetWtW Th (17)
其中的 )(teh 可以理解为传播到隐藏层的误差,具体的计算公式如 18 所示: 265
))(1()(),();,)(()( tstsxtxdtVtedte jjhj
T
ohh (18)
上述过程就是 RNN 神经网络的反向传播优化过程,这是最简单的优化方式。但是这样
的训练方式得到的结果并不是最优的,它对历史信息的保存效果没有理论那么好。所以,借
鉴传统多层神经网络的方式,Mikael[12]提出了反向传播方法一个扩展形式:即通过将原来的
迭代神经网络把折叠打开,将误差反向传播得更远,它这种训练方法叫做时间反向传播算法270
(Backpropagation Through Time,简称 BPTT),如下图 3 所示。
因为图像的空间有限,图 3 中简单地令展开的时间序列长度为 3。这里表示将当前时刻
t 往以前展开到了 t-3 时刻,展开后的 U,W 不变,其中的反传误差可以使用如下的递归公
式进行计算:
)1,)(()1( tWtedte Thhh (19) 275
理论上 τ 越大,越能更完成的覆盖时序序列。但是实际上,通常 τ 一般不会取很大。BPTT
算法的反向传播优化方式和上面正常模型非常类似,只是在涉及到向隐藏层的相关参数受到
影响,相当于把几次的更新全部叠加起来,作用在原来的矩阵上。所以,涉及改变的矩阵为
U 和 W,具体的改变见下面的两个公式,其他部分类似。
)()()()()1( tUtwtetUtU
T
T
h
(20) 280
)()1()()()1( tWtstetWtW
T
T
h
(21)
图 3 BPTT 结构示意图
Fig. 3 BPTT structure diagram
285
- 10 -
中国科技论文在线
文本情感分析情境下的 RNNLM 流程
从语言模型的角度来说,RNNLM 可以看作 N 元语言模型的改进模型,都是通过将文
本语句作为输入序列,计算文本在模型下的误差值,误差越小表示该文本语句在这一模型下
的存在置信度就高,两者更契合。
N 元模型中,文本语句的误差用每个词语存在概率的联合分布来衡量,如公式 22 所示290
那样,联合分布概率越高,表示误差越低。RNNLM 模型的计算方式也类似,对于待分析的
文本词汇序列,按照从左至右的顺序依次遍历,经过迭代神经网络的前向计算过程,求该词
汇在前 t-1 个词的时序序列下,存在的概率。
然后,求序列中所有词汇对数概率的平均值,就可以作为评价文本置信度的数值。那么,
根据上述介绍 RNNLM 模型的算法原理,使用 RNNLM 作为情感分析工具的主要流程如框295
图 4 所示。
详细的流程介绍如下:
1.读入训练数据集,按照正/负情感标签,分成两个数据集 C 和 C 。然后分别完成分词
处理,构建词表。根据各自的训练集,分别训练覆盖正向情感语料的 RNN 模型 R 和
覆盖负向情感语料的 RNN 模型 R 。具体 RNN 模型的训练过程见上一小节。 300
2.预测时,加载两个 RNNLM: R 和 R ,对新来的文档样本分别使用它们计算该文档
样本对于各自模型的误差值,如果 R 模型的误差小,则该样本为正向情感,反之为负
向情感。
RNNLM 最大的理论优势就在于它能够在理论覆盖整个文档语句的时序结构,能够对于
由“虽然”、“就算”、“即使”等连词构成的转意结构比较好的识别出来。通过实验,可以发现305
确实 RNNLM 能够识别出很多这样的样本,表 4-7 中介绍了一些正确识别的样本实例。
图 4 RNNLM 系统流程图
Fig. 4 The system flow chart of RNNLM
4 结果与分析 310
实验数据集
在本文的研究背景中,我们曾经提到了互联网时代商品评论所具有的商业价值和研究意
义,所以本文研究工作所用的数据集为三个评论数据集:IMDB 电影评论数据集、淘宝商品
评论数据集、携程商务酒店评论数据集。
- 11 -
中国科技论文在线
三个数据集的样本数量分别为 50000,8800 和 16000。整理过后,对数据样本进行人工标315
注。其中的正向(postive)/负向(negative)情感评论比例为 1:1,随机抽取 25%数据作为
测试集,其余为训练集
RNNLM 文本情感分析结果
RNN 神经网络训练过程使用 BPTT 算法进行反向传播训练,BPTT 展开的状态层数量
会影响训练的准确度。RNN 理论上可以覆盖的序列长度为无穷大,但是实际上,随着两个320
词之间相隔距离越长,隐藏层迭代时的误差就越大。因此,实际训练中 BPTT 的展开长度不
是无限的,不仅是因为 增大带来的计算复杂度,还有误差对准确率的影响。
对情感分析效果的具体影响见图 5,可见当 达到当前数据集下的最优值时,随着增大,
训练效果开始下降。在取相应最优值的条件下,RNNLM 的情感分析效果如表 4 所示。
从实际文本实例效果上看,RNNLM 模型确实识别出很多具有转意结构的文本实例,如325
表 5 所示。其中的实例即为另外两种模型判断失败的文本语句。可见,RNNLM 在一些特定
模式上达到了我们想要的效果。
图 5 RNNLM 展开状态层数 的影响效果
Fig. 5 The results of different parameter 330
表 4 RNNLM 实验结果
RNNLM model experimental results
数据集 valid test
IMDB 电影评论数据集 % % 4
携程酒店评论数据集 % % 4
淘宝商品评论数据集 % % 2
表 5 RNNLM 正确判断文本实例 335
The right instances of text with RNNLM
正向情感文本 负向情感文本
性价比高,不错,很高兴能用 200 以内住四星,虽
然只是附楼,房间有点小。
虽然酒店硬件设施不错,但服务却让人觉得莫名其
妙,我预订了两天的房间,而且没有提前退房,他们
却告诉携程我提前退房了
酒店房间、卫生面积比较大,虽然外面看不显眼、
大堂也略显旧,但房间、过道都比较新,服务员态
度也不错。
对舟山的整体印象是旅游资源不错,但是管理很差,
特别是晚上的大排档整个就是一个黑店。
上海宾馆虽然是一家普通的三星级酒店,但是其服务
赶超任何一家五星级,无论是前台的还是楼层服务
员,那笑容简直没有得说了.
虽然在火车站不远处,走对路 10 到 15 分钟,但位置
比较不好找,如果不打车去基本得问两三人。
- 12 -
中国科技论文在线
模型融合结果
本文融合的方式为通过将 2 种方法通过线性加权,构成最终的判断模型。贝叶斯方法构
建文档特征向量之后,采用支撑向量机模型作为分类方法,通过 sigmoid 函数求概率。
RNNLM 是通过文档在两个语言模型中的误差来实现的,所以 RNNLM 的最终概率为求两个340
误差的比值,然后同样用 sigmoid 函数求概率值,这样 2 种模型都可以得到自己的情感得分。
然后,通过线性加权,将 2 个模型的情感得分相加去平均值,得到最终的评价。三个实
验数据集上的实验结果如表 6 所示。模型 1 代表 trigram-NBSVM 模型,模型 2 代表 RNNLM。
从该表可以发现,对两种模型进行线性加权,彼此之间会起到互相修正的效果。线性加
权的含义就是如果有一种模型判断错误的情况下,如果另一种模型给出的置信度(概率值)345
更高,就可以对错误判断进行纠正。
表 6 模型融合实验结果
Ensamble model experimental results
模型 IMDB 数据集 携程数据集 淘宝数据集
模型 1 % % %
模型 2 % % %
模型 1 + 模型 2 % % %
5 结论
首先,本文将基于贝叶斯方法特征的支撑向量机模型(NBSVM)作为基线模型。本文350
改进 NBSVM 算法,利用 N 元模型优化文档特征向量,有效改善了传统方法中特征维度问
题,并加入了短语时序信息。
然后,针对短语序列对语句时序信息覆盖不完整的问题,本文利用 RNNLM 作为语言
模型进行改进。RNNLM 能在理论上识别整个语句的时序信息。同时,RNNLM 采取语言模
型的思路,可以更准确的识别文本情感属性。 355
[参考文献] (References)
[1] 李蓉,刘少辉,叶世伟,史忠植.基于 SVM 和 k-NN 结合的汉语交集型歧义切分方法[J];中文信息学报,2001,
15(6):13-18
[2] 周燎明.基于统计知识的文本情感倾向研究[D]. 北京: 北京邮电大学, 2013.
[3] Sida Wang,Christoper D. and Bigrams: Simple, Good Sentiment and Topic 360
Classification[J]. Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics, Short
Papers:2012:90-94
[4] 杨江,彭石玉,侯敏:基于主题情感句的汉语评论文倾向性分析[J].第五届全国青年计算语言学研讨会
(YWCL, 2010:569-572).
[5] 陈豪,苏波,黄晨.基于 CRF 和句法分析的中文微博情感分析[Z].上海:上海交通大学,2012. 365
[6] 刘群,张华,俞鸿魁.基于层叠隐马模型的汉语词法分析[J].《计算机研究与发展》, 2004, 41(8):1421-1429
[7] Yoshua Bengio,Réjean Ducharme,Pascal Vincen;A neural probabilistic language model[J]. Journal of Machine
Learning Research 3 (2003) 1137-1155.
[8] Geoffrey distributed representations of concepts[A].Proceed-ings of the Eighth Annual
Conference of the Cognitive Science Society[C].Amherst,,pages J Z, LEI B, WANG C Q. 370
Reclamation on building waste produced from Wenchuan Earthquake[A]. XIAO J Z. The first discussion forum of
study on RAC[C]. Shanghai: Tongji University Press, 2008. 64-65.
[9] Le Q V, Mikolov T. Distributed Representations of Sentences and Documents[J]. Eprint Arxiv, 2014,
4:1188-1196.
[10] Mikolov T, Karafiát M, Burget L, et al. Recurrent neural network based language model[J]. 375
Interspeech,2010:1045-1048.
[11] Boden M. A Guide to Recurrent Neural Networks and Backpropagation[J]. Dallas Project Sics Technical
Report T Sics, 2001:1307-1312..
[12] Graves A. Supervised Sequence Labelling with Recurrent Neural Networks[J]. Studies in Computational
Intelligence, 2012, 385:47-56. 380