《A Survey on Aspect-Based Sentiment Analysis: Tasks, Methods, and Challenges》阅读笔记

2023-05-16

忙活了一阵子后,现在终于有空研究一下目前如火如荼的ABSA了,当然,还是先从综述出发。

A Survey on Aspect-Based Sentiment Analysis: Tasks, Methods, and Challenges

Abstract

基于方面的情绪分析(ABSA)作为一个重要的细粒度情绪分析问题,旨在从方面层面来分析和理解人们的观点,在近十年来一直引起了人们的极大兴趣。为了处理不同场景下的ABSA,研究人员引入了不同的任务来分析不同的情绪元素及其关系,包括方面术语、方面类别、意见术语和情绪极性。与早期专注于单一情绪元素的ABSA工作不同,近年来,人们研究了许多涉及多个元素的复合ABSA任务,以获取更完整的方面级情绪信息。但目前仍然缺乏对各种ABSA任务及其相应的解决方案的系统回顾,这也是作者写这篇综述的motivation。更具体地说,本文为ABSA提供了一种新的分类方法,它从相关情绪元素的轴上组织现有的研究,重点介绍了复合ABSA任务的最新进展。从解决方案的角度出发,本文总结了ABSA的预训练语言模型的使用,它将ABSA的性能提高到了一个新的阶段。此外,作者还讨论了在跨领域/语言场景中构建更实用的ABSA系统的技术。最后,回顾了一些新兴的课题,并讨论了一些对ABSA未来潜在发展前景的开放挑战。

1. Introduction

发现和理解来自在线用户生成内容的意见对于广泛的应用程序是至关重要的。例如,在电子商务平台上分析客户的情绪和从评论中获得的意见,有助于改善产品或服务,并进行更好的营销活动。考虑到大量的文本内容,很难手动消化意见信息。因此,有必要设计一个自动计算框架来分析隐藏在非结构化文本背后的意见,从而出现了研究领域的情绪分析和意见挖掘。

传统的情绪分析研究主要在句子或文档level上进行预测,识别对整个句子或文档的整体情绪极性。为了做出预测,研究人员假设对给定文本中的单一主题传达了单一的情感,而这在实践中可能不是这样的。在这种情况下,需要识别更细粒度的方面层面的观点和情绪,被称为基于方面的情绪分析(ABSA),它在过去的十年中受到越来越多的关注。在ABSA问题中,表达情绪的相关目标从整个句子或文档转移到一个实体或一个实体的某个方面。例如,一个实体可以是电子商务领域中的特定产品,其属性或特征,如价格和大小是它的各个方面。由于一个实体也可以被视为一个特殊的“general”方面,因此我们将其统称为一个方面。因此,ABSA是在方面层面构建一个全面的意见总结的过程,它为下游应用程序提供了有用的细粒度的情感信息。

一般来说,ABSA的主要研究方向涉及到各种方面层面的情感元素的识别,即方面术语、方面类别、意见术语和情绪极性。如图1所示,有一句话“The pizza is delicious.”,对应的情感元素分别为“pizza”、“food”、“delicious”和“positive”,其中“pizza”和“delicious”在句子中明确表示,“food”和“positive”属于预定义的类别和情感集。在ABSA的早期研究从分别识别每个单一的情感元素开始。例如,方面术语提取任务的目的是提取给定文本中所有提到的方面术语;而方面情绪分类任务则预测句子中特定方面的情绪极性。在本文中,将这些任务称为单一ABSA任务。

请添加图片描述

尽管它们的有效性和流行程度,但对于理解完整的方面级观点仍远不令人满意,这不仅需要提取多个情感元素,还需要识别它们之间的对应关系和依赖性。为此,近年来已经引入了几个新的ABSA任务和相应的基准数据集,以促进对多种情绪元素的联合预测的研究。这些任务被称为复合ABSA任务,而不是只涉及单一情绪元素的单一ABSA任务。例如,方面-意见对提取任务需要以复合形式提取方面及其相关的意见术语,即从前面的示例句子中提取(“pizza”和“delicious”)对。

因此,它可以更清楚地理解上述意见的目标及其相关的意见表达。在一些开创性的工作之后,人们提出了各种各样的框架来处理不同的复合ABSA任务,以便在不同的场景中实现方面级的意见挖掘。然而,现有的综述缺乏系统的回顾,特别是复合ABSA任务的近期进展,本文旨在填补这一不足。

除了为不同的任务设计特定的模型外,预训练语言模型(如BERT和RoBERTa)的出现,近年来为广泛的ABSA任务带来了实质性的改进。以plm为骨干,ABSA模型的泛化能力和鲁棒性得到了显著提高。例如,Li等人表明,使用堆叠在BERT之上的简单线性分类层可以获得比之前专门设计的最先进的端-端ABSA任务模型更具竞争力的性能。虽然基于plm构建ABSA模型现在已经变得普遍存在,但由于它们的近期发表,它们在现有的调查中没有被讨论。因此,本文通过讨论现有的基于PLM的ABSA模型的进展和局限性进行了深入的分析。

目前的ABSA模型在各种任务中都取得了令人满意的性能,但通常都有一个共同的假设:训练数据和测试数据来自相同的分布(例如,相同的领域或相同的语言)。当数据的分布发生变化时,需要根据从新的分布中提取的数据对ABSA模型进行重新训练,以保证性能。然而,收集额外的大量标记数据通常是昂贵的,甚至是不可能的,特别是对于需要方面级(即标记级)注释的任务。在这种情况下,将训练好的模型适应于不可见的领域,即跨域传输或不可见的语言,即跨语言传输,为构建ABSA系统提供了一种替代解决方案,可以很好地推广到不同的领域和语言。在本文中,作者回顾最近解决跨领域和跨语言ABSA问题的工作,这些问题可以通过克服训练数据的限制,导致更实用的ABSA系统。

还有其他关于ABSA的调查和评论。现有的一般情绪分析研究的调查讨论了ABSA问题,但他们没有提供最近的进展和挑战的详细描述。Schouten最早的ABSA调查全面介绍了2016年之前的ABSA研究,但主要集中在非神经ABSA方法上。Zhou,Liu和Nazir等介绍了基于深度学习的ABSA模型。然而,他们的讨论仅限于单个ABSA任务,在端到端ABSA任务上有一些开创性的工作。没有对所有ABSA任务、plm对ABSA问题的影响,以及在跨领域/语言迁移方面的最新进展进行全面审查。

总的来说,本综述的主要目标是从现代的角度系统地回顾ABSA问题的进展和挑战。更具体地说,作者提供了一种新的ABSA分类法,它从相关情绪元素的轴上组织了各种ABSA研究,重点介绍了近年来研究的复合ABSA任务。沿着这个方向,本文讨论和总结了为每个任务提出的各种方法。此外,作者还研究了利用预先训练的语言模型的潜力和局限性,还总结了跨域和跨语言ABSA的研究进展。最后,文章讨论了一些新兴的趋势和开放的挑战,旨在阐明这一领域潜在的未来方向。

2. BACKGROUND

2.1 Four Sentiment Elements of ABSA

Liu认为,一般的情绪分析问题由两个关键组成部分组成:目标和情绪。目标可以是任何实体或实体的一个方面,而情绪可以是对目标表达的积极/中性/消极意见。对于ABSA,目标可以用方面类别c或方面术语a来描述,而情绪涉及到详细的意见表达(意见术语o)和一般的情绪取向(情绪极性p)。这四个情感元素构成了ABSA研究的主线:

  • aspect category c:定义了一个实体的一个独特的方面,并且应该属于一个类别集C,为每个感兴趣的特定领域预定义。例如,food 和service可以是餐厅领域的方面类别
  • aspect term a:是明确出现在给定文本中的意见目标,例如,“The pizza is delicious.”这个句子中的“pizza”。当目标被隐式表达时(例如,“It is overpriced!”),我们将该方面术语表示为一个名为“null”的特殊术语。
  • opinion term o :是意见持有人为表达其对目标的感情所作的表达。例如,“delicious”是“The pizza is delicious”的评论词。
  • sentiment polarity p :描述了情绪对一个方面类别或一个方面术语的取向,其中通常包括positive, negative,neutral。

需要注意的是,在文献中,ABSA研究的术语经常被互换使用,但有时它们根据上下文有不同的含义。例如,“意见目标”、“目标”、“方面”、“实体”通常用来指表达意见的目标。但是,根据上下文,它们可以是方面类别或方面术语。这可能会导致不必要的混淆,并往往使文献综述不完整。在本文中,作者采用了最普遍接受的术语,同时也确保类似的概念是可区分的。因此,如上所述,作者将使用“aspect term”和“aspect category”来区分方面的不同格式,并且只使用“target”或“aspect”作为描述意见目标的一般表达式。

2.2 ABSA Definition

通过上一节定义的四个关键情感元素,可以从相关情感元素的角度给出ABSA的定义:

ABSA是识别相关文本项目感兴趣的情感元素的问题,要么是单个情感元素,要么是它们之间具有依赖关系的多个元素。

