哈尔滨工业大学学报  2018, Vol. 50 Issue (11): 32-39  DOI: 10.11918/j.issn.0367-6234.201709078
0

引用本文 

金志刚, 韩玥, 朱琦. 一种结合深度学习和集成学习的情感分析模型[J]. 哈尔滨工业大学学报, 2018, 50(11): 32-39. DOI: 10.11918/j.issn.0367-6234.201709078.
JIN Zhigang, HAN Yue, ZHU Qi. A sentiment analysis model with the combination of deep learning and ensemble learning[J]. Journal of Harbin Institute of Technology, 2018, 50(11): 32-39. DOI: 10.11918/j.issn.0367-6234.201709078.

基金项目

国家自然科学基金项目(71502125)

作者简介

金志刚(1972—), 男, 教授, 博士生导师

通信作者

朱琦, zoomzq@163.com

文章历史

收稿日期: 2017-09-14
一种结合深度学习和集成学习的情感分析模型
金志刚, 韩玥, 朱琦     
天津大学 电气自动化与信息工程学院, 天津 300072
摘要: 随着社交媒体的不断发展, 用户评价已成为网络决策的关键因素.为了准确分析社交媒体用户评价的情感倾向性, 更好地推进舆情分析、推荐算法等工作, 本文通过对Bi-LSTM模型和Bagging算法的改进, 提出了一种新的情感分析模型—Bi-LSTMM-B模型.该模型的特点在于将深度学习模型可提取抽象特征的优势和集成学习多分类器共同决策的思想相结合.一方面在Bi-LSTM模型的基础上引入Maxout神经元, 构建Bi-LSTMM模型, 解决随机梯度下降算法中存在的梯度弥散问题, 更好地优化训练过程.另一方面, 模型基于Bagging算法训练多个情感分类器, 根据分类器性能优劣利用袋外数据为每个分类器分配指定类别的权重, 并提出相应的改进投票策略, 增强了模型的泛化能力.实验结果表明:本文提出的Bi-LSTMM-B模型相比于传统的LSTM模型准确率提高12.08%, 其中Maxout神经元的引入对情感分析准确率有8.28%的相对改善效果, 改进后的投票策略对准确率有4.06%的相对改善效果, 并在召回率和F值两项指标上均优于其他对比模型.由此证明, 深度学习模型和集成学习思想相结合可提高情感分析的准确率, 并具有一定的研究价值
关键词: 情感倾向性分析     深度学习     集成学习     Bi-LSTM模型     Maxout神经元     Bagging算法    
A sentiment analysis model with the combination of deep learning and ensemble learning
JIN Zhigang, HAN Yue, ZHU Qi     
School of Electrical and Information Engineering, Tianjin University, Tianjin 300072, China
Abstract: With the development of social media, users' evaluations have become a key factor in network decision-making.Owing to the necessity of making a more accurate analysis on the emotional tendency of social media users' evaluations as well as promoting public opinion analysis and recommendation algorithms, a sentiment analysis model called Bi-LSTMM-B (Bi-directional Long Short Term Memory Model with Maxout neurons in Bagging algorithm) is proposed.With the feature of combining deep learning model and the idea of ensemble learning, the model improves the Bi-LSTM model and the Bagging algorithm.On the one hand, the Bi-LSTMM model introduces the Maxout neural into the Bi-LSTM model to solve the vanishing gradient problem during the stochastic gradient descent training and optimize the training process.On the other hand, multiple emotional classifiers were trained at the foundation of the Bagging algorithm.The out of bag data assigns the weight for each classifier on specified category according to their performance.Hence the voting strategy is improved to enhance the generalization ability of the model.The experimental results indicate that the accuracy of the Bi-LSTMM-B model is improved by 12.08% compared to the traditional LSTM model.It is also superior to other contrast models in the recall rate and F value.Therein, the introduction of Maxout neurons has a relative improvement effect of 8.28% on the accuracy of sentiment analysis, while the improved voting strategy accounts for 4.06% on the accuracy.Thus, it proves that combining deep learning and ensemble learning contributes to the improvement of the accuracy of sentiment analysis, which shows some value in research.
Keywords: sentiment analysis     deep learning     ensemble learning     Bi-LSTM model     Maxout neural     Bagging algorithm    

近年来, 随着互联网技术的快速发展, 各种各样的社交媒体不断涌现, 越来越多的用户通过社交媒体平台表达自己的观点和想法.作为一种重要的信息载体, 用户评价已成为人们进行网络决策时考虑的重要因素.情感倾向性分析, 又称主客观分析, 以挖掘文本信息中用户表达的情感极性为目标, 其概念最早由Nasukawa[1]提出.近年来, 针对社交媒体用户评价的情感倾向性分析已成为自然语言处理领域研究的热点问题之一, 具有重要的研究价值.因此, 本文的研究目的是提出一种文本情感倾向性分析模型, 为提高推荐算法、用户信誉评价、舆论分析等结果提供良好的模型基础.

