文章目录
1 简介
论文题目:Joint Event Extraction via Recurrent Neural Networks
论文来源:NAACL 2016
论文链接:https://aclanthology.org/N16-1034.pdf
1.1 动机
- 联合事件抽取方法缺乏对未见过的词和特征的概括,同时由于手工特征的分离表示,不能抽取潜在结构。
- 分布抽取有固有的错误传播和不能抽取触发词和论元的内在依赖。
1.2 创新
- 提出一个基于RNN的联合事件抽取方法,是第一个工作将神经网络用于联合事件抽取。
- 使用记忆矩阵存储预测信息,以捕捉触发词和论元的内在依赖。
2 背景知识
ACE定义一个事件为发生或者导致一些状态的变化。有一下术语:
- Event mention:一个事件出现的短语或者句子,包括一个触发词和任意数量的论元。
- Event trigger:最能清楚得表达一个事件发生的词。
- Event argument:一个实体提及,简短的表达或者值,在事件提及中充当一个带有具体角色的参与者或者参数。
ACE注解8个类型、33个子类型的事件提及。全部事件子类型的角色总数量为36.
3 方法
模型图如下
3.1 编码
3.1.1 句子编码
token的向量表示有下面三部分组成:
- 词向量编码,通过预训练的词编码表获得。
- 实体类型的编码向量:通过实体类型的编码表获得(随机初始化)。
- 二元向量,它的维度对于依赖树中单词的可能关系
没有使用相对位置特征,因为该模型联合抽取触发词和论元,它们在句子中没有固定的位置。
3.1.2 RNN编码
使用双向的GRU对token向量进行编码,学习更加高效地表示。
3.2 预测
为了联合预测触发词和论元,对于触发词维护
G
i
t
r
g
G^{trg}_ {i}
Gitrg记忆向量,对于论元维护
G
i
a
r
g
G^{arg}_ {i}
Giarg和
G
i
a
r
g
/
t
r
g
G^{arg/trg}_ {i}
Giarg/trg记忆向量。
给定双向GRU的向量表示h1,h2,…,hn和初始化记忆矩阵,联合预测过程循环n词,在每个事件步i,做如下操作:
- 预测触发词
- 对所有与当前token wi有关的实体提及e1,e2,…,ek预测论元。
- 根据上一步的 G i − 1 t r g G^{trg}_ {i-1} Gi−1trg , G i − 1 a r g G^{arg}_ {i-1} Gi−1arg, G i − 1 a r g / t r g G^{arg/trg}_ {i-1} Gi−1arg/trg计算 G i t r g G^{trg}_ {i} Gitrg , G i a r g G^{arg}_ {i} Giarg, G i a r g / t r g G^{arg/trg}_ {i} Giarg/trg
3.2.1 触发词预测
对于token wi,使用下面三个向量计算特征表示向量 R i t r g R^{trg}_ {i} Ritrg:
- hi: 用于描述输入句子上下文的隐藏向量。
- L i t r g L^{trg}_ {i} Litrg:wi的上下文向量,由wi上下文窗口d以内的向量拼接。 L i t r g L^{trg}_ {i} Litrg = [D[wi-d],…,D[wi],…,D[wi+d]]
-
G
i
t
r
g
G^{trg}_ {i}
Gitrg:上一步的记忆向量。然后经过一个前馈神经网络和softmax层,预测wi的类型ti,公式如下。
P i ; t t r g P^{trg}_ {i;t} Pi;ttrg = P i t r g P^{trg}_ {i} Pitrg(l = t) = F t t r g F^{trg}_ {t} Fttrg( R i t r g R^{trg}_ {i} Ritrg)
ti = argmaxt( P i ; t t r g P^{trg}_ {i;t} Pi;ttrg)
3.2.2 论元角色预测
在论元角色决策阶段,首先检查上一阶段预测的触发词子类型是否为Other。如果为Other,对于全部的j = 1到 k,设置aij为Other,立即进入下一阶段。否则,循环实体提及e1,e2,…,ek,预测与触发词wi有关的论元角色aij。
对于ej,wi,使用下面四个向量计算特征表示向量
R
i
a
r
g
R^{arg}_ {i}
Riarg:
- hi和hij: 对于wi和ej的全局上下文的隐藏向量。
- L i a r g L^{arg}_ {i} Liarg:wi和ej的上下文向量,由wi上下文窗口d以内的向量拼接。 L i t r g L^{trg}_ {i} Litrg = [D[wi-d],…,D[wi],…,D[wi+d],D[wij-d],…,D[wij],…,D[wij+d]]
- Bij:二进制向量Vij的隐藏向量。Vij基于token i和ij的局部论元特征。Bij = Fbinary(Vij)
-
G
i
−
1
a
r
g
G^{arg}_ {i-1}
Gi−1arg[j]和
G
i
−
1
a
r
g
/
t
r
g
G^{arg/trg}_ {i-1}
Gi−1arg/trg[j]: 上一步的记忆矩阵。然后经过一个前馈神经网络和softmax层,预测aij的类型,公式如下(a表示论元角色)。
P i j ; a a r g P^{arg}_ {ij;a} Pij;aarg = P i j a r g P^{arg}_ {ij} Pijarg(l = a) = F a a r g F^{arg}_ {a} Faarg( R i j a r g R^{arg}_ {ij} Rijarg)
aij = argmaxa( P i j ; a a r g P^{arg}_ {ij;a} Pij;aarg)
3.2.3 记忆向量
事件抽取一个重要的特点是相同句子中的触发词标签和论元角色存在依赖。将这种依赖分为下面三类:
- 触发词之间的依赖:由
G
i
t
r
g
G^{trg}_ {i}
Gitrg表示(
G
i
t
r
g
G^{trg}_ {i}
Gitrg∈{0,1}nT i=0,…n,nT为可能的触发词类型的数量),如果在t时刻输出ti,则
G i t r g [ t ] = { 1 , t = t i G i − 1 t r g [ t ] , o t h e r w i s e G^{trg}_ {i}[t]=\left\{ \begin{array}{rcl} 1, & & {t = t_{i}}\\ G^{trg}_ {i-1}[t], & & {otherwise} \end{array} \right. Gitrg[t]={1,Gi−1trg[t],t=tiotherwise
动机是如果在一个句子中Die事件出现,那么后面可能Attack事件也可能出现。 - 论元角色之间的依赖:由
G
i
a
r
g
G^{arg}_ {i}
Giarg表示(
G
i
a
r
g
G^{arg}_ {i}
Giarg∈{0,1}k*nA i=0,…n,nA为可能的论元角色的数量)。
G
i
a
r
g
G^{arg}_ {i}
Giarg[j][a]=1表示ej在时刻i之前表示过角色a。
G i a r g [ j ] [ a ] = { 1 , t ≠ o t h e r a n d a = a i j G i − 1 a r g [ i ] [ j ] , o t h e r w i s e G^{arg}_ {i}[j][a]=\left\{ \begin{array}{rcl} 1, & & {t \not= other\,and\,a = a_{ij}}\\ G^{arg}_ {i-1}[i][j], & & {otherwise} \end{array} \right. Giarg[j][a]={1,Gi−1arg[i][j],t=otheranda=aijotherwise - 触发词与论元角色之间的依赖:由
G
i
a
r
g
/
t
r
g
G^{arg/trg}_ {i}
Giarg/trg表示(
G
i
a
r
g
/
t
r
g
G^{arg/trg}_ {i}
Giarg/trg∈{0,1}k*nT i=0,…n)。
G
i
a
r
g
/
t
r
g
G^{arg/trg}_ {i}
Giarg/trg[j][t] = 1表示ej在时刻i之前被识别为事件类型为t的论元,对于全部的j从1到k,公式如下。
G i a r g / t r g [ j ] [ t ] = { 1 , t i ≠ o t h e r a n d t = t i G i − 1 a r g / t r g [ j ] [ t ] , o t h e r w i s e G^{arg/trg}_ {i}[j][t]=\left\{ \begin{array}{rcl} 1, & & {t_ {i} \not= other\,and\,t = t_i}\\ G^{arg/trg}_ {i-1}[j][t], & & {otherwise} \end{array} \right. Giarg/trg[j][t]={1,Gi−1arg/trg[j][t],ti=otherandt=tiotherwise
3.2.4 训练
损失函数如下图表示
3.3 词表示
CBOW模型基于上下文单词的平均值预测当前词,SKIP-GRAM根据当前词预测一个句子中的周围词。
在本文,除了CBOW和SKIP-GRAM模型,提出了一个CBOW模型的基于联合的变体(C-CBOW)训练词编码,C-CBOW的目标是使用周围单词的拼接预测当前词。
4 实验
使用ACE 2005数据集评测模型。
4.1 记忆单元
测试记忆单元的高效性,结果如下图所示,可以发现触发词之间的依赖和论元之间的依赖对模型没有帮助,而触发词和论元之间的依赖提升了模型的性能。
4.2 词编码评测
对比使用不同的词编码,模型的效率,结果如下图,可以发现C-CBOW词编码效果最好,拼接向量帮助对不同的上下文分配不同的权重,比CBOW模型更加灵活(对全部的上下文分配单个权重)。
4.3 实验结果
根据句子中事件的数量,将数据集分为单事件和多事件,评测模型的性能,结果如下图。
5 总结
- 提出一个基于RNN的联合事件抽取模型。
- 使用记忆向量表示论元角色和触发词类型之间的依赖。
- 提出基于联合上下文的CBOW模型变体,提高该联合模型的性能。