Boundary-Driven Table-Filling for Aspect Sentiment Triplet Extraction 阅读笔记

Boundary-Driven Table-Filling for Aspect Sentiment Triplet Extraction(EMNLP 2022)

基于边界驱动的表填充的方面情感三元组提取
论文地址: https://aclanthology.org/2022.emnlp-main.435v2.pdf
代码地址: https://github.com/HITSZ-HLT/BDTF-ABSA

个人阅读笔记,如有错误欢迎指针交流

1. 介绍

1.1 研究目标

方面情感三元组提取(ASTE)是情感分析中的一项重要任务,旨在从文本评论中提取方面术语, 意见术语,以及(方面,意见)术语所对应的情感极性。

1.2 科学问题

以前的研究工作一般通过表格填充形式化以端到端的方式解决ASTE任务,其中三元组由词对关系的二维(2D)表表示。在这种形式化下,一个方面意见术语(span)级关系可能被分解成多个独立的(word)词级关系,这可能会导致面对多跨度方面术语和意见术语关系不一致和边界不敏感,。

1.3 本文方法

为了解决上述问题,我们提出了边界驱动的表格填充(BDTF),它将每个三元组表示为一个关系区域中的二维表,并转换成检测分类的关系区域的ASTE任务。我们还注意到,表表示的质量极大地影响了BDTF的性能。因此,我们开发了一种有效的关系表征学习方法来学习表表示,它可以充分利用单词到单词的相互作用和关系到关系的相互作用。

1.4 创新点/贡献

我们的贡献可归纳如下:

  1. 提出了一个边界驱动的表格填充(BDTF)的ASTE任务的方法。该方法通过直接检测分类评论中的关系区域来提取评论中的观点情感三元组,克服了以往方法中的关系不一致性边界不敏感性。(一种填充方法)
  2. 开发了一种有效的关系表示学习方法来学习表表示,该方法充分利用了单词到单词的交互关系到关系的交互。(一种表示方法)
  3. 对包括ASTE在内的几个方面意见任务进行了广泛的实验,结果表明我们的方法显着优于最先进的方法。

2. 任务案例

Boundary-Driven Table-Filling for Aspect Sentiment Triplet Extraction 阅读笔记_第1张图片
图1:ASTE任务的示例。方面术语和意见术语分别用橙色和蓝色标记。

3. 模型架构

Boundary-Driven Table-Filling for Aspect Sentiment Triplet Extraction 阅读笔记_第2张图片
我们在图3中简要介绍了所提出的方法。

  1. 对于输入视图,我们首先通过BERT学习单词级上下文表示,
  2. 然后通过构建和编码关系级表示来学习2D表表示。该表表示的每个元素是表示词对关系的向量。
  3. 我们检测表中的所有候选关系区域,并通过区域分类器预测每个关系区域的类型。
  4. 我们解码方面的情感三元组的基础上的边界和类型的关系区域。

4. 方法

4.1 任务定义:

给定长度为n的句子 X = [ x 1 , x 2 , . . . , x n ] X = [x_1,x_2,...,x_n] X=[x1x2...xn],ASTE任务的目标是提取一组方面情感三元组。三元组被定义为(方面,观点,情感),其中情感 s ∈ { P O S , N E U , N E G } s ∈ \{POS,NEU,NEG\} s{POSNEUNEG}。我们将三元组表示为2D表中的关系区域。它的边界用于指示方面术语和意见术语的位置,并且它的类型用于表示情感。关系区域由两个边界标签S, E定位。具体地,S表示左上角,并且E表示右下角。

4.2 单词表示学习:

采用预训练的语言模型,诸如BERT(Devlin等人,2019)作为语言编码器以获得输入句子的词级上下文化表示。该过程可表述如下:
image.png

4.3 关系级别表示的构建

论文采用基于张量的操作来构造关系级表示。给定两个单词 h i , h j ∈ R d h_i,h_j ∈ R^d hi,hjRd,基于张量的运算被定义为:
image.png
其中 V ∈ R d × d × t V ∈ R^{d×d×t} VRd×d×t是张量参数。具体来说,对于每个切片 V [ k ] ∈ R d × d V^{[k]} ∈ R^{d×d} V[k]Rd×d,基于张量的运算计算某个向量空间中两个单词表示的内积:
image.png
通过引入多个向量空间,基于张量的操作可以完全建模单词到单词的交互。
此外,我们还利用了两个词之间的上下文,因为上下文通常包含表达关系的重要指标(Eberts and Ulges,2020)。我们通过最大池化操作获得上下文表示 c i j ∈ R d c_ij ∈ R^d cijRd(令i ≤ j):
image.png
最后,我们通过非线性投影构造关系级表示 r i j ( 0 ) ∈ R d r^{(0)}_{ij} ∈ R^d rij(0)Rd:
Boundary-Driven Table-Filling for Aspect Sentiment Triplet Extraction 阅读笔记_第3张图片
其中 f ( ⋅ ) f(·) f()是一个激活函数,我们在本文中根据经验选择了gelu(Hendrycks and Gimpel,2016)。
**总结: **看到这里可能会有点乱,由于公式太多了, 简单梳理一下$t_{ij} 可以简单理解两个词向量再加一个矩阵变换得到。 可以简单理解两个词向量再加一个矩阵变换得到。 可以简单理解两个词向量再加一个矩阵变换得到。c_{ij} 就是加入单词 i 到 j 的上文信息,至此做关系的表示就为 就是加入单词i到j的上文信息,至此做关系的表示就为 就是加入单词ij的上文信息,至此做关系的表示就为r_{ij}$(考虑自身,交叉,上下文)

