基于BERT变种模型的情感分析实现

2022-12-08 07:23银,赵
现代计算机 2022年18期
关键词:池化词典向量

毛 银,赵 俊

(1.四川轻化工大学自动化与信息工程学院,宜宾 644000;2.人工智能四川省重点实验室,宜宾 644000)

0 引言

人们在网络上对各种公共事件表达自己观点。新浪微博,作为中国用户数量最多的网络平台之一,用户在平台上以短文本的形式发表他们对于事物的观点,这些观点可以被其它用户浏览、评论和转发。文本情感分析指对文本中蕴含的情感信息进行提取、分析和分类,并将分类结果进行保存,来进行下游分析任务的过程。情感分析可以用于社会、科学、文化等多个领域,能深入探究社会问题、现象,提高社会运行效率[1]。因此情感分析是至关重要的。

目前,常用的文本情感分析方法分为机器学习方法、深度学习方法和基于规则的方法。基于规则的方法需要人工构建情感词典[2],由于互联网上新词和热点频发,构建的情感词典不能满足当下需求。Murtadha[3]认为,在不同的应用领域,词语的极性与它所在的句子情感强度有关,因此他们构建了依赖领域的情感词典。Rao等[4]提出了一种基于主题建模的方法来构建词典,其中每个主题都与社会情感有关。Jian等[5]通过条件随机场建立了绝对情感词典和相对情感词典,实现了一种有效的情感极性判别算法。

基于深度学习的方法已经引起了许多研究者的关注。Liriam等[6]提出了一个基于多语言短文本分类的通用框架GM-ShorT,提高了短文本的分类准确性。周玄朗等[7]融合了文本图卷积和Stacking集成学习方法,解决了卷积神经网络对特征利用不足的问题。王婉等[8]融合了Fast-Test模型和注意力机制,使模型的分类性能提高了2%。Wang[9]提出了一种被称为“不连通递归神经网络”的模型,它融入了位置不变性的RNN,限制RNN信息流的距离,在多个文本分类数据集上取得了较好的分类效果。

基于以上描述,本文提出一种新的基于位置向量获得上下文信息的模型。

1 算法描述

本文提出一种基于BERT和BiLSTM的特征提取模型BERT_MIX_BiLSTM,结构如图1所示。核心步骤分为以下几层:

(1)特征处理层:通过对数据集的训练来获得词向量,使用人工标注好的情感词典,对词向量中每一个词进行情感标注,利用BiLSTM得到文本的上下文信息,将得到的向量通过注意力机制,加权情感特征,作为下一层的输入。

(2)特征提取层:通过卷积神经网络处理加权后的输入向量,获取文本的局部特征,降低数据的维度。最后通过输出层,得到文本的情感概率表示。

1.1 特征处理层

特征处理层主要是对数据进行处理,将单词切分,并表示为词向量矩阵,遍历矩阵中所有在词典中的词,并对其与词典中保存的情感强度进行分类。通过BiLSTM来保存文本的语义,最后通过注意力机制来对特征属性进行加权。

1.1.1 BERT模型

BERT是基于神经网络模型的自然语言处理模块,其结构图如图2所示。

内部利用MLM(masked language model)生成深度的双层语言特征和下一句预测NSP(next sentence prediction)。MLM在每次迭代中随机屏蔽15%的单词[10],目的是在给定上下文的情况下,预测出被遮蔽的单词,得到每个单词的词向量表示。NSP是为了让模型能理解到两个句子之间的联系,随机调换语料库中两个句子的顺序,基于前一个句子,来预测下一个句子的概率[11]。

1.1.2 词典标注

假定输入句子:

其中wi表示句子s中第i个单词。通过微调参数的BERT模型,将输入单词wi转换为词向量vi。建立一个情感词典SD(sentiment dictionary),包括了情感词汇以及情感程度。对每个wi属于SD中的词汇赋予情感权重,不属于SD的词汇赋值为1。对于负面词汇,需要乘以-1。表达如下:

式(2)中,swi表示加权后的wi值。在预处理层中,使用赋值好的情感来对词向量vi加权。

1.1.3 BiLSTM模型

BiLSTM是由两个反向的LSTM组成。LSTM加入了一个储存单元Ct和三个逻辑门:输入门,输出门和遗忘门[12]。通过前一个时刻的输出信息和当前时刻的输入信息来共同确定当前时刻的输出信息,储存单元和逻辑门能决定当前时刻需要保留和遗忘多少信息。BiLSTM有正反两个方向,可以包含文本的上下文信息[13],LSTM结构如图3所示。

对于时间t的输入,由前向和反向LSTM获得的隐状态表示和为

对于每个单词,连接其上下文信息,得到每个单词的注释ht。

1.1.4 注意力机制

