结合卷积神经网络和最小门控单元注意力的文本情感分析

2020-09-09 03:13徐菲菲芦霄鹏
计算机应用与软件 2020年9期
关键词:准确率向量卷积

徐菲菲 芦霄鹏

(上海电力大学计算机科学与技术学院 上海 200090)

0 引 言

随着互联网的广泛应用,越来越多的网络用户在各种论坛贴吧、微博,以及社交软件如大众点评、豆瓣等网络平台上通过对热点事件、新闻人物、流行产品进行带有个人情感色彩的评论来表达自己的情感和态度,在网络上表达自己的情感和态度俨然已成为一种重要的生活方式。作为情感观念的载体,通过对网络中的文本信息的挖掘,能够更全面地分析网络用户的行为,例如可以直观地得到网络用户对于某热点事物态度的变化,可以准确得到网络用户对某产品的满意度。

情感是人类赖以生存的首要需求,也是人类参与日常社交生活的重要纽带。由于文化背景以及成长环境的不同,不同的个体对同一事物会产生多样的情感倾向,通过对文本进行情感分类可以理解网络文本中的情感倾向,可以分为积极、消极情感或者更加细化的情感类别[1]。文本情感分析可以归为观点挖掘之一,通过自然语言处理结合深度学习技术,可以对带有个人情感色彩的文本进行情感极性分类,对主观性情绪进行归纳与推理[2]。

随着深度学习逐渐成为自然语言处理领域的研究热点,利用基于情感词典匹配的深度学习方法解决情感分析问题的技术也飞速发展。众多学者对文本情感分析的情感特征进行了一定的优化[3]。Zhang等[4]提出了一种基于情感词典的策略,成功对在线用户生成的文本进行了情感分类。Zhang等[5]提出了基于情感词典的中文微博文本情感分析方法,通过计算权重来获取微博文本的情感值,进而进行文本情感分类。Wu等[6]通过利用Web资源构建了一个易于维护和扩展的情感词典来帮助社交媒体内容进行情感分析。

通过机器学习方法进行神经网络模型训练,得到相应的分类器,利用训练好的情感分类器可以对相应的数据集进行情感极性分类。许多学者将CNN、RNN等神经网络广泛应用于词性标注、机器翻译和图像处理等领域。Hu等[1]利用循环神经网络对英文文本进行了多模态融合情感分析。Kim[7]提出了一种改进的CNN进行文本分类。Zhuang等[8]采用背向传播方法改进了所提出的循环随机游走网络模型,成功地对Twitter的博文进行了情感分类,表现出较好的性能。白静等[9]通过BiLSTM递归神经网络提取特征并结合上下文语义对新浪微博中文文本情感进行了立场检测。胡荣磊等[10]将循环神经网络中的长短期记忆网络和前馈注意力模型相结合,提出了一种文本情感分类方案。陈珂等[11]利用提出的多通道卷积神经网络模型,对中文微博文本进行了情感分类。

CNN、RNN等神经网络在自然语言处理中的情感分析领域取得了较好的效果,但是仍然存在一些问题。比如CNN最初被广泛应用于图像处理领域,在处理文本序列问题上并不是十分适用;虽然循环神经网络RNN在自然语言处理的运用中取得良好的效果,但其具有长期依赖和可能面临的问题,如梯度爆炸或梯度消失[12]。为了解决这一系列的问题,LSTM和GRU等众多基于标准循环神经网络的变体被陆续提出,并在情感分析领域成功应用。LSTM能够记忆序列的上下文,对于文本序列情感特征提取具有较为明显的优势,能够解决梯度消失的问题。作为LSTM的变体,GRU模型比标准的LSTM模型结构更为简单、参数更少、收敛速度快,因而训练时间更短,用于泛化的数据量更少。在最新的文本分类研究中发现,最小门控单元MGU相比于GRU具有结构更简单、参数更少、训练时间更少等优点,非常适用于时间依赖性很强的任务,同时使用参数较少的MGU模型,可以减少选择参数的工作量,提高模型的泛化能力[13]。

