(二十四)【2021 ACL】OntoED: Low-resource Event Detection with Ontology Embedding

在这里插入图片描述
题目: 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)中面临着数据分布不均问题。 比如上面的图中,两种事件类型AttackRiot(4816&30)。 这样的话,没有充足的数据容易出现过拟合。

第二种便是新类型的加入,不能总是重新训练模型。

过去的方法: 事件本体只考虑每个事件提及和事件类型的内部结构

在本文中,我们用更多事件类型的内部结构来丰富事件本体,如时间、因果和层次 事件-事件关系。比如上图中, Attack⟶CAUSESentenceAttack\overset{CAUSE}{\longrightarrow} SentenceAttackCAUSESentenceSentence⟶BEFOREAcquitSentence\overset{BEFORE}{\longrightarrow} AcquitSentenceBEFOREAcquitAttack⟶CoSUPERRiotAttack\overset{CoSUPER}{\longrightarrow} RiotAttackCoSUPERRiot。 我们的主要目的是充分利用事件本体,并利用从数据丰富的事件类型(例如,Attack)到数据贫乏的事件类型(例如,Sentence,AcquitandRiot)的相关知识。此外,新的事件类型(即be - born)可以通过现有事件类型(即损伤)的相关性(即COSUPER)来学习。

3 Methodology

3.1 Problem Formulation

我们将事件监测任务当成事件本体群的迭代更新过程。

给定事件本体O\mathcal{O}O事件类型集合E=ei∣i∈[1,Ne]\mathcal{E} = {e_i|i\in[1, N_e]}E=eii[1,Ne]语料库T=Xi∣i∈[1,K]T={X_i|i\in[1,K]}T=Xii[1,K]包含了K个实例;

事件本体群的目标是在事件类型和实例之间建立适当的联系


具体而言,每个在TTT中的实例XiX_iXi被标记为token sequence Xi={xij∣j∈[1,L]}X_{i}=\left\{x_{i}^{j} \mid j \in[1, L]\right\}Xi={xijj[1,L]},长度最大为LLL,其中事件触发器xitx_i^txit被标记了。

我们期望预测index t (1≤t≤L)(1 \le t \le L)(1tL)和每个实例的事件标签eie_iei

此外,我们利用了一个多方面的事件-事件关系集R=RH⊔RT⊔RC\mathcal{R}=\mathcal{R}_{H} \sqcup \mathcal{R}_{T} \sqcup \mathcal{R}_{C}R=RHRTRC用于事件本体群体和学习。

RH={SUBSUPER, SUPERSUB, COSUPER 1}\mathcal{R}_H= \left\{\text { SUBSUPER, SUPERSUB, COSUPER }^{1}\right\}RH={ SUBSUPER, SUPERSUB, COSUPER 1}表示在子事件关系提取任务中定义的一组关系标签。(subsuper 子类和超类、supersub超类和子类、cosuper:表示两者有相同的关系类型)
RT={BEFORE, AFTER, EQUAL2}\mathcal{R}_T= \left\{\text { BEFORE, AFTER, EQUAL}^{2}\right\}RT={ BEFORE, AFTER, EQUAL2}表示一组时间关系 (equal表示两个事件同时发生);
RC={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和粗糙数据集TTT

Instance Encoder. 给定token sequence Xi={xi1,...,xiL}X_i = \left \{x_i^1,...,x_i^L \right \}Xi={xi1,...,xiL}和触发词xit,x_i^t,xit利用预训练模型BERT得到触发词xitx_i^txit的上下文embeddingXit\mathbf {X}_i^tXit,并且顺便的[CLS]标志位可以获得该实例的embedding。 这里的BERT的Encoder是可以被其它模型替代的!

Class Encoder. 事件类型表示为事件原型(prototypes),所以如果要保持低资源的ED的健壮性,这是必须的。
最初(注意是刚开始的时候),由于事件类型和其它类型还没有关系,所以原型是通过计算该类型下所有实例的平均值得到的。

在这里插入图片描述
Event Detector. 我们上面已经获得了句子里每个token的embedding,所以这里我们将序列中的每个token视为一个候选触发词,然后计算候选触发词的对应事件类型的概率,并利用交叉熵损失函数计算损失。

在这里插入图片描述
其中,XitX_i^tXit表示是该token的embedding,PPP则表示的是该原型的embedding!

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
Instance Relation Extractor. 对于每个实例对(Xi,Xj)\left ( X_i,X_j \right )(XiXj) ,我们采用了一种综合的方法来建模嵌入交互,表示为: Xijp=[Xi,Xj,Xi⊙Xj,Xi−Xj]\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,XiXj,XiXj],其中[⋅,⋅][·, ·][]表明了向量concat,而⊙\odot表示的是元素级别的Hadamard product。

