天天看点

[论文解读]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

[论文解读]EMNLP2019: A Boundary-aware Neural Model for Nested NER

在 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 信息, 或是 将边界预测和标签分类两个字任务太过于隔离,没有很好地利用现有的上下文信息。
  • 本文提出的模型,则是用 更少、更精确的实体边界信息,来提高实体分类的性能。

模型

[论文解读]EMNLP2019: A Boundary-aware Neural Model for Nested NER

本文模型具体包括以下部分:

Token Representaiton

对于包含 n n n 个tokens的句子 ( t 1 , t 2 , . . . , t n ) (t_1, t_2, ..., t_n) (t1​,t2​,...,tn​), 通过如下三个步骤得到初始的表示:

  • 通过 lookup table 获取 t i t_i ti​ 的 word embedding:

    x i w = e w ( t i ) x_i^w = e^w(t_i) xiw​=ew(ti​)

  • 若一个token t i t_i ti​ 包含若干个 characters x i c x_i^c xic​, 则先通过 e c ( x i c ) e^{c}(x_i^c) ec(xic​) 得到其对应的词向量,然后通过 BiLSTM 得到每个字符的表示:

x i c = [ h i c ← ; h i c → ] x_i^c = [ \overleftarrow{h_i^c}; \overrightarrow{h_i^c}] xic​=[hic​

​;hic​

​]

  • 最后将 token 和 对应字符的表示进行拼接:

x i t = [ x i w , x i c ] x_i^t = [x_i^w, x_i^c] xit​=[xiw​,xic​]

Shared Feature Extractor

在得到 x i t x_i^t xit​ 的表示后,通过 BiLSTM 再次进行特征抽取:

[论文解读]EMNLP2019: A Boundary-aware Neural Model for Nested NER

Entity Boundary Detection

在边界检测阶段,对于句子 ( t 1 , t 2 , . . . , t n ) (t_1, t_2, ..., t_n) (t1​,t2​,...,tn​), 我们将其包含的 entity 表示为 R ( i , j ) R(i,j) R(i,j), 表示 ( t i , t i + 1 , . . . , t j ) (t_i, t_{i+1}, ..., t_j) (ti​,ti+1​,...,tj​) 构成一个实体。具体地,将 t i t_i ti​ 和 t j t_j tj​ 标注为 B 和 E, 区间内的token标注为 I, 非实体的token标注为 O。

对于每个token, 通过如下计算预测其对应的边界标签:

[论文解读]EMNLP2019: A Boundary-aware Neural Model for Nested NER

并通过下式定义 boundary detection 的 loss:

L b c l s = − ∑ ( d i t ^ log ⁡ ( d i t ) ) L_{bcls} = -\sum{(\hat{d_i^t} \log(d_i^t))} Lbcls​=−∑(dit​^​log(dit​))

Entity Categorical Label Prediction

基于 boundary detection 得到 R(i,j) 的基础上,首先计算得到 R(i,j) 部分对应的表示:

R i , j = [ 1 j − i + 1 ∑ k = i j h k t ] R_{i,j} = [ \frac{1}{j-i+1} \sum_{k=i}^j{h_k^t}] Ri,j​=[j−i+11​k=i∑j​hkt​]

然后对 R(i,j) 进行实体类别的分类,并定义loss:

[论文解读]EMNLP2019: A Boundary-aware Neural Model for Nested NER

Multitask Training

多任务的 loss 如下定义, 其中 α \alpha α 是控制各子任务重要性的超参

a l p h a ∑ L b c l s + ( 1 − α ) ∑ L e c l s alpha \sum{ L_{bcls} }+ (1-\alpha) \sum{L_{ecls}} alpha∑Lbcls​+(1−α)∑Lecls​

实验

实验部分主要介绍了所用的数据集、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 的方法能够在边界检测模块和实体类型预测模块间进行信息共享,这有助于结果的提升。
[论文解读]EMNLP2019: A Boundary-aware Neural Model for Nested NER

了解更多深度学习相关知识与信息,请关注公众号深度学习的知识小屋

[论文解读]EMNLP2019: A Boundary-aware Neural Model for Nested NER

继续阅读