随着深度学习的不断发展, 以神经网络为代表的深度学习模型逐渐成为情感分析的主要模型.但随着神经网络深度的增加, 随机梯度下降算法在训练中会存在梯度弥散的问题.为此, 本文在Bi-LSTM模型基础上引入Maxout神经元, 构建Bi-LSTMM模型, 以解决该问题.

同时, 将训练好的模型能具有一定适应性地应用到测试平台上, 提高实际计算和预测的准确度, 是模型具有实际效用的体现, 因此泛化能力一直是机器学习所关注的另一个重要问题.为了提高模型的泛化能力, 本文充分利用随机采样类别样本的差异性, 在传统Bagging算法的基础上对其投票策略进行改进.

通过以上两个部分的改进, 本文构建了Bi-LSTMM-B情感分析模型, 可得出该模型有助于提升情感分析准确率的结论.

1 相关工作

在情感倾向性分析任务中, 通常有基于词典、基于机器学习和基于深度学习的三种方法.基于情感词典的方法是一种典型的无监督学习.早期Kim等[2]使用已有的情感词典, 通过文本中情感词汇得分加和的方式来判断文本的情感极性.该类方法对词典的要求很高, 但互联网新词层出不穷, 情感词典更新较慢, 使分类性能大打折扣.基于机器学习模型的有监督学习是情感倾向性分析的另一种重要方式.Pang等[3]第一次提出使用有监督的机器学习模型进行情感分析, 并使用朴素贝叶斯、支持向量机和最大熵三种分类算法进行尝试.Wan等[4]提出基于KNN和支持向量机的文本分类方法, 提高了分类的精确率, Wang等[5]利用N-gram模型对文本进行建模, 并采用朴素贝叶斯和支持向量机相结合的方法实现对文本的分类.但有监督的机器学习方法需要大量人工标注的训练语料来提高模型的学习能力和泛化能力, 这在实际应用中受到阻碍.

近年来兴起的深度学习方法较好地弥补了上述方法的缺陷, 在图像和语音识别中取得了巨大的成功, 并逐步应用到自然语言处理中[6].Kim等[7]使用CNN对短文本进行建模, 完成句子级别的文本情感分类任务.ZHANG Xiang等[8]提出基于字符级别的CNN模型, 并用于文本情感分类.

但随着神经网络深度的增加, 在模型训练过程中也出现了很多问题, 如过拟合、梯度弥散等.如何优化深度神经网络的训练过程, 从而得到更高性能的网络模型, 已成为深度学习研究的重点之一.在RNNs基础上提出的LSTM模型利用其循环神经元的线性连接, 解决了时间上的梯度弥散问题.Graves等[9]基于LSTM的系统, 完成了2013年电话号码的识别任务.Yao等[10]进一步分析Bi-LSTM模型在中文分词中的作用.Chiu等[11]将Bi-LSTM和CNN相结合, 并证明该模型的良好表现.但是, LSTM模型在空间上仍存在梯度弥散的问题.为解决这个问题, Goodfellow等[12]将Maxout神经元引入到机器学习任务中.该神经元通过选取一组线性单元中的最大值来实现它的非线性化, 在语音识别、数据分类任务中均取得不错的效果.Cai[13]将Maxout神经元分别与CNN和LSTM模型相结合, 构建CMNN和RMNN模型, 并应用到语音识别领域.

同时, 集成学习具有较强的泛化能力和先天的并行性, 有利于提升分类的可靠性和效率.在集成学习传统的投票策略中, 认为每个基分类器都拥有相同的决定权, 实际上每个基分类器的分类性能有一定差异, 在为分类器赋权的过程中, 如果分类器的权重相差悬殊, 又会造成投票结果过分依赖分类性能好的分类器, 与集成学习多个分类器共同决策的思想相违背.因此在为基分类器赋权时, 应遵循分类性能好的分类器权重高、各分类器权重差距不能悬殊的原则.

针对上述需求, 首先将Maxout神经元引入到Bi-LSTM模型中, 构建Bi-LSTMM模型; 其次将集成学习中经典的Bagging算法进行改进, 结合提出的Bi-LSTMM模型, 构建Bi-LSTMM-B情感倾向性分析模型; 最后将该模型应用于豆瓣影评的情感倾向性分析中, 为商品推荐、用户决策提供良好的理论基础, 具有创新性和实用性.