因此可以根据所涉及的情绪元素来组织各种ABSA研究,例如,是否有任何被当作输入的情绪元素,或者在输出中所期望的情绪元素是什么。例如,根据所需的输出是一个情感元素或多个耦合元素,可以将ABSA分为单一ABSA任务任务和复合ABSA任务,例如,方面术语提取(ATE)是一个ABSA任务旨在提取所有方面术语给定一个句子,而观点对提取任务是一个复合ABSA任务,因为它提取所有(方面术语、意见术语)对。从这个角度,作者提出了一种新的ABSA分类,它系统地从相关情感元素的轴组织现有的工作,图2概述了每个任务的不同ABSA任务和代表性方法。

请添加图片描述

根据上述定义,作者将在后面的章节中详细描述每个任务:第三部分描述单个ABSA任务,第四部分描述复合ABSA任务。对于每一个任务,作者描述了输入和输出中的情绪元素是什么,它与其他任务的关系是什么,现有的解决方案是什么,特别是最近取得最先进的性能的进展,以及来自以前研究的一般观察和结论。

2.3 Modeling Paradigms

在描述特定的ABSA任务及其解决方案之前,本文介绍了几种ABSA任务常用的主流自然语言处理(NLP)建模范式,包括序列级分类(SeqClass)、token级分类(TokenClass)、机器阅读理解(MRC)和序列到序列建模(Seq2Seq),如图3所示。每个范例都表示一个用于处理特定的输入和输出格式的通用计算框架。因此,通过将一个任务制定为特定的格式,可以使用相同的范式来解决多个任务。除了这四种以端到端方式处理任务的统一范式外,一些复杂的ABSA任务还可以通过管道((Pipeline)范式来解决,该范式结合了多个模型来进行最终的预测。

请添加图片描述

将一个对应于某个ABSA任务的数据集表示为 D = { X i , I i } i = 1 ∣ D ∣ , 其 中 X i 和 Y i 分 D=\{X_i,I_i\}^{|D|}_{i=1},其中X_i和Y_i分 D={Xi,Ii}i=1DXiYi别是第 i i i个数据实例的输入和ground-truth标签。文中则使用这样的符号来描述每个范式。

2.3.1 Sequence-level Classification (SeqClass)

对于序列级分类,模型通常首先将输入文本 X 输 入 到 编 码 器 E n c ( ⋅ ) X输入到编码器Enc(·) XEnc()来提取特定于任务的特征,然后使用分类器 C L S ( ⋅ ) 来 预 测 标 签 Y CLS(·)来预测标签Y CLS()Y

Y = C L S ( E n c ( X ) ) Y=CLS(Enc(X)) Y=CLS(Enc(X))

其中, Y Y Y可以表示为one-hot或 multi-hot向量(分别用于单标签和多标签分类)。在深度学习的时代,编码器 E n c ( ⋅ ) Enc(·) Enc()可以是卷积网络、递归网络或变压器来提取上下文特征。在某些情况下,输入文本 X X X可能包含多个部分,例如,对于方面情绪分类任务,句子和一个特定的方面都被视为输入。然后,编码器不仅需要提取有用的特征,而且还需要捕获输入之间的交互。分类器 C L S ( ⋅ ) CLS(·) CLS()通常被实现为一个带有池化层的多层感知器来进行分类。

2.3.2 Token-level Classification (TokenClass)

与将标签分配给整个输入文本的序列级分类相比,token级分类(也称为sequence labeling或sequence tagging)为输入文本中的每个标记分配一个标签。它还首先用编码器 E n c ( ⋅ ) Enc(·) Enc()将输入文本编码为上下文化的特征,同时使用解码器 D e c ( ⋅ ) Dec(·) Dec()来预测输入 X 中 每 个 标 记 x 1 , . . . , x n X中每个标记x_1,...,x_n Xx1,...,xn的标签 y 1 , . . . , y n y_1,...,y_n y1,...,yn

y 1 , . . . , y n = D e c ( E n c ( x 1 , . . . , x n ) ) y_1,...,y_n=Dec(Enc(x_1,...,x_n)) y1,...,yn=Dec(Enc(x1,...,xn))

其中, D e c ( ⋅ ) Dec(·) Dec()可以实现为具有softmax层的多层感知器,或条件随机场(CRF)。也可以使用不同的标记方案,例如,BIOES标记方案(B-beginning, I-inside, O-outside, E-ending, S-singleton)。

2.3.3 Machine Reading Comprehension (MRC)

MRC范式最初是用于处理机器阅读理解任务的,后来被用作许多NLP任务的通用框架。MRC从给定查询 X q 条 件 下 的 输 入 文 本 X X_q条件下的输入文本X XqX中提取连续的文本跨度。因此,具有MRC范式的ABSA方法需要为相应的任务构造一个特定于任务的查询。例如,在ATE任务中,我们可以构造 X q X_q Xq为“What are the aspect terms?”,然后模型需要提取 aspect terms的文本跨度。通过预测文本跨度的起始位置 y s y_s ys和结束位置 y e y_e ye得到结果:

y s , y e = C L S ( E n c ( X , X q ) ) y_s,y_e=CLS(Enc(X,X_q)) ys,ye=CLS(Enc(X,Xq))

其中,通常有两个线性分类器,堆叠在一个编码器 E n c ( ⋅ ) Enc(·) Enc()之上,分别用于预测开始位置和结束位置。

2.3.4 Sequence-to-Sequence (Seq2Seq)

序列到序列(Seq2Seq)框架以一个输入序列 X = { x 1 , . . . , x n } X=\{x_1,...,x_n\} X={x1,...,xn}作为输入,目的是生成一个输出序列 Y = { y 1 , . . . , y m } Y=\{y_1,...,y_m\} Y={y1,...,ym}。具有这种范例的经典NLP应用程序是机器翻译任务。它也用于解决ABSA任务,例如,直接生成标签序列或给定输入句子所期望的情绪元素。以ATE任务为例,X可以是“The fish dish is fresh”,Y可以是自然语言形式的“fish dish”。它通常采用一种编译码器模型,如Transformer

y 1 , . . . , y m = D e c ( E n c ( x 1 , . . . , x m ) ) y_1,...,y_m=Dec(Enc(x_1,...,x_m)) y1,...,ym=Dec(Enc(x1,...,xm))

其中编码器 E n c ( ⋅ ) Enc(·) Enc()对输入的上下文特征进行编码,解码器 D e c ( ⋅ ) Dec(·) Dec()在每一步根据编码的输入和之前的输出生成一个令牌。

2.3.5 Pipeline Method (Pipeline)

由于复合ABSA任务的复杂性,管道方法通常用于处理它们。顾名思义,它依次管道具有可能不同的建模范式的多个模型,以获得最终结果。将前一个模型的预测作为后一个模型的输入,直到产生最终的输出。例如,上述的方面-意见对提取问题的目的是提取所有的(方面术语、意见术语)对。因此,一个简单的管道式解决方案是首先提取方面术语,然后为每个预测的方面术语识别相应的意见术语。

与前面几节中描述的以端到端的方式解决原始问题的统一范例相比,管道方法通常更容易实现,因为每个子问题的解决方案通常已经存在。但是,它存在误差传播问题,即早期模型产生的错误会传播到以后的模型,影响最终的整体性能。由于即使是简单的ABSA任务的性能也不完美,管道方法在复合ABSA任务上往往表现得很差,尤其是复杂的ABSA任务。这往往是近年来设计一个统一的模型来处理复合ABSA任务的主要动机。

2.4 Datasets & Evaluations

注释数据集在ABSA方法的发展中起着至关重要的作用。本节介绍了一些常见的数据集和相应的评估指标。表1给出了每个数据集及其语言、数据域和URL的概述。

请添加图片描述

由SemEval-2014、SemEval-2015和SemEval-2016共享任务提供的数据集是文献中使用最广泛的基准测试。用户评论来自两个领域,即笔记本电脑和餐厅,由研讨会组织者收集和注释。这些数据集包含方面类别、方面术语和情绪极性的注释(尽管不是所有它们都包含所有信息),因此可以直接用于许多ABSA任务,如方面术语提取或方面情绪分类。但是,缺乏对意见术语的注释,随后通过 Fan等人 提供的数据集进行补偿,用于执行面向目标的意见词提取(TOWE)任务的数据集。有了这些注释,Xu等人将它们组织在一起(稍作改进),以获得ASTE-Data-V2数据集,该数据集包含每个样本句子的三联体(方面术语、意见术语、情感极性)三联体。最近,引入了情绪元预测任务的ACOS和ABSA-QUAD两个数据集,其中每个数据实例都包含四元格式的四个情绪元素的注释。

除了用于处理各种ABSA任务的数据集外,还引入了其他特别关注的数据集。Jiang等人提出了一个多方面多情绪(MAMS)数据集,其中MAMS中的每个句子都包含至少两个具有不同情绪极性的方面,因此使该数据集更具挑战性。Wang等人提出了一个中文数据集,用于在QA风格的评审中执行ASC任务(ASC-QA)。Xing等人基于SemEval-2014数据集构建了一个方面鲁棒性测试集(ARTS),以探讨ABSA模型的鲁棒性。最近,Bu等人的发布了一个名为ASAP的大规模中文数据集(代表方面类别情绪分析和评级预测)。ASAP中的每一个句子都用18个预定义的方面类别的情绪极性和总体评级进行了注释,因此它也可以用于研究粗粒度和细粒度情绪分析任务之间的关系。

在评估指标方面,精确匹配评估被广泛应用于各种任务和数据集:当且仅当所有预测元素与人类注释相同时,预测才是正确的。然后,可以据此计算出典型的分类指标,如准确性、精度、召回率和F1分数,并用于不同方法之间的比较。

3. Single ABSA Tasks

本节首先讨论单个ABSA任务,其目标是仅预测单个情绪元素。如2.1中介绍的,有四个任务(对应于四个情绪元素),即方面术语提取(ATE)、方面类别检测(ACD)、方面情绪分类(ASC)和意见术语提取(OTE)。详细的分类法和具有代表性的方法列出在图2的顶部分支中。
请添加图片描述

3.1 Aspect Term Extraction (ATE)

Aspect term extraction是ABSA的一项基本任务,目的是提取用户在给定文本中表达意见的显式方面表达式。例如,两个方面的术语“pizza”和“service”应该被提取为例子句子“The pizza is delicious, but the service is terrible.”。在表2中。根据标记数据的可用性,ATE方法可分为三种类型:有监督方法、半监督方法和无监督方法。

给定标记的ATE数据,有监督的ATE问题通常被表述为token级分类(即TokenClass)任务,因为所需的方面术语通常是句子中的单个单词或短语。因此,人们提出了基于CRF、RNN和CNN的序列标记方法。由于ATE需要特定领域的知识来识别给定领域中的各个方面,许多研究工作都致力于改善word representation学习。Yin等人利用依赖路径在嵌入空间中链接单词,学习单词表示。Xu等人提出的DE-CNN模型采用了双重嵌入机制,包括通用嵌入和特定领域的嵌入。Xu等人进一步对特定领域的数据进行训练后的BERT,以获得更好的单词表示。Yin等人设计了一个基于位置依赖的词嵌入(POD),同时考虑依赖关系和位置上下文。特定的网络设计也被认为是捕获不同特征的任务,例如,建模方面之间的关系及其相应的意见表达序列标签框架和转换任务为Seq2Seq序列问题以捕获整个句子的整体意义预测方面更丰富的上下文信息。

尽管获得了令人满意的结果,但监督ATE方法需要大量的标记数据,特别是在训练非常复杂的神经模型时。因此,ATE任务的一个主要挑战是缺乏足够的标记数据,这激发了最近半监督ATE研究的趋势。给定一组已标记的ATE数据,以及一个(相对较大的)大的未标记数据集(例如,简单的回顾句),数据增强是一个有效的解决方案,以产生更多的伪标记数据来训练ATE模型。各种增强策略已被提出,如掩蔽序列到序列生成、软原型生成和渐进式自训练。

由于对每个方面的表达式进行注释可能相当耗时,因此无监督的ATE任务在研究中得到了广泛的研究。在基于神经网络的方法中,He等人提出了一个名为基于注意的方面提取(ABAE)的自动编码器模型,该模型不强调不相关的词,以提高提取方面的一致性。按照这个方向,Luo等人在构建句子表示时利用语素来增强词汇语义。Liao等人提出了一种神经模型来耦合局部和全局上下文(LCC+GBC)来发现方面词。Tulkens和van Cranenburgh提出了一个名为CAt的简单解决方案,他们只使用POS标记和域内词嵌入来提取方面术语:POS标记首先提取名词作为候选方面,然后使用对比注意机制来选择方面。Shi等人将这个问题表述为一个自监督的对比学习任务,以学习更好的方面表示。

3.2 Aspect Category Detection (ACD)

Aspect category detection (ACD)是为一个给定的句子识别所讨论的方面类别,其中的类别属于一个预定义的类别集,通常是特定于领域的。如表2所示,ACD方法应该预测给定句子的 food和service类别。与ATE任务相比,ACD可以从两个方面来看是有益的:首先,ATE预测各个方面的术语,而ACD的预测类别往往是多个方面术语的超对称性。因此,ACD的结果可以看作是一种聚合预测,可以更简洁地呈现意见目标。第二,ACD可以识别意见目标,即使它们在句子中没有明确提到。例如,给定一句话“It is very overpriced and not tasty”,ACD可以检测到两个方面的类别,即price和food,而ATE不适用于这种情况。

ACD可以分为有监督的ACD和无监督的ACD,这取决于带注释的标签是否可用。有监督的ACD任务通常被定义为一个多标签分类(即SeqClass)问题,将每个方面的类别视为一个标签。早期RepLearn训练单词嵌入到一个有噪声的标记数据集上,并通过不同的前馈网络获得混合特征,然后用这些特征训练一个逻辑回归模型来进行预测。后来的方法进一步利用任务的不同特征来提高性能,例如使用注意机制关注不同类别文本的不同部分,考虑word-word co-occurrence patterns,测量句子与每个特定类别的一组代表性词之间的文本匹配来预测类别是否存在。

为了以无监督的方式处理ACD任务,它通常被分解为两个步骤:(1)提取候选方面术语,以及(2)将方面术语映射或聚类到预定义的类别集中的方面类别,例如,将“pizza”和“pasta”聚类到方面类别的食物。第一步本质上与解决无监督的ATE问题相同,因此在这里主要讨论第二步。最直接的解决方案是从第一步开始为每个检测到的方面集群手动分配一个标签作为方面类别,但这是耗时的,当检测到的方面有噪声时可能会导致错误。在CAt中,计算句子向量和类别向量之间的余弦相似度来分配类别标签。最近,Shi等人提出了一种高分辨率的选择性映射策略来提高映射的精度。

3.3 Opinion Term Extraction (OTE)

Opinion term extraction (OTE)是识别对方面的意见表达的任务。由于意见术语和方面术语总是同时出现,因此仅仅提取意见术语而不考虑其相关方面是没有意义的。因此,大多数现有的OTE作品也涉及到方面术语。根据方面术语是作为输入还是输出,OTE可以分为两个任务:1)方面意见共同提取(AOCE)和2)面向目标的意见词提取(TOWE)。

