APP下载

基于ALBERT、Bi-GRU 和注意力机制的文本情感分析

2022-08-23王英明郭艳梅

通化师范学院学报 2022年8期
关键词:时刻注意力准确率

王英明,郭艳梅,许 青,李 洁

随着移动互联网技术的持续发展,以智能手机及平板电脑为代表的智能移动终端日益普及,以微博、微信、抖音为代表的新媒体平台得到快速发展,全球互联网用户数量持续提升. 截至2022 年3 月,微博月活跃用户达5.82 亿,日活跃用户为2.52 亿;抖音用户也已超过6.6 亿. 伴随着微博用户的日益增长,评论信息也在不断增加,这些评论信息中蕴含着网民对某一特定话题的观点和看法,分析这些情感信息的特征和极性对社会舆情的走向,以及政府引导策略的制定都有很重要的作用.

情感分析作为自然语言处理常见的应用场景,可以采用基于情感词典的分类方法,也可采用基于深度学习的方法. 基于深度学习的情感分类,具有精度高,通用性强,不需要情感词典等优点,在自然语言处理领域获得了极大的成功.

目前,很多学者对一些深度学习网络模型进行优化或者在现有深度学习网络模型的基础上进行组合,都取得了较好的效果. 文献[1]将卷积神经网络(Convolutional Neural Net‐work,CNN)和长短时记忆网络(Long Short-Term Memory,LSTM)结合起来,在Kaggle 比赛恶意评论分类中取得了98% 的实验结果. 文献[2]使用Glove 进行词向量化,构建了一个卷积神经网络和门控循环单元(Gated Recurrent Unit,GRU)的混合模型,在IMDB 数据集上取得了86.34% 的训练正确率. 文献[3]使用LSTM、Bi-LSTM、GRU 等网络模型实现了土耳其推文多分类情感分析. 文献[4]先利用BERT 模型作为特征提取模型,然后使用CNN 提取文本局部信息,最后接入一个全连接层,实现文本情感分类,实验结果优于传统情感分类算法.文献[5]、文献[6]和文献[7]将注意力机制融入文本情感分析模型,模型先利用LSTM 等方法进行初步特征提取,再结合注意力机制从不同的维度和表示子空间里提取相关的信息. 文献[8]提出了一种基于BERT(Bidirec‐tional Encoder Representation from Transformers)和层次化Attention 的模型BERT-HAN,该模型能有效提升微博情感分析的Macro F1 和Micro F1 值,具有较高的实用价值.

以上研究或利用BERT 模型提取动态词向量,或将注意力机制融入到传统神经网络中捕获重要信息,都取得了很好的效果,但构造的模型仍存在未能同时解决一词多义、关键特征提取、参数过多等问题. 为了解决这些问题,本文拟利用动态词向量解决一词多义问题、使用门控循环单元降低模型参数、利用注意力机制提取关键特征,将三者融合起来,构造分类模型对微博评论进行情感分析,提高模型的准确率.

1 基于ALBERT、Bi-GRU 和Attention的模型

为了使用动态词向量技术、提高模型情感分析的准确率和训练的效率,本文将AL‐BERT(A Lite BERT)、Bi-GRU 模型和Attention结合起来,设计了一个新的模型,模型结构如图1 所示.

图1 模型结构图

首先,对文本评论数据进行预处理,将预处理后的数据输入到词嵌入层,词嵌入层通过ALBERT 获取到文本的动态词向量;然后,利用Bi-GRU 层提取文本特征,并引入多层注意力机制捕获文本序列中的重要信息;最后经过池化层、全连接层等构建微博文本情感预测模型.

1.1 词嵌入层

词嵌入主要有两种方式:静态词嵌入和动态词嵌入. 静态词嵌入有Word2Vec、Glove、FastText等,而动态词嵌入有BERT、GPT、ELMO、ENRIE 等,考虑到词语的上下文语境,可能会存在一词多义的情况,本文选择使用动态词嵌入中的BERT 进行文本向量化.

