计算机系统应用  2019, Vol. 28 Issue (1): 163-168   PDF    
基于GDBN网络的文本情感倾向分类算法
陈颖熙1, 廖晓东1,2,3, 苏例月1, 陶状1     
1. 福建师范大学 光电与信息工程学院, 福州 350007;
2. 福建师范大学 医学光电科学与技术教育部重点实验室 福建省光子技术重点实验室, 福州 350007;
3. 福建师范大学 福建省先进光电传感与智能信息应用工程技术研究中心, 福州 350007
摘要:情感倾向性分类是自然语言处理领域中的热门话题, 它的一个重要应用是挖掘线上评论中的重要信息, 掌握网络舆论走向, 因此本文提出一种基于GDBN网络的文本情感倾向性分类算法. 该算法通过引入遗传算法来改进深度置信网络模型中的隐层, 使模型自行对隐单元个数寻优, 取得当前模型的适宜值, 并以此模型进行深层建模与特征提取. 最后通过反向传播网络对提取到的特征进行情感倾向性分类. 在多个文本数据集上进行实验验证, 验证结果表明了本文算法的有效性.
关键词: 情感倾向性分类    寻优搜索    遗传算法    深度置信网络    
Text Sentiment Classification Based on GDBN Neural Network
CHEN Ying-Xi1, LIAO Xiao-Dong1,2,3, SU Li-Yue1, TAO Zhuang1     
1. College of Photonic and Electronic Engineering, Fujian Normal University, Fuzhou 350007, China;
2. Key Laboratory of Optoelectronic Science and Technology for Medicine (Ministry of Education) Cum. Fujian Provincial Key Laboratory of Photonics Technology, Fujian Normal University, Fuzhou 350007, China;
3. Fujian Provincial Engineering Research Center for Optoelectronic Sensors and Intelligent Information, Fuzhou 350007, China
Foundation item: Regional Key Science and Technology Program of Fujian Provincial Science and Technology Bureau (2015H4007); Special Fund of Central Government for Local Science and Technology Development (2017L3009)
Abstract: Text sentiment classification is a hot topic in the field of natural language processing. One of its important applications is to dig out important information from online comments and grasp the trend of public opinion on the Internet. Therefore, this study proposes a method of text sentiment classification based on GDBN neural network. The algorithm improves the hidden layer in the DBN neural network by introducing genetic algorithm, which is of powerful global searching ability, and the algorithm optimizes the number of hidden units and obtains the appropriate value of the current model, then the modeling and feature extraction of this model. Finally, we can classify the extracted features of the BP neural network. By testing multiple data, the results show that the proposed algorithm is effective.
Key words: text sentiment classification     optimization search     genetic algorithm     deep belief networks    

1 引言

近年来, 随着互联网信息技术的高速发展, 各种社交平台和电子商务平台的兴起使得门户网站上的评论信息呈指数增长, 用户通过移动网络可以方便、自由的对人或事进行评价与分析, 表达自己的看法、观点以及情感倾向[1]. 面对线上各大平台的大量无规律的评论词语和文本内容, 有必要利用自然语言处理技术建立一种智能高效的文本情感分类模型对文本所表达的情感倾向(正向、负向、中立)进行分析判断, 从海量无规律的文本数据中提取重要的信息.

目前, 互联网上的信息大多以短文本的形式存在, 例如淘宝商品评论、搜索引擎的搜索结果、微博、豆瓣、文档文献摘要等. 其中在微博评论中就有明确规定字数必须限制在140字以内. 由于短文本具有特征稀疏性、实时性、动态性、交错性、不规则性等特点[2], 传统的文本情感分类方法对其分类的准确率较低, 无法达到理想的结果.

短文本在搜索引擎、论坛信息交流等方面具有重要作用, 因此对短文本情感分类的研究具有一定的实用价值并且得到了广泛的关注. 近些年国内外学者们提出了许多在文本情感倾向性分类的有效的方法, 大致可分为三大类, 即基于规则的方法、基于机器学习的方法和深度学习方法.