Aspect opinion co-extraction (AOCE)试图同时预测方面和意见术语。对于表2中的运行示例,AOCE的目标输出是两个方面的术语“pizza”和“service”,以及两个意见术语“delicious”和“terrible”。请注意,虽然涉及到两个情感元素,但AOCE仍然是一个单一的ABSA任务,因为这两个情感元素之间的依赖关系(例如,“delicious”被用来描述“pizza”)不被考虑。通常,它被表述为一个TokenClass问题与两个标签集提取方面和意见术语,或一个统一的标签集(例如,{B-A, I-A, B-O, I-O, N} 表示开始(B)或内部(I)的一个方面(A)或意见术语(O),或没有(N))提取情绪元素。考虑到该方面与观点之间的密切关系,AOCE的主要研究问题是如何建模这种依赖关系。人们已经开发了各种模型来捕获方面-意见依赖性,包括基于依赖树的模型,基于注意力的模型,以及考虑语法结构来明确约束预测的模型。

另一方面,target-oriented opinion word extraction (TOWE)的目的是提取给定特定方面术语的相应的意见术语。TOWE也经常被表述为针对输入句子的TokenClass 问题,而主要的研究问题是如何对输入句子中的特定方面的表示进行建模来提取相应的意见。Fan等人提出了一种名为IOG的神经模型,通过向内向外的LSTM合并方面信息来生成方面融合的上下文。后来的方法从几个方面设法提高了提取的准确性:Wu等人利用一般的情绪分析数据集来转移潜在的意见知识来处理主要的TOWE任务。Veyseh等人利用语法结构,如基于依赖树的到方面的距离,来帮助识别意见术语。Mensah等人对基于各种文本编码器的位置嵌入的重要性进行了实证评估,发现基于bilstm的方法具有适合于TOWE任务的归纳偏差,使用GCN明确考虑结构信息只带来微小的收益。

3.4 Aspect Sentiment Classification (ASC)

Aspect sentiment classification ((ASC),也称为基于方面的/目标/水平的情绪分类,目的是预测句子中某个特定方面的情绪极性。一般来说,方面可以实例化为方面术语或方面类别,从而产生两个ASC问题:基于方面术语的情绪分类和基于方面类别的情绪分类。不管有一些细微的差异(例如,给定的方面术语来自句子,那么它的位置信息可以被利用),它们通常都被视为SeqClass问题。更重要的是,这两种设置背后的主要研究问题是相同的:如何适当地利用方面(术语/类别)和句子上下文之间的联系来对情绪进行分类。事实上,一些工作同时考虑这两个子任务,并使用相同的模型无缝地处理它们。因此,本节没有具体区分这两个子任务,而是使用“aspect”来指代aspect term或 aspect category。

早期的ASC系统通常基于手动去设计特征,如term frequency]。近年来,基于深度学习的ASC引起了广泛的兴趣,各种基于神经网络的模型被提出,并带来了巨大的性能改进。已经有一些调查论文致力于回顾ASC任务的深度学习。本文没有重复已建立的发现,而是总结了主要的研究进展,并强调了现有调查中没有涵盖的最近的进展。

