1. 引言
方面级情感分析(Aspect Based Sentiment Analysis, ABSA),主要是从带有主观情绪色彩的自然文本信息中,分析、处理、归纳和研究用户对一个方面的情绪或者看法;旨在对文本如用户评论进行细粒度的情感分析 [1]。情感分析,长期一直是自然语言处理的重点课题。随着研究深入,情感分析的文本研究粒度可以细分为篇章级、句子级以及方面级,其中方面级情感分析能够分析句子中所提及或者隐含的不同方面词的情感极性,已经成为该领域的热门研究方向之一 [2]。并且,随着互联网大数据技术以及社交媒体的迅猛发展,利用情感分析技术处理社交媒体以及网络平台的评论、博客、留言等文本,获取其中的情感信息,进而为不同实际应用场景,诸如舆情管理 [3]、商业决策、用户个性化推荐 [4] 等提供技术支持。
方面级情感分析,主要包含两个子任务:方面术语提取(Aspect term Extraction, AE)和方面级情感分类(Aspect-level Sentiment Classification, AS)。AE任务主要目的是从给定文本中提取提及的方面术语;AS任务则是对相关方面词进行情感极性判断。例如,“Coffee is a better deal than overpriced cosi sandwiches”,其中“Coffee”和“cosi sandwiches”两个方面术语的情感极性分别为积极和消极。
2. 相关工作
传统的文本情感分析,分别是基于情感词典和基于机器学习,深度学习避免了大量人工标注成本以及复杂的特征工程,从而在自然语言领域得到广泛应用。各种类型神经网络应用于方面级情感分析,获得不错效果。研究者,从不同方面提高深度学习在方面级情感分析的性能表现。比如:常见的一词多义的问题,随着BERT [5] 模型和Elmo模型等语言模型提出和应用,有效解决该类问题,因为其不同于Glove,可以在词嵌入过程捕捉上下文信息,产生融合上下文信息的词嵌入。Song [6] 等人提出BERT-SPC变体模型适用于细粒度情感分析,获得高性能表现;Zeng [7] 等人,提出的LCF-BERT模型通过结合自注意力机制实现一种特征级的局部上下文聚焦机制,在方面级情感分析获得较高性能提升。常用的神经网络提取单元,多是长短期记忆网络(Long Short Term Memory, LSTM),但是简单的LSTM容易忽略方面词的建构,Tang等人 [8] 提出的TD-LSTM模型使用两个依赖方面词目标的LSTM,从而建构目标在句子上下文的语义表示。同时,通过引入注意力机制,提高针对句子中的方面词的聚焦能力,从而提高情感分析的性能。彭祝亮等人 [9] 提出一种设置不同方面的注意力模块独立训练的BLSTM-AAM模型,从而提高特征提取能力,有效提高分类的精度。
目前研究,将两个任务分开独立进行处理,而且目前大多数的研究侧重于情感极性分类任务的研究,目前研究思路多是通过获取方面项与上下文的关系提高分类精度。如果忽略方面词提取任务的研究,缺乏相应足够的方面词就导致情感分类陷入无目标的困境。所以最近研究者尝试同时解决两个任务的方案,其中基于多任务模型的方法,有利于提高模型的泛化能力。本文模型主要基于多任务模型,构建端到端的方面级情感分析模型,这是因为当使用深度网络训练时,多任务的联合学习方法比集成方法更具有可行性,集成方法容易混淆不同子任务所学的特征。为了解决,不同任务间,因为相关性而存在的噪音,所导致的多任务负迁移问题,本文提出基于多头注意力机制的特征交互学习机制,通过筛选学习合适的特征。发现方面词与方面词的情感极性,是存在强联系的,而且二者的标注边界是一致的,所以使用所提出的基于注意力机制的交互机制,提高模型的精度。此外,使用BERT生成融合上下文信息的词嵌入表示。
3. 注意力交互多任务模型
本文提出的Att-Inter-MT模型主要由词嵌入层、特征提取层、语义交互提取层、信息交互层和输出层构成,模型总体架构如图1所示:

Figure 1. Overall architecture diagram of Att-Inter-MT model
图1. Att-Inter-MT模型总体架构图
3.1. 任务定义
将两个子任务定义为句子标注任务,AE任务输出的标注标签为{B, I, O},其中B标签指示方面词的首字,I指示方面词的中间字段,O指示的是其它字段;类似,AS任务的输出标注标签为{PO, NT, NG, O}分别表示情感极性中的积极、中性和消极,以及其它字段。
3.2. 词嵌入层
BERT模型,是一种基于双向Transformer构建的自编码预训练语言模型。常常通过微调实现与下游任务模型的有效结合,其能够获取上下文双向特征表示,从而提取更为全面的特征,适合处理高层语义信息提取的任务。本文使用BERT进行融合上下文语义的词嵌入预训练计算,BERT词嵌入计算过程:
(1)
3.3. 特征提取层
特征层使用两个多层双向LSTM分别构建两个子任务上下文依赖关系,LSTM克服常规的RNN网络的长程遗忘问题,而且缓解了RNN常见的梯度爆炸以及梯度消失等神经网络训练问题;能够较好处理序列文本的较远距离间的依赖问题。AE任务所得的特征表示为
;AS任务所得的特征表示为
。同时,使用一个多层不同卷积核大小的CNN网络,获取不同尺寸大小的局部特征,获得更佳的边界特征表示。因为极性分类以及方面词提取的标注输出的边界理论上是一致,所以该特征作为多任务的共享特征空间。所以卷积层提取所得的特征表示为
。
3.4. 语义交互提取层
该层主要针对特定特征空间和共享特征空间,进行不同特征空间的融合计算,获得对于子任务合适有效的语义表示。因为任务间的噪音存在,这可能导致负迁移的现象,从而限制模型的性能表现。有必要对公共特征空间进行筛选过滤,使用注意力机制能够有效学得对应合适的特征表示。该层先是分别将子任务的LSTM和CNN所得的隐藏向量拼接;然后,通过全连接层进行维度调整。最后使用多头注意力机制;其是基于放缩点积注意力机制(SDA),进行注意力计算,而且通过使用多头机制,即是多次计算,实现模型在不同多维度多层次的特征表示子空间计算,能够学习到深层语义信息。其中AS任务的计算过程:
(2)
(3)
(4)
(5)
(6)
(7)
其中
是AS任务的LSTM中间隐藏向量,
是CNN提取的公共特征空间的隐藏向量。
表示输入维度;使用三个不同的参数矩阵
、
、
进行线性变换,其所得结果Q,K,V作为放缩点积注意力计算的输入;进行h头计算,
参数矩阵对多头计算结果进行线性变换;
为语义交互提取的结果。
3.5. 信息交互层
两个任务间存在强关联,不仅因为上下文融合方面项的语义表示,能够有效提高情感极性判断的性能表现;而且本文的任务定义为序列标注问题,两个子任务的标注边界是要一致的。所以,利用二者任务的中间隐藏向量,进行交互计算,以此获得相关联系。交互机制,基于多头注意力机制,分别将不同任务的中间隐藏向量作为输入,进行不同特征空间的计算,以求得二者输入相关性,从而获得对应合适的语义表示。
AE,方面词提取子任务,将AE中间隐藏向量
作为注意力计算中的Key向量和Value向量,将AS的中间隐藏向量
作为查询Query向量,进行多头注意力计算:
(8)
AS,方面级情感极性分类子任务,将AS中间隐藏向量
作为注意力计算中的Key向量和Value向量,将AE的中间隐藏向量
作为查询Query向量,进行多头注意力计算:
(9)
3.6. 输出层
针对最终输出所生成的AS标签和AE标签,既可以用全连接网络加Softmax函数求最大值得到标签,也可以使用条件随机场(CRF)。使用线性链CRF作为输出的推理层,其能够捕捉标签间的依赖,进而使用依赖预测标签,对标签序列进行建构,能获得全局最优序列。比如:B标签后续应该是标签I,而不是标签O。本文模型以线性链CRF作为解码器,两个子任务的输入分别为其信息交互层所得语义表示,
和
,CRF通过其输入学习标签路径的概率分布。最后使用维特比算法生成AS标签和AE标签。CRF的似然计算过程,其中W为权重,b为偏置:
(10)
4. 实验及结果分析
4.1. 实验环境及参数设置
本文实验环境如下:CPU为Intel Core i7 8700K,GPU为GeForce GTX 1080,内存大小为DDR4 16GB,开发环境为linux 64位系统,pytorch 1.5.0。
实验参数设置:词嵌入使用BERT预训练模型获得,词嵌入向量维度dbert为768;特征提取层,LSTM隐藏单元数为200,优化函数选择为Adam,实验学习率初始化为0.001,CNN模型使用多层堆叠卷积窗口,卷积核尺寸大小设置为2、3、4、5。实验引入Dropout_rate = 0.5,提高模型泛化和减少过拟合风险。
4.2. 实验数据集及评价指标
数据集使用三个公共情感分析数据集,分别是SemEval 2014任务的笔记本电脑、餐厅评论数据集,和由Dong等人 [10] 收集的ACL14 Twitter数据集。该类数据集,是主要应用于细粒度的情感分析任务中,官方划分为训练集和测试集;数据集含有多个方面词以及对应的情感极性(积极、中立和消极)。实验的数据集按照原来公开数据集的划分,进行训练以及验证。表1所示为数据集中每个类别情感极性分布。