基于规则的方法最早是由麻省理工媒体实验室的Picard教授提出[3], 它通过将文本中表达情感倾向的词语与已建立的情感词典对比然后进行评估打分, 进而通过计算分数实现文本情感倾向性分类. 由于该方法过分依赖于人工构建的词典, 所以存在一系列缺点, 如词典覆盖面窄、易丢失部分有挖掘价值的文本数据、易受到一词多义的影响等,并且该方法难以捕捉到深层次特征.

基于深度学习的文本情感分类方法是近几年的研究热点, 它广泛应用于计算机视觉领域和音频领域, 近几年才被引用到自然语言处理领域中, 其中深度置信网络(Deep Belief Networks, DBN)[4]是最经典的深度学习神经网络之一, 它弥补了机器学习方法的局限性, 可以通过网络模型自动地学习提取文本的深层次特征, 但是存在隐层单元个数的选择问题. 深度置信网络的隐层单元个数通常依据经验进行认为选择, 且一旦选定则无法修改. 当隐层单元数超过所需个数时, 多余的隐层单元会增加网络的复杂度, 使得计算量变大从而导致训练时间呈指数增长; 当隐层单元数低于所需个数时, 由于网络无法满足训练所需规模, 从而导致达不到理性的训练结果. 因此, 本文提出了GDBN网络(Genetic Deep Belief Networks), 通过利用遗传算法(Genetic Algorithm, GA)[5]的全局快速寻优的能力对DBN的隐层单元个数自动进行设定. 实验结果表明, 本文所提出的GDBN网络在文本情感倾向性分类中能取得较好的分类效果.

2 相关工作 2.1 深度置信网络

深度置信网络(Deep Belief Networks, DBN)最初是由Hinton等学者于2006年提出的一种由多层RBMs堆叠和一层反向传播(Back Propagation)网络组成的深度学习神经网络[4]. DBN的主要任务是实现对数据从底层到高层的特征提取, 帮助系统将数据分类成不同的类别. 其网络结构如图1所示[6].

图 1 DBN网络结构图

DBN的训练步骤分为两步: 第一步为预训练, 对网络中RBMs采用逐层无监督的方法来学习各层参数, 使得每层RBM达到最佳特征表示; 第二步为微调, 将BP网络输出数据和标准标注信息进行对比, 对从下往上的认知权重w和从上往下的生成权重进行反向微调, 以得到更好的生成模型.

近些年来学者们在DBN模型上提出了一系列的改进, 使得改进后的模型能够更高效的应用于文本检测. 例如, Mleczko等[7]在DBN模型的基础上引入粗糙集理论(RDBN), RDBN模型主要用于识别与分类具有缺失文字的文本信息. Jiang等[8]提出将采用不同参数优化算法的Softmax分类器与DBN模型结合, 利用分类器对DBN所提取到的文本数据特征进行分类, 该模型能有效地提高分类精度.

2.2 RBM预训练过程

受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)[9]是以玻尔兹曼机为基础的改进算法, 它是一种具有快速学习和简单网络结构的无监督训练特征提取器. 其结构模型如图2所示.

图 2 RBM结构模型图

图2中偏置 ${b_i}$ ${c_j}$ 和连接权重 ${w_{i \times j}}$ 构成模型内部参数向量, 表示为 $\theta = (w,b,c)$ . RBM是基于能量概率模型[10], 对于每一个 $(v,h)$ 可得到联合概率分布:

${P_\theta }(v,h) = \frac{1}{{{Z_\theta }}}{e^{ - {E_\theta }(v,h)}}$ (1)

其中, ${Z_\theta }$ 为归一化因子, ${Z_\theta } = \displaystyle\sum\limits_{v,h} {{e^{ - {E_\theta }(v,h)}}} $ , 其能量函数定义为:

$\begin{split} {E_\theta }(v,h) &= - {b^{\rm T}}v - {c^{\rm T}}h - hw \\ &= - \sum\limits_{i = 1}^I {{b_i}{v_i} - } \sum\limits_{j = 1}^J {{c_j}{h_j} - } \sum\limits_{i = 1}^I {\sum\limits_{j = 1}^J {{v_i}{h_j}{w_{ij}}} } \end{split} $ (2)