为了模拟方面和句子上下文之间的交互作用,先驱性的神经模型,如TC-LSTM,采用了相对简单的策略,如通过连接来将方面信息与句子上下文融合。考虑到句子的不同部分在特定方面发挥不同作用,注意机制被广泛用于获得特定方面的表征。代表性的工作是王等人提出的基于注意力的LSTM方面嵌入(ATAE-LSTM)模型,该模型增加 aspect embedding到每个单词向量的输入句子计算注意力权重,和一个特定的句子嵌入可以计算相应的分类的情绪。下面的方法设计了更复杂的注意机制来学习更好的特定方面的表示,例如,IAN交互式地学习方面和句子中的注意,并分别生成表示。除了LSTM网络外,也有其他的网络结构来支持注意机制,包括基于CNN的网络、记忆网络和门控网络。最近,预先训练的语言模型已经成为ASC任务的主流构建模块。例如,Sun等人的通过构建一个辅助句子,将ASC任务转换为一个句子对分类问题,可以更好地利用BERT的句子对建模能力。

ASC研究的另一条线明确地模拟了句子的句法结构来进行预测,因为该方面与其相关观点之间的结构关系往往表明了情绪取向。事实上,早期基于机器学习的ASC系统已经将挖掘出的语法树作为分类的特征。然而,由于依赖项解析本身是一项具有挑战性的NLP任务,具有不准确解析器的ASC方法并不比其他方法具有明显的优势。由于近年来基于神经网络的依赖解析的改进,更准确的解析树为基于依赖的ASC模型带来了显著的改进。例如,Sun等人和Zhang等人使用图神经网络(GNN)来建模依赖树,以利用语法信息和单词依赖关系。按照这个方向,各种基于GNN的方法已经被提出来明确地利用语法信息。除了句子内部的句法结构外,还考虑了其他的结构信息。Ruder等人对多个评论句之间的关系进行建模,假设它们相互构建和阐述,因此它们的情感也是相关的。同样,Chen等人的考虑了文档级的情感偏好,以充分利用现有数据中的信息,以提高ASC的性能。

4. Compound ABSA Tasks

本节描述了目标涉及多个情绪元素的复合ABSA任务。详细的任务分类法和代表性方法见图2的底部分支。通常,这些任务可以被视为上述单个ABSA任务的集成任务。然而,这些复合任务的目标不仅是提取多个情感元素,而且还通过预测对中的元素(即两个元素)、三联体(即三个元素)、甚至四元(即四个元素)格式来将它们耦合。图4显示了这些任务之间的关系。考虑到四个情感元素的相互依赖性,提供一个集成的解决方案是一个很有前途的方向。最近进行了许多研究将在本节系统地回顾。

请添加图片描述

4.1 Aspect-Opinion Pair Extraction (AOPE)

方面术语和意见术语的提取对于ABSA系统是必不可少的。特别是对第3.3节中讨论的方面意见共同提取(AOCE)任务的研究,经常发现,每个元素的提取可以相互强化。但是,AOCE任务的输出包含两个独立的集:一个方面集和一个意见集。忽略了相应的成对关系。这激发了方面-意见对提取(AOPE)的任务,目的是成对地提取方面和意见术语,以提供意见目标是什么和相应的意见表达的清晰思路。

为了解决AOPE问题,可以采用管道方法将其解耦为几个子任务,并将它们通过管道连接在一起,以获得方面-意见对。一种解决方案是首先进行AOCE任务来获取方面和意见集,然后使用一个分类模型来将潜在的方面和意见术语配对,即对一个方面的意见对是否有效进行分类。另一种方法是首先提取方面(即ATE任务),然后为每个预测的方面术语(即TOWE任务术语)识别相应的意见术语。Gao等人采用了MRC范式的第二种方法,他们首先使用MRC模型提取所有方面术语,然后对每个提取的方面术语,为另一个MRC模型构建一个问题,以识别相应意见术语的文本跨度。

作者还努力以统一的方式处理AOPE,以减轻管道方法的潜在错误传播。Wu等人提出了一个网格标记方案(GTS)——对于每个单词对,该模型预测它们是否属于相同的方面、相同的意见、方面-观点对,还是与上述无关。然后将原始的对提取任务转化为一个统一的标记类问题。Zhao等人将问题作为一个联合项和关系提取,设计了一个span-based的多任务学习(SpanMlt)框架来联合提取方面/意见项和对关系。同样,Chen等人提出了一个包含两个渠道的模型,分别提取方面/观点术语和关系。进一步设计了两种同步机制来实现两个通道之间的信息交互。最近,句法和语言知识也被考虑以提高提取性能。

4.2 End-to-End ABSA (E2E-ABSA)

给定一个句子,端到端ABSA的任务是同时提取方面项及其对应的情绪极性,即提取(a,p)对。它可以被自然地分为两个子任务,即ATE和ASC,而一个直观的管道方法是按顺序执行它们。然而,检测方面边界和对情绪极性进行分类往往会相互强化。以“I like pizza”这句话为例,上下文信息“like”表示一种积极的情绪,也暗示下面的词“pizza”是意见的目标。受这种观察结果的启发,人们提出了许多以端到端方式解决这一问题的方法。

这些端到端方法一般可以分为两种类型的,如表3所示。第一种“联合”方法通过在多任务学习框架中联合训练两个子任务来利用它们之间的关系。采用方面边界标签(第一行)和情绪标签(第二行)这两个标签集来预测这两种类型的情绪元素。然后通过两个子任务的输出组合得到最终的预测。另一种类型的方法忽略了这两个子任务的边界,并使用了一个“统一的”(也称为折叠的)标记方案来表示每个标记的标记的两个情绪元素。

请添加图片描述

如表3的最后一行所示,每个令牌的标签现在包含两部分信息:第一部分{B、I、E、S、O}表示方面的边界,第二部分{POS、NEG、NEU}是对应令牌的情绪极性。例如,B-NEG指的是一个情绪是消极的方面的开始。通过使用一个可折叠的标签方案,E2E-ABSA任务可以通过一个标准的序列标记器使用TokenClass范式来处理。

无论采用哪种类型的方法,一些思想往往是共享的,并经常出现在不同的模型中。例如,考虑方面边界和情绪极性之间的关系已被证明是一个重要的因素[80]。由于意见术语为方面术语的出现和情绪的取向提供了指示性线索,因此意见术语的提取通常被视为E2E-ABSA的辅助任务。例如,Chen和Qian提出的关系感知协作学习(RACL)框架通过关系传播机制明确地建模了三个任务的交互关系来协调这些任务。Liang等人进一步设计了一种路由算法来改善这些任务之间的知识转移。利用文档级的情绪信息为模型提供粗粒度的情绪知识,以便更好地对情绪极性进行分类。

对于处理E2EABSA的这三种方法(即管道、联合和统一的方法),目前尚不清楚哪一种最适合。早期的工作,如Mitchell发现管道方法表现更好,但Li等人表明,使用具有统一标记方案的定制神经模型可以提供最好的性能。随后,Li等进一步验证了在预先训练好的BERT模型上叠加简单的统一标记层,可以无需复杂的模型设计,取得良好的效果。最近,基于管道、统一或联合方法的研究工作都取得了良好的性能。

4.3 Aspect Category Sentiment Analysis (ACSA)

Aspect category sentiment analysis (ACSA)的目的是共同检测所讨论的方面类别及其相应的情绪极性。例如,对于表2中的例子,一个ACSA模型被期望预测两个类别-情绪对(food,POS)和(service,NEG)。虽然ACSA与E2E-ABSA任务相似(只有意见目标的格式不同),但无论句子中是隐式还是明确提到,都可以提供ACSA的结果,因此ACSA在行业中被广泛应用。

处理ACSA最直接的方法是管道方法:首先检测前面提到的方面类别(即ACD任务),然后预测那些被检测到的类别的情绪极性(即ASC任务)。然而,正如第3.2节所讨论的那样,检测句子中出现的方面类别的子集是不重要的。第一步的误差将严重限制整体对预测的性能。此外,这两个步骤之间的关系被忽略了,这对这两个任务都很重要。事实上,在多任务学习框架中执行这两个任务已经证明对每个单独的任务都是有益的。

请添加图片描述

