李卫疆, 唐 铭,余正涛
(1. 昆明理工大学 信息工程与自动化学院,云南 昆明 650500;2. 昆明理工大学 云南省人工智能重点实验室,云南 昆明 650500)
情感分析是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程[1]。随着深度学习近年来的研究与发展,使用基于深度学习的方法进行情感分析已经成为了研究的主流。相较于传统的机器学习方法,基于深度学习的方法在情感分析上表现得更加优秀。深度学习能够自动获取从数据本身到高层抽象的语义映射,在最终的结果上表现更好。此外,相较于传统机器学习方法而言,深度学习方法不需要对数据集样本进行过多的处理。目前,在情感分析分支上最常见的深度学习方法主要包括: 卷积神经网络(CNN)、长短时记忆网络(LSTM),以及长短时记忆网络的变形(Bi-LSTM,GRU)等。
虽然使用神经网络进行情感分类的任务取得了显著成效,但依然存在以下不足: 在基于深度学习的情感分类任务中,通常都假定了数据集中不同类别间的样本是平衡的(data-balanced)[2-3]。这样的假设存在一个问题: 对于竞赛类的数据集,样本经过预处理,类别间较为平衡,训练出的模型效果好。但是在真实数据集中,多数类样本与少数类样本之间差异较大,同样的模型在真实数据集中对少数类样本的分类效果不理想。少数类样本会被误分到多数类样本中,造成误判。
殷昊等[2]提出了一种对数据进行重采样的多通道LSTM模型,对不平衡样本进行随机欠采样,使样本数达到平衡后再进行训练。该方法使神经网络不依赖于多数类样本,取得了较好的实验结果。但该模型的通道数不确定,需要人工进行调试。陈志等[3]提出了一种对类别标签重赋权的CNN模型(weight_CNN),通过引入一个与该标签下所有样本总数成反比的参数对CNN的误差函数进行了改进。该方法降低了多数类样本的权重,使得少数类样本更加容易被检测到,牺牲了多数类样本的分类精度。
针对以上问题,本文提出了使用多通道双向GRU神经网络和再平衡损失的情感分类方法,本模型由两部分组成: 多通道的采样方式融合与损失的再平衡(re-balance)。首先,本文对训练集中的样本分别进行保留原始样本,随机欠采样(random under-sampling)处理和随机过采样(random over-sampling)处理,将处理后的样本作为三个BiGRU通道的输入,使模型充分利用不同采样方式的优点且不需要人工规定通道数。然后再根据每一个通道的各类别样本数进行损失函数的再赋权处理。与传统再平衡方法不同的是,本文基于有限覆盖原理评估样本对整体分类效果的贡献,使每一个参与训练的样本都能对损失的计算提供同等的贡献。避免分类对样本不均情况的依赖,可以使模型训练更加均衡。
本文的主要工作如下:
(1) 提出了随机过采样和随机欠采样相结合的多通道神经网络,通过平衡类别间的样本数来解决神经网络对多数类样本有明显依赖性的问题。
(2) 在分类器中引入了一种损失再平衡方法。将每一部分样本对分类的贡献进行了平衡,缓解了经过重采样后模型训练的过拟合问题,解决了新加入样本在学习过程中的贡献递减问题。
(3) 提出的模型在不同的数据集上进行了验证,G-mean指标与整体分类准确率得到了较大的提升,证明所提出模型在各大数据集上的有效性和准确性。
本部分将介绍当前对于情感分类特别是对基于方面(aspect)的情感分类研究与目前对于样本不平衡的相关研究。
目前情感分类使用的方法以深度学习为主,其中使用的深度学习框架包括卷积神经网络(CNN)、循环神经网络(RNN)、长短时记忆网络(LSTM)、门控循环单元(GRU)等。Kim[4]首次将 CNN 应用到文本分类任务中。Mikolov等[5]提出了循环神经网络(RNN),相较于CNN,RNN具有上下文语义捕捉能力,能够将记忆内容应用到当前情景下,并且支持变长样本的输入。Zhu等[6]提出使用长短时记忆(long short term memory,LSTM),这是RNN的变种,考虑了词序列之间顺序依赖关系,能够很好地解决长时、长距离依赖问题。以上框架已成为情感分类任务中的主流基础框架模型。近年来的研究主要集中于对神经网络中的输入向量和输入通道数的改进。学者们发现在文本中加入方面(aspect)信息能够有效提升模型预测的准确率。Wang等[7]在传统的LSTM模型中引入了方面词嵌入和自注意力机制,提出了ATAE_LSTM,该方法能将一个句子中的不同方面的情感进行划分。Tang等[8]将文本处理分为目标词左侧文本和目标词右侧文本,在左侧文本上使用正向LSTM,右侧文本上使用反向LSTM,分别学习句子的情感信息,解决了文本与目标词之间语义关系的建立问题。Ma等[9]提出了在神经网络外部引入共识知识的策略来进行方面词的识别。Wang等[10]认为解决方面级(aspect-level)情感分类的关键在于如何将方面词的检测与情感分类更加有效地结合起来,据此他们提出AS-Capsule模型,该方法将文本与方面词进行胶囊嵌入层、编码层和注意力层的共享,有效地将方面词检测与情感分类结合起来,提高了分类准确率。Shams等[11]将目光聚集于“方面词/情感词”对,提出了一种无监督的方面级情感分类模型。该方法首先识别文本,确定其所属领域,然后使用最大期望算法得出文本中的情感词所属方面的概率,最后计算“方面词/情感词”对的概率,得出预测结果。
目前的情感分类方法基本上都是假设样本间的数据是平衡的,关于不平衡样本的情感分类研究比较缺乏。
与文献[8-9]相同的是,本文的模型同样将方面(aspect)信息纳入到分类考虑的范畴,与它们不同的是,本文考虑了多分类数据的分布情况,使用多通道对数据进行重采样与损失再平衡处理,能够让模型关注到数据集级别上的情感分布信息。
目前关于情感分类的研究都做了如下假设: 数据集中各情感类别的样本数是平衡的。实际上,在真实数据集中,类别间的数据是不平衡的,如SemEval竞赛数据集,其多数类与少数类的样本数之比达到了3:1,这个情况在其他真实数据集(如微博数据集)中更加明显,因为人们在某一时间段会倾向于对某一特定产品发表大量相似情感的看法,这会导致分类结果偏向于多数类样本,少数类的分类效果无法达到预期。目前,对于类别不平衡样本的分类主要有基于采样方式的方法和基于分类器优化的方法。基于采样方式的方法主要有过采样、欠采样与混合采样方法。Chawla等[12]提出了SMOTE方法。Ramentol等[13]提出将模糊粗糙集的编辑技术应用于过采样中,该方法提高了少数类的分类正确率。
基于分类器优化的方法又称代价敏感学习方法,其主要思想是通过对损失函数的权重进行重新分配来实现总体误分最小化。Chan等[14]提出了一种cost-based sampling方法,该方法通过代价来重新定义少数类样本采样的比例。Elkan等[15]开创性地提出了一种损失再平衡(e-balance)技术,该技术将代价敏感问题看成优化问题,通过调整训练数据集中数据实例的分布来解决代价敏感分类问题。Cui等[16]根据数据分布的长尾特性提出了一种新的re-balance方法,该方法根据每一次训练所取的数据中的有效样本数对损失进行一个重新调整。
以上关于不平衡样本的处理方法都是在传统算法上进行的改进,然而近年来基于深度学习的模型中对于不平衡样本的处理较少,数据不平衡导致的分类效果对多数类样本的依赖给神经网络的训练带来了极大的挑战。因此研究如何改善不平衡样本的依赖问题成为了一个重要的研究方向。
在情感分类和类别不平衡的分类这两个问题上,学者们分别进行了大量的研究,但针对不平衡样本的情感分类研究却很少。殷昊等[2]提出使用随机欠采样的方法对不平衡数据进行重采样处理,得到多组数据输入到多通道LSTM网络中进行情感分类。Xiao等[17]首先在平衡数据集上对CNN模型进行训练,将训练好的模型迁移到不平衡数据集,同时对不平衡数据集进行欠采样,使数据集平衡。Cao等[18]提出了一种基于边界最小化损失的方法对不平衡样本进行分类。该方法取代了传统的交叉熵损失,同时加入了一个训练表,使得模型推迟对损失权重的更新,使其更加注重关键信息。
以上方法主要是针对不平衡样本的其中一方面进行改进,而没有考虑同时从样本重采样与损失再平衡解决不平衡样本的分类问题。本文拟从这两方面同时改进模型。
与文献[2]相同的是,本文提出的模型同样对数据进行了再平衡处理,与其不同之处主要有以下三点: ①本文提出的模型在进行数据重采样时,并不是对整体数据集进行重采样,而是在取每一批时,对小部分不平衡数据同时进行过采样与欠采样,如此一来,本文所使用的多通道是稳定的三通道模型(三个通道分别为原始数据、过采样数据、欠采样数据),避免了随机超参数n的使用。②本文考虑到在取每一批时只使用一次欠采样带来的信息缺失的影响,于是加入了过采样步骤,使过采样与欠采样相互制约。③本文所提出的模型除了使用重采样方式对数据进行平衡,还加入了损失再平衡学习,重新平衡了每一个数据对整体学习效果的影响。
本文提出的模型整体架构如图1所示,在形式上,模型先对每一个batch的数据分别进行过采样与欠采样处理,然后再通过已经训练完毕的词向量映射到一个多维的连续向量空间中,经过拼接之后形成了完整句子的词向量矩阵W,其中原始样本、过采样与欠采样后的词向量矩阵分别表示为:
W1=w1⊕w2⊕…⊕wn,W2=w1⊕w2⊕...⊕wm,W3=w1⊕w2⊕...⊕wt。但本文不单独采用词向量矩阵,而是将词向量与方面词向量进行拼接后作为输入。这是由于在近年来的情感分类研究中,方面词成为了一个较为重要的特征。在现实情况中,一个句子可能包含了多个方面词,而针对每一个方面词会存在不同的情感极性。这就使得方面级别的情感分类相较于传统分类更加贴近实际。其中经过词嵌入处理后的词向量为Wr∈Rn×s,方面词向量为Wa∈Rn×t。本文从文献[7-8]所提出的方法得到灵感,将方面词向量与词向量进行拼接得到神经网络的输入,如式(1)所示。
图1 多通道GRU体系结构
其中,Wn×(s+t)为整体词嵌入矩阵,其维度与每个通道所提取的样本数一致,Wrn×s为经过预处理的词嵌入向量,Wan×t为方面词嵌入向量。
随机采样的基本思想是: 在采样过程中随机复制少数类样本(随机过采样)和随机删除多数类样本(随机欠采样),最终达到需要的样本数。
由算法1可以看出,经随机过采样后的训练集会存在大量的重复样本,这会导致在训练过程中对某些样本的重复训练,可能会造成训练过拟合,从而降低分类准确率。
算法1
由算法2可以看出,经随机欠采样后的训练集缺失了部分样本,可能会导致信息丢失,从而降低分类准确率。
为了平衡不同采样方式产生的不足,提高分类器性能,本文提出了一种基于多通道的双向GRU分类模型。该方法同时应用随机过采样与随机欠采样对每一批次样本数进行平衡,并将过采样与欠采样后的平衡样本分别输入到不同的通道中,最终联合原始样本形成一个三通道的神经网络模型,以此来平衡不同采样方式所带来的的局限。
算法2
具体的操作如下: 首先将训练集样本复制两份,其中原始样本作为第一个通道的输入。根据该原始样本使用随机过采样得到一个新的训练集,将其作为第二个通道的输入。同理,根据原始样本使用随机欠采样得到另一新的训练集,将其作为第三个通道的输入。以此,构成了三通道神经网络的输入。
RNN具有很强的序列建模能力,在句子中可以捕捉到词语的长期依赖信息,在自然语言处理的任务中广泛应用于文本的语义建模。GRU 按时间步处理输入序列,每个时间步输入除了前时刻输入还有前一刻的状态。相较于LSTM网络,GRU网络把LSTM中的遗忘门和输入门用更新门来替代。这使得GRU网络的参数更少,用起来更方便。
本文假设当前文本与之前和之后的文本都有关联,选用单向GRU网络无法学习到当前文本与之后文本的关系。所以,本实验采用双向GRU(BiGRU)模型来训练样本,如图2所示。
图2 双向门控单元循环神经网络结构图
双向GRU网络的前向与后向在t时刻的输出由式(2)、式(3)计算:
该式表示t时刻的输出由前向输出和后向输出拼接构成。其中ht∈R2h。最终双向GRU网络由T个时刻构成,则最终的隐层语义编码表示如式(5)所示。
但是,直接应用隐层输出易导致模型过拟合。本文使用文献[19]所提出的层归一化方法计算每一轮训练中所有输入的均值和差,然后进行归一化操作以稳定神经网络中的隐层向量,防止模型过拟合。在层归一化中,使用“协变量变换”的方法对BiGRU网络中隐藏层的神经元hi,i=1,2,…,n赋予自适应偏差与增益。在整个隐藏层中,所有神经元共用同一套归一化参数:μ,σ,其归一化操作计算如式(6)~式(8)所示。
最终,经过层归一化后的隐层向量如式(9)所示。
其中,h′i,i=1,2,…,n为经过层归一化后i时刻的隐层向量输出。H′∈Rn×H。
本文考虑在损失函数层面根据每一次训练的数据及其邻域中包含的预测信息对损失进行一个重新调整,而不是单纯地将每一个数据点的预测结果作为损失。
根据以上思想,当有N个样本时,其构成的样本空间为N个数据点及其包含的邻域,但该样本空间的样本量在实际操作中难以计算,故引入有效样本数En来表示该样本空间的理论样本量,其中n表示样本类别数。
根据有限覆盖原理(有限个样本能够完全覆盖住整个样本空间),当样本数足够大时,使用有限个样本能够覆盖整个样本空间。
当有一个新样本加入到样本空间中时,本文使用覆盖操作来计算新的有效样本数。覆盖操作基于以下假设: 进行覆盖的新样本,在样本空间上只存在被样本空间覆盖和未被覆盖两种情况。令已被覆盖的概率为p,则未被覆盖的概率为1-p。因此,一个新样本x被已有的样本空间所覆盖的概率如式(10)所示。
本文参考了Cui[21]的方法,使用有效样本数对空间进行覆盖。该方法引入超参数β,对有效样本数En进行划分。其有效样本数计算如式(11)、式(12)所示。
首先证明有效样本数En的计算公式。
假设样本类别为n-1时上式成立,则当类别数为n时,根据所提出的假设,新取样本被已取样本形成的样本空间覆盖的概率如式(13)所示。
则此时
将n-1时成立的有效样本数En-1带入式(11)得:
由此有效样本数公式得证。
下面证明超参数β的计算公式。
证明2由等比数列的计算如式(16)所示。
该式表明第i个样本对有效样本数的贡献为βi-1,根据有限覆盖理论,当n→∞时,有效样本数无限趋近于样本数,则样本数可接下式计算:
经过变换可得:
由此,超参数β的计算公式得证。
其中,L(p,y)为一般的损失计算。
在每一通道训练结束后,最终会得到三个预测向量Y1、Y2、Y3,由于采用了不同的采样策略,而且在采样过程中通道间的预测结果并不与通道同序,本研究中拟将三部分预测结果进行拼接融合。其表现形式如式(21)所示。
其形式化表现如图3所示。
图3 拼接融合层示意图
本文在SemEval 2014 restaurant数据集与SemEval 2014 laptop数据集下进行了实验。本节阐述了实验细节,对模型性能进行了评估,并分析了结果。
实验数据集分布如表1所示。
SemEval 2014 laptop: 本数据集是一个三分类的竞赛数据集,总共包括1 462个训练样本,411个测试样本,在训练样本中,消极类、中性类和积极类样本个数分别为987、460、866。在测试样本中,消极类、中性类和积极类样本个数分别为 341、169、128。
SemEval 2014 restaurant: 本数据集是一个三分类竞赛数据集,总共包括1 978个训练样本,600个测试样本,在训练样本中,消极类、中性类和积极类样本个数分别为2164、633、805。在测试样本中,消极类、中性类和积极类样本个数分别为728、196、196。
表1 实验数据集分布
(b) 各数据集的测试数据分布
本文在对数据集进行预处理时去掉了数据集中的冲突(conflict)分类的数据来进行实验。
本文使用NLTK包对所取的实验数据进行分词和方面词提取。本文使用了Penninaton等[20]提出的GloVe向量对单词进行初始向量嵌入,每个单词的词嵌入向量维度为300。对于未登录词,使用满足均匀分布U(-0.01,0.01)的随机向量来进行初始化。词向量与方面词向量的维度均为300。所有数据集的dropout rate均为0.5。不同数据集的其他超参数设置如表2所示。
本文将提出的模型与基准模型进行了对比,以验证本文所提出模型的有效性。其中基准方法如下:
表2 各数据集下的最佳超参数配置
(1) 基础模型
CNN[4]: 使用预训练得到词嵌入的卷积神经网络。
RNN[5]: 循环神经网络。
LSTM[6]: 长短时记忆神经网络。
BiLSTM[21]: 双向长短时记忆神经网络。
GRU[22]: 门控单元循环神经网络。
(2) 基于方面的模型
ATAE_LSTM[7]: 在输入层与隐层向量中加入方面词向量嵌入后使用注意力机制的长短时记忆神经网络。
TD_LSTM[8]: 在目标词前后分别使用长短时记忆神经网络的模型。
TC_LSTM[8]: 在文本上拼接方面词,并在目标词前后文使用长短时记忆神经网络的模型。
(3) 基于不平衡数据集的模型
Weighted_CNN[3]: 在CNN的误差函数中引入标签权重函数,对误差函数进行改进。
UnderS+LSTM[2]: 使用随机欠采样构成5个通道的输入后使用长短时记忆网络训练。
不同于以往的情感分类模型,本文提出的模型关注了不同类别下的分类效果,因此,本文所使用的评价指标除了准确率外,还使用了每一个分类别下的准确率和G-mean评价指标。
各类别准确率:
其中,Ni为第i类的样本数,I()为计分函数,表示若分类正确(即预测值与真实值一致)则计1,否则计0。
使用各类别的分类精度这一评价指标可以看出模型针对每一类样本的分类情况。对于不平衡情感分类任务来说,需要判断模型分类结果是否依赖于多数类样本的分类效果。如果只使用整体分类精度的话则无法进行判断,而使用各类别分类精度可以直观得出结论。故选择此评价指标。
G-mean的定义如式(23)所示。
G-mean测度计算了n个类别间样本预测精度的几何均值,若其中一类分类效果好,而其他类别分类效果欠佳,则G-mean测度值必然偏小,只有当各类别精度较接近时G-mean测度才可达到峰值。
在不平衡情感分类任务中,由于类别间样本数量不同,各类别的分类情况也不尽相同,因此需要G-mean指标来评价各类别分类的差异情况,以此衡量模型的优劣。实验结果如表3所示。
表3 各数据集下的情感分类准确率与G-mean值
(b) laptop数据集下的各类别准确率、全局准确率与G-mean
续表
表3中的所有实验结果均在同一环境下得出。可以看出,本文提出的模型在restaurant和laptop数据集中取得了91%与89%的准确率,且G-mean值也高于其他方法,其G-mean值分别为0.907 3、0.909 5。本文模型与基于方面的模型相比,各分类准确率更高,说明了本文融合的多通道混合采样与损失再平衡方法让模型更加关注少数类样本,同时对多数类样本的学习影响较低。与基于不平衡数据集的模型相比,本文提出的模型的G-mean值更高,这表明同时融合混合采样与损失再平衡的方法在不平衡样本上不同类别之间的差异性更小。
本文提出的模型包括两个部分,使用随机采样部分和re-balance部分,本节将对这两部分分别进行实验来验证其有效性。具体来说,本节将对模型中各组成部分分别进行实验。本文进行验证的数据集为SemEval 2014 restaurant和SemEval 2014 laptop,所使用的数据集皆已去除conflict分类。
3.5.1 不同采样方式与损失再平衡的影响
本文提出的模型主要包含了以下两方面: 随机过采样与随机欠采样相结合的策略、基于随机覆盖的再平衡损失策略。本文在两个数据集上讨论了这两部分的影响,其结果如表4所示。
通过对表4的分析,可以看出:
(1) 从G-mean评价指标出发。本文所提出的模型的G-mean值达到了所有模型的最高值,其中restaurant数据集为0.907 3,laptop数据集为0.909 5,均超过了0.9,这说明本文提出的模型在各类别上分类效果更加均衡; 只使用损失再平衡策略的模型在G-mean上的波动最小,这是由于其有限覆盖原理保证了各样本贡献的一致性。
表4 不同采样方式下模型的准确率与G-mean值
(b) Laptop数据集下的准确率与G-mean值
(2) 从全局分类准确率出发,只使用多通道进行情感分类的模型在全局准确率上达到最佳。这是因为重采样后的样本增加了数据量且类间平衡,模型在一个更接近理想状态的条件下进行训练,故全局准确率更高。但其对样本分布更加敏感,模型在面对不同数据分布的数据集时表现不稳定。本文所提出的模型在全局准确率下虽不如多通道的模型,但差距不大,在restaurant数据集上相差0.005 9,在laptop数据集上相差0.012 2,这样的差距在实际分类任务中是可以接受的;
3.5.2 不同采样率对分类效果的影响
图4 不同采样率下的模型G-mean值
3.5.3 不同超参数β的影响
本文使用的损失再平衡策略中存在超参数β,根据文献[21]所提出的思想,超参数的设置应在集合{0.9,0.99,0.999,0.999 9}中,本文对集合中的参数进行结果验证。其结果如表5所示。
表5 不同超参数取值下的模型准确率与G-mean
(b) laptop数据集下超参数变化后的准确率与G-mean
从表5可以看出,在β取不同的值时,模型的G-mean呈现一个波动趋势。其中,在β=0.999 9时,两个数据集中G-mean测度均达到最大值,但是对每一类分类的准确率来说,当β=0.999 9时,正类(少数类)产生了过拟合。为避免模型过拟合,应当根据不同的数据情况选取合适的超参数。在本文验证的数据集中,restaurant数据集应取β=0.9,laptop数据集应取β=0.99。
本文提出了一个混合采样和损失再平衡相结合的多通道双向GRU模型。该模型由混合重采样形成的多通道网络和基于有限覆盖原理的损失再平衡分类器两部分组成。首先对数据样本进行随机欠采样、随机过采样操作,使各类别数据达到基本平衡,然后连同原始样本生成三个通道作为神经网络的输入。利用BiGRU网络对输入的样本进行序列建模,获得其中的情感信息。最后使用损失再平衡策略对损失函数进行再平衡处理,平衡新老样本间对分类的贡献,缓解样本贡献的衰减问题,提高模型的稳定性与准确率。实验结果表明,模型能够有效提高各类别的分类精度,缓解分类对多数类样本的依赖情况,比当前最先进模型分类效果要好。
未来工作的重点是对样本集的采样设计和损失再平衡的改进设计。①在采样方面,本文使用了较为简单的随机采样技术,在未来将考虑优化采样方法来保持样本的多样性与维持样本分布。②再平衡策略的假设是: 样本被已有样本空间完全覆盖或完全在样本空间外。未来计划根据样本分布情况对假设条件进行改进,使其更符合实际情况。③将本文提出的方法应用到实际工作中。