基于CNN-BiLSTM 网络引入注意力模型的文本情感分析

2019-08-06 00:56王丽亚刘昌辉蔡敦波赵彤洲
武汉工程大学学报 2019年4期
关键词:准确率向量注意力

王丽亚,刘昌辉,蔡敦波,赵彤洲,王 梦

武汉工程大学计算机科学与工程学院,湖北 武汉 430205

情感分析[1]是自然语言处理领域的一个重要研究方向,文本情感分析的主要目的是从原始文本中提取出说话人的主观情绪,包括其针对某个对象的立场是褒扬还是贬损,其对某事件的态度是积极还是消极等等。

情感分析方法主要是基于有监督学习、基于语言学和基于深度学习的三类方法[2]。随着深度学习在图像处理和语音识别领域的成功应用,便逐渐将其应用到自然语言处理领域,其中情感分析就是一个很重要的研宄方向。Bengio 等[3]最早使用神经网络构建语言模型。Mikolov 等[4-5]于2013 年提出了word2vec 技术,推动了词向量的快速发展。Kim 等[6]对比了不同词向量构造方法,利用提前训练的词向量作为输入,通过卷积神经网络(convolutional neural network,CNN)实现句子级的文本分类。Lee 等[7]利用基于循环神经网络(recurrent neural network,RNN)和CNN 训练文本的向量,通过普通人工神经网络(ANN)实现文本分类,证明了添加文本序列信息可以提高分类的准确率。普通RNN 可以有效地利用近距离的语义信息[8-9],RNN 有多种变种循环神经网络模型,长短时记忆网络(long short-term memory,LSTM)[10-11],可以捕捉较远距离的两个文本元素之间的相互关系,获取更多文本序列信息。双向长短时记忆网络(bidirectional long short-term memory,BiLSTM)[12],由两个LSTM 组合而成,一个前向传播、一个后向传播,可以有效地利用文本的上下文语义信息。Bahdanau 等[13]最早提出了注意力机制理论,并将其应用到了机器翻译领域。Mnih 等[14]在RNN 模型上使用了注意力机制来进行图像分类,使得注意力机制真正意义上流行了起来。类似图片,文本中重点信息也会出现分布不均的情况,可以利用注意力机制(Attention)通过对文本向量的语义编码分配不同的注意力权重,以区分文本中信息的重要性大小,提高分类的准确率。

胡荣磊等[15]提出了LSTM 添加注意力机制的方法,证明了添加注意力机制较传统的机器学习方法和单纯的长短期记忆网络的方法有明显的优势。Zhou 等[16]提出C-LSTM 模型,将CNN 与LSTM以链接的方式构建网络模型,增强了模型特征学习能力从而改进了模型分类效果。

但是单LSTM 只能学习前向特征,忽略了后向特征的学习,不能很好的利用上下文语义特征,从而限制了文本分类性能。本文采用CNN 基础上添加BiLSTM,并证明了BiLSTM 的添加对模型的分类效果起到正影响,而且弥补LSTM 的不足,再在此网络基础上添加注意力机制,在丰富特征信息的同时减少了噪声干扰。通过实验证明了此网络模型对提高文本分类准确率的有效性和高效性。

由于本文模型中CNN 和BiLSTM 是链式链接关系,存在链接次序影响的问题,所以实验部分给出了CNN-BiLSTM 网络联合次序的有效性分析。

1 CNN-BiLSTM网络引入注意力模型

通过学习已有的神经网络模型,为了提高文本情感分析的准确率,本文提出了CNN-BiLSTM 网络引入注意力模型的文本情感分析方法。模型网络结构如图1 所示。

其主要包括两个部分:一是CNN-BiLSTM 网络构建,本文后面将进行CNN 网络与BiLSTM 网络连接方式的有效性分析。二是引入注意力模型。实验主要流程为:首先获取大规模语料训练而成的词向量矩阵,生成词索引,通过嵌入层,将其输出作为CNN-BiLSTM 网络的输入,然后引入注意力模型,再添加全连接层,最后通过softmax 分类器进行情感分类,其中采用dropout技术防止过拟合。

