论文浅尝 | 使用循环神经网络的联合事件抽取

余博涛,南京大学计算机科学与技术系,硕士研究生



640?wx_fmt=png


论文连接:http://www.aclweb.org/anthology/N16-1034

发表会议:NAACL-HLT 2016

摘要

事件抽取(event extraction)是信息抽取中一个特别具有挑战性的问题。针对该问题的最先进的模型要么应用流水线框架(pipelined framework)的卷积神经网络(convolutional neural networks),要么采用通过具有丰富的局部和全局特征进行结构化预测(structured prediction)的联合架构(joint architecture)。前者基于连续和泛化的单词表示,能够从数据中自动学习隐藏特征表示,而后者则能够减缓流水线方法的错误传播问题,并通过离散结构来利用事件触发词(trigger)和论元角色(argument role)之间的相互依赖关系。在本文的工作中,我们提出了一个双向循环神经网络(bidirectional recurrent neural networksbidirectional RNN)的联合框架来进行事件提取的方法,从而受益于前面所述的两个模型的优点,并解决现有方法中固有的问题。我们系统地研究了此联合模型的不同记忆特征(memory features),并验证该模型在ACE 2005数据集上达到了最好的性能。


模型介绍

1.     概览

文章所提出的模型是基于ACE所定义的事件抽取任务,该任务包含4个子任务:触发词检测(找出句子中代表事件发生的词)、触发词分类(将触发词分类到预定义的8种类型、33种子类型中)、论元检测(检测事件的参与元素)和论元角色分类(将论元分类到预定义的35种论元角色中)。

本文对事件抽取任务建模如下:将一个句子记为,其中为句子中第token即为句子长度;将该句中的实体提及(entity mention)记为,其中是实体提及的数量并且可以为0,它包含实体在句子位置和实体类型的信息;将实体提及的最后一个词在句中位置的索引记为。对于句子中的每个,我们需要预测其事件类型,如果是我们所关心的事件的触发词,则继续预测每个实体提及关于该事件(触发词)的论元角色。因此,事件抽取可定义为分别针对触发词和触发词-论元对的分类问题。

本文所构建的模型如图1所示,主要分为编码(encoding)和预测(prediction)两个阶段。其中编码阶段使用RNN来获得句子的更抽象的表示,而预测阶段则是使用这个表示来同时预测事件触发词子类型和论元角色。

640?wx_fmt=png



2.     编码

2.1   句子编码

该阶段将以下三个向量串联,将每一个token 转换成一个实数向量

1) w_i 的词嵌入(word embedding)向量

通过查询预训练的词嵌入表获得。

2) w_i 的实体类型嵌入(entity type embedding)向量

采用BIO标注方法对token的实体类型赋值,并通过查询随机初始化的实体类型嵌入表获得该向量。

3) w_i 与依存树(dependency tree)相关的二值向量

该向量的维度等于依存树中所有可能的关系的数量,对句子做依存关系分析得到依存树,如果对于,依存树中有一边与其相连,则向量中这条边的依存关系对应的维度上置为1,其他维度为0

对于每个 w_i 进行转换,就能将句子 W 转换为实数向量序列 X=(x_1,x_2,⋯,x_n)

2.2   Recurrent Neural Networks

作为RNN的输入序列,学习句子信息的更加有效的表示。对于步骤 iRNN使用当前步骤的输入向量 x_i 和上一步的隐藏向量 α_(i-1) 计算当前步骤的隐藏向量 α_i,即 α_i=Φ(x_i,α_(i-1),其中 Φ 是非线性转换函数。本文使用的是以GRU为单元的RNN,并且为了解决在第步时正向RNN不能获取其后面的特征信息的问题,本文采用了双向RNN。记正向RNN640?wx_fmt=png ,逆向RNN640?wx_fmt=png。将正向和逆向的隐藏向量串联起来,组成向量 640?wx_fmt=png,该向量封装了着眼于 w_i 的整句话的上下文信息。

3.     预测

在预测阶段,模型预测触发词子类型和论元角色。需要注意的是,本文提出使用记忆向量和记忆矩阵对论元角色、触发词子类型之间的依赖关系进行编码。对于每一步,依次进行如下步骤:

3.1   触发词预测

在触发词预测阶段,对于当前token w_i,首先串联以下向量,得到特征表示向量 640?wx_fmt=png.

1) h_i

通过双向RNN得到的隐藏向量,其包含输入序列的全局上下文信息。

2)640?wx_fmt=png

对于 w_i 的局部上下文向量,由该token为 d 中心的大小的窗口中的词的嵌入向量组成,即640?wx_fmt=png

3)640?wx_fmt=png

