APP下载

基于BERT-BiGRU集成学习的情感语义识别

2023-05-19韩凡宇崔海波张家合

计算机技术与发展 2023年5期
关键词:分类器语义分类

游 兰,曾 晗,韩凡宇,金 红,3,崔海波,4,张家合

(1.湖北大学 计算机与信息工程学院,湖北 武汉 430062;2.湖北省软件工程工程技术研究中心,湖北 武汉 430062;3.智慧政务与人工智能应用湖北省工程研究中心,湖北 武汉 430062;4.湖北省教育信息化工程技术研究中心,湖北 武汉 430062)

0 引 言

情感识别是从机器角度感知、理解人类通过文本、图像等介质所表达的情感意图,是人工智能的关键技术之一。当前,社交网站是人们关注时事和分享个人观点的重要平台,每天会产生海量的非结构化文本评论,这些评论通常带有发表者的主观情感意图。社交评论的情感识别对于舆情管控[1]、商业营销[2-3]、社会治理[4]等有极为重要的意义,是近年自然语言处理领域的研究热点之一。

社交网络文本具有情感语义丰富、文本长度不一等典型特征,如何从长短不一的文本中判断情感极性是当前情感识别系统迫切需要解决的关键问题[5]。传统的Word2Vec[6]或GloVe[7]词向量预训练模型在一定程度上能够学习到词语的上下文信息,但存在不同语境下同一词语表达了相同语义的模型语义偏差。例如,“这台车的性价比真高”和“这台车的油耗真高”,其中“真高”在前者表达积极评论,在后者中表达消极评论,该方法难以识别。采用传统卷积神经网络模型 (Convolution Neural Network,CNN)[8]进行文本分类任务时,能够有效提取词语表示中的局部特征,但忽略了长距离上下文之间的语义关联性。该文使用基于Transformer的双向编码表征模型(Bidirectional Encoder Representations from Transformers,BERT)[9],通过动态调整词向量语义特征,并采用双向门控循环单元 (Bidirectional Gated Recurrent Unit,BiGRU)[10]进行语义编码,以增强文本的语义表达,从而挖掘网络文本中更深层次的长距离上下文情感语义信息。

如今,多数模型采用机器学习或者深度学习[11-13]的方法对文本情感进行预测,取得了较大进展。然而多数模型均为单一模型,其具有随机性。针对现有研究对文本的深层情感语义特征的提取不足以及泛化能力有限等问题,该文提出了基于BERT-BiGRU多模集成学习的深层情感语义识别模型。主要贡献如下:

(1)采用BERT预训练模型代替以往传统模型的词嵌入层,获得评论文本的隐含语义词向量表示,再通过BiGRU提取上下文的深层语义特征,提高模型对评论文本情感语义的提取能力;

(2)通过数据扰动和投票策略的集成学习,融合多个优异且具有差异性的情感识别模型,得到一个稳定且性能均衡的情感分类器,提高了模型的泛化能力;

(3)在公共数据集上进行的多组对比实验表明,提出的基于BERT-BiGRU多模集成学习的深层情感语义识别方法情感分类效果更好。

1 相关工作

情感识别相关研究已积累了不少的成果。早期,大多数情感识别基于语义规则的情感词典或传统机器学习方式,通过计算情感词的权重得出情感倾向[14]。但情感识别的质量高度依赖于情感词典和判断规则的构建,且大多数情感词典需要人工构造。随后,传统机器学习方法被使用。Pang等人[15]使用SVM、朴素贝叶斯和最大熵等算法来分析电影评论情感倾向,实验表明文本特征与SVM算法组合的效果更佳。Hu等人[16]提取评论中的情感词,根据句子中占主导的情感极性得到句子的情感倾向。传统机器学习的准确率较情感词典的方法有所提升,但其需要借助高质量的特征构造和专业领域知识。