式中, ${v_i}$ 为可见层单元, ${h_j}$ 为隐层单元, 具有{0,1}两种状态, 即“激活”和“未激活”状态, 且状态的取值只根据概率统计来计算. RBM的训练步骤分为两步[11]:

(1)初始化. 随机初始化 $\theta $ , ${w_{i \times j}}$ 初始化为来自正态分布的随机数, ${c_j}$ 初始化为0, ${b_i}$ 按式进行初始化;

${b_i} = \log \frac{{{P_i}}}{{1 - {P_i}}}$ (3)

式中, ${P_i}$ 表示训练样本中第i个特征处于{1}状态所占的比例.

(2) Gibbs采样. 通过Gibbs采样得到 ${v_i}$ ${h_j}$ , 并且重构 ${v_i}$ , 更新得到最佳权值.

训练时, 采用逐层无监督的方法来学习参数. 进而完成DBN的预训练过程.

2.3 BP网络微调过程

RBM训练中无监督学习方法只能使得该层单元状态达到局部最优, 然而并不能使模型整体效果最优, 因此, 采用BP网络[12]对整个网络的参数进行微调. 在RBM完成预训练后, 将RBM训练好的数据正向传播, 做为BP网络的输入, 当输出数据和标准标注信息有误差时, 利用BP网络的误差反向传播的特性, 对从下往上的认知权重w和从上往下的生成权重以及偏置进行微调, 让整个网络的单元状态达到全局最优, 以得到更好的生成模型.

3 GDBN情感分类算法

本文提出的基于GDBN网络的文本情感倾向性分类算法的主要工作有: 首先通过网络爬虫程序从微博平台上采集实验所需文本数据, 之后对文本数据进行预处理, 然后通过遗传算法来改进深度置信网络模型, 并以此模型进行深层建模与特征提取, 最后通过反向传播网络对提取到的特征进行情感倾向性分类.

3.1 GDBN理论基础

遗传深度置信网络(GDBN)是结合遗传算法(Genetic Algorithm, GA)[5]和深度置信网络(Deep Belief Networks, DBN)[4]的学习方法, 它利用遗传算法的全局寻优搜索能力对DBN的隐层单元个数进行自动寻优, 结合DBN强大的数据特征提取和处理高复杂度的非线性数据的能力, 使网络模型效果更接近于其上限. GA具有较强全局寻优搜索能力, 然而它最大的缺点就是易出现“早熟”现象, 即容易陷入局部极值, 导致神经网络参数质量不高, 所以在设计GDBN算法的遗传操作中, 增大交叉率和变异率. GDBN算法设计如下:

(1)编码

在确定可见单元 ${v_i}$ 后, 由于隐层各单元之间相互独立, 所以模型性能只与隐层单元个数相关, 因此采用实数编码方式对其个数进行编码.

(2)适应度函数

GDBN网络模型中可见层和隐层之间表现为层内无连接, 层间全连接, 隐单元的状态只与可见单元 ${v_i}$ 有关, 所以在函数设计时不但要考虑样本的似然程度还要考虑 ${v_i}$ 维度对模型训练的影响.

本文采用重构误差[13]的方法来评价样本的似然程度, 所谓重构误差就是通过Gibbs采样重构的单元与训练样本原始数据的平方差, 其具体流程如下:

① 误差初始化, 即令 $Error = 0$ ;

② 对所有 ${v^{(t)}}$ 进行采样, $h\~P( \cdot |{v^{(t)}})$ 为隐层采样; $v\~P( \cdot |h)$ 为可见层采样, 其采样公式如下:

$P({h_j} = 1|v) = \sigma ({c_j} + \sum\limits_i {{v_i}w{}_{ij}} )$ (4)
$P({v_i} = 1|h) = \sigma (b{}_i + \sum\limits_j {{h_j}{w_{ij}}} )$ (5)