上一步的记忆向量。


随后,将特征表示向量 640?wx_fmt=png输入一个具有 softmax 输出层的前馈神经网络 F^{trg}中,计算该token在所有可能的触发词子类型上的概率分布640?wx_fmt=png,其中 t 为一种事件子类型,最终得到对于 w_i 的预测事件子类型 640?wx_fmt=png。若 w_i 并非我们关注的事件类型的触发词,则将 t_i 赋值为“Other”。

3.2   论元角色预测

在论元角色预测阶段,首先检查上一阶段的触发词预测结果 t_i 是否为“Other”,即非触发词。如果是的话,可以直接将 640?wx_fmt=png 全部置为“Other”并跳至下一阶段。否则,需要针对每一个实体提及 e_j,预测其关于触发词 w_i 的论元类型。类似地,串联以下向量获取 e_j 和 w_i 的特征表示向量 640?wx_fmt=png

1) h_i 和 h_{i_j}

分别为双向RNN中对应 w_i w_{i_j}的隐藏向量,其中 w_{i_j} 代表 e_j 中最后一个词所对应的token

2)640?wx_fmt=png

对于 w_i w_{i_j} 的局部上下文向量,由分别以 w_i w_{i_j} 为中心的 d 大小的窗口中的词的嵌入向量组成,即

640?wx_fmt=png

3) B_{ij}

对于 V_{ij} 的隐藏向量,其中 V_{ij} 是前人工作中所提出的表达 w_i w_{i_j} 之间的局部论元特征信息的二值特征向量,这些特征包括最短依赖路径、实体类型和子类型等,而 B_{ij} 则通过将 V_{ij} 输入前馈神经网络 F^{bianry} 获得,即640?wx_fmt=png

4)640?wx_fmt=png

分别为上一步的记忆矩阵 640?wx_fmt=png640?wx_fmt=pnge_j 所对应的行向量。

接下来,类似地,将特征表示向量 640?wx_fmt=png输入到具有 softmax 输出层地前馈神经网络 F^{arg}中,获得在所有论元角色上的概率分布 640?wx_fmt=png,其中 a 为一种论元角色,最终获得对于 w_i e_j 的论元角色预测结果640?wx_fmt=png。若 e_j 并非我们关注的论元角色,则将 e_j 赋值为“Other”。

3.3   更新记忆向量/矩阵

本文提出使用记忆向量/矩阵640?wx_fmt=png来编码触发词和论元之间的依赖关系,具体如下:

1) 记忆向量640?wx_fmt=png编码触发词子类型之间的依赖

640?wx_fmt=png,其中640?wx_fmt=png是所有可能的触发词子类型的数目,该向量的更新策略为

640?wx_fmt=png

即若 w_i 的触发词子类型被预测为 t_i ,则对应维度置为1,否则不做更改。这个记忆向量“记住”了到第 i 步为止,有哪些触发词子类型被预测。

2) 记忆矩阵640?wx_fmt=png编码论元角色之间的依赖

640?wx_fmt=png,其中 i=0,⋯, n 是本句中所有事件提及的数目,n_A 是所有可能的论元角色的数目,该矩阵的更新策略为

640?wx_fmt=png

即若被 w_i 预测为是事件触发词,且 e_j 关于 w_i 的论元角色被预测为a_{ij},则将矩阵中对应实体提及的 e_j 行和论元角色 a_ij 的列置为1,否则不做更改。这个记忆矩阵“记住”了到第 i 步针对 w_i 和 e_j 的论元角色预测为止,有哪些实体提及已经被预测成了哪些论元角色。

3) 记忆矩阵编码论元角色和触发词子类型之间的依赖

640?wx_fmt=png

即若 w_i 被预测为是事件触发词且其子类型为 t_i ,则将矩阵对应实体提及 e_j 的行和触发词子类型 t-I 的列置为1,否则不做更改。这个记忆矩阵“记住”了到第 i 步针对 w_i 和 e_j 的论元角色预测为止,有哪些论元角色和触发词子类型被预测。

4.     训练

训练过程使用log似然函数作为损失函数,使用mini-batchAdaDeltaupdate rule的随机梯度下降算法优化模型,训练时也同时优化词嵌入表和实体类型嵌入表。

640?wx_fmt=png

模型分析

1.     数据集

本文使用一个大规模语料库预训练词嵌入表,使用ACE 2005语料库训练和评估事件抽取模型。

2.     记忆向量/矩阵的效果实验