图1 模型的网络结构图Fig.1 Network structure diagram of model

1.1 模型表示

1.2 卷积神经网络模型

利用 提取局部特征。CNN 是一种前馈神经网络,其模型结构主要包括输入层、卷积层、池化层、全连接层和输出层几部分。

将嵌入层的输出作为输入,句子中每个词的词向量为xi,xi∈Rn×d,其中n 是词数,d 是向量维度,本文定为200 维。

卷积操作,主要完成特征提取的工作,通过设置好的滤波器来完成对输入文本句子特征的提取:

其中,ω 是卷积核,g 是卷积核的尺寸,xi:i+g-1是i 到i+g-1 个词组成的句子向量,b 是偏置项,通过卷积层后,得到特征矩阵 J ,。

池化层,通过对卷积层之后得到的句子局部特征矩阵C 进行下采样,求得局部值的最优解。这里采用MaxPooling 技术,如式(3)所示:

由于BiLSTM 输入必须是序列化结构,池化将中断序列结构J,所以需要添加全连接层,将池化层后的Mi向量连接成向量Q:

将新的连续高阶窗口Q 作为BiLSTM 的输入。

1.3 BiLSTM 模型

LSTM 是RNN 的一个变种,它存在一个贯穿始终的记忆状态单元(Memory Units),该记忆单元遗忘、记忆、输出,由通过上个时刻的隐藏状态ht-1和当前输入xt计算出来的遗忘门ft、记忆门it、输出门ot来控制,保留重要的信息,遗忘不重要的信息,消除了循环神经网络存在的梯度爆炸(Gradient Explosion)或梯度消失问题。其原理图如图2所示。

计算遗忘门ft,根据ht-1和xt计算,如式(5)所示:

根据ht-1和xt计算,计算记忆门it:

图2 长短时记忆单元模型的网络结构图Fig.2 Network structure of LSTM model

根据ht-1和xt计算,计算临时记忆状态C~t:

计算当前记忆状态Ct,根据ft、it、C~t和上一时刻记忆Ct-1计算:

计算输出门ot,根据ht-1和xt计算,如式(9)所示:

计算当前时刻隐藏状态ht,根据ot和Ct计算,如式(10)所示:

其 中Wf,Uf,Wi,Ui,Wc,Uc,Wo,Uo均 为 权 值矩阵;bf,bi,bc,bo均为偏置向量;tanh:激活函数;logistic:激活函数。

BiLSTM 由正向LSTM 与反向LSTM 结合而成,若记t 时刻正向LSTM 输出的隐藏状态为,反向LSTM 输出的隐藏状态为,则BiLSTM 输出的隐藏状态:

1.4 注意力模型

注意力模型是用来表示文本句子中的词与输出结果之间的相关性,该模型最先被应用于机器翻译的任务中。注意力模型通过对文本向量的语义编码分配不同的注意力权重,以区分文本中信息的重要性大小,提高分类的准确率。本文使用前馈注意力模型。

生成目标注意力权重vt,ht是CNN-BiLSTM网络输出的隐藏状态:

注意力权重概率化,通过softmax 函数生成概率向量pt,如式(13)所示:

注意力权重配置,将生成的注意力权重配置给对应的隐层状态语义编码ht,使模型生成的注意力权重发挥作用,at是ht的加权平均值,权值是pt,如式(14)所示:

2 实验部分

实验针对带有情感标签的电影评论和推特评论对提出的情感分析方法进行有效性验证。其中,实验所用的嵌入矩阵是glove 已训练好的词向量glove.6B.200d。

2.1 实验数据

