基于改进BERT-BiGRU 模型的文本情感分类研究

2023-03-15 07:32潘雅丽
电子技术应用 2023年2期
关键词:向量分类文本

李 芸,潘雅丽,肖 冬

(1.杭州电子科技大学 电子信息学院,浙江 杭州 310018;2.浙江省装备电子研究重点实验室,浙江 杭州 310018)

0 引言

文本情感分类[1]是自然语言处理(Natural Language Processing,NLP)的一个重要任务。随着互联网的飞速发展,人们不仅能够从网上获取信息,还能通过各种平台随心所欲地发表包含自己主观情绪的观点和看法,例如网络购物、微博评论等。对含有丰富情感信息的文本数据进行分析具有非常重要的现实意义,它被广泛应用于产品推荐、搜索排名等领域。但由于一些平台字符长度有限,而且用户表达较随意,存在用词不规范和词语拼写错误等问题,传统的情感分类方法在许多方面表现效果差强人意,实现高效准确的自动文本情感分类方法是本文的主要研究内容。

1 相关研究

基于深度学习的文本情感分类方法能够联系上下文信息并捕捉到文本的顺序结构,在文本信息处理、分类任务中获得了较好的效果。Kim 等人[2]最先提出了使用卷积神经网络(Convolutional Neural Networks,CNN)进行文本分类,CNN 的卷积层和池化层可以提取文本中的高层次特征,减少训练参数。Johnson 等人[3]在CNN 的基础上提出了深层金字塔卷积神经网络(Deep Pyramid Convolutional Neural Networks,DPCNN),DPCNN 引入残差结构,增加多尺度信息,通过不断加深网络有效获取文本的长期关联,却没有增加太多计算成本。

虽然卷积神经网络在情感分类任务的研究中取得了不错的效果,但是它不能很好地处理序列信息,而循环神经网络(Recurrent Neural Networks,RNN)能解决这个问题。Socher 等人[4]将RNN 应用于文本情感分类,RNN 充分考虑了句中的结构信息,但在处理长序列数据时表现不佳。Schmidhuber[5]基于RNN 提出了长短时记忆(Long Short-Term Memory,LSTM)网络,它能够有效解决RNN 的梯度消失和梯度爆炸的问题。Graves 等人[6]首次将双向LSTM 网络用于文本分类,与单向LSTM 模型相比,双向LSTM 可以更好地捕获文本的双向语义。Cho 等人[7]提出了门控循环单元(Gated Recurrent Unit,GRU),GRU 相较于LSTM 模型结构更加简单,参数更少,并且能长期保存隐藏层序列信息。Bahdanau等人[8]第一次将注意力机制应用到文本分类任务中,它对输入文本分配不同的关注,目的是协助分类模型捕捉重要信息。

在词向量表示方面,传统的文本情感分类方法大多数用词袋(bag-of-words)模型[9]来表示,然后通过标注情感词典的方法进行分类或者通过机器学习的方法分类,这些方法往往忽略了文本的顺序结构特征和上下文信息,很难学习到准确的语义特征。近年来词嵌入[10]模型逐渐被大家广泛应用,谷歌公司提出了词向量模型Word2Vec[11](Word to Vector),它将稀疏的词向量映射为稠密的词向量,按照表现形式的不同,将Word2Vec 模型分为了连续词袋模型CBOW(Continuous Bag-Of-Words Model)和 Skip-Gram(Continuous Skip-gram Model)模型。Pennington 等人[12]提出了Glove(Global Vectors)模型来解决Word2Vec 不能捕捉文本全局信息的问题,但是Glove 模型没有考虑单词含义在不同语境下的含义不同。Devlin 等人提出了BERT[13](Bidirectional Encoder Representations from Transformer)模型,它使用多层双向Transformer 编码器,可以充分挖掘并提取上下文的情感信息,BERT 模型提出时刷新了NLP 任务之前的11 项最优性能记录。

因此,本文拟采用BERT 预训练模型,结合双向GRU 神经网络,对网络文本数据进行情感分类。

2 模型结构

2.1 BERT 模型

BERT 是2018 年谷歌AI 研究院提出的一种NLP 预训练模型,它由多层双向Transformer 编码器构成,其模型结构如图1 所示。BERT 模型进行训练有两个步骤:预训练和微调。首先随机初始化模型参数,然后进行网络训练,不断调整模型的参数以达到最好的训练效果。将训练结果最好的模型参数记录下来,用自己的数据对参数进行微调以适应数据。首先对模型进行预训练产生模型参数,之后用这些参数对下游任务进行处理。在每个输入文本前插入一个[CLS]符号作最终的文本语义表示,文本中插入的[SEP]表示特殊分隔符。

图1 BERT 模型图

