1.事件抽取介绍:

事件在不同领域中有着不同的含义,对于事件目前还没有统一的定义。在IE ( Information Extraction) 中,事件是指在某个特定的时间片段和地域范围内发生的,由一个或多个角色参与,由一个或多个动作组成的一件事情,一般是句子级的,事件抽取技术是从非结构化的信息中抽取出用户感兴趣的事件,并以结构化的形式呈现给用户。根据ACE2005 评测,组成事件的各元素包括: 触发词(event trigger)、事件类型(event type)、论元(event argument)及论元角色(argument role)。事件抽取任务可分解为4 个子任务: 触发词识别、事件类型分类、论元识别和角色分类任务。其中,触发词识别和事件类型分类可合并成事件识别任务。论元识别和角色分类可合并成论元角色分类任务。事件识别判断句子中的每个单词归属的事件类型,是一个基于单词的多分类任务。角色分类任务则是一个基于词对的多分类任务,判断句子中任意一对触发词和实体之间的角色关系。

2.摘要:

ACE事件提取任务的传统方法主要依靠精心设计的功能和复杂的自然语言处理(NLP)工具。这些传统方法缺乏通用性,需要大量的人工,并且易于出现错误传播和数据稀疏性问题。本文提出了一种新颖的事件提取方法,其目的是在不使用复杂的NLP工具的情况下自动提取词汇级和句子级特征。本文引入了一种词表示模型来捕获词的有意义的语义规律,并采用基于卷积神经网络(CNN)的框架来捕获句子级线索。但是CNN只能捕获句子中最重要的信息,并且在考虑多个事件句子时可能会丢失有价值的事实。本文提出了一种动态多池化卷积神经网络(DMCNN),它根据事件trigger和argument使用一个动态多池化层来保留更多关键信息,实验结果证明本文的方法比其他最好的方法(SOTA)都要明显地好。

3.任务与创新:

本篇论文将事件抽取分为两个子任务:1.trigger classification:利用DMCNN将句子中trigger word识别出来,若句子中存在触发词则进行第二步;2.argument classification:利用一个相似的DMCNN去识别arguments,并且识别出这些arguments对应的roles。

本文提出了一种新颖的事件提取框架,该框架可以自动从纯文本中引入词汇级和句子级功能,而无需复杂的NLP预处理;设计了一个动态多池化卷积神经网络(DMCNN),目的在于在捕获句子中更有价值的信息以进行事件提取;在广泛使用的ACE2005事件提取数据集上进行了实验,实验结果表明本文的方法优于其他最新方法。

4.模型介绍:

图片一:argument classification体系结构。其中触发词:fired,候选论元:cameraman

本篇论文两个子任务的模型结构是一样的,任务二argument classification相比于任务一有更多的特征信息,故文中主要对任务二的情况进行了记录,后面会阐述两个任务的DMCNN的不同。

  • embedding learning和lexical-level feature representation

本文以无监督的方式得到词的嵌入向量,具体是用Skip-gram在NYT预料上训练得到,得到所有词的embedding后,进行触发词的向量、候选论元的向量、以及他们的左右相邻的词向量首位逐个拼接得到lexical-level feature representation,这也是模型的input之一。

  • sentence-level feature extraction与卷积、Dynamic Multi-Pooling:

句子级的向量使用了三种向量拼接:Context-word feature(上下文词向量,维度为dw,模型中的例子维度为4)、Position feature(当前词语与预测trigger以及候选argument之间的相对距离的向量,维度为dp,文中没有具体展开讲解如何求解这个PF,但是可以知道的是采用的是相对位置信息,可以简单地认为就是位置距离:以 cameraman 为例,则a:-1,cameraman:0,died:1,when:2,an:3,等,也可以参考transformer中的PE编码方式)、Event-type feature(事件类型编码的向量,维度为de),最后三种向量拼接后形成一个新的向量,其中每一个词向量的维度为:d=dw+dp*2+de,若句子的长度为n则整个拼接向量的大小就是n*d。

卷积部分,设置h个词大小的窗口,filter大小就为h*d,本文实验部分选取的参数为:h为3,卷积核数为300,步长为1。多个filter与这个n*d大小的矩阵进行卷积后得到对应个数feature maps,结构语义信息被压缩到这些 feature map 中,不同的filter可能学习到不同的信息,比如一个 filter学 compositional feature,一个学习词依赖,一个学习构词法等。对于m个filter$( W = w1,w2,...,wm)$,则卷积运算可以表示为:$c_{ji}= f\left ( w_{j}\cdot x_{i:i+h-1}+b_{j} \right )$,卷积的结果是一个矩阵C,大小为$m*(n-h+1)$。

动态池化部分是论文的一个创新之处,传统的pooling策略有:max pooling即原来最大池化将一个经过卷积之后生成的特征序列池化成1个值,和average pooling ,而动态多池化操作则是使用候选论元以及触发词将每个特征图分割为3个部分(如上文模型结构图中,特征序列被“cameraman”和“fired”分成三个部分),然后每段分别做最大池化,与Chunk Max-Pooling类似,池化的过程公示为:$p_{ji}= max\left ( c_{ji} \right )$

最后将所有pji连接起来形成一个向量$P∈R(3m)$,这个向量就是sentence-level feature extraction,也是整个模型的第二个input。

  • argument classifier output:

将上面所讲的两个input进行拼接,得到一个新的特征向量F,然后过一个全连接层+softmax做分类,分类的结果包括各个 argument role 和 none role,为了计算每个argument role的置信度,将特征向量F大小$(3m + dl)$(其中m是feature map的数目,dl是lexical-level feature representation的维数)输入到分类器。

