论文题目:Extracting Entities and Events as a Single Task Using a Transition-Based Neural Model

论文来源:IJCAI 2019 武汉大学, 东华大学, 西湖大学

论文链接:https://www.ijcai.org/Proceedings/2019/753

代码链接:https://github.com/zjcerwin/TransitionEvent

关键词:事件抽取,实体抽取,联合学习,transition-based model

本文没太读懂转换模型,这些个转换行为看起来好复杂。没有总结个人理解,后续可能会更新。
如果将来需要精读的话,要去看论文中引用的transition-based模型的文章。


文章目录

  • 1 摘要
  • 2 引言
  • 3 模型
    • 3.1 挑战
    • 3.2 转换系统
    • 3.3 方法
    • 3.4 动作预测
    • 3.5 训练
  • 4 实验
  • 5 总结

1 摘要

事件抽取任务包括许多子任务:实体抽取,事件触发词抽取,元素角色抽取。传统的方法是使用pipeline的方式解决这些任务,没有利用到任务间相互关联的信息。

已有一些联合学习的模型对这些任务进行处理,然而由于技术上的挑战,还没有模型将其看作一个单一的任务,预测联合的输出结构。

本文提出了一个transition-based的神经网络框架,以state-transition的过程,递进地预测复杂的联合结构。

2 引言

根据ACE2005数据集,事件检测(EE)包含3个子任务:实体的检测,事件触发器的识别,参数的识别。

(1)已有的方法和其局限性

1)pipeline

先前的大多数处理EE任务的模型都是假定给定了真实的实体。实体检测和触发词抽取以及元素识别任务,有着密切的关联。如图1所示,命名实体识别系统倾向于将"10 years in jail"分成"10 years"和"jail"。如果先识别出"Hanh"在Sentence事件中担任Defendant的角色,则系统就会有更高的置信度将"10 years in jail"看成一个整体的元素。基于pipeline的模型捕获不到这种互相依赖的关系。

2)联合学习

也有一些联合的事件抽取模型,但是那些方法还是遵循了pipeline框架:首先从文本中预测触发词和实体,然后为触发词分配元素(arguments)。编码的顺序为:tirgger→entity→argumenttirgger \rightarrow entity\rightarrow argumenttirgger→entity→argument。

然而,我们希望的是将图1中的触发词和元素结构看成一个完整的图,在不单独预测触发词和实体的条件下,对其结构进行预测,从而最大限度地利用交互信息。


(2)作者提出

使用transition-based的框架,通过使用递增的output-building行为的state-transition过程,构建一个复杂的输出结构。

transition-based的方法已经应用在了句法分析和语义分析等多个NLP任务中,并且有着很好的效果。

作者设计了一个transition系统以解决EE问题,从左至右递增地构建出图1中的结构,不使用可分的子任务结构。

在ACE2005数据集上进行实验,证明了方法的有效性。本文还是第一个使用transition-based模型,以用于实体和事件的联合抽取任务的研究。模型实现了对3个子任务完全的联合解码,实现了更好的信息组合。

3 模型

输入:是一个句子,表示成单词序列S=w1,...,wnS=w_1, ..., w_nS=w1​,...,wn​

输出包括:

  • 实体集合EEE;
  • 事件触发词集合TTT;
  • 在实体上的事件元素集合RRR。

3.1 挑战

转换(transition)系统是为构建语义依赖解析和关系抽取的输出结构而设计的。但是现有的转换系统不能直接应用于本文的任务,有以下几个原因:

(1)一个事件触发词可能和多个实体相关

(2)一个实体可能参与到多个事件中

(3)实体间以及实体和触发词的重叠问题也给转换系统带来了挑战

作者设计了一个新的转换系统以处理这些挑战。

3.2 转换系统

(1)一些定义

给定一个句子,wiw_iwi​表示单词,tit_iti​表示触发词,eie_iei​表示实体。令元素(element)εi\varepsilon_iεi​表示一个触发词tit_iti​或一个实体eie_iei​。