数据集来自IMDB 电影评论和Twitter 用户评论,IMDB 电影评论情感类别是类似豆瓣网站的星级评分制度,最差1 分至最好10 分,本文将其分为2 类,即1~5 分归为消极情感0,6~10 归为积极情感1。Twitter 用户评论情感标签直接为2 类,消极为0,积极为1。实验所用数据集的设置如表1 所示。

表1 实验数据设置Tab.1 Experimental settings 条

2.2 参数设置

实验所用的嵌入矩阵是glove 已训练好的词向量glove.6B.200d,词向量维度设置为200,嵌入索引中找不到的单词将全部为零。卷积神经网络的滤波器窗口大小均分别为3,4,5,激活函数选择relu 函数。双向长短时记忆网络的隐藏状态向量维度设置均为200,Dense 层,为2 分类,激活函数为softmax,Dropout 参数设置分别为0.3,0.2,0.25。模型的优化器optimizer=‘adam’,采用fit 函数进行训练,其中训练批次长度batch-size=32。

2.3 有效性分析

本文提出的方法是在CNN-BiLSTM 联合网络上引入注意力模型,所以在构建联合网络时会有CNN、BiLSTM 网络联合次序的影响,这里针对实验数据集,设置对比实验,进行CNN-BiLSTM 联合次序的有效性分析。

联合次序对比实验结果如表2 所示。对表2中实验结果进行分析:在Twitter 数据集上,CNN-BiLSTM 的连接方式比BiLSTM-CNN 的连接方式,Acc 指标高约1.01%,RMSE 指标优化了约0.32%。在IMDB 数据集上,前者比后者Acc 指标高约0.18%,RMSE 指标优化了约1.20%。说明了CNN-BiLSTM 的连接方式比BiLSTM-CNN 的连接方式,在引入注意力模型后,分类效果上有所提高。

表2 联合次序对比实验结果Tab.2 comparison experimental results in different model-combining order

从验证集的准确率(val_acc)上来看,Twitter的val_acc 变化如图3 所示,本文模型val_acc 值均在BiLSTM-CNN-Attention 模型之上。IMDB 的val_acc 变化如图4 所示,本文模型val_acc 本文模型多数高于对比模型,且波动性平稳,说明了CNN-BiLSTM 的连接方式在模型分类效果上更具有优势,更加稳定。

图3 Twitter训练时val_acc 的变化图Fig.3 val_acc plots in Twitter training

图4 IMDB 训练时val_acc 的变化图Fig.4 val_acc plots in IMDB training

整体上,针对2 组数据集,训练中迭代次数均设置为10 次,且模型训练结果均取得较好的分类效果,说明了本文模型在短时间内有很好的收敛性,即能高效地提高文本分类准确率。

再从时间代价上来看,2 组模型的时间代价如图5~图6 所示,横坐标是模型训练的迭代次数,纵坐标是模型训练时每次迭代所用时间,时间单位均为s。针对Twitter 数据,BiLSTM-CNN-Attention模型的训练速度都在360 s 以上波动,本文模型的训练速度均在20 s 左右波动,总体对比实验模型要比本文模型约慢1 倍。即在时间代价上,CNN-BiLSTM 的连接方式耗时少,有利于加快模型的训练速度。

图5 Twitter的时间代价图Fig.5 Epoch-time plots of Twitter

图6 IMDB 的时间代价图Fig.6 Epoch-time plots of IMDB

在IMDB 数据上,BiLSTM-CNN-Attention 模型的训练速度均超过1 800 s,而本文模型的训练速度均在800 s 附近波动,总体本文模型要比对比实验模型快1 倍多。说明了CNN-BiLSTM 的连接方式在训练速度上保持了高效性。

由于Twitter 数据集的最大文本长度为40,且文本长度多数分布在4 到26 之间,而IMDB 数据集的文本长度集中于长度为400 以内,约是Twitter数据集单句评论文本的10 倍。可见,在短文本中相对较长的文本数据集上,CNN-BiLSTM-Attention 模型比BiLSTM-CNN-Attention 模型的总体训练速度更有明显的优势。

