APP下载

基于BiLSTM-CNN-ATT 的方面级情感分析

2021-11-28曹小凤

软件导刊 2021年11期
关键词:注意力卷积矩阵

成 璐,曹小凤

(太原工业学院计算机工程系,山西太原 030008)

0 引言

随着社交网络和电商网站的快速发展,网上产生了大量评论文本,如何从这些评论文本中挖掘用户的情感信息成为研究热点。

方面级情感分析(Aspect-Based Sentiment Analysis,ABSA)作为细粒度情感分析[1],可以挖掘用户更深层次的情感信息。给定一个句子和所涉及的方面,方面级情感分析旨在预测句子中关于不同方面的情感极性(如积极、消极、中立)。方面级情感分析包含两个子任务:①ACSA(As⁃pect-Category Sentiment Analysis,ACSA),方面类别预先给定,预测句子中与方面类别相关的情感极性[2];②ATSA(Aspect-Term Sentiment Analysis,ATSA),方面实体属于句子的一部分,预测句子中关于方面实体的情感极性,如“The pizza was pretty good and huge”,该句子对于给定方面类别“food”的情感极性为积极,句子中方面实体“pizza”的情感极性为积极。

在过去的研究中,通常采用传统的机器学习方法进行方面级情感分析,如SVM[3-5],这类方法往往依赖复杂的特征工程,费时费力。随着神经网络的出现,其强大的自主学习和特征表示能力[6]使得它在方面级情感分析中备受青睐。循环神经网络(Recurrent Neural Network,RNN)在方面级情感分析应用中最为普遍,如Tang 等[7]提出TC-LSTM和TD-LSTM 模型,利用长短期记忆网络(Long short Term Memeroy,LSTM)进行目标依赖情感分析,通过LSTM 获取上下文语义信息,但其无法识别上下文中与特定方面相关的情感词的关联程度,容易造成梯度爆炸或消失问题。之后注意力机制(Attention Mechanism)应用于方面级情感分析,其可以加强文本中情感词的关注度,提高情感分析准确率。如Wang[8]等提出ATAE-LSTM 模型,利用基于注意力机制的LSTM 进行方面级情感分析。但是基于词级特征的注意力可能引入噪声及降低预测精度[9],如“This dish is my favorite and I always get it and never get tired of it”中对“never”“tired”的关注会影响“dish”的情感预测。

方面级情感极性往往由某些局部情感特征决定,卷积神经网络(Convolutional Neural Network,CNN)可以有效捕获这些特征,因此在方面级情感分析中CNN 受到关注[10]。Xue 等[11]提出GCAE 模型,利用门控卷积神经网络进行方面级情感分析,但CNN 不像LSTM 那样充分挖掘文本全局语义信息。

针对上述问题,本文提出一种基于注意力并结合双向LSTM(BiLSTM)和CNN 的网络模型(BiLSTM-CNN-ATT)进行情感分析。本文主要创新点如下:

(1)提出一种新的方面级情感分析模型BiLSTM-CNNATT。在ACSA 任务中,首先,利用BiLSTM 获取上下文语义信息;其次,分别利用注意力机制和自注意力机制对特定方面和上下文进行优化,这样可以获取特定方面与上下文之间的依赖关系和上下文的内部特征信息;最后,将优化后的上下文和特定方面进行拼接,通过CNN 进行情感分析,有效捕获局部情感特征。ATSA 中不同于ACSA 的地方在于,利用BiLSTM 获取方面实体语义信息,另外在上下文优化过程中融入方面实体的位置信息。

(2)使用方面级情感分析领域广泛使用的SemEval 2014 任务4 的Restaurant 和Laptop 数据集对模型进行性能评估。实验结果表明,在ACSA 和ATSA 中,本文提出的BiLSTM-CNN-ATT 模型均取得了较好效果。

1 相关工作

1.1 方面级情感分析

方面级情感分析的目标是识别句子中关于特定方面的情感极性[12]。早期大多数研究采用传统的机器学习方法,通过监督的方式建立情感分类器从而进行情感预测。这些方法需要人工设计特征,过程繁琐且普适性差,在不同数据集上性能差别很大。