2 Bi-LSTMM模型

提出Bi-LSTMM(Bi-directional Long Short Term Memory with Maxout neurons)模型是由传统的LSTM模型扩展而来.本文借鉴两个独立LSTM模型联合的思想, 引入Maxout神经元, 构建基于Bi-LSTMM模型的文本分类模型.

2.1 Bi-LSTM模型

LSTM是一种引入记忆单元的特殊RNN, 其记忆单元结构见图 1.LSTM模型可看作一种权值共享的深度神经网络, 利用门信号的线性循环连接来解决时间层面的梯度弥散问题, 进而学习长期的依赖关系.

图 1 LSTM记忆单元结构 Figure 1 Structure of LSTM memory blocks

除了ft外, 模型还有控制输入输出信息的输入门it和输出门ot.如果令xtyt分别是t时刻模型的输入输出信息, ctmt分别是神经单元的激活值和输出单元的激活值, 那么根据文献[14], LSTM记忆单元算法如下:

$ {i_{\rm{t}}} = \sigma \left( {{W_{{\rm{ix}}}}{x_{\rm{t}}} + {W_{{\rm{im}}}}{m_{{\rm{t}} - {\rm{1}}}} + {W_{{\rm{ic}}}}{C_{{\rm{t}} - {\rm{1}}}} + {b_{\rm{i}}}} \right), $
$ {f_{\rm{t}}} = \sigma \left( {{W_{{\rm{fx}}}}{x_{\rm{t}}} + {W_{{\rm{fm}}}}{m_{{\rm{t}} - {\rm{1}}}} + {W_{{\rm{fc}}}}{C_{{\rm{t}} - {\rm{1}}}} + {b_{\rm{f}}}} \right), $
$ {c_{\rm{t}}} = {f_{\rm{t}}} \odot {c_{{\rm{t}} - {\rm{1}}}} + {i_{\rm{t}}} \odot g\left( {{W_{{\rm{cx}}}}{x_{\rm{t}}} + {W_{{\rm{cm}}}}{m_{{\rm{t}} - {\rm{1}}}} + {b_{\rm{c}}}} \right), $
$ {o_{\rm{t}}} = \sigma \left( {{W_{{\rm{ox}}}}{x_{\rm{t}}} + {W_{{\rm{om}}}}{m_{{\rm{t}} - {\rm{1}}}} + {W_{{\rm{oc}}}}{C_{{\rm{t}} - {\rm{1}}}} + {b_{\rm{o}}}} \right), $
$ {m_{\rm{t}}} = {o_{\rm{t}}} \odot h\left( {{c_{\rm{t}}}} \right), $
$ {y_{\rm{t}}} = \emptyset \left( {{W_{{\rm{ym}}}}{m_{\rm{t}}} + {b_{\rm{y}}}} \right). $

式中:Wix, Wfx, WoxWcx为连接输入层的权重; Wim, Wfm, WomWcm为连接激活单元的权重; bi, bf, bcbo为偏置项; Wic, WfcWoc为连接神经单元和门的对角窥视孔; Wymby为输出层的权重和偏置; σ, gh为非线性函数, 一般σ取Sigmoid函数, gh取tanh函数; ⊙为向量对应元素的乘积; Φ为输出层的Softmax函数.

在此基础上, Yao等[10]引入2个独立的LSTM模型, 使输入信息分别正序和逆序地输入2个模型, 然后拼接提取到的特征, 构建所谓的双向神经网络—Bi-LSTM模型.在t时刻的输出向量yt

$ {y_{\rm{t}}} = y_t^{\rm{f}}\left\| {y_{{\rm{n}} - t}^{\rm{r}}} \right.. $

式中:ytfyn-tr分别为正序输入信息在t时刻的输出向量和逆序输入信息在n-t时刻的输出向量; n为输入信息的长度; ‖为将2个输出向量进行拼接, 提取最终的特征.

该模型的设计理念在于, t时刻获取的特征同时拥有过去与将来的相关性信息, 已验证其性能优于单个LSTM模型.

2.2 Maxout神经元

虽然传统的Sigmoid函数在深度神经网络中应用广泛, 但是在随机梯度下降训练中往往会出现梯度弥散的问题.

在梯度下降算法中, 假设拟合函数为

$ {h_\theta }\left( X \right) = {\theta _0} + {\theta _1}X. $

那么损失函数为

$ J\left( {{\theta _0},{\theta _1}} \right) = \sum\limits_i^n {\left( {{h_\theta }\left( {{x_i}} \right) - {y_i}} \right)} , $