BERT[9]是2018 年10月由Google AI 研 究院提出的一种预训练模型,BERT 模型的结构是Transformer 模型的Encode 结构,模型中的输入信号由分词向量(Token Embedding)、段落向量(Segment Embedding)和位置向量(Posi‐tion Embedding)组成,如图2 所示.

图2 BERT 模型的输入信号

BERT 模型的创新在于模型训练,模型训练由两个任务组成,一是掩码语言模型(Masked Language Model,MLM),二是预测下一个句子(Next Sentence Prediction,NSP). 通过这两个任务,可以学习到词语与上下文的相关性.

BERT 预训练模型参数过多,在实际使用时受内存和GPU 制约,本文使用BERT 模型的改进模型ALBERT,ALBERT[10]通过词嵌入参数因式分解和隐藏层间参数共享减少模型参数,通过句子间顺序预测(Sentence-Order Pre‐diction,SOP)学习句子间的语义关系,提高模型准确率. 相比于BERT,ALBERT 能够在不损失模型性能的情况下,显著地减少参数量.

1.2 Bi-GRU 层

GRU 是一种特殊类型的循环神经网络(Recurrent Neural Network,RNN),相较于LSTM,消耗资源较少,但能获得几乎相同的效果.GRU 更新门有助于捕捉时间序列里短期的依赖关系,重置门有助于捕捉时间序列里长期的依赖关系[11].GRU 模型存储单元结构图如图3 所示.

图3 GRU 存储单元结构图

GRU 计算过程如下:

首先,t时刻的重置门rt和更新门zt的输入均为当前时刻的输入xt和上一时刻的隐藏状态ht-1,重置门rt决定ht-1的更新情况,重置门zt决定是否要放弃ht-1,输出由sigmod 激活函数的全连接计算得到.

接下来,将当前时刻的重置门rt与上一时刻的隐藏状态ht-1按元素作乘法,将计算结果与当前时刻的输入xt作连接,再通过tanh激活函数的全连接层,计算出当前时刻的候选隐藏状态.

最后,使用当前时刻的更新门zt对上一时刻的隐藏状态ht-1和当前时刻的候选隐藏状态作组合,计算t时刻的隐藏状态ht.

为充分利用文本信息中的过去时刻和将来时刻的上下文语义信息,本文采用双向的GRU 算法,即Bi-GRU,模型结构如图4 所示.

图4 Bi-GRU 结构图

1.3 多头注意力层

为了关注评论信息文本序列中的关键部分、加快模型训练效率,本文使用多头注意力机制(Multi-Head Mechanism),捕获文本间的权重大小,模型结构如图5 所示[12].

图5 多头注意力机制模型结构图

多头注意力机制的计算过程如下:

在计算第i头注意力Mi时,先计算Q'与K'的乘积,然后除以这是为了计算每个特征与句子中的其他特征的相关性大小,在训练阶段突出重要特征的权重,提高模型的准确率.

2 实验与结果分析

2.1 准备数据集

本文采用的数据集是开放数据集weibo_sen‐ti_100k,约12 万条带情感标注的新浪微博评论,正负向评论各约6 万条,数据集部分数据如图6 所示,其中1 表示正向评论,0 表示负向评论.

图6 数据集示例图

2.2 实验环境

本实验是在Windows Server 2019 系统下进行的,系统硬件配置为:CPU 为Intel Xeon Platinum 8255C(20 核心)、内存为80 G、GPU为NAVIDA Tesla T4 16 G、硬盘50 G;软件配置为:cuda_10.0.130、cudnn-10.0-windows10-x64-v7.4.1.5、python 3.6.13、Anaconda3-2022.05,具体配置见表1.

表1 实验环境

2.3 实验模型参数设置