③ 累计当前误差, 即 $Error = Error + ||v - {v^{(t)}}||$ , 并将其返回总误差. 综上, 定义GDBN模型中的适应度函数如下:

$Fit(k) = 1 - \frac{{Error}}{{I + S}}$ (6)

式中, I为可见单元个数, S为样本维度, 根据适应度的大小对个体进行选择, 当适应度值越大时, 则个体越好, 即该个体对应的GDBN模型似然度最高.

(3)遗传操作

在遗传算法(GA)改进网络模型后, 进一步优化精调真个模型, 其算法流程如图3所示.

图 3 算法流程

3.2 框架实现

(1)文本预处理: 将通过爬虫得到的数据内容进行处理, 将其中涉及到个人隐私、url链接或敏感信息的内容删除.

(2)分词、去停用词: 由于中文评论无法像英文评论一样直接通过空格来分隔单词, 所以本文采用Jieba工具, 进行中文分词, 并去掉停用词, 如“的”、“和”等一些出现频率高但无情感意义的词, 为特征提取提供较为准确的基元.

(3)特征提取: 通过GDBN网络模型进行深层建模与特征提取.

(4)情感分类: BP网络对提取到的特征进行情感倾向性分类.

4 实验验证及结果分析 4.1 实验环境与数据

本文具体实验环境如表1所示.

为了验证本文所提出的分类算法的有效性, 本文基于三个中文文本数据集进行实验验证. (1)使用中科院谭松波教授的酒店评论语料(D1), 该语料采集于携程网, 规模为10 000篇, 被整理成4个子集, 1、ChnSentiCorp-Htl-ba-2000: 平衡语料, 正负类各2k; 2、ChnSentiCorp-Htl-ba-4000:平衡语料, 正负类各4k; 3、ChnSentiCorp-Htl-ba-6000: 平衡语料, 正负类各3k; 4、ChnSentiCorp-Htl-ba-10000: 非平衡语料, 其中正类为7k. (2)使用COAE2014微博观点数据集, 在该数据集中随机抽取30 000条作为实验数据集, 对其中部分训练数据进行不同情感倾向的人工标注, 主要情感有开心、愤怒、厌恶、低落四个类别. (3)通过网络爬虫程序从微博平台上采集的50 000条微博数据(D3), 其中标注的积极微博有25 000条, 消极微博有20 000条, 中性微博有5000条. 考虑到其中部分能容可能含有用户隐私, 删除了数据集中的url链接等信息.

表 1 实验环境

4.2 实验设计

实验方案总体过程如图4所示.

图 4 实验方案

首先对训练数据进行预处理, 生成文本特征向量, 然后将训练后的GDBN情感分类模型用于测试数据分类并检验分类效果.

4.3 性能评估

本文采用准确率P $({\rm {precision}})$ 、召回率R $({\rm {recall}})$ F1 $({F_1} - Score)$ 作为评价指标, 通过ROC曲线图来评估文本情感倾向性分类模型的性能.

${\rm {precision}}$ 主要体现模型对负样本的区分能力, 通常用P表示, 设TP为分类正确的文本数, N为样本总数, 其计算公式如下:

$P = \frac{{TP}}{{{N_{}}}}$ (7)

${\rm {recall}}$ 主要体现模型对正样本的识别能力, 通常用R表示, 设N+为某一类的样本总数, 其计算公式如下:

$R = \frac{{TP}}{{{N_ + }}}$ (8)

F1值为两者的综合, 当F1值越高时证明模型越好. 其计算方法如下:

${F_1} = \frac{{2*P*R}}{{P + R}}$ (9)
4.4 实验结果与分析

为了验证本文提出的基于GDBN网络的文本情感倾向性分类算法的有效性, 将SVM、DBN与本文算法进行对比, 其对比实验结果如表2所示. 且作出GDBN算法用于三个中文文本数据集(D1、D2、D3)的迭代曲线图如图5所示, 其结果表明, GDBN算法较于DBN和SVM算法更能有效的对文本情感倾向进行分类.

表 2 实验结果对比(单位: %)

图 5 GDBN迭代曲线图