4.4 关系级别表征编码

先验知识: 句子中每两个词的关系表示一起形成2D关系矩阵,组合在一起构成整个的表示。此表示的元素之间存在一些潜在的依赖关系。例如,具有边界标签S的元素总是在其右下方具有边界标签E的元素,并且相同关系区域中的元素具有相同的情感标签。
为了对这些依赖性进行建模,我们利用ResNet风格的CNN来编码该关系矩阵。具体地,给定输入表表示 T ( l − 1 ) ∈ R n × n × d T(l-1)∈ R^{n×n×d} T(l1)Rn×n×d,第 l t h l^{th} lthCNN通过以下方式产生相同大小的表表示 T ( l ) T^{(l)} T(l)
Boundary-Driven Table-Filling for Aspect Sentiment Triplet Extraction 阅读笔记_第4张图片
其中LN表示层归一化。
至此,我们已经得到了完整的表格表示。

5.提取模块

5.1 区域检测层 确定(S,E)

对于表表示 T ( L ) T^{(L)} T(L)中的每个元素 T i j ( L ) T^{(L)}_{ij} Tij(L),区域检测层利用两个分类器来计算其边界标签为S和E的概率:
Boundary-Driven Table-Filling for Aspect Sentiment Triplet Extraction 阅读笔记_第5张图片
我们通过top-k策略对 S S S E E E进行剪枝,然后将它们合并以获得候选关系区域,而不是基于某个阈值 S S S E E E进行解码。修剪允许模型避免潜在的暴露偏差。具体地,我们分别通过 P i j S P^S_{ij} PijS P i j E P^E_{ij} PijE选择前k个候选。然后,所选择的候选的这些有效 S − E S-E SE对形成区域候选池 C R = { ⋅ ⋅ ⋅ , [ S ( a , b ) , E ( c , d ) ] , ⋅ ⋅ ⋅ } C_R = \{· · ·, [S(a,b), E(c,d)],· · · \} CR={⋅⋅⋅,[S(a,b),E(cd)]⋅⋅⋅},其中 S − E S-E SE对仅在 E E E不在 S S S的顶部或左侧的情况下有效即, ( a ≤ c 且 B ≤ d ) (a ≤ c且B ≤ d) (acBd)。k的值与输入句子的长度有关:
image.png
其中z和kmin是两个超参数。

5.2 区域分类器

给定由 S ( a , b ) S(a,b) S(ab) E ( c , d ) E(c,d) E(cd)确定的候选关系区域,我们将该区域上的关系矩阵的 S S S表示、 E E E表示和最大池化结果连接起来作为其特征表示 r a b c d ∈ R 3 d r_{abcd} ∈ R^{3d} rabcdR3d
Boundary-Driven Table-Filling for Aspect Sentiment Triplet Extraction 阅读笔记_第6张图片
然后我们使用分类器来预测其类型 y T ∈ { P O S , N E U , N E G , I n v a l i d } y_T ∈ \{POS,NEU,NEG,Invalid\} yT{POSNEUNEGInvalid}
image.png

5.3 训练和解码

在训练过程中,我们利用交叉熵函数来计算边界检测和区域分类的损失。具体地,给定真实边界标签 y i j S , y i j E ∈ { 0 , 1 } y^S_{ij},y^E_{ij} ∈ \{0,1\} yijS,yijE{0,1},区域检测的损失通过下式计算:
Boundary-Driven Table-Filling for Aspect Sentiment Triplet Extraction 阅读笔记_第7张图片
给定真实区域类型标签 y T ∗ y^*_T yT,区域分类的损失计算如下:
image.png
总体优化目标是最小化这两个损耗 L B + L T L_B + L_T LB+LT的总和。

5.4 三元组解码

在解码过程中,我们首先通过区域检测层获得区域候选池,然后利用区域分类器来预测每个候选区域的类型。我们丢弃那些预测类型为无效的关系区域,并从剩余的关系区域生成方面情感三元组。假设由 S ( a , b ) S(a,b) S(a,b) E ( c , d ) E(c,d) E(c,d)确定的关系区域被预测为POS类型,则其对应的三元组为:
Boundary-Driven Table-Filling for Aspect Sentiment Triplet Extraction 阅读笔记_第8张图片

6 实验结果

ASET-Data-v2对比实验的结果:

Boundary-Driven Table-Filling for Aspect Sentiment Triplet Extraction 阅读笔记_第9张图片
表2:ASTE-Data-v2的结果。带有†的结果从Xu et al.(2020年)。Xu et al.复制了带和 * 的结果。(2021)和Yu Bai Jian et al.(2021年)。除Peng et al.(2020)和Zhang et al.(2020)是用BERT-base-uncased作为语言编码器获得的。

6.1 与不同预训练模型的比较结果

与不同预训练模型的比较结果
Boundary-Driven Table-Filling for Aspect Sentiment Triplet Extraction 阅读笔记_第10张图片
表3:与不同预训练模型的比较结果(Fl分数,%)。

6.2 消融实验结果:

  1. 表格填写方法的比较
  2. 关系学习分析

Boundary-Driven Table-Filling for Aspect Sentiment Triplet Extraction 阅读笔记_第11张图片
表7:关系水平表征学习的消融研究(F1评分,%)。Concat是指对两个单词级表示的级联执行非线性投影。

你可能感兴趣的:(ABSA方面级别情感分析,python)