题目: OntoED: Low-resource Event Detection with Ontology Embedding
论文链接: https://arxiv.org/abs/2105.10922
论文代码:https://github.com/231sm/Reasoning_In_EE
论文
什么原型? Prototypical networks for few-shot learning. 论文
可以替代Instance Encoder:
Meta-learning with dynamic-memory-based prototypical network for few-shot event detection.
Edge-enhanced graph convolution networks for event detection with syntactic relation
创新
事件类型的嵌入,而且被应用到看不见的类型
摘要
存在的问题:
Event Detection(ED)事件检测的目的是从给定的文本中识别事件触发词,并将其分类为事件类型。
目前大多数ED方法严重依赖训练实例,几乎忽略了事件类型的相关性。因此,它们往往会遭受数据短缺的困扰,并且无法处理新的不可见的事件类型。
我们的方法:
我们将ED描述为一个事件本体的生成过程: 将事件实例
与事件本体中预定义的事件类型
连接起来,并提出了一个具有本体嵌入的新的ED框架OntoED。
我们利用事件类型之间的关联来丰富事件本体,并进一步诱发更多的事件-事件关联
。
基于事件本体,OntoED可以利用和传播相关知识,特别是从数据丰富的事件类型和数据贫乏的事件类型。
此外,通过建立链接的存在, OntoED可以被应用到新的看不见的事件类型。
ED是从非结构化数据中提取结构化信息。
比如:Jack is married to the Iraqi microbiologist known as Dr . Germ.
ED模型应该将事件类型标识为“Marry”,其中单词“married”触发了事件。
作为一个重要的任务,ED面临着资源不足问题。一方面,在ED benchmark数据库(e.g.,FewEvent and MAVEN)中面临着数据分布不均问题。 比如上面的图中,两种事件类型Attack 和 Riot(4816&30)。 这样的话,没有充足的数据容易出现过拟合。
第二种便是新类型的加入,不能总是重新训练模型。
过去的方法: 事件本体只考虑每个事件提及和事件类型的内部结构。
在本文中,我们用更多事件类型的内部结构来丰富事件本体,如时间、因果和层次 事件-事件关系。比如上图中, A t t a c k ⟶ C A U S E S e n t e n c e Attack\overset{CAUSE}{\longrightarrow} Sentence Attack⟶CAUSESentence、 S e n t e n c e ⟶ B E F O R E A c q u i t Sentence\overset{BEFORE}{\longrightarrow} Acquit Sentence⟶BEFOREAcquit、 A t t a c k ⟶ C o S U P E R R i o t Attack\overset{CoSUPER}{\longrightarrow} Riot Attack⟶CoSUPERRiot。 我们的主要目的是充分利用事件本体,并利用从数据丰富的事件类型(例如,Attack)到数据贫乏的事件类型(例如,Sentence,AcquitandRiot)的相关知识。此外,新的事件类型(即be - born)可以通过现有事件类型(即损伤)的相关性(即COSUPER)来学习。
3 Methodology
3.1 Problem Formulation
我们将事件监测任务当成事件本体群的迭代更新过程。
给定事件本体 O \mathcal{O} O,事件类型集合 E = e i ∣ i ∈ [ 1 , N e ] \mathcal{E} = {e_i|i\in[1, N_e]} E=ei∣i∈[1,Ne],语料库 T = X i ∣ i ∈ [ 1 , K ] T={X_i|i\in[1,K]} T=Xi∣i∈[1,K]包含了K个实例;
事件本体群的目标是在事件类型和实例之间建立适当的联系。
具体而言,每个在 T T T中的实例 X i X_i Xi被标记为token sequence X i = { x i j ∣ j ∈ [ 1 , L ] } X_{i}=\left\{x_{i}^{j} \mid j \in[1, L]\right\} Xi={xij∣j∈[1,L]},长度最大为 L L L,其中事件触发器 x i t x_i^t xit被标记了。
我们期望预测index t ( 1 ≤ t ≤ L ) (1 \le t \le L) (1≤t≤L)和每个实例的事件标签 e i e_i ei
此外,我们利用了一个多方面的事件-事件关系集 R = R H ⊔ R T ⊔ R C \mathcal{R}=\mathcal{R}_{H} \sqcup \mathcal{R}_{T} \sqcup \mathcal{R}_{C} R=RH⊔RT⊔RC用于事件本体群体和学习。
R
H
=
{
SUBSUPER, SUPERSUB, COSUPER
1
}
\mathcal{R}_H= \left\{\text { SUBSUPER, SUPERSUB, COSUPER }^{1}\right\}
RH={ SUBSUPER, SUPERSUB, COSUPER 1}表示在子事件关系提取任务中定义的一组关系标签。(subsuper 子类和超类、supersub超类和子类、cosuper:表示两者有相同的关系类型)
R
T
=
{
BEFORE, AFTER, EQUAL
2
}
\mathcal{R}_T= \left\{\text { BEFORE, AFTER, EQUAL}^{2}\right\}
RT={ BEFORE, AFTER, EQUAL2}表示一组时间关系 (equal表示两个事件同时发生);
R
C
=
{
CAUSE,CAUSEDBY
}
\mathcal{R}_C= \left\{\text { CAUSE,CAUSEDBY}\right\}
RC={ CAUSE,CAUSEDBY}表示一组因果关系。
3.2 Model Overview
在本文中,我们提出了一个通用框架OntoED3个模块:(1)事件检测(本体群体),(2)事件本体学习,(3)事件关联推理。图2显示了这三个模块的关键思想。
事件监测是为了每个实例识别触发器和类型;
事件本地学习基于实例派生的事件类型之间的关系,获得嵌入事件原型关联的事件本体。
事件关联推理寻求在已有事件-事件关系的基础上推断出新的事件关联,从而获得一个坚实的事件本体。
3.3 Event Detection (Ontology Population)
ED的输入是事件类型 E \mathcal{E} E和粗糙数据集 T T T。
Instance Encoder. 给定token sequence X i = { x i 1 , . . . , x i L } X_i = \left \{x_i^1,...,x_i^L \right \} Xi={xi1,...,xiL}和触发词 x i t , x_i^t, xit,利用预训练模型BERT得到触发词 x i t x_i^t xit的上下文embedding X i t \mathbf {X}_i^t Xit,并且顺便的[CLS]标志位可以获得该实例的embedding。 这里的BERT的Encoder是可以被其它模型替代的!
Class Encoder. 事件类型表示为事件原型(prototypes),所以如果要保持低资源的ED的健壮性,这是必须的。
最初(注意是刚开始的时候),由于事件类型和其它类型还没有关系,所以原型是通过计算该类型下所有实例的平均值得到的。
Event Detector. 我们上面已经获得了句子里每个token的embedding,所以这里我们将序列中的每个token视为一个候选触发词,然后计算候选触发词的对应事件类型的概率,并利用交叉熵损失函数计算损失。
其中,
X
i
t
X_i^t
Xit表示是该token的embedding,
P
P
P则表示的是该原型的embedding!
Instance Relation Extractor. 对于每个实例对
(
X
i
,
X
j
)
\left ( X_i,X_j \right )
(Xi,Xj) ,我们采用了一种综合的方法来建模嵌入交互,表示为:
X
i
j
p
=
[
X
i
,
X
j
,
X
i
⊙
X
j
,
X
i
−
X
j
]
\boldsymbol{X}_{i j}^{p}=\left[\boldsymbol{X}_{i}, \boldsymbol{X}_{j}, \boldsymbol{X}_{i} \odot \boldsymbol{X}_{j}, \boldsymbol{X}_{i}-\right.\boldsymbol{X}_{j}]
Xijp=[Xi,Xj,Xi⊙Xj,Xi−Xj],其中
[
⋅
,
⋅
]
[·, ·]
[⋅,⋅]表明了向量concat,而
⊙
\odot
⊙表示的是元素级别的Hadamard product。
之后用softmax对
(
X
i
,
X
j
)
\left ( X_i,X_j \right )
(Xi,Xj)的关系分类(很显然这是有监督的),交叉熵损失函数计算损失。
通过丰富关系的建模,我们就可以获得embedding了。
也就是三种类别!
整个的损失如下:
3.4 Event Ontology Learning
Ontology Completion:建模事件实例与类型之间关系和事件类型之间的关系
我们上面已经可以通过事件类型来获得该句子的触发词了,而且也获得了事件的原型,现在需要创建实例与类型之间的关系。
我们完成事件本体 O \mathcal{O} O的创建,用事件的内部和外部结构, 我们规范地链接事件实例 T T T和事件类型 E \mathcal{E} E。
Instance-to-class Linking: 给定一个句子 S i S_i Si(形式化为标记序列 X i X_i Xi),使用的是事件实例的一个触发器 x i t x_i^t xit,我们将这些信息链接到相应的事件类型 e i e_i ei上,用规范化的三元组: ( S i , t r i g g e r I s , x i t ) (S_i,triggerIs,x_i^t) (Si,triggerIs,xit)和 ( S i , i n s t a n c e O f , e i ) (S_i,instanceOf,e_i) (Si,instanceOf,ei)
Class-to-class Linking.: 给定一个有关系 r r r的事件实例对 ( X i , X j ) (X_i, X_j) (Xi,Xj),我们将实例相关性升级为相应的事件类型,标记为 ( e i , r e j ) (e_i,re_j) (ei,rej),除此之外,我们链接每个事件的子类和它相应父类,具有子超关系(SUPERSUB反向),我们将每个具有相同超类型的事件子类型对连接到一个COSUPER关系上。
Ontology Embedding:事件本体的创建需要考虑各个事件类型下的实例和事件类型之间关联。具体而言,给定一个三元组
l
=
(
e
h
,
r
,
e
t
)
∈
O
l=(e_h,r,e_t)\in \mathcal{O}
l=(eh,r,et)∈O(
e
表
示
的
是
事
件
类
型
e表示的是事件类型
e表示的是事件类型),我们用关系变换矩阵
M
r
∈
R
d
×
d
M_r∈R^{d×d}
Mr∈Rd×d来表示
r
r
r的embedding, 用来传播头部事件类型
e
h
e_h
eh的原型
P
h
P_h
Ph到尾部事件类型
e
t
e_t
et的原型
P
t
P_t
Pt。 它对低资源场景下的模型关系显示出很大的鲁棒性(Zhang et al.,2019)。然后通过聚合所有头事件类型的传播。
(就是每种类型聚合了其他所有事件类型之间的关系!笛卡尔积, M就是一个线性矩阵! )
其中 O l \mathcal{O}_l Ol是在 O \mathcal{O} O的所有的一阶跳的 e t e_t et的邻居三元组。 【还有二阶关系? 】
在
l
l
l的
e
t
e_t
et的原型
P
t
P_t
Pt在传播后是带有权重
λ
\lambda
λ的
P
t
P_t
Pt和
P
t
∗
P_t^*
Pt∗的一个平衡权重
λ
\lambda
λ
我们计算的可能性是 r r r是 e h e_h eh和 e t e_t et的关系的可能性,使用的是 ( e h , r , e t ) (e_h, r, e_t) (eh,r,et)的真值。
ϕ ( e h , r , e t ) = sim ( P h M r , P t ) = σ ( P h ⊤ M r P t ) \phi\left(e_{h}, r, e_{t}\right)=\operatorname{sim}\left(\boldsymbol{P}_{h} \boldsymbol{M}_{r}, \boldsymbol{P}_{t}\right)=\sigma\left(\boldsymbol{P}_{h}^{\top} \boldsymbol{M}_{r} \boldsymbol{P}_{t}\right) ϕ(eh,r,et)=sim(PhMr,Pt)=σ(Ph⊤MrPt)
总的来说,事件本体学习的损失函数定义为:
其中 y y y表明了 ( e h , e t ) (e_h,e_t) (eh,et)的真实标签。
3.5 Event Correlation Inference
给出了具有事件类型间关联的事件本体,在已有事件关联的基础上推断出新的事件关联。
具体地说,我们利用grouding g g g来推断出新的事件相关三元组,可以概括为如下形式:
其中right side event triples
(
e
h
k
,
r
k
,
e
t
k
)
∈
O
(e_h^k,r^k,e_t^k)\in \mathcal{O}
(ehk,rk,etk)∈O,而
(
e
h
I
,
r
I
,
e
t
I
)
∉
O
(e_h^I,r^I,e_t^I)\notin \mathcal{O}
(ehI,rI,etI)∈/O
为了计算接地的真值 g g g,我们选择在OWL2 Web Ontology Language中定义的关系的三个对象属性(OP): subOP,inverseOP, andtransitiveOP,然后从线性映射的假设中学习关系矩阵。 【Wang et al.(2020a);Ning et al.(2018)】已经定义了一些事件对之间关系的合取约束,我们将它们转换为对象属性公理,如表2所示。
假定 M r † and M r ‡ M_{r}^{\dagger} \text { and } M_{r}^{\ddagger} Mr† and Mr‡表明了公式9中左右的关系集合。 他们是矩阵或者是一个矩阵或者两个矩阵的乘积。
由于关系约束是由理想线性映射假设推导而来(表1第三列), M r † and M r ‡ M_{r}^{\dagger} \text { and } M_{r}^{\ddagger} Mr† and Mr‡通常是不相等的,但在训练中是相似的。因此, g g g的归一化真值 F p \mathcal{F}_p Fp可以通过关系约束((表1第四列))来计算:
新事件相关推理的损失函数定义为:
整体而言,OntoED的最终损失函数表示为:
4. Experiments
实验的目的是:(1)通过本体嵌入的OntoED可以使标准和低资源的ED受益,(2)评估OntoED中不同模块的有效性,并提供错误分析。
为此,我们对OntoED的有效性进行了三种评估:(1)整体评估,(2)Few-shot Evaluation,(3)Zero-shot Evaluation
4.1 Datasets:
提出一个数据集OntoEvent,该数据集中包含13个超类型和100个子类型,派生自4115个Docs和60,546个event instance。
下面的表中是比较了我们的数据集和其它现存的ED数据集!
Doc: document, Ins: instance, SuperT: supertype, SubT: subtype, E-E Rel: event-event relation.
4.2 Baselines
overall evaluation:
CNN-based model DMCNN
RNN-based model JRNN
GCN-based model JMEE
BERT-based model AD-DMBERT
graph-based models OneIE、PathLM
few-shot evaluationandzero-shot evaluation,
some metric-based models for few-shot ED:MatchNet、 ProtoNet and DMBPN
knowledge-enhanced model EKD
BERT-based models QAEE as well as RCEE
ZSEE (Huang et al.,2018) especially for zero-shot ED.
4.3 Experiment Settings
SGD optimizer is used, with 30,000 iterations of training and 2,000 iterations of testing.
The dimension of token embedding is 50
the maximum length of a token sequence is 128.
a dropout rate of 0.2 is used to avoid over-fitting,
4.4 Overall Evaluation
4.5 Few-shot Evaluation
4.6 Zero-shot Evaluation
5. Further Analysis
5.1 Ablation Study
5.2 Error Analysis
我们进一步进行了误差分析,并给出了一些有代表性的例子。
(1)一个典型的错误与事件本体中类似的事件-事件结构有关。当OntoED考虑事件相关性时,具有相似邻居三元组的事件类型可能无法区分。
比如: Robbery和Kidnap- ping有相同的子类Crime,它们都有相邻的三元组 (∗, CAUSE,Arrest)
(2)第二个错误与错误的实例关系有关。实例关系的提取直接影响事件关联的建立,错误的实例关系会导致错误传播。
(3)第三个错误涉及同一事件提到不同的事件类型。
‘Of the 126 people aboard, 47 died and 74 sustained serious injuries.both mentions Die and Injure.
6 Conclusion and Future Work
提出了一种基于本体嵌入的事件检测框架OntoED 。我们通过将每个事件实例链接到目标事件本体中的特定类型来重新访问ED任务。为了便于关联,我们在事件本体中加入时间、因果、层次等事件-事件关系,并在已有事件关联的基础上引入更多的事件关联。关键的观点是,事件本体可以帮助减少模型对实例数据的依赖,特别是在低资源场景下。因为数据丰富的事件类型可以将相关知识传播给数据贫乏的事件类型,而新的事件类型可以建立到事件本体的连接。我们在三种情况下证明了OntoED的有效性:总体,少数射击和零射击,实验表明,OntoED优于以往的方法,具有很大的鲁棒性。在未来,我们打算在几个方面扩展我们的工作。首先,我们将改进事件本体,考虑更多的事件关联。其次,我们将探索低资源的ED是否也能促进识别事件相关性。第三,我们将开发更多的神经符号学方法来治疗ED。