一些研究已经开始以统一的方式进行ACSA任务。本质上,ACD任务是一个多标签分类问题(将每个类别视为一个标签),而ASC任务是针对每个检测到的方面类别的多类分类问题(其中每个情绪极性都是一个类)。如图5所示,现有的ACSA统一方法大致可以分为四种类型:(1)笛卡尔积,(2)附加一维,(3)层次分类和(4)Seq2Seq建模。笛卡尔积方法通过笛卡尔积列举了类别-情绪对的所有可能的组合。然后分类器以句子和特定的类别-情绪对作为输入,因此预测是一个二值值,表明该对是否持有。但是,它生成的训练集比原来的训练集大好几倍,大大增加了计算成本。另一种解决方案是为方面类别的预测添加一个额外的维度。之前,对于每个方面的类别,我们预测它的情绪极性,通常有三种可能性:积极、消极和中性。Schmitt等人增加了一个维度“N/A”,表示类别是否出现在句子中,从而以统一的方式处理ACSA。Cai等人提出了一种解决ACSA问题的层次分类方法:层次图卷积网络(Hier-GCN)首先识别方面类别,然后联合预测每个被识别类别的情绪。因此,可以捕捉到方面范畴之间的内在关系,以及不同方面及其情感之间的相互关系。同样,Li等人的利用一个共享的情感预测层,在不同的方面类别之间共享情感知识,以缓解数据缺陷的问题。最近,Liu等人采用了Seq2Seq建模范式来解决ACSA问题。基于预先训练好的生成模型,他们使用自然语言句子来表示所需的输出(见图5(4)),这优于之前的分类类型模型。此外,实验结果表明,该范式可以更好地利用预先训练好的知识,在few-shot和zero-shot设置中具有较大的优势。

4.4 Aspect Sentiment Triplet Extraction (ASTE)

The aspect sentiment triplet extraction (ASTE)任务试图从给定的句子中提取(a,o,p)三联体,这告诉了意见目标是什么,它的情绪取向是如何的,以及为什么这样的情绪被表达(通过意见术语)。因此,与以往的个体任务模型相比,一个能够预测意见三联体的模型显示出更完整的情绪信息。近年来,ASTE任务引起了广泛关注。针对ASTE任务提出了各种框架,作者在图6中展示了如何设计不同的范式来解决它。

请添加图片描述

Peng等人首先介绍了ASTE任务,并提出了一种提取三联体的两阶段管道方法。如图6(a)所示,首先使用两个序列标记模型,分别提取具有其情绪的方面和意见术语。在第二阶段,利用分类器从预测的方面和意见中找到有效的方面-意见对,最后构建三联体预测。为了更好地利用多重情感元素之间的关系,提出了许多统一的方法。Zhang等人提出了一个多任务学习框架,包括方面术语提取、意见术语提取和情绪依赖解析任务。然后应用启发式规则从这些子任务的预测中产生情绪三联体。另一个潜在的方向是设计unified tagging schemes一次性提取triplet: JET模型利用位置感知的标记方案扩展之前的统一标记方案的E2E-ABSA任务意见的位置信息,如图6(b)所示。类似地,Wu等人的扩展了第4.1节中描述的AOPE任务的网格标记方案(GTS),并对情绪极性进行了预测。由于这些方法依赖于单词对之间的交互作用,当方面术语或意见术语是多单词表达式时,它们可能表现不佳。基于这一观察结果,Xu等人提出了一个span-level interaction模型,该模型明确地考虑了整个方面和那些观点之间的交互,以提高性能。

其他建模范式,如MRC(见图6©)和Seq2Seq建模(见图6(d))也被用于处理ASTE。Mao等人通过设计特定的查询将原问题转换为两个MRC任务:第一个MRC模型提取方面项,第二个MRC模型预测相应的意见项和情绪极性。Chen等人在使用双向MRC框架时采用了类似的方法:一个预测方面术语然后是意见术语,另一个先预测意见然后方面。Seq2Seq建模提供了一个优雅的解决方案,一次性进行triplet预测。Zhang等人将原始任务转换为文本生成问题,提出了两种建模范式,包括标注风格和提取风格。Yan等和Hsu等将句子作为输入,以指针索引为目标。然后预测方面项(或意见项),目标变成预测该项的开始指数和结束指数。Fei等人提出了一种非自回归解码(NAG-ASTE)方法,该方法将ASTE任务建模为一个无序triplet set预测问题。

4.5 Aspect-Category-Sentiment Detection (ACSD)

虽然在分析方面类别和方面术语时都可以作为意见目标,但情绪往往依赖于两者。为了捕捉这种双重依赖,Wan等人提出检测一个给定句子的所有(方面类别、方面术语、情绪极性)三联体。他们根据(方面类别、情绪极性)对将联合预测任务分为两个子任务,这些子任务的想法类似于第4.3节中描述的ACSA任务的“笛卡尔积”。因此,给定一个具有方面类别和情感的特定组合的句子,剩下的问题是:是否存在这样的组合,如果存在,方面术语是什么?前者可以表示为一个二分类的SeqClass任务,而后者则成为一个条件标记类问题。例如,给定句子“The pizza is delicious”和(food,POS)对,第一个子任务将预测这种组合的存在,序列标记模型应该提取“pizza”作为相应的方面项。然后可以输出一个triplet组合(food、POS、pizza)作为预测。但是,当接收到以(service、POS)对作为输入的相同句子时,第一个子任务应该预测这种组合不存在。总体的训练目标可以是这两个子任务的综合损失。

遵循这个方向,Wu提出一个模型称为MEJD处理任务通过使用句子和一个特定的方面类别作为输入,然后剩下的问题变成:(1)预测情绪极性的给定类别(即序列类问题),和(2)提取相应的方面术语如果存在(即TokenClass问题)。由于一个特定的方面类别可能并不总是存在于相关的句子中,MEJD在SeqClass任务中添加了一个额外的维度“N/a”,与第4.3节中引入的“添加一维”方法的想法类似相同。因此,当分类模型输出“N/A”时,表明输入中没有与类别相关的三重联体。此外,在MEJD中使用了一个具有注意机制的GCN来捕获方面和上下文之间的依赖关系。

由于特定领域的预定义方面类别的数量通常较少,上述方法可以通过将每个类别的句子合并作为输入来分解原始的ACSD任务。相反,Zhang等人以Seq2Seq的方式解决了这个问题,他们在原始句子中注释了所需的情感元素,并将其作为生成模型的目标序列来学习映射关系。Zhang等人进一步设计了一个释义模型,构建了一个包含所有情感元素的自然语言句子,作为序列到序列学习的目标序列。

4.6 Aspect Sentiment Quad Prediction (ASQP)

上面讨论的各种复合ABSA任务的主要动机是捕获更详细的方面级情绪信息,无论是通过成对提取(如AOPE)还是三重提取(如ASTE)。尽管它们在不同的场景下是有用的,但一个可以一次性预测四个情绪元素的模型应该提供最完整的方面级情绪结构。这导致了最近提出的 aspect sentiment quad prediction (ASQP)任务,目的是预测给定一个文本项目的四联体形式中的所有四个情绪元素。回到表2中的例子,预计有两个情绪四方:(food, pizza, POS, delicious)和(service, service, NEG, terrible)。

Cai等人研究ASQP任务,强调内隐方面或观点。作者认为,隐含的方面或观点经常出现在现实世界的场景中,并使用“null”来表示它们。他们引入了两个带有情绪四元注释的新数据集,并通过结合现有的模型作为任务的基准,构建了一系列的管道基线。Zhang等人提出了一种释义建模策略,以端到端的方式预测四元情绪。通过将标注的情感元素与预先构建的模板相结合,并将获得的自然语言句子作为目标序列,他们将原始的四元预测任务转换为文本生成问题,并通过Seq2Seq建模范式进行处理。因此,可以充分利用标签的语义(即情感元素的含义)。鉴于ASQP任务的重要性,我们希望在未来能看到更多的相关研究。

5. ABSA with Pre-trained Language Models

传统的神经ABSA模型通常将预先训练好的单词嵌入,如Word2Vec和GloVe,与一个设计良好的特定于任务的神经结构相结合。尽管与早期基于特征的模型相比很有效,但这些模型的改进逐渐达到了瓶颈。其中一个原因是,与上下文无关的单词嵌入不足以捕捉句子中复杂的情感依赖性。此外,现有的ABSA数据集的大小不支持对非常复杂的体系结构的训练。近年来,预先训练的语言模型(PLMs),如BERT和RoBERTa,在广泛的NLP任务上带来了实质性的改进。当然,它们也被引入以进一步提高ABSA问题的性能。

最初的工作并没有在特定任务的模型设计上花费太多的精力,只是简单地引入plm的上下文嵌入作为单词嵌入的替代。鉴于在训练前阶段学习到的丰富知识,简单地利用这种情境化的嵌入已经带来了巨大的性能收益。例如,Li等人研究了在E2E-ABSA任务的PLM之上堆叠几个标准预测层的使用情况。他们发现,使用PLM使用最简单的线性分类层可以优于以前精心设计的神经ABSA模型。类似地,简单地将给定的句子和一个相关方面作为plm的输入,并利用句子级输出(例如,BERT的[CLS]标记对应的表示)建立ASC任务的最新结果。此外,作者还表明,在领域和任务注释数据上进行进一步的模型后训练,可以获得更好的领域和任务特定知识,从而获得更好的性能。

