1. 引言
基于方面的情感分析(ABSA)是一项广泛研究的细粒度语义层面的情感分析任务,旨在识别句子中特定方面的情感极性。它包含两个子任务:基于给定目标的情感分析(Target Based Sentiment Analysis, ATSA)和基于给定方面类别的情感分析(Aspect Category Sentiment Analysis, ACSA) [1]。本文主要研究基于给定方面类别的情感分析,这里的方面类别是提前定义好的。例如,在:“Our waitress was a bit cold but she was still attentive and cakes came quickly.”这句话中,有两个目标的术语“waitress”和“cakes”,分别对应“staff”类别和“food”类别,它们各自的情感极性为:消极情绪和积极情绪。
胶囊网络(capsule network, CapsNet)是近些年新提出的一种网络模型,最先用于图像处理方向。它通过提取向量形式的特征,引入胶囊网络来改善CNN和RNN模型不能有效编码不同特征的空间位置关系的表达限制。Wang、Sun和Han (2018) [2] 提出了情感分析中的胶囊网络。他们介绍了基于递归神经网络(RNN)的胶囊模型,每个胶囊不仅能够预测其指定情绪的概率,而且能够重构输入实例表示,胶囊N的数量与要建模的情绪类别的数量相同,每个类别对应一个情绪类别。Wang等人(2019) [3] 修改了RNN胶囊以适应ABSA任务,他们提出了方面级情感胶囊模型(AS capsule),该模型能够以联合方式同时执行方面检测和情感分类。为了解决缺乏方面级标记数据的问题,Chen和Qian (2019) [4] 提出了一种传输胶囊网络(TransCap)模型,用于将文档级知识传输到方面级情感分类。Du、Sun和Wang (2019) [5] 提出了胶囊网络的另一种修改,所提出的模型将胶囊网络与注意力机制相结合。Jiang、Chen和Xu (2019) [6] 为了解决方面级情感分析退化为句子级情感分析提出了CapNet网络,在先前的工作上加入了方面词嵌入和残差连接。
我们分析了Jiang、Chen和Xu (2019) [6] 的工作,发现其提出MAMS中的ACSA数据集各个类别分布不平衡导致模型泛化能力弱,且原胶囊网络模型收敛速度较慢。为了解决上述问题,我们提出了一个简单的方面级情感分析胶囊网络模型ACSA-CapNet。我们的主要工作是:第1步采用了同义替换、随机删除等文本增强技术将ACSA数据集进行了平衡,并提出了ACSA-V2多方面多极性数据集;第2步在Jiang等人的模型基础上加了1层卷积层并修改了原有的挤压函数,使得模型更好地提取不同的特征。实验结果表明,在ACSA-V2数据集上,所提出的方法比Jiang等人的工作高出约5个百分点。
2. ACSA-CapNet模型
2.1. 整体框架概览
胶囊网络最先开始用在图像上,Jiang等 [6] 人第一次将胶囊网络用于细粒度情感分析上,其模型的泛化能力明显优于卷积神经网络和循环神经网络。
该模型主要由4部分组成:第1部分是一个词嵌入层,通过词嵌入将输入句子
转化为向量形式
,此外,将方面嵌入
与每个单词嵌入在
中连接起来,得到方面感知句子嵌入
;第2部分为编码层,使用卷积神经网络的变体双向门控循环单元(BiGRU) [7] 和残差网络 [8] 将体态感知句子表示
转换为上下文化表示
;第3部分为初级胶囊层,我们通过线性变换和挤压激活获得初级胶囊
和方面胶囊
;第4部分为类别胶囊层,基于归一化权重和路由权重,得到类别胶囊
,使用边际损失作为基于方面的情感分类的损失函数,最后通过Softmax函数生成类别胶囊及其对每个类的概率。
本文在Jiang等 [6] 的模型基础上又增加了1层卷积层,用来再次提取不同位置上的特征,使得特征提取更加地细致;此外,还对挤压函数进行了改进,使得模型收敛速度更快。基于改进胶囊网络的文本分类模型如图1所示。

