2021年4月第4期
Vol. 42 No. 4 2021
小型微 型计算 机系统
Journal  of  Chinese  Computer  Systems
Bert 在微博短文本情感分类中的应用与优化
宋明,刘彦隆
(太原理工大学信息与计算机学院,山西晋中030600)
E-mail :328353022® qq. com
摘 要:微博短文本是一种典型的用户生成数据(user  generate  data),蕴含了丰富的用户情感信息,微博短文本情感分类在舆
情分析等众多应用中具有较强的实用价值.微博短文本具有简洁不规范、话题性强等特征,现有研究表明基于有监督的深度学
模型能够显著提升分类效果.本文针对广播电视领域微博文本展开情感分类研究,实验对比了多种文本分类模型,结果表明
基于Bert 的情感分类方法准确率最高.深入分析实验结果发现,Bert 模型对于困难样本的分类错误率较高,为此本文引入Focal  Loss 作为Bert 模型的损失函数,提出一种基于Bert 与Focal  Loss 的微博短文本情感分类方法(简称为Bert-FL 方法),使得Bert
模型能够更容易学习到困难样本的类别边界信息,实验表明Bert-FL 方法的分类准确率绝对提升了 0. 8% ,同时对困难样本的
分类准确率也有显著提升.
关键词:微博;情感分类;Bert ;困难样本:Focal  Loss ;Bert-FL 中图分类号:TP391
文献标识码:A
文章编号:1000-1220(2021)04-0714-05
Application  and  Optimization  of  Bert  in  Sentiment  Classification  of  Weibo  Short  Text
SONG  Ming,LIU  Yan-long
(School  of  Information  and  Computer , Taiyuan  University  of  Technology , Jinzhong  030600, China )
Abstract : Weibo  short  text  is  a  typical  type  of  user  generated  data , which  contains  rich  user  sentiment  information. Weibo  short  text  sentiment  classification  has  strong  practical  value  in  many  applications  such  as  public  opinion  analysis. The  short  text  of  Weibo  has  the
characteristics  of  conciseness , irregularity  and  strong  topicality. Existing  research  shows  that  supervised  deep  learning  models  can  sig ­nificantly  improve  the  classification  effect. In  this  paper , sentiment  classification  research  is  performed  on  Weibo  texts  in  the  field  of
broadcasting  and  television. The  experiments  compare  a  variety  of  text  classification  models. The  results  show  that  Bert's  sentiment  classification  method  has  the  highest  accuracy  rate. In-depth  analysis  of  the  experimental  results  illustrate  that  the  Bert  model  has  a
higher  classification  error  rate  for  hard  samples. Therefore , this  paper  introduces  Focal  Loss  as  the  loss  function  of  the  Bert  model , and
proposes  a  Weibo  short  text  sentiment  classification  method  based  on  Bert  and  Focal  Loss  (
referred  to  as  Bert-FL  method ) , which  makes  it  easier  for  the  Bert  model  to  learn  the  class  boundary  information  of  hard  samples. Experiments  show  that  the  classification  ac ­
curacy  of  the  Bert-FL  method  has  improved  by  0. 8% absolutely ,and  the  method  can  significantly  improve  the  classification  accuracy  of  hard  samples.
Key  words : weibo  ; sentiment  classification  ; Bert  ; hard  samples  ; Focal  Loss  ; Bert-FL
1引言
近年来,随着互联网技术的迅猛发展,微博、推特等社交 媒体的出现使用户从信息的接收者转变为主动发起者,海量 数据的迸发,给文本处理任务带来了挑战,单单依靠人工方法
来挖掘信息不切实际,因此,通过某种技术手段自动化、智能
化地处理任务成为迫切需求.与此同时,深度学习,机器学习
等人工智能技术正渗透到各行各业,为中文短文本情感分析 技术革新带来了参考意义.
张小娴微博文本情感分析是自然语言处理研究的一个热点,是对带
有情感彩的主观性文本进行分析、处理、归纳和推理的过
程⑴•其中一个重要问题就是情感分类,也就是情感倾向性
判断,即判断文本的观点是积极褒义的,消极贬义的还是客观 中性的.自然语言处理技术快速发展,越来越多的研究者关注 于网络用户的情感分析.Yang 等⑵改进Kim 的模型,基于卷
积神经网络理论,对Twitter 推文进行了分类研究,并验证了
卷积神经网络对Twitter 信息情感分类的优越性能,这种方法
只考虑到了文本局部特征,未能捕获较长文本前后的信息相
关性;周瑛等⑶引入深度学习理论,提出了基于注意力机制
的 LSTM(Long-Short  Term  Memory)模型,模型解决了长文
本微博信息的情感特征分析•但LSTM 仍具有计算费时,梯
度消失等局限,同时标注成本高,同一词汇在不同领域的多种
含义仍限制了性能的提升;对于小数据集的自然语言处理任
务,ULMFiT ⑷(Universal  language  model  fine-tuning  for  text
收稿日期=2020-04-07 收修改稿日期=2020-05-18 基金项目:太原理工大学项目(9002-03011843)资助.作者简介:宋 明,男,1994年 生,硕士研究生,研究方向为自然语言处理、图像处理;刘彦隆,男,1965年生,硕士,副教授,研究方向为计算机视觉、图像处理、语音识别、自然语 言处理等.
4期宋明等:Bert在微博短文本情感分类中的应用与优化715
classification)提出了一种高效的迁移学习方法,缓解了数据集不足的问题;为平衡简单样本和困难样本的贡献,0h em[5]算法选取高损失值的样本作为训练样本,加强了对困难样本的学习程度,但完全忽略了高概率的简单样本对模型的贡献.
现有微博数据内容涵盖范围较广,同时关注敏感话题、相关领域等.从头训练的机器学习方法训练费时,对数据量也有一定要求,成本较高.因此本文提出Bert61(Bidirectional En-coder Representations from Transformers)预训练模型作为网络结构,初始化网络参数进行迁移学习,以获取深层语义信息,提升泛化能力.首先将此算法与经典情感分类算法卷积神经网络TextCNN⑺(Convolutional neural networks for sentence classification)、长短期记忆网络LSTM*〕、通用语言模型微调Ulmfit等模型进行性能对比.并针对困难样本容易分错的问题,将Focal Loss⑼引入到中文文本情感分类任务中,结合对比实验,本文提出的方法在多分类任务中优于同类算法,Fo­cal Loss一定程度提升对困难样本的分类能
力.
2相关工作
2.1Bert语言模型预训练
通过预训练得到语言的表征工作已经进行了数十个年头,从传统密集分布的非神经词嵌入模型到基于神经网络的Word2Vec[1,)和GloVe[12],这些工作提供了一种初始化权值的方法,在多项自然语言处理任务中,不仅使训练方式便捷很多,模型的效果同时有明显的提升作用•Bert把语言模型作为训练任务,通过无监督预训练的方式抽取大量语言信息,并迁移到其他下游任务.
采用Transformer1131网络结构进行预训练,受完型填空任务的启发,采用"masked language model"(MLM),并在所有网络层中把上下文信息同时考虑在内,此方法突破了单向语言模型的局限.进而可以得到深层双向的语言表示.
Bert采用双向Transformer结构,通过放缩点积注意力与多头注意力直接获取语言单位的双向语义关系.通过Trans-fonner结构获取到的信息优于传统的RNNs模型以及对正反向RNNs网络直接拼接的双向RNNs模型.
2.2输入表示
Bert的输入是由两个句子相连的序列,每个句子前面添加一个标识符[CLS]表示句子开始,尾部添加一个标识符[SEP]作为结束,两个句子通过分隔符[SEP]隔开.对于每个单词, Bert进行了3种不同的嵌入操作,分别是对单词位置信息进行编码position embeddings N对单词进行Word2vec编码token embeddings、对句子整体进行编码segmentation embeddings.将这3种嵌入结果进行向量拼接,可以得到Bert输入,如图]所示.
(输入帚理SEP] (字嵌X(耳cls)](E蔓](兔)(E*](E岛]E|SEP|j(  E.](Eg,](E*)(Eja](耳sepi]
4-
[位量嵌人][E.任了E,]
图1Bert的输入表示
Fig.1Input representation of Bert
2.3Masked LM
ELMo i,4]使用经过独立训练的从左到右和从右到左LSTM的串联来生成用于下游任务的功能.OpenAI GPT则是使用从左向右的单向Transformer作为网络结构.事实上,深层双向模型比从左向
右模型或从左向右和从右向左模型的浅层连接更强大.不幸的是,因为双向条件将允许每个单词在多层上下文中间接“看到自己”.故标准条件语言模型只能从左到右或从右到左进行训练.
为了解决语义单向问题,Bert将输入词的15%随机进行掩蔽(Mask),其中被掩蔽掉的词80%几率被[MASK]替代, 10%几率是正确的词汇,10%几率替换成词汇表中随机词汇,通过训练语言模型预测这些词来抵消“镜像问题”的影响.但是语言模型无法学习到句子间的关系,于是Bert引人下句话预测(NSP)任务来解决这个问题.预训练后Bert无需引入复杂的模型结构,只需要对不同的自然语言处理任务进行微调、学习少量的新参数,即可通过归纳式迁移学习将模型用在源域与目标域不相同的新任务中.Mask LM流程如图2所示. 2.4Transformer编码器
Bert模型采用Transformer作为特征提取器,模型由多个Transformer层叠加构成.Transformer编码器有两个子层,分别是基于自注意力机制的自注意力层和全连接前馈网络层.同时,在每个子层内都加入了残差结构(residual)和归一化层(layer nomalization),结构图如图3所示.
图2Masked LM流程
Fig.2Process of Masked LM
其中h个缩放点积注意(Scaled Dot-Product Attention)组成多头自注意力模型(Multi-Head Attention).作为基本单元,缩放注意力计算公式为
716
小型微型计算机系统
2021 年
Attention  (Q , K , V ) = softmax V
输入包括维度为d k 的queries 以及keys,还有维度为d v
的values.计算queries 和所有keys 的点积,然后每个都除以 丿石防止数值过大,最后softmax 归一化并乘以V 得到向
量值.
MultiHead(Q,K,V) = Concat( head (, ,head h ) W° (2)
wherehead, = Attention ( QWf ,KW- , VW^)
(3)
图3 Transformer 编码器
Fig. 3 Transformer  encoder
如果对矩阵Q 、K 和V 进项线性计算,转换成不同的矩 阵,然后使用h 个缩放点积单元进行计算,把h 个缩放点积单 元计算的结果组合起来,就能够获得更多的语义特征.由于每 个缩放点积单元的输入K 、Q 和V 在进行计算时的权重不
同,就能够获取来自文本不同空间的语义特征.以捕捉句子中
的每个词关于上下文的信息.
前馈网络层由两个大小为1的卷积核组成,使用ReLu
激活函数做两次线性转换
FFN(x') =max(0,xW 1 +b l ')W 2 +b 2
(4)
其中W,和W2是权重,久和b 2为偏置项.最后经过残差
网络和层归一化得到最终输出.
Transformer 编码器网络总共使用n 个编码器抽取文本
的特征,后将学习到的分布式特征使用全连接层将特征整合
映射到样本标记空间,以便进行文本情感倾向性分类.
3 基于Focal  Loss 优化Bert 微调模型
(5)
(6)
3.1交叉爛损失函数
对于大多数文本分类任务,通常采用交叉爛(Cross  En ­tropy,CE) 作为损失函数,其计算公式为公式(5):
CE(p) = -log(p,) 其中:
=[P  if  y  = 1r  [1 -p  otherwise
P,是某事件发生的概率,p,属于[0,1],对于多分类情 况,实际为二分类扩展,如公式(7)所示:
M
L  = - 丫儿吨仏)
⑺其中M 为类别数量,%指示变量,如果样本预测类别和
该类别相同则为1,否则为0,化为预测样本属于类别c 的 概率.
3.2引入权重的Focal  Loss 算法
传统交叉爛作为损失函数时,未考虑到简单样本和困难
样本对模型优化的贡献程度差异,数量多且简单的样本占 loss 优化的绝大部分,此类样本容易分类loss 值较低,相对而
言,数量少的困难样本对loss 的优化贡献下降,导致模型的优
化方向并不理想.故本文提出了基于Bert 迁移学习模型fine  tuning 时,采用重塑交叉炳损失的方法Focal  Loss,降低被良
好分类样本的损失权重,并把重点放在稀疏的困难样本上,即 情感倾向较难划分,预测概率较低的一类样本.以优化损失函
数,进一步提升情感多分类模型效果.
首先在传统交叉嫡基础上,添加了调制因子(1 -P,)r ,计
算公式为式(8):
FL(p,) = -(1 -p,)T log(p,)
(8)
其中(1 -P,Y 为调制因子,ye  [0,5 ]为聚焦参数J 取
不同值对结果影响不同,当7=0时,FL  = CE,等于传统的交
叉爛函数;当7 >0时,降低了简单样本的相对损失值,进而将 注意力放在困难样本和分错的样本上.例如当P, =0.9且y  = 2时,FL=0.01CE,即得分越高p,越接近1,损失权重越小,简
单样本对损失函数的影响越小;相反,当P, =0.2且y=2时,
FL=0.64CE,这样得分值越低p,越接近0,损失权重越大,而
不是将CE 同比降低,困难样本对损失函数的影响越大.因此,
在训练过程中加强了困难样本的训练,对简单样本减少训练.
FL(p,) = -a(l  -p,)y log(p,)
(9)
进一步a 作为平衡权重,如式(9)所示,a  w  [0,1 ],控制
正负样本对总的loss 的共享权重,调节缩放比例.Focal  Loss
同时在一定程度上能缓解数据不均衡问题,无论哪种类别数 据较少,由于样本少导致在实际训练过程中更容易判错,种类
特征学习不够,置信度也变低,损失也随之增大.同时在学习
过程中逐渐抛弃简单样本,因此,剩下了各类别的困难样本,
可以达到同样的训练优化目的.
3.3情感分类模型训练流程
具体基于Bert 与Focal  Loss 的情感分类模型微调流程如 图4所示,首先对标注的微博语料进行数据预处理,包括去除
图4 Bert-FL 模型训练流程
Fig. 4 Training  process  of  Bert-FL  model
无关字符,特殊符号等;然后进行分词,根据position  embed ­dings  token  embeddings  ^segmentation  embeddings  得到 Bert  的
4期宋明等:Bert在微博短文本情感分类中的应用与优化717
输入向量表示;输入到经过初始化的预训练Bert模型中,利
用分类器预测值与真实标签值对比并通过Focal Loss算法得
到损失值;最后优化器进行优化调整权重参数,重复fine tun­
ing过程直至迭代结束.
4实验与分析
4.1实验数据
本文数据是针对广播电视领域,通过网络爬虫爬取新浪
微博某时间段热点话题评论数据,通过人工对微博评论数据
的情感倾向进行标注整理,得出积极正面语料5027条,消极
负面语料5058条,中性语料9939条,共计20208条数据集.
微博数据内容不规范,通常包含一些与情感分类无关的
符号,例如网址链接url,话题内容“#话题#”,“@用户”,类似
的这些字符并不是人们想要表达的信息,这些无用的信息可
能对接下来的情感分类效果造成一些影响.所以首先要删除
过滤掉这类无关字符,一般通过正则表达的方法来处理,去除
特定字符进而保留文本的主要内容.在运行各算法之前,通常
要对文本分词,本实验统一采用jieba来分词.另外,根据个别
算法的要求,有时也需要对停用词进行处理,对照停用表将其
去除.将预处理后的数据存放在本地数据库中,进行下一步语
料库的划分,其中每个类别随机抽取439条,共计1317条用
作测试集.剩下每个类别随机抽取90%用于训练构建模型,
10%用于验证调整模型参数.详见表1.
表1数据集划分
Table1Date set partition
语料集情感类别训练集验证集测试集
负面4157462439
微博评论数据中性8550950439
正面4129459439
4.2评价指标
准确率(Accuracy)是在衡量文本分类结果时常用的直观
的评价指标•它是在测试文本中,预测标签与实际标签吻合的
文本所占的比率•计算公式为:
Accuracy=分类正确的文本数
样本总数
(10)
预测时长是指在同等文本数量情况下,各模型完成预测所占用的时间.
4.3结果及分析
为验证双向语义编码表示Bert的有效性,实验首先构建Bert网络结构,并用同样的数据集在一些经典情感分类方法上进行训I练预测,多次训I练得出各自最优模型对比.
由于实验数据是中文微博短文本,且微博规定评论内容不超过140个词,结合实验所用服务器的内存大小,故处理文本的最大长度设置为150,同时对过短为句子也不做处理. Bert模型训练的具体参数如表2所示.实验在Linux CentOS 7.3.1611下进行,采用Anaconda虚拟环境编程,实验基于Tensorflow1.11.0和Pytorch1.3.0深度学习框架来搭建模型,并使用两块TITAN X(Pascal)GPU来运行模型.
实验结果如表3所示,从实验结果可以看出,在整体准确率方面,基于预训练的迁移学习模型都在90%以上,均优于从头训练的网络模型,其中Bert的分类准确率最高,达到91.56%.由于Transformer编码器在处理文本序列时,序列中单词之间不受距离的限制,任意单词之间的关系都可以捕获.一定程度证明Transformer编码器效果优于LSTM.TextCNN
表2Bert超参数设置
Table2Bert hyperparameter setting
超参数参数值
max_seq_length150
train_batch_size32
leaming_rate  2.5e-5
num train epochs20
准确率最低,因为其提取的局部特征在任务中会缺失部分前后相关语义信息-LSTM准确率相较于TextC
NN提升不明显原因可能是大部分句子长度较短,简单的单向LSTM并没有发挥提取长期特征的优势.但在分类速度上,TextCNN的分类速度远远超过迁移学习类模型,仅需Is,原因是CNN其权重共享特征,参数大大减少,Bert模型速度最慢.另外无论LSTM与Transformer网络结构都相对复杂一些.对比试验表明,Bert模型在短文本情感分类任务中准确率最高,但分类速度表现略差.
表3各模型分类结果对比表
Table3Comparison table of classification results of each model
分类
模型
准确率/%
耗时/s
负面中性正面总体
非迁移学习
TextCNN82.5193.3884.7487.091
LSTM83.4191.5987.7387.5783
迁移学习
Ulmfit87.7489.5393.4190.21101
Bert91.8993.0389.7591.56228虽然Bert网络模型整体预测准确率略有提升,但由于数据中存在情感倾向较难区分的句子,这些因素都不同程度对分类准确率造成了影响.为解决此问题,进一步构建基于Fo­cal Loss的Bert模型,进行多组实验,选出最优权重因子a参数,如表4所示.
表4Bert-FL不同参数在测试集的表现
Table4Performance of different Bert-FL
parameters in the test set
7=2
a=0.25a=0.5a=0.75
Bert-FL91.7191.5692.39由表4可以看出,当丫=2且a=0.75时,能达到最高准确率92.39%,证明了此参数更适合本次情感分类任务.同时与Bert的最高准确率91.56%相比,提升0.83%,可以得出,此方法在整体准确率上略有提升.各类别预测结果如表5所示,对比实验结果表明,改进后的Bert-FL模型在数据相对较少的负面和正面的分类准确率均有一定提升,整体准确率分布更加均衡.
为进一步验证Focal Loss对困难样本的学习能力,实验从439条测试集中人工筛选出408条简单样本,31条困难样
718小型微型计算机系统2021年
本进行测试.Bert和Bert-FL在简单/困难样本中的表现如表6所示.
表5各情感类别准确率对比
Table5Comparison of accuracy rates of
various emotion categories
情感类别Bert Bert-FL
负面91.8992.23
中性93.0393.45
正面89.7590.60
表6Bert-FL在简单/困难样本中的表现Table6Performance of Bert-FL in easy/hard samples 分类模型简单样本(分类准确率)困难样本(分类准确率)Bert95.8332.26
Bert-FL95.5948.39
由表6可以看出,将Bert的损失函数替换成Focal Loss 后,简单样本的准确率变化不明显,而对于31条困难样本预测准确率,模型有一定程度的提升.这是因为简单样本置信度高,损失小,权重因子a与Y参数的作用使得损失变化更小,参数更新越微小;与之相比,困难样本置信度低,损失较大,优
表7各类别例句
Table7Example sentences for various category 情感类别例句•
少儿频道前几年不停的喜洋洋后来的熊出没清一仟的动画片啥都没教到小孩学的全是些暴力这会
负又放葫芦娃…我真的佛了央视都这样其他的台得垃
圾成什么样.
“小马云”不当网红,回家了,如今生活美满!“小马
云”被奸商利用,各种摆拍,陪大佬吃饭,一顿饭奸
商就可以赚好几千•奸商靠“小马云”拉拢应酬,帮
自己炒名气.热心网友:他不是工具!请放过一个9
岁孩子!小马云放弃做网红,回家带回去各种好吃
好喝•还帮家里干农活,给家里人买衣服.
【背太婆过马路,捉到一只有爱心的绵阳交警小哥
哥】6日,一网友阿邓妹妹儿随手发图片微博让绵阳
交警小哥了!该网友配文绵阳的交警真的让人在大
热天感动得热泪盈眶!,根据其微博配图显示:当时,
一位交警小哥在烈日下,背着头发花白的太婆过马
路•微博一经发出,引发网民积极热评.
说实话很早点开直播没刷微博所以不知道被堵车
了,也不知道有海报恋脸上这件事,全程看直播就是
激动到哭,想象自己也在现场看他们真的挺开心的,
然后回到微博才知道有那么多恶心事…丢人…心疼
荷兰宝宝已经去乐园玩了,希望别再追着他堵着他
了,希望妮妮抖森和马克叔好好休息,真的.
化器着重学习此类样本•实验结果一定程度验证了改进后的算法在不影响简单样本分类效果的情况下,提升了困难样本的分类准确率•证明了该算法的可行性与有效性.表7展示了数据集中正面、中性、负面3类别例句以及困难样本例句.5结束语
本文在面向广播电视微博领域的中文短文本情感多分类任务中,提出了Bert作为预训练模型初始化网
络参数,在模型微调时刻采用Focal Loss替代交叉爛,一定程度缓解训练数据稀疏的困难样本和较多的简单样本对分类器学习贡献度不同的问题.该方法仍然有不足之处,训练模型大及参数过多,预测时间长等•在今后的研究工作中将继续优化算法模型,改进模型缺点•提升模型在工程中的应用效果.
References:
[1]Pang B,Lee L.Opinion mining and sentiment analysis[J].Foun­
dations and Trends in Information Retrieval,2008,2(1-2):1-135.
[2]Yang X,Macdonald C,Ounis I.Using word embeddings in twitter
election classification[J].Information Retrieval Journal,2018,21
(2-3):183-207.
[3]Zhou Ying,Liu Yue,Cai Jun.Sentiment analysis of micro-blogs
based on attention mechanism[J].Information Studies Theory Ap­plication,2018,41(3):89-94.
[4]Howard J,Ruder S.Universal language model fine-tuning for text
classificationf J].arXiv preprint arXiv:1801.06146,2018.
[5]Shrivastava A,Gupta A,Girshick R.Training regionbased object
detectors with online hard example mining[C]//IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2016.
[6]Devlin J,Chang M W,Lee K,et al.Bert:pre-training of deep bidi­
rectional transformers for language understanding[J].arXiv pre­print arXiv:1810.04805,2018.
[7]Kim Y.Convolutional neural networks for sentence classification
[J].arXiv preprint arXiv:1408.5882,2014.
[8]Sundermeyer M,Schluter R,Ney H.LSTM neural networks for
language modeling[C]//13th Annual Conference of the Interna­tional Speech Communication Association,2012:194-197.
[9]Lin T Y,Goyal P,Girshick R,et al.Focal loss for dense object de-
tectionf J].IEEE Transactions on Pattern Analysis&Machine In­telligence,2018,42(2):318-327.
[10]Brown P F.Class-based n-gram models of natural language[J].
Computational Linguistics,1992,18(4):467-479.
[11]Mikolov T,Sutskever I,Chen K,et al.Distributed representations
of words and phrases and their compositionality[J].Advances in Neural Information Processing Systems,2013,2(26):3111-3119.
[12]Pennington J,Socher R,Manning C.Glove:global vectors for word
representation[C]//Proceedings of the2014Conference on Empir­ical Methods in Natural Language Processing(EMNLP),2014:1532-1543.
[13]Vaswani A,Shazeer N,Parmar N,et al.Attention is all you need
[C]//Advances in Neural Information Processing Systems,2017:
5998-600&
[14]Peters M,Neumann M,Iyyer M,et al.Deep contextualized word
representations[C]//Conference of the North American Chapter of the Association for Computational Linguistics:Human Language Technologies,2018:2227-2237.
附中文参考文献:
[3]周瑛,刘越.蔡俊.基于注意力机制的微博情感分析[J].
情报理论与实践,2018,41(3):89-94.