1. 论文题目
Jointly Multiple Events Extraction via Attention-based Graph Information Aggregation
论文来源:EMNLP 2018
论文链接:https://arxiv.org/abs/1809.09078
代码链接:https://github.com/lx865712528/EMNLP2018-JMEE
关键词:多事件抽取,GCN,attention,句法依存结构
2. 作者
Xiao Liu†andZhunchen Luo‡and Heyan Huang†∗
†School of Computer Science and Technology, Beijing Institute of Technology 100081 Beijing, China
北京理工大学
3. 摘要
a. 应用背景:从一个句子中抽取出多个事件触发器和参数(arguments);
b. 提出模型:JMEE(Jointly Multiple Events Extraction);
c. 技术:syntactic shortcut arcs,基于attention的GCN建模图数据;
d. 实验结果:可与stat-of-the-art比拟;
4. 问题与解决方法
一个句子中存在多个事件的问题。 (解决思路,把多个事件的触发器放在一起来考虑,这样可以提高事件抽取的正确性。)
一些存的方法:使用各种特征;提出内存向量和矩阵;提出transition arcs; 保留更多的上下文信息;文档级特征。
这些方法的缺点:句级模型对于长句依赖上效率比较低,对于特征工程的方法手工依赖严重,另外,旧模型方法不可以满足多事件依赖关系。
本文的提出初衷例子(减少了hop数):
killed是事件Die的触发器,4条红线表示它的4个参数;barrage是事件Attack的触发器,3条蓝线表示它的3个参数。
如果按照句子本身的序列顺序的话,从killed跳到barrage需要6步。如果根据句法依存树的话,只需要3步就可以了(图中用绿色的圈标出了3步的路径)。这3个arcs就组成了一个shortcut path,使用较少的跳数,将句法依存的信息流从killed节点转移给了barrage节点。
JMEE: syntactic shortcut arcs 提高了信息流 && 基于attention的GCN去建模图数据。
5. 方法
事件抽取是一个多类别分类问题。判断句子中的每个单词是否是候选事件触发词的组成部分,以及句子中的实体是否是事件触发词对应的参数。
主要有两类方法: joint approach && pipelined approach. (触发器预测,参数识别任务)
本论是采用joint approach的方法, 可以避免propagated errors的发生。
JMEE模型由4个模块组成:
- word representation: 使用向量来表示句子;
- syntactic graph convolution network module:根据句法结构引入shortcut arcs,进行卷积操作;
- self-attention trigger classifification module:捕获一个句子中多个事件间的关联;
- argument classifification:预测每个实体在对应类型的事件中扮演的角色;
整个模型图:
5.1 词表达
词嵌入:Glove;
POS-tagging label嵌入:随机初始化embedding table;
位置嵌入:相对距离通过在随机初始化的embedding table中查表,编码成实值向量;
实体类型标签嵌入:和POS-tagging label嵌入相似;
将这四部分的数据作一个级联,然后形成向量,接着输入到Bi-LSTM层来对句子的向量进行抽取的。
5.2 Syntactic Graph Convolution Network(句法GCN)
把句法分析树转化成图表示。词为图节点,边为词之间的关系。
第k+1层的计算关系为:
K(u,v)为边的类型;
W,b为对于某个类型的学习参数;
N为近邻集;
f为激活函数;
使用词表达的向量去初始化第一层图的h0.
对于句法分类,采用Stanford Parser来完成。
由于类别比较多,优化效率,把原来的类别作一个化简:
对于这里,有一个问题:分成三类,rev类与loop类的元素不是组成了along的元素了吗?
解决句法分析树的噪音问题,引入gate机制,计算权重参数:
σ: logistic sigmoid function
V,d表示学习的参数;
故得到最终的计算公式为:
堆叠k层GCNs可以对k跳进行建模.当两解发器之间小于k时,避免over-propagating,提出highway unit解决方法:
σ : sigmoid function;
⊙:element-wise乘积;
g:非线性激活函数;
t被称为transform gate;
GCN的层数限制了捕获图中局部信息的能力,因此使用BiLSTM编码单词表示,将前向和后向得到的表示级联,作为第一层GCN的输入:
xt = [左pt,右pt]
5.3 Self-Attention Trigger Classifification–基于自关注力的触发器分类
主要是来进行信息聚合,改进了max-pooling的缺点,维护不同事件之间的关联关系。
D表示GCNs的输入。
norm表示标准化函数。
Ci那里应该是作了一个向的级联,形成了一个上下文向量,然后,把这个输入去全连接中,最后经过一个softmax的激活函数进行分类的目的。
5.4 参数分类器
y表示第j个实体在由第i个候选触发器对应的事件中扮演的角色。
5.5 有偏损失函数
N表示句子数;np表示token数,tp表示抽取出的候选触发器数,ep表示第p个句子中的实体数;I表示指示函数;α,β表示超参数;
6. 实验
6.1 数据:ACE 2005
6.2 预处理: Stanford CoreNLP 工具
6.3 对比较的模型
模型名 | 论文 | 描述 |
---|---|---|
Cross-Event | 2010-Using document level cross-event inference to improve event extraction | 使用文档级的信息去提高事件的抽取; |
JointBeam | 2013-Joint event extraction via structured prediction with global features | 手工设计的特征后进行结构预测; |
DMCNN | 2015-Event extraction via dynamic multi-pooling convolutional neural networks | 使用动态多池化技术去保留多重事件信息; |
PSL | 2016-A probabilistic soft logic based approach to exploiting latent and global information in event classifification | 使用概率推理机去使用潜在与全局信息去编码相关事件后再对事件进行分类; |
JRNN | 2016-Joint event extraction via recurrent neural networks | 使用手工设计的特征,输入到基于Bi-RNN联合事件触发器与参数模型; |
dbRNN | 2018- Jointly extracting event triggers and arguments by dependency-bridge RNN and tensor-based argument interaction | 对于事件抽取任务上在Bi-LSTM加入依赖桥梁; |
实验结果:
6.3 抽取多事件的影响分析
设计实验,把测试数据分成两组:1/1 and 1/N
1/1:表示一个句子中只有一个trigger或一个参数扮演角色;
1/N:除 1/1之外的情况;
加入了两个baseline模型:
模型名 | 描述 |
---|---|
Embedding+T | 使用了词嵌入向量与一些传统的句子级的特征; |
CNN | 与DMCNN差不多,不同的是它使用了max-pooling机制而不是动态的多pooling机制; |
结论:JMEE可以更有效地处理句子中存在多事件的抽取。
6.4 自关注力机制的分析
7. 总结
现在的总结:对于多事件的情况,提了一个新的模型,采用了句法分析树,建模了图,采用GCN来学习,最终达到了不错的结果,O了。
将来的计划:利用一个参数(argument)在不同事件中的不同角色信息,来更好地进行EE任务。
整体来说是一篇比较中规中矩的论文哈,没有感觉到太多波澜起伏,也没有太大的失望,一切都是刚刚好。看完了在思考一直在思考:在ACE 2005可以达到的效果,不知道用在中文的语料或者实际工程会不会达到?
8.参考
【1】【论文解读EMNLP 2018 | JMEE】Jointly Multiple EE via Attention-based Graph Information Aggregation,https://blog.csdn.net/byn12345/article/details/105411433
【2】Liu, Xiao & Luo, Zhunchen & Huang, Heyan. (2018). Jointly Multiple Events Extraction via Attention-based Graph Information Aggregation.
made by happyprince.https://blog.csdn.net/ld326/article/details/113945701
一些概念
事件是发生在某个特定的时间点或时间段、某个特定的地域范围内,由一个或者多个角色参与的一个或者多个动作组成的事情或状态的改变。