我们略过关于 sentiment analysis 重要性的铺陈,直接进入本文涉及的任务。先上例子,对于一句餐馆评论:“Waiters are very friendly and the pasta is simply average.”,提到了两个评论目标:“waiter”和“pasta”;用来评价他们的词分别是:“friendly”和“average”;这句话评论的分别是餐馆的“service”和“food”方面。
以上便是 Aspect-Based Sentiment Analysis (ABSA) 任务中处理的三类对象:aspect、opinion、aspect category。也就是下图中的最上层。
从目标识别角度,针对 aspect term 和 opinion term,存在抽取问题;针对 aspect category,存在分类问题(假设预定义 aspect categories)。从情感分析角度,对 aspect term 和 aspect category 存在情感分类问题。这些原子任务如下图中间层所示。注意,一句评论里可能没有显示提及 aspect term,但同样可以存在 aspect category,比如“I was treated rudely.”讲的是“service”。
在已有的工作中,研究者也探索了结合两个或以上原子任务,如上图底层所示。基于任务之间的耦合关系,期望联合任务能取得更优的效果。比如我们提出的在做 aspect extraction 的同时预测 sentiment 极性(下文介绍的第一个工作),这个任务被称作 End-to-End ABSA (E2E-ABSA),对应于上图底层最左侧圆圈。
我们也尝试了利用迁移学习,来解决在低资源、少资源 domain 上的 E2E-ABSA 任务(下文介绍的第二个工作)。Aspect 及其 sentiment 极性(即 E2E-ABSA 任务),同表明这个极性的 opinion term,这三者之间是紧密相关的,为此我们提出 Aspect Sentiment Triplet Extraction (ASTE) 任务(下文介绍的第三个工作),对应于上图底层蓝色填充圆圈。
End-to-End ABSA任务
本小节工作来自论文:
1. A Unified Model for Opinion Target Extraction and Target Sentiment Prediction. In AAAI 2019.
源码链接:https://github.com/lixin4ever/E2E-TBSA
2. Exploiting BERT for End-to-End Aspect-based Sentiment Analysis. In EMNLP W-NUT Workshop 2019.
源码链接:https://github.com/lixin4ever/BERT-E2E-ABSA
问题定义
基于评论目标的端到端情感分析(End-to-End Aspect/Target-Based Sentiment Analysis, E2E-ABSA)的目的在于同时检测用户评论的目标/方面(Target/Aspect)以及相应的情感倾向(Target/Aspect Sentiment)。
我们将 E2E-ABSA 任务定义为一阶段的序列标注问题并引入了一种统一的标注模式(unified tagging schema)来将 Aspect 的位置信息和情感信息同时集成到单个标签当中。
如下图中的“Unified”行所示,除了 O 之外的每个标签的组成元素都包含位置(B/I/E/S)和情感标签(POS/NEG/NEU)。在这种标注模式下,输入为单词序列,输出为每个单词对应的 unified tag。
相关方法的局限
本任务中,aspect 抽取加情感判断,是一个很自然的两阶段建模问题。因此,E2E-ABSA 可以通过流水线(pipeline)或者联合建模(joint)的方式解决。
基于pipeline 的解决方案会先检测文本中的 aspect(序列标注问题),然后再判断相应的情感倾向(分类问题)。这种方案简单直接,但是存在 error propagation 的局限。
基于 joint 的解决方案将 E2E-ABSA 转化为两个串联的序列标注问题,即 target 标注和 sentiment 标注问题,如上图中的“Joint”行所示。该方案能够很大程度上减轻 error propagation 问题,但是工作[1] [2] [3]指出,把序列标注问题拆分为多个子问题逐步解决,并不会比解决单个问题性能更好。
基于以上的考虑,我们设计了一种统一的标注模式并基于这种模式提出了解决统一 E2E-ABSA 序列标注问题的神经网络模型(unified 方案)。需要注意的是,工作[4] [5] 也尝试了用 unified 方案去解决 E2E-ABSA 问题,但是效果均差于 pipeline 方案和 joint 方案。所以,提出了一个更有效的 unified 方案也是我们的贡献之一。
我们的模型
根据以上统一的标注模式(unified tagging schema)的设计,我们将 E2E-ABSA 建模为一个序列标注问题。同时,我们还从 下游模型的建模能力和 词义表示的质量这两个角度来探索如何提升 unified 方案的性能:
1. 更强大的下游模型:我们提出了一个新的堆叠式循环神经网络(RNN)来解决 E2E-ABSA 问题。这个模型包含了两层堆叠的循环神经网络(RNN),上层的 RNN 用于解决 E2E-ABSA 问题(即预测 unified 方案中的标签序列),下层的 RNN 负责检测评论目标的边界。
为了充分利用评论目标的边界信息,我们提出了一个 Boundary Guidance (BG) 组件显式地把下层 RNN 提取的边界信息加入到 E2E-ABSA 的序列决策中。在序列预测过程中,我们还通过 Sentiment Consistency (SC) 组件,来加强当前词和过去一个时刻的词的关系,从而缓解同一个评论目标短语内情感标签不一致的问题。
2. 更好的词级别语义表示:我们利用预训练的 BERT[6]来产生上下文相关的词向量,然后将 BERT 与标准的神经序列模型,例如:LSTM, Self-Attention Networks[7], CRF [8]等结合起来解决 E2E-ABSA 这个序列标注问题。
主要结果
我们在 SemEval Laptop、SemEval Restaurant 和 Twitter 数据集上进行了实验。方案 1 的实验结果如下。我们提出的第一种 unified 方案(方案 1),在所有数据集上均胜过现有的 pipeline 方案(HAST-TNet)和 joint 方案(NN-CRF-joint)。我们的方案同样也优于三种基于 LSTM-CRF(NER 任务中最常用的模型)的 unified 方案。
以上结果不仅验证了我们所设计的统一标注模式(unified tagging schema)在 E2E-ABSA 任务上的适用性,也说明了更强大的下游神经网络框架能够更精确地识别评论目标以及对应的用户情感倾向。
方案 2 的实验结果如下。从表格中我们可以看到,在引入 BERT 的情况下,使用最简单的下游任务模型(i.e, BERT-Linear)都可以胜过之前最好的模型(Luo et al., 2019);继续增加下游网络的复杂度(i.e., BERT-GRU, BERT-TFS, BERT-CRF),模型的效果能够得到进一步提升。
这些结果表明 BERT 所提供的上下文相关的语义表示对于提升 E2E-ABSA 系统性能的重要性。一个很自然的问题就是结合我们的方案 1 和方案 2 结果会怎么样,目前正在实验中。
领取专属 10元无门槛券
私享最新 技术干货