其中$Ws∈R[n1×(3m+dl)]$是变换矩阵,n1是argument role的个数,O就是最终的output。

  • Trigger classification :

触发词的分类也用同样的模型架构,但是输入少了EF,dynamic pooling 分割时候也只根据当前 trigger candidate 进行分割,其他的都一样,这里不再赘述。

  • 训练过程

本文实验中将argument classification阶段的所有参数定义为$θ=(E,P F1,P F2,EF,W,b,WS,bs)$。具体来说,E是词嵌入,PF1和PF2是位置嵌入,EF是事件类型的嵌入,W和b是filter的参数,Ws和bs是输出层参数。损失函数为交叉熵,采用随机梯度下降来更新参数θ,优化算法为AdaDelta,优化算法超参 为0.95,ε设置为$1e^-6$。

  • 结果对比从结果可以看出,本文提出的具有自动学习功能的DMCNN模型在所有比较方法中均实现了最佳性能。DMCNN可以将最先进的F1(Li et al,2013)提高到1.6%,而将自变量角色分类提高0.8%。这证明了所提出方法的有效性。

5.总结

这篇论文提出的Dynamic multi-pooling 可以有效解决 argument candidate 可能作为多个 trigger 的 argument 但是扮演不同 role 的问题,并且对特征输入做的十分清晰,输入特征比较完整,这篇文章对事件抽取比较有启发性。

6.参考文献



论文笔记——事件抽取之DMCNN的更多相关文章

  1. 论文笔记之《Event Extraction via Dynamic Multi-Pooling Convolutional Neural Network》

    1. 文章内容概述 本人精读了事件抽取领域的经典论文<Event Extraction via Dynamic Multi-Pooling Convolutional Neural Networ ...

  2. 基于3D卷积神经网络的人体行为理解(论文笔记)(转)

    基于3D卷积神经网络的人体行为理解(论文笔记) zouxy09@qq.com http://blog.csdn.net/zouxy09 最近看Deep Learning的论文,看到这篇论文:3D Co ...

  3. 深度学习论文笔记:Fast R-CNN

    知识点 mAP:detection quality. Abstract 本文提出一种基于快速区域的卷积网络方法(快速R-CNN)用于对象检测. 快速R-CNN采用多项创新技术来提高训练和测试速度,同时 ...

  4. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)

    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文, ...

  5. 论文笔记之:Visual Tracking with Fully Convolutional Networks

    论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015  CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...

  6. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

  7. Twitter 新一代流处理利器——Heron 论文笔记之Heron架构

    Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture ...

  8. Deep Learning论文笔记之(六)Multi-Stage多级架构分析

    Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些 ...

  9. Multimodal —— 看图说话(Image Caption)任务的论文笔记(一)评价指标和NIC模型

    看图说话(Image Caption)任务是结合CV和NLP两个领域的一种比较综合的任务,Image Caption模型的输入是一幅图像,输出是对该幅图像进行描述的一段文字.这项任务要求模型可以识别图 ...

随机推荐

  1. Docker 与 K8S学习笔记(八)—— 自定义容器网络

    我们在上一篇中介绍了Docker中三种网络,none.host和bridge,除了这三种网络,Docker还允许我们创建自定义网络,当我们要创建自定义网络时,Docker提供了三种网络驱动供我们选择: ...

  2. leetcode日记本

    写在前面: 2019.6开始经过一年的学习,我依然没有学会算法,依然停留在最基本的阶段,面对题目依然一头雾水 但是难不是放弃的理由,根据毛主席的论持久战原理,我决定一天看一点循序渐进,相信总有一天可以 ...

  3. Latex 入门教程

    Latex 入门教程 学习途径:LaTex入门_哔哩哔哩_bilibili 运行环境:texlive2021.texstudio-4.1.2-win-qt6 1. 基本结构 整个 Latex 文件分为 ...

  4. 使用Xcode 制作自定义storyboard启动界面,供uniAPP使用。

    1新建项目 想要全屏显示并适应所有尺寸的iPad和iphone 需要用750*1624 2X 和 1125 * 2436 3X大小的图片 这里做完就可以导出文件了 把文件和图片放到一起 见下图 命名规 ...

  5. 编写Java程序,创建一个 Person 类,该类中有一个类成员变量 country、一个实例变量 name 和另一个实例变量 age。

    返回本章节 返回作业目录 需求说明: 创建一个 Person 类,该类中有一个类成员变量 country.一个实例变量 name 和另一个实例变量 age. country 表示地区,name 表示姓 ...

  6. JSON生成Java实体类

    https://www.bejson.com/json2javapojo/new/ 至于效果怎么样,自己试一下就知道了

  7. centos6.5-nginx搭建

    一.安装nginx 1.安装相关组件 yum -y install pcre-devel zlib-devel 2.创建启动用户 useradd -M -s /sbin/nologin nginx t ...

  8. linux(CentOS7) 之 ntp时间同步配置步骤

    下 载 百度搜索 ntp rpm 下载(或直接进入官网https://pkgs.org/download/ntp) 搜多ntp,选择centos7 64位下载,ntpdata 是依赖包也要下载 基 础 ...

  9. [ unittest ] 使用初体验

    import unittest from cal import Calculate class Mytest(unittest.TestCase): def setUp(self): self.cal ...

  10. CentOS7防火墙firewalld 和 CentOS6防火墙iptables的一些配置命令

    CentOS7 防火墙 一.防火墙的开启.关闭.禁用.查看状态命令 (1)启动防火墙:systemctl start firewalld (2)关闭防火墙:systemctl stop firewal ...