为了增强对文本语义的表达能力,BERT 模型提出了两个预训练任务,一个是遮蔽语言建模(Masked Language Model,MLM),对句中的部分词汇(token)进行随机遮蔽,然后预测被遮蔽的token;另一个是下一句预测(Next Sentence Prediction,NSP),让模型理解句子与句子之间的关系,从而更好地完成文本情感分类任务。

2.2 BiGRU 模型结构

GRU 是一种由LSTM 改进的深度网络模型,它将LSTM 的遗忘门与输出门合并,减少了参数,提高了效率。GRU 模型结构如图2 所示,参数说明如表1 所示。GRU 模型只有两个控制门:更新门(update gate)和重置门(reset gate),更新门用于判断前一时刻的隐藏层的状态信息是否对当前层造成影响,重置门可以删除前一时刻中的无效信息,两个门能够长期保存隐藏层的状态信息,具有更好的捕捉长距离依赖关系能力。

表1 参数说明表

图2 GRU 结构图

GRU 只能处理单向时间序列,而文本中上下文信息关联较大,因此本文采用双向GRU(BiGRU)网络,即叠加两个GRU 网络来保留一个词的前后文联系。

2.3 BERT-BiGRU 模型

本文提出一种以BERT 作为词向量模型,用双向GRU 网络进行高效的特征提取的BERT-BiGRU 文本情感分类模型,结构如图3 所示。

图3 BBG 文本情感分类算法结构图

将经过BERT 模型得到的文本词向量数据XW输入到GRU 网络中,通过rt和zt共同控制从隐藏状态ht-1到ht的计算。各门单元计算如下:

其中,W和U为权重矩阵,σ为sigmoid 激活函数。

根据式(3)、式(4),由重置门、更新门和隐含状态可以计算当前GRU 输出。通过设置rt的值来对上一时刻隐藏状态信息进行取舍,当rt接近于0 时,舍弃上一时刻候选隐藏状态,当rt接近于1 时保留,因此重置门有助于获取文本序列中的短期关联信息。当zt=1 时,ht=ht-1,即更新门有助于获取长期关联信息。

在循环神经网络的训练中,状态的传递是单向的,即从前往后传输,但文本语义特征不仅取决于之前的状态,还与之后的状态有关,因此需要采用双向GRU 网络来解决此问题,它由上下两个GRU 叠加在一起组成,输出由两个GRU 的状态共同决定,即:

其中,表示第i个文本的BiGRU 信息,分别表示第i个文本的前向GRU 信息和后向GRU 信息。Bi-GRU 网络不仅可以增加网络的深度,提高模型的训练效率和性能,更有助于扩展前向和后向文本情感信息,从整体上进行文本的综合特征提取。

将通过BiGRU 网络获得的文本特征向量输入到全连接层获得更加精确的情感特征,同时引入dropout 机制来防止模型出现过拟合现象以进一步增加模型分类的有效性,最后将提取到的文本特征整合后输入到输出层的Softmax 函数中获得情感分类结果。

2.4 BERT-BiGRU 模型改进

文本情感分类中加入注意力机制(Attention model)是为了让文本中重点词语对分类结果产生更大的影响。通过计算概率分布,选择对当前目标任务更关键的信息,对深度学习模型进行优化。下面将注意力机制与BERT-BiGRU 网络相结合,用注意力机制代替上一小节BERT-BiGRU 模型中的全连接层,通过加权得到最终的文本信息。注意力机制的输入为上一层BiGRU 网络的输出向量,权重系数计算如下:

其中,是模型训练得到参数向量的转置,将各单词按不同权重加权,最后将提取到的文本特征整合后输入到输出层的Softmax 函数中获得情感分类结果,如式(8)所示。

其中,θ代表参数向量,k表示类别数。

改进的BERT-BiGRU 模型引入注意力机制,通过在关键信息上分配足够关注来突出局部重要信息,从而提高隐藏层特征提取质量,增加情感分类的准确性。

改进算法流程如图4 所示。

图4 改进算法流程

(1)对输入的待分类文本进行数据清洗,将换行符等特殊字符清洗掉、过滤掉非ASCII 字符等。

(2)将处理后的文本数据输入到BERT 预训练语言模型中,生成文本的词向量,将词向量拼接成词向量矩阵作为文本的向量表示。

(3)将词向量表示输入到BiGRU 网络中进行特征提取后得到特征向量。

(4)通过注意力机制对文本特征向量分配不同的权值。

(5)将最终得到的文本特征向量输入到Softmax 函数中得到文本的最终情感分类结果。

3 实验与分析

3.1 实验配置

本文实验环境配置如表2 所示。

表2 实验环境配置