式中:xi为样本特征X的第i个元素; yi为输出Y的第i个元素.训练过程中不断更新参数, 直到拟合

$ {\theta _i} = {\theta _i} - \alpha \frac{{\partial J\left( \theta \right)}}{{\partial {\theta _i}}}. $

式中α为学习率.

传统的批量梯度下降算法使用整个样本集迭代计算参数θ, 每迭代一次复杂度为O(mn), 式中m为样本个数, n为每个样本特征X中的元素个数.当样本m很大时, 为减少计算复杂度, 通常采用随机梯度下降算法.即每读取一条样本, 就对参数θ进行迭代更新, 这样迭代一次的复杂度仅为O(n), 大大减少了算法复杂度.因此本文同文献[7, 15]一样, 选取随机梯度下降算法对模型进行训练.

Sigmoid函数见图 2.

图 2 Sigmoid函数图像 Figure 2 Sigmoid function image

图 2可知, 若选用Sigmoid作为激活函数, 那么在随机梯度下降算法计算导数时, 随着网络深度的增加, 梯度的幅值会急剧减小, 导致最初几层的权重变化非常缓慢, 以至于它们不能得到有效的学习, 也就是所谓的梯度弥散问题.不过, Maxout神经元的出现恰好可解决这个问题, 而且还有利于增加模型的深度[16], 其结构见图 3.

图 3 Maxout神经元结构 Figure 3 Structure of the Maxout neurons

图 3可知, 每一个Maxout神经元都是由多个不同的激活神经元构成, 其输出是激活神经元中的最大值, 为

$ h_l^i = \mathop {\max }\limits_{j \in 1, \cdots ,k} z_l^{ij}. $

式中:hli为第l层第i个Maxout神经元的输出, 图中用蓝色表示; k为该Maxout神经元中激活神经元的个数; zlijl层中第i个Maxout神经元的第j个激活神经元的激活值, 图中用黄色表示.这个激活神经元通过权重矩阵和偏置向量直接与前一层神经单元相连, 为

$ {z_l} = \mathit{\boldsymbol{W}}_{l - 1}^{\rm{T}} + {b_l}. $

在随机梯度下降算法的训练过程中, Maxout神经元的梯度为

$ \frac{{\partial h_l^i}}{{\partial z_l^{ij}}} = \left\{ {\begin{array}{*{20}{c}} {1,}&{{\rm{if}}\;z_l^{ij} > z_l^{is},\forall s \in 1, \cdots ,k;}\\ {0,}&{{\rm{otherwise}}.} \end{array}} \right. $

上式表明, Maxout神经元的输出hli对拥有最大激活值的激活单元zlij的梯度为1, 其余为0.由此可见, Maxout神经元在随机梯度下降的训练过程中, 可通过产生连续的梯度来解决梯度弥散问题.因此, Maxout深度神经网络比传统的Sigmoid神经网络具有更好的训练效果.

2.3 基于Bi-LSTMM的文本分类模型

在此基础上提出基于Bi-LSTMM的文本分类模型, 其结构见图 4.

图 4 基于Bi-LSTMM的情感分类模型 Figure 4 Sentiment analysis model based on Bi-LSTMM

图 4可知, 该模型在是实现文本分类时可分为以下几个关键步骤:

1) 分词预处理.利用结巴分词工具的精确模式将切分成以词为单位的形式, 并把表情字符转为对应的含义.

2) 构建词向量矩阵.Word2vec是Google公司开源的一款将词表征为特征向量的工具, 先利用该工具将中文分词处理后的词转为对应的词向量, 然后构建文本的词向量矩阵.该矩阵的行数为每条文本的词数, 列数为每个词对应向量所指定的维数.

3) 正反序提取词特征向量.首先分别考虑每个词过去和未来的信息, 把对应的词向量分别以正序和反序输入到两个LSTM模型, 提取对应的正反特征.然后把每个模型得到的词正向特征向量序列y_f (0)- y_f (n)和反向特征向量序列y_r (n)- y_r (0)拼接起来, 得到相应的词特征向量.

4) 提取句子特征向量.采用平均池化的方式生成句子的特征向量y_m.

5) 情感分类.将句子特征向量y_m输入到全连接层用Maxout神经元代替的Softmax层进行分类, 实现文本积极、消极和中立的情感分类.

3 改进的Bagging算法

集成学习是通过构建并结合多个学习器来完成学习任务的, 分为以Bagging和随机森林为代表的并行算法和以Boosting为代表的串行算法.其中, Bagging算法有助于训练复杂模型, 防止出现过拟合问题, 其原理见图 5.该算法首先通过T次的随机采样得到T个采样集, 并分别训练出T个独立的弱学习器(又称基分类器), 再对这T个弱学习器通过投票策略来得到最终的强学习器.

