观点三元组抽取的多任务框架
摘要
ABSA达到sota效果,主要在探测方面词和情感极性或者共同抽取方面和观点词。文章认为方面-情感对抽取缺乏情感词作为指导,而共同抽取方面词和观点词,如果不探测情感依赖,会导致无意义。
因此,作者将ABSA视为一个三元组抽取任务,提出一个多任务学习框架联合抽取方面词和观点词,同时使用biaffine记分器解析它们之间的情感依赖关系。推理阶段,一个基于上述输出的三元组编码方法有利于三元组抽取。在SemEval benchmarks上评估提出的框架,结果显示论文方法优于一系列基线和sota方法。
介绍
Peng et al. (2019)
[
1
]
^{[1]}
[1]首先由通过两个序列标记器联合提取方面情感对和观点,其中情感通过统一的标记附加到方面,然后通过附加分类器将提取的方面情感和观点配对。
该方法有效,存在问题1.使用一组unified tags预测方面和情感,将情感依赖分析降级为二进制分类,尽管理论上优雅,但不足以建模方面和情感之间的交互。2.a-s的方式忽略了他们与意见交互作用的重要性,这种交互作用对于处理不同三元组模式共享某些元素的重叠情况很重要,在其他基于抽取的三元组任务中,例如关系抽取。
为了说明为什么三元组交互建模至关重要,我们将三元组分为三个类别,方面重叠,观点重叠和正常的。如图:
观察得到,若两个三元组有相同的方面和意见,往往会有相同的情感。
因此,建立三元组交互有利于ABSA,然而不能用unified a-s标签进行探索,在这种情况下,情感被附加到方面,而没有考虑到重叠的情况。
为了规避上面的问题。作者提出一个三元组抽取多任务学习框架OTE-MTL,共同探测a,o,s(情感依赖)。一方面,a,o能够被抽取,用我们提出的多头结构中的两个独立的头。另一方面作者将方面抽取和情感预测分离。
相反,他们应用一个情感依赖解析器作为第三个头, 预测词级别的情感依赖,其被用来进一步解码 span-level(方面、观点通常跨越句子中的几个词)依赖。用这种方法规避unified标签带来的问题。
具体的,作者利用序列标记策略
[
2
]
^{[2]}
[2]提取方面和观点,同时利用biaffine
[
3
]
^{[3]}
[3]记分器,获得词级别情感依赖。另外,因为这些
t
a
s
k
−
h
e
a
d
s
\color{blue}{task-heads}
task−heads是联合训练
(
j
o
i
n
t
l
y
t
r
a
i
n
e
d
)
\color{blue}{(jointly trained)}
(jointlytrained),方面和观点抽取的学习目标可以视为
应用于情感依赖解析器的正则化。
\color{red}{应用于情感依赖解析器的正则化。}
应用于情感依赖解析器的正则化。
这样解析器是通过方面和意见的约束来学习的,从而满足三元组交互建模的要求。直观的,如果有一个包含两个方面但只有一个观点的句子,我们可以从中识别出有重叠意见的三元组。
对ABSA的四个SemEval基准数据集进行了广泛的实验,与一系列先进的方法进行了比较。结果表明,总体框架和其中单个组件是有效的。案例研究表明我们的模型如何更好地处理重叠案例。
框架
问题建模
input sentence:
S
=
{
w
i
}
i
=
1
∣
S
∣
S={\lbrace w_i \rbrace}_{i=1}^{|S|}
S={wi}i=1∣S∣
模型的目的是输出三元组集合:
output:
T
=
{
t
j
}
j
=
1
∣
T
∣
T={\lbrace t_j\rbrace}_{j=1}^{|T|}
T={tj}j=1∣T∣
∣
S
∣
|S|
∣S∣和
∣
T
∣
|T|
∣T∣是句子长度,三元组集合长度。
t
i
=
[
m
j
(
a
p
)
,
m
j
(
o
p
)
,
m
j
(
s
t
)
]
t_i=[m_j^{(ap)},m_j^{(op)},m_j^{(st)}]
ti=[mj(ap),mj(op),mj(st)]
开始位置:
s
p
sp
sp
结束位置:
e
p
ep
ep
则:
m
j
(
a
p
)
=
(
s
p
j
(
a
p
)
,
e
p
j
(
a
p
)
)
m_j^{(ap)}=(sp_j^{(ap)},ep_j^{(ap)})
mj(ap)=(spj(ap),epj(ap))
m
j
(
o
p
)
=
(
s
p
j
(
o
p
)
,
e
p
j
(
o
p
)
)
m_j^{(op)}=(sp_j^{(op)},ep_j^{(op)})
mj(op)=(spj(op),epj(op))
问题被建模成:寻找一个
F
F
F,准确映射
T
=
{
t
j
∣
t
j
=
[
(
s
p
j
(
a
p
)
,
e
p
j
(
a
p
)
)
,
(
s
p
j
(
o
p
)
,
e
p
j
(
o
p
)
)
,
m
j
(
s
t
)
]
}
j
=
1
∣
T
∣
T={\lbrace t_j|t_j=[(sp_j^{(ap)},ep_j^{(ap)}),(sp_j^{(op)},ep_j^{(op)}),m_j^{(st)}]\rbrace}_{j=1}^{|T|}
T={tj∣tj=[(spj(ap),epj(ap)),(spj(op),epj(op)),mj(st)]}j=1∣T∣
OTE-MTL 框架
OTE-MTL框架将任务划分为两个阶段:预测阶段和解码阶段
预测阶段由神经模型参数化,因此是可训练的。它建立在基于单词嵌入的句子编码和双向LSTM结构的基础上,学习方面和观点的抽象表示。在抽象表示的支持下,有三个核心组件,包括三个子目标:aspect tagging, opinion tagging, and word-level sentiment dependency parsing
以上三个目标探测完后,采用编码阶段以以基于启发式的规则生成三元组。
句子编码
使用双向LSTM作为句子编码器,首先使用预训练的词嵌入将每个单词嵌入到一个低维的向量中
E
=
{
e
i
∣
e
i
∈
R
d
e
}
i
=
1
∣
S
∣
E={\lbrace e_i |e_i\in R^{d_e}\rbrace}_{i=1}^{|S|}
E={ei∣ei∈Rde}i=1∣S∣,使用双向LSTM获取上下文表示
H
=
{
h
i
∣
h
i
∈
R
2
d
h
}
i
=
1
∣
S
∣
H={\lbrace h_i|h_i\in R^{2d_h}\rbrace}_{i=1}^{|S|}
H={hi∣hi∈R2dh}i=1∣S∣:
h
i
=
[
L
S
T
M
→
(
e
i
)
⊕
L
S
T
M
←
(
e
i
)
]
h_i=[\overrightarrow {LSTM}(e_i)\oplus \overleftarrow{LSTM}(e_i)]
hi=[LSTM(ei)⊕LSTM(ei)]
d
e
d_e
de和
d
h
d_h
dh是维度,
⊕
\oplus
⊕是向量拼接。
方面和观点表示
从encoded hidden states 中抽取特定方面和观点,使用维度衰减线性层和非线性函数 而不是直接将hidden states 输入到下一个组件,两个原因,第一,隐藏状态可能包含用于后续计算的多余信息,可能导致过拟合。第二,这样的操作预计会去除与方面标记和观点标记无关的特性。
计算过程:
r
i
(
a
p
)
=
g
(
W
r
(
a
p
)
h
i
+
b
r
(
a
p
)
)
r_i^{(ap)}=g(W_r^{(ap)}h_i+b_r^{(ap)})
ri(ap)=g(Wr(ap)hi+br(ap))
r
i
(
o
p
)
=
g
(
W
r
(
o
p
)
h
i
+
b
r
(
o
p
)
)
r_i^{(op)}=g(W_r^{(op)}h_i+b_r^{(op)})
ri(op)=g(Wr(op)hi+br(op))
r
i
(
a
p
)
r_i^{(ap)}
ri(ap)和
r
i
(
o
p
)
r_i^{(op)}
ri(op)是方面和观点表示,
g
(
.
)
g(.)
g(.)是一个非线性函数RELU:max(.,0)。同样的从情感解析器中获取另外的集合表示
r
i
(
a
p
)
′
,
r
i
(
o
p
)
′
∈
R
d
r
r_i^{(ap)'},r_i^{(op)'}\in R^{d_r}
ri(ap)′,ri(op)′∈Rdr和上面的方程式相同的步骤,但是参数不同。
多任务框架
包含两部分:方面和观点标记,词级别情感依赖解析
方面和观点标记。
{
B
,
I
,
O
}
\lbrace B,I,O\rbrace
{B,I,O}标记模式,用两个标记器标记每个单词,一个为aspect,一个为opinion,通过以下方法得到两个分布系列
p
i
(
a
p
)
=
s
o
f
t
m
a
x
(
W
t
(
a
p
)
r
i
(
a
p
)
+
b
i
(
a
p
)
)
p_i^{(ap)}=softmax(W_t^{(ap)}r_i^{(ap)}+b_i^{(ap)})
pi(ap)=softmax(Wt(ap)ri(ap)+bi(ap))
p
i
(
o
p
)
=
s
o
f
t
m
a
x
(
W
t
(
o
p
)
r
i
(
o
p
)
+
b
i
(
o
p
)
)
p_i^{(op)}=softmax(W_t^{(op)}r_i^{(op)}+b_i^{(op)})
pi(op)=softmax(Wt(op)ri(op)+bi(op))
推导出损失函数,典型的交叉熵与分类分布。
L
t
a
g
=
−
1
∣
S
∣
∑
i
∑
k
p
^
i
,
k
(
a
p
)
l
o
g
(
p
(
i
,
k
)
(
a
p
)
)
−
1
∣
S
∣
∑
i
∑
k
p
^
i
,
k
(
o
p
)
l
o
g
(
p
(
i
,
k
)
(
o
p
)
)
L_{tag}=-\frac {1} {|S|}\sum_i\sum_k\hat p_{i,k}^{(ap)}log(p_{(i,k)}^{(ap)})-\frac {1} {|S|}\sum_i\sum_k\hat p_{i,k}^{(op)}log(p_{(i,k)}^{(op)})
Ltag=−∣S∣1i∑k∑p^i,k(ap)log(p(i,k)(ap))−∣S∣1i∑k∑p^i,k(op)log(p(i,k)(op))
带帽为真实标签分布,k是分类分布中每个项目的枚举数
词级别情感依赖解析
确定每个词对的依赖类型,依赖类型 定义有
{
N
E
U
,
N
E
G
,
P
O
S
,
N
O
−
D
E
P
}
\lbrace NEU,NEG,POS,NO-DEP\rbrace
{NEU,NEG,POS,NO−DEP},情感依赖只考虑最后一个词 (start up speed,great, POS)只考虑(speed, great, POS)。以减少冗余。
使用biaffine记分器来捕捉单词对中,两个单词的相互作用。每个单词对的得分分配如下:
s
~
i
,
j
,
k
=
[
W
(
k
)
r
i
(
a
p
)
′
+
b
(
k
)
]
T
r
j
(
o
p
)
′
=
[
W
(
k
)
r
i
(
a
p
)
′
]
T
r
j
(
o
p
)
′
+
b
(
k
)
T
r
j
(
o
p
)
′
\tilde s_{i,j,k}=[W^{(k)}r_i^{(ap)'}+b^{(k)}]^Tr_j^{(op)'}=[W^{(k)}r_i^{(ap)'}]^Tr_j^{(op)'}+b^{(k)^T}r_j^{(op)'}
s~i,j,k=[W(k)ri(ap)′+b(k)]Trj(op)′=[W(k)ri(ap)′]Trj(op)′+b(k)Trj(op)′
s
~
i
,
j
,
k
\tilde s_{i,j,k}
s~i,j,k表示一个词对
(
w
i
,
w
j
)
(w_i,w_j)
(wi,wj)第K个依赖类型的得分
使用
s
i
,
j
s_{i,j}
si,j表示一个softmax标准化分数向量,其中包含单词对(wi,wj)所有依赖类型的概率
s
i
,
j
,
k
=
s
o
f
t
m
a
x
(
s
~
i
,
j
,
k
)
s_{i,j,k}=softmax(\tilde s_{i,j,k})
si,j,k=softmax(s~i,j,k)
As observed from the factorization in Equation 7,conceptually thebiaffine scorer can not only model the likelihood of wi receiving wj as a dependent of a specific type (the first term), but also include the prior probability of wj being a dependent of such type (the second term). When it is implemented, the scorer is essentially an affine transform followed by matrix multiplication. 不懂
词级别的情感依赖解析损失函数时交叉熵损失函数
L
d
e
p
=
−
1
∣
S
∣
2
∑
(
i
,
j
)
∑
k
s
^
(
i
,
j
,
k
)
l
o
g
(
s
i
,
j
,
k
)
L_{dep}=-\frac {1} {|S|^2}\sum_{(i,j)}\sum_k\hat s_{(i,j,k)}log(s_{i,j,k})
Ldep=−∣S∣21(i,j)∑k∑s^(i,j,k)log(si,j,k)
带帽表示真实分布
多任务学习框架的联合训练
min
θ
L
=
min
θ
L
t
a
g
+
α
L
d
e
p
+
γ
∣
∣
θ
∣
∣
2
\min_{\theta}L=\min_{\theta}L_{tag}+\alpha L_{dep} + \gamma ||\theta||_2
θminL=θminLtag+αLdep+γ∣∣θ∣∣2
α
\alpha
α用于平衡标记和情感依赖分析之间的学习,
θ
\theta
θ代表可训练参数。
∣
∣
θ
∣
∣
2
||\theta||_2
∣∣θ∣∣2和
γ
\gamma
γ代表
L
2
L_2
L2正则化项和控制项
三元组解码
在获得提取的方面、观点和单词级情感依赖后,使用启发式规则进行三元组解码。
将biaffine记分器产生的情感依赖性视为枢轴,并对方面和观点标记器生成的标记执行逆序遍历
example:
句子:Great battery,start up speed
得到方面标记{O,B,O,B,I,I,O},观点标记:{B,O,O,O,O,O,O},情感依赖解析index:(6,1,POS),代表最后一个单词speed,Great,逆序遍历遵循top-on-non-I 准则。