本文选用Acllmdb_v1 和酒店评论两个公开数据集进行验证。其中,Acllmdb_v1 是英文数据集,共有42 455 条数据;酒店评论是中文数据集,共有10 000 条数据。将数据集输入到模型进行训练之前,首先对文本数据进行清洗,将换行符等特殊字符清洗掉、过滤掉非ASCII 字符,之后按照8:2 的比例随机将数据集划分为训练集和测试集,具体划分情况如表3 所示。实验模型参数设计如表4 所示。

表3 数据集划分情况

表4 模型参数设置

本文采用以下评价指标:准确率Acc(accuracy)、精确率P(precision)、召回率R(recall)和F1测 度 (F1-Socre)。定义如下:

其中,TP 表示模型预测正确的正样本数量,TN 表示模型预测正确的负样本数量,FP 表示模型预测错误的负样本数量,FN 表示模型预测错误的正样本数量,F1是精确率和召回率的加权平均。

3.2 实验结果与分析

首先验证BERT 词向量模型的效果,在Acllmdb_v1数据集上对BERT、Word2Vec 和Glove 3 种模型进行对比。将情感文本输入到这几个词向量模型中得到含有文本特征的词向量,然后通过最大池化层和输出层得到最终的情感分类结果。实验评价指标选取准确率和F1值,实验结果如表5 所示。

表5 不同词向量模型实验结果对比 (%)

从准确率来看,BERT 明显优于Word2Vec 和Glove,达到了90.32%,比Glove 提高了2.3%,比Word2Vec 提高了5.08%;F1值方面,BERT 也远优于其他两种词向量模型,因此本文采用BERT 词向量模型。

接下来验证本文设计模型的有效性,将之与文献[14]中几种常用模型分别在Acllmdb_v1 和酒店评论数据集上进行对比,实验结果如表6 所示。各模型依次为:

表6 实验结果(%)

(1)BERT 模型,直接利用BERT 模型生成含有文本语义特征的句向量进行情感分类任务;

(2)BERT-CNN 模型,通过BERT 模型获得词向量,采用CNN 网络进行训练;

(3)BERT-RNN 模型,通过BERT 模型获得词向量,采用RNN 网络进行训练;

(4)BERT-BiGRU 模型,在BERT 模型的基础上采用BiGRU 网络进行训练;

(5)BERT-BiGRU-attention 模 型,改进的 BERTBiGRU 模型,引入注意力机制。

准确率方面,在Acllmdb_v1 数据集上,BERTBiGRU 达到了93.52%,相较于BERT-CNN 和BERT-RNN皆有提升,BERT-BiGRU-attention 模型准确率进一步提高了1.35%;在酒店评论数据集上,BERT-BiGRU 准确率依然达到了92.42%,相较于单纯使用BERT 模型提高了2.31%,BERT-BiGRU-attention 进一步提高到93.02%。

F1值能够比较全面地反映精确率和召回率,在两个数据集上,本文设计的BERT-BiGRU 和BERT-BiGRUattention 模型F1值性能较基本BERT 模型都有一定程度的提高。在较小的酒店评论数据集上,性能提升不如Acllmdb_v1 数据集,是因为小数据情况下,最大池化提取特征具有单一性问题,导致BERT-CNN 分类效果不尽人意。BERT-RNN 分类效果优于BERT-CNN,因为RNN能够解决文本序列问题。BERT-BiGRU 效果最好,它能保留文本中词与词之间的上下文关联信息,提升训练效果。注意力池化层根据文本词汇的重要程度分配不同的权值,对最终情感极性产生不同程度的影响,能够缓解最大池化信息丢失和提取特征单一的缺陷,进一步提高模型的分类效果。

4 结论

本文基于BERT 预训练语言模型,结合BiGRU 神经网络和注意力机制,设计了一种网络文本情感分类模型BERT-BiGRU-attention。该模型使用BERT 生成词向量输入BiGRU 网络,通过注意力机制对BiGRU 网络提取到的文本特征向量进行加权,最终得到文本情感分类结果。BiGRU 网络能够更好地捕获文本及其上下文的总体特征,达到高效训练的结果;注意力机制可以提高文本中更能表达情感的单词的权值,进一步提高分类的准确率。实验结果表明,和其他模型相比,BERT-BiGRUattention 在中英文数据集上都获得了很好的分类效果,明显提升了情感分类性能。

猜你喜欢
向量分类文本
向量的分解
分类算一算
聚焦“向量与三角”创新题
在808DA上文本显示的改善
分类讨论求坐标
基于doc2vec和TF-IDF的相似文本识别
数据分析中的分类讨论
教你一招:数的分类
向量垂直在解析几何中的应用
文本之中·文本之外·文本之上——童话故事《坐井观天》的教学隐喻