Table 1. Statistics of experimental data
表1. 实验数据集的统计
本文,采用分类任务中常用的准确率(ACC)和F1值作为实验的评价指标。
4.3. 对比实验及结果分析
为了综合分析模型特性以及表现,与以下模型进行对比实验:
BiLSTM [11]:基于双向LSTM,结合词嵌入进行方面提取。
DTBCSNN [12]:是一种基于依赖树的堆叠卷积神经网络,它使用线性链CRF进行方面提取。
ATAE⁃LSTM [13]:在AE⁃LSTM的基础上,将方面嵌入和词嵌入进行拼接,共同组成模型的输入;进行情感极性分类任务训练。
PIPELINE-IMN:基于IMN模型使用流水线方法分别进行两个任务的训练。
MNN:使用一种统一的序列标注模式定义训练任务,同时进行方面抽取和情感分类。
IMN [14]:使用交互架构,实现端到端的ABSA多任务模型。
本文提出的Att-Inter-MT模型,与上述基线模型在三个公开数据集上,对比实验结果如表2。

Table 2. Comparison of model accuracy and Marcro-F1 score
表2. 模型准确率及F1值对比
从表2可以看出,多任务模型MNN、IMN和本文模型在两类子任务上的性能表现,显著优于单任务模型。这说明,方面级情感分析的两类子任务间是存在强联系的,通过多任务模型的特征共享,是可以利用该联系提升任务性能。而且,本文模型在方面项抽取任务的表现,明显优于其它多任务模型,在Laptop数据集上比MNN、IMN等多任务模型效果提升了2%~3%;说明通过交互机制可以获得两子任务的边界信息等联系,对方面词提取具有提升作用。
5. 总结
本文提出基于注意力机制的交互机制、基于多头注意力机制的特征交互融合机制和使用结合Bi-LSTM和CNN的特征提取方法的Att-Inter-MT多任务模型,模型首先使用BERT预训练模型作为词嵌入生成工具,获得融合上下文语义的词向量表示。然后,使用结合Bi-LSTM和CNN的特征提取方法,获取合适特征表示;之后,使用基于多头注意力机制的特征交互融合机制对提取特征进行多维度的交互学习,获得合适的融合特征语义。最后通过基于注意力机制的交互机制获得最后的特征表示,通过线性链获得输出的标签结果。经过比对多个模型,本文模型在两个子任务的性能优于其它模型。说明多任务模型在当前方面级情感分析数据有限的情景下,其有效提高模型的泛化能力。
参考文献