Mikolov 等[13]提出的分布式向量表示模型可以有效捕获句法和语义关系,推进了神经网络在情感分析中的应用,随之多种神经网络模型应用到方面级情感分析中。Dong 等[14]采用自适应递归神经网络模型AdaRNN 在Twit⁃ter 数据集上进行特定目标情感分析,根据依存句法分析得到不同目标的递归结构信息,从而辅助模型提高情感分析的准确率;近年来基于RNN 的网络模型在方面级情感分析中取得了较好效果。Zhang 等[15]采用双向门控神经网络对上下文和目标建模,采用三路门控神经网络获取目标和上下之间的交互信息后进行情感分析;在RNN 的基础上引入注意力机制可以挖掘更多的隐藏特征,取得更好的情感分类效果。Tang 等[16]提出基于注意力机制的MemNet 模型,该模型由多个计算层组成,每个计算层包含一个基于内容和位置的注意力模块,通过注意力模块计算每个上下文单词的权重,并利用这些权重信息计算句子的文本表示,将最后一层的文本表示作为特征向量进行情感分析。

在方面级情感分析中,CNN 近几年颇受关注。Huang等[17]提出参数化卷积神经网络模型PG-CNN,利用参数化过滤器抽取方面特征,作为门控制的一部分输入CNN 网络进行情感分析。

1.2 长短期记忆网络

LSTM 被广泛应用于自然语言处理(Natural Language Processing,NLP)中,它是一种特殊的RNN,在情感分析中可以有效获取文本语义信息,解决文本的长程依赖问题。

LSTM 由一系列神经元组成,每个神经元包括3 个门控单元:忘记门ft、输入门it、输出门ot,以及一个记忆单元ct。LSTM 中神经元对输入信息的计算如式(1)-(6)所示:

其中,wt为t时刻的输入,ht-1为t-1 时刻隐藏层状态,为新的记忆信息,Wf、Wi、Wo、Wc为LSTM 的权重矩阵,bf、bi、bo、bc为LSTM 的偏置量,δ(⋅)为激活函数sigmoid,⊗为点乘运算。

LSTM 只能通过上文推测下文信息,而BiLSTM 同时考虑上下文语境,在情感分析中可以更好地捕捉双向的语义依赖,提高模型准确率。BiLSTM 在t时刻的隐藏状态h t包含前向的和后向的,如式(7)-(9)所示:

1.3 注意力机制

注意力机制近年成为深度学习领域研究热点[18]。注意力机制最早在计算机视觉领域被提出。Mnih 等[19]利用注意力机制进行图像识别;Bahdanau 等[20]使用注意力机制进行机器翻译,这是注意力机制在NLP 领域的首次应用,之后注意力机制被广泛应用于各种NLP 任务。注意力机制本质上可以理解为一个查询(Q,query)序列和一系列键—值(K-V,key-value)对的映射。2017 年Vaswani 等[21]提出缩放点积注意力机制,可以减少高维度计算带来的损失,计算公式如下:

其中,Q∈Rn×d,K∈Rm×d,V∈Rm×d。当K=Q=V时,称为自注意力机制(Self-Attention mechanism)。

1.4 卷积神经网络

CNN 最早被应用于计算机视觉领域。2014 年Kim[22]首次利用CNN 获取文本特征并进行文本分类。CNN 主要通过卷积层和池化层来学习输入的局部特征,提取重要的特征信息[23]。CNN 结构如图1 所示,它主要由输入层、卷积层、池化层和全连接层组成。输入层为句子的向量表示,对于长度为n的句子,输入矩阵可以表示为:E∈Rn×d,其中d为词向量维度。卷积层使用不同的卷积核对输入矩阵进行卷积操作,提取局部特征,得到卷积层特征矩阵,如式(11)所示:

Fig.1 CNN model图1 CNN 模型

其中,W为权重矩阵,b为偏置量,f为卷积函数。之后,通过池化层对卷积层特征矩阵进行降采样,提取重要的特征信息。最后,全连接层利用池化层的输出进行分类,得到分类结果。

2 BiLSTM-CNN-ATT 模型

本文借鉴LSTM 和CNN 的优点,提出BiLSTM-CNNATT 模型并在ACSA 和ATSA 任务上进行情感分析。