综上所述,针对本文实验所用数据集,CNN-BiLSTM 的连接方式在文本分类上更具有高效性和有效性,所以本文选择在CNN-BiLSTM 的连接方式上引入注意力模型。

2.4 实验结果分析

实验针对数据集IMDB、Twitter 进行情感分析,并设置了以下多组对比试验,包括SVM 与深度学习方法的比较,单一网络与CNN-BiLSTM 联合网络的比较,及与引入注意力模型的网络对比。网络输入均是利用word2vec 训练的词向量。

SVM[17]:采用传统机器学习算法SVM 进行情感分析;

BiLSTM[18]:单一的BiLSTM 网络

CNN[19]:单一的CNN 网络。

CNN-BiLSTM:先添加一个CNN 网络,再添加一个BiLSTM 网络。

CNN-BiLSTM-Attention:先 添 加 一 个CNN 网络,再添加一个BiLSTM 网络,最后引入Attention机制。

表3 对比实验结果Tab.3 Comparison experimental results

多组对比实验结果如表3 所示,从模型评价的结果上来看,深度学习模型结果明显优于传统SVM 方法。在Twitter 数据集上,CNN-BiLSTM 的联合网络比单BiLSTM 网络,Acc 指标高约2.03%,RMSE 指标优化了约0.58%。CNN-BiLSTM 的联合网络比单CNN 网络,Acc 指标高约1.19%,在RMSE上优化了约2.76%。在IMDB 数据集上,联合网络比单BiLSTM 网络,Acc 指标高约3.64%,RMSE 指标优化了约8.55%。联合网络比单CNN 网络,Acc指标高约1.99%,在RMSE 上优化了约2.28%。综上,CNN-BiLSTM 的联合网络比单模型的效果要好,这是由于CNN 在提取局部特征上更有优势,利用CNN 可以很好的提取文本中局部重要信息,而BiLSTM 网络不但能捕捉上文长时间隔的特征,也能很好的利用下文特征,从而利用文本的语序和语法信息,而文本语序不同,表达的含义就会相差甚远,从而影响文本情感分析的准确度,CNN-BiLSTM 的联合网络综合了二者的优点。

在Twitter 数据集上,CNN-BiLSTM 网络引入注意力模型比CNN-BiLSTM 的联合网络,Acc 指标高约3.63%,RMSE 指标优化了约1.19%。在IMDB 数据集上,前者比后者,Acc 指标高约2.41%,RMSE指标优化了约3.15%。这是由于注意力模型通过对输入的向量编码,分配不同的注意力权重,区分重要性大小,以获取重要的局部特征。即在提取文本特征时,加强了有关情感的语义特征权重,同时弱化了情感不相关的语义特征权重。结果表明,基于CNN-BiLSTM 的联合网络,添加注意力模型,可以提高分类的准确率。

3 结 语

本文提出了一种CNN-BiLSTM 网络引入注意力模型的文本情感分析方法。通过利用BiLSTM学习CNN 池化后连接而成的特征,解决了单CNN缺乏利用文本上下文信息的问题,同时避免了简单RNN 带来的梯度爆炸或梯度消失,最后引入注意力模型筛选特征,降低了噪声干扰,从而提高文本情感分类的准确率。实验结果证明了CNN-BiLSTM 网络引入注意力模型的方法的有效性和CNN-BiLSTM 网络联合次序的高效性。但联合网络中CNN 网络的深度不够,今后研究如何利用深度更深的CNN 网络来提高分类准确率,是下一步工作的目标。

猜你喜欢
准确率向量注意力
向量的分解
让注意力“飞”回来
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
聚焦“向量与三角”创新题
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
如何培养一年级学生的注意力
A Beautiful Way Of Looking At Things
向量垂直在解析几何中的应用