原文链接:https://www.aclweb.org/anthology/2020.acl-main.444.pdf
摘要
- 提出了人工标注的基于关系抽取(RE)数据集对话框,旨在支持对出现在对话中的两个参数之间关系的预测。
- 通过对语料库和传统任务的异同分析,认为说话人相关信息(speaker-relatted information)在任务中起着至关重要的作用。
- 考虑到会话中交流的及时性,我们设计了一种新的度量方法来评估会话环境下RE方法的性能。并研究了几种具有代表性的RE方法的性能。
- 实验结果演示,在性能最好的模型上进行speaker-aware扩展,在标准环境和绘画环境下性能均提升。
1.介绍
主要工作
(1)提出了人工标注的基于关系抽取数据集DialogRE;
(2)比较基于对话的关系抽取任务和传统关系抽取任务的异同。
(3)设计新的度量方法评估交互会话的时效性。
(4)在数据集DialogRE上,使用标准的基于学习的关系抽取技术建立baseline。
(5)证实明确对话者在基于对话的关系抽取任务中的重要性。
2.数据集
数据集源于《Friends》中1788段对话,36种关系类型,10168个关系二元组(subject,relation type,object)。同时,标注了最小文本最小跨度。表1是一段对话的示例。
2.1 关系模式
2.2标注
定义
- turn:regard an uninterrupted stream of speech from one speaker and the name of this speaker as a turn.
- dialogue:the shortest snippet of contiguous turns that covers all annotated relational trips and sufficient supportive contests in this scene.
处理
- 如果说话者的全名或者其他名字出现在同一个对话中,我们将对话者作为一个关系元组的参数。如表1中关系R3
- 若一对参数有多种关系,每一个都标注。
- 如果有则标注一个触发词。如R1的触发词为brother,R3无触发词
- 标注反向的关系元组。如表1中R1和R2
2.3 负例生成,数据划分,匿名对话者
- 负例生成??
- 训练集:验证集:测试集合=6:2:2
- 匿名对话者如表1中S1,S2
3.数据比较与讨论
3.1DialogRE vs SF
3.2DialogRE vs 现存关系元组
3.3触发词
4.模型和方法
4.1基于对话的关系抽取
对话D中,共有m条语句(turn),表示为:D=s1:t1,s2:t2,…,sm:tm.有参数对(a1,a2).
标准模式:
把对话D看作文本d。
输入:a1,a2,d
输出:a1,a2 之间的关系
评价标准:F1
会话模式:
把前 i 条语句看作 d 。
L基于整段对话(D)标注的关系集;R表示36种关系集。
定义辅助函数:
j
(
x
)
=
{
m
,
x
未
在
D
中
出
现
i
,
x
在
第
i
条
对
话
中
首
次
出
现
j(x)=\begin{cases} m,& x未在D中出现 \\ i,& x在第i条对话中首次出现 \\ \end{cases}
j(x)={m,i,x未在D中出现x在第i条对话中首次出现
i
(
r
)
=
{
j
(
λ
r
)
,
r
∈
L
,
λ
r
为
关
系
r
所
标
注
的
触
发
,
即
关
系
r
的
触
发
词
λ
r
首
次
出
现
的
位
置
。
m
,
r
∈
L
的
其
他
情
况
1
,
r
∈
R
−
L
i(r)=\begin{cases} j(\lambda_r), & r\in L,\lambda _r为关系r所标注的触发,\\ &即关系r的触发词\lambda _r首次出现的位置。 \\ m, & r\in L的其他情况 \\ 1, & r\in R-L \end{cases}
i(r)=⎩⎪⎪⎪⎨⎪⎪⎪⎧j(λr),m,1,r∈L,λr为关系r所标注的触发,即关系r的触发词λr首次出现的位置。r∈L的其他情况r∈R−L
定义一组关系类型,这些关系类型是基于Ei评估的:
E
i
=
{
r
∣
i
≥
m
a
x
{
j
(
a
1
)
,
j
(
a
2
)
,
i
(
r
)
}
}
E_i=\{r|i\geq max\{j(a_1),j(a_2),i(r)\}\}
Ei={r∣i≥max{j(a1),j(a2),i(r)}}
(即,给定前 i 条语句组成的d,如果a1,a2,以及 λ r \lambda _r λr在 d 中出现过,那么,基于a1,a2的关系类型 r 是可评估的,)
此定义基于假设:我们可以根据,能够清楚地表达关系的参数和触发器的位置,粗略估计我们需要多少条语句才能预测两个论点之间的关系。
输入:a1,a2,d(前 i 条语句,)
输出:Oi(a1,a2 之间的关系)
评价标准:Fc
对于单个输入,有Pc,Rc定义如下:
取所有实例的均值作为最终的准确率和召回率。
4.2Baseline
Majority:
若未在训练集中出现,则输出训练集中频数最大的关系类型;
否则,输出训练集中关于此两个参数频数最大的关系类型。
CNN/LSTM/BiLSTM:
遵循Yao 的工作。https://www.aclweb.org/anthology/P19-1074/
BERT:
使用Radfordhttps://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf
的预训练语言模型和BERT。
输入串:[CLS] d [SEP] a1 [SEP] a2 [SEP]
[CLS]的隐藏向量C
∈
R
H
\in R^H
∈RH,关系类型
W
i
∈
R
H
W_i \in R^H
Wi∈RH,
基于 d 的关于实例 i 的a1,a2之间的关系的概率
P
i
=
s
i
g
m
o
i
d
(
C
W
i
t
)
P_i=sigmoid(CW_i^t)
Pi=sigmoid(CWit)
使用交叉熵损失函数。
BERTs:
为了(1)帮助模型根据说话人姓名定位相关语句的起始位置;(2)避过拟合
输入串:[CLS]
d
^
\hat{d}
d^ [SEP]
a
1
^
\hat{a_1}
a1^ [SEP]
a
2
^
\hat{a_2}
a2^[SEP]
d
^
=
s
1
^
:
t
1
,
s
2
^
:
t
2
,
.
.
.
,
s
n
^
:
t
n
\hat{d}=\hat{s_1}:t_1,\hat{s_2}:t_2,...,\hat{s_n}:t_n
d^=s1^:t1,s2^:t2,...,sn^:tn
[S1],[S1]是两个新引入的特殊短语
s
n
^
=
{
[
S
1
]
,
s
i
=
a
1
[
S
2
]
,
s
i
=
a
2
s
i
,
其
他
\hat{s_n}=\begin{cases} [S_1], &s_i=a_1 \\ [S_2],& s_i=a_2\\ s_i,& 其他 \end{cases}
sn^=⎩⎪⎨⎪⎧[S1],[S2],si,si=a1si=a2其他
a
k
^
(
k
∈
{
1
,
2
}
)
=
{
[
S
k
]
,
如
果
存
在
i
使
s
i
=
a
k
a
k
,
其
他
\hat{a_k}(k \in \{1,2\})=\begin{cases} [S_k],& 如果存在i使s_i=a_k\\ a_k,&其他 \end{cases}
ak^(k∈{1,2})={[Sk],ak,如果存在i使si=ak其他
将BERT中的输入串做如下修改:(实现speaker-aware)
·对话者si处:如果对话者恰是所考察的两个论元之一,替换成新引入的短语[S1]/[S2];
·对话内容不变;
·论元a1/a2:如果所考察的论元是对话者,那么将a1/a2替换成新引入的短语[S1]/[S2]
论文还做了其他3种输入串的尝试,效果没有上述好。
5.实验
略