这篇教程A Survey on Aspect-Based Sentiment Analysis: Tasks, Methods, and Challenges解读写得很实用,希望能帮到您。Tasks, Methods, and Challenges
本文主要针对《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的发展历史、研究现状、主要方法、展望和挑战,包括深度学习以及新兴的与训练方法。
ABSA概述
相比于粗粒度的情感分析,细粒度的情感分析对于实际应用的意义更大。
例如在淘宝中,这里对于评论信息的抽取就是典型的细粒度情感分析,买家对于手机几个方面的评价有正有负。对细粒度的aspect进行分析,一方面,有助买的人从自己看重的特征方面决定是否购买,另一方面,让厂家能对自身的产品有更全面的认知,从而进行针对性的改进。可以预想到这样的信息抽取比单纯的抽取喜欢/不喜欢更加具有应用价值。
对于海量的文本信息来说,这样的细粒度信息很难人工抽取,所以从2012年便有人开始研究。
ABSA中,要体现出情感的是句子中的某个实体或者实体的某个方面,而不再是整个句子。例如手机是正品,但网络不稳定
中的正品
,网络
可以看做是方面
ABSA中的关键元素
普通情感分析与基于方面的情感分析区别
普通情感分析(general sentiment analysis)主要包含两部分:目标(Target)和情感(sentiment),目标可以是任意一个实体或实体的任意一个方面,情感有积极/中立/消极( positive/neutral/negative)三种观点(opinion) ,这里的情感只针对目标。简单来说就是针对一个文本分析出其对应的情感,是一个非常简单的文本分类任务。
而对于ABSA,Target可以是一个 aspect category �或 一个aspect term �,ABSA中的Sentiment进一步扩展为opinion term �和大体情绪取向�(情感极性)。
二者区别图示如下:
可以看到ABSA主要是扩展了方面类别和方面观点和观点项。
情感元素
通过一张图快速学习一下ABSA中的4个关键情感元素 :方面项(Aspect Term)、方面类别(Aspect Category)、观点项(Opinoin Term)、情感极性 (Sentiment Polarity):
方面项 方面项同样可以是任意一个实体或实体的任意一个方面,如果无法识别方面项时(例如“It is overpriced!”这种只有代词的句子),方面项定义为null
。 基于方面的情感分析,最重要的也就是这个方面项�。
方面类别 方面项属于一个对应的方面类别,方面类别是提前预定义的。
观点项 观点对应于方面,是对方面项的观点描述。 ‼️当观点表达针对一个整体的实体时,这种特殊的观点被称为GENERAL
情感极性 情感极性其实就是普通情感分析中的情感,依然是对整句话的一个大体的情感极性描述。
四者的数学定义分别为�、�、�、�。
注⚠️:在大多数的基准数据集中每句话都会有实体,所以有时统一将实体和它的方面统称为方面(aspect)。
ABSA的定义
通过四个关键预测,我们可以给出ABSA的正式定义:从相关文本识别出文本中某个相关文本项(text item)的情感元素,可以是单个情感元素,也可以是多个情感元素,他们之间具有依赖关系。
ABSA的发展历程
单一ABSA任务(Single ABSA Tasks)
单一ABSA任务是指抽取某个关键情感元素 ,aspect term和aspect sentiment元素都可以成为一个单一的子任务(Single ABSA tasks),例如 aspect term extraction task负责从文本中抽取方面项,aspect sentiment classification task 预测文本的情感极性。
复合ABSA任务(Compound ABSA Tasks)
尽管抽取单一情感元素 的单一子任务非常有效,但困难的地方不在于方面项抽取,而在于理清各个情感元素直接的以来关系,例如理解**方面级别的观点(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(cross-domain and cross-lingual ABSA)
当前训练ABSA任务的主要方式都是针对特定的语言和领域、一旦语言或领域变化,就需要重新训练。然而对于有些领域和语言的训练数据非常稀缺,而且ABSA任务的标注成本也十分昂贵,我们期望构建出一个可以**跨领域,跨语言(cross-domain and cross-lingual)**的更加实用的ABSA模型,就像人类一样,可以通过举一反三来克服训练数据的局限性。
这也是当前ABSA所面临的主要挑战,后文也会提到一些目前的工作进展。
模型范式
介绍一些 NLP 领域目前的主流范式,后面都会提到,并简单给出其在 ABSA 任务中的结构:
ABSA任务的数据集与评价标准
下面介绍一下ABSA任务中的一些常见数据集和相应的评价标准,图表如下:
关于评价指标,对各种任务都通常要求必须精确匹配,即所有的预测元素都要与结果一致,然后再使用准确率、精确度、召回率、F1值等常见的评价指标即可。
ABSA任务
ABSA任务目前的分类和解决方法导图如下:
通过下面这个示例图可以清晰明了地理解这些任务的区别:
接下来我们来详细说说这些任务和对应的解决方案,以及目前的进展:
单一ABSA、任务(Single ABSA Tasks)
单一ABSA任务即是从文本中仅识别或抽取某一个情感元素,对应四种任务分别称为方面项抽取(Aspect Term Extraction, ATE)、方面类别识别(Aspect Catagory Detection, ACD)、观点项抽取(Opinoin Term Extraction, OTE)、方面情感分类(Aspect Sentiment Classification, ASC)。
Aspect Term Extraction (ATE)
方面项抽取是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任务中,目前的一些进展如下:
Yin等人利用依赖路径在嵌入空间中链接单词,学习单词表示。
Xu等人提出的DE-CNN模型采用了一种双重嵌入机制,包括通用嵌入和特定领域嵌入。
Xu等人在特定领域的数据上进一步对BERT进行训练(post-train),以获得更好的词表征能力。
Yin等人设计了一个基于位置依赖的词嵌入(positionnal of dependency, POD),以考虑依赖关系和上下文位置。
很多研究还考虑了具体的网络设计来捕捉任务的不同特征,例如,在序列标签框架中对一个方面和其相应的意见表达之间的关系进行建模[23, 25, 24, 26],并将任务转化为Seq2Seq问题,以捕捉整个句子的整体意义,从而预测具有更丰富上下文信息的方面[28] 。
由于标签数据的稀缺,半监督学习在ATE领域同样有应用,数据增强方法可以产生更多的伪标签数据(pseudo-labeled data) ,目前的进展如下:
目前业界已经提出了各种增强策略,如屏蔽的序列-序列生成(masked seq2seq generation)[31],软原型生成(soft prototype generation)[32],以及渐进式自我训练(progressive self-training)[33]。
同理,无监督学习在ATE任务中也有着大量的研究:
He等人[34]提出了一个名为基于注意力的方面提取(Attention-based Aspect Extraction, ABAE)的自动编码器模型(autoencoder),该模型不强调无关的词,以提高提取的方面的一致性。
沿着这个方向,Luo等人[35]在构建句子表征时利用语义(sememes)来加强词汇语义。
Liao等人[36]提出了一个神经模型,将局部和全局语境(LCC+GBC)结合起来,以发现方面词。
⭐️Tulkens和van Cranenburgh[41]提出了一个简单的解决方案,名为CAt ,只使用POS标记器和域内词嵌入来提取方面术语:POS标记器首先提取名词作为候选方面,然后采用一个对比性注意机制来选择方面。【无监督ATE的重要方法】
Shi等人[42]将问题表述为一个自监督的对比学习任务,以学习更好的方面表征。
Aspect Category Detection(ACD)
方面类别检测(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)**问题,把每个类别看成一个标签即可:
早期的工作有RepLearn[37],在一个有噪声标记的数据集上训练词嵌入,并通过不同的前馈网络获得混合特征。然后用这些特征训练一个逻辑回归模型来进行预测。
后来的方法进一步利用任务的不同特点来提高性能,例如,利用注意力机制来关注不同类别的文本的不同部分[38],考虑词-词共现模式(co-occurrence patterns)[118],以及测量句子和每个特定类别的一组代表词之间的文本匹配来预测一个类别是否存在[39]。
以无监督的方式处理ACD任务,通常有两个步骤
提取候选方面术语,这一步基本上与处理无监督ATE问题 中的方法相同
将方面术语映射或聚类到预先定义的类别集合中的方面类别,例如,将 pizza
和 pasta
聚类到方面类别food
。
无监督方式的处理区别主要在于第二步,有以下方法:
最直接的方法是为第一步检测到的每个方面聚类手动分配一个标签作为方面类别[34, 35],但这很耗时,而且当检测到的方面有噪声时,可能会导致错误。
在CAt[41]中,计算句子向量和类别向量之间的余弦相似度,以分配类别标签。
最近,Shi等人[42]提出了一种高分辨率的选择性映射策略,以提高映射的准确性。
Opinion Term Extraction (OTE)
观点项抽取OTE 同时提取观点项和其相关的方面项 ,根据方面项是作为输入还是输出,OTE可以分为两个任务:
方面观点共同提取(aspect opinion co-extraction, AOCE),同时预测方面项和对应的方面观点 。例如对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)。 虽然同时预测了两个情感元素,但 AOCE 仍然是单一 ABSA 任务,因为其并没有预测方面项和方面观点直接的关系。 已经开发了各种模型来捕捉方面-观点的依赖性,包括基于基于树的模型[22,23],基于注意力的模型[25,24,26],以及考虑句法结构以明确约束预测的模型[43,44]。
目标导向观点词提取( target-oriented opinion words extraction, TOWE),旨在提取给定的特定方面项的相应观点词。同样也是一个标签分类多问题。而主要的研究问题是如何在输入句子中建立表示特定方面的模型,以提取相应的意见。
Fan等人[45]提出了一个名为IOG的神经模型,通过Inward-Outward LSTM纳入方面信息,生成方面融合的上下文。后来的方法设法提高了从几个方面提取的准确性。
Wu等人[120]利用一般的情感分析数据集来转移潜在的观点知识,以处理主要的TOWE任务。
Veyseh等人[47]利用句法结构,如基于依赖树的方面距离来帮助识别意见术语。
Mensah等人[48]根据经验评估了基于各种文本编码器的位置嵌入的重要性,发现基于BiLSTM的方法具有适合TOWE任务的归纳偏向,而使用GCN[121]来明确考虑结构信息只带来微小的收益。
Aspect Sentiment Classification (ASC)
方面情感分类,也称为方面级别的情感分类(aspect based/-targeted/-level sentiment classification) ,目标是预测句子中方面的情感极性 。方面虽然可细分为方面项和方面类别,但对于方面情感分类来说区别不大,都是一个序列分类问题(SeqClass) 。
ASC 最主要的问题在于如何适当地利用方面(术语/类别)和句子上下文之间的联系 来对情感进行分类。该任务的进展如下:
为了建模方面和句子上下文之间的联系,神经网络模型,如TC-LSTM[51]采用了相对简单的策略,例如直接连接将方面信息与句子上下文融合在一起。
基于句子的不同部分对特定方面发挥不同作用的注意力,注意力机制被广泛用于获得特定方面的表述[52, 122, 55, 57, 125]。
⭐️一个代表性的工作是Wang等人提出的基于注意力的LSTM与方面嵌入(Attention-based LSTM with Aspect Embedding, ATAE-LSTM)模型 [52],该模型将方面嵌入附加到输入句子的每个词向量中,用于计算注意力权重,并可相应地计算出特定方面的句子嵌入,以对情感进行分类。【ASC 重要方法】
IAN[54]交互式地学习方面和句子中的注意力,并为它们分别生成表征。
除了LSTM网络,其他网络结构也被探索用于支持注意力机制,包括基于CNN的网络[58, 59],记忆网络[53, 56],以及门控网络[126, 58]。
目前,预训练的语言模型 已经成为ASC任务的主流构件[127, 61, 128, 129] 。例如,Sun等人[127]通过构建一个辅助句子将ASC任务转化为一个句对分类问题,这可以更好地利用BERT的句对建模能力。
ASC的另一条研究线是对句子的句法结构进行建模预测,因为方面和对应观点之间的结构关系往往能够表明情感导向。例如对The pizza is delicious, but the service is terrible.
,如果可以知道pizza
和service
之间的关系就是主系表 ,自然可以知道情感导向(这个例子比较简单,但难点在于处理更长更复杂语法的句子)。
早期的基于机器学习的ASC已经将挖掘出来的句法树 作为分类的特征[124, 130]。然而,由于依赖关系解析 本身是一项具有挑战性的NLP任务,不太准确的解析器ASC方法并没有显示出比其他方法明显的优势[129]。由于近年来基于神经网络的依赖解析的改进,更精确的解析树为基于依赖的ASC模型带来了显著的改进。
Sun等人[67]和Zhang等人[66]采用图神经网络(GNN)[131]对依赖树进行建模,以利用句法信息和词的依赖关系。
沿着这个方向,人们提出了各种基于GNN的方法来明确地利用句法信息[132, 68, 133, 134, 69, 72, 70, 71, 74]。
除了句子内部的句法结构,其他结构信息也被考虑了进来。
Ruder等人[135]对多个评论句子之间的关系进行了建模,其假设是这些句子是相互建立和阐述的,因此它们的情感也是相关的。
同样地,Chen等人[136]考虑了文档级别的情感偏好,以充分利用现有数据中的信息来改善ASC 的性能。
复合 ABSA 任务
复合ABSA任务的目标就是涉及多个情感元素
这些任务可以被视为单一ABSA任务(Single ABSA Tasks) 的综合任务 。然而,这些复合任务的目标不仅是提取多个情感元素,而且还通过预测对(即两个元素)、三联(即三个元素)、甚至四联(即四个元素)格式的元素来耦合它们。
显然我们的最终目标是实现细粒度的情感分析,而能够使用封装更加良好的复合 ABSA是更有前途的。
下面来详细介绍各个复合 ABSA 方法:
Aspect-Opinion Pair Extraction (AOPE)
方面术语和意见术语的提取是ABSA系统的关键,前面的AOCE 中只提取了方面和观点但没有处理两者间的关系,而 AOPE [13, 11]的区别在于要提取的是方面-观点组成的对 。
复合 ABSA 任务是单一 ABSA 的综合任务,可以通过对单一 ABSA 的嵌套来进行解决。
处理 AOPE,可以通过流水线(pipeline)的方法来解耦多个子任务,最终实现提取 aspect-opinoin pairs。解决方法有:
首先通过 AOCE 提取aspect set 和 opinion set,然后使用分类模型来匹配有效的 aspect-opinoin。
首先通过 ATE提取方面,然后对每个方面项识别出对应的观点 Gao等人[76]采用了第二种MRC范式的方法,他们首先使用一个MRC模型来提取所有的方面术语,然后对于每个提取的方面术语,为另一个MRC模型构建一个问题,以识别相应意见术语的文本跨度。
除了叠加单一 ABSA 子任务,还可以直接使用一个统一的模型处理 AOPE,这样做的好处是可以避免流水线方法在传播中的一些错误。
⭐️Wu等人[75]提出了一个网格标签方案(GTS) ,对于每个词对,模型预测它们是否属于同一个方面,同一个观点,方面-观点对,或者以上都不是。然后,原来的词对提取任务被转化为一个统一的TokenClass问题。
Zhao等人[13]将该问题视为术语和关系的联合提取,并设计了一个基于跨度的多任务学习(SpanMlt)框架来联合提取方面/观点和配对关系。
同样,Chen等人[11]提出了一个包含两个通道的模型,分别提取方面/观点术语和关系。进一步设计了两个同步机制来实现两个通道之间的信息交互。
最近,句法和语言学知识也被考虑用于提高提取性能[77]。
End-to-End ABSA (E2E-ABSA)
端到端的 ABSA 用来同时提取方面项和它相应的情感极性 ,即抽取(�,�)pairs。可以拆分为 ATE 和 ASCE 两个子任务。
最近这些年,将这个任务与一般的ABSA问题区分开来,特称为端到端的 ABSA 或统一的 ABSA 任务。
最直观的方法是直接使用流水线方法序列化地处理二者,但实际上检测方面和情感极性分类是可以相互增强的。以I like pizza
为例,上下文信息like
表示一种积极的情感,同时也暗示了下面的单词pizza
是表达意见的对象。
受这种思路的启发,ABSA 中提出了许多使用端到端方式的方法。可以分为两种类型:
第一种 "联合 "方法 通过在多任务学习框架 内对两个子任务进行联合训练,利用它们之间的关系[81, 82, 84, 85, 86] 。采用两个标签集,包括方面边界标签(第一行)和情感标签(第二行)来预测两类情感元素。然后,最终的预测是由两个子任务的输出组合得出的。
另一种统一的方法消除了这两个子任务的边界,并使用**“统一”(也称为折叠)标签方案**来表示每个标记的标签的两个情感元素[79,80,19]。通过使用折叠的标签方案,E2E-ABSA任务可以通过标准序列标记器(standard sequence tagger)使用TokenClass范式处理。
无论采用哪种类型的方法,都总结一些共同的思想,并在不同的模型中频繁出现:
考虑方面边界和情感极性之间的关系已被证明是一个重要因素[80]。
由于意见项为方面术语的出现和情感的取向提供了指示性线索,意见术语的提取通常被视为E2E-ABSA的一个辅助任务[80, 82, 86, 87]。
例如,Chen和Qian[84]提出的关系感知协作学习(RACL)框架明确地对三个任务的互动关系进行建模,用关系传播机制来协调这些任务。
Liang等人[86]进一步设计了一个路由算法来改善这些任务之间的知识转移。
文档级别的情感信息也被用来为模型配备粗粒度的情感知识,以便更好地进行情感极性分类[82, 86]。
端到端 ABSA三种方法对比
目前还不能说pipline, joint, unified 这三种方法哪种最好。
早期的,[10]发现管道方法表现更好,但Li等人[80]表明,使用一个量身定做的神经模型与统一的标签方案可以得到更好的性能。
后来,Li等人[19]进一步验证了使用一个简单的线性层堆叠在预训练的BERT模型之上,并采用统一的标签方案,可以取得很好的效果,而无需复杂的模型设计。
最近,基于管道[94, 93]、统一[137]或联合方法[86]的研究工作都取得了良好的性能。
Aspect Category Sentiment Analysis (ACSA)
方面类别情感分析联合检测方面类别和相应的情感极性,例如对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问题。基于预训练的生成模型,他们使用自然语言句子来表示所需的输出(如上图),其性能优于以前的分类类型模型。 此外,实验结果表明,这种范式可以更好地利用预先训练好的知识,在少样本 和零样本 的情况下有很大的优势。
Aspect Sentiment Triplet Extraction (ASTE)
** 方面情绪三联体提取任务**试图从给定的句子中提取(�,�,�)三联体,这些三联体告诉我们观点目标是什么,它的情绪倾向是什么,以及为什么要表达这种情绪(通过意见项)。
可以说 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 任务中
Mao等人[94]通过设计特定的查询,将原始问题转化为两个MRC任务:第一个MRC模型用于提取方面术语,然后第二个MRC模型预测相应的观点术语和情感极性。
Chen等人[93]采取了类似的方法,他们使用了一个双向的MRC框架:一个预测方面,然后是观语,另一个首先预测观点,然后是方面。Seq2Seq建模提供了一个优雅的解决方案,可以一次性完成三联体预测。
Zhang等人[95]将原始任务转化为文本生成问题,并提出两种建模范式,包括用于预测情感三要素的标记风格和提取风格。
Yan等人[96]和Hsu等人[142]将句子作为输入,将索引指数(pointer indices)作为目标。然后,为了预测方面术语(或观点术语),目标变成预测该术语的起始索引和结束索引。
Fei等人[98]提出了一种非自回归解码(non-autoregressive decoding, NAG-ASTE)方法,该方法将ASTE任务建模为一个无序三联体集合预测问题。
Aspect-Category-Sentiment Detection (ACSD)
尽管在分析方面层面的情感时,方面类别和方面术语都可以作为观点目标,但情感往往同时取决于两者。为了捕捉这种双重依赖关系,Wan[46]等人提出检测给定句子的所有(方面类别、方面项、情绪极性)三联体。他们在(方面类别,情感极性)对的基础上将联合预测任务分成两个子任务,其思路与第4.3节中描述的ACSA任务的 笛卡尔积 相似。
因此,给定一个特定方面类别和情感组合的句子,问题是:是否存在针对这种组合的方面术语,如果存在,方面术语是什么?前者可以归为一个binary SeqClass 任务,后者是一个条件 TokenClass 问题。
例如,对于句子The pizza is delicious
以及(food, POS)
对,第一个子任务是预测这个组合的存在,序列标签模型应该提取 pizza
作为相应的方面术语。然后,一个三联体(food, POS, pizza)
可以作为预测输出。然而,例如收到以(service, Pos)
对作为输入的相同句子时,第一个子任务应该预测这个组合不存在。总体训练目标可以是这两个子任务的综合损失。
⭐️沿着这个方向,Wu等人[100]提出了一个名为MEJD的模型,该模型通过使用句子和特定的方面类别作为输入来处理任务,然后剩下的问题成为。(1) 预测给定类别的情感极性(即SeqClass问题),以及(2) 如果存在的话,提取相应的方面项(即TokenClass问题)。由于特定的方面类别在相关句子中不一定存在,MEJD在SeqClass任务中增加了一个额外的维度 N/A
,与ACSA中的 add-one-dimension方法 [88]的想法相似。因此,当分类模型输出 N/A
时,表明在输入中没有与该类别相关的三联体。此外,MEJD还采用了一个带有注意力机制的GCN来捕捉方面和上下文之间的依赖关系。
由于特定领域(specific domain)的预定义方面类别的数量通常较少,上述方法可以通过结合每个类别的句子作为输入来分解原始ACSD任务。
相反,Zhang等人[95]以Seq2Seq的方式解决这个问题,他们在原始句子中标记好所需的情感元素,并将其作为生成模型的目标序列来学习映射关系。
Zhang等人[7]进一步设计了一个转述模型(Paraphrase model),它构建了一个包含所有情感元素的自然语言序列作为seq2seq学习的目标序列。
Aspect Sentiment Quad Prediction (ASQP)
上面的各种复合ABSA任务的都是未来捕捉更详细的方面级情感信息,方法有成对提取(如AOPE)或三联体提取(如ASTE)。尽管这些方法都很有价值,但显然能够一次性预测四个情感元素的模型应该能提供最完整的方面级情感结构。最近提出的**方面情感四元预测(ASQP)**任务[101, 7],旨在预测给定文本项目的四元形式的所有四个情感元素。
Cai等人[101]研究了ASQP任务,强调了隐性的方面或观点 。作者认为,隐形的方面或观点经常出现在现实世界的场景中,并使用 null
来表示它们在情感四元素中。他们引入了两个带有情感四元素标注的新数据集,并通过结合现有模型构建了一系列pipeline baseline,以对任务进行基准测试。
Zhang等人[7]提出了一个Paraphrase建模策略,以端到端的方式预测情感四元素。通过将标记的情感元素与预先建立的模板相结合,并使用获得的自然语言序列作为目标序列,他们将原来的四元素预测任务转化为文本生成问题 ,并通过Seq2Seq建模范式来解决。因此,标签语义(即情感元素的含义)可以得到充分的利用。
鉴于ASQP任务的价值,我们期望在未来看到更多的相关研究。
ABSA 任务小结
各种ABSA任务之间的关系图如下所示:
可迁移的 ABSA(Transferabel ABSA)
跨领域的 ABSA(Cross-domain ABSA)
单一领域内的有监督的ABSA模型 已经发展的不错。然而,真实世界中我们往往要面对涉及多个领域甚至未见过的文本,这时这些模型很可能无法获得令人满意的预测结果。主要原因是不同领域的观点目标所指的方面通常有很大的不同,而且模型可能没有关于未见过的领域中经常使用的术语的预先知识。
一个直接的解决方案是为这些领域标记有标签数据并重新训练额外的领域内模型。但ABSA的数据要求细粒度的注释 ,收集足够数量的标记数据非常昂贵,甚至有时无法做到。为了能够以较低的成本进行跨域ABSA预测 ,采用了域适应技术(domain adaptation techniques) [152, 20],为ABSA系统在其他领域的推广提供了替代解决方案。
这些工作可以分为两种:基于特征的转移 和基于数据的转移 。
基于特征的转移
基于特征的转移的核心思想是为ABSA任务学习与领域无关的表征。
Jakob和Gurevych[153]以及Chernyshevich[154]通过在跨域ATE任务的CRF标记器中引入丰富的句法特征(跨域不变),将这一想法实现。
Wang和Pan[119, 155]设计了一个依赖性边缘预测任务(dependency edge prediction task),以强制学习句法感知表征(syntactic-aware representations),目的是减少词级上的领域转移。
其他辅助任务,如领域分类[156, 157]、方面-观点交互预测[158]和观点项检测[159],也被整合到一起,以更好地统一不同领域的表征。
与上述研究不同的是,Chen和Qian[160]简单地汇总了每个词的句法角色,并将句法嵌入视为源域和目标域之间的桥梁,这大大地提高了域适应的功效。
Liang等人[161]假设目标域中有句子级的方面类别标注,并提出了一个交互转移网络来捕捉领域中不变的方面类别-方面项关联。
基于数据的转移
与基于特征的转移相比,基于数据的转移旨在调整训练数据的分布,以更好地将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(Cross-lingual 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]。
Wang和Pan[170]利用一种基于过渡的机制来解决XATE任务,通过对抗网络将不同语言的表征统一到一个共享空间中。
Jebbara和Cimiano[171]考虑了具有两种类型的跨语言词嵌入的zero-shot ATE任务。特别是,他们发现,从多种源语言转移可以在很大程度上提高性能。
多语预训练语言模型
最近,受利用单语预训练语言模型(monolingual PLMs)的成功启发,利用多语预训练语言模型(multilingual PLMs),如多语BERT[17]和XLM-RoBERTa[178]来处理跨语言NLP任务已成为一种常见的做法。
通常情况下,PLM首先在大量的多语言语料库上进行预训练,然后在源语言数据上进行微调,以学习特定的任务知识。最后,它可以直接用于在目标语言测试数据上进行推理(称为zero-shot transfer)。由于在预训练阶段获得的语言知识,zero-shot transfer已被证明是许多跨语言NLP任务的有效方法[179, 180]。
然而,在预训练阶段学到的语言知识对于XABSA问题可能是不够的。作为补偿,利用翻译后的(伪)标记的目标语言数据可以使模型具备更丰富的目标语言知识。
Li等人[175]提出了一种热身机制(warm-up mechanism),从每种语言的翻译数据中提炼出知识,以提高性能。
Zhang等人[176]指出了翻译后的目标语言数据的重要性,并提出了一种无对齐标签投影的方法(alignment-free label projection method )来获得高质量的伪标签目标数据。他们表明,即使在这样的数据上对mPLMs进行微调,也能为XABSA任务建立一个强大的baseline。
与单语ABSA问题相比,XABSA问题的探索相对不足。虽然现在mPLMs被广泛用于各种跨语言的NLP任务,但在XABSA中应用仍然很棘手,因为特定的语言知识在任何ABSA任务中都起着至关重要的作用。因此,它需要更好的mPLMs适应策略,为模型注入更丰富的目标语言知识。另一方面,现有的研究主要集中在相对较容易的ABSA任务上,探索更难的复合ABSA任务的跨语言转移在实践中是很有挑战性的。
使用预训练语言模型的 ABSA(ABSA WITH PRE-TRAINED LANGUAGE MODELS)
传统的神经网络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任务。
最初Sun等人[127],他们将ASC转化为一个句对分类任务。由于观察到BERT在处理句对分类问题(如问题回答)方面具有优势,他们为每个方面构建了一个辅助句子,并将原始句子和构建的句子反馈给BERT,取得了比以前的工作更好的性能。
根据类似的思路,Gao等人[76]、Chen等人[93]、Mao等人[94]通过MRC建模范式解决AOPE任务和ASTE任务。通过将原始任务分解为一系列的MRC过程,因此通过查询-回答匹配自然地捕捉到了配对关系。
另一项工作是利用预先训练的生成模型,如BART[148]和T5[149]来解决各种ABSA任务[95, 96, 7, 90]。通过将原始任务转化为Seq2Seq问题,标签语义(即所需情感元素的含义)可以被适当地纳入。
其他作用
除了作为ABSA模型的backbone,PLMs还可以从其他方面对处理ABSA任务有所帮助。
例如,在PLMs的预训练阶段使用的语言建模任务常常带来执行生成性数据增强的能力。
Li等人[31]将PLMs作为一个条件文本生成器,并设计了一个掩码-预测的策略来生成ATE任务的增强训练句子。
Hsu等人[142]没有借用外部语言资源,而是利用PLMs以生成方式实现语义保留的增强,在一系列ABSA任务上获得了比基线方法明显的改进。
PLM的另一个有趣但在很大程度上被忽视的作用是为基于依赖关系的ABSA模型提供更好的依赖树。明确地利用语义关系对许多ABSA任务是有益的,但其性能在很大程度上取决于所采用的依赖树的准确性。
作为第一次尝试,Wu等人[150]用一种量身定做的探测方法从PLM中发现依赖性解析树,并将获得的树送入基于依赖性的ABSA模型,取得了比使用现成的13种解析器的树的模型更好的ASC结果。
之后,Dai等人[129]用ASC数据对PLMs进行了微调,以注入情感知识。然后从微调的PLM中推导出面向情感的依赖树,这进一步提高了几个最先进的基于依赖的模型的性能。
缺点
目前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(Multimodal ABSA)
大多数现有的ABSA工作集中在分析有观点的文本,如客户评论或推特。然而,用户经常用其他方式分享他们的意见,如图片。由于不同模态的内容本质上往往密切相关,利用这种多模式的信息可以帮助更好地分析用户对不同方面的情绪。
最近关于多模态ABSA的研究主要集中在简单的ABSA任务上,如多模态ATE[182, 183]和多模态ASC[184, 185, 186, 187]。为了统一来自不同模式的信息,文本和图像通常首先被编码为特征表示,然后设计一些交互网络来融合信息以进行最终预测。最近,受单模态E2E-ABSA任务(即仅基于文本)的成功启发,Ju等人[188]研究了多模态E2E-ABSA任务,旨在捕捉其在多模态情况下两个子任务之间的联系。他们提出了一种多模态联合学习的方法,通过辅助性的跨模态关系检测来获得所有方面项-情感极性对。
尽管有这些初步的尝试,但应该考虑处理更复杂的多模态ABSA任务;从方法的角度来看,应该提出更先进的多模态技术来融合多模态的意见信息,例如,基于多模态PLMs构建模型。
鉴于多模态ABSA在现实世界的应用中越来越受欢迎,我们相信多模态ABSA会得到更多的关注。
统一的多任务学习模型(Unified Model for Multiple Tasks)
在介绍各种ABSA任务的过程中,一些想法和模型设计多次并重复出现。事实也正是如此,一个ABSA任务的解决方案可以很容易地被借用来处理另一个类似的任务,因为这些任务本来就是密切相关的。
这就自然而然地提出了一个问题:我们能否建立一个统一的模型来同时处理多个(如果不是全部)ABSA任务?如果是这样的话,就没有必要为每个任务设计特定的模型。这在实践中也是有用的,因为我们可能不想在每次有不同类型的观点标注的新数据时改变模型结构并重新训练它。
如果不同的任务可以被表述为相同的建模范式,就可以通过相同的模型来解决。最近的几项研究证明了沿着这个方向的一些初步尝试。他们或者通过为MRC模型设计特定任务的查询,将任务转化为MRC范式[76, 93, 94],或者通过直接生成自然语言形式的目标情感元素,转化为Seq2Seq范式[95, 96, 7]。除了用相同的架构解决多个任务外,Zhang等人[7]进一步发现,如果不同的ABSA任务在相同的建模范式下,特定任务的知识可以很容易地转移(称为跨任务转移)。
终身学习 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系统。最后,我们讨论了这个领域目前的一些挑战和有希望的未来方向。
返回列表 Ubuntu16.04如何查看显卡信息及安装NVDIA显卡驱动