文本情感分析的任务中,某些词具有强烈的感情色彩,有些词没有或少量具有感情色彩,不同词汇对整个文本句子的情感极性具有不同的作用,因此,该模型引入了一种注意力机制[14],通过给不同的词汇加入不同的权重,情感极性强的词语获得较高的权重。对于输入ht,其权重赋予由以下公式决定。

上述公式中,ut是隐状态表示,计算与ht的相关性,ww和bw是打分函数产生的系数,通过迭代来学习。uw是上下文向量,会在训练开始时,通过位置矩阵随机初始化,并不断优化。ut与uw的相似性来判断词的重要性,然后将计算的权重标准化,用ht加权聚合成Z,Z表示整个文本的输入向量,包含着文本的所有单词的情感信息。

1.2 特征提取

1.2.1 CNN层

传统深度学习中,CNN在自然语言处理领域使用非常广泛。它由一维卷积层和一维池化层组成的前馈神经网络,卷积核的宽度与词向量一般等宽,只进行一维的滑动[15]。假设xi为数据输入,h为窗口大小,卷积过程可表示为

其中b为偏置项,f为激活函数,Ci为提取到的特征向量。假定文本长度为s。最大池化和平均池化可分别表示为

卷积操作结束后,执行池化层操作,进一步压缩特征向量,降低特征维数,提高计算速度。池化方法包括最大池化和平均池化。最大池化能保持数据最重要的特征,平均池化能显著提高其它不明显的特征。本文采用并行池化,将最大池化和平均池化汇聚相加一起,形成特征向量lv,并发送到全连接层。

1.2.2 全连接层和输出层

采用批量归一的方式加快网络训练速度,减少过拟合。全连接层将特征向量lv映射到目标空间中,获得情绪表达概率值,最后通过输出层执行分类任务。

使用sigmoid函数将输入概率值转换到[0,1]之间。当情绪值接近0,表示情感类别接近负值;接近1表示情感类别接近正值,以此获得情感标签。

2 实验及结果分析

2.1 实验环境

本实验的环境为:操作系统为Windows10,处理器为英特尔Xeon 5218R(双路),内存为128 GB,显卡为NVIDIA RTX 3080(10 G),Python版本为3.9.7,基于深度学习框架tensorflow2.9.0。

2.2 数据集

数据集采用是带标注的外卖评论数据集,共10万条,正面评论与负面评论各5万条,如表1所示。

表1 数据集标签展示

2.3 评价指标

常用的文本分类指标有召回率(Recall,R)、精确率(Precision,P)和F1值(F1),本文将绘制F1和Precision随着训练轮次的变化曲线来直观展示实验结果。

2.4 数据预处理

数据经过jieba分词,通过微调的BERT模型训练其词向量[16]。为了避免过拟合,采用批量梯度下降对参数调优,并使用网格搜索调参,寻找最优参数,如表2所示。

表2 超参数设置

2.5 实验结果分析

为了评估本文提出模型的有效性,将BERT_MIX_BiLSTM模型和几种常见模型进行对比,包括BERT+CNN模型[17]、BERT+LSTM模型[18]、BiLSTM模 型、BiLSTM+Att模 型[19]和CNN+Att模型[20]。

各个模型的精确度值对比如图4所示,与传统CNN模型相比,本文模型的精确率高于传统模型,当训练轮次达到8轮时,本文模型性能呈大幅上升趋势。而BiLSTM和CNN在此数据集中差别不大,说明数据集在上下文信息不长,使得BiLSTM在长期记忆上的特点没有得到有效发挥。BERT+LSTM精确率差,原因可能在于BERT切分词后,在词向量中已经包含过上下文向量。在后续输入进LSTM时,包含上下文信息的位置向量卷积完后与LSTM的输出拼接,使得原本序列预测失去有效性。对于上下文较长,强调下一句预测的数据集来说,BERT+LSTM性能会有所提升。

在图5展示了各个模型的F1值,可以看出,本文模型F1也有所领先,但领先幅度不大,加入了微调BERT模型后,使得模型整体的F1值有所提高,说明BERT模型使模型的性能得到了有效提升。

3 结语

为了充分获取数据中的上下文信息,加入了位置矩阵参与运算。使用了情感权重矩阵对数据进行了修正。引入了微调BERT模型,提升了整个模型的性能。下一步工作可以在该模型中加入不同激活函数,尝试使用性能更优的门控循环单元(GRU)来代替LSTM进行实验或使用更好的特征提取方法。

猜你喜欢
池化词典向量
基于高斯函数的池化算法
向量的分解
卷积神经网络中的自适应加权池化
聚焦“向量与三角”创新题
米兰·昆德拉的A-Z词典(节选)
米沃什词典
词典引发的政治辩论由来已久 精读
基于卷积神经网络和池化算法的表情识别研究
用于手写汉字识别的文本分割方法
向量垂直在解析几何中的应用