神经网络方法近年来在自然语言处理领域越来越受学者们的重视。性能表现较好的情感识别模型大多以循环神经网络(Recurrent Neural Networks,RNN)、卷积神经网络或结合多个神经网络[17,18]为基础构建。如Kim等人[8]提出TextCNN模型,将训练好的词向量送入CNN中实现文本情感分类;陈珂等人[19]将不同特征信息结合形成不同的网络通道,作为卷积神经网络的输入,学习到句子更多的隐藏特征信息,但卷积神经网络在长距离文本建模方面能力受限。Socher等人[20]提出利用递归神经网络来构建情感树,在二元化的句法树结构上进行语义合成,提高了短文本情感识别的准确率;Wang等人[21]利用长短期记忆(Long-Short Term Memory,LSTM)网络预测文本情感极性。这些基于RNN及其变体LSTM模型能够捕捉到较长距离的依赖关系,但仍然存在无法编码从后到前的问题。针对该问题,Zhang等人[10]提出一种基于双向递归神经网络的分层多输入输出模型,该模型采用两个GRU来获取词性和句子的词向量表示,加快了多标签情感识别的计算效率。李磊等人[22]将对象信息与文本信息进行融合,利用注意力机制强化的Bi-LSTM模型得到评论文本的情感分类结果。

上述文献所使用的语言模型均为Word2Vec[6]或GloVe[7],它们均属于静态词向量,集中于获得词语浅层特征表示,无法进一步解决相同词语在不同的场景下多义性的问题。Devlin等人[9]提出BERT预训练模型,使用深度双向Transformer[23]模型,可以随时根据上下文信息动态调整词向量,解决了传统语言模型存在的一词多义问题。曹蕊等人[24]设计并研发了基于BERT-BiGRU多模集成的食品安全舆情分析系统,该系统将情感分析后的结果在地图可视化、热力图等多个模块进行可视化展示。

此外,训练好的情感分类模型想具有良好的适用性,则需要强大的泛化能力。在以往的模型中,Wan等人[25]基于朴素贝叶斯、SVM、C4.5决策树和随机森林等多种分类模型集成在一起,涵盖不同的情感特征,克服了单成员模型处理结果的不足。Deriu等人[26]训练两种不同结构的卷积神经网络作为基础分类器,再将预测结果送入到随机森林算法,其性能优于其他情感分类方法。

在现有研究基础上,针对传统语言模型的一词多义和特征抽取能力较弱的问题,该文提出BERT-BiGRU模型。首先,通过BERT预训练模型表达文本的隐含语义,再采用比双向LSTM结构更简单、运算速度更快的BiGRU模型,挖掘文本评论间的深层语义信息。考虑到单模型容易出现泛化能力不足的问题,采用交叉验证的方式训练数据集,然后以投票策略结合多个BERT预训练模型组成的基分类器,使集成模型获得最佳的预测结果和泛化性能。

2 基于BERT-BiGRU多模集成学习的深层情感语义识别

基于BERT-BiGRU多模集成学习深层情感语义的算法模型流程如图1所示。第一步是对原始数据集进行预处理,去除噪声数据;第二步是构建单个情感识别模型,将BERT预训练语言模型与BiGRU拼接得到文本分类模型;第三步,为了增强情感识别模型的通用性,构建集成情感识别模型。分别通过数据扰动的方式和基于BERT系列预训练模型得到多个情感基分类器,将步骤二的分类结果与集成模块输出的结果进行投票决策。

图1 算法流程

图1中的BERT是由中文维基百科的数据进行大规模训练得到的最终模型。BERT-wwm-ext相对于BERT使用的是中文维基百科数据和通用(百科、新闻、问答)数据,同时增加了训练步数。BERT-BiLSTM使用BERT得到每条文本的特征向量,将其作为双向LSTM的输入,挖掘网络文本中更深层次的长距离上下文情感语义信息。

2.1 基于BERT-BiGRU的文本分类模型

该文使用了BERT系列的预训练语言模型获取输入文本的语义表示{d1,d2,…,dn},其中n表示模型的输入最大长度。如果文本长度小于n,则将通过BERT模型得到的小于n的输出文本语义表示进行填充,填充多个m维零向量直至输出序列长度为n;如果文本长度大于n,则只输出前n长度的文本语义表示。

为了进一步得到文本间的内在联系,将经过BERT模型得到的语义表示作为BiGRU模型的输入。通过正向GRU来获取到所有过去时间序列中的完整上下文信息,再通过反向GRU获取所有未来时间序列的完整上下文,计算公式如下:

(1)

(2)

