End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures
概述
本篇论文应该是最早提出基于神经网络的联合学习(实体识别、实体关系抽取两个子任务联合学习)的方法。
主要的思想是序列LSTM和树型LSTM的叠加,主要的过程是,首先通过序列LSTM识别出相应的实体,然后
树型LSTM根据识别出来的实体结果,进行实体关系分类。两个LSTM之间共享编码层参数,具体的可以看下面
的总体结构图。下面详细讲一下框架的细节。
词嵌入层
词的向量表示融合了多种特征,包括词本身以及词性(part-of-speech)。
文章最后实验提到了用word2vec的结果初始化词向量。
序列LSTM
文章中用的序列双向LSTM是Graves在2013年提出的变体。在我上一篇写的文章Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification中也是用相同的框架,所以想了解变体的细节,可以参考我上一篇文章。
]
实体识别
文章中用的标注方法是BILOU(有点少见,一般是BIO,或者BIOMES), B:Begin(实体的开始位置)。I:Inside(实体内部位置) 。 L:Last(实体的最后位置)。O(不属于实体)。U(只有一个单词的实体标为U)。
将双向LSTM输出,作为两层神经网络的输出,得到最后的预测标签。具体两层神经网络如下公式
从公式中可以发现第一层神经网络的输入不光有 s t s_t st(双向LSTM的输出),也有 v t − 1 ( e ) v_{t-1}^{(e)} vt−1(e),上一个单词预测出的标签的嵌入
树型LSTM
根据依存关系,构建出关于两个实体的最短依存路径树。树形LSTM不仅可以从root向根节点传播,也可以从
根节点向root传播
重点 两个LSTM的叠加
论文的主要思想是将树型LSTM叠加在序列LSTM上, 树型LSTM中每个节点都融入了三种特征,一个是依存类型
v t d v_{t}^{d} vtd, 一个是序列双向LSTM的输出 s t s_t st,还有一个是预测的标签向量 v t ( e ) v_{t}^{(e)} vt(e)。融入这些特征后,除了依存类型,其他两个都能更新实体识别模型中的参数,所以模型是实体识别、实体关系抽取两个联合学习。
关系预测
在预测实体关系的时候,树型LSTM会有三个输出, [ ↑ h P A ; ↓ h P 1 ; ↓ h P 2 ] [\uparrow h_{P_A}; \downarrow h_{P_1}; \downarrow h_{P_2}] [↑hPA;↓hP1;↓hP2]
↑ h P A \uparrow h_{P_A} ↑hPA代表两个实体向上传播到根节点的输出, ↓ h P 1 ; ↓ h P 2 \downarrow h_{P_1}; \downarrow h_{P_2} ↓hP1;↓hP2分别代表根节点传播到两个实体叶节点的输出
之后经过类似于实体识别的两层神经网络,得到最后的输出
一个小改进
作者在实体关系分类的时候,只利用了实体的最后一个单词,忽略了其他单词,为了克服这个缺陷,树型LSTM
的输出中融入两个实体其他单词的嵌入。具体公式如下
一些疑惑
预测关系时,分配两个不同方向的标签。具体运行方式不明了。
Also, we assign two labels to each word pair in prediction since we consider both left-to-right and right-to-left directions. When the predicted labels are inconsistent, we select the positive and more confident label, similar to Xu et al. (2015a).
还有就是文章一直强调的依存树类型 SPTree, SubTree, FullTree.有点没有理解