图 5 Bagging算法原理 Figure 5 Illustration of Bagging algorithm

值得注意的是, 算法中的随机采样一般采用的是自助采样法, 即对于m个样本的原始训练集, 有放回地随机采集m次, 最终得到一个包含m个样本的采样集.这样, 每个基分类器的采样集不同于原始训练集和其他采样集, 保证了集成学习各基分类器的差异性, 有助于提升集成学习系统的泛化能力.对于每个基分类器由自助采样法获得的训练集, 理论上有37%的原始数据不会被选中, 这些被忽略的数据称为袋外数据(Out of Bag, OOB), 并可利用OOB数据对各基分类器的泛化能力进行预测.

在传统的Bagging算法中, 多采用多数投票法进行决策, 忽略了基分类器的性能差异, 使优劣分类器均具有相同的决策权.传统的改进方式是为基分类器赋权, 性能好的分类器权值高, 性能差的分类器权值低, 但往往对于每个基分类器仅赋一个权值.由于各分类器训练集数据的代表性差异, 对不同类别数据的分类能力是不同的, 因此本文利用OOB数据的F值为每个基分类器的不同类别分别赋权, 提出了一种基于OOB数据的改进投票策略.

首先, 利用OOB数据计算各基分类器在不同类别上的可靠度R, 计算如下:

$ {R_{it}} = \frac{2}{T} - \frac{{1/{\rm{OOB\_}}{F_{it}}}}{{\sum\nolimits_{n = 1}^T {1/{\rm{OOB\_}}{F_{in}}} }}. $

式中:i={-1, 0, 1}, 分别为情感类别消极、中立和积极; Rit为第t个弱分类器在类别i上的可靠度; OOB_Fit为第t个分类器的OOB数据对其在i类数据上的F值; T为基分类器个数.Rit具有以下两点特性:一是分类器在某类数据上预测性能越好, 该可靠度值越大; 二是满足$\sum\limits_{n = 1}^T {{R_{in}} = 1} $, 保证在i类数据预测上各基分类器可靠度差异不至于过于悬殊, 避免过于依赖性能好的分类器, 违背Bagging多分类器共同预测的初衷.本文将该可靠度作为基分类器各类别上的权重.

随后, 对于每个基分类器t都会对待测样本s产生一个情感分类it, it=-1, 0, 1, 将t个基分类器预测类别相同的对应权重分别累加, 将权重和最大的类别作为预测的最终类别.

例如, 现有5个基分类器, 利用OOB数据计算的其各类别权重见表 1, 表中“+”代表积极类; “-”代表消极类; “0”代表中立类.

表 1 权重样例 Table 1 Weight examples

现有一个预测样本s.经5个基分类器预测结果分别为:积极、消极、积极、中立、消极.如采用传统的多数投票法, 很难对其做出预测.若采用本文提出的基于OOB数据的改进投票法, 则积极类投票权重和为0.6+0.05=0.65;消极类投票权重和为0.3+0.25=0.55;中立类投票权重和为0.3.因为0.65>0.55>0.3, 所以在积极类上投票可靠度(权重和)最大, 可判断该样本s的情感分类为积极类.

4 Bi-LSTMM-B情感分析模型 4.1 模型描述

已分析Bi-LSTMM模型和改进Bagging算法的具体内容, 在此基础上提出了基于Bi-LSTMM和改进Bagging算法的Bi-LSTMM-B情感倾向性分析模型, 其流程见图 6.

图 6 Bi-LSTMM-B情感倾向性分析模型 Figure 6 Illustration of sentiment analysis model Bi-LSTMM-B

该模型的特点在于将集成学习的思想和深度学习的模型相结合, 在传统Bagging算法的框架下, 将引入Maxout神经元的Bi-LSTMM模型作为文本情感倾向性分析的分类器, 并用OOB数据对分类器赋权, 利用该权值提出新的投票策略, 从而对预测文本的情感进行预测.其具体实现流程如下:

1) 对已标注情感标签的原始数据进行预处理, 并将其分为训练集和预测集两部分.

2) Bagging过程.从训练集样本中随机有放回地抽取T份训练样本.这样T个弱分类器训练过程相互独立, 且保证了分类器之间存在一定的差异性.

3) 在第t份训练样本的基础上, 引入Bi-LSTMM文本分类模型, 训练出第t个Softmax分类器, 作为第t个弱分类器.

4) 收集第t份训练样本相对应的OOBt数据.

