[论文解读]EMNLP2019: A Boundary-aware Neural Model for Nested NER
- EMNLP2019: A Boundary-aware Neural Model for Nested Named Entity Recognition
- 论文链接: https://www.aclweb.org/anthology/D19-1034.pdf
- 论文代码: https://github.com/thecharm/boundary-aware-nested-ner
简介
Motivation
在 NER 任务中,有一类特殊的 nested entity, 即两个不同的实体相互嵌套,如Figure1中的 protein 实体 和 RNA 实体。在这种情况下,同一个 token (例如图中的 “1” ), 就会具备不同的实体标签。
传统方法会通过人工提供特征来解决这里问题,但却受限于特征工程的繁重工作。在今年的方法中,有两类方法解决nested NER问题:
- Layered Sequence Labeling model: 通过层级的序列标注,先识别内层的实体,然后基于此通过下一层的序列标注来识别外层的实体;然而这一方法的受限于错误传递;
- Region Classification Model: 发现序列中所有可能的实体位置区间(span), 将他们输入分类层来发现具体的实体;然而这一方法的缺点是由于缺乏精确的边界信息,会抽取出很多并非 target entity 的 entity mention.
基于以上两种方法的优缺点,本文考虑将他们结合起来: 用序列标注模型来发现实体的位置,用 region classification model 对序列标注发现的 entity span candidate 进行实体类型的分类; 同时,由于 实体标签预测 和 边界发现 是在同一区间范围内的,因此引入多任务学习对它们进行优化。
Contributions
-
本文设计了边界感知的神经网络模型来预测实体的类别信息,它可以首先定位出实体的位置(span), 然后在对应的位置区间内进行实体类型的预测;
-
引入多任务学习来捕实体边界与事件标签之间的依赖关系;
-
在公开的 nested NER 数据集上,本文模型取得了超越 SOTA 的效果,并在inference取得了更快的速度。
相关工作
在相关工作中,作者指出了如下几点:
-
在现有的 NER 相关工作中,对 nested NER 进行研究的工作相对较少;
-
现有的 nested NER 工作提出的方案,可能是考虑了太多冗余的 span/region 信息, 或是 将边界预测和标签分类两个字任务太过于隔离,没有很好地利用现有的上下文信息。
-
本文提出的模型,则是用 更少、更精确的实体边界信息,来提高实体分类的性能。
模型
本文模型具体包括以下部分:
Token Representaiton
对于包含 个tokens的句子 , 通过如下三个步骤得到初始的表示:
-
通过 lookup table 获取 的 word embedding:
-
若一个token 包含若干个 characters , 则先通过 得到其对应的词向量,然后通过 BiLSTM 得到每个字符的表示:
- 最后将 token 和 对应字符的表示进行拼接:
Shared Feature Extractor
在得到 的表示后,通过 BiLSTM 再次进行特征抽取:
Entity Boundary Detection
在边界检测阶段,对于句子 , 我们将其包含的 entity 表示为 , 表示 构成一个实体。具体地,将 和 标注为 B 和 E, 区间内的token标注为 I, 非实体的token标注为 O。
对于每个token, 通过如下计算预测其对应的边界标签:
并通过下式定义 boundary detection 的 loss:
Entity Categorical Label Prediction
基于 boundary detection 得到 R(i,j) 的基础上,首先计算得到 R(i,j) 部分对应的表示:
然后对 R(i,j) 进行实体类别的分类,并定义loss:
Multitask Training
多任务的 loss 如下定义, 其中 是控制各子任务重要性的超参
实验
实验部分主要介绍了所用的数据集、Baseline、参数设置 和 评价函数。
结果与讨论
-
分析总体实验结果。结果显示,本文模型的实验结果超越了现有的SOTA模型,且作者认为由于本文方法能更准确地发现entity边界以及 end2end 多任务抽取模式带来的提升,并在下文进行了分析。
-
分析Boundary Detection上的实验结果。从文中表5,6 看出本文在Boundary Detection 上就取得了比其他模型更好的效果,作者将这归因于multiLoss 同时考虑了 实体边界与实体类型间依赖; 同时,正是因为Boundary Detection 上更好的实验效果,整个 nested NER 任务才取得了更好的效果。
-
分析本文模型与现有模型在 Inference Time 上的区别。本文模型取得了更高的效率,作者将这归因于 本文发现的 entity boundary 是更精确的,较之前人工作,non-entity boundary 更少。
-
分析多任务学习的影响。作者将本文的 Boundary Detection 与 EntityLabel Prediction 用 Pipiline 的方式进行了运行,发现仍旧是ene2end取得了较好的结果。作者将这归因于,** Multi-task Learning 能够捕捉到 实体边界和实体类型标签间隐含的依赖信息**。
-
分析本文模型在** Flat NER** 任务上的结果。作者用本文模型在 JNLPBA DataSet 进行了 Falt NER 的实验,仍旧取得了较好的效果。
-
实例分析。作者通过一则实例对不同方法的特点进行分析,例句中 human TATA binding factor 是内嵌于 transcriptionally active human TATA binding factor的实体,Layered model 都只检出了 outer entity, 这说明相比之下本文模型能更加准确地发现 entity 的区间范围; 而本文方法的 PipiLine 模式只检测出了 inner entity, 这说明 Multitask 的方法能够在边界检测模块和实体类型预测模块间进行信息共享,这有助于结果的提升。
了解更多深度学习相关知识与信息,请关注公众号深度学习的知识小屋