MGU模型没有充分学习文本在时间上产生的先后顺序等序列相关特征,而卷积神经网络CNN通过卷积运算,数据的相关特征可以被提取,强化原始数据中的某些特征,从而能够降低来自噪声的影响。例如当识别一幅图片时,人的大脑不是对整幅图片直接进行识别,而是通过图片中的每一个特征先进行识别,然后再对所有局部特征进行深层次的整体识别,最后得到整幅图片的相关信息。

Attention机制通过扫描全局文本获得注意力资源重点投入的区域,筛选出高价值信息,因此被广泛应用于自然语言处理、图像识别等多种深度学习任务中。在自然语言处理中,Attention经常被用来和各类神经网络相结合,进而帮助神经网络重点关注文本序列中一些重要信息。

因此,本文结合CNN与最小门控单元MGU并引入注意力机制的网络结构,提出一种新的注意力模型C_MGU。该模型将CNN中的卷积层和最小门控单元MGU以统一的架构进行组合,并将注意力机制加入在卷积层和MGU层之间,不仅体现了CNN模型和最小门控单元MGU各自的优势,还利用注意力机制进一步优化了语义特征表示。实验结果表明,该模型不仅能够突出文本的关键信息,还能挖掘更丰富的语义,在文本的情感分类上有较好的表现。

1 带有门结构的循环神经网络

1.1 门控单元LSTM和门控单元GRU

图1 LSTM记忆单元

由于LSTM中存在较多的学习参数设置,训练时间较长,GRU作为LSTM的一种改良版变体被提出[15]。与LSTM相比,GRU内部少了1个门控单元,参数更少,所以运算时间与收敛速度有较大提升。其结构如图2所示。

图2 GRU记忆单元

GRU作为LSTM的变种,拥有更简单的结构,只有更新门和重置门,即图2中的zt和rt。更新门的作用类似于LSTM的遗忘门和输入门,其负责决定对信息的筛选和记录。重置门的作用是决定对过去状态的信息遗忘的程度。二者的本质区别在于GRU对当前状态信息的产生是否受过去信息产生的影响具有选择性,其有更深层次的理解,增加了信息的联系程度。在t时刻,对于给定的输入xt,GRU的隐藏输出ht计算过程如下:

rt=σ(Wr·[ht-1,xt])

(1)

zt=σ(Wz·[ht-1,xt])

(2)

(3)

(4)

1.2 最小门控单元MGU

最小门控单元MGU是一种简化的循环神经网络结构单元,在所有门控单元中门数最少,只有一个遗忘门,将输入门合并入遗忘门,结构如图3所示。

图3 MGU记忆单元

可以看出,MGU显然比LSTM和GRU的结构更简单,LSTM有4组参数需要确定,GRU需要有3组参数,但是MGU只需要有2组参数,因此MGU是所有用于RNN的门控单元中,结构更简单、参数更少、训练更快的循环神经网络。

2 情感分析模型

2.1 模型设计

结合CNN和MGU各自的优势,为了实现文本情感分析的目标,本文将CNN与最小门控单元MGU进行结合并引入注意力机制的网络结构。模型结构如图4所示。首先,模型通过CNN的卷积层模块来捕捉提取文本的初步特征表示;然后利用Attention机制和最小门控单元MGU模块来对文本的初步特征表示进行关键信息的加强和进一步的优化;最后在MGU的隐藏层生成最终的文本深层特征表示,并将其输入到Softmax层进行回归处理,完成对文本的分类处理。

图4 GRU-Att模型

2.2 算法设计

本文提出的网络模型的具体流程是:首先通过第一层的CNN卷积层对输入的文本数据进行初步特征提取;然后通过第二层的注意力机制,对卷积层提取到的初步特征进行信息的筛选以及关键信息的加强即li;最后在MGU的隐藏层生成文本的深层特征表示Yi,并输入到Softmax中进行回归处理,完成对文本数据的情感分类。

2.2.1卷积层特征提取

本文模型的第一个模块为利用卷积神经网络CNN的卷积层把长度为K的一组序列转化为长度为K的输出序列,利用CNN的卷积层确保输入MGU的序列向量的合理长度以及原始语序,MGU神经网络可以把长度为K的序列转换为任意一组序列输出。一维卷积核在文本序列上滑动,过滤器提取不同位置的文本局部特征表示,令wj∈RD表示句子中第j个单词的D维词向量,x∈RL×D表示长度为L的输入句子,令过滤器的长度为K,f∈RK×D为用于卷积运算的过滤器。对于一个句子中的每个位置i,具有K个连续单词向量的窗口区域向量si表示为:

si=[wi,wi+1,…,wi+k-1]

(5)

卷积层针对局部的数据窗口进行卷积计算,产生特征映射c∈RL-K+1,计算公式如下:

ci=ReLU(si∘f+θ)

(6)

式中:ci为特征映射元素;∘ 表示元素级相乘;θ表示偏置项;ReLU函数是非线性激活函数。采用N个相同长度的过滤器来生成特征矩阵:

(7)

2.2.2注意力层

随着深度学习的发展,注意力机制被广地应用于自然语言处理、图像识别处理等领域,并且取得了突出的成就[16]。注意力机制其实就是帮助网络模型把握重点信息而忽略无关信息,可以更好地把握文本信息的重点,有助于对文本信息的语义挖掘。注意力机制和人类的视觉注意力有很大的相似性,通过对信息的全局扫描获得重点关注区域,获取目标细节信息。例如在过马路时,人们首先看的是交通信号灯的显示,而不是关注人群中的某一个人。注意力机制极大地提高了信息处理的效率和准确率[17]。本文模型中每一个输出元素如下:

yi=F(Ci,y1,y2,…,yi-1)

(8)

(9)

(10)

eij=score(si-1,hj)=VT·tanh(Whj+Usi-1+b)

(11)

式中:yi为i时刻要生成的词;上下文向量Ci是语句x1,x2,…,xj在经过卷积层卷积运算得到的;S(xj)表示整个序列的隐藏向量;T表示文本序列的输入长度;aij表示注意力权重系数;eij是score函数,定义目标单词应该考虑给每个输入隐藏的多大的权重,相当于使用了一个全连接层;VT、W和U是权重参数矩阵;b为偏移量。由Attention机制形成的语义编码会作为MGU模块的输入。

2.2.3MGU层

在Attention机制后,本文采用的是简化的循环神经网络结构单元,即最小门单元MGU,与LSTM和GRU相比,有着更少的参数[18]。在t时刻,MGU模型中,计算当前的状态为:

(12)

遗忘门控制上一时刻的记忆遗忘程度以及附加了多少新信息,遗忘门的表示为:

ft=σ(Wf+Ufht-1+bf)

(13)

(14)

式中:xt是时刻的输入。

MGU相比于LSTM和GRU有着更少的参数,更简单的结构,收敛速度更快。通过上述模型,可以获得一种文本深层次特征表示,最后采用Softmax进行回归获得最终的文本分类结果。

3 实 验

3.1 数据集

对于情感分类任务,本文选用公开的IMDB、Sentiment140数据集。本文将数据集分别按照正负平衡的原则选取20 000条数据,并按照8∶2的比例分为训练集和测试集。

3.2 实验设置

本文采用上述两个数据集进行预训练,单词向量采用Word2vec进行词向量训练,词向量的维度为100,由此可以得到文本词语的向量表示。为了避免在训练过程中出现的不在词语向量表中的词语对模型造成的干扰,采用随机初始化。由于卷积层模块要求的是固定长度的输入,所以本文将文本长度限制在MaxLen内,因此可以得到固定长度输入的文本语句。另外本文设置区域序列长度为5,过滤器的数量设置为2。

对于基于注意力机制的C_MGU模型,本文定义上下文向量为100维,MGU的隐藏单元数为100,学习率为0.01,batch-size为20。经过注意力机制后的MGU层隐藏层状态作为Softmax的输入,采用随机梯度下降法作为优化方法。

实验采用Keras深度学习框架,底层为TensorFlow,TensorFlow平台集成了CNN、RNN,以及LSTM、GRU、MGU等深度学习模型,使用Python语言编程实现。

3.3 实验结果分析

采用准确率、F1值作为评价指标,将本文模型与文本情感分类常用模型进行对比。准确率与F1值的计算如下:

(15)

式中:m为所有预测正确的样本数;M为总的样本数。

(16)

3.3.1参数设置比较实验