2.1 BiLSTM-CNN-ATT on ACSA

给定一个句子,如果句子中第i个单词用词向量表示为wi∈Rde,de为词向量维度,则句子词向量矩阵表示为S=[w1,w2,...,wn],S∈Rn×de,n为句子长度。在ACSA任务中特定方面为给定的方面类别,通常只包含一个单词,给定方面词向量矩阵表示 为A=[a],A∈R1×de。BiLSTM-CNNATT 在ACSA 上的应用模型如图2 所示。

Fig.2 Application of BILSTM-CNN-ATT model in ACSA图2 BiLSTM-CNN-ATT 模型在ACSA 上的应用

为了获取更丰富的上下文语义信息,将句子词向量矩阵S=[w1,w2,…,wn]输入BiLSTM,得到上下文矩阵Hs=,dh为隐藏层输出维度。

2.1.1 方面优化模块

由于特定方面缺少对句子信息的关注,为了得到包含句子信息的特定方面表示,采用注意力机制优化给定方面。对A 进行线性变换,得到,其中,Qa=Hs,依据公式(10)得到优化后的特定方面矩阵Ao如下:

其中,Ao∈Rn×2dh。

2.1.2 上下文优化模块

为了使上下文中包含特定方面信息,在上下文优化模块中,通过上下文矩阵和方面矩阵点乘操作,获取两者之间的相关性矩阵如下:

其中,C∈Rn×2dh。之后再将上下文矩阵和相关性矩阵和进行拼接,得到新的句子矩阵Es=[Hs;C],Es∈Rn×4dh。

为了获取上下文内部元素之间的相关性,同时加强对上下文自身语义理解,采用自注意力机制对上下文进行优化。首先对上下文矩阵Es进行线性变换,得到Qs、Ks、Vs,计算公式如式(14)-(16)所示:

其中,Wq、Wk、Wv∈R4dh×4dh为线性变换参数矩阵。之后得到优化后的上下文Eo,如式(17)所示:

其中,Eo∈Rn×4dh。

2.1.3 CNN 模块

由于特定方面的情感往往与上下文的某些局部情感信息紧密相关,因此通过CNN 网络来抽取这些局部情感信息,从而更好地进行情感分析。

首先,优化后的上下文矩阵和方面矩阵进行拼接得到输入矩阵E=(Eo;Ao),E∈Rn×6dh;其次,利用公式(11)进行卷积操作,得到卷积后的特征矩阵C;最后,通过最大池化降采样,提取C中的最终特征:=max(C)。若卷积核的个数为k,则最终得到特征向量为。

2.1.4 输出层

其中,D为训练集,C为数据的类别数,为实际类别,y为待分类句子的预测类别,为正则项。

2.2 BiLSTM-CNN-ATT on ATSA

BiLSTM-CNN-ATT 模型在ATSA 上的应用如图3所示。

在ATSA 任务中,特定方面为句子中出现的方面实体,且方面实体通常包含一个或多个单词,方面实体向量矩阵为A=[a1,a2,…,am],S∈Rm×de,m为特定方面的长度。不同于ACSA,在ATSA 中将方面实体词向量矩阵A=[a1,a2,…,am]输入BiLSTM,得到方面实体矩阵,Ha∈Rm×2dh,之后再进行特定方面的优化。

在上下文优化模块中,由于句子中方面实体的情感通常由它附近的情感词表达,因此融入位置信息有着重要意义。首先计算方面实体中各个词位置的平均数,如式(20)所示:

其中,、为方面实体第一个词和第m个词所在的位置。之后,计算上下文中每个词与方面实体的距离系数,如式(21)-(22)所示:

类似于ACSA,将优化后的特定方面和上下文进行连接输入CNN,获取最终特征表示并进行情感分类。

借鉴德国垃圾管理“避免垃圾产生—最大可能回用利用(先直接利用,再循环利用)—能源回收利用—最终处理处置”的整体思路,完善国家、省级和市级3个层面垃圾管理法规政策;落实生产者责任制,制定专业性法规,建立押金制度、双轨回收制度等;制定明确的奖励和惩罚措施,且严格执行,有效引导政府的垃圾管理行为、公众的垃圾投放行为和企业的垃圾处理行为;逐步实施垃圾按量或按质收费,根据前端垃圾分类品质和需要最终处置的垃圾量收取费用。

