周艳玲,兰正寅,张 ,刘司摇
(湖北大学 人工智能学院,湖北 武汉 430062)
中国互联网络信息中心第49次《中国互联网络发展状况统计报告》统计显示,截至2021年12月,我国互联网用户量伴随5G时代的到来已高达10.32亿规模。随之而来的则是新闻媒体、社交软件和购物软件等每时每刻产生海量的用户网络文本评论数据,这些文本数据时刻反映着人们日常生活的喜怒哀乐和对舆论和事物的看法与态度,即蕴含了巨大的用户情感信息。对其进行准确快速的情感倾向性分析,可以应用于舆情分析、新闻推送、商品营销等领域。从而可有效引导企业实时调整发展方向,精准把握用户需求;同时有助于政府掌握网络舆论走向[1],维护社会稳定。因此,文本情感分类具有重要的经济效益和社会效益。情感分类[2]作为自然语言处理领域典型的下游任务,也是自然语言处理领域中的重要研究方向和近年来国内外学者的研究热点之一,是信息挖掘的关键技术和大数据的研究应用基础,具有极大的学术研究价值。
随着神经网络不断取得突破性的进展,众多学者提出各种深度学习模型用于情感分类任务的研究[3],通过构建多层神经网络,在获取更深层次的语义特征信息的同时,取得了多方面都优于机器学习方法的效果[4]。目前主流的深度学习模型有卷积神经网络(Convolutional Neural Network, CNN)、循环神经网络(Recurrent Neural Network,RNN)、长短时记忆(Long Short-Term Memory,LSTM)和预训练语言模型等,这些深度学习方法因各自不同的模型结构与特点,各有所长,亦各有所短,每个模型的提取语义特征的侧重点不同。
这些模型在针对深层次语义特征进行提取时,却未考虑到数据集的先验分布情况,当数据集样本类别分布不均匀或者训练数据出现过拟合情况时,容易导致分类模型遇到接近标签判定决策边界的情况,尤其细粒度分类时容易导致分类出现偏差。
基于上述问题,本文从分类模型和数据集两个角度进行改善: 利用多模型优势互补融合和注意力机制,充分提取挖掘文本的全局语义特征,获得样本较为准确的各类情感上的概率分布;同时利用数据集的先验分布,对不确定性样本预测值进行修正。因此本文提出一种多模型融合交替归一化的深度学习模型(A model Fused with Alternating Normalization and RoBERTa-based Bi-directional LSTM and Attention,FAN-RoBLA)。该模型通过结合RoBERTa、Bi-LSTM深度学习模型和注意力机制的特性,并根据数据集先验分布采用交替归一化方法,提升情感细粒度分类任务效果。模型在SMP2020-EWWCT中文竞赛数据集和SemEval 2014 task4英文公开数据集上经过对比实验验证,证明了该融合模型在跨语言细粒度情感分类任务上的有效性。
早期文本情感分类的需求限于技术主要为二分类,即对文本进行正面情感与负面情感的判断。随着社会的发展和技术的进步,现在对用户的情感分类需求也从早期的正负二分类进一步提升到细粒度的情感分类,例如,开心(Happy)、悲伤(Sad)、愤怒(Angry)、恐惧(Fear)和惊奇(Surprise)等。
最初的情感细粒度分类研究[5]主要基于特征词典判断和机器学习算法实现。此类方法由于人为主观因素的影响与其提取特征需要的巨大人工成本,导致情感分类完成质量与效率偏低。随着众学者在深度学习模型上的不断创新,对情感特征的选择不断优化,在细粒度情感分类任务上逐渐取得了更好的效果。
相较于浅层的机器学习方法,深度学习的出现在很大程度上解决了机器学习过于依赖特征工程的问题,更多学者将深度学习用于自然语言处理领域并在情感分类任务中取得了显著的成果。2014年Kim[6]提出将CNN应用于NLP领域中的一般流程,其由嵌入层、卷积层、池化层和全连接层构成,结构精巧,可并行处理,在提取文本局部特征上具有一定优势,但由于未考虑时间因素而忽略了词与上下文之间的关联。RNN是一种基于递归的神经网络模型,通过网络内部的结构设计能利用循环机制获取前一刻输出作为下一刻输入,从而有效捕捉文本序列之间的关系特征。由于RNN模型容易出现隐藏层梯度爆炸与梯度消失的现象,Bowman等人[7]在RNN的基础上进一步改善提出LSTM模型,得到了更为广泛的使用。钱忠等人[8]提出一种基于双向长短时记忆(Bidirectional Long Short-Term Memory, Bi-LSTM)方法,充分结合上下文信息,同时从前、后两个方向获取评论文本信息的双向语义特征作用于关系抽取任务。Brahma等人[9]对Bi-LSTM做出改进,提出一种Suffix BiLSTM模型,该模型对文本进行双向的前缀与后缀编码,增强全局语义特征信息,减小了顺序偏差的影响,在细粒度情感分类任务上取得明显效果。
预训练模型的出现极大推进了深度学习模型的研究进展,其本质上属于迁移学习的应用,利用词嵌入将大量数据数字化,输入基于Transformer框架的模型进行词向量训练,保存已训练好的网络模型,针对具体的下游任务微调加以使用。2018年Devlin等人[10]在ELMo和GPT的基础上提出的BERT预训练模型是自然语言处理的一个里程碑式研究,BERT采用双向Transformer编码器训练动态词向量,提升向量表征能力,解决了Word2Vec等静态词向量无法解决一次多义的问题,并在舆情监控[11]、医疗[12]、金融[13]等多个应用领域取得优秀的研究成果。2019年哈工大讯飞联合实验室[14]发布中文预训练模型Chinese-RoBERTa-wwm(简称RoBERTa),采用全词掩码策略,并在多个中文句子级与篇章级任务上进行测试,均取得较好的实验效果。
注意力机制起源于对人类感知的研究。人在处理事物时,往往会将感知聚焦于关键的信息上,忽略淡化不重要的边缘性信息。深度学习中,由于模型提取的数据特征较多,包含的信息量也随之增大,引入注意力机制,通过权重分配降低关联度低的特征向量权重,可有效提高下游任务准确率。Bahdanau等人[15]首次将注意力机制引入自然语言处理领域的机器翻译任务中。Huang等人[16]将注意力机制融入LSTM输出向量与上下文表达中,通过二者联合进行情感分类。Zhang等人[17]利用注意力机制将情感属性词表与上下文语义相融合的向量表示进行进一步加权提取,得到更准确的语义表示。
Sinkhorn和Knopp[18]在1967年首次提出了交替归一化方法,用参考数据集中的高置信度样本调整低置信度样本的预测。Jia等人[19]在2021年首次提出借助数据先验分布提升性能的文本分类交替归一化方法(Classification with Alternating Normalization,CAN),并应用到文本分类的关系抽取下游任务上,取得了不错的效果。但其样本置信度熵值判定指标未进行归一化,导致样本熵值无法保证在0~1之间,不利于阈值的调节。
本文在其基础上对样本置信度熵值判定指标进行改进;融合RoBERTa、Bi-LSTM和注意力机制在提取深层次文本特征信息的同时,结合改进交替归一化方法,使得最终结果更接近数据集的先验分布,进而提升情感极性判断的准确性。
本文提出的FAN-RoBLA模型通过RoBERTa预训练提取文本动态词向量表示,输入Bi-LSTM模型,结合上下文获取全局语义特征,融合注意力机制,加入特征权重后得到分类结果,随后对输出结果进行熵值判定,分类为高、低置信度两类样本,利用数据集先验分布信息和高置信度样本作为修正参考系对低置信度样本进行交替归一化,逐一修正得到最终情感倾向。FAN-RoBLA模型结构如图1所示。
图1 FAN-RoBLA模型结构
训练文本输入模型前需进行特征处理与词典转换,在文本起始位置添加[CLS]占位符,通过RoBERTa词典对文本中字符进行index转换,作为嵌入层的输入。
预训练RoBERTa模型由12层经过微调的双向Transfomer构成,隐藏层维度为768,每一层均含相对应的多头自注意力结构,用于获取文本全局向量矩阵H=[H1,H2…,HN]作为下游结构的输入。RoBERTa结构如图2所示。
图2 RoBERTa模型结构
此外,RoBERTa采用了比BERT更高质量的维基百科作为训练语料,以增强模型语义理解能力。并基于Yang等人[20]提出BERT模型中下一句预测任务(Next Sentence Prediction,NSP)存在的缺陷问题,RoBERTa经过实验验证,摒弃NSP任务情况下的缺陷可有效提高分类任务性能。同时,RoBERTa模型在每次接收一个序列时都会生成一种新的掩码方式,即在预训练时进行动态掩码,从而在数据量偏大情况下能学习到不同的文本特征信息。
RNN能通过递归循环学习到文本上下文语义关联信息,但在处理长序列文本时容易出现梯度爆炸与梯度消失等现象。LSTM作为传统RNN的变体神经网络,在处理长序列文本时,能有效缓解上述RNN所产生的梯度问题。 LSTM模型核心结构主要由输入门it,遗忘门ft,输出门Ot,单元状态Ct四部分组成,计算如式(1)~式(5)所示。
其中,Wi,Wf,WO,WC分别代表输入门、遗忘门、输出门和单元状态相对应的权重矩阵,bi,bf,bO,bC分别代表输入门、遗忘门、输出门和单元状态相对应的偏置矩阵,xt和ht分别代表t时刻的输入特征与隐藏层状态。输入门、遗忘门、输出门均采用sigmoid作为激活函数(式中表示为σ),用于调节网络中传输的信息值,并将tanh作为激励函数,使输出均值为0。
本文利用注意力机制对Bi-LSTM层输出的特征向量yn进行权重分配,对文本训练中重要语义特征给予高权重,降低无关信息的资源分配,提高细粒度情感分类任务效率与准确性。注意力机制层计算公式如式(6)~式(8)所示。
假定情感二分类任务时,模型对输入a的预测输出为p(a)=[0.05,0.95],则a预测类别明显倾更向于为第1类情感;对输入b的预测输出为p(b)=[0.5,0.5],预测此时容易出现偏差,若此时已知先验信息:
① 类别必为0类或1类情感之一。
② 两类数据分布概率各为0.5。
由于前一个样本a的预测结果为第1类数据,则在先验分布的影响下,会更倾向于将样本b预测为第0类情感。交替归一化即利用上述思想通过数据集先验分布信息对低置信度的预测结果进行修正,使最终预测结果更接近先验分布。
FAN-RoBLA模型中每一个测试样本经过Softmax层输出后得到预测概率分布结果p=[p1,p2,…,pm](m代表情感类别数),对每个测试样本逐一进行熵值判定,判定衡量指标采用不确定性熵E(p),样本熵值E(p)越大,表明这个样本内部情感倾向越不稳定,即熵值越大,样本置信度越低。对于熵值大于阈值τ的样本,判定为低置信度样本,反之判定为高置信度样本。熵值计算如式(9)所示。
(9)
熵值小于τ,判定为高置信度的预测样本,被认为是可信任的,不用加以修正,因此对熵值大于τ的低置信度预测样本进行交替归一化法修正。修正过程如式(12)~式(17)所示。
N:Rn→Rn×n
(12)
(13)
ΛS=N((L0)Te)
(14)
(15)
ΛL=Ν(SdΛqe)
(16)
(17)
在如图3所示的交替归一化修正情感三分类任务实例中,模型输入四个样本,其中三个样本经过阈值判定为高置信度样本,并且预测类别分别是2、0和2类情感,将三类高置信度样本预测概率进行拼接得到A0用作“修正参考系”,b0为待修正的低置信度样本。按式(12)~式(17)进行交替归一化操作,得到最终修正样本。其中Λq为三类情感数据先验分布比例,可以看出第一类情感占比最大,且b0经过修正后预测概率明显偏向占比最多的第一类,且向量求和保持为1,符合概率定义。
为测试FAN-RoBLA模型在细粒度情感分类任务上的预测性能。本文实验基于Python 3.8+PyTorch 1.9.0深度学习框架,训练环境采用Google Research团队开发的线上Jupyter服务器Colab,GPU为NVIDIDA Tesla P100-PICE-16G。
FAN-RoBLA预训练模型采用哈工大讯飞联合实验室发布的中文RoBERTa与Google发布的英文RoBERTa,均为12层双向Transformer结构隐藏层,维度为768。模型训练超参数设置如下: 参考数据集平均长度max length统一设置为128;数据量批次Batch Size设置为64;损失函数采用交叉熵损失函数;模型通过AdamW优化器进行优化收敛;学习率lr设置为2e-5;Dropout设置为0.2,防止过拟合;置信度判定阈值设定为0.8;模型训练迭代轮数Epoch设置为5。
本文实验使用SMP2020-EWWCT中文竞赛提供的usual微博数据集、virus新冠疫情数据集和SemEval 2014 task4中Restaurant英文数据集进行跨语言实验验证。三类数据集具体信息如表1所示。
其中,usual与virus数据集均蕴含六类情绪,分别是积极(happy)、愤怒(angry)、悲伤(sad)、恐惧(fear)、惊奇(surprise)和无情绪(neutral),其中usual数据集内容为随机采集的微博上各类话题数据内容;virus数据集采集自2020年期间由关键字筛选的相关新冠疫情微博内容,具体样例如表2所示。Restaurant数据集采集自餐馆评测,蕴含三类情感极性,分别是积极(positive)、消极(sad)和无情绪(neutral)。
由于SMP2020-EWWCT的通用微博和疫情微博数据集均为直接抓取于微博用户发表内容,因此数据文本中掺杂许多无用信息与符号,这些杂质在训练时会在不同程度地影响模型效果,导致部分数据在最后细粒度情感分类时出现偏差。为提升训练数据质量,降低文本杂质对模型训练效果的影响,本文对两类数据集文本内容同时进行繁体转为简体、英文大写转为小写、url地址去除、email邮箱去除、符号全角转半角、微博@标签去除以及保留emoji表述等操作进行数据清洗,清洗样例如表3所示。
表3 数据清洗样例
为验证FAN-RoBLA模型在细粒度情感分类任务上的有效性,选取当前性能较好的主流深度学习分类模型进行对比实验。对比模型介绍如下:
(1)TextCNN[6]: 利用卷积神经网络对文本N-gram特征进行自由组合,捕捉不同层次局部情感特征并作用于Softmax。
(2)DPCNN[21]: 参考残差网络提出的一种通过增加网络深度抽取长距离的文本依赖关系的金字塔结构模型。
(3)ATAE-LSTM[22]: 通过LSTM捕捉文本间语义关联,同时拼接经过平均池化后的属性词向量;结合注意力机制筛选权重更高的词后进行分类。
(4)BERT-FC[10]: 以BERT-base作为预训练模型获取文本动态词向量,输入全连接层,后接Softmax归一化后进行分类。BERT因双向Transformer编码器结构而具有优秀的语义表征能力。
(5)AEN-BERT[23]: 采用标签平滑方式解决情感模糊判断问题,并通过注意力机制对方面词和全局文本进行建模。
(6)FMNN[24]: 融合多神经网络,采用双通道结构减小网络深度的同时融合BERT、RNN和CNN进行全局和局部文本语义提取。
(7)RoBERTa-FC: RoBERTa作为在BERT基础上改进的预训练模型,RoBERTa预训练模型采用动态掩码机制,使得同一句话拥有不同的掩码方式,进一步增强模型语义表征能力与特征提取能力。
(8)RoBERTa-ATTLSTM: 以RoBERTa作为预训练模型,获取词级别的动态词向量,以双向LSTM作为下游分类任务模型输出全局特征,最后通过注意力机制特征权重分配。
本文采用准确率Acc(Accuracy)、精确率P(Precision)、召回率R(Recall)与F1值四个指标对此次实验进行多角度评价混淆矩阵,F1如表4所示。
其中,TP是预测为正的实际正样本,FP是预测为正的实际负样本,FN是预测为负的实际正样本,TN是预测为负的实际负样本。指标公式如式(18)~式(21)所示。
由于本文实验为细粒度情感分类实验,因此采用更适合多分类的宏观精确率(Macro-P)、宏观召回率(Macro-R)和宏观F1值(Macro-F1)计算各类别的平均指标值作为n分类的最终评估。定义如式(22)~式(24)所示。
3.7.1 阈值分析
实验部分首先在中文SMP2020-EWWCT的通用微博Usual数据集和英文SemEval 2014 task4的Restaurant数据集上针对置信度阈值大小对准确率的影响进行实验分析,根据实验结果绘制双Y轴折线柱状图,如图4和图5所示。其中,折线代表不同阈值下高置信度样本、低置信度样本和FAN-RoBLA修正后的准确率,参考坐标系为左Y轴;柱状图代表不同置信度下高置信度和低置信度的数量对比,参考坐标系为右Y轴。
图5 SemEval task4-Restaurant不同阈值影响
从图4、图5可以看出,整体趋势上,FAN-RoBLA准确率在阈值0.8左右达到最高值并趋于稳定后略微下降。同时阈值越大,高置信度样本数量越多,此时高置信度样本的准确率越低,也验证了样本熵值越大时,样本概率内部稳定性越低;随之相应的低置信度样本则是随着阈值的提高,数量越少,准确率逐渐下降。图4反映出随着阈值增高,低置信度样本数量逐渐趋于0时,FAN-RoBLA能修正的样本数也逐渐趋于0,此时FAN-RoBLA准确率基本与高置信度相同,即与修正前概率一致。图5则反映出SemEval 2014 task 4-Restaurant数据集有一定数量的样本熵值属于0.95~1区间内,即样本预测概率内部极度不稳定,此时交替归一法对其修正效果十分微小,并且阈值于0.75~0.95区间低置信度样本数量相差很小,也导致FAN-RoBLA准确率在此区间基本不变。通过实验结果可看出,不同的阈值对FAN-RoBLA情感分类效果会产生一定的影响,高置信度数量与其准确率尽可能高时,交替归一化修正效果越好。因此针对不同的数据集选择不同的阈值才能达到最好的情感分类效果。本文实验中英两类数据集,阈值均选定0.8时达到实验最好的分类效果。
3.7.2 模型对比分析
由于virus数据集数据量只有usual的1/3,且存在严重的样本类别分布不平衡的情况。考虑到virus数据集与usual数据集存在相同的情绪主题标签,因此利用迁移学习,在usual训练好的模型基础上加入virus训练数据,以增强模型泛化能力。FAN-RoBLA模型与各对比模型在SMP2020-EWWCT和SemEval 2014 task 4-Restaurant数据集实验结果如表5所示。
表5 不同模型实验结果对比 (单位: %)
从对比试验结果上可看出,模型在情感细粒度分类任务上对比其他深度学习模型,在实验评价指标上均达到最优的效果,证明了FAN-RoBLA模型在情感细粒度分类任务中的有效性。
TextCNN模型通过不同大小的一维卷积核对文本进行特征提取,再通过池化进行特征筛选,在usual与virus数据集上均表现不佳,侧面反映了TextCNN不能通过卷积获取文本长距离依赖关系的问题所在;DPCNN通过不断加深网络以获取长距离文本依赖关系,实验效果在评价指标上的表现略好于TextCNN,证明了针对情感细粒度分类任务时,DPCNN能更有效地抓取文本关键特征信息;ATAE-LSTM结合LSTM与Attention的优势对不同方面信息进行处理,取得了不使用预训练情况下的最好实验效果,同时验证了LSTM结合Attention机制在特征提取能力上的良好性能。
通过分析表中数据可知,融合预训练模型的BERT-FC、AEN-BERT和FMNN在情感分类上的表现明显大幅优于TextCNN、DPCNN和ATAE-LSTM模型,其中BERT-FC在usual、virus和Restaurant数据集上Macro-F1值较ATAE-LSTM分别取得7.69%、7.74%和9.21%的提升,反映了BERT预训练模型的双向Transformer编码结构在更深层次的提取文本语义特征信息上的优势,并以此获取动态词向量输入全连接层进行情感细粒度分类。
3.7.3 消融实验
为更好地分析FAN-RoBLA结构中不同部分对模型的影响,设计相应的消融实验进行验证。其中,表5中baseline 7、8分别为FAN-RoBLA去掉深层语义提取结构和去掉交替归一化结构后的消融模型。
RoBERTa作为BERT的改进模型,RoBERTa-FC相较于BERT-FC在usual、virus和Restaurant数据集上F1值上分别有1.51%、1.06%和2.99%的提升,说明RoBERTa采用全词MASK机制在中文数据集上能更多考虑到文本中文词一词多义的丰富性表达,充分利用上下语义间关联来提升分类效果,这也是本文模型选用RoBERTa作为预训练模型的原因。
RoBERTa-ATTLSTM模型融合了RoBERTa、Bi-LSTM和注意力机制的优势,先通过RoBERTa获取预训练词向量,输入Bi-LSTM获取全局语义特征信息后,联合注意力机制进行关键特征权重分配,其分类效果仅次于本文提出的FAN-RoBLA模型,在usual、virus和Restaurant数据集上macro-F1值比BERT预训练模型有0.3%、0.22%和0.69%的提升,验证了通过融合Bi-LSTM和注意力机制在深度语义提取上的有效性。
本文提出的FAN-RoBLA模型在RoBERTa-ATTLSTM的基础上进一步利用数据集先验分布信息对模型输出的低置信度样本进行交替归一化修正,得到最终分类结果。对比实验中性能最好的RoBERTa-ATTLSTM模型,FAN-RoBLA模型在macro-F1值在usual、virus和Restaurant数据集上分别有2.94%、3.42%和0.87%的提升,从而进一步证明了FAN-RoBLA模型能通过结合各深度学习模型优势同时融合交替归一化方法的有效性,在情感细粒度分类下游任务上带来稳定的提升效果。
本文针对细粒度情感分类问题提出一种结合RoBERTa、Bi-LSTM和注意力机制优势的同时融合交替归一化的FAN-RoBLA模型。该模型通过RoBERTa预训练模型获取文本动态特征向量;利用Bi-LSTM结构结合上下文得到全局语义编码表示,融合注意力机制对关键特征进行权重分配;在几乎不增加预测成本的情况下,通过交替归一化修正低置信度样本得到最终结果。在SMP2020-EWWCT中文数据集和SemEval 2014 task4-Restaurant英文数据集上均达到了最优效果,从而验证了此模型在细粒度情感分类任务上的有效性。现实中,面对缺乏高质量训练数据或样本分类严重不均衡时,模型表现效果波动较大,未来工作将对如何维持模型在不同场景下的鲁棒性做进一步研究。