首页 > 编程语言 >A Unified Generative Framework for Aspect-Based Sentiment Analysis 基于方面的情感分析的统一生成框架 (ACL2021)

A Unified Generative Framework for Aspect-Based Sentiment Analysis 基于方面的情感分析的统一生成框架 (ACL2021)

时间:2022-10-05 20:12:20浏览次数:83  
标签:Unified Based BART Sentiment 模型 索引 任务 ABSA 序列

摘要

基于方面的情感分析(ABSA)旨在识别方面术语、相应的情感极性和观点术语。ABSA中有七个子任务。大多数研究只关注这些子任务的子集,这导致了各种复杂的ABSA模型,但很难在统一的框架内解决这些子任务。在本文中,我们将每个子任务目标重新定义为一个由指针索引和情感类索引混合的序列,它将所有ABSA子任务转换为统一的生成公式。基于统一的公式,我们利用预训练序列到序列模型BART在端到端框架中求解所有ABSA子任务。对七个子任务的四个ABSA数据集进行的大量实验表明,我们的框架取得了显著的性能提升,并为整个ABSA子任务提供了真正统一的端到端解决方案,这将有利于多个任务。

1介绍

 

 

基于方面的情绪分析(ABSA)是细粒度情绪分析(SA)任务,旨在识别方面术语(a)、其对应的情绪极性和意见术语(o)。根据a、s、o的组合,ABSA中存在七个子任务。我们在图1中总结了这些子任务。具体来说,它们的定义如下:

AE:从句子中提取所有的方面术语

OE:从句子中提取所有的意见项

ALSC:预测句子中每个特定方面的情感极性。

AOE:提取句子中每个给定方面的成对意见词。

AESC:同时提取方面术语以及相应的情感极性。

Pair:同时提取方面术语和相应的意见术语。

Triplet:同时提取各方面术语及其相应的意见术语和情感极性。

尽管这些ABSA子任务有着密切的关联,但大多数现有工作仅关注1∼3分别执行个子任务。以下分歧使得很难在统一框架中解决所有子任务。

1.输入:有些任务的输入是一个句子,但有些子任务需要输入句子和方面词。

2.输出:某些任务(AE、OE、ALSC、AOE)仅从a、s或o输出特定类型的内容,而剩余的任务(AESC、Pair和Triplet)则以a、s和o的组合形式返回复合输出。

3.任务类型:有两种任务:提取任务(提取方面和观点)和分类任务(预测情绪)。

由于上述分歧,以前的大量工作只关注这些子任务的子集。然而,在一个统一的框架内解决整个ABSA子任务的重要性仍然很重要。最近,有几部作品在这方面进行了尝试。一些方法(Peng等人,2020;Mao等人,2021)应用管道模型分别从内部子模型输出a、s、o。然而,管道流程不是端到端的。另一行通过扩展标记模式遵循序列标记方法(Xu et al.,2020)。然而,候选标签的组合性阻碍了性能。综上所述,如果不依赖子模型或改变模型结构以适应所有ABSA子任务,现有方法很难通过统一的框架解决所有子任务。

基于上述观察,我们提出了一个统一的生成框架来处理所有ABSA子任务。我们首先将所有这些子任务定义为一个生成性任务,它可以处理输入、输出和任务类型方面的障碍,并在不改变模型结构的情况下适应所有子任务。具体来说,我们将提取和分类任务分别建模为指针索引和类索引生成。基于统一的任务公式,我们使用序列-序列预训练模型BART(Lewis et al.,2020)作为我们的主干,以端到端过程生成目标序列。

为了验证我们方法的有效性,我们在公共数据集上进行了大量实验。比较结果表明,我们提出的框架在每个子任务中都优于最先进的(SOTA)模型。  

主要贡献:

我们将ABSA的提取任务和分类任务都表述为一个统一的索引生成问题。与以前的统一模型不同,我们的方法不需要为不同的输出类型设计特定的解码器。

通过我们的重新制定,所有ABSA子任务都可以在逐序列框架中求解,该框架易于实施,并且可以建立在预先训练的模型上,例如BART。

 我们对四个公共数据集进行了广泛的实验,每个数据集都包含所有ABSA子任务的子集。据我们所知,评估ABSA所有任务的模型是第一项工作。

实验结果表明,我们提出的框架明显优于最近的SOTA方法  

2背景