5) 利用步骤3)中的训练过程和步骤4)中的OOBt数据, 计算第t个弱分类器的在不同类别上可靠度Rit.

6) 重复步骤3)~5), 完成T个弱分类器及对应权重的训练.

7) 将T个弱分类器和相应权重分布数据组合起来, 利用改进的投票策略对预测集样本进行预测.

4.2 模型复杂度分析

神经网络通常采用矩阵运算, 因而这里采用矩阵运算计算复杂度作为基础, 按照运算顺序进行时间复杂度分析.Bi-LSTMM-B模型与其余模型(模型说明见表 3)时间复杂度为

$ \left\{ \begin{array}{l} {T_{{\rm{Bi - LSTMM - B}}}} = \sum\limits_0^n {\left( {{T_1} + {{T'}_2} + {T_3}} \right) + {T_4}} ;\\ {T_{{\rm{Bi - LSTMM - MV}}}} = \sum\limits_0^{10} {\left( {{T_1} + {{T'}_2} + {T_3}} \right) + {T_4}} ;\\ {T_{{\rm{LSTM}}}} = {T_{{\rm{Bi - LSTMM}}}} = {T_1} + {T_2} + {T_3};\\ {T_{{\rm{RMNN}}}} = {T_{{\rm{Bi - LSTMM}}}} = {T_1} + {{T'}_2} + {T_3};\\ {T_1} = O\left( {{d_{\rm{m}}} * d * N} \right);\\ {T_2} = O\left( {{d_{\rm{m}}} * d * M} \right);\\ {{T'}_2} = O\left( {{d_{\rm{m}}} * d * {M^2}} \right);\\ {T_3} = O\left( {H * C} \right);\\ {T_4} = O\left( n \right) + O\left( {{C^2}} \right). \end{array} \right. $ (1)
表 3 模型参数设置 Table 3 Model parameter setting

式中:T1为输入层Word2vec转化词向量操作; T2为利用没有引入Maxout层模型的训练操作; T2·为利用引入Maxout层模型的训练操作; T3为Softmax和情感分类操作; T4为投票操作; d为每个词的维度; dm为最大微博长度; N为训练语料词个数; M为全连接层输入节点数; H为循环神经元个数; C为情感标签数; n为分类器个数.

通过式(1)可发现, 提出的Bi-LSTMM-B模型中引入的Maxout神经元虽然在模型训练过程中增加了模型复杂度, 但远小于词向量转化过程的复杂度, 因此总体上没有增加整个模型的复杂度.同时, 在Bagging算法中, 提出的改进投票策略和相对多数投票法的时间复杂度一致, 并且集成学习多分类器共同决策的思想并没有增加模型复杂度.因此, 本文提出的Bi-LSTMM-B模型相比于现有的经典模型, 并没有增加模型的复杂度.尽管由于需要训练多个并行分类器, 在训练时间上会稍有增加, 但OOB数据的引入可代替传统模型的十折交叉验证, 因此在训练时间上并不会增加过于悬殊.

5 实验与分析 5.1 数据集和评价指标

实验数据来源于Kaggle公司提供的Douban Movie Short Comments Dataset V2(DMSCD V2).该实验数据集包括了来自豆瓣电影网中28部电影的200多万条短评数据, 每条数据由评论者ID、电影名称、评论时间、影评内容、电影评分等组成.从中随机选取50 000条数据进行人工情感标注, 并对情感一致性进行检测.为保证分类准确性, 这里舍弃情感不一致的数据, 最终得到23 691条积极评论数据, 5 592条消极评论数据, 6 455条中立评论数据.最后选取积极、消极、中立评论各5 000条作为实验数据集.

实验针对三类情感(积极、中立和消极)中的每一类i都建立了一个混肴矩阵.每个混淆矩阵都包括TP, FN, FPTN.以积极类为例, TP代表实际是积极, 预测也为积极; FN代表实际是积极, 预测不是积极(可能是中立或消极); FP代表实际不是积极, 预测是积极; TN代表实际不是积极, 而预测也不是积极.那么i为积极类的评价指标如下:

$ 召回率:{r_{{\rm{Recall}}i}} = \frac{{TP}}{{TP + FN}}. $
$ 准确率:{p_{{\rm{Percision}}\;i}} = \frac{{TP}}{{TP + FP}}. $
$ F\;值:{F_i} = 2 * \frac{{{r_{{\rm{Recall}}\;i}} * {P_{{\rm{percision}}\;i}}}}{{{r_{{\rm{Recall}}\;i}} + {P_{{\rm{percision}}\;i}}}}. $

用各类召回率和准确率的均值作为模型分类性能的评价指标, 并用OOB数据的F值计算基分类器的权重.

5.2 实验设计

该实验数据共设计了两组对比实验, 一是与传统深度学习模型的对比, 二是与普通投票法的对比.在与传统深度学习模型对比的实验中, 为验证本文将Maxout神经元引入Bi-LSTM模型思想的优越性, 选取经典的LSTM模型、Bi-LSTM模型和文献[13]中的RMNN模型作为对比模型.在普通投票法对比的实验中, 为了验证本文提出的投票策略具有更高的准确性, 按少数服从多数的原则, 选取相对多数投票法作为对比方法.

基于此, 本文对6个模型进行实验, 模型设置见表 2.

表 2 模型类别设置 Table 2 Model type setting

在实验中, 模型选用反向传播算法进行训练, 采用随机梯度下降算法计算梯度.实验代码语言为Python, 处理器为英特尔酷睿i5, 主频2.7 G, 操作系统为64 bit Windows 7.其实验参数设置见表 3.其中模型1~4采用十折交叉验证, 模型5、6从数据集中随机选取2 000条数据作为测试集, 其余13 000条数据作为训练集.

5.3 实验结果与分析

图 7展示了所有模型在训练过程中测试集的分类准确率, 图中纵坐标为分类的准确率, 横坐标为训练次数.

图 7 所有模型训练过程测试集分类准确率 Figure 7 The accuracy for all models on the training set

图 7可知, 随着训练次数的增加, 各模型的分类准确率逐渐提升, 最终稳定在一个波动很小的区间.最基本的LSTM模型在训练20次以后, 其准确率停留在75%左右, 均低于其他模型.在LSTM基础上引入Maxout神经元的RMNN模型准确率停留在80%左右, 相比LSTM模型提高了约5%.这充分说明了Maxout神经元在LSTM模型训练过程中起到了优化的作用, 并有助于提升模型性能, 提高分类准确率.而Bi-LSTM模型是在LSTM模型基础上扩展而来, 采用两个独立的LSTM正逆序拼接提取到的特征.实验结果表明, 该模型的准确率比单一LSTM模型提高约4%, 大约为79%左右.在此基础上, 提出的Bi-LSTMM模型不仅拥有Bi-LSTM模型提取的特征同时具有过去与将来相关性信息的优势, 而且还引入Maxout神经元, 解决了训练过程中梯度弥散的问题, 优化了训练过程.实验表明, Bi-LSTMM模型在准确率上明显高于其他模型, 比最基本的LSTM模型提高了约7%, 稳定在82%左右.由此可见, 该对比试验充分验证了本文提出的Bi-LSTMM模型的可行性和优越性.

同时, 单一的Bi-LSTMM模型的准确率比集成学习下的Bi-LSTMM-B模型低约5%, 充分证明了集成学习多个分类器共同决策的思想可提高模型的分类性能.同时, 基于OOB数据的投票策略要优于传统的相对多数投票法3%, 说明了本文提出的改进Bagging算法可有效提高模型性能.

6个模型训练所获得的最佳参数模型分类准确率、召回率、F值见表 4.

表 4 最佳参数模型分类结果 Table 4 Accuracy for models in optimal parameter

表 4可知, 提出的Bi-LSTMM-B模型相比于Bi-LSTMM-MV模型准确率相对提高4.06%, 说明基于OOB数据的改进投票策略优于传统的投票策略.同时, Bi-LSTMM模型相比于LSTM模型准确率相对提高8.28%, 说明引入Maxout神经元的Bi-LSTM模型优于传统的LSTM模型.总体上, Bi-LSTMM-B模型相比于传统的LSTM模型准确率提高12.08%, 在召回率和F值指标上也均优于其他模型, 充分证明深度学习和集成学习相结合有助于提升情感分析的准确率.

6 结论

为更加准确地分析社交媒体评论情感倾向性, 本文基于双向循环神经网络和Maxout神经元提出了Bi-LSTMM模型, 解决了随机梯度下降算法存在的梯度弥散问题, 并证明该模型在DMSCD V2数据集上优于传统的LSTM等模型; 其次, 本文引入集成学习的思想, 并利用OOB数据对投票策略进行了改进, 增加了模型的泛化能力, 并证明改进的投票策略优于传统的相对多数投票法.本文提出的Bi-LSTMM-B模型相比于传统的LSTM模型准确提高大约12%, 其原因可归为以下4点:1)借鉴双向循环神经网路, 同时考虑过去与未来的信息, 弥补单一LSTM模型的不足, 提取特征更准确; 2)引入Maxout神经元, 替代传统的Sigmoid函数, 提出Bi-LSTMM情感分类模型, 有效解决梯度下降算法存在的梯度弥散问题, 优化训练过程; 3)借鉴集成学习多分类器共同决策的思想, 提高模型泛化能力; 4)提出改进的投票策略, 利用OOB数据依据分类器在不同类别上的性能分配权重, 提高情感预测的准确率.因此, 本文提出的情感倾向性分析模型不仅在情感分析准确率上有一定提升, 有助于社交媒体评论的情感分析, 更证明了深度学习和集成学习相结合的思想在未来自然语言处理领域的可行性和研究价值.

