本文主要针对《A Survey on Aspect-Based Sentiment Analysis: Tasks, Methods, and Challenges》这篇ABSA领域很有价值且最新的综述进行解读,转换成通俗易懂的中文文章,以供大家便捷阅读,其中参考文献可以参考原文。
**基于方面的情感分析(aspect-based sentiment analysis, ABSA)**是一个重要的细粒度情感分析问题,旨在从方面(Aspect)层面分析和理解人们的观点。本文主要基于最新的一篇综述论文《A Survey on Aspect-Based Sentiment Analysis: Tasks, Methods, and Challenges》,详细介绍了ABSA的发展历史、研究现状、主要方法、展望和挑战,包括深度学习以及新兴的与训练方法。
相比于粗粒度的情感分析,细粒度的情感分析对于实际应用的意义更大。
例如在淘宝中,这里对于评论信息的抽取就是典型的细粒度情感分析,买家对于手机几个方面的评价有正有负。对细粒度的aspect进行分析,一方面,有助买的人从自己看重的特征方面决定是否购买,另一方面,让厂家能对自身的产品有更全面的认知,从而进行针对性的改进。可以预想到这样的信息抽取比单纯的抽取喜欢/不喜欢更加具有应用价值。
对于海量的文本信息来说,这样的细粒度信息很难人工抽取,所以从2012年便有人开始研究。
ABSA中,要体现出情感的是句子中的某个实体或者实体的某个方面,而不再是整个句子。例如手机是正品,但网络不稳定
中的正品
,网络
可以看做是方面
普通情感分析(general sentiment analysis)主要包含两部分:目标(Target)和情感(sentiment),目标可以是任意一个实体或实体的任意一个方面,情感有积极/中立/消极( positive/neutral/negative)三种观点(opinion),这里的情感只针对目标。简单来说就是针对一个文本分析出其对应的情感,是一个非常简单的文本分类任务。
而对于ABSA,Target可以是一个 aspect category c c c或 一个aspect term a a a,ABSA中的Sentiment进一步扩展为opinion term o o o和大体情绪取向 p p p(情感极性)。
二者区别图示如下:
可以看到ABSA主要是扩展了方面类别和方面观点和观点项。
通过一张图快速学习一下ABSA中的4个关键情感元素:方面项(Aspect Term)、方面类别(Aspect Category)、观点项(Opinoin Term)、情感极性(Sentiment Polarity):
null
。GENERAL
四者的数学定义分别为 a a a、 c c c、 o o o、 p p p。
注⚠️:在大多数的基准数据集中每句话都会有实体,所以有时统一将实体和它的方面统称为方面(aspect)。
通过四个关键预测,我们可以给出ABSA的正式定义:从相关文本识别出文本中某个相关文本项(text item)的情感元素,可以是单个情感元素,也可以是多个情感元素,他们之间具有依赖关系。
单一ABSA任务是指抽取某个关键情感元素,aspect term和aspect sentiment元素都可以成为一个单一的子任务(Single ABSA tasks),例如 aspect term extraction task负责从文本中抽取方面项,aspect sentiment classification task 预测文本的情感极性。
尽管抽取单一情感元素的单一子任务非常有效,但困难的地方不在于方面项抽取,而在于理清各个情感元素直接的以来关系,例如理解**方面级别的观点(aspect-level opinion)**是针对哪个 aspect term 且理解各个 aspect term 直接的关系。
多种情绪因素(sentiment element,即上面提到的四个关键元素)的联合预测称为复合ABSA任务(Compound ABSA Tasks),例如aspect-opinion pair extraction task需要抽取方面项和方面观点组成的对,例如从上述例子中抽取(pizza, delicious)
,这样看起来相比于单个任务更加直观。
目前业界的主要工作也都是围绕复合ABSA展开。
随着预训练语言模型(PLMs)的横空出世,如BERT和RoBERTa,大规模改进了ABSA任务。以PLMs为骨干,ABSA模型的泛化能力和鲁棒性得到了显著提高。Li et al.首次使用一个简单的线性分类器配合BERT在端到端的ABSA任务书取得了SOTA的效果。
由于预训练已经成为目前NLP领域的主流方法,在后面我们会重点讨论基于预训练的ABSA模型(PLM-based ABSA models)。
当前训练ABSA任务的主要方式都是针对特定的语言和领域、一旦语言或领域变化,就需要重新训练。然而对于有些领域和语言的训练数据非常稀缺,而且ABSA任务的标注成本也十分昂贵,我们期望构建出一个可以**跨领域,跨语言(cross-domain and cross-lingual)**的更加实用的ABSA模型,就像人类一样,可以通过举一反三来克服训练数据的局限性。
这也是当前ABSA所面临的主要挑战,后文也会提到一些目前的工作进展。
介绍一些 NLP 领域目前的主流范式,后面都会提到,并简单给出其在 ABSA 任务中的结构:
下面介绍一下ABSA任务中的一些常见数据集和相应的评价标准,图表如下:
关于评价指标,对各种任务都通常要求必须精确匹配,即所有的预测元素都要与结果一致,然后再使用准确率、精确度、召回率、F1值等常见的评价指标即可。
ABSA任务目前的分类和解决方法导图如下:
通过下面这个示例图可以清晰明了地理解这些任务的区别:
接下来我们来详细说说这些任务和对应的解决方案,以及目前的进展:
单一ABSA任务即是从文本中仅识别或抽取某一个情感元素,对应四种任务分别称为方面项抽取(Aspect Term Extraction, ATE)、方面类别识别(Aspect Catagory Detection, ACD)、观点项抽取(Opinoin Term Extraction, OTE)、方面情感分类(Aspect Sentiment Classification, ASC)。
方面项抽取是ABSA的一个基础任务,例如对The pizza is delicious, but the service is terrible.
输出{pizza, service}
这两个方面项。根据数据的有无标签ATE还可以分为监督学习、半监督学习和无监督学习。
对于有标签的ATE数据,使用监督学习可以直接将ATE任务转换为一个字符级别的分类任务(token-level classification),毕竟要抽取的Aspec Term通常也就是一个词或者短语。因此,CRF(Conditional Random Fields)、RNN、CNN这些方法都可以用于ATE任务。
**词表征学习(word representation learning)**同样应用在了ATE任务中,目前的一些进展如下:
由于标签数据的稀缺,半监督学习在ATE领域同样有应用,数据增强方法可以产生更多的伪标签数据(pseudo-labeled data),目前的进展如下:
同理,无监督学习在ATE任务中也有着大量的研究:
方面类别检测(ACD)是为了确定给定句子中讨论的方面类别,其中的类别属于一个预定义的类别集,通常是特定领域的。例如对The pizza is delicious, but the service is terrible.
输出{food, service}
这两个方面项。
与ATE任务相比,ACD可以有两个区别。首先,ATE预测的是单个方面术语,而ACD预测的类别往往是几个方面术语的母词(hypernym)。因此,ACD的结果可以被看作是一个聚合的预测,它可以更简洁地呈现意见目标。其次,即使句子中没有明确提到意见目标,ACD也能识别它们。例如,给定一个句子 It is very overpriced and not tasty
,ACD可以检测到原文中没有的两个方面的类别,即price
和food
,而ATE则只能识别出原文中明确有的方面项。ACD同样也分为监督学习和无监督学习。
首先来介绍有标签数据的监督学习ACD任务,有监督的ACD其实就是一个**多标签分类(multi-label classification)**问题,把每个类别看成一个标签即可:
以无监督的方式处理ACD任务,通常有两个步骤
pizza
和 pasta
聚类到方面类别food
。无监督方式的处理区别主要在于第二步,有以下方法:
观点项抽取OTE 同时提取观点项和其相关的方面项,根据方面项是作为输入还是输出,OTE可以分为两个任务:
The pizza is delicious, but the service is terrible.
输出pizza
, service
和delicious
, terrible
。AOCE 可以看做是一个三标签分类问题(方面、观点和 null),对于给定的标签集将其分类为{B-A, I-A, B-O, I-O, N},最终输出的其实就是一个方面集合(aspect set)和一个观点集合(opinoin set)。Fan等人[45]提出了一个名为IOG的神经模型,通过Inward-Outward LSTM纳入方面信息,生成方面融合的上下文。后来的方法设法提高了从几个方面提取的准确性。
Wu等人[120]利用一般的情感分析数据集来转移潜在的观点知识,以处理主要的TOWE任务。
Veyseh等人[47]利用句法结构,如基于依赖树的方面距离来帮助识别意见术语。
Mensah等人[48]根据经验评估了基于各种文本编码器的位置嵌入的重要性,发现基于BiLSTM的方法具有适合TOWE任务的归纳偏向,而使用GCN[121]来明确考虑结构信息只带来微小的收益。
方面情感分类,也称为方面级别的情感分类(aspect based/-targeted/-level sentiment classification),目标是预测句子中方面的情感极性。方面虽然可细分为方面项和方面类别,但对于方面情感分类来说区别不大,都是一个序列分类问题(SeqClass)。
ASC 最主要的问题在于如何适当地利用方面(术语/类别)和句子上下文之间的联系来对情感进行分类。该任务的进展如下:
ASC的另一条研究线是对句子的句法结构进行建模预测,因为方面和对应观点之间的结构关系往往能够表明情感导向。例如对The pizza is delicious, but the service is terrible.
,如果可以知道pizza
和service
之间的关系就是主系表,自然可以知道情感导向(这个例子比较简单,但难点在于处理更长更复杂语法的句子)。
早期的基于机器学习的ASC已经将挖掘出来的句法树作为分类的特征[124, 130]。然而,由于依赖关系解析本身是一项具有挑战性的NLP任务,不太准确的解析器ASC方法并没有显示出比其他方法明显的优势[129]。由于近年来基于神经网络的依赖解析的改进,更精确的解析树为基于依赖的ASC模型带来了显著的改进。
除了句子内部的句法结构,其他结构信息也被考虑了进来。
复合ABSA任务的目标就是涉及多个情感元素
这些任务可以被视为单一ABSA任务(Single ABSA Tasks)的综合任务。然而,这些复合任务的目标不仅是提取多个情感元素,而且还通过预测对(即两个元素)、三联(即三个元素)、甚至四联(即四个元素)格式的元素来耦合它们。
显然我们的最终目标是实现细粒度的情感分析,而能够使用封装更加良好的复合 ABSA是更有前途的。
下面来详细介绍各个复合 ABSA 方法:
方面术语和意见术语的提取是ABSA系统的关键,前面的AOCE中只提取了方面和观点但没有处理两者间的关系,而 AOPE [13, 11]的区别在于要提取的是方面-观点组成的对。
复合 ABSA 任务是单一 ABSA 的综合任务,可以通过对单一 ABSA 的嵌套来进行解决。
处理 AOPE,可以通过流水线(pipeline)的方法来解耦多个子任务,最终实现提取 aspect-opinoin pairs。解决方法有:
除了叠加单一 ABSA 子任务,还可以直接使用一个统一的模型处理 AOPE,这样做的好处是可以避免流水线方法在传播中的一些错误。
端到端的 ABSA 用来同时提取方面项和它相应的情感极性,即抽取 ( a , p ) (a,p) (a,p)pairs。可以拆分为 ATE 和 ASCE 两个子任务。
最近这些年,将这个任务与一般的ABSA问题区分开来,特称为端到端的 ABSA 或统一的 ABSA 任务。
最直观的方法是直接使用流水线方法序列化地处理二者,但实际上检测方面和情感极性分类是可以相互增强的。以I like pizza
为例,上下文信息like
表示一种积极的情感,同时也暗示了下面的单词pizza
是表达意见的对象。
受这种思路的启发,ABSA 中提出了许多使用端到端方式的方法。可以分为两种类型:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A42unXx0-1649934228693)(http://suprit-images.oss-cn-beijing.aliyuncs.com/2022-04-14-110254.jpg “BIESO表示方面的边界,POS, NEG 表示对应项情感极性,B-NEG 表示一个方面的开始的极性是负的”)]
无论采用哪种类型的方法,都总结一些共同的思想,并在不同的模型中频繁出现:
目前还不能说pipline, joint, unified 这三种方法哪种最好。
早期的,[10]发现管道方法表现更好,但Li等人[80]表明,使用一个量身定做的神经模型与统一的标签方案可以得到更好的性能。
后来,Li等人[19]进一步验证了使用一个简单的线性层堆叠在预训练的BERT模型之上,并采用统一的标签方案,可以取得很好的效果,而无需复杂的模型设计。
最近,基于管道[94, 93]、统一[137]或联合方法[86]的研究工作都取得了良好的性能。
方面类别情感分析联合检测方面类别和相应的情感极性,例如对The pizza is delicious, but the service is terrible.
输出(food, POS)
,(service, NEG)
。
尽管与 E2E-ABSA 任务的区别似乎只在于一个是方面,一个是方面类别,但更重要的区别在于 E2E-ABSA 抽取的 aspect 必须是在句中明确的,而 ACSA不管是隐含的还是明确的都可以抽取,因为这一特点,ACSA 也广泛用于工业。
最直接处理 ACSA 任务的方法同样是 pipeline,首先检测方面类别,然后预测每个类别的情感极性。但如上所述,这种简单的思路有很大的问题,一旦第一个检测类别的环节出了问题,将严重影响性能,此外这也忽视了类别和情感之间的关系。实际上目前大多都采用多任务学习,并且能够取得更好的性能。
本质上,ACD任务仍然是一个多标签分类问题(将每个类别视为一个标签),而ASC任务是一个针对每个检测到的方面类别的多类别分类问题(其中每个情绪极性是一个类别)
目前的 ACSA 任务方法可以分为四种类型,(1) Cartesian product, (2) add-one-dimension, (3) hierarchy classification (4) Seq2Seq modeling。
Cartesian product
笛卡尔乘积法通过笛卡尔乘积来列举所有可能的类别-情绪对的组合。然后,分类器将句子和特定的类别-情绪对作为输入,预测是一个二进制值,表示这样的一对组合是否成立[46]。然而,它产生的训练集比原始训练集大几倍,大大增加了计算成本。
add-one-dimension
另一个解决方案是在预测方面的类别时增加一个额外的维度。以前,对于每个方面的类别,我们预测其情感极性,通常有三种可能性:正面、负面和中性。Schmitt等人[88]增加了一个名为 "N/A "的维度,表示该类别是否出现在句子中,从而以一种统一的方式处理ACSA。
hierarchy classification
Cai等人[89]提出了一种层次分类方法来解决ACSA问题:层次图卷积网络(Hier-GCN)首先识别方面类别,然后联合预测每个识别类别的情感。因此,方面类别之间的内部关系和不同方面及其情感之间的相互关系可以被捕捉到。同样,Li等人[141]利用共享情感预测层来分享不同方面类别之间的情感知识,以缓解数据不足的问题。
Seq2Seq modeling
最近,Liu等人[90]采用Seq2Seq建模范式来解决ACSA问题。基于预训练的生成模型,他们使用自然语言句子来表示所需的输出(如上图),其性能优于以前的分类类型模型。
此外,实验结果表明,这种范式可以更好地利用预先训练好的知识,在少样本和零样本的情况下有很大的优势。
** 方面情绪三联体提取任务**试图从给定的句子中提取 ( a , o , p ) (a, o, p) (a,o,p)三联体,这些三联体告诉我们观点目标是什么,它的情绪倾向是什么,以及为什么要表达这种情绪(通过意见项)。
可以说 ASTE 才算是真正全面完成了对情感信息的抽取。近些年来,ASTE任务吸引了很多人的关注。针对ASTE任务已经提出了各种框架,可分为四种,如下图:
pipeline方法的一些解决方法如下:
Peng等人[12]首先提出了一个分为两阶段的管道方法来提取三联体。如图所示,首先执行两个序列标记模型,分别提取方面及其情感,以及观点。在第二阶段,利用一个分类器从预测的方面和意见中找到有效的方面-意见对,最后构建三联体预测。
为了更好地利用多种情感元素的关系,人们提出了许多统一的方法。Zhang等人[92]提出了一个多任务学习框架,包括方面术语提取、观点术语提取和情感依赖性解析任务。然后应用启发式规则,从这些子任务的预测中产生情感三要素。
另一个潜在的方向是设计统一的标签方案,一次性提取三联体[91, 75]。Xu等人提出的JET模型采用了一种位置感知的标记方案,该方案扩展了之前的统一标记方案,Xu等人提出的JET。采用了一个位置感知的标签方案,该方案利用观点词的位置信息扩展了之前E2E-ABSA任务的统一标签方案[80],如图(b)所描述的。
同样,Wu等人[75]将第4.1节中描述的AOPE任务的网格标记方案(GTS)扩展到对情感极性进行预测。由于这些方法依赖于词对之间的相互作用,当方面术语或意见术语是多词表达时,它们可能表现得不好。
受此启发,Xu等人[97]提出了一个跨度级的交互模型,该模型明确考虑了整个方面的跨度和意见的跨度之间的交互作用,以提高性能。
比较流行的 MRC 和 seq2seq范式也应用在了 ASTE 任务中
尽管在分析方面层面的情感时,方面类别和方面术语都可以作为观点目标,但情感往往同时取决于两者。为了捕捉这种双重依赖关系,Wan[46]等人提出检测给定句子的所有(方面类别、方面项、情绪极性)三联体。他们在(方面类别,情感极性)对的基础上将联合预测任务分成两个子任务,其思路与第4.3节中描述的ACSA任务的 笛卡尔积 相似。
因此,给定一个特定方面类别和情感组合的句子,问题是:是否存在针对这种组合的方面术语,如果存在,方面术语是什么?前者可以归为一个binary SeqClass 任务,后者是一个条件 TokenClass 问题。
例如,对于句子The pizza is delicious
以及(food, POS)
对,第一个子任务是预测这个组合的存在,序列标签模型应该提取 pizza
作为相应的方面术语。然后,一个三联体(food, POS, pizza)
可以作为预测输出。然而,例如收到以(service, Pos)
对作为输入的相同句子时,第一个子任务应该预测这个组合不存在。总体训练目标可以是这两个子任务的综合损失。
N/A
,与ACSA中的 add-one-dimension方法[88]的想法相似。因此,当分类模型输出 N/A
时,表明在输入中没有与该类别相关的三联体。此外,MEJD还采用了一个带有注意力机制的GCN来捕捉方面和上下文之间的依赖关系。由于特定领域(specific domain)的预定义方面类别的数量通常较少,上述方法可以通过结合每个类别的句子作为输入来分解原始ACSD任务。
上面的各种复合ABSA任务的都是未来捕捉更详细的方面级情感信息,方法有成对提取(如AOPE)或三联体提取(如ASTE)。尽管这些方法都很有价值,但显然能够一次性预测四个情感元素的模型应该能提供最完整的方面级情感结构。最近提出的**方面情感四元预测(ASQP)**任务[101, 7],旨在预测给定文本项目的四元形式的所有四个情感元素。
Cai等人[101]研究了ASQP任务,强调了隐性的方面或观点。作者认为,隐形的方面或观点经常出现在现实世界的场景中,并使用 null
来表示它们在情感四元素中。他们引入了两个带有情感四元素标注的新数据集,并通过结合现有模型构建了一系列pipeline baseline,以对任务进行基准测试。
Zhang等人[7]提出了一个Paraphrase建模策略,以端到端的方式预测情感四元素。通过将标记的情感元素与预先建立的模板相结合,并使用获得的自然语言序列作为目标序列,他们将原来的四元素预测任务转化为文本生成问题,并通过Seq2Seq建模范式来解决。因此,标签语义(即情感元素的含义)可以得到充分的利用。
鉴于ASQP任务的价值,我们期望在未来看到更多的相关研究。
各种ABSA任务之间的关系图如下所示:
单一领域内的有监督的ABSA模型已经发展的不错。然而,真实世界中我们往往要面对涉及多个领域甚至未见过的文本,这时这些模型很可能无法获得令人满意的预测结果。主要原因是不同领域的观点目标所指的方面通常有很大的不同,而且模型可能没有关于未见过的领域中经常使用的术语的预先知识。
一个直接的解决方案是为这些领域标记有标签数据并重新训练额外的领域内模型。但ABSA的数据要求细粒度的注释,收集足够数量的标记数据非常昂贵,甚至有时无法做到。为了能够以较低的成本进行跨域ABSA预测,采用了域适应技术(domain adaptation techniques)[152, 20],为ABSA系统在其他领域的推广提供了替代解决方案。
这些工作可以分为两种:基于特征的转移和基于数据的转移。
基于特征的转移的核心思想是为ABSA任务学习与领域无关的表征。
与基于特征的转移相比,基于数据的转移旨在调整训练数据的分布,以更好地将ABSA模型推广到新的目标领域。
Ding等人[162]采用高精度的句法模式和一些与领域无关的观点术语来创建目标领域的伪标签数据。然后,伪标签的目标数据被添加到源域训练集中,以建立跨域的ABSA模型。
Li等人[163]以类似的方式建立目标域的伪标签数据,并根据伪标签数据对源域训练实例进行重新加权。
Yu等人[164]没有在未标记的目标域数据上产生有监督的标记,而是开发了一个方面受限(意见受限)的屏蔽语言模型,该模型将源域标记的评论作为输入,并将源域的方面项(观点项)转换为目标域的silver训练数据。
此外,Gong等人[165]提出将token level 的实例再加权策略与来自辅助任务的领域表示学习(domain-invariant representation learning)结合起来,以巩固基于特征的转移和基于数据的转移,为跨领域的E2E-ABSA提供更好的领域适应。
Pereg et al.[166]和Rietzler等人[147]将PLMs的嵌入作为不同领域的ABSA预测的特征,并获得了合理的结果,表明在大规模语料库上预训练的PLMs已经能够提供良好的领域无关的表示。
Xu等人[167]通过不断用多个相关领域的未标记文本对BERT进行预训练,进一步加强了PLM的领域特异性,极大地提高了BERT在E2EABSA任务中的领域泛化能力。
这些进展表明,基于巩固基于特征的转移和基于数据的转移是跨域ABSA的一个更好的方法,语言模型预训练可以作为一个即插即用的组件引入,以进一步提高领域适应性的性能。
现有的ABSA工作大多是在资源丰富的语言上进行的(主要是英语),而现实世界中,观点有各种语言,例如客户的评论包含多种语言,而且英文也不是最多的。
然而,由于 ABSA 数据的复杂,为每种语言都标注数据是很耗时的,这就促使了**跨语言ABSA(XABSA)**的任务。由于跨语言转移的难度,大多数XABSA研究是在简单的ABSA 任务上进行的,如跨语言方面项提取(XATE)[168, 169, 170, 171],跨语言方面情感分类(XASC)[172, 173, 174],以及跨语言端到端ABSA[175, 176]。
为了实现跨语言转移,关键问题是要获得目标语言的特定知识。
早期的方法通常依靠翻译系统来获得这种知识。首先用一个现成的翻译系统将句子从源语言翻译成目标语言。然后,标签也同样从源语言投射到目标语言,既可以直接投射,也可以使用单词对齐工具,如FastAlign[177],因为有些ABSA任务(如XATE)需要token级的注释。因此,可以用获得的(伪)标记的目标语言数据来训练一个ABSA模型。
因为这类方法的性能在很大程度上依赖于翻译和标签投影的质量,所以已经提出了许多技术来提高数据质量,包括协同训练策略(co-training strategy )[168]、实例选择(instance selection)[169]或约束性SMT(constrained SMT)[172]。
在大型平行双语语料库上预训练的跨语言词嵌入也已被用于XABSA。
通过共享一个共同的向量空间,该模型可以以一种语言无关的方式使用[173, 174]。
最近,受利用单语预训练语言模型(monolingual PLMs)的成功启发,利用多语预训练语言模型(multilingual PLMs),如多语BERT[17]和XLM-RoBERTa[178]来处理跨语言NLP任务已成为一种常见的做法。
通常情况下,PLM首先在大量的多语言语料库上进行预训练,然后在源语言数据上进行微调,以学习特定的任务知识。最后,它可以直接用于在目标语言测试数据上进行推理(称为zero-shot transfer)。由于在预训练阶段获得的语言知识,zero-shot transfer已被证明是许多跨语言NLP任务的有效方法[179, 180]。
然而,在预训练阶段学到的语言知识对于XABSA问题可能是不够的。作为补偿,利用翻译后的(伪)标记的目标语言数据可以使模型具备更丰富的目标语言知识。
与单语ABSA问题相比,XABSA问题的探索相对不足。虽然现在mPLMs被广泛用于各种跨语言的NLP任务,但在XABSA中应用仍然很棘手,因为特定的语言知识在任何ABSA任务中都起着至关重要的作用。因此,它需要更好的mPLMs适应策略,为模型注入更丰富的目标语言知识。另一方面,现有的研究主要集中在相对较容易的ABSA任务上,探索更难的复合ABSA任务的跨语言转移在实践中是很有挑战性的。
传统的神经网络ABSA模型通常使用预训练好的词嵌入,如Word2Vec[144]和GloVe[145],与一个精心设计的特定任务的神经架构结合起来。尽管与早期基于特征的模型相比,它们很有效,但逐渐达到了一个瓶颈。原因之一是与上下文无关的词嵌入不足以捕捉到句子中复杂的情感依赖关系(词嵌入的的缺点)。此外,现有的ABSA数据集的规模也不支持训练非常复杂的架构。
近年来,预训练的语言模型(PLMs),如BERT[17]和RoBERTa[18]已经在广泛的NLP任务上带来了实质性的改进。自然,ABSA 也引入了来进一步提高性能。
最初的工作[61, 146, 147]没有在特定任务的模型设计上花费太多精力,而是简单地引入了来自PLMs的上下文嵌入作为词嵌入的替代。考虑到在预训练阶段学到的丰富知识,简单地利用这种上下文嵌入已经带来了很大的性能提升。
Li等人[19]研究了在E2E-ABSA任务中在PLM之上堆叠几个标准预测层的用法。他们发现,使用最简单的线性层。 在[101]中,它也被称为方面-类别-观点-情感(ACOS)四重提取任务。
分类层与PLM可以超过以前精心设计的神经网络ABSA模型。同样,简单地将给定的句子和一个相关的方面连接起来作为PLM的输入,并利用句子级别的输出(例如,对应于BERT的[CLS]标记的表示),建立了ASC任务的新的最先进的结果[61]。
此外,作者表明,在领域和任务注释的数据上进一步对模型进行后训练,可以捕捉到更好的领域和任务特定的知识,从而导致更好的性能。
然而,仅仅采用PLMs作为上下文感知的嵌入层可能是不够的。从ABSA任务的角度来看,复杂的任务往往不仅需要识别序列或token级别的标签,还需要识别它们之间的依赖关系,这需要更多的设计以便充分利用来自PLMs的上下文嵌入。从PLM的角度来看,在预训练阶段学到的丰富知识可能不会被充分地利用到相关的ABSA任务中。为此,很多人都在努力使PLM更好地适应不同的下游ABSA任务。
除了作为ABSA模型的backbone,PLMs还可以从其他方面对处理ABSA任务有所帮助。
例如,在PLMs的预训练阶段使用的语言建模任务常常带来执行生成性数据增强的能力。
PLM的另一个有趣但在很大程度上被忽视的作用是为基于依赖关系的ABSA模型提供更好的依赖树。明确地利用语义关系对许多ABSA任务是有益的,但其性能在很大程度上取决于所采用的依赖树的准确性。
目前NLP界的普遍认为PLMs能够准确反映输入词的语义[151]。然而,通过自注意力机制获得的上下文嵌入,捕捉了句子中的全部单词依赖关系,对于ABSA任务来说,可能却是有些多余的。因为 ABSA 往往不需要捕捉那么多的依赖关系,这样做反而造成了浪费。
事实上,明确指导如何使用有意义的结构进一步将预训练的表征进一步迁移,比单纯用[CLS]
标签表示进行预测的工作的优越性间接表明了这种冗余的存在。如何用PLM巩固有意义的稀疏关系结构,或者完善内在的全连接的自注意力,以更有效的方式获得ABSA相关的表征,值得更多的关注和研究工作。
另一方面,基于PLM的ABSA模型的稳健性仍有提高的空间。特别是,正如Xing等人[115]所观察到的,即使基于PLM的模型在对抗性例子上明显优于之前的神经模型,它在最简单的ASC任务上仍然有超过25%的性能下降。我们认为,利用PLM来真正理解方面级的情感,例如,对颠倒的观点和情感的否定具有鲁棒性,而不是学习方面和情感标签之间的虚假相关性,是建立基于PLM的ABSA模型的未来挑战。但要实现这样的智能,还有很长的路要走。
过去十年里,ABSA 取得了巨大进展。但实现更加智能和强大的 ABSA 系统仍然是一个挑战。作者总结了目前 ABSA 领域的调整,并提出了一些能够推动 ABSA 研究的方向。
大多数现有的ABSA数据集来自SemEval比赛里的数据[110, 111, 112],这里的数据有标记但规模较小。然而,较小的数据规模(如数百个句子)难以清楚地比较不同的模型,特别是对于具有数百万参数的基于PLM的模型。目前,通常的做法是用不同的随机种子(通常是5个或10个)训练模型,并用不同运行的平均分数来报告模型的性能,但最好是引入更大的数据集来进行更公平和可靠的比较。
此外,尽管现有的数据集为比较不同的方法提供了有价值的测试平台,但仍然非常需要提出更具挑战性的数据集来满足现实世界的场景。例如,包含多领域或多语言评论的数据集可以帮助评估多领域和多语言的ABSA系统。
此外,由于用户的意见可以以任何形式表达,我们也期待从不同的意见分享平台收集的数据集,如问题回答平台[137]或客户服务对话[181]。
大多数现有的ABSA工作集中在分析有观点的文本,如客户评论或推特。然而,用户经常用其他方式分享他们的意见,如图片。由于不同模态的内容本质上往往密切相关,利用这种多模式的信息可以帮助更好地分析用户对不同方面的情绪。
最近关于多模态ABSA的研究主要集中在简单的ABSA任务上,如多模态ATE[182, 183]和多模态ASC[184, 185, 186, 187]。为了统一来自不同模式的信息,文本和图像通常首先被编码为特征表示,然后设计一些交互网络来融合信息以进行最终预测。最近,受单模态E2E-ABSA任务(即仅基于文本)的成功启发,Ju等人[188]研究了多模态E2E-ABSA任务,旨在捕捉其在多模态情况下两个子任务之间的联系。他们提出了一种多模态联合学习的方法,通过辅助性的跨模态关系检测来获得所有方面项-情感极性对。
尽管有这些初步的尝试,但应该考虑处理更复杂的多模态ABSA任务;从方法的角度来看,应该提出更先进的多模态技术来融合多模态的意见信息,例如,基于多模态PLMs构建模型。
鉴于多模态ABSA在现实世界的应用中越来越受欢迎,我们相信多模态ABSA会得到更多的关注。
在介绍各种ABSA任务的过程中,一些想法和模型设计多次并重复出现。事实也正是如此,一个ABSA任务的解决方案可以很容易地被借用来处理另一个类似的任务,因为这些任务本来就是密切相关的。
这就自然而然地提出了一个问题:我们能否建立一个统一的模型来同时处理多个(如果不是全部)ABSA任务?如果是这样的话,就没有必要为每个任务设计特定的模型。这在实践中也是有用的,因为我们可能不想在每次有不同类型的观点标注的新数据时改变模型结构并重新训练它。
如果不同的任务可以被表述为相同的建模范式,就可以通过相同的模型来解决。最近的几项研究证明了沿着这个方向的一些初步尝试。他们或者通过为MRC模型设计特定任务的查询,将任务转化为MRC范式[76, 93, 94],或者通过直接生成自然语言形式的目标情感元素,转化为Seq2Seq范式[95, 96, 7]。除了用相同的架构解决多个任务外,Zhang等人[7]进一步发现,如果不同的ABSA任务在相同的建模范式下,特定任务的知识可以很容易地转移(称为跨任务转移)。
终身学习,也被称为持续学习、顺序学习或增量学习(Lifelong learning, continual learning, sequential learning, incremental learning),旨在积累从以前的任务中学到的知识,并在一连串的任务中调整它以帮助未来的学习[189]。
Chen等人[190]首先从终身学习的角度研究了情感分析,并提出了终身情感分类问题,该问题需要一个模型来处理一系列的情感分类任务。
Wang等人[191]将终身学习的思想强加到ASC任务中,并提出了一种基于记忆网络的新型终身学习方法。最近的终身情感分析研究开始研究顺序学习过程中的灾难性遗忘问题[192, 193, 194, 195],而不是简单地将其作为知识积累的跨域情感分析的延伸来研究。
然而,现有的研究主要集中在ASC任务的领域增量学习(domain incremental learning )[194, 195],其中所有的任务共享相同的固定标签类(例如,正面、负面和中性),不需要任务信息。为了开发更先进的终身ABSA系统,不可避免地需要研究类和任务的增量学习。
例如,在不同的应用中,方面的类别是不同的,这就要求有能够适应变化的类别的方法。此外,跨任务转移(cross-transfer)[7]已被证明可以有效地将从低级ABSA任务中学习到的知识转移到高级ABSA任务中。因此,跨越不同类型的ABSA任务的终身学习也是值得探索的。
本综述旨在对基于方面的情感分析问题进行全面回顾,包括其各种任务、方法、当前的挑战和潜在的方向。我们首先通过ABSA的四个情感要素、定义、常见的建模范式和现有的资源来建立ABSA的研究背景。然后,我们详细描述了每个ABSA任务及其相应的解决方案,并强调了复合ABSA任务的最新进展。同时,我们从所涉及的情感要素对现有研究进行了分类,并总结了每个任务的不同建模范式的代表性方法,这为当前的进展提供了一个清晰的画面。我们进一步讨论了利用预训练的语言模型来解决ABSA问题,这给各种ABSA任务带来了很大的改进。我们研究了它们所具有的优势,以及它们的局限性。此外,我们还回顾了跨领域和跨语言ABSA的进展,这些进展可以带来更实用的ABSA系统。最后,我们讨论了这个领域目前的一些挑战和有希望的未来方向。
本文使用wolai编写,原文链接为https://www.wolai.com/5L69B34hDxdrN18whxt9wQ,支持评论和复制,浏览体验可能会更好。