转换状态定义为s=(σ,δ,λ,e,β,T,E,R)s=(\sigma, \delta, \lambda, e, \beta, T, E, R)s=(σ,δ,λ,e,β,T,E,R)。

  • σ\sigmaσ是一个栈,维护处理过的elements;
  • δ\deltaδ是一个队列,维护暂时从σ\sigmaσ中pop出的elements,未来还会push回栈;
  • eee是一个栈,储存了部分实体;
  • β\betaβ是一个缓冲区,维护未被处理的单词;
  • TTT和EEE分别是有标签的trigger arcs和entity mention arcs;
  • RRR是argument role arcs组成的集合;
  • λ\lambdaλ是一个变量,每次只提及一个element εj\varepsilon_jεj​;
  • AAA是一个栈,用于存储历史的行为。

在状态转换时,arcs只在变量λ(εj)\lambda(\varepsilon_j)λ(εj​)和σ\sigmaσ的栈顶元素σ(εi)\sigma(\varepsilon_i)σ(εi​)间生成。

转换行为总结为表1所示:

前五个行为是用于生成元素角色(argument roles)的。

特别地,LEFT−PASSlLEFT-PASS_lLEFT−PASSl​在λ(tj)\lambda(t_j)λ(tj​)和σ(ei)\sigma(e_i)σ(ei​)间添加arc,RIGHT−PASSlRIGHT-PASS_lRIGHT−PASSl​在λ(ej)\lambda(e_j)λ(ej​)和σ(ti)\sigma(t_i)σ(ti​)间添加arc。若λ(εj)\lambda(\varepsilon_j)λ(εj​)和σ(εi)\sigma(\varepsilon_i)σ(εi​)间没有语义角色,则有NO-PASS。

当σ\sigmaσ中没有elements时,进行SHIFT或DUAL-SHIFT。为了处理当一个单词是触发词且是一个实体的首个单词情况,DUAL-SHIFT复制了λ\lambdaλ中的触发词并将其push到β\betaβ中。

DELETE是将β\betaβ顶部的单词wiw_iwi​pop出来;TRIGGER-GEN从β\betaβ中移出wiw_iwi​到λ\lambdaλ,并添加了事件标签ltl_tlt​。

最后的三个操作是用来识别嵌套的实体的,其中ENTITY-SHIFT将β\betaβ顶部的单词wiw_iwi​移动到eee;ENTITY-GEN将eee中所有elements总结为一个向量表示,添加一个实体标签lel_ele​,并将表示移动到λ\lambdaλ;ENTITY-BACK pop出eee中的所有单词,并将除了底部单词外的所有单词push回β\betaβ。这样的设计可以处理任意类型的嵌套实体。

给定某一转换状态,只有一部分的行为是合法的,可以生成一个合理的图结构。表2中就是预先定义好的行为。

为了以恰当的顺序进行这三个子任务,作者预先设计了所有的行为,而不是根据λ\lambdaλ的状态进行DELETE。例如,若λ\lambdaλ为Null,则只允许和argument有关的行为。此外,在解码状态,作者还在实体和触发词间添加了类型限制,例如Divorce事件只能在PER类型的实体上发生。

图1中句子对应的标准的转换序列,如表3所示。其中,初始状态为([],[],ϕ,[],[1,...,8],)([], [], \phi, [], [1,...,8],)([],[],ϕ,[],[1,...,8],),终止状态为(σ,δ,ϕ,[],[],T,E,R)(\sigma, \delta, \phi, [], [], T, E, R)(σ,δ,ϕ,[],[],T,E,R)。

3.3 方法

使用神经网络学习到转换状态的稠密表示,用于预测下一动作。

(1)输入的表示

单词wiw_iwi​的表示,有4中类型的向量拼接而成:

其中,viwv^w_iviw​是使用预训练的Glove得到的词嵌入;viposv^{pos}_ivipos​是随机初始化的POS标签嵌入;对于第iii个单词,vicharv^{char}_ivichar​表示使用Bi-LSTM学习得到的字符级别的表示;BERTiBERT_iBERTi​表示使用BERT模型得到的包含上下文信息的嵌入。

为了捕获到输入句中的语义特征,作者使用了2层LSTM对xix_ixi​进行编码,使得模型捕获到单词间的长期依赖:

然后拼接前向和后向的表示,得到hih_ihi​。


(2)状态的表示

将所有输入单词push到缓冲区(buffer)β\betaβ,作为对其的初始化。为了表示栈σ,δ,e,A\sigma, \delta, e, Aσ,δ,e,A,作者使用了StackLSTM。通过维护一个栈指针,StackLSTM允许elements从序列中pop出来。栈σ\sigmaσ在第ttt步的状态计算如下:

其中λi\lambda_iλi​为进行ENTITY-GEN或TRIGGER-GEN时,进行计算的当前识别的实体或触发词。使用以下两个函数递归地将实体和触发词的标签信息整合到转换系统中:

其中We,λW_{e, \lambda}We,λ​和#W_{t, \lambda}是可学习的参数;是可学习的参数;是可学习的参数;l{entity}_t$和$l{trigger}_t表示实体表示实体表示实体e_i和触发词和触发词和触发词h_i$的类型向量。

注意,对argument roles也使用这样的函数,只不过此处省略了。

最终,如图2所示,将模型在ttt时的状态,以及(σ,δ,e,A,β)(\sigma, \delta, e, A, \beta)(σ,δ,e,A,β)和λ\lambdaλ表示成:

3.4 动作预测

为了预测第ttt步的动作,首先使用全连接层将状态表示gtg_tgt​压缩到一个低维向量mtm_tmt​中,然后使用softmax输出层计算动作概率:

其中,WmW_mWm​表示可学习的参数矩阵;uzu_zuz​表示对于转换动作zzz的可学习的列向量,bm,bzb_m, b_zbm​,bz​是对应的偏置项;v(S,A)v(S, A)v(S,A)是有效的候选动作集合。贪婪地选取最大的p(zt∣mt)p(z_t|m_t)p(zt​∣mt​)对应的动作,以实现动作序列的概率最大化。

3.5 训练

将一组训练数据中真实的输出结构转换为transition actions的序列。对于每个转换状态,最小化如下的损失函数:

其中TTT是真实的动作序列的大小,θ\thetaθ是网络的参数,ε\varepsilonε是l2l_2l2​正则项;θF\theta_FθF​是式(1)和式(2)中的参数。

4 实验

(1)数据集:ACE2005

(2)实验任务:事件抽取,实体抽取,事件触发词分类

(3)实验结果

事件抽取结果如下:

实体抽取实验结果如下:

事件触发词分类结果如下:

5 总结

本文提出了一个transition-based的模型,用于联合预测出嵌套的实体,事件触发词以及它们在事件抽取中对应的语义角色。

与以往的在多个步骤或多个分离的任务中进行实体和事件检测的方法不同,本文的方法捕获了实体和事件间的结构依赖信息(by using a incremental left to right reading order)。

在ACE2005数据集上进行了实验,本文的方法实现了state-of-the-art。