之后用softmax对(Xi,Xj)\left ( X_i,X_j \right )(XiXj)的关系分类(很显然这是有监督的),交叉熵损失函数计算损失。
通过丰富关系的建模,我们就可以获得embedding了。

在这里插入图片描述
在这里插入图片描述
也就是三种类别!

整个的损失如下:
在这里插入图片描述

3.4 Event Ontology Learning

Ontology Completion:建模事件实例与类型之间关系事件类型之间的关系
我们上面已经可以通过事件类型来获得该句子的触发词了,而且也获得了事件的原型,现在需要创建实例与类型之间的关系。

我们完成事件本体O\mathcal{O}O的创建,用事件的内部和外部结构, 我们规范地链接事件实例TTT事件类型E\mathcal{E}E

Instance-to-class Linking: 给定一个句子SiS_iSi(形式化为标记序列XiX_iXi),使用的是事件实例的一个触发器xitx_i^txit,我们将这些信息链接到相应的事件类型eie_iei上,用规范化的三元组: (Si,triggerIs,xit)(S_i,triggerIs,x_i^t)(SitriggerIsxit)(Si,instanceOf,ei)(S_i,instanceOf,e_i)SiinstanceOfei

Class-to-class Linking.: 给定一个有关系rrr的事件实例对(Xi,Xj)(X_i, X_j)(Xi,Xj),我们将实例相关性升级为相应的事件类型,标记为(ei,rej)(e_i,re_j)(ei,rej),除此之外,我们链接每个事件的子类和它相应父类,具有子超关系(SUPERSUB反向),我们将每个具有相同超类型的事件子类型对连接到一个COSUPER关系上。

Ontology Embedding:事件本体的创建需要考虑各个事件类型下的实例和事件类型之间关联。具体而言,给定一个三元组l=(eh,r,et)∈Ol=(e_h,r,e_t)\in \mathcal{O}l=(eh,r,et)Oe表示的是事件类型e表示的是事件类型e),我们用关系变换矩阵Mr∈Rd×dM_r∈R^{d×d}MrRd×d来表示rrr的embedding, 用来传播头部事件类型ehe_heh的原型PhP_hPh到尾部事件类型ete_tet的原型PtP_tPt。 它对低资源场景下的模型关系显示出很大的鲁棒性(Zhang et al.,2019)。然后通过聚合所有头事件类型的传播。
(就是每种类型聚合了其他所有事件类型之间的关系!笛卡尔积, M就是一个线性矩阵! )
在这里插入图片描述

其中Ol\mathcal{O}_lOl是在O\mathcal{O}O的所有的一阶跳的ete_tet的邻居三元组。 【还有二阶关系? 】

lllete_tet的原型PtP_tPt在传播后是带有权重λ\lambdaλPtP_tPtPt∗P_t^*Pt的一个平衡权重λ\lambdaλ
在这里插入图片描述

我们计算的可能性是rrrehe_hehete_tet的关系的可能性,使用的是(eh,r,et)(e_h, r, e_t)(eh,r,et)的真值。

ϕ(eh,r,et)=sim⁡(PhMr,Pt)=σ(Ph⊤MrPt)\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)=σ(PhMrPt)

总的来说,事件本体学习的损失函数定义为:

在这里插入图片描述

其中yyy表明了(eh,et)(e_h,e_t)(eh,et)的真实标签。