Figure 1. ACSA-CapNet Model Architecture
图1. ACSA-CapNet模型架构
2.2. 词嵌入层
在词嵌入层,我们将句子
转换为单词嵌入
,对于ACSA任务,由于预期类别嵌入
在训练期间被随机初始化和学习。我们通过将方面嵌入
与每个单词嵌入在
中连接起来,得到方面感知句子嵌入
。
2.3. 编码层
我们通过双向门控循环单元(BiGRU)和残差连接将方面感知句子表示
转换为上下文化表示
。
(1)
2.4. 胶囊网络层
在初级胶囊层中,我们通过线性变换和挤压激活函数获得初级胶囊
和方面胶囊
。
(2)
(3)
这里的
都是模型的学习参数。原始胶囊网络的挤压函数如等式(4)所示,本文受沈等人 [9] [10] [11] 的影响,挤压函数定义见等式(5)所示。
(4)
(5)
由于句子的长度可变,发送到上层胶囊的初级胶囊的数量因句子而异,导致训练过程不稳定。长度较长的句子会使挤压激活函数达到饱和,导致所有类别的高置信度;而相比之下,长度十分短的句子将导致所有类别的置信度低。为了缓解这个问题,我们提出了方面感知归一化,利用方面胶囊来选择重要的主要胶囊,并通过以下方式归一化主要胶囊权重
,这里的
是模型的可学习参数。
(6)
由于路由的迭代过程,原始动态路由机制 [12] 存在训练效率低下的问题。并且没有上层信息用于指导路由过程,这使得动态路由就像一个自我引导的过程一样工作。
我们设计了一种胶囊引导路由机制,它利用关于情感类别的先验知识来有效地指导路由过程,而不是在路由过程中计算主胶囊和类别胶囊之间的耦合系数。具体来说,我们使用一组情绪胶囊来存储关于情绪类别的先验知识。让
是情感矩阵,用情感词的平均嵌入来初始化。
是情绪类别的数量,
是情绪嵌入的维度。我们可以通过对情绪矩阵应用挤压激活来获得情绪胶囊
,并通过计算主胶囊和情绪胶囊之间的相似性来计算路由权重
:
(7)
(8)
2.5. 类别胶囊层
基于归一化权重和路由权重,最终类别胶囊
可以计算为:
(9)
其中
是可学习的缩放参数,用于将连接权重缩放到合适的水平。我们使用边际损失作为基于方面的情感分类的损失函数:
(10)
其中
当且仅当类别
存在时,
和
是边际超参数,
控制缺失类别的损失。在我们的实验中,
,
,
分别设置为0.9,0.1,0.6。
3. 实验结果与分析
3.1. 实验数据
本文在MAMS-ACSA数据集的基础上采用用随机替换、同义替换以及数据删除等文本数据增强方法对先前数据集进行了类别均衡,并提出了一个新的数据ACSA-V2,并使新的数据集总量与原始数据集大小保持一致(见表1所示)。ACSA-V2数据集中一共定义了八个粗略的方面类别:食物、服务、员工、价格、环境、菜单、地点和其他。平衡后的数据集在各个类别的占比较先前而言,food方面数据集占比降低了约50%,而price、menu等原先占比较少的方面都相应的提高了约10%。

Table 1. Statistics of MAMS-ACSA and ACSA-V2 dataset
表1. MAMS-ACSA和ACSA-V2数据集统计
3.2. 基线模型
将我们提出的ACSA-CapNet模型与Jiang、Chen和Xu的CapNet模型进行比较。为了保证实验的准确性,我们使用同样的设置对于ACSA-CapNet模型和CapNet模型。
3.3. 实验细节
实验中,我们使用由GloVe (Pennington等人,2014) [13] 预先训练的300维单词向量来初始化胶囊网络模型的单词嵌入向量。胶囊大小设置为300。CapsNet的批次大小分别设置为64。我们使用Adam优化器来训练我们的模型。ACSA-CapsNet学习率设置为0.0003。我们运行所有模型5次,每次迭代20轮,并报告测试数据集的平均结果。实验参数参数设置见表2。
3.4. 结果与分析
实验结果见表3。从表3中我们得出以下结论:我们提出的ACSA-CapNet模型在MAMS-ACSA和ACSA-V2数据集都优于Jiang、Chen和Xu (2019)的CapNet模型。实验结果证明了我们提出的ACSA-V2数据集提高了模型的泛化能力。

Table 2. Experimental parameter setting
表2. 实验参数设置

Table 3. Experimental results on MAMS-ACSA and ACSA-v2 for ACSA subtask.
表3. MAMS-ACSA和ACSA-V2在ACSA子任务上的实验结果

Figure 2. Time consumption of 20 epochs in 5 rounds of CapsNet and CapsNet + SQ
图2. CapsNet和CapsNet + SQ在5轮20个epoch的耗时情况
3.5. 消融实验
为了分析所提出的ACSA-CapNet模型效果的有效性,我们进行了消融实验,在ACSA-CapNet和CapsNet模型通过挤压函数的改变和模型层数的改变,从而产生CapsNet + SQ (CapsNet改变了挤压函数)
和ACSA-CapNet-SQ (ACSA-CapNet只曾加了模型层数)。从表3 (最后两行)可以看出,通过改变挤压函数,Jiang等人提出的CapsNet模型较原先相比,准确率提高约2个百分点。从图2可以看出,当我们改变CapsNet模型的挤压函数后,可以看出耗时情况与没有改变时不相上下,但准确率较之前得到了提高。从图3可以看出,当对我们提出的ACSA-CapNet模型进行挤压函数的消融实验后,发现模型的收敛速度与准确率都有轻微的下降。

Figure 3. Time consumption of 20 epochs in 5 rounds of ACSA-CapNet and ACSA-CapNet-SQ
图3. ACSA-CapNet和ACSA-CapNet-SQ在5轮20个epoch的耗时情况
通过消融实验,虽然我们提出的ACSA-CapNet-SQ去掉挤压函数后相较ACSA-CapNet模型在MAMA-ACSA和ACSA-V2两个数据集上准确率都有所下降,但也侧面证明了压缩函数对模型准确率的影响。
4. 结语
在本文中,我们提出了ACSA-V2,一个用于基于方面的情绪分析的挑战数据集,其中每个句子包含具有不同情绪极性的多个方面。所提出的ACSA-V2数据集不仅可以防止方面级情感分类退化为句子级情感分类,还提高了模型的泛化能力,这可能会推动基于方面的情感分析的研究。此外,我们改进了Jiang等人的CapsNet胶囊网络的挤压激活函数,基于此提出了一个新的方面情感分析模型ACSA-CapNet。实验结果证明,其性能优于原有模型方法。
虽然本文提出的ACSA-CapNet模型可有效地提高方面级文本情感分析的准确性,但在实验中发现编码层使用的BiGRU模型所耗费的时间代价较高,随着Transformer模型的快速发展,我们下一步计划使用Transformer模型代替BiGRU模型,尝试去解决时间代价高的问题。
参考文献