本文在使用C-CBOW模型预训练词嵌入表的情形下,针对三个记忆向量/矩阵640?wx_fmt=png对事件抽取的触发词预测和论元角色预测的效果进行了实验,有或没有每一个记忆向量/矩阵构成了总共8种情形,它们的实验结果如下表。结果显示,G^{trg} 和 G^{arg} 的应用对结果没有提升、反而降低了,本文认为是触发词子类型间和论元角色间的依赖不够强,导致它们并未在此模型中起作用。而编码论元角色和触发词子类型之间依赖的 G^{trg/arg} 的应用则显著提升了实验结果。因此在后续实验中,模型仅应用 G^{trg/arg}

640?wx_fmt=png


3.     词嵌入的评估

本文对使用不同词嵌入算法预训练词嵌入表的效果进行评估,结果如下表。其中RANDOM是随机初始化,WORD2VEC是前人工作中使用Skip-gram模型在Google News语料上训练的词嵌入表。结果显示,使用预训练词嵌入表的实验结果明显优于随机初始化,所以预训练词嵌入表对事件抽取任务有十分重大的意义。使用C-CBOW模型的效果优于其他模型,因此在后续实验中,预训练词嵌入表全部使用C-CBOW模型。

640?wx_fmt=png

4.     与其他模型的对比实验

本文对比了Li’s baselineLiao’scross-eventHong’s cross-entityLi’s structureDMCNN,用JRNN指代本文所提出的模型,实验结果如下表。除了在触发词识别中略低于DMCNN模型,在其他任务中JRNN都取得了最好的效果,尤其是在论元检测和分类中,相比其他模型有较大的提升。实验结果证明了RNN和记忆特征在事件抽取任务中的特征表示的有效性。

640?wx_fmt=png

5.     一句多事件的实验

本文对一句话中包含多个事件的情况下的性能进行了实验验证,结果如下表所示,其中1/1代表一句中仅有一个事件,1/N代表一句中有多个事件。结果显示,在不管是一个事件还是多个事件的多数情形下,本文模型都取得了最好的性能。仅仅在论元任务中对于一个句子仅包含一个事件的情况下,性能低于DMCNN,本文认为这是因为DMCNN对于论元使用了位置嵌入特征,而本文的记忆矩阵 G^{trg/arg} 在一个事件的情形下并未起作用。

640?wx_fmt=png

 



OpenKG


开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

640?wx_fmt=jpeg

点击阅读原文,进入 OpenKG 博客。


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

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

相关文章

阿里P8架构师谈:Web前端、应用服务器、数据库SQL等性能优化总结

web前端性能优化 Web前端指网站业务逻辑之前的部分,包括: 1.浏览器加载 2.网站视图模型 3.图片服务 4.CDN服务等 主要优化手段有优化浏览器访问,使用反向代理,CDN等。 1.浏览器访问优化 (1)减少http…

动手做个DialoGPT:生成式多轮对话模型

文 | 苏剑林编 | 兔子酱前段时间刷Arixv的时候,发现清华大学开源了一个大规模的中文闲聊语料库LCCC,从开源的文件上来看,这可能是目前开源的数量最大、质量最好的闲聊语料库了,而且还包含了部分多轮对话聊天,总的来说可…

搜索引擎背后的数据结构和算法

文章目录1. 整体系统介绍2. 搜集2.1 待爬取网页链接文件:links.bin2.2 网页判重文件:bloom_filter.bin2.3 原始网页存储文件:doc_raw.bin2.4 网页链接及其编号的对应文件:doc_id.bin3. 分析3.1 抽取网页文本信息3.2 分词并创建临时…

论文浅尝 | DKN: 面向新闻推荐的深度知识感知网络

笔记整理:仲亮靓,东南大学硕士研究生,研究方向是基于知识图谱的推荐系统动机新闻文本的语言非常凝练,其中包含了很多实体和常识知识。但目前的新闻个性化推荐方法都没有利用这些外部知识,也没有使用新闻之间潜在的知识…

聊聊工业界做机器学习的里程碑

文 | 吴海波编 | YY阅读说明,本文的机器学习领域限制于互联网搜索、推荐、广告场景,仅限于个人观点。2017年,我和团队的几个核心去了趟北京,找了各大互联网公司一线实战的同学,交流各自在机器学习上的经验。这次交流让…

直通BAT JVM必考题:Minor GC、Major GC、Full GC的区别

Java面试过程,JVM属于必考题系列: 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置 直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结 直通BAT必考题系列:7种JVM垃圾收集器特点,优…

matplotlib绘制多张图、多子图、多例图