本文的实验参数主要有:词向量模型为ALBERT,词向量大小为312,批尺寸(batch-size)为64,epoch 为3,丢弃率(Dropout)为0.5,学习率为0.001,训练集与测试集比例为8:2,具体实验参数见表2.

表2 实验参数

其中,ALBERT 模型使用albert-tiny,主要配置参数如下:

2.4 评价指标

情感分类的评价指标主要有准确率(Ac‐curacy)、精准率(Precision)、召回率(Recall)、F1 值(F1-Measure)等,准确率和F1 值的计算公式如下:

本文使用准确率和F1 值在测试集上对模型进行评价. 准确率是指分类正确的样本数占总样本的比例;F1 值为精确率和召回率的调和值,F1 值越大,说明该模型越稳健.

2.5 实验对比分析

本文在微博评论文本情感分析中将AL‐BERT 预训练模型、Bi-GRU 模型,以及注意力机制融合在一起,对比Bi-LSTM、Bi-GRU、Bi-GRU + Attention、Bi-LSTM + Attention 等模型,实验结果如表3 所示. 通过实验结果可以得出:

表3 实验结果

①词嵌入层使用ALBERT 预训练模型效果明显优于使用Embedding 模型. 由表3 可知,使用ALBERT 预训练模型融合其他模型构造的分类器在准确率上均明显高于Embedding词向量模型,最高提升1.76%,直观对比如图7所示,而且在F1 值上也要优于Embedding 词向量模型,直观对比如图8 所示.

图7 两种词向量构造的模型Accuracy 对比图

图8 两种词向量构造的模型F1 对比图

②融合Bi-GRU 能有效降低模型训练参数,提高训练效率.GRU 是LSTM 变动较大的变体,比LSTM 少了一个门,参数有所降低,通过实验对比,融合Bi-GRU 的模型比文献[8]中融合Bi-LSTM 的模型训练参数减少了25%,训练时间缩短了20%,具体数据见表4.

表4 融合Bi-GRU 的模型参数和训练时间对比图

③对比同样使用ALBERT 预训练模型融合其他模型构建的分类器,如图9 所示,在模型中增加注意力机制能提高模型的准确率,但效果不是很明显,约提升0.06%,这主要是源于ALBERT 预训练模型中本身存在注意力机制.

图9 融合注意力的模型准确率对比图

④融合Bi-GRU 的模型在训练时的准确率和损失率与训练轮次和迭代次数的变化关系如图10、图11 所示,当第一轮次训练结束时,已迭代1 500 次,此时训练的准确率和损失率均趋于稳定.

图10 准确率、损失率与训练轮次变化曲线

图11 准确率、损失率与迭代次数变化曲线

⑤本文还对比了tensorflow 中GRU 模型的两种实现方式在模型训练阶段所需时间,以及最终模型在测试集上的准确率和F1 值,具体见表5.

表5 实验结果

从实验结果可以看出,两种实现方式训练出的模型在测试集上准确率和F1 值非常接近,GRU 相对好一点,但模型的训练时间相差很大,这是因为CuDNNGRU 是基于CuDNN实现的,能充分发挥GPU 的计算能力.

3 结语

本文构造一个基于ALBERT、多头注意力机制和双向GRU 的情感分类模型. 首先利用ALBERT 层,从文本信息中获取动态词向量作为特征提取层的输入,然后使用Bi-GRU 层提取特征,并在模型中融入注意力机制捕获关键特征,构造新的网络模型,从而更好地提取文本特征、分析情感极性,最后使用Softmax 分类器输出分类结果,能够获得较好的分类效果.

实验结果表明,本文构建的分类模型能有效提取文本的特征,与静态词向量相比,模型准确率提升1.76%,与Bi-LSTM 相比,参数数量下降25%,训练效率提升20%,具有较高的应用价值.

猜你喜欢

时刻注意力准确率
让注意力“飞”回来
冬“傲”时刻
捕猎时刻
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
高速公路车牌识别标识站准确率验证法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
一天的时刻