A Unified Generative Framework for Aspect-Based Sentiment Analysis
论文地址:https://arxiv.org/pdf/2106.04300.pdf
Author Information::Hang Yan1,∗, Junqi Dai1,∗, Tuo Ji1, Xipeng Qiu1,2†, Zheng Zhang3
Institutions Information:
1. Shanghai Key Laboratory of Intelligent Information Processing, Fudan University
1. School of Computer Science, Fudan University
2. Pazhou Lab, Guangzhou, China
3. New York University
ACL 2021
新词
- myriad
n. 无数,极大数量
adj. 无数的;种种的 - triangular
adj. 三角的,[数] 三角形的;三人间的
Abstarct
ABSA(Aspect-based sentiment analysis)旨在识别出一段(一句)自由文本中的属性词、属性词对应的情感极性、情感词。ABSA有七个子任务。现存的大多数研究只关注这些子任务的子集,这导致了各种复杂的ABSA模型,而很难在一个统一的框架中解决这些子任务。
在本文中,我们将每个子任务目标重新定义为由指针索引和情感类索引混合的序列,这将所有 ABSA 子任务转换为统一的生成公式。基于统一公式,我们利用预训练序列到序列模型 BART 来解决端到端框架中的所有 ABSA 子任务。对七个子任务的四个 ABSA 数据集进行的大量实验表明,我们的框架实现了显着的性能提升,并为整个 ABSA 子任务提供了真正统一的端到端解决方案,这可以使多个任务受益
1. Introduction
ABSA任务的七个子任务:
分别为:
**
- AE :抽取一个句子中所有的属性词;
- OE :抽取一个句子中所有的情感词;
- ALSC :对每一个给定的句子中的属性词,预测其情感极性;
- AOE :抽取一个句子中每个给定属性词的配对的情感词;
- AESC :在抽取属性词的同时,抽取其对应的情感极性;
- Pair :在抽取属性词的同时,抽取相对应的情感词;
- Triplet:同时抽取属性词、情感极性、情感词。
**
主流来说,ABSA的七个子任务,可以将其分成两大类。
- 其一:抽取类,具体有(AE、OE、AOE、AESC、Pair、Triplet)
- 其二:分类类,具体有(ALSC、AESC、Triplet)
其中,AESC、Triplet 既可以划分为抽取类,亦可以划分为分类类
!!!!To the best of our knowledge,it is the first work to evaluate a model on all ABSA tasks.
2. Background
2.1 ABSA Subtasks
在这小节,作者首先介绍了单一输出的子任务,接着,介绍了组合输出的子任务。
2.1.1 Single Output Subtasks
一些研究主要集中在单一输出的子任务。AE、OE、ALSC、和AOE子任务仅输出属性词、情感词、情感极性其中的一个。
2.1.2 Compound Output Subtasks
AESC、Pair、Triplet子任务是组合输出。
3. Methodology
本文的核心架构:
这是一个三元组(aspect, opinion,sentiment)抽取的模型示例。
其中输入文本为: <s> the battery life is good </s>
对应的坐标为:2 3 5 5 8 6 # 这些为位置序号。
具体理解:
编码阶段:(对应左侧)
1、BARTEncoder的输入是将Token Embeddings (黄色方块) +Position Embedding (浅蓝色方块)作为BART Encoder的输入,得到隐状态
H
e
H^e
He。(如下图的红色方块)
2、将NEU,POS, NEG三个单词,得到其Embedding.
C
d
=
B
A
R
T
T
o
k
e
n
E
m
b
e
d
(
C
)
C^d = BARTTokenEmbed(C)
Cd=BARTTokenEmbed(C)
3、输入序列X的Embedding为:
E
e
=
B
A
R
T
T
o
k
e
n
E
m
b
e
d
(
X
)
E^e = BARTTokenEmbed(X)
Ee=BARTTokenEmbed(X)
4、将1步骤得到的
H
e
H^e
He过一个多层感知机,得到
H
e
^
\hat{H^e}
He^
H
e
^
=
M
L
P
(
H
e
)
\hat{H^e} = MLP(H^e)
He^=MLP(He)
5、将4步骤得到的\hat{H^e}与X的TokenEmbedding
E
e
E^e
Ee进行残差链接。
H
‾
e
=
α
H
e
^
+
(
1
−
α
)
E
e
\overline{H}^e = \alpha \hat{H^e} + (1-\alpha)E^e
He=αHe^+(1−α)Ee
解码阶段:(对应右侧)
1、每一个Decoder的输入是Encoder的整体输出+Decoder前一个时刻的输出。
具体的:
1)绿色方块表示经过解码之后的隐状态
h
t
d
h_t^d
htd
h
t
d
=
B
A
R
T
D
e
c
o
d
e
r
(
H
e
;
Y
^
<
t
)
h_t^d = BARTDecoder(H^e; \hat{Y} _ {<t})
htd=BARTDecoder(He;Y^<t)
2)将
h
t
d
h_t^d
htd(绿色方块)与左侧编码器得到的
H
‾
e
\overline{H}^e
He进行点乘。
P
t
=
S
o
f
t
m
a
x
(
[
H
‾
e
;
C
d
]
h
t
d
)
P_t = Softmax([\overline{H}^e; C^d] h_t^d)
Pt=Softmax([He;Cd]htd)
如,原始的X 隐状态的维度为n * d
,concat三个情感词的Embedding之后,得到的维度为(n+3)* d
,与
h
t
d
h_t^d
htd ,维度为d*1
点乘之后,维度为(n+3) * 1
,
3)将点乘之后的结果,过一个Softmax,得到(n+3)长度,每个token对应的概率值,将最高的概率值对应位置表示的token索引输出;
注:
是将
[
H
‾
e
;
C
d
]
[\overline{H}^e; C^d]
[He;Cd]整体依次与每一个绿色小方块
h
t
d
h_t^d
htd点乘。过softmax之后得到的只是归一化的结果,如果想要得到对应位置的id,还需要一个argmax
4)将索引值经过一个Index2Token Conversion,隐射到对应的token值。即得到最终的生成结果。
针对不同的子任务,它的不同生成方式:
四个数据集的统计情况,具体包含句子个数、属性词个数、情感词个数、属性词和情感词的对数。具体如下:
4. Experiments
将现有的ABSA子任务的方法,进行归类总结,具体如下,可以看出只有本文提出的方法适用于ABSA的七个子任务。
实验结果一
在D17数据集上,针对AE、OE、SC、和AESC四个子任务,进行实验,基准数据来自于Mao等人,黑色加粗的表示最优性能。并且,表格中提及的四个模型的baseline均是BERT-Large,而本文的基准模型是BART-Base.
实验结果二
在D19数据集上,针对AOE子任务,进行实验,对比了四个数据集的P R F1值,其中,黑色加粗的表示最优性能。
实验结果三
在D20a数据集上,针对AESC、Pair和Triplet三个子任务,进行实验,对比了四个数据集的 F1值,其中,黑色加粗的表示最优性能。
实验结果四
在D20b数据集上,针对Triplet子任务,进行实验,对比了四个数据集的P R F1值,其中,黑色加粗的表示最优性能。
6. Conclusion
本文总结了7个ABSA子任务和以往的研究,表明在所有的输入、输出和任务类型方面都存在差异。以往的研究在统一框架下处理所有这些差异存在局限性。我们建议将所有的ABSA子任务转换为一个统一的生成任务。我们实现了用BART在基于统一任务公式的端到端过程中生成目标序列。我们对7个ABSA子任务的公共数据集上进行了大规模的实验,并在大多数数据集上取得了显著的改进。实验结果证明了该方法的有效性。我们的工作产生了几个有前途的方向,如在其他任务上的序列到序列的框架,和数据增强。