2020 ACL会议《A Joint Neural Model for Information Extraction with Global Features》
该论文提出一个名为ONEIE的信息抽取框架,增加一个全局特征,在实例之间和子任务之间进行联合决策。
1. Introduction
大多数的信息抽取的联合学习模型使用task-specific分类对独立实体进行标记而不是使用实体之间的交互信息。论文提出名为ONEIE的端到端信息抽取框架,整个过程分为四个操作阶段:
- 对输入语句进行编码(Embedding);
- 识别句中的实体(Entity)和事件(Event)并用结点(Node)进行表示;
- 使用句内信息(Local classifier)计算所有结点及其连接(Link)的标签分数(Label Score);
- 解码(Decoding)时使用束搜索(Beam search)找到全局最优图。
在解码阶段加入全局特征(Global Feature)捕捉实例之间(cross-instance)和子任务之间(cross-subtask)的联系(Interaction)。同时ONEIE框架没有使用任何特定语言的语法特征(Language-specific feature),所以很容易适应新语言。
2. Task
-
Entity Extraction
根据提前定义(Pre-defined)的实体分类识别语句中提及的实体。
-
Relation Extraction
对给定的实体对分配关系类型。
-
Event Extraction
涉及识别非结构语句中的事件触发语(Event trigger: the word or phrases that most clearly express event occurrences)及这些词语和短语的论据(Arguments: the words and phrases for participants in those events),并将这些短语根据类型和语法规则进行分类。
一个Argument可以是一个实体、时间表达式或数值等。
对信息抽取的任务作如下规定:
对于给定的句子,目的是提取一个信息表示图: G = ( V , E ) G=(V,E) G=(V,E),其中 V V V和 E E E分别表示结点集和边集。
对于任意结点 v i = < a i , b i , l i > ∈ V v_i=<a_i, b_i, l_i>\in V vi=<ai,bi,li>∈V表示一个实体(Entity)或事件触发器(Event trigger),其中 a a a和 b b b分别表示结点起始和结束词语的索引(indices), l l l表示结点类型标签(Node type label)。
对于任意边 e i j = < i , j , l i j > ∈ E e_{ij}=<i,j,l_{ij}>\in E eij=<i,j,lij>∈E表示两个结点之间的关系,其中 i i i和 j j j分别表示两个相关结点的索引, l i j l_{ij} lij表示关系类型。
3. Approach
ONEIE框架对给定的语句进行信息网络提取,分为以下四步:encoding,identification,classification和decoding。我们使用预训练的BERT模型进行编码,然后对语句中的实体和事件触发器进行识别。之后计算所有的结点和相关的边的类型标签分数(Type label scores)。在解码阶段,我们使用束搜索(Beam Search)探索输入语句可能的信息网络。
3.1 Encoding
输入一句包含 L L L个词的语句,使用预训练的BERT模型将每个词表示为 x i x_i xi。实验发现使用最后三层BERT在大多数的子任务上表现较好。
3.2 Identification
这一阶段将识别句中的实体提及和事件触发器,并表示为信息网络中的结点。我们使用前馈神经网络FFN计算每个词的分数向量 y ^ i = F F N ( x i ) \hat{y}_i=FFN(x_i) y^i=FFN(xi), y ^ i \hat{y}_i y^i表示一个标签在目标标签集(Target tag set)中的分数。
之后使用CRF层捕捉标签之间的联系,计算tag path z ^ = { z 1 ^ , . . . , z ^ L } \hat{z}=\{\hat{z_1},...,\hat{z}_L\} z^={
z1^,...,z^L}的分数:
s ( X , z ^ ) = ∑ i = 1 L y ^ i , z i ^ + ∑ i = 1 L + 1 A z ^ i − 1 , z ^ i s(X,\hat{z})=\sum_{i=1}^{L}{\hat{y}_{i,\hat{z_i}}}+\sum_{i=1}^{L+1}{A_{\hat{z}_{i-1},\hat{z}_{i}}} s(X,z^)=i=1∑Ly^i,zi^+i=1∑L+1A