然而,简单地采用plm作为上下文感知的嵌入层可能是不够的。从ABSA任务的角度来看,复杂的任务通常不仅需要识别序列或标记级标签,还需要它们之间的依赖关系,可能需要更多的设计来充分利用来自plm的上下文嵌入。从plm的角度来看,在训练前阶段所学到的丰富知识可能不能被充分地诱导和用于相关的ABSA任务。为此目的,人们已经做出了许多努力来更好地使plm适应于不同的下游ABSA任务。Sun等人是的早期尝试,他们将ASC转换为句子对分类任务。由于观察到BERT在解决回答问题等句子对分类问题方面具有优势,他们为每个方面构建了一个辅助句子,并将原句子和构建的句子转交给BERT,取得了比以往的作品更好的性能。根据类似的直觉,Gao等人,Chen等人,Mao等人通过MRC建模范式解决了AOPE任务和ASTE任务。通过将原始任务分解为一系列MRC过程,从而通过查询-答案匹配自然地捕获成对关系。另一项工作是利用预先训练好的生成模型,如BART和T5来解决各种ABSA任务。通过将原始任务转换为Seq2Seq问题,可以适当地合并标签语义(即所需的情感元素的含义)。

除了作为ABSA模型的主干外,plm还可以从其他方面受益于处理ABSA任务。例如,在plm的预训练阶段使用的语言建模任务经常会带来了执行生成数据增强的能力。Li等人使用plm作为条件文本生成器,并设计了一种掩模然后预测策略来生成ATE任务的增强训练句子。Hsu等人不借用外部语言资源,而是利用plm以生成的方式实现语义保留增强,在一系列ABSA任务上获得了比基线方法的明显改进。plm的另一个有趣但在很大程度上被忽视的作用是为基于依赖的ABSA模型提供更好的依赖树。正如前面几节所讨论的,显式地利用语义关系对许多ABSA任务是有益的,但它们的性能在很大程度上取决于所采用的依赖树的准确性。作为第一次尝试,Wu等人使用定制的探索方法从plm中发现依赖解析树,并将获得的树输入基于依赖的ABSA模型,比使用现成解析器中的树的模型获得更好的ASC结果。随后,Dai等人用ASC数据对plm进行微调,以注入情感知识。然后从微调后的plm中引出面向情绪的依赖树,这进一步提高了几个最先进的基于依赖的模型的性能。

到目前为止,NLP社区的共同观点是,plm能够准确地反映输入词的语义意义。然而,通过自我注意机制获得的情境化嵌入捕获了句子中完整的单词依赖关系,这对于ABSA任务来说可能是多余的。事实上,工作明确地指导了具有有意义结构的PLM表示的进一步转换,而那些使用“[CLS]”表示进行预测的优势间接表明了这种冗余的存在。如何用plm整合有意义的稀疏结构,或细化内在的全连通自关注,以更有效的方式获得与ABSA相关的表征,值得更多的关注和研究。另一方面,基于PLM的ABSA模型的稳健性仍有提高的空间。特别是,正如在Xing等人的中观察到的那样,尽管基于PLM的模型在对抗性的例子上显著优于之前的神经模型,但在最简单的ASC任务上,它仍然有超过25%的性能下降。我们认为,利用plm来真正理解方面层面的情绪,例如,对相反的观点和情绪否定具有鲁棒性,而不是学习方面和情绪标签之间的虚假相关性,是构建基于PLM的ABSA模型的未来挑战。但要实现这种智慧,还有很长的路要走。

6. Transferable ABSA

6.1 Cross-domain ABSA

在单个领域内的监督ABSA模型已经得到了很好的发展。然而,在涉及来自多个甚至看不见的领域的文本的现实场景中,这些模型很可能无法获得令人满意的预测。主要原因是涉及来自不同领域的意见目标的方面通常有很大的差异,模型可能对未知领域中常用的术语没有先验知识。一个简单的解决方案是为这些域创建标记数据,并重新训练额外的域内模型。考虑到ABSA任务需要细粒度的注释,要收集足够数量的标记数据通常是昂贵的,甚至是不可能的。为了以更低的成本实现跨域ABSA预测,领域自适应技术作为替代的解决方案随之被提出,以很好地将ABSA系统推广到其他领域。粗略地说,这些工作大多可以分为两类:基于特征的传输和基于数据的传输

基于特征的转移的核心思想是学习ABSA任务的领域独立表示。Jakob, Gurevych 和 Chernyshevich通过在跨域ATE任务的CRF标记器中引入丰富的语法特征来实例化这个想法。Wang和Pan设计了一个依赖边缘预测任务来加强语句感知表征的学习,目的是减少在单词级别上的域偏移。其他的辅助任务,如领域分类、方面-意见交互预测和意见术语检测,也被集成,以更好地对齐不同领域的表示。与上述研究不同的是,Chen和Qian只是简单地聚合了每个单词的句法角色,并将句法嵌入视为源域和目标域之间的桥梁,大大提高了域适应的效果。Liang等人假设在目标域中存在句子级的方面的类别注释,并提出了一个交互转移网络来捕获域不变的类别-项相关性。

与基于特征的传输相比,基于数据的传输的目的是调整训练数据的分布,以更好地将ABSA模型推广到目标领域。Ding等人使用高精度的语法模式和一些领域独立的意见术语来在目标域中创建伪标记数据。然后将伪标记的目标数据增强到源域训练集,以建立跨域ABSA模型。Li等人以类似的方式构建目标域伪标记数据,并基于伪标记数据对源域训练实例进行重新加权。Yu等没有在未标记的目标域数据上产生监督信号,而是开发了一个方面约束(意见约束)的蒙面语言模型,该模型将源域标记的评论作为输入,并执行本地方面项(意见项)从源域转换到目标域的银训练数据。

此外,Gong等人提出将token级实例重加权策略与辅助任务中的域不变表示学习相结合,以整合基于特征的传输和基于数据的传输,以更好地实现跨域E2E-ABSA的域适应。Pereg等人和Rietzler等人将PLMs的嵌入作为不同领域ABSA预测的特征,并获得了合理的结果,表明在大规模语料库上预训练的PLMs已经能够提供良好的领域独立表示。Xu等人通过不断对来自多个相关域的未标记文本对BERT进行预训练,进一步加强了PLMs的域特异性,大大提高了BERT在E2EABSA任务上的域泛化能力。这些进展表明,整合基于特征的传输和基于数据的传输是跨领域ABSA的更好方法,语言模型预训练可以作为即插即用组件,进一步提高领域适应性能。

6.2 Cross-lingual ABSA

现有的ABSA作品大多是用资源丰富的语言进行的(主要是英语),而意见在实践中通常用不同的语言表达,例如,客户评论可以用多种语言编写。然而,为每种语言注释已标注的数据可能是很耗时的,这就激发了跨语言ABSA(XABSA)的任务。由于跨语言跨的困难,大多数XABSA研究是在简单的ABSA14任务上进行的,如跨语言术语提取(XATE)、跨语言方面情绪分类(XASC)和跨语言端到端ABSA。

为了实现跨语言迁移,关键问题是获取目标语言中的语言特定知识。早期的方法通常依靠翻译系统来获得这类知识。该句子首先通过一个现成的翻译系统从源代码翻译成目标语言。然后将标签类似地从源投影到目标,直接或使用单词对齐工具,如FastAlign,因为一些ABSA任务(如XATE)需要标记级别的注释。因此,可以用获得的(伪)标记的目标语言数据来训练ABSA模型。由于这种方法的性能在很大程度上依赖于翻译和标签投影的质量,因此已经提出了许多技术来提高数据质量,包括协同训练策略、实例选择或约束SMT。

在大型并行双语语料库上预训练的跨语言单词嵌入也被用于XABSA。通过共享一个公共的向量空间,模型可以以语言无关的方式使用。例如,Wang和Pan利用一种基于过渡的机制来解决XATE任务,通过一个对抗性网络将不同语言的表示对齐到一个共享空间中。Jebbara和Cimiano考虑了使用两种跨语言单词嵌入的zero-shot ATE任务。特别是,他们发现从多种源语言进行传输可以在很大程度上提高性能。

最近,受开发单语言PLMs的成功的启发,利用多语言PLMs(mPLMs),如多语言BERT和XLM-RoBERTa来处理跨语言NLP任务已经成为一种常见的实践。通常,PLM首先在大量的多语言语料库上进行预训练,然后对源语言数据进行微调,以学习特定于任务的知识。最后,它可以直接用于对目标语言测试数据进行推理(zero-shot transfer)。由于在训练前阶段获得的语言知识,zero-shot transfer已被证明是处理许多跨语言自然语言处理任务的有效方法。然而,在训练前步骤中学习到的语言知识可能不足以解决XABSA问题。作为补偿,利用翻译(伪)标记的目标语言数据可以使模型具有更丰富的目标语言知识。例如,Li等人提出了一种 warm-up 机制,从每种语言的翻译数据中提取知识,以提高性能。Zhang等指出了翻译后的目标语言数据的重要性,并提出了一种无对齐标签投影方法来获得高质量的伪标记目标数据。他们表明,即使是对这些数据上的mPLM进行微调,也可以为XABSA任务建立一个强大的基线。

