朱海东, 郑 虹, 侯秀萍
(长春工业大学 计算机科学与工程学院,吉林 长春 130012)
随着互联网技术的发展,人们愿意通过微博等网络平台来抒发自己看法及评论,从而产生了大量带有情感色彩的评论文本。分析这些带有情感色彩的文本信息有助于快速掌握网民的情感动向[1]。这些评论信息的分析结果对于政府和社会以及商家具有一定的意义和价值。对于商家来说,关注商品的评论及分析结果可以帮助他们制定一些有效的销售策略,同时也能够保证商品的质量。对于政府来说,可以根据网民评论信息的分析结果进行合理的舆论监控[2],从而掌握群众的舆论动向,更加有利于维护社会的稳定,因此,从这些评论文本信息中挖掘出人们的情感,并做出准确的判断和分析,具有一定的意义和研究价值。
随着深度学习技术的兴起及广泛应用,越来越多基于深度学习的方法用于情感分类任务中。比较常见的神经网络有卷积神经网络(CNN)[3]、循环神经网络(RNN)[4]以及他们的改进形式,CNN在提取文本特征时无法解决文本长距离依赖的问题,虽然更深层的CNN网络可以捕捉长距离文本信息,但是随着网络层数的增加,模型的计算复杂度也随之提高。RNN在提取文本特征时,虽然可以有效捕捉长距离依赖的问题,但是在提取局部特征方面存在着不足,同时也会出现梯度爆炸或梯度消失的问题。除此以外,传统的预训练模型如Word2vec[5]、Glove也无法解决一词多义及知识表示的问题。所以,针对以上问题文中提出一种基于ERNIE预训练模型的改进DPCNN[6](深层金字塔卷积神经网络)的多通道神经网络模型MC_E_ImporvDPC_B_SV来进一步提高分类的准确率。
1)利用ERNIE预训练模型将文本数据进行向量化表示,同时学习完整的语义表示。解决了Word2vec无法解决一词多义的问题,同时能够学习到完整的语义表示。增强了模型的语义表示能力。
2)采用改进的DPCNN通道,在不加大计算成本的同时,通过加深网络来获取更高的准确率,在此基础上,将第一个和第二个卷积模块的卷积层各减少一层,这样就有效避免了文本经过ERNIE层后,卷积层增加带来的退化问题。
3)采用并行提取特征的思想。利用ERNIE加双向的LSTM[7]通道和ERNIE加改进的DPCNN双通道并行提取特征。
4)采用多通道融合方式。将语义向量特征单独作为一个通道分别与BILSTM通道和改进的DPCNN通道所提取的特征进行融合,得到一个融合特征,然后再进行分类。
Bengio等[8]首次将神经网络模型用于自然语言处理任务中训练特定的语言模型。在循环神经网络用于情感分类方面,Xu J等[9]提出一种能捕获长期情绪信息,提出一种缓存机制的LSTM。这些工作表明循环神经网络在情感分类任务中是有效的。在CNN网络与RNN网络结合用于情感分类方面,Zhou C等[10]将CNN网络与循环神经网络相结合,以此来增强模型捕捉特征的能力。在使用预训练模型进行情感分类方面,Sun Y等[11]首次提出基于知识增强的ERNIE模型,通过对实体和词的遮蔽策略来增强模型的语义表达能力,在情感分类实验上取得了良好的实验效果。雷景生等[12]提出一种将ERNIE与BIGRU相结合的文本分类方法,并且在新浪新闻公开的数据集上取得良好的分类效果。在使用DPCNN进行分类方面,齐佳琪等[13]提出一种将ERNIE预训练模型与DPCNN相融合的短文本分类模型。经过实验对比,该模型有较高的分类精度。在利用多通道神经网络模型进行情感分类方面,陈珂等[14]提出一种基于多通道卷积神经网络模型,在COAE2014数据集和微博语料数据集进行实验,结果表明,该模型要比传统单通道的卷积神经网络取得更好的效果。霍帅等[15]利用Transformer和多通道的卷积神经网络进行情感分析研究,在IMDB和SST-2数据集上取得了很好的效果。这表明利用多通道神经网络模型进行情感分类是可行的。
文中基于以上各方法的优势提出一种基于ERNIE和改进的DPCNN多通道中文情感分类模型,在中文情感分类方面可以取得更好的分类效果。
MC_E_ImprovDPC_B_SV模型是由ERNIE预训练模型和多个提取特征的通道组成多通道的情感分类模型。该模型由ERNIE层、三个并行的通道(分别是改进的DPCNN通道、BILSTM通道和语义向量通道)和全连接层组成。模型通过结合不同层以及不同通道的各自优势来实现准确情感分类的目标。通过ERNIE层学习更多的先验知识来增强语义表示,通过不同的知识掩蔽策略来学习更准确、更完整的语义信息及向量表示,因此经过ERNIE层后能够得到准确的词向量表示和语义向量表示。将得到的词向量分别送入双向LSTM通道和改进的DPCNN通道,让经过ERNIE层得到的语义向量独自成为一个通道。将经过BILSTM通道和改进的DPCNN通道各自得到的特征与语义向量特征进行融合,得到一个由三个通道的特征融合之后的融合特征。然后将融合后的特征送入全连接层,最后利用Softmax进行分类。在此过程中,BILSTM通道利用自身模型结构的优势更好地提取上下文的文本情感特征,改进的DPCNN通道在不增加计算成本的情况下,通过适当加深网络层数来更好地捕捉文本的依赖关系,同时避免了模型退化问题,因此可以更好地提取文本特征。
MC_E_ImprovDPC_B_SV整体模型结构如图1所示。
图1 MC_E_ImprovDPC_B_SV模型结构
在图1所示模型中,原始文本s={X1,X2,X3,…,Xn-1,Xn}是长度为n的输入语句,Xi表示句中的单词,语句S经过ERNIE层分别得到E={E1,E2,E3,…,En-1,En}的语句向量和V={V1,V2,V3,…,Vn-1,Vn}的语义向量,然后将得到的语句向量E分别送入BILSTM通道和ImprovDPCNN通道进行特征提取,B={B1,B2,B3,…,.Bn-1,Bn}表示BILSTM通道提取的特征向量,D={D1,D2,D3,…,Dn-1,Dn}表示ImprovDPCNN通道提取的特征向量,将特征向量B、D和语义向量V进行融合,形成融合的特征向量R={R1,R2,R3,…,Rn-1,Rn},将融合的特征向量R送入到全连接层,最后送入到Softmax分类器进行分类,得到最后的情感分类结果。
ERNIE预训练模型是在BERT模型的基础上进行改进,通过改进不同的遮蔽策略,以及利用先验知识来增强语义表示。而ERNIE模型和BERT模型本质上都是采用多层双向的Transformer编码器结构,利用此编码器结构来训练生成文本表示向量,在文本转换成字嵌入后,首先经过的是编码器的自注意力层,使得编码器关注到输入文本的前后文信息,自注意力层的输出结果会输入到Add&Norm层进行残差连接和归一化操作。将经过处理文本向量输入到全连接层,全连接层也会进行上一步的残差连接和归一化操作。
编码器端有6层Transformer编码单元,每一层包括两个子层,第一个子层是多头自注意力机制,用来计算输入的自注意力机制。第二个子层是全连接层。在每一个中都使用了残差网络。因此每一个子层的输出都是:
LayerNorm(x+Sublayer(x))。
(1)
在上述公式中,Sublayer(x)表示子层对于x做的Native Bayes映射。
BILSTM(双向长短时记忆网络)是LSTM神经网络的一种改进结构,这种网络结构不仅能记住上文信息,同时还能记住下文信息,利用双向的LSTM从两个方向读取文本信息,能够提取到更加准确丰富的文本特征。LSTM包括三个门,即输入门、遗忘门、输出门,利用门控机制来控制记忆网络中的输入和输出信息流[17]。
LSTM三个门公式表示如下:
ft=σ(wf·[ht-1,xt]+bf),
(2)
it=σ(wi·[ht-1,xt]+bi),
(3)
ot=σ(wo·[ht-1,xt]+bo)。
(4)
记忆单元更新信息公式表示如下:
(5)
(6)
ht=ot*tanh(ct),
(7)
式中:it,ft,ot——分别表示记忆网络中的输入门、遗忘门和更新门;
xt——t时刻向记忆单元网络中的输入序列;
ht-1——t-1时刻的隐藏状态;
ct——t时刻的记忆状态;
在提取一些评论文本的特征时,需要双向捕获文本信息来更加精准地提取文本特征。所以文中使用双向LSTM来提取文本上下文特征,BILSTM模型结构如图2 所示。
图2 BILSTM模型结构
由图2可以看出,双向的LSTM是从两个方向进行的计算,即从正向计算一遍得到输出向量ht1,同时从反向计算一遍得到输出向量ht2,最后得到BILSTM的输出向量ht[18],其公式为
ht=(ht1,ht2)。
(8)
ImprovDPCNN模型是由DPCNN改进而来,DPCNN(金字塔CNN)是一种低复杂的词级深层CNN,在将离散文本信息转换为连续表示之后,DPCNN通过堆叠卷积模块和下采样层进行计算。因为该模型每层的计算量呈指数下降,所以把它称为深层金字塔形的CNN。同时,金字塔的结构也使模型能够发现文本中长期依赖关系。模型选用等长卷积进行卷积操作,等长卷积会让每个词位的embedding描述语义更加丰富准确,选用两层等长卷积来提高embdding 的丰富性,然后接下来就是downsampling(池化),在每一个卷积块(两层的等长卷积)后,使用一个 size=3 和 stride=2 进行maxpooling池化。序列的长度就被压缩成原来的一半。其能够感知到的文本片段就比之前长了一倍。在DPCNN中固定了feature map的数量,也就是固定住了词向量空间的维度,使得网络有可能让整个邻接词的合并操作在原始空间中进行。所以在不增加计算复杂度的情况下,DPCNN可以获得长距离依赖和全局语义信息,比普通的CNN获得更加精准的语句特征,DPCNN模型结构如图3所示。
图3 DPCNN模型结构
由于每个通道的输入都是ERNIE层的输出结果,并且原始文本在输入ERNIE预训练模型后,会通过自身的学习训练来进行一次特征提取,得到完整的语义特征和词向量。由于DPCNN通道的输入已经过ERNIE层的初步特征提取,为了避免卷积层的增加带来卷积层特征提取退化的问题[19],所以文中对DPCNN网络模型进行改进,将等长卷积模块中卷积核大小为3的卷积层由两个缩减为一个,除此以外,对于Repeat结构中的卷积层也由两个缩减为一个,这样改进后可以有效避免模型退化带来局部最优的问题,同时也会避免因为卷积层增加而带来提取特征不精确的问题。
改进后的ImporvDPCNN模型结构如图4所示。
图4 ImprovDPCNN模型结构
在ImprovDPCNN模型中同样也由这几部分构成,它们分别是Region Embedding层、等长卷积、Repeat结构和残差连接。
1)Region Embedding层。CNN中包含多尺寸卷积核的卷积层,卷积结果称为Region embedding(文本域),即对一个文本域进行卷积操作后生成的embedding。
2)等长卷积层。等长卷积层就是经过卷积之后输出序列长度等于输入序列长度。ImprovDPCNN的等长卷积通过步长为1,两端补零的形式进行填充。ImprovDPCNN采用单层等长卷积,等长卷积层为250个尺寸为3的卷积核。ImprovDPCNN通过等长卷积后提高了embedding的语义丰富性[20]。长卷积层采用预激活的方法,即先将x激活,再进行计算,因此等长卷积层的输出为
Oc=Wσ(x)+b。
(9)
3)Repeat结构。采用固定数量的特征图进行下采样,在进行完等长卷积之后,开始固定特征图的数量,这样可以减少计算量,然后再进行池化操作。池化操作采用窗口大小为3,步长为2的最大池化方式,这样的池化操作后使得每个卷积层的计算时间和计算成本减半,形成一个金字塔的形状。
4)残差连接。在ImprovDPCNN中残差连接的具体操作就是将region embedding的输出直接连到池化层或者输出层,此操作极大缓解了梯度消失问题。
文中提出的MC_E_ImprovDPC_B_SV模型采用组合和改进的思想,将三个并行通道得到的输出向量进行向量融合,最终将融合的向量送入到全连接层和Softmax分类器。
实验在CentOS 7.9 环境下运行,GPU为NVIDIA TITAN XP * 4,编程语言为Python,使用的深度学习框架为Pytorch,实验所用预训练模型为百度推出的基于知识策略和实体遮蔽的ERNIE。
文中使用的数据集是由谭松波老师整理的酒店评论的中文公开数据集Chnsenticorp,该数据集是带有情感标签的情感分类中文数据集,情感极性为积极和消极两种,即为二分类。为了防止实验验证模型出现过拟合现象,将数据集按照8∶1∶1的比例切分为训练集、测试集和验证集。将测试集上得到的实验数据作为实验结果。积极文本的情感标签记为1,消极文本的情感标签记为0。
为了使模型能表现出自身最佳的分类性能,则模型中的超参数设置见表1。
表1 实验的超参数表
文中提出的情感分类模型所采用的评价指标有精确率P,召回率R和F1值。具体计算公式为:
(10)
(11)
(12)
式中:TP——实际值和预测值情感极性都为积极时的数据个数;
FP——当实际的情感极性为消极,预测的情感极性为积极时的数据个数;
FN——实际的情感极性为积极,预测的情感极性为消极时的数据个数;
F1——由精确率和召回率共同决定。
为了验证在相同数据集及同等实验条件下MC_E_ImprovDPC_B_SV模型具有较好的分类效果,在验证实验的同时,又做了许多对比实验,其中,ERNIE_ImproveDPCNN_SV模型、MC_R_ImprovDPC_B_SV模型、ERNIE_ImprovDPCNN_BILSTM模型、ERNIE_ImprovDPCNN模型作为对比模型在文中首次被提出,对比实验中的ERNIE、ERNIE_BILSTM、ERNIE_CNN、ERNIE_DPCNN、ERNIE_RCNN等模型早已由其他学者提出,文中不再赘述,具体实验结果分别见表2~表4。
表2 不同模型在测试集上的准确率及损失值
表3 不同模型积极测试集文本上的不同评价指标
表4 不同模型消极测试集文本上的不同评价指标
不同模型在测试集上准确率分布的条形统计如图5所示。
图5 不同模型在测试集上准确率分布的条形统计
不同模型在测试集上损失值分布的折线统计如图6所示。
图6 不同模型在测试集上损失值分布的折线统计
从以上实验结果可以看出,文中提出的MC_E_ImprovDPC_B_SV模型较文中提到的其他情感分类模型有较好的分类效果,在测试集上的分类准确率达到93.92%,除此以外,该模型的精确率和F1值也是文中提到所有模型中最高的,从而也说明了MC_E_ImprovDPC_B_SV模型的优越性,MC_E_ImprovDPC_B_SV模型比ERNIE_ImproveDPCNN_SV模型在分类准确率上提升了0.59%,损失值减少了0.02,说明三通道并行提取特征要比双通道提取特征更有效果,从另一方面也说明了双向LSTM通道在提取特征时发挥了重要作用。通过比较模型ERNIE_BILSTM和ERNIE_ImprovDPCNN_BILSTM在测试集上的分类准确率可知,后者比前者的分类准确率提升了0.42%,由此可以看出,ImprovDPCNN通道可以获得更丰富的情感特征信息。通过比较ERNIE_DPCNN模型和ERNIE_ImprovDPCNN模型在测试集上的分类准确率可以看出,准确率提高1.16%,说明改进后的DPCNN更有利于情感特征的提取,有效改善了模型退化的问题。通过比较MC_E_ImprovDPC_B_SV模型和MC_R_ImprovDPC_B_SV模型可知,在测试集的准确率上前者比后者提高1.16%,在积极文本和消极文本的评价指标方面,MC_E_ImprovDPC_B_SV的Precision和F1值均高于MC_R_ImprovDPC_B_SV模型,由此可以看出,在知识表示和语义增强方面,ERNIE预训练模型要优于Roberta预训练模型。
通过比较实验结果可以得出,DPCNN用于情感分类方面要优于普通的CNN网络,纵观文中提出的所有情感分类模型中,基于ERNIE的ImprovDPCNN、BILSTM和语义向量的多通道组合方式能够发挥出最好的模型性能,同时也说明,通过这样的组合方式,各通道才能更好地发挥出自身的优势来进行特征提取,从而进行情感分类。
提出一种基于ERNIE的三通道并行提取特征的中文情感分类模型,这三个通道分别是ImporvDPCNN通道、BILSTM通道和语义向量通道。该模型通过发挥ERNIE及不同通道各自的优势可以提取到丰富的情感特征,从而能够进行准确分类,通过验证实验和对比实验可以看出,文中提出的MC_E_ImprovDPC_B_SV模型在情感分类问题上准确率及评价指标F1值要优于文中提到的其他模型。在Chnsenticorp数据集上取得了良好的实验效果。
文中所提模型虽然取得了很好的分类效果,但也存在诸多不足,比如在长文本情感分类方面的实验效果还未知,对于多标签的情感分类问题还不能很好地解决,所以下一步工作将继续研究和探索进行长文本情感分类和多标签情感分类问题,使文中模型具有更强的适应性和鲁棒性。