【论文解读IJCAI 2019】Extracting Entities and Events as a Single Task Using a Transition-Based NeuralModel相关推荐

  1. 【论文解读 IJCAI 2019 | ActiveHNE】Active Heterogeneous Network Embedding

    论文链接:https://arxiv.org/abs/1905.05659 来源:IJCAI 2019 文章目录 1 摘要 2 介绍 2.1 挑战 2.2 作者提出 2.3 贡献 3 The Acti ...

  2. 【论文解读 WWW 2019 | MVAE】Multimodal Variational Autoencoder for Fake News Detection

    论文题目:MVAE: Multimodal Variational Autoencoder for Fake News Detection 论文来源:WWW 2019 论文链接:https://doi ...

  3. 【论文解读 WWW 2019 | HAN】Heterogeneous Graph Attention Network

    论文题目:Heterogeneous Graph Attention Network 论文来源:WWW 2019 论文链接:https://arxiv.org/abs/1903.07293v1 代码链 ...

  4. 【论文解读 AAAI 2019 | UFD】Unsupervised Fake News Detection on Social Media: A Generative Approach

    论文题目:Unsupervised Fake News Detection on Social Media: A Generative Approach 论文来源:AAAI 2019 论文链接:htt ...

  5. 【论文解读 ACL 2019 | PLMEE】Exploring Pre-trained Language Models for Event Extraction and Generation

    论文题目:Exploring Pre-trained Language Models for Event Extraction and Generation 论文来源:ACL 2019 国防科技大学 ...

  6. 【论文解读 ICDM 2019 | MVNN】Exploiting Multi-domain Visual Information for Fake News Detection

    论文题目:Exploiting Multi-domain Visual Information for Fake News Detection 论文来源:ICDM 2019 论文链接:https:// ...

  7. 【论文解读 ASONAM 2019】Semi-Supervised Learning and Graph Neural Networks for Fake News Detection

    论文题目:Semi-Supervised Learning and Graph Neural Networks for Fake News Detection 论文链接:https://ieeexpl ...

  8. Single TPR论文解读

    Topical Word Importance for Fast Keyphrase Extraction Single TPR简介 Single TPR是2015年提出来的,是基于TPR的进一步改进 ...

  9. IJCAI 2019 论文解读 | 基于超图网络模型的图网络进化算法

    作者丨张云喆 单位丨暗物智能科技 研究方向丨NLP推理.数学符号推理 研究背景 现实生活中很多的数据可以用图(graph)来建模,比如社交网络数据,paper 引用数据等.对于 AI 而言,一个常见的 ...

最新文章

  1. NGINX(一)内存结构
  2. [官方教程] [ES4封装教程]1.使用 VMware Player 创建适合封装的虚拟机
  3. mysql relaylog 慢_MySQL 主从同步延迟的原因及解决办法
  4. 引用dll动态库,动态库中弹出对话框输入,将输入参数,作为变量继续调用。...
  5. python 制作抽奖箱_用Excel函数制作抽奖箱
  6. DirtyCow漏洞复现(脏牛、大脏牛、Linux、Android、提权)
  7. WCF创建WebService正确操作步骤详解
  8. mysql u0019_mysql服务无法启动
  9. EmEditor18.1.2 注册码
  10. Java基础之写文件——使用Formatter对象加载缓冲区(UsingAFormatter)
  11. matlab画转体_【求助】matlab生成旋转体?
  12. python算法学习代码_python 算法学习部分代码记录篇章1
  13. 米莱迪机器人加物理攻击_游戏中的那些事:米莱迪物理伤害,这个皮肤没见过,蔡文姬一直出错装...
  14. 浅谈css中一个元素如何在其父元素居中显示
  15. 计算机专业毕设外文翻译springboot_计算机毕业设计之SpringBoot物流管理系统
  16. 凯辉基金与法投行完成对资管软件公司NeoXam的投资 加速企业国际化发展布局
  17. JAVA实战项目--文章发布系统
  18. Sublime text3 安装PyV8
  19. AutoCAD 2019 汉化包
  20. Tomcat控制台弱密码漏洞

热门文章

  1. 通过SetWindowsHookEx实现跨进程子类化
  2. 点击 按钮 下载图片
  3. 发送候选文字到光标所在位置
  4. github的Whoa there!问题
  5. 基于clamp.js封装vue指令,处理多行文本的溢出
  6. jupyter notebook 上传压缩包解压方式
  7. 文件服务器异地容灾,服务器异地容灾
  8. 安恒 web类这可不是难题_如何消除您的前5个Web设计难题
  9. joda-time 文档的部分翻译
  10. 键盘之王——求打字峰值速率的小程序(C语言)