3.5 Event Correlation Inference

给出了具有事件类型间关联的事件本体,在已有事件关联的基础上推断出新的事件关联。

具体地说,我们利用grouding ggg来推断出新的事件相关三元组,可以概括为如下形式:

在这里插入图片描述
其中right side event triples(ehk,rk,etk)∈O(e_h^k,r^k,e_t^k)\in \mathcal{O}(ehkrketk)O,而(ehI,rI,etI)∉O(e_h^I,r^I,e_t^I)\notin \mathcal{O}(ehIrIetI)/O

为了计算接地的真值ggg,我们选择在OWL2 Web Ontology Language中定义的关系的三个对象属性(OP): subOP,inverseOP, andtransitiveOP,然后从线性映射的假设中学习关系矩阵。 【Wang et al.(2020a);Ning et al.(2018)】已经定义了一些事件对之间关系的合取约束,我们将它们转换为对象属性公理,如表2所示。

在这里插入图片描述

假定Mr†and Mr‡M_{r}^{\dagger} \text { and } M_{r}^{\ddagger}Mr and Mr表明了公式9中左右的关系集合。 他们是矩阵或者是一个矩阵或者两个矩阵的乘积。

由于关系约束是由理想线性映射假设推导而来(表1第三列),Mr†and Mr‡M_{r}^{\dagger} \text { and } M_{r}^{\ddagger}Mr and Mr通常是不相等的,但在训练中是相似的。因此,ggg的归一化真值Fp\mathcal{F}_pFp可以通过关系约束((表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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476094.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哈尔滨理工C语言程序设计精髓_【注意啦】哈尔滨工业大学2020考研计算机专业课调整,难度提升!...

前言:最近各高校在密集调整计算机相关专业的专业课,从热门985高校、211高校到普通本科,许多学校的专业课都进行了调整。各高校通常会发布专业课调整通知或者直接发布2020研究生招生专业目录,请各位同学多多关注相关信息。哈尔滨工…

数据恢复软件(绝对真实可用)

本软件已经本人测试,这个数据恢复软件是我用过的感觉最好用的一个了。声明:我是在我电脑没有重装系统的前提下进行测试的。小小的这么一个绿色软件,还真的可以找回大部分删除了N久的文件。感觉很爽。现给大家展示几张我测试时的截图&#xff…

LeetCode 1221. 分割平衡字符串

1. 题目 在一个「平衡字符串」中,‘L’ 和 ‘R’ 字符的数量是相同的。 给出一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。 返回可以通过分割得到的平衡字符串的最大数量。 示例 1: 输入:s "RLRRLLRLRL"…

安装pp框架

第一步: 创建环境 conda create --name pp37 python3.7 第二步: 激活环境 conda activate pp37 第三步: 官方安装 conda install paddlepaddle-gpu2.1.3 cudatoolkit10.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/clou…

基础算法学习(二)_二叉树及应用赫夫曼编码

这次学习的重点在于二叉树的性质、链式存储结构(也就是C语言的struct)和赫夫曼编码,学习的教材是清华大学出版社出版的C语言版数据结构。 首先是二叉树: 二叉树(Binary Tree)是另一种树形结构&#xff…

LeetCode 1222. 可以攻击国王的皇后(set)

1. 题目 在一个 8x8 的棋盘上,放置着若干「黑皇后」和一个「白国王」。 「黑皇后」在棋盘上的位置分布用整数坐标数组 queens 表示,「白国王」的坐标用数组 king 表示。 「黑皇后」的行棋规定是:横、直、斜都可以走,步数不受限…

win10开始菜单添加磁贴_Windows 10开始菜单磁贴美化教程

前言我们都知道,Windows 10在美化上可没有下足功夫,尤其是开始菜单的磁贴上。几年前,我们还觉得这种磁贴设计在大众面前焕然一新,可是近几年来,也没见磁贴有什么起色,除了不能自定义背景颜色外,…

【Text_Classification】学习到的语法知识

1. 任务 1.1 字典中每个种类的准确率 分母: 首先计算每个种类的总数! for value in label:# get(value, num)函数的作用是获取字典中value对应的键值, num0指示初始值大小。label_cout[value] label_cout.get(value, 0) 1label_acc[value] label_a…

%求余数 rand随机数

//getSeconds() 0-59number new Date().getSeconds() % 3 1; //随机数,从1到3//0-9之间 Math.random()*10var num1 Math.round(Math.random()*10) % 3 随机数,从0到2 任何数%3 得到 0 1 2 任何数%4 得到 0 1 2 3转载于:https://www.cnblogs.com/reo…

LeetCode 1217. 玩筹码(脑筋急转弯)

1. 题目 数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中。 你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以): 将第 i 个筹码向左或者右移动 2 个单位,代价为 0。将第 i 个筹…

windows脚本命令闪退_NCL2Python|windows系统安装Pyngl和Pynio

自从NCL停更之后,python的知名度都不断提高了,我也开始了python学习之旅,但是还没开始,就被如何安装Pyngl和Pynio给困住了。网上和官网给的教程都是Linux系统或者OS系统,有老板服务器的同学压根不用担心这个问题&#…

【Text_classification】 PaddlePaddle框架下出错调整到运行的实验和记录

使用的是Paddle框架2.0版本 网页: https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.1/demo/text_classification 也可以在其平台上利用公开数据集跑一跑: 网页:https://aistudio.baidu.com/aistudio/projectdetail/2390146?cont…

WCF分布式开发步步为赢系列

众所周知,系统间的低耦合一直是大型企业应用系统集成追寻的目标,SOA面向服务架构的 出现为我们的如何利用现有企业系统资源进行企业ERP系统设计和实现提供了重要的参考原则。SOA如此炙手可热,各大厂商都推出了自己的中间件产品,比…

LeetCode 1207. 独一无二的出现次数

1. 题目 给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。 如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。 示例 1: 输入:arr [1,2,2,1,1,3] 输出:true 解释&#xff1a…

keil stm32标准库放在哪里_STM32之PWM

脉冲宽度调制脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效且应用十分广泛的技术,例如直流电机的控制、开关电源的输出调制、信号的传递也离不开脉冲宽度调制。我们接下将要讨论的便是单片机中PWM的产生与应用。在STM32单片机中&#xf…

(二十五)【NIPS 2017】Prototypical Networks for Few-shot Learning

完全参考博文 用来记录和学习 Introduction 原型网络的思路非常简单:对于分类问题,原型网络将其看做在语义空间中寻找每一类的原型中心。 原型中心: 针对Few-shot的任务定义,原型网络训练时学习如何拟合中心。学习一个度量函数…

LeetCode 1093. 大样本统计

1. 题目 我们对 0 到 255 之间的整数进行采样,并将结果存储在数组 count 中:count[k] 就是整数 k 的采样个数。 我们以 浮点数 数组的形式,分别返回样本的最小值、最大值、平均值、中位数和众数。其中,众数是保证唯一的。 我们…

python 时间函数 毫秒_利用python进行播放音频与录音,骚操作!

现如今,我们的学习知识的渠道越来越多,我们也要充分利用自己的感官去汲取知识。当我们看书累的时候,我们完全可以听过听书来学习,这样的平台也很多,pk 哥之前也写过关于下载喜马拉雅音频爬虫的方法:Python爬…

2009岁末之复用系统框架(B/S)

目的 好久没有写博赚点了,最近一直在忙着写基础的框架,为以后的职业发展多点筹码,以前写过C/S,但是现在的应用趋于浏览器,所以匆忙之间利用工作之余写了点东西。本人的水平有限,希望能博得大家一瞥。 技术 …

一建机电实务教材电子版_2020一建教材+章节习题+新旧教材对比【全科】免费送...

2020一建《各科》电子教材2020一建《工程法规》电子教材2020一建《工程经济》电子教材2020一建《公路实务》电子教材2020一建《机电实务》电子教材2020一建《建筑实务》电子教材2020一建《市政实务》电子教材2020一建《水利实务》电子教材2020一建《项目管理》电子教材2020一建…