与单语ABSA问题相比,XABSA问题的研究相对较少。尽管现在mPLMs被广泛用于各种跨语言NLP任务,但探索它们在XABSA中的使用可能是很棘手的,因为语言特定的知识在任何ABSA任务中都起着至关重要的作用。因此,需要mPLM更好的适应策略,为模型注入更丰富的目标语言知识。另一方面,现有的研究主要集中在相对较容易的ABSA任务上,探索更困难的复合ABSA任务的跨语言转移可能具有挑战性,但在实践中也很有用。

7. Challenges and Future Directions

在过去的十年里,在ABSA问题上取得了巨大的进展,无论是新的任务还是新的方法。尽管取得了这些进展,但构建更智能和更强大的ABSA系统仍然存在挑战。本节将讨论一些挑战,以及提出潜在的方向,希望有助于推进ABSA研究。

7.1 Quest for Larger and More Challenging Datasets

正如在第2.4节中所讨论的,大多数现有的ABSA数据集都来自于SemEval共享的挑战,并为特定的任务提供了额外的数据处理和注释。然而,相对较小的数据规模(例如,数百个句子)使得清晰地比较不同的模型变得困难,特别是对于具有数百万个参数的基于PLM的模型。目前,常见的做法是用不同的随机种子(通常是5个或10个)训练模型,并以不同运行的平均分数报告模型性能,但最好引入更大的数据集来进行更公平和可靠的比较。此外,尽管现有的数据集为比较不同的方法提供了有价值的测试平台,但仍然非常需要提出更具有挑战性的数据集来满足现实世界的场景。例如,包含来自多个域或多种语言的评论的数据集可以帮助评估多域和多语言的ABSA系统。此外,由于用户的意见可以以任何形式表达,我们也期望从不同的意见分享平台收集的数据集,如问答平台或客户服务对话框。

7.2 Multimodal ABSA

ABSA现有的工作集中于分析固执己见的文本,如客户评论或推文。然而,用户经常与图像等其他方式分享他们的观点。由于不同模式的内容往往是密切相关的,利用这些多模态信息可以帮助更好地分析用户对不同方面的情绪。最近对多模态ABSA的研究主要集中在简单的ABSA任务上,如多模态ATE和多模态ASC。为了对齐来自不同模式的信息,文本和图像通常首先被编码为特征表示,然后设计一些交互网络来融合这些信息,以便做出最终的预测。最近,受E2E-ABSA任务在单一模态(即仅基于文本)中成功的启发,Ju等人研究了多模态E2E-ABSA任务,旨在捕捉多模态场景中其两个子任务之间的联系。他们提出了一种具有辅助跨模态关系检测的多模态联合学习方法,以获得所有方面的项和情绪极性对。尽管有这些初步尝试,但仍有一些有希望的方向:从任务的角度来看,应该考虑处理更复杂的多模态ABSA15任务;从方法的角度来看,应该提出更先进的多模态技术来融合多模态意见信息,例如基于多模态PLMs构建模型。由于多模态ABSA在现实应用中越来越受欢迎,它将受到更多的关注。

7.3 Unified Model for Multiple Tasks

在介绍各种ABSA任务的过程中,可以注意到一些想法和模型设计不时地出现。实际上,一个ABSA任务的解决方案可以很容易地借用来解决另一个类似的任务,因为这些任务通常是密切相关的。这自然会提出一个问题:我们是否可以建立一个统一的模型,可以同时处理多个(如果不是全部的话)ABSA任务?如果是这样,就不需要为每个任务设计特定的模型。它在实践中也很有用,因为我们可能不想在每次有一些具有不同类型意见注释的新数据时,都更改模型架构并对其进行重新训练。2.3节展示了,如果不同的任务可以被表述为相同的建模范式,那么它们就可以通过相同的模型来处理。最近的几项研究证明了沿着这个方向进行的一些初步尝试。他们要么通过为MRC模型设计特定于任务的查询来将任务转换为MRC范式,要么通过直接在自然语言形式中生成目标情绪元素来实现Seq2Seq范式。除了使用相同的架构解决多个任务外,Zhang等人进一步发现,如果它们在相同的建模范式下,那么特定于任务的知识可以很容易地在不同的ABSA任务之间转移(称为跨任务转移)。我们希望更多的研究努力能够使更实用的ABSA系统成为可能。

7.4 Lifelong ABSA

终身学习,也被称为持续学习、顺序学习或增量学习,旨在积累从以前的任务中学习到的知识,并将其进行调整,以帮助在一系列任务中的未来学习。Chen等人首先从终身学习的角度研究了情绪分析,并提出了终身情绪分类问题,这需要一个模型来处理一系列情绪分类任务。Wang等人将终身学习的理念应用到ASC任务中,并提出了一种新的基于记忆网络的终身学习方法。最近的终身情感分析研究开始调查顺序学习过程中的灾难性遗忘问题,而不是简单地将其作为知识积累的跨领域情感分析的扩展。然而,现有的研究主要集中在ASC任务的领域增量学习上,其中所有的任务共享相同的固定标签类(如积极、消极和中性),而不需要任务信息。要开发更先进的终身ABSA系统,不可避免地需要学习课堂和任务的增量学习。例如,方面类别的类别在不同的应用程序中有所不同,这就需要能够适应不断变化的类别的方法。此外,跨任务转移已被证明能够有效地将从低级ABSA任务中学习到的知识转移到高级ABSA任务中。因此,探索不同类型ABSA任务的终身学习也值得的。

8. Conclusions

灾难性遗忘问题,而不是简单地将其作为知识积累的跨领域情感分析的扩展。然而,现有的研究主要集中在ASC任务的领域增量学习上,其中所有的任务共享相同的固定标签类(如积极、消极和中性),而不需要任务信息。要开发更先进的终身ABSA系统,不可避免地需要学习课堂和任务的增量学习。例如,方面类别的类别在不同的应用程序中有所不同,这就需要能够适应不断变化的类别的方法。此外,跨任务转移已被证明能够有效地将从低级ABSA任务中学习到的知识转移到高级ABSA任务中。因此,探索不同类型ABSA任务的终身学习也值得的。

8. Conclusions