NLP领域长期以来一直在研究序列到序列框架,以处理各种任务。受PTM(预先培训模型)成功的启发,尝试对序列进行预训练,以对模型进行排序。其中,我们使用BART(Lewis et al.,2020)作为我们的主干,而其他序列-序列预训练模型也可以应用于我们的架构中,以使用指针机制(Vinyals et al.,2015),例如MASS(Song et al.、2019)。

BART是一种用于自然语言生成(NLG)的强序列到序列预处理模型。BART是一种去噪自动编码器,由多个变压器(V aswani et al.,2017)编码器和解码器层组成。值得注意的是,BART Base模型包含6层编码器和6层解码器,这使得它的参数数量3与BERT Base模式相似。BART在去噪任务中进行预处理,其中输入句子通过一些方法(如掩蔽和置换)受到噪声干扰。编码器将带噪句子作为输入,解码器将以自回归的方式恢复原始句子。

3方法

尽管在七个ABSA子任务中有两种类型的任务,但它们可以在生成框架下制定。在这一部分中,我们首先介绍每个ABSA子任务的顺序表示。然后我们详细介绍了我们的方法,它利用BART生成这些顺序表示。

3.1任务制定

如图1所示,有两种类型的任务,即提取和分类,其目标可以分别表示为一系列指针索引和类索引。因此,我们可以在一个统一的生成框架中制定这两类任务。我们使用a、s、o分别表示方面术语、情感极性和观点术语。此外,我们使用上标s和e表示术语的开始索引和结束索引。例如,os,ae表示意见词o的开始索引和方面词a的结束索引。我们使用sp表示情感极性类的索引。每个子任务的目标序列如下:

上述子任务仅依赖于输入语句,而对于ALSC和AOE子任务,它们也依赖于特定的方面术语a。并没有把他们放在输入端,而是把他们放在目标端。

 其中下划线标记是在推理过程中给出的。每个子任务的详细目标序列示例如图3所示。不同子任务的目标序列。带下划线的索引提前给出。为了更好地理解,我们将情感类索引转换为相应的类标记。

 

3.2模型结构

正如我们在上一节中所讨论的,所有子任务都可以用X=[x1,…,xn]作为输入,并且输出目标序列Y=[y1, ..., ym] 其中y0是句子标记的开头。因此,不同的ABSA子任务可以表述为:

 

为了获得每一步的概率分布,模型由两部分组成:Encoder和Decoder

Encoder:编码器将输入X编码为He,我们使用BART模型,因此,句子开头(<s>)和句子结尾(</s>)标记将分别添加到X的开头和结尾。为了简单起见,我们忽略了方程式中的<s>标记。编码器部分如下:序列先输入进BART的encoder

 

Decoder:

解码器部分将编码器输出He和之前的解码器输出Y<t作为输入,以获得Pt。然而,Y<t是一个索引序列。  因此,对于Y<t中的每个yt,我们首先需要使用以下Index2Token模块来执行变换。将encoder的输出和decoder t时刻之前的输出送入decoder,decoder之前时刻的输出需要经过Index2Token转换成token再送入decoder

 

然后,我们使用BART解码器来获取最后一个隐藏状态

 

通过htd我们预测令牌概率分布Pt如下,encoder的输出经过全连接层,然后残差连接得到,之后对情感标签进行编码,将经过残差连接的编码和情感标签的编码进行拼接,与decoder每一时刻的输出做点积,再经过解码算法得到最终的标签。

 

在培训阶段,我们使用教师强制来培训我们的模型,使用负对数似然来优化模型。此外,在推理过程中,我们使用beam search以自回归的方式获得目标序列Y。之后,我们需要使用解码算法将该序列转换为术语跨度和情感极性。我们以Triplet任务为例,介绍了算法1中的解码算法,其他任务的解码算法在补充资料中有详细描述。

Triplet任务的解码算法:target sentence是模型最终生成的序列,yi属于[1,n+C],n+C中n代表的是输入的序列的索引,C代表的是情感类别,如果yi<n,说明输出的就是方面词或者意见项的起始位置索引,如果>n,代表就是情感类别的预测,模型就是将方面词 意见项和情感分类都转换成了生成索引的方式。

 

模型结构:

 

 

 

 

  

 

标签:Unified,Based,BART,Sentiment,模型,索引,任务,ABSA,序列
From: https://www.cnblogs.com/zhang12345/p/16756259.html

相关文章