参考文献
[1]
NASUKAWA T, YI J.Sentiment analysis: capturing favorability using natural language processing[C]//Proceedings of the 2nd International Conference on Knowledge Capture.New York, NY, USA: ACM, 2003: 70
[2]
KIM S M, HOVY E.Extractingopinions, opinion holders, and topics expressed in online news media text[C]//Proceedings of the Workshop on Sentiment and Subjectivity in Text.Stroudsburg.PA, USA: Association for Computational Linguistics, 2006: 1
[3]
PANG B, LEE L, VAITHYANATHAN S.Thumbs up: sentiment classification using machine learning techniques[C]//Proceedings of the ACL-02 Conference on Empirical Methods in Natural Language Processing.Stroudsburg, PA, USA: Association for Computational Linguistics, 2002: 79
[4]
WAN C H, LEE L H, RAJKUMAR R, et al. A hybrid text classification approach with low dependency on parameter by integrating k-nearest neighbor and support vector machine[J]. Expert Systems with Applications, 2012, 39(15): 11880. DOI:10.1016/j.eswa.2012.02.068
[5]
WANG S, MANNING C D.Baselines and bigrams: simple, good sentiment and topic classification[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Short Papers-Volume 2.Stroudsburg, PA, USA: Association for Computational Linguistics, 2012: 90
[6]
曹宇慧.基于深度学习的文本情感分析研究[D].深圳: 哈尔滨工业大学(深圳)科学与技术学院, 2016: 2
CAO Yuhui.The research on text sentence analysis based on deep learning[D].Shenzhen: Harbin Institute of Technology(Shenzhen).College of Computer Science and Technology, 2016: 2.
[7]
KIM Y.Convolutional neural networks for sentence classification[J].ArXiv Preprint ArXiv: 1408.5882, 2014.DOI: 10.3115/v1/D14-1181.
[8]
ZHANG Xiang, ZHAO Junbo, LECUN Y.Character-level convolutional networks for text classification[C]//Advances in Neural Information Processing Systems.Cambridge, MA, USA: MIT Press, 2015: 649
[9]
GRAVES A, MOHAMED A, HINTON G.Speech recognition with deep recurrent neural networks[C]//Acoustics, Speech and Signal Processing, 2013 IEEE International Conference on.New York, NY, USA: IEEE, 2013: 6645
[10]
YAO Yushi, HUANG Zheng. Bi-directional LSTM recurrent neural network for Chinese word segmentation[M]. Neural Information Processing.Berlin, Germany: Springer International Publishing, 2016: 345.
[11]
CHIU J P C, NICHOLS E.Named entity recognition with bidirectional LSTM-CNNs[J].ArXiv Preprint ArXiv: 1511.08308, 2015.
[12]
GOODFELLOW I J, WARDE-FARLEY D, MIRZA M, et al. Maxout networks[J]. Computer Science, 2013, 28(3): 1319.
[13]
CAI Meng, LIU Jia. Maxout neurons for deep convolutional and LSTM neural networks in speech recognition[M]. Speech Communication.B.V.Amsterdam, The Netherlands: Elsevier Science Publishers, 2016: 53.
[14]
GRAVES A, MOHAMED A, HINTON G.Speech recognition with deep recurrent neural networks[C]//Acoustics, Speech and Signal Processing, 2013 IEEE International Conference on.New York, NY, USA: IEEE, 2013: 6645
[15]
何炎祥, 孙松涛, 牛菲菲, 等. 用于微博情感分析的一种情感语义增强的深度学习模型[J]. 计算机学报, 2017, 40(4): 773.
HE Yanxiang, SUN Songtao, NIU Feifei, et al. A deep learning model enhanced with emotion semantics for microblog sentiment analysis[J]. Hinese Journal of Computer, 2017, 40(4): 773. DOI:10.11897/SP.J.1016.2017.00773
[16]
YU Dong, SEIDE F, LI Gang.Conversational speech transcription using context-dependent deep neural networks[C]//Proceedings of the 29th International Coference on International Conference on Machine Learning.USA: Omnipress, 2012: 1.