Fig.3 Application of BILSTM-CNN-ATT model in ATSA图3 BiLSTM-CNN-ATT 模型在ATSA 上的应用

3 实验

3.1 实验数据

为了验证BiLSTM-CNN-ATT 模型的有效性,本文在SemEval2014 任务4 的公开数据集上进行测试。SemEval 2014 任务4 包含Laptop 和Restaurant 两个数据集,其中Lap⁃top涉及ATSA 子任务,Restaurant涉及ATSA 和ACSA两个子任务。Laptop 和Restaurant 中数据样本包括积极、消极和中性、冲突4 种情感极性。本文去除冲突样本,只考虑积极、消极和中性3 种极性。实验数据统计如表1 所示。

Table 1 Experimental data statistics表1 实验数据统计

3.2 实验参数设置

本文采用斯坦福大学公开的预训练Glove 词向量。初始化实验数据中的词向量,其中每个词向量的维度为300维,词典大小为1.9MB[24]。BiLSTM 隐藏层维度为50,CNN卷积核窗口大小为[3,4,5],batch 的大小为25,dropout 为0.75,学习率为0.001,L2 正则化参数为0.000 1。本文实验环境及其配置如表2 所示。

Table 2 Experimental environment and configuration表2 实验环境及配置

3.3 对比实验

将本文提出的BiLSTM-CNN-ATT 模型和比较典型的方面级情感分析模型在数据集上对ACSA 和ATSA 两个子任务进行对比实验,验证模型的有效性。

(1)LSTM:使用标准的LSTM 网络模型。该模型将句子作为输入,可以获取前向时序特征,但由于没有考虑特定方面信息,因此分类效果较差。

(2)BiLSTM:使用双向LSTM 网络模型。该模型考虑句子的双向时序特征,能够更好地获取上下文语义特征。

(3)TD-LSTM:该模型通过两个LSTM 对特定目标上文和下文分别建模,并分别和特定方面进行拼接,之后进行情感分析。该模型未考虑特定方面和其上下文之间的关联信息。

(4)ATAE-LSTM:该模型将上下文和特定方面进行拼接,通过LSTM 得到隐藏层输出和特定方面拼接,之后通过注意力机制获取上下文中重要特征进行情感分析。该模型注重对上下文的优化,但忽略对特定方面的优化。

(5)CNN:将句子作为卷积神经网络的输入,可有效获取句子的关键特征,但是无法有效获取句子时序特征,同时未考虑特定方面信息,分类效果较差。

(6)GCAE:该模型在CNN 的基础上引入门控单元,根据给定的不同方面有选择地输出情感特征,从而达到较好的分类效果。

(7)TDMNPG[25]:提出了一个对目标敏感的深度记忆网络模型用于ATSA 的情感分析。该模型利用交互模块获取上下文和特定目标的交互信息,并将上下文信息和交互信息融合成分类特征进行情感分析。

(8)BiLSTM-CNN:首先通过BiLSTM 获取句子语义特征,再通过CNN 网络获取局部重要特征,最后再进行情感分析。

3.4 实验结果与分析

本文采用准确率作为评价指标,衡量模型在ACSA 和ATSA 两个子任务的三分类和二分类中的效果。本文中基线模型TD-LSTM、ATAE-LSTM、GCAE 均采用论文中声明的实验效果。

ACSA 中,各模型的准确率如表3 所示,通过表3 可以看出:

(1)LSTM 模型和BiLSTM 模型进行比较:在两个数据集上的三分类和二分类中,BiLSTM 模型的准确率均高于LSTM。这是因为LSTM 只能获取句子前向语义特征,而BiLSTM 可以从上文和下文同时获取双向语义特征,因此BiLSTM 获取的句子语义信息更丰富,准确率更高。

Table 3 Accuracy of different models on ACSA task表3 不同模型在ACSA 任务上的准确率 (%)