本综述旨在对 aspect-based sentiment analysis问题进行全面的回顾,包括其各种任务、方法、当前的挑战和潜在的发展方向。作者首先利用ABSA的四个情感元素、定义、通用建模范式和现有资源,建立了ABSA研究的背景。然后,详细描述了每个ABSA任务及其相应的解决方案,重点介绍了复合ABSA任务的最新进展。同时,本文从涉及的情感元素对现有的研究进行分类,总结了每个任务的不同建模范式的代表性方法,为当前的进展提供了一个清晰的画面。作者进一步讨论了对ABSA问题的预训练语言模型的使用,这已经给各种ABSA任务带来了很大的改进。作者还总结了它们的优势和局限性,并回顾了跨域和跨语言ABSA的研究进展,它们可以实现更实用的ABSA系统。最后,文章讨论了该领域当前面临的一些挑战和未来的发展方向。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《A Survey on Aspect-Based Sentiment Analysis: Tasks, Methods, and Challenges》阅读笔记 的相关文章

  • Linear Discriminant Analysis(LDA)

    好久没有整理最近的一些算法了 xff0c 今天趁着跑数据的过程整理一下LDA算法 该算法在很多地方都有使用 xff1a 语音识别 xff0c 说话人识别等等 xff0c 那么今天在这里就为大家详细介绍一下 xff0c 最终把matlab代码
  • 【RTOS论文笔记】A Comparative Analysis of RTOS and Linux Scalability on an Embedded Many-core Processor

    背景 以往对多核实时操作系统的研究主要集中在多核处理器上任务集的可调度性和响应时间分析 同时 xff0c 许多研究人员声称 xff0c 在不久的将来 xff0c 高端嵌入式系统还将包括高性能并行应用程序 xff0c 以支持复杂的任务 xff
  • 如何使用调查包计算比例?

    这只是一个非常简单的问题 但我只是无法从网络和书籍中找到合适的函数来使用 这是我从这里的一篇文章中得到的一个例子 df lt data frame sex c F M F M M M F F married c 1 1 1 1 0 0 1
  • Java图像分析-计算垂直线

    I need a little help on an image analysis algorithm in Java I basically have images like this 因此 正如您可能猜到的 我需要计算行数 您认为哪种方
  • 如何进行货物保存分析?

    我怎样才能把货物运到save analysis 我知道我可以这样做rustc通过致电 rustc Zsave snalysis
  • 在复杂性分析中,为什么 ++ 被认为是 2 个操作?

    在我的计算机科学II课上 教授认为 等是2个操作 然而 在程序集级别 这实际上并不是两个操作 有人可以解释一下还是这只是为了简单起见 我实际上认为它是 3 个操作 读取 递增 或其他 写入 假设它从某种共享内存读取到某种本地存储 例如寄存器
  • 如何在 Scala 中分析方法?

    分析 Scala 方法调用的标准方法是什么 我需要的是一个方法的钩子 我可以用它来启动和停止计时器 在Java中 我使用切面编程aspectJ来定义要分析的方法并注入字节码来实现相同的目的 Scala 中是否有一种更自然的方法 我可以定义一
  • 使用 PostSharp 在 C# 中的构造函数上应用方面

    我正在 PostSharp 中研究各种概念 Updated 这是我的程序类 namespace myconstructor class Program static void Main string args createfolder st
  • 当我对 args() 使用切入点时,为什么 tomcat 会抛出 NullPointEreException?

    我尝试使用 AspectJ 切入点作为 args 但是在 springboot 中使用 tomcat 运行它会抛出 NullPointException 由于报了空指针异常 而我调试的时候GenericFilterBean变量的变量记录器为
  • 什么是算法摊销分析? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 它与渐近分析有何不同 你什么时候使用它 为什么 我读过一些似乎写得很好的文章 例如 http www ugrad cs ubc ca cs320 2010W2 handouts
  • 如何清理和重新编码 R 调查数据中的检查所有适用的响应?

    我有一些调查数据 其中包含一些多重响应问题 如下所示 HS18 为什么在南非看病难 选择所有符合条件的 1 Too expensive 2 No transportation to the hospital clinic 3 Hospita
  • 多重响应分析

    df1 lt data frame c male female male c 1 2 3 4 5 6 seq 141 170 names df1 c gender age height df1 age lt factor df1 age l
  • 如何在 SQL Server Express Edition 中启动并运行分析服务

    我被这个问题困扰得很厉害 我正在运行 Microsoft SQL Server 2008 R2 和 Business Intelligence Development Studio 我被分配了一个分析项目 现在碰巧我有一个 Express
  • 使用 Python 生成具有 p 值的 Seaborn 相关矩阵

    我有一个在seaborn中生成的对角相关矩阵 我想屏蔽掉 p 值大于 0 05 的那些 这是我所拥有的https i stack imgur com 16Rky jpg https i stack imgur com 16Rky jpg s
  • Spring Boot 记录器方面

    当访问特定包的类中的方法时 我在日志方面记录信息时遇到问题 换句话说 不 记录发生 我什至绝望地添加了 System out println 语句 但没有成功 我所有的课程都位于org my package包 即org my package
  • 画家难题 - 从第一原理进行算法估计

    这个问题是基于从2001年开始 A guy 找到了一份街头油漆工的工作 在路中间画虚线 第一天他完成了 300 码 第二天完成了 150 码 第三天甚至更少 老板很生气 要求一个解释 我无能为力 那家伙说 我每天都离油漆罐越来越远 我的问题
  • R-如何使用两种不同的调查设计进行双样本 t 检验

    我想对两个均值的相等性进行双样本 韦尔奇 t 检验 其中之一是使用简单随机抽样获得的 srsmean 另一个是使用调查包的调查权重计算得出的 mean weighted 我还进行了 t 检验mean weighted以及在调查设计中同时实施
  • 沟通差距:用户与分析师-设计师

    通常的做法是使用案例研究 构建工作流和数据流等 但这并不一定会在用户 发起者和分析师 设计者之间创建共享词汇表 通常 其中一方都必须获得其他专业领域 内部 的术语和观点 这通常会导致误解和澄清会议 进入 RAD 技术 如进化原型 等 用户
  • svyby比例的置信区间

    是否存在创建置信区间的现有函数 从一个svyby比例对象 在我的例子中 是一个二进制项目的交叉表survey包裹 我经常比较各组之间的比例 如果有一个可以提取置信区间的函数 使用调查函数svyciprop而不是confint 下面的示例显示
  • R 中按时间划分的平均值

    我每秒测量一次化合物浓度 我想求 30 秒和 60 秒的平均值 我一直在阅读这里的帖子 我尝试过lubridate and dplyr 但没有运气 我正在努力完成这项工作 但我一直没能做到 我正在从 SAS 过渡到 R 所以请耐心等待 这是

随机推荐

  • 递归解决赶鸭子问题,角骨定理

    一 题目分析 用递归方法设计下列各题 xff0c 并给出每道题目的递归出口 xff08 递归结束的条件 xff09 和递归表达式 同时考虑题目可否设计为非递归方法 xff0c 如果可以 xff0c 设计出非递归的算法 1 一个人赶着鸭子去每
  • 最详细ubuntu16.04安装nvidia显卡驱动(完全无经验小白教程)

    ubuntu16 04安装nvidia显卡驱动 1 禁用nouveau ubuntu 16 04默认安装了第三方开源的驱动程序nouveau xff0c 安装nvidia显卡驱动首先需要禁用nouveau xff0c 不然会碰到冲突的问题
  • 修改ssh端口重启服务报错error: Bind to port 8822 on :: failed: Permission denied

    root 64 BabyishRecent VM vi etc ssh sshd config root 64 BabyishRecent VM systemctl restart sshdJob for sshd service fail
  • Linux之iptables(一、防火墙的概念)

    Linux之iptables 一 防火墙的概念 防火墙的概念 一 安全技术 入侵检测与管理系统 xff08 Intrusion Detection Systems xff09 xff1a 特点是不阻断任何网络访问 xff0c 量化 定位来自
  • Python调用海康SDK对接摄像机

    以前做过的项目都是通过 ffmpeg c 43 43 来捕获摄像机的 RSTP 视频流来处理视频帧 xff0c 抽空看了一下海康的SDK说明 xff0c 使用 python ctypes方式a实现了对海康SDK DLL的调用 可以进行视频预
  • 数码管点亮顺序——有错请纠正

    找了半天没有找到 xff0c 自己试了几个数试出来了 xff0c 记这个顺序图比记编码表要快些
  • css-input的美化

    原装input很丑陋 xff0c 我们需要人工对其进行装饰才能好看哦 xff01 首先取消选中时的蓝色外边框 xff1a outline style none 若你想取消外边框 xff1a border xff1a 0 或 border x
  • echarts-横向柱状图的左侧文字左对齐设置

    在需要左对齐的Y轴中这样设置 xff0c 设置完后会发现 xff0c 文字跟圆柱重合覆盖 xff08 跟你需要的位置有区别 xff09 yAxis axisLabel margin 80 textStyle align 39 left 39
  • 12108 - Extraordinarily Tired Students(特别困的学生)

    题目 xff1a When a student is too tired he can t help sleeping in class even if his favorite teacher is right here in front
  • 1211 Problem C 营救

    营救 题目描述 铁塔尼号遇险了 xff01 他发出了求救信号 距离最近的哥伦比亚号收到了讯息 xff0c 时间就是生命 xff0c 必须尽快赶到那里 通过侦测 xff0c 哥伦比亚号获取了一张海洋图 这张图将海洋部分分化成n n个比较小的单
  • JAVA: toCharArray()类 将字符串转为数组

    public class Demo public static void main String args String str 61 34 helloworld 34 char data 61 str toCharArray 将字符串转为
  • 能赢吗?

    Description 有一堆石子 xff0c 总共有n枚 xff0c 两人轮流拿 xff0c 最少拿一枚 xff0c 最多拿k枚 xff0c 拿到最后一枚的人获胜 先手拿的人可以保证自己必胜吗 xff1f Input 第一行输入一个整数T
  • python e指数函数,常用的e指数代码

    在 python中 xff0c 有一种函数叫做e指数函数 xff08 exponential function xff09 xff0c 它的名称非常的直接 xff0c 是我们在进行数值计算时经常用到的一种函数 下面就让我们一起来学习一下这种
  • 栈的概念及性质

    栈的基本概念 栈的定义 栈是一种只能在一端进行插入或删除的线性表 其中插入被称作进栈 xff0c 删除被称作出栈 允许进行插入或删除操作的一端被称为栈顶 xff0c 另一段被称为栈底 xff0c 栈底固定不变 其中 xff0c 栈顶由一个称
  • python requests post 使用方法

    使用python模拟浏览器发送post请求 span class token keyword import span requests 1 格式request post xff1a request span class token punc
  • 各类Python项目的项目结构及代码组织最佳实践

    1 了解Python项目文件组织结构非常重要 为什么要掌握pythob项目结构 xff1f 优秀的程序员都使用规范的项目代码结构 xff0c 了解这些好的习惯方式 xff0c 能帮助你快速读懂代码如果项目是几个人合作开发 xff0c 好的代
  • Python简单的位运算

    位运算 程序中的数在计算机内存中都是以二进制的形式存在的 xff0c 位运算就是直接对整数在内存中对应的二进制位进行操作 位运算分为 6 种如下 xff1a 1 按位与 按位与运算符 xff1a 参与运算的两个值 如果两个相应位都为1 则该
  • 【Linux】WLAN接口桥接

    一 内核补丁 因为Linux内核会在注册特定设备时将会将dev gt priv flags置为IFF DONT BRIDGE xff0c 所以现还不支持sta p2p client adhoc等无线接口加入到桥接中去的 xff0c 所以要支
  • Python学习小记-爬虫基础例子之抓取热门游戏排行榜-2020-3-2

    span class token keyword import span urllib span class token punctuation span request span class token keyword import sp
  • 《A Survey on Aspect-Based Sentiment Analysis: Tasks, Methods, and Challenges》阅读笔记

    忙活了一阵子后 xff0c 现在终于有空研究一下目前如火如荼的ABSA了 xff0c 当然 xff0c 还是先从综述出发 A Survey on Aspect Based Sentiment Analysis Tasks Methods a