BiGRU在正负向的隐藏层上对输入表示dn进行计算,得到dn隐藏状态ht,将正负GRU采用拼接策略:

(3)

图2 BERT-BiGRU模型结构

得到BiGRU的隐藏状态,计算公式如下:

H={h1,h2,…,hd}

(4)

最后,使用全局平均池化来代替全连接层,得到一维的特征向量,送入softmax函数得到评论文本的情感类别,如公式(5)所示:

TEXTC=softmax(WtH+bt)

(5)

其中,Wt表示全局平均池化层的权重参数,bt表示偏置值,最后得到BERT-BiGRU模型的输出TEXT_C。模型结构如图2所示。

2.2 基于数据扰动的集成方式

由机器学习算法的误差分析[27]可知,要使训练后的模型保持良好的泛化能力,则需要降低模型的泛化误差。如公式(6)所示,泛化误差由偏差、方差和噪声组成。

E(f;D)=bias2(χ)+var(χ)+ε2

(6)

其中,bias表示偏差,即期望输出与真实输出的差别。var表示方差,即相同样本下,不同批次训练集产生的方差。ε表示噪音,刻画学习问题本身的难度,属于模型的固有误差,该文不予考虑。

随着模型复杂度的上升,偏差逐渐减小,方差增大,如图3所示。为了寻求最优平衡点,本节采用数据扰动的方法,改变交叉验证中每一折的数据划分方式,即K折交叉验证来控制偏差的大小。

首先,对训练集采用K折交叉验证的方式对原始数据集分组,将训练集划分为互不相交的K份数据,取其中一个子集作为验证集,剩余K-1份作为训练集,迭代K次。然后,取K组测试集预测结果的平均值作为分类器最终预测标签。

2.3 基于多模型投票的集成方式

集成学习[28]的思想是构建多个基分类器,将其组合成性能更优的强分类器。该方法的优点在于即使某个基分类器的结果出现错误,其他的基分类器能够及时改正。同时在构建基分类器时,需要注意每个基分类器之间要具有一定差异性。使得在各自方法上的结果达到最优,学习能力越强,关联性越低。

该文通过结合策略对基分类器的结果进行融合,使通过集成学习后的模型预测效果达到最好。首先统计所有分类器的输出类别,在生成情感识别的类别概率分布基础上采用多数投票策略进行决策。给定所有个体分类器的分类结果同样的权重,各个基分类器均只能投一票,采用少数服从多数原则,最后得票数最高的类别将作为该条评论的最终预测结果。投票公式如下所示:

(7)

3 实验与结果

为了验证模型的通用性和有效性,使用公开的新冠疫情网民情绪识别数据集COV19,由CCF举办的2020科学防疫大数据公益挑战赛权威发布,以及中科院谭松波博士收集整理的酒店评论语料ChnSentiCorp。实验结果对比则采用近年表现较好的情感识别模型,针对各自分类效果进行指标评测。

3.1 实验数据集

实验数据集一是疫情期间网民情绪识别数据集,包括新浪微博中与“新冠肺炎”相关的230个主题关键词博文,共10万条带有积极、中性和消极三种情感极性的微博数据。数据集二是与酒店评论相关的语料,共1万多条带有积极和消极情感极性的评论数据。

该文去除了2个数据集中空数据、重复数据以及文字繁简替换,清洗得到最后实验数据。实验数据具体情况如表1所示。

表1 实验使用数据统计

3.2 实验设置

选取的最大文本长度标准为能够覆盖75%左右的文本内容,不足最大长度的文本内容使用零向量进行填充,大于最大长度的文本内容进行截断。

采用的BERT词向量预训练模型为中文版的BERT-Base和BERT-wwm-ext,均由12层transformers组成,其中每层transformer的隐藏层数为768,包含12个注意力头,接入GRU单元数为128。学习率设置为2e-5,采用dropout策略,具体比率设置为0.15。

3.3 实验评测指标

实验主要是对文本进行积极、中性、消极三种情感的分类,采用的主要评价指标有精准率(Precision)、召回率(Recall)和F1值。精准率(Precision)又称为查准率,是指预测结果属于某一类的个体,实际属于该类的比例。召回率(Recall)又称为查全率,是指被正确预测为某个类别的个体数量与数据集中该类别个体总量的比例。F1值是综合准确率和召回率的调和平均数,反映整体性能的评价指标。