(2)LSTM、TD-LSTM 和ATAE-LSTM 模型比较:3 个模型均采用LSTM 获取句子语义特征,不同的是TD-LSTM 考虑特定目标在情感分析中发挥的作用,简单将特定目标和特定目标的上下文拼接,因此TD-LSTM 模型在三分类中的准确率高于LSTM。在ATAE-LSTM 中,不仅将上下文和特定方面进行拼接,同时通过注意力机制优化上下文,因此,ATAE-LSTM 较LSTM、TD-LSTM 的准确率要高。

(3)CNN 和GCAE 模型比较:GCAE 在三分类中准确率高于CNN,主要是因为GCAE 在CNN 的基础上采用门控机制进行特征选择。

(4)BiLSTM、CNN、BiLSTM-CNN 模型比较:BiLSTMCNN 模型结合BiLSTM 和CNN 优点,准确率高于BiLSTM 和CNN,但由于缺少对上下文和方面的优化,效果提升不明显。

(5)BiLSTM-CNN-ATT和其他模型比较:BiLSTMCNN-ATT 模型采用BiLSTM 对句子和特定方面进行编码,并通过注意力机制优化上下文和特定方面,最终通过CNN获取和特定方面相关的局部有效特征,性能明显优于其他模型。

ATSA 中,各模型的准确率如表4 所示。通过表4 可以看出,BiLSTM-CNN-ATT 模型性能最优。其中与TDMN⁃PG 模型相比,BiLSTM-CNN-ATT 模型在Restaurant 和Lap⁃top 数据集的三分类中,准确率分别提升1.49%和0.99%。这是由于TDMNPG 模型在上下文表示中,未考虑上下文内部的语义依赖关系,另外缺乏局部信息对特定目标影响的考虑。

3.5 CNN 层数影响

由于CNN 可以获取针对特定方面的局部重要特征,本文考虑到单层CNN 不能充分获取这些特征的可能性,故通过实验验证CNN 层数对方面情感分析的影响,实验结果如表5 所示。

从表5 可以看出,当CNN 层数为1 时,模型在ATSA 的Laptop 数据集的三分类上效果最佳。当CNN 层数为2 时,模型在ACSA 和ATSA 的Restaurant 数据集上的三分类和二分类以及Laptop 的二分类上效果最佳。表明CNN 为1 时,在多数数据集上对局部特征抽象不够。CNN 层数为3 时,模型效果不佳的原因可能是CNN 层数增多会产生更多的参数,使模型变得复杂,容易产生过拟合。

Table 5 Influence of CNN layers on accuracy表5 CNN 层数对准确率的影响 (%)

3.6 位置对ATSA 的影响

在ATSA 中,特定方面的情感与它附近的情感词密切相关。为了验证位置信息对特定方面情感极性的影响,本文对不含位置信息和融入位置信息两种情况做了对比,实验结果如表6 所示。

Table 6 Influence of location on ATSA task表6 位置对ATSA 的影响 (%)

从表6 可以看出,在Restaurant 数据集上,融入位置信息后,准确率分别提升0.54%和0.54%。在Laptop 数据集上准确率分别提升2.68%和0.77%,说明位置信息对情感分析效果的提升起到一定作用。

4 结语

本文提出了一种基于注意力结合BiLSTM 和CNN 的BiLSTM-CNN-ATT 模型进行方面级情感分析。该模型通过BiLSTM 获取上下文语义信息,并分别通过注意力机制和自注意力机制对特定方面和上下文进行优化,最后通过CNN 获取重要特征信息。通过对比试验,验证了本文模型在ACSA 和ATSA 上的有效性。

本文模型虽然针对句子特定方面的情感分析取得较好效果,但其仍然具有局限性。由于本文采用的数据集中大多数句子只包含一个方面或者包含多个相同情感的方面,这样会使方面级情感分析任务退化成句子级别的情感分析任务。而现实中一个句子可能包含多个方面的多种情感,仅使用方面级情感分析模型无法有效解决该问题。因此,在未来的工作中,将进一步研究更细粒度的情感分析任务来解决该问题。

猜你喜欢

注意力卷积矩阵
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
初等行变换与初等列变换并用求逆矩阵
矩阵
矩阵
矩阵
一种基于卷积神经网络的性别识别方法