论文笔记 IJCAI 2019|Extracting Entities and Events as a Single Task Using a Transition-Based Neural Mode
作者:互联网
文章目录
1 简介
论文题目: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
1.1 动机
- 以前的联合事件抽取,是一个pipeline框架,先从文本中预测触发词和实体,然后将论元分配给触发词,预测的结构是分离的。
1.2 创新
- 使用transition-based的框架进行联合事件抽取(预测实体、触发词、论元),在状态转换过程中预测复杂的结构。在ACE 2005数据集上达到SOTA。
2 方法
任务的输入为单词序列 S = w 1 , . . . , w n S=w_1,...,w_n S=w1,...,wn,输出包括三部分:实体提及列表E、触发词列表T(单个token)、论元列表R。
2.1 转移系统
定义一个转移状态为 s = ( σ , δ , λ , e , β , T , E , R ) s=(\sigma,\delta,\lambda,e,\beta,T,E,R) s=(σ,δ,λ,e,β,T,E,R):
- σ \sigma σ为存放处理过的element的栈。
- δ \delta δ为是一个临时保存 σ \sigma σ弹出元素的队列。
- λ \lambda λ
- e为存放局部实体提及的栈。
- β \beta β为存放未处理词的缓冲区。
- T为标注的触发词弧。
- E为标注的实体提及弧
- R为标注的论元角色弧。
状态转移的行为有(前五个用来生成论元角色,后三个用来识别嵌套的实体):
状态转移的先决条件如下图:
下图为一个转移过程示例:
2.2 模型
整个模型包括下面4个部分:
- 输入表示:对于每个单词 w i w_i wi,表示为 x i = [ v i w ; v i p o s ; v i c h a r ; B E R T i ] x_i=[v_i^w;v_i^{pos};v_i^{char};BERT_i] xi=[viw;vipos;vichar;BERTi],分别为Glove编码、词性标注、通过Bi-LSTM学习的字符级表示、BERT编码。然后使用LSTM进行编码,得到 h i h_i hi。
- 状态表示:使用StackLSTM表示 σ , δ , e , A \sigma,\delta,e,A σ,δ,e,A(A存放历史行动)栈的信息。公式如下( λ i \lambda_i λi为整合标签信息的向量表示):
|
|
|
-行为预测:在时间t是预测当前行为的公式如下:
-训练:将训练数据转换为转换行为的序列,loss函数使用交叉熵,公式如下(L2正则化):
3 实验
实验数据集选择ACE 2005,使用Stanford CoreNLP进行预处理,联合抽取的结果如下图:
实体抽取的结果如下图:
触发词分类的结果如下图:
标签:触发,Task,Based,Neural,实体,论元,如下,sigma,转移 来源: https://blog.csdn.net/o11oo11o/article/details/122868894