2. 广西可信软件重点实验室, 广西 桂林 541004
2. Guangxi Key Laboratory of Trusted Software, Guilin, Guangxi 541004, China
开放科学(资源服务)标志码(OSID):
随着互联网和社交媒体的快速发展,越来越多的用户参与到内容生产和信息发布的流程中,逐渐从信息获取者转变为信息创造者。用户在社交媒体上发表个人主观性言论,针对这些主观性言论进行情感分析可以获得极具价值的信息,然而通过人工方式对其进行分析需要消耗大量人力与财力,因此文本情感分析技术成为自然语言处理领域的热门研究方向。
文本情感分析是指利用自然语言处理和文本挖掘技术,对带有情感色彩的主观性文本进行分析、处理和抽取的过程[1]。传统的文本情感分析方法主要包括基于情感词典[2]和基于有监督机器学习[3]的方法,这类方法在处理小数据文本情感分析任务时有着不错的表现,同时也有较强的可解释性,但传统方法主要存在文本表示稀疏性且泛化能力较弱的问题。HINTON[4]提出的分布式表示概念以及MIKOLOV等[5]提出的Word2vec词向量训练工具解决了词向量的表示稀疏性问题,使得文本的向量表示可以包含一定的语义信息。KIM[6]将卷积神经网络(Convolutional Neural Network,CNN)用于句子分类任务中,采用3种不同大小的卷积核来采集文本的N-grams特征,再进行特征融合,取得了很好的分类效果,但是循环神经网络(Recurrent Neural Network,RNN)不能采集到文本的上下文信息。XIAO等[7]使用双向长短期记忆(Long Short-Term Memory,LSTM)网络处理文本情感分析任务,通过两个方向神经元的循环计算提取文本的上下文信息。LAI等[8]为了进一步提升分类效果,将LSTM与CNN相结合,提出一种循环卷积神经网络(Recurrent Convolutional Neural Network,RCNN)模型,先使用双向LSTM提取文本的上下文信息,再通过最大池化层提取主要特征进行文本分类。ABID等[9]构建CNN与RNN联合体系结构,提高了推特情感语料库的分析效果。
基于神经网络的文本情感分析方法相比传统方法获得了更好的文本表示以及更强的特征提取能力,但却没有考虑关键信息对文本情感倾向的影响。BAHDANAU等[10]将注意力机制应用到自然语言处理领域,通过注意力机制识别出文本中的关键信息,有效提高了神经翻译模型的效果。YANG等[11]提出一种分层注意力机制,在词语和句子两个层次分别使用注意力机制,同时考虑文本中关键词和关键句的重要性,适用于长文本的分类和处理。VASWANI等[12]舍弃了传统的注意力机制依赖于神经网络的固有模式,提出了基于多头注意力的Transformer模型。为了取得更好的文本情感分析效果,研究人员开始将注意力机制融入RNN与CNN的混合模型。赵亚南等[13]提出融合多头自注意力与CNN的文本情感分析模型,在金融新闻文本上进行情感分析且取得了不错的效果。袁和金等[14]提出的文本情感分析模型先用多通道的卷积神经网络提取文本特征信息,再将特征信息送入双向门控循环单元(Bidirectional Gated Recurrent Unit,BiGRU)并结合注意力机制获得上下文情感特征,同时引入Maxout神经元避免训练过程中的梯度弥散问题。郭宝震等[15]提出的句子分类模型先对词向量使用注意力机制,再使用双路卷积神经网络对句子进行分类。WANG等[16]针对在线评论中特定方面的情感极性进行更细粒度的情感分析,提出一种关系图注意力网络,更好地建立了方面词和观点词之间的联系。
基于分布式词向量和深度学习的文本情感分析方法要优于传统基于统计学习的文本情感分析方法,基于神经网络和融入注意力机制的文本情感分析模型由于具有更强的特征提取能力和对关键信息的加强处理,取得了更好的情感分析结果。本文在以上研究的基础上,提出一种基于并行混合网络与双路注意力机制的文本情感分析模型GCDA。针对不同网络的特点采用两种不同的词向量作为并行混合网络的输入,获得更丰富的文本信息。利用两种神经网络并行混合分别提取文本的全局特征和局部特征。使用双路注意力机制加强处理两种特征中的关键信息,提升模型的分类效果。
1 GCDA文本情感分析模型GCDA文本情感分析模型结构如图 1所示,包括如下组成部分:
![]() |
Download:
|
图 1 GCDA模型结构 Fig. 1 GCDA model structure |
1)词嵌入层:将文本通过GloVe和Word2vec嵌入为两种不同的词向量。
2)特征提取层:将GloVe词向量输入到BiGRU中提取包含上下文语义信息的全局特征,对Word2vec词向量采用CNN提取局部特征。
3)双路注意力层:对上一层输出的全局特征和局部特征使用双路注意力机制加强其中的关键信息。
4)输出层:对双路注意力层输出的两种特征信息进行特征融合,并使用softmax分类器进行分类。
GCDA模型使用BiGRU和CNN神经网络。CNN通过卷积操作提取卷积核范围内词语之间的局部特征,且受卷积核大小限制一般适合处理短文本信息。BiGRU通过神经元之间的循环依赖可以提取到文本中词语之间的关联信息,即使文本的长度较长也不会遗漏,同时采用双向结构还可以采集到文本的上下文信息。但由于门控机制对信息的过滤,因此不会提取到较强的局部性特征,而是提取整个文本的全局性特征。GCDA模型将BiGRU和CNN并行混合构成特征提取层,结合两个神经网络的特点进行特征提取上的互补,使得模型适用于长文本和短文本。同时由于文本情感分析本质上也是分类任务,因此该模型也可以应用于文本分类、意图识别、命名实体识别等任务。针对具体的任务使用特定数据集进行训练,并根据具体分类任务的类别数目对输出层参数进行微调,可以将模型推广应用至其他下游分类任务。
1.1 词嵌入层词嵌入层将文本信息转换为向量作为模型的输入数据。根据不同网络的特点,采用Word2vec[5]和GloVe[17]两种词向量分别作为两个神经网络的输入。Word2vec采用局部上下文窗口训练词向量,与CNN采用卷积核窗口提取特征类似,都只能关注到窗口范围之内的上下文信息,故作为CNN的输入来提取更强的局部特征。GloVe利用语料库的全局统计信息构建词的共现矩阵,再基于共现矩阵训练得到包含全局信息的词向量,将GloVe训练得到的词向量作为BiGRU的输入用来提取全局特征和上下文信息。
由于神经网络需要接收固定长度的输入,因此在词嵌入前需要先对不定长度的文本进行预处理。假设每个文本S固定长度为n,则每个文本可以表示为S={w1,w2,…,wn},长度超出n的部分信息舍弃,不足的部分采用<pad>进行零填充。令xi∈
由于文本信息的有序性特点,因此RNN非常适合用来处理文本信息。RNN每一个神经元的输出由当前时刻的输入和前一时刻的记忆共同决定,所以可以捕获文本之间的长期依赖关系,通常用来提取全局特征,但是传统的RNN由于梯度爆炸和梯度消失问题导致在实际应用中难以训练。HOCHREITER等[18]提出的LSTM网络通过在RNN神经元内部设置输入门、遗忘门和输出门3个门控单元,解决了RNN的梯度消失问题,使得LSTM相比RNN更容易训练。CHO等[19]提出的门控循环单元(Gated Recurrent Unit,GRU)只设置了重置门和更新门,减少了网络中的相关参数,在保留LSTM优点的同时提高了训练速度。因此本文采用双向GRU网络来提取文本的全局特征和上下文信息,GRU内部结构如图 2所示。
![]() |
Download:
|
图 2 GRU内部结构 Fig. 2 GRU internal structure |
在图 2中,xt表示当前时刻的输入,ht-1表示前一时刻的记忆信息,
$ {\mathit{\boldsymbol{r}}}_{t}=\sigma ({\mathit{\boldsymbol{W}}}_{\mathit{\boldsymbol{r}}}\cdot [{\mathit{\boldsymbol{h}}}_{t-1}, {\mathit{\boldsymbol{x}}}_{t}]+{\mathit{\boldsymbol{b}}}_{\mathit{\boldsymbol{r}}}) $ | (1) |
$ {\mathit{\boldsymbol{z}}}_{t}=\sigma ({\mathit{\boldsymbol{W}}}_{\mathit{\boldsymbol{z}}}\cdot [{\mathit{\boldsymbol{h}}}_{t-1}, {\mathit{\boldsymbol{x}}}_{t}]+{\mathit{\boldsymbol{b}}}_{\mathit{\boldsymbol{z}}}) $ | (2) |
$ {\tilde{\mathit{\boldsymbol{h}}}}_{t}=\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}(\mathit{\boldsymbol{W}}\cdot [{\mathit{\boldsymbol{r}}}_{t}\cdot {\mathit{\boldsymbol{h}}}_{t-1}, {\mathit{\boldsymbol{x}}}_{t}]+\mathit{\boldsymbol{b}}) $ | (3) |
$ {\mathit{\boldsymbol{h}}}_{t}=(1-{\mathit{\boldsymbol{z}}}_{t})\cdot {\mathit{\boldsymbol{h}}}_{t-1}+{\mathit{\boldsymbol{z}}}_{t}\cdot {\tilde{\mathit{\boldsymbol{h}}}}_{t} $ | (4) |
通过嵌入层GloVe训练得到的文本向量矩阵A={x1,x2,…,xn},以词向量xi为例作为双向GRU的输入,经过前向和后向GRU编码得到的隐藏层表示分别包含了上文信息和下文信息,则词向量xi经过双向GRU提取到的包含上下文信息的全局特征表示如下:
$ \boldsymbol{h}_{i}=\left[\overrightarrow{\mathrm{GRU}}\left(\boldsymbol{x}_{i}\right), \overleftarrow{\operatorname{GRU}}\left(\boldsymbol{x}_{i}\right)\right], \quad i \in[1, n]$ | (5) |
整个文本矩阵A经过双向GRU提取到包含上下文语义信息的全局特征表示如下:
$ \mathit{\boldsymbol{H}}=[{\mathit{\boldsymbol{h}}}_{1}, {\mathit{\boldsymbol{h}}}_{2}, \cdots , {\mathit{\boldsymbol{h}}}_{n}] $ | (6) |
使用双向GRU提取文本信息全局特征的过程如图 3所示,其中dim表示文本矩阵维度。
![]() |
Download:
|
图 3 BiGRU提取全局特征的过程 Fig. 3 Process of BiGRU extracting global features |
CNN具有较强的特征提取能力,由于卷积核窗口大小有限,一次只能提取到局部范围内的信息,因此采用CNN来提取文本的局部特征。本文采用3个不同大小的卷积核来分别提取文本不同的N-grams局部特征。将经过Word2vec训练得到的文本向量表示矩阵B={y1,y2,…,yn}作为CNN的输入,使用卷积核在文本矩阵中自上向下滑动提取局部特征。对于窗口大小为r的卷积核通过第j次卷积操作提取到的局部特征cj表示如下:
$ {\mathit{\boldsymbol{c}}}_{j}=f(\mathit{\boldsymbol{w}}\cdot {\mathit{\boldsymbol{y}}}_{j:j+r-1}+\mathit{\boldsymbol{b}}) $ | (7) |
其中:f为ReLU非线性激活函数;w代表卷积核中的参数;b为偏置项;yj:j+r-1表示文本矩阵的第j行到第j+r-1行中卷积核一次共读取r行的词向量。卷积核在文本矩阵中自上向下滑动共进行n-r+1次卷积操作,所提取到的局部特征矩阵C表示如下:
$ \mathit{\boldsymbol{C}}=[{\mathit{\boldsymbol{c}}}_{1}, {\mathit{\boldsymbol{c}}}_{2}, \cdots , {\mathit{\boldsymbol{c}}}_{n-r+1}] $ | (8) |
已有方法在卷积层提取到特征之后常常采用池化层来进一步提取特征,但池化操作会造成一定的信息丢失,且会破坏文本特征的时序性特点,所以本文方法在卷积层之后弃用池化层使用注意力层,该方法可以减少信息的损失并对文本中关键信息进行加强。使用CNN对文本矩阵B进行局部特征提取的过程如图 4所示。
![]() |
Download:
|
图 4 CNN提取局部特征的过程 Fig. 4 Process of CNN extracting local features |
在情感分析任务中,文本中常常包含表达强烈情感意向的情感词,这些词语会对整个文本的情感倾向产生至关重要的影响,使用注意力机制来捕获这些关键情感词并分配较大的概率权重对提高情感分析准确率有着极大的帮助。
对特征提取层提取到的全局特征和局部特征分别使用注意力机制加强其中的关键信息,先按照重要程度的不同对全局特征hi和局部特征cj分配不同的注意力权重,如式(9)、式(10)所示:
$ {\mathit{\boldsymbol{u}}}_{i}^{\mathit{\boldsymbol{h}}}={\mathit{\boldsymbol{v}}}_{i}\;\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}({\mathit{\boldsymbol{w}}}^{\mathit{\boldsymbol{h}}}\cdot {\mathit{\boldsymbol{h}}}_{i}+{\mathit{\boldsymbol{b}}}^{\mathit{\boldsymbol{h}}}) $ | (9) |
$ {\mathit{\boldsymbol{u}}}_{j}^{c}={\mathit{\boldsymbol{v}}}_{j}\;\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}({\mathit{\boldsymbol{w}}}^{\mathit{\boldsymbol{c}}}\cdot {\mathit{\boldsymbol{c}}}_{j}+{\mathit{\boldsymbol{b}}}^{\mathit{\boldsymbol{c}}}) $ | (10) |
其中:wh和wc表示权重参数矩阵;bh和bc为偏置项;tanh为非线性激活函数;vi和vj为经过激活函数激活后文本的权重向量。
在对注意力权重进行归一化处理后,得到关于全局特征hi和局部特征cj的注意力分数ai和aj,如式(11)、式(12)所示:
$ {\mathit{\boldsymbol{a}}}_{i}=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left({\mathit{\boldsymbol{u}}}_{i}^{\mathit{\boldsymbol{h}}}\right)}{\sum\limits_{i=1}^{n}\mathrm{e}\mathrm{x}\mathrm{p}\left({\mathit{\boldsymbol{u}}}_{i}^{\mathit{\boldsymbol{h}}}\right)} $ | (11) |
$ {\mathit{\boldsymbol{a}}}_{j}=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left({\mathit{\boldsymbol{u}}}_{j}^{c}\right)}{\sum\limits_{j=1}^{n-r+1}\mathrm{e}\mathrm{x}\mathrm{p}\left({\mathit{\boldsymbol{u}}}_{j}^{c}\right)} $ | (12) |
按照每个词不同的重要程度,引入经过归一化处理得到的注意力分数ai和aj,对提取到的每个特征hi和cj计算加权和,得到经过注意力加强关键信息的整个文本的全局特征zh和局部特征zc,如式(13)、式(14)所示:
$ {\mathit{\boldsymbol{z}}}^{\mathit{\boldsymbol{h}}}=\sum\limits_{i=1}^{n}{\mathit{\boldsymbol{a}}}_{i}{\mathit{\boldsymbol{h}}}_{i} $ | (13) |
$ {\mathit{\boldsymbol{z}}}^{\mathit{\boldsymbol{c}}}=\sum\limits_{j=1}^{n-r+1}{\mathit{\boldsymbol{a}}}_{j}{\mathit{\boldsymbol{c}}}_{j} $ | (14) |
本层使用双路注意力机制对BiGRU和CNN并行提取到的特征分别做加强处理,为关键信息分配更高的注意力权重,从而提高模型的分类效果。
1.4 输出层输出层由全连接神经网络和softmax激活函数构成。分类前首先对注意力层得到的两种特征信息进行特征融合,得到文本最终的特征表示t,如式(15)所示:
$ \mathit{\boldsymbol{t}}=[{\mathit{\boldsymbol{z}}}^{\mathit{\boldsymbol{h}}}, {\mathit{\boldsymbol{z}}}^{\mathit{\boldsymbol{c}}}] $ | (15) |
然后将融合得到的特征输入到全连接神经网络中,使用softmax激活函数计算得到文本的情感概率p,最终进行情感分类处理,如式(16)所示:
$ p=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}(\mathit{\boldsymbol{w}}\mathit{\boldsymbol{t}}+\mathit{\boldsymbol{b}}) $ | (16) |
其中:w为权重向量;b为偏置项。
最后根据情感概率值p确定整个文本的情感类别。
2 实验与结果分析 2.1 实验环境与数据集实验在Windows10系统下进行,CPU为Intel® i5-6300HQ 2.3 GHz,编程语言采用Python 3.7.9,深度学习框架采用PyTorch 1.0.1。
数据集采用情感分类公开数据集IMDb[20]和SST-2。IMDb数据集是从IMDb电影评论网站收集的50 000条电影评论,情感极性分为积极和消极两类,每类各占总评论数的一半,该数据集中训练集和测试集各包含25 000条影评数据。SST-2是斯坦福标准情感分析数据集的二分类版本,去除了中立情感的数据部分。两个数据集的具体信息如表 1所示。
![]() |
下载CSV 表 1 数据集信息 Table 1 Dataset information |
实验采用准确率(A)、精确率(P)、召回率(R)和F1值(F)作为模型的评估指标。用于计算这些指标的分类混淆矩阵如表 2所示。
![]() |
下载CSV 表 2 分类混淆矩阵 Table 2 Classification confusion matrix |
在表 2中,TP表示将样本正确分类为积极情感的个数,FP表示将样本错误分类为积极情感的个数,TN表示将样本正确分类为消极情感的个数,FN表示将样本错误分类为消极情感的个数。评价指标中准确率表示所有预测正确的结果占总结果的比率;精确率是针对结果,表示所有预测为正例的结果中预测正确的比率;召回率是针对样本,表示样本中的正例被正确识别的比率;F1值是召回率和精确率的调和平均值,可以综合衡量模型的分类效果。计算公式如式(17)~式(20)所示:
$ A=\frac{{T}_{\mathrm{P}}+{T}_{\mathrm{N}}}{{T}_{\mathrm{P}}+{T}_{\mathrm{N}}+{F}_{\mathrm{P}}+{F}_{\mathrm{N}}} $ | (17) |
$ P=\frac{{T}_{\mathrm{P}}}{{T}_{\mathrm{P}}+{F}_{\mathrm{P}}} $ | (18) |
$ R=\frac{{T}_{\mathrm{P}}}{{T}_{\mathrm{P}}+{F}_{\mathrm{N}}} $ | (19) |
$ F=2\times \frac{P\times R}{P+R} $ | (20) |
除模型本身的结构设计以外,参数设置也会影响模型的特征提取能力以及训练效果,从而对最终的实验效果造成影响,所以参数调优是实验中的重要步骤。采用控制变量法经过反复实验确定模型的最佳参数,以对结果影响较大的随机失活率(Dropout)、BiGRU隐藏层参数维度(Hidden_Size)、卷积核通道数(Nums_Channels)3个参数为例进行分析,在IMDb数据集上参数的调整对准确率的影响实验结果如表 3所示。由于模型中卷积核尺寸(3,4,5)表示采用大小分别为3、4、5的卷积核,因此(32,32,32)表示3个卷积核对应的通道数均为32。
![]() |
下载CSV 表 3 参数设置对准确率的影响 Table 3 Effect of parameter settings on the accuracy |
Dropout是按照概率对一些神经元的激活值进行随机失活处理,用来避免过拟合现象。当其值设置的较小时几乎不能避免过拟合,当其值设置的较大时失活的值太多会造成特征丢失,GCDA模型Dropout取0.4时效果较好。BiGRU的隐藏层参数维度即提取到的特征维度,若维度太小则不足以进行特征表示,若维度太大则会增加模型的训练时间,且更容易发生过拟合。卷积核采用多通道的方式进行局部特征的提取,由于有BiGRU提取的全局特征作为补充,因此卷积核通道数设置为32时便可以取得较好的效果。经过实验确定模型参数后,在IMDb数据集上对模型进行训练,平均每个Epoch所需的时间为249.45 s,模型中的参数迭代至最优并且趋于平稳所需的运行时间成本约为10个Epoch。模型整体的参数设置如表 4所示。
![]() |
下载CSV 表 4 模型参数设置 Table 4 Model parameter setting |
为验证GCDA模型的有效性,将其在IMDb和SST-2两个公开数据集上与经典模型和最新模型进行对比实验,具体对比模型如下:
1)TextCNN[6]:该模型采用3种大小的多通道卷积核,提取文本不同的N-grams特征。
2)BiLSTM[7]:该模型采用双向长短期记忆网络,提取文本的上下文信息。
3)BiLSTM+EMB_Att[21]:该模型采用词向量注意力机制先识别关键信息,再使用双向长短期记忆网络提取文本的上下文信息。
4)Att-DouCNN[15]:该模型使用词向量注意力机制提取关键词信息,并使用双路卷积神经网络提取句子特征。
5)Att-C_MGU[22]:该模型结合卷积神经网络和最小门控单元,并融合注意力机制,提取文本的深层特征,并且参数更少,收敛速度较快。
6)Att-MCNN-BGRUM[14]:该模型先使用多通道卷积神经网络提取特征信息,再将特征信息送入双向GRU中,结合注意力机制得到文本的上下文情感特征。
7)Bi-SGRU-Att[23]:该模型采用双向切片GRU对文本序列进行切片实现并行处理,减少了模型训练所需的时间,并融入注意力机制提取关键信息。
经过对比实验,以上模型和本文GCDA模型的实验结果分别如表 5和表 6所示。通过表 5和表 6的实验数据可知,在两个数据集上GCDA模型相比其他模型分类效果均有一定的提升。GCDA模型在IMDb和SST-2两个数据集上的准确率分别达到了91.73%和91.16%,相比经典的TextCNN与BiLSTM模型在准确率和F1值上约提升了3个百分点。GCDA模型相比IMDb和SST-2两个数据集上的对照组最优模型准确率分别提高了0.87和0.66个百分点。GCDA模型在IMDb数据集上相比BiLSTM+EMB_Att模型和Bi-SGRU-Att模型准确率分别提高了2.70和0.87个百分点。GCDA模型在SST-2数据集上相比Att-DouCNN模型准确率提高了2.56个百分点,这是由于使用BiGRU与CNN组成的并行混合网络可以同时提取到文本的长期依赖信息和局部信息,组成更丰富的文本特征表示从而提升分类效果。GCDA模型相比Att-C_MGU模型和Att-MCNN-BGRUM模型在IMDb数据集上准确率分别提高了3.57和0.93个百分点,说明采用双路注意力机制可以更全面地捕获文本中的关键信息,进一步提高分类准确率。
![]() |
下载CSV 表 5 IMDb数据集上不同模型的实验结果 Table 5 Experimental results of different models on the IMDb dataset |
![]() |
下载CSV 表 6 SST-2数据集上不同模型的实验结果 Table 6 Experimental results of different models on the SST-2 dataset |
为了进一步验证双路注意力机制对模型分类效果的影响,在原模型的基础上进行修改得到单路注意力机制和无注意力机制的两组模型作为对照进行对比实验,具体对照模型如下:
1)无注意力机制模型:BiGRU+CNN,去掉原模型的双路注意力机制,采用CNN与BiGRU的并行混合。
2)单路注意力机制模型:(1)BiGRU+CNN-Att,去掉原模型中BiGRU部分的注意力机制,采用BiGRU与CNN-Att的并行混合;(2)BiGRU-Att+CNN,去掉原模型中CNN部分的注意力机制,采用BiGRU-Att与CNN的并行混合。
以上模型的参数设置与GCDA模型相同,在IMDb和SST-2数据集上进行实验,共训练10个Epoch,每次迭代的结果如图 5和图 6所示。
![]() |
Download:
|
图 5 4种模型在IMDb数据集上的准确率变化趋势 Fig. 5 Accuracy variation trend of four models on IMDb dataset |
![]() |
Download:
|
图 6 4种模型在SST-2数据集上的F1值变化趋势 Fig. 6 F1 value variation trend of four models on SST-2 dataset |
通过对比无注意力机制模型和融入注意力机制模型的实验结果可知,使用注意力机制捕获文本序列中的关键信息可以明显提高模型的整体分类效果。在单路注意机制模型中,BiGRU+CNN-Att模型使用注意力机制识别CNN提取到的局部特征中的关键信息,BiGRU-Att+CNN模型则识别BiGRU提取到的全局特征中的关键信息,对比其结果可以发现使用注意力机制捕获全局特征中的关键信息能提升分类效果,并且在文本长度较长的IMDb数据集上提升效果更明显。
通过对比GCDA模型和单路注意力机制模型的实验结果可知,使用双路注意力机制同时关注全局特征和局部特征中的关键信息,可以捕获同一个词在局部文本和整篇文本中不同的情感程度,识别出更细微的情感倾向变化,从而提高最终的分类效果,验证了双路注意力机制的合理性与有效性。
2.4.3 不同词向量作为输入的实验与结果分析为了验证GCDA模型针对不同网络特点采用两种词向量并行输入模型的有效性,使用其他词向量输入模型作为对比实验验证,具体词向量如下:
1)Word2vec:使用单一的Word2vec词向量作为模型输入。
2)GloVe:使用单一的GloVe词向量作为模型输入。
3)GloVe_Word2vec:本文词向量,针对两种网络的特点,使用GloVe词向量作为BiGRU的输入,使用Word2vec词向量作为CNN的输入。
输入的词向量均为100维,其他参数设置保持不变,在IMDb和SST-2数据集上分别进行实验,具体的实验结果如图 7所示。
![]() |
Download:
|
图 7 不同词向量对准确率的影响 Fig. 7 Effect of different word vectors on the accuracy |
通过图 7的实验数据可知:Word2vec是使用词的局部上下文窗口来训练词向量,只能提取窗口大小内上下文的相关性信息;GloVe是基于全局统计信息训练词向量,准确率略高于Word2vec;GloVe_Word2vec同时使用两种词向量可以从不同的角度将文本向量化,从而获得更丰富的文本表示信息。可见,GloVe_Word2vec针对BiGRU使用循环单元提取全局特征的特点,利用基于全局统计信息的GloVe词向量作为输入;针对CNN使用卷积窗口提取局部特征的特点,利用基于上下文窗口训练的Word2vec词向量作为输入,最终的分类准确率相比采用其他词向量得到了一定程度的提升。
3 结束语本文提出一种基于并行混合网络和双路注意力机制的文本情感分析模型。该模型通过两种词向量输入从而得到更丰富的文本信息,再利用并行混合网络提取文本的上下文信息和局部特征,同时融入双路注意力机制,为两种特征中的关键信息分配更高的概率权重,使模型高度关注情感倾向明显的重要词汇。在公开数据集上与同类模型的对比实验结果证明了本文模型具有良好的分类效果。后续将针对融合位置编码信息的方面级情感分析任务展开研究,进一步扩展本文模型的适用范围。
[1] |
PANG B, LEE L. Opinion mining and sentiment analysis[J]. Foundations and Trends in Information Retrieval, 2008, 2(1/2): 1-35. |
[2] |
ZHANG S X, WEI Z L, WANG Y, et al. Sentiment analysis of Chinese micro-blog text based on extended sentiment dictionary[J]. Future Generation Computer Systems, 2018, 81: 395-403. DOI:10.1016/j.future.2017.09.048 |
[3] |
HEMMATIAN F, SOHRABI M K. A survey on classification techniques for opinion mining and sentiment analysis[J]. Artificial Intelligence Review, 2019, 52(3): 1495-1545. DOI:10.1007/s10462-017-9599-6 |
[4] |
HINTON G. Learning distributed representations of concepts[C]//Proceedings of the 8th Annual Conference of the Cognitive Science Society. London, UK: Psychology Press, 1986: 1-12.
|
[5] |
MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality[C]//Proceedings of the 26th International Conference on Neural Information Processing Systems. New York, USA: ACM Press, 2013: 3111-3119.
|
[6] |
KIM Y. Convolutional neural networks for sentence classification[C]//Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, USA: Association for Computational Linguistics, 2014: 1746-1751.
|
[7] |
XIAO Z, LIANG P J. Chinese sentiment analysis using bidirectional LSTM with word embedding[C]//Proceedings of 2016 International Conference on Cloud Computing and Security. Berlin, Germany: Springer, 2016: 601-610.
|
[8] |
LAI S, XU L, LIU K, et al. Recurrent convolutional neural networks for text classification[C]//Proceedings of the 29th Conference on Artificial Intelligence. Palo Alto, USA: AAAI Press, 2015: 2267-2273.
|
[9] |
ABID F, ALAM M, YASIR M, et al. Sentiment analysis through recurrent variants latterly on convolutional neural network of Twitter[J]. Future Generation Computer Systems, 2019, 95: 292-308. DOI:10.1016/j.future.2018.12.018 |
[10] |
BAHDANAU D, CHO K, BENGIO Y. Neural machine translation by jointly learning to align and translate[EB/OL]. [2021-06-28]. https://arxiv.org/abs/1409.0473v7.
|
[11] |
YANG Z C, YANG D Y, DYER C, et al. Hierarchical attention networks for document classification[C]//Proceedings of 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg, USA: Association for Computational Linguistics, 2016: 1480-1489.
|
[12] |
VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need?[C]//Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach, USA: NIPS, 2017: 6000-6010.
|
[13] |
赵亚南, 刘渊, 宋设. 融合多头自注意力机制的金融新闻极性分析[J]. 计算机工程, 2020, 46(8): 85-92. ZHAO Y N, LIU Y, SONG S. Financial news polarity analysis fusing with multi-head self-attention mechanism[J]. Computer Engineering, 2020, 46(8): 85-92. (in Chinese) |
[14] |
袁和金, 张旭, 牛为华, 等. 融合注意力机制的多通道卷积与双向GRU模型的文本情感分析研究[J]. 中文信息学报, 2019, 33(10): 109-118. YUAN H J, ZHANG X, NIU W H, et al. Sentiment analysis based on multi-channel convolution and Bi-directional GRU with attention mechanism[J]. Journal of Chinese Information Processing, 2019, 33(10): 109-118. (in Chinese) |
[15] |
郭宝震, 左万利, 王英. 采用词向量注意力机制的双路卷积神经网络句子分类模型[J]. 浙江大学学报(工学版), 2018, 52(9): 1729-1737. GUO B Z, ZUO W L, WANG Y. Double CNN sentence classification model with attention mechanism of word embeddings[J]. Journal of Zhejiang University(Engineering Science), 2018, 52(9): 1729-1737. (in Chinese) |
[16] |
WANG K, SHEN W Z, YANG Y Y, et al. Relational graph attention network for aspect-based sentiment analysis[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, USA: Association for Computational Linguistics, 2020: 3229-3238.
|
[17] |
PENNINGTON J, SOCHER R, MANNING C. GloVe: global vectors for word representation[C]//Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, USA: Association for Computational Linguistics, 2014: 1532-1543.
|
[18] |
HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780. DOI:10.1162/neco.1997.9.8.1735 |
[19] |
CHO K, VAN MERRIENBOER B, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[C]//Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, USA: Association for Computational Linguistics, 2014: 1724-1734.
|
[20] |
MAAS A L, DALY R E, PHAM P T, et al. Learning word vectors for sentiment analysis[C]//Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg, USA: Association for Computational Linguistics, 2011: 142-150.
|
[21] |
关鹏飞, 李宝安, 吕学强, 等. 注意力增强的双向LSTM情感分析[J]. 中文信息学报, 2019, 33(2): 105-111. GUAN P F, LI B A, LÜ X Q, et al. Attention enhanced Bi-directional LSTM for sentiment analysis[J]. Journal of Chinese Information Processing, 2019, 33(2): 105-111. (in Chinese) DOI:10.3969/j.issn.1003-0077.2019.02.014 |
[22] |
徐菲菲, 芦霄鹏. 结合卷积神经网络和最小门控单元注意力的文本情感分析[J]. 计算机应用与软件, 2020, 37(9): 75-80, 125. XU F F, LU X P. Text sentiment analysis based on attention C_MGU[J]. Computer Applications and Software, 2020, 37(9): 75-80, 125. (in Chinese) |
[23] |
陈虎, 高波涌, 陈莲娜, 等. 结合注意力机制与双向切片GRU的情感分类模型[J]. 小型微型计算机系统, 2020, 41(9): 1793-1799. CHEN H, GAO B Y, CHEN L N, et al. Sentiment classification model combining attention mechanism and bidirectional slice GRU[J]. Journal of Chinese Computer Systems, 2020, 41(9): 1793-1799. (in Chinese) |