《武汉工程大学学报》  2020年06期 688-692   出版日期:2021-01-30   ISSN:1674-2869   CN:42-1779/TQ
基于BERT的复合网络模型的中文文本分类


文本分类[1]是自然语言处理(natural language process,NLP)任务的基础工作也是其研究领域的热点之一,主要目的是针对文本进行归类,便于对文本进行高效管理配置与检索并解决信息过载的问题。由于网络上产生的媒体新闻、科技、报告、电子邮件、网页、书籍、微博等文本内容呈现指数增长,需要对这些文本进行归类加以组织管理,也可根据用户的偏好,进行信息过滤或精确优先推荐,增强用户黏性,因此具有一定的应用研究价值。transformers 的 双 向 编 码 器(bidirectional encoder representations from transformer,BERT)在文本分类上的成功应用,有效地促进了文本分类的研究与发展[2]。但基于BERT的文本主题分类大多数都是以英文数据集为对象,针对中文网络新闻文本的研究多数都是在词语级词向量的基础上提出网络模型结构。本文通过学习BERT模型、双向门控循环神经网络(bi-directional gated recurrent unit,BiGRU)模型,为提高文本主题分类的准确率,提出基于BERT的复合网络模型(BiGRU+BERT混合模型,bG-BERT)的文本主题分类方法,在实验所用中文新闻数据集上使用NLP的综合评价指标Accuracy值、F1值,证明了bG-BERT模型在文本分类方面的有效性。1 相关研究文本主题分类方法主要有词匹配法、统计学习方法和基于深度学习的方法[3]。词匹配法是根据查询文档中的词语是否出现在需要分类的文档内容中,这种方法没有考虑上下文联系,方法过于简单机械。统计和机器学习的方法[4-5],是通过特征工程然后再结合机器学习的方法,首先将标注的训练集的内容部分转换为特征,再使用特征提取分类特征,最后使用朴素贝叶斯、回归模型、支持向量机等文本分类器进行分类。由于分类器性能的好坏主要依赖查询词典设计有效的特征,需要专业知识丰富的的专家来设计分类特征,人为影响因素大。因此早期的文本分类方法难以胜任复杂的篇章级别新闻文本主题分类任务。后期出现的基于深度学习的方法是传统机器学习的重要分支。文本表示方面,Zhang等[6]应用的word2vec模型,其核心思想是通过上下文得到字词的向量化表示,一种根据前后的字词预测中间字词的CBOW模型和另一种利用中间字词去预测前后的字词的Skip-gram模型,解决了高效表达一篇文档的难点。郑亚南等[7]使用glove模型进行特征提取,再使用SVM进行分类。赵亚欧等[8]使用ELMo模型,动态调整word emdedding,解决了词语用法的复杂性以及这些复杂用法在不同上下文中的变化。胡春涛等[9]使用BERT模型,采用双向Transformer进行句子篇章级别的提取特征,弥补了word2vec无法理解不同字词在不同位置语义不同的不足,相对ELMo的单向Transformer,BERT综合考虑前后两个方向的信息,具有更优的并行性。构建语言模型方面,陈巧红等[10]将卷积神经网络(convolutional neural networks,CNN)应用于文本分类,将经过向量化的文本作为输入,最大程度提取深层局部特征,但缺少学习序列相关性的能力。孙敏等[11]把长短时记忆网络(long short-term memory,LSTM)应用于情感分析,由若干遗忘记忆模块组成复杂网络结构,能更好获取上下文特征,有效解决梯度消失问题。卢健等[12]提到门控循环神经网络(gated recurrent unit,GRU),是由LSTM而来,其结构更简单,收敛速率更快。吴小华等[13]将双向长短时记忆网络(bi-directional long short-term memory,BiLSTM)用于情感分析,BiLSTM由双向的LSTM网络组成,可更好获取文本句法信息。王丽亚等[14]等将双向门控循环神经网络的双通道模型用于文本分类,BiGRU是由正向的、方向相反的,且输出由这两个 GRU 的状态共同决定的 GRU 组成的神经网络模型,并且能有效弥补LSTM训练时间长,GRU不能同时捕获前后词的特征的不足。本文针对中文新闻文本,综合考虑BERT模型在文本表示方面,BiGRU在语言模型构建的特征优化方面的优点,提出了基于BERT的复合网络模型(bG-BERT)。充分利用BERT模型强大的语义信息获取能力,提取语句特征,然后使用BiGRU网络强化在不同时间段更新后的上下文特征,减少特征在传递过程中的信息损失,筛选出丰富包含全局特征,深化模型的特征学习能力,从而提高新闻文本分类的准确率和高效性,减少训练时长,实验最后验证了模型的实际应用能力。2 基于BERT的复合网络模型基于BERT的复合网络模型(bG-BERT),主要围绕以下三部分展开:第一部分为BERT模型输入和预训练,第二部分为bG-BERT模型网络结构的建立,第三部分为bG-BERT模型训练。2.1 BERT模型输入表征及预训练与传统的word2vec和glove模型相比较,传统模型的嵌入为文本内的每个字词提供一个只含有局部信息表示的表示。BERT模型,目的是利用无标注预料进行训练,获得包含丰富语义信息的表示。BERT模型的输入可以是一个句子或句子对c=[[w1],[w2],[…],[wn]],[[s1]],[[s2]],…,[[sn]]]([wn]为第一句话里面的第n个单词,[sn]表示一段话里的第n个句子),实际的输入值是经过Word Piecetoken的中文字向量(Token Embedding),[Etoken=][{ECLS,EW1,…,EWn}],判断前后句的Segment Embedding,[Esegment={EA1, EA2, … EAn, EB1, EB2…,][EBn}]([An]表示句子对中的前一句话的第n个单词,[Bn]表示对子对后面一句话的第n个单词)和区分不同位置字词所携带信息存在差异的Position Embedding,[Eposition={E0,E1,…,En}],三者的信息的总和。BERT模型预训练分成两个阶段,第一个阶段是Masked LM,为训练双向transformer[15]表示,采用随机掩盖每个序列中的15%的输入词,然后基于上下文来预测被掩盖的词语。第二个阶段是Next Sentence Prediction,这一任务中主要学习判断两个句子之间的关联性,使模型具备理解长序列上下文的联系能力。2.2 bG-BERT模型结构特征该混合模型由3部分组成:首先BERT提取文本的语义表示特征,主要使用BERT的核心模块Transformer获取全局的语义信息;其次使双向GRU加强深层特征表示,最后引入分类器,主要由dropout防止混合网络过拟合,使用softmax函数预测新闻文本所属类别。模型如图1所示。图1 bG-BERT模型Fig. 1 bG-BERT model1)获取输入表征后,首先使用具有12个Transformer特征抽取器,逐层传递并细化特征表示,计算如公式1所示:[Rl=Transformerl(Rl-1)] (1)式中,l表示对应的层数,[Rl]为经过对应层的特征的上下文表示。Self-Attention机制是Transformer中的关键部分, Self-Attention机制主要分为4个步骤:首先输入为目标字词、上下文各个字词的语义向量表示,通过线性变换获取目标字词的Query向量表示、上下文各个字词的Key向量表示和目标字词与上下文各个字词的原始Value向量表示;其次计算Query向量和各个Key向量的相似度得到权重,常用的相似度函数有点积、拼接、感知机等;然后使用softmax函数对这些权重进行归一化处理;最后将权重和目标词的原始Value和各上下文字的Value向量进行求和,得到最后的增强语义向量表示;作为Attention的输出,计算过程如下:[Q,K,V=linerQ,K,V] (2)[fQ,Ki=QTKi dotQTWαKi generalWα[Q;Ki] concat] (3)[Wi=softmaxfQ,Ki=exp[f(Q,Ki)]j=1Jexp[f(Q,Ki)]] (4)Self-Attention(Q,K,V)=[j=1JWiVi] (5)式中,Q为文本中的字词,K为上下文的各个字,V为目标字及其上下文的字都有各自的原始Value,[Ki]为第i个字的Key值,[Wi]为第i个字时的权值向量,[fQ,Ki]为相似度,Self-Attention为注意力概率分布,j表示维数,J表示维数上界。通过Embedding的向量输入到BERT模型的Transformer 的编码器和解码器之后,对于单文本分类来说,BERT模型在文本前插入一个[CLS]符号,与其他文本中已有的字词相比,该符号无明显语义信息会更公平地融合文本中各个字词的相关信息,该符号对应的输出向量作为整篇文档的语义表示,可作为输入到后续模型进行特征加强或分类。2)将BERT模型输出的融入语义篇章信息的特征向量,输入到BiGRU模型。其中更新门和重置门是其核心组件。更新门[Ut]用于控制前一时刻的状态信息传入到当前状态的程度,重置门[Ft]用于遗忘前一时刻状态信息的程度。将重要特征保留,保证其在long-term 传播的时候也不会被丢失。其计算过程如公式6~9所示。[Ut=σ[Wu?(ht-1,xt)]] (6)[Ft=σ[Wf?(ht-1,xt)]] (7)[ht=tanh[W?(Ft×ht-1,xt)]] (8)[ht=1-Ut×ht-1+Ut×ht] (9)式中,Ut表示t时刻的更新门,Ft表示t时刻的重置门,[ht]表示t时刻的候选激活状态,[ht]表示t时刻的激活状态,[Wt]为权值矩阵,[xt]为t时刻GRU的输入。3)获取语义篇章信息,加强特征的表示向量,传给softmax函数进行预测分类结果b={[y1],[y2],…,[yn]},对应相应的新闻主题。2.3 bG-BERT模型训练训练模型是为了最小化损失函数。本文选取的损失函数为交叉熵损失函数,优化器选取Adam。算法:bG-BERT模型的新闻文本分类算法输入:训练数据集x =[[x1],[x2],…,[xn]],对应标签y =[[y1],[y2],…,[yn]]输出:输入样本属于每个类别的概率[pi=(0,0,0,1,0,0,0,0,0,0)]初始化模型中的参数。数据预处理:将分类的文本转化为字向量、句子向量和位置向量三者的综合e= [[e1],[e2],…,[en]]。然后作为bG-BERT模型的输入。For each text:[αi]=M([ei])用softmax进行分类:[y(αi)]=[ezjk=1Kezk]其中k为维数,z为实向量。y是10维向量表示预测属于该类的概率。3 结果与讨论3.1 实验数据、环境与参数实验采用的数据集是THUCNews,数据来自新浪新闻RSS订阅频道2005-2011年的历史数据筛选过滤生成,包含74万篇新闻文档。从原始数据集上选取10个分类标签(体育、娱乐、家居、房产、教育、时尚、时政、游戏、科技、财经)。训练集、验证集和测试集分别为5 000×10,500×10,1 000×10,总共6.5万条。对本文提出的bG-BERT模型新闻文本分类方法进行验证和分析。实验环境配置如下,语言:Python3.7,工具:Google Colaboratory,框架:Keras2.2.5,处理器:Tesla K80 GPU。本文模型参数具体设置如下:嵌入向量维度VEC的维度为128,BERT的维度为768,BiGRU的维度为10,BERT的学习率为0.000 01,VEC的学习率为0.001。3.2 对比实验设置为测试模型的有效性,选择了多个对比模型进行比较,主要包括以下5个:1)Word2Vec-BiGRU(W2V-bG):单一的BiGRU网络,利用word2vec训练得到的词向量作为输入。2)CNN-BiLSTM-Attention(CNN-bL-Att):CNN-bL- Att组合的复合网络模型。3)BERT:单一的bert模型。4)BERT-BiLSTM(bL-BERT):单一的BiLSTM网络,利用BERT训练得到的词向量作为输入。5)bG-BERT:单一的BiGRU网络,利用BERT训练得到的词向量作为输入。1、5对照为证明BERT特征抽取能力高于word2vec模型。3、4、5对照为证明BiGRU模型的能使特征更加优化。2、5比较证明比现已提出的国际最新的新闻文本分类的效果更加优化。3.3 实验结果分析由于用测试集所得的评测指标分数比用训练集所得的分数更能反映一个模型的优劣。实验选择在测试集上的具体验证对比结果如表1所示。表1 模型对比结果 Tab. 1 Results of model comparison %[模型\&准确率\&精确率\&召回率\&F1\&W2V-bG\&92.38\&92.56\&92.38\&92.34\&CNN-bL-Att\&95.43\&95.43\&95.43\&95.43\&BERT\&96.31\&96.39\&96.31\&96.29\&bL-BERT\&96.58\&96.61\&96.58\&96.57\&bG-BERT\&97.22\&97.24\&97.22\&97.21\&]从表1可以看出,bG-BERT模型的准确率和F1值均高于第3组和第4组,可以证明BiGRU对于序列化的语义特征具有更好的更新强化作用。在与第1、2组实验对比结果可以看出,BERT能有效提升准确率和F1值,证明BERT对于预训练时能准确高效地提取文本中的特征,有利于下游任务进行分类。整体来看,本文提出的bG-BERT模型的分类效果更好,充分发挥了BERT对于语义表示特征的能力,并迁移到下游分类任务提升模型整体的性能,BiGRU对于预处理的特征表示的特征抽取以及深层次特征学习的能力。并且与现已提出的国际最新的CNN-BiLSTM-Attention 复合网络模型新闻文本分类的的F1值高出1.78个百分点。其中bG-BERT在Accuracy、F1上取得最高值为97.22%、97.21%。为清晰地反映5组模型的优劣,分别绘制了各模型的准确率a和损失率l在验证集上的变化曲线,如图2所示。注:图2 验证集评测图:(a)准确率变化,(b)损失率变化Fig. 2 Validation set evaluation diagrams: (a) accuracy rate variation,(b) loss rate variation本次实验训练迭代次数为5次(W2V-bG,CNN-bL-Att的Epoch为10,图2中的W2V-bG,CNN-bL-Att的取值为训练10次中的后面5次的数据),从图2的准确率和损失率变化可以看出,使用BERT进行特征抽取,明显要优于传统的Word2Vec模型。而使用BERT的3组模型虽然很接近,但是结果相比BERT模型、bL-BERT模型仍然有微小的提升。准确率的最高值97.52%,损失率的最低值9.51%均为bG-BERT模型上计算得出(Epoch为1时),此外bG-BERT模型整体也较为稳定,在新闻文本分类上更具有优势。综上所述,在相同数据集中,bG-BERT表现性能优于其他模型,能够提高文本分类的准确率,且具有很好的应用能力。4 结 论本文采用复合网络的bG-BERT模型,应用在中文新闻文本分类任务中,在中文新闻文本上进行训练和测试取得较好的分类效果。并且与单独的BERT模型,BiGRU以及最新融入注意力的bL-BERT模型进行比较,取得的准确率和F1值更优,结果表明基于bG-BERT模型能有效学习到长文本中的深层次重要特征,以及上下文的信息。但由于混合后的模型需要的网络参数更多,结构更加复杂,需要更多的算力和时间代价。下一步的研究目标将探究如何优化高分类准确率下且计算与时间代价和损失更小的参数更少的轻量型复合网络模型。