具体计算公式如下:

(8)

(9)

(10)

其中,TP(True Positive)是真正例,即预测为正样本,实际也为正样本;FP(False Positive)是假正例,即预测为正样本,实际为负样本;FN(False Negative)是假负例,即预测为负样本,实际为正样本。

3.4 实验结果及分析

3.4.1 单一情感识别模型的实验对比

该文采用两组对比实验,实验一是BERT-BiGRU与传统深度学习模型的对比。

(1)TextCNN[8]。使用Word2Vec对输入文本编码,送入卷积神经网络,利用多个不同大小的卷积核提取文本特征,最后通过全连接层进行分类。

(2)BiGRU[23]。使用Word2Vec训练词向量,送入双向GRU,将前后的特征信息进行关联,挖掘出各个情感特征之间的潜在联系,获得评论文本的情感倾向性。

(3)BiGRU-ATT[10]。在使用BiGRU抽取文本特征的基础上,引用注意力机制,捕获评论文本中的每个词对情感语义贡献程度大小,进行加权计算。

(4)BERT[9]。使用深度双向Transformer模型,获取评论文本的上下文语义特征表示。

(5)BERT-BiGRU。首先,通过BERT预训练模型表达文本的隐含语义,再采用BiGRU模型挖掘文本评论间的深层语义信息,得到最终的情感识别结果。

表2 多个模型在COV19上的实验结果

表2展示了文中模型和对比模型在COV19数据集上的精准率、召回率和F1值对比结果。可以看出,BERT模型的F1值达到0.717的分类准确率,对比CNN模型的0.634、BiGRU模型的0.661,分别提升了8.3和5.6百分点,验证了BERT预训练模型明显优于基于传统的词向量训练模型。其中,基于Word2Vec的词向量模型各项指标较低,主要是受中文表达一词多义的影响。而BERT模型会根据上下文的含义动态变化词向量,更能准确反映出句子的语义信息。可见BERT模型比在BiGRU加入单个注意力机制的BiGRU-ATT模型提高了5.3百分点。在相同的Word2Vec词向量模型下,BiGRU模型比CNN模型高了2.7百分点,可以看出,使用BiGRU比CNN提取文本特征的效果更佳。故BERT后接入BiGRU的分类效果取得了最佳的分类效果,说明在BERT的输出中加入BiGRU能够提取句子中更深层次的情感特征,从而提升分类准确性。

3.4.2 集成策略对实验的影响

为了验证集成思想在情感识别领域的通用性,实验二将BERT预训练模型接入不同的网络,利用其训练语料和训练步数的不同,使用不同的训练批次和训练方式来达到差异性效果。最后使用投票策略达到集成效果,实验分别在情感二分类和三分类的数据集上进行。模型说明如下:

(1)BERT。使用BERT-base预训练模型提取文本特征,训练批次分别设为32和16,最大文本截取长度分别为128和140,经过3轮训练分别得到模型1(M1)和模型2(M2)。

(2)预训练模型使用BERT-wwm-ext,训练批次为32,最大文本截取长度为128,训练得到模型3(M3)。

(3)BERT-BiLSTM。使用BERT-base预训练模型得到每条文本的特征,经过双向LSTM挖掘网络文本中更深层次的长距离上下文情感语义信息。再进行5折交叉验证,训练批次设为16,最大文本截取长度为140,训练得到模型4(M4)。

(4)BERT-BiLSTM。训练方法同(3),批次设为48,训练得到模型5(M5)。

(5)BERT-BiGRU。使用BERT-base预训练模型得到每条文本的特征,经过BiGRU的输出,进行5折交叉验证,训练批次分别设为16、48和64,最大文本截取长度别设为140、140、128,训练得到模型6(M6)、模型7(M7)和模型8(M8)。

实验将各个基分类器在COV19数据集上单独预测的分类效果进行比较分析。考虑到相同的分类器对同一个数据集的结果可能存在差别,对各个模型重复运行3次,取结果的平均值作为最后的评价指标。

表3 基分类器在COV19上的实验结果

