文章目录
1 简介
论文题目:Low-resource Event Detection with Ontology Embedding
论文来源:ACL 2021
论文链接:https://aclanthology.org/2021.acl-long.220.pdf
代码链接:https://github.com/231sm/Reasoning In EE
1.2 创新
- 提出了一个基于本体的模型,编码事件内部和外部的结构。
- 提出了一个新的事件检测数据集。
2 方法
将事件检测任务定义为事件本体传播过程(event ontology population),事件本体传播的目标是在事件类型和实例之间建立合适的联系。同时利用多种事件关系进行事件本体传播和学习,如子事件关系(SUBSUPER、SUPERSUB、COSUPER)、事件关系(BEFORE、AFTER、EQUAL)、因果关系(CAUSE、CAUSEDBY),模型流程如下图:
整个框架主要包括三个部分,整个框架如下图:
- Event Detection:致力于识别出事件触发词和类型,同时识别事件实例之间的关系,每个事件类型的平均实例编码作为原始的事件原型。
- Event Ontology Learning:基于事件类型之间的关系,获得具有事件原型相关的事件本体编码。
- Event Correlation Inference:基于现有的事件关系,推断新的事件相互关系。
2.1 Event Detection (Ontology Population)
使用BERT进行编码,使用[CLS]的编码作为实例编码
X
i
X_i
Xi,然后使用对应事件类型的平均实例编码作为世界原型,公式如下:
事件检测的计算公式和Loss公示如下,其中
∣
∣
⋅
∣
∣
||\cdot||
∣∣⋅∣∣表示为Euclidean distance。
![]() |
![]() |
实例关系抽取:对于每个事件实例对 ( X i , X j ) (X_i,X_j) (Xi,Xj),特征表示为 X i j p = [ X i , X j , X i ⊙ X j , X i − X j ] X_{ij}^p=[X_i,X_j,X_i{\odot}X_j,X_i-X_j] Xijp=[Xi,Xj,Xi⊙Xj,Xi−Xj]( ⊙ \odot ⊙为Hadamard product(对应元素相乘)),然后softmax计算概率,Loss为交叉熵,事件检测和实例关系抽取的总Loss公式如下:
![]() |
![]() |
2.2 Event Ontology Learning
使用事件的内部和外部结构计算事件本体,建立实例和事件类型之间的联系,有下面两种联系:
- Instance-to-class Linking:句子 S i S_i Si和触发词 x i t x_i^t xit之间的联系,三元组为 ( 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 , x i t ) (S_i,instanceOf,x_i^t) (Si,instanceOf,xit)。
- Class-to-class Linking:表示实例之间的联系,三元组表示为 ( e i , r , e j ) (e_i,r,e_j) (ei,r,ej)
给定一个三元组 ( e h , r , e t ) (e_h,r,e_t) (eh,r,et),通过一个关系转移矩阵 M r M_r Mr,将事件类型 e h e_h eh的原型 P h P_h Ph传播到事件类型 e t e_t et的原型 P t P_t Pt,原型更新公式和Loss公式如下:
![]() |
![]() |
![]() |
2.3 Event Correlation Inference
给定事件类型之间具有相关性的事件本体,推理新的事件相关性,过程如下:
选择三种关系属性(OWL24 Web Ontology Language中定义的(subOP, inverseOP、transitiveOP),对关系进行线性映射假设,如下表:
计算和Loss公式如下,其中两个
M
r
M_r
Mr(推理的约束如上表)分别是推理前和推理后的关系转移矩阵,
∣
∣
⋅
∣
∣
||\cdot||
∣∣⋅∣∣为Frobenius norm(平方和再开方),
![]() |
![]() |
总的Loss如下:
3 实验
由于现有的事件检测数据集未标注事件关系,因此提出了一个新的数据集OntoEvent,统计信息如下:
全部数据的实验结果如下:
Few-shot的实验结果如下:
Zero-shot的实验结果如下:
消融实验:
错误分析,主要存在下面三种错误:
- 相似的事件结构
- 错误的实例关系
- 相同的事件提及表示不同的事件类型。