绘制多图 关键: fig plt.figure(1) 表示新建第几个图 import matplotlib.pyplot as pltfig plt.figure(1) plt_rec_loss [1,2,3,4,5,6] plt_rec_recall [4,3,6,5,8,9] plt.xlabel("epoch") plt.ylabel("loss") plt.plot(range(len(plt_re…

jieba分词并做分析

Github:结巴分词地址 https://github.com/fxsjy/jieba 几种分词方法的简单使用:一 . jieba安装、示例 pip install jieba,jieba分词的语料是基于人民日报。分词示例1 import jieba 2 3 str1 江州市长江大桥 4 word_object jieba.cut(s…

研讨会 | CCF TF 第 17 期:认知计算产业化落地

CCF TF 技术前线只为技术专家CCFTF第17期主题 认知计算产业化落地2019年05月11日上海斯波特酒店五楼(上海市南丹路15号,徐汇区政府对面)人类迈入人工智能时代,技术的发展使得机器可以从大数据中提取信息,串联成知识&a…

短网址系统

文章目录1. 短网址服务整体介绍2. 如何通过哈希算法生成短网址?2.1 如何让短网址更短2.2 如何解决哈希冲突?2.3 如何优化哈希算法生成短网址的性能?3. 如何通过ID生成器生成短网址?3.1 相同的原始网址可能会对应不同的短网址3.2 如…

一个神经元的价值和一个神经病的坚持

作者 | 周博磊来源 | 机器之心一个神经元能够催生多少故事?香港中文大学信息工程系助理教授周博磊近日撰文介绍了他自 2015 年开始至今对神经元的研究经历。最近,他与 David Bau、朱俊彦等人合作的神经元研究论文发表在了 PNAS 杂志上。以下是周博磊的原…

直通BAT必考题系列:深入剖析JVM之G1收集器、及回收流程、与推荐用例

金三银四马上到了,即将进入面试的高峰期。在BAT面试中,JVM基本都是必考的系列。你至少需要掌握JVM内存模型与JVM参数详细配置,JVM的4种垃圾回收算法、垃圾回收机制与总结,以及今天重点谈到的JVM垃圾回收算法的实现:JVM…

多任务学习方法

最近一直在做多任务,但是效果好象没什么提升,因为都是凭自己的想法和感觉在做。于是上网查找了一些这方面的资料,寻求一些理论上的支撑和前人经验上的帮助。 多任务学习: 故名思意,就是多个任务一起学习。为什么要进行…

曹羽 | 从知识工程到知识图谱全面回顾

本文转载自公众号:集智俱乐部。文本挖掘和图形数据库 | ©ontotext导语知识工程是符号主义人工智能的典型代表,近年来越来越火的知识图谱,就是新一代的知识工程技术。知识工程将如何影响未来人工智能领域的发展,甚至让计算机拥…

4大JVM性能分析工具详解,及内存泄漏分析方案

谈到性能优化分析一般会涉及到: Java代码层面的,典型的循环嵌套等 还会涉及到Java JVM:内存泄漏溢出等 MySQL数据库优化:分库分表、慢查询、长事务的优化等 阿里P8架构师谈:MySQL慢查询优化、索引优化、以及表等优化…

从 0 搭建一个工业级推荐系统

推荐系统从来没像现在这样,影响着我们的生活。当你上网购物时,天猫、京东会为你推荐商品;想了解资讯,头条、知乎会为你准备感兴趣的新闻和知识;想消遣放松,抖音、快手会为你奉上让你欲罢不能的短视频。而驱…

论文浅尝 | 虚拟知识图谱:软件系统和应用案例综述

本文转载自公众号:DI数据智能。Virtual Knowledge Graphs: An Overview of Systems and Use Cases作者:Guohui Xiao, Linfang Ding, Benjamin Cogrel & Diego Calvanese供稿:Guohui Xiao编者按:Data Intelligence 发表意大利博…

LeetCode 169. 求众数(摩尔投票)

文章目录1. 题目信息2. 解题思路3. 代码3.1 排序3.2 map计数3.3 摩尔投票1. 题目信息 给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。 示例 1:输入…

阿里P8架构师谈:JVM的内存分配、运行原理、回收算法机制

不管是BAT面试,还是工作实践中的JVM调优以及参数设置,或者内存溢出检测等,都需要涉及到Java虚拟机的内存模型、内存分配,以及回收算法机制等,这些都是必考、必会技能。 JVM内存模型 JVM内存模型可以分为两个部分&…

我的BERT!改改字典,让BERT安全提速不掉分(已开源)

文 | 苏剑林编 | 小轶背景当前,大部分中文预训练模型都是以字为基本单位的,也就是说中文语句会被拆分为一个个字。中文也有一些多粒度的语言模型,比如创新工场的ZEN和字节跳动的AMBERT,但这类模型的基本单位还是字,只不…