由表3可见,同样的网络结构,使用不同的超参数集进行训练,所表现的分类结果在不同的评价指标下各有优势。比如BERT模型之间的差距达到了0.01,而BERT-BiLSTM和BERT-BiGRU使用不同的超参数,差异性在0.002~0.004之间。对比于传统的数据集单次划分,该文加入的5折交叉验证,多次划分训练数据集使数据集间互不交叉,大幅度降低了随机划分数据集带来的偶然性,增强了模型的稳定性。在多数评价指标下,BERT-BiLSTM、BERT-BiGRU在批次48和最大文本截取长度140上分别达到了同类模型最优。

为了更直观地得到各个分类器之间的差异程度,借助协方差来度量模型间的线性相关程度,对模型的预测结果进行归一化处理,得到皮尔逊相关系数作为相关度指标,展示以上8种模型的相关度分析。

图4 基于Pearson的模型预测结果相关度分析

由图4可知,各个模型的皮尔逊相关系数均在0.825以上。图中颜色越浅,代表模型之间的相关性越弱。可以得知,M1、M2和M3与其他模型的相关性较弱,这3种模型都是基于BERT预训练模型进行训练。以上做法是通过改变模型的训练参数生成有差异性的基分类器。而后5种模型是在BERT预训练模型的基础上融合了其他神经网络模型,主要是改变了模型的网络结构及训练参数,使各个模型内部的分类原理不同及提取特征的能力也各不相同。

综上所述,依据集成学习的两个前提条件,一是基分类器的分类效果要达到一定的优越性,如果基分类器的分类错误率过高将会导致集成学习的准确率降低;二是基分类器之间要具有差异性,即预测结果需要多样性,如果差异性过小,那集成结果基本无变化。因此,由表3和图4得出,选取M2、M3、M5、M7作集成学习的基分类器,对测试集的预测结果使用多数投票法得到最终的分类结果,集成结果如表4所示。

表4 COV19的最终集成实验结果

集成后的F1值达到0.732,相比最优的单模型BERT-BiGRU提升了0.3百分点。为了进一步验证所提模型的泛化能力,将以上模型在ChnSenti语料上进行测试,结果如表5所示。

表5 集成学习在ChnSenti上的实验结果

表5展示了4个单模型和集成后的模型在酒店语料上的分类效果。由表可见,BERT-BiGRU在F1评价指标上都超越了其他三种模型,分别提高了1.4,2.8和0.8百分点。证明了BERT-BiGRU比其他模型能够挖掘更深层次的语义特征,也验证了提出在BERT输出表示后接入BiGRU模型的方法具有有效性和优越性。各模型的F1值均在0.92以上,表明在二分类上各单模型表现均较为优异,导致模型间的差异性不够强,集成后的F1值提升不够明显,仅比最佳模型BERT-BiGRU提高了0.1百分点。由此可见,所使用的集成学习方法的正确性,需要集成表现优异且差距性较大的模型,才能获得明显的提升效果。

4 结束语

围绕社交网络文本的情感识别研究热点,提出了基于BERT-BiGRU多模集成学习的深层情感语义识别模型。首先,该模型采用BERT预训练模型代替以往传统模型的词嵌入层,获得评论文本的隐含语义词向量表示,再通过BiGRU提取上下文的深层语义特征,解决了传统语言模型存在的不同语境下多义词和深层情感语义抽取能力较弱的问题,实现了单模型下最优的情感识别效果。为了提高模型的泛化能力,该模型在综合分析模型的方差和偏差的基础上,将集成学习的思想应用到情感识别上,观测不同模型在不同参数和数据集上的表现,采用交叉验证的方式训练数据集,然后以投票策略结合多个BERT预训练模型组成的基分类器,使得它们具有互相纠错的能力,从而获得更优的集成结果。最后,通过在三分类和二分类语料上分别设计实验,展示出BERT-BiGRU模型在多个评价指标上优于现有大多数情感识别模型。

在未来研究中,还需考虑使用更丰富数据来挖掘情感语义,比如表情符号,图片或视频语义来辅助挖掘深层情感语义。

猜你喜欢

分类器语义分类
分类算一算
语言与语义
分类讨论求坐标
数据分析中的分类讨论
BP-GA光照分类器在车道线识别中的应用
教你一招:数的分类
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
“上”与“下”语义的不对称性及其认知阐释
认知范畴模糊与语义模糊