本文对三种分类算法做ROC曲线进行模型评估, 如图6所示. ROC曲线下面积越大代表模型性能越好, 由图6可知基于GDBN算法的文本情感分类模型具有更高的分类性能.

图 6 ROC曲线图

5 结语

为了更好的解决中文文本情感分类问题, 本文基于深度学习算法构建了一个GDBN网络模型, 针对DBN网络人工进行隐层单元个数选择从而导致模型性能存在极大不确定性的问题, 引入具有强大全局寻优搜索能力的遗传算法, 根据实验输入数据自行对隐单元个数寻优, 取得当前模型的适宜值. 经实验验证可得, 本文所提方法在分类准确性和降低模型复杂性上均有提升, 能取得良好的效果, 但仍存在不足. 在今后的工作中, 将继续改进本文算法, 比如在对提取到的特征进行分类时候, 针对BP网络存在的网络“震荡”等问题, 采用XGBoost算法来进行分类, 进一步提高模型情感分类的精度.

参考文献
[1]
Somasundaran S, Wilson T, Wiebe J, et al. QA with attitude: Exploiting opinion type analysis for improving question answering in on-line discussions and the news. Proceedings of the International Conference on Weblogs and Social Media. Boulder, CO, USA. 2007.
[2]
胡雯雯, 高俊波, 施志伟, 等. 基于词性特征的特征权重计算方法. 计算机系统应用, 2018, 27(1): 92-97. DOI:10.15888/j.cnki.csa.006127
[3]
Picard RW. Affective Computing. Cambridge: MIT Press, 1997.
[4]
Sarikaya R, Hinton GE, Deoras A. Application of Deep Belief Networks for natural language understanding. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2014, 22(4): 778-784. DOI:10.1109/TASLP.2014.2303296
[5]
Uysal AK, Gunal S. Text classification using genetic algorithm oriented latent semantic features. Expert Systems with Applications, 2014, 41(13): 5938-5947. DOI:10.1016/j.eswa.2014.03.041
[6]
张翔, 石力, 尚勃, 等. 深度置信网络的Spark并行化在微博情感分类中的应用研究. 计算机应用与软件, 2018, 35(2): 48-53. DOI:10.3969/j.issn.1000-386x.2018.02.008
[7]
Mleczko WK, Kapuściński T, Nowicki RK. Rough deep belief network—application to incomplete handwritten digits pattern classification. In: Dregvaite G, Damasevicius R, eds. Information and Software Technologies. Cham: Springer, 2015. 400–411.
[8]
Jiang MY, Liang YC, Feng XY, et al. Text classification based on deep belief network and Softmax regression. Neural Computing and Applications, 2018, 29(1): 61-70. DOI:10.1007/s00521-016-2401-x
[9]
Chen CLP, Zhang CY, Chen L, et al. Fuzzy restricted Boltzmann machine for the enhancement of deep learning. IEEE Transactions on Fuzzy Systems, 2015, 23(6): 2163-2173. DOI:10.1109/TFUZZ.2015.2406889
[10]
Hinton GE, Osindero S, Teh YW. A fast learning algorithm for deep belief nets. Neural Computation, 2006, 18(7): 1527-1554. DOI:10.1162/neco.2006.18.7.1527
[11]
Alexandre E, Cuadra L, Nieto-Borge JC, et al. A hybrid genetic algorithm—extreme learning machine approach for accurate significant wave height reconstruction. Ocean Modelling, 2015, 92: 115-123. DOI:10.1016/j.ocemod.2015.06.010
[12]
Li J, Cheng JH, Shi JY, et al. Brief introduction of back propagation (BP) neural network algorithm and its improvement. In: Jin D, Lin S, eds. Advances in Computer Science and Information Engineering, Volume 2. Berlin Heidelberg. Springer. 2012. 553–558.
[13]
Lyu C, Lu YN, Ji DH, et al. Deep learning for textual entailment recognition. Proceedings of the 27th IEEE International Conference on TOOLS with Artificial Intelligence. Vietri sul Mare, Italy. 2016. 154–161.