处理词向量作为较为基本的文本处理任务,词向量维度的大小对模型分类准确率有着重要的影响,当词向量维度越大时,包含的词语越多,信息量越大,但是会淡化词与词之间的关系,词向量维度太小会造成无法区分词语的结果。因此词向量维度的选择显得尤为重要,通过对本文提出的Att-C_MGU以及CNN、LSTM、GRU等模型在词向量维度不同时在数据集IMBD上的表现,从而确定本文关于词向量维度的选择问题。词向量维度不同时对模型在数据集IMBD上分类效果的具体影响如图5所示。

图5 词向量维度对模型准确率的影响

可以看出,采用Word2Vec对词向量进行训练,当词向量维度小于100时,所有模型均表现出上升的趋势,上升幅度略有不同,当词向量的维度大于100时,所选模型在数据集上表现的分类性能有的显示为波动,有的则上升幅度较小,有的模型则表现出不能很好地学习词向量的特征信息,反而有所下降,所以本文选取词向量维度为100。

确定词向量的大小后,本文对于模型迭代次数的选择也通过实验来进行说明。迭代次数对模型的分类准确率也有重要的影响,迭代次数越多,模型的分类准确率越高,效果越好,但是当迭代超过一定的次数时,模型的泛化能力会下降,产生过拟合的结果。

迭代次数的影响如图6所示。可以看出,随着迭代次数的增加,模型准确率会逐渐增加,当迭代次数为30左右时,准确率趋于稳定,变化幅度较为平缓,表现的效果较好。

图6 迭代次数对模型准确率的影响

3.3.2注意力机制影响实验

首先对获取的IMBD和Sentiment140数据集通过去除标点符号、停用词等进行预处理,为后续实验减少工作量;然后采用Word2vec对词向量进行训练,将训练后的词向量输入本文提出的注意力C_MGU模型;最终将输出结果与已经标注好的数据进行比较从而表明本文模型的有效性。为了说明引入注意力机制的必要性和作用,在IMBD与Sentiment140数据集上比较了本文模型与不引入注意力机制的C_MGU的性能,实验结果如图7所示。可以看出,在情感分析算法中引入注意力机制可以在一定程度上提升算法的性能,在IMBD、IMBD2、Sentiment140数据集分类上的准确率分别提升2.8%、2.3%、1.7%,由此说明Attention机制对新模型的必要性。

图7 注意力机制的影响

3.3.3有效性对比实验

通过对IMBD、Sentiment140数据集文本进行情感分析,将本文模型与传统文本分类方法CNN、SVM、LSTM、GRU等模型进行对比,采用准确率、F1值作为评价指标,来验证本模型的有效性,具体对比情况如图8、表1和表2所示。

图8 不同数据集上模型准确率对比

表1 不同模型的准确率对比

表2 不同模型的F1值对比

由表1和图8可以看出,本文提出的基于注意力C_MGU模型在各个数据集上的准确率表现均优于传统的分类模型。与GRU模型相比,由于使用的是最简门控单元MGU模块,参数较少,收敛速度较快,并且引入了Attention机制,在各个数据集的准确率上比GRU高1.8%、4.6%;与Attention-LSTM模型相比较,虽然二者都引入了Attention机制,但是第二层分别是LSTM层和MGU层,也从正面证实MGU与LSTM相比,虽然在准确率上相差无几,但是在时间代价消耗上明显优于LSTM,即MGU比LSTM模型收敛速度更快。由表2可以看出本文模型表现更为优秀。

综上所述,在各个数据集分类上的准确率以及F1值上,本文提出的基于注意力C_MGU皆优于传统模型。

4 结 语

本文提出一种基于注意力C_MGU混合神经网络模型,通过对IMBD影评数据和Sentiment140数据进行情感分析实验,从准确率、F1值上与其他主流文本分类方法对比,结果表明该模型对文本进行情感分析是有效的。MGU与GRU、LSTM相比,由于其计算量小、收敛速度快等优势,在文本情感分析领域具有一定的优势。

在本文的研究中,情感极性只有积极和消极两种,情感类别没有进行细化,情感强度问题也没有考虑;在对Sentiment140数据进行数据处理时,舍弃了一些只有表情符号或者只有图片并没有文字说明的数据,无法从多角度进行全面分析,对模型造成了一定的局限性。下一步将对多模态文本情感分析进行深入的研究。

猜你喜欢
准确率向量卷积
向量的分解
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
聚焦“向量与三角”创新题
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法