Press "Enter" to skip to content

《Pyramid》阅读笔记

Pyramid: A Layered Model for Nested Named Entity Recognition

 

ACL 2020 Jue Wang 浙江大学CAD&CG实验室

 

Source: Pyramid: A Layered Model for Nested Named Entity Recognition

 

Abstract

 

我们干了什幺:提出了一个分层嵌套实体抽取模型。

 

我们大概怎幺做 首先,我们把词or文本区域embedding循环喂给L层flat NER层。从底到高,堆成一个金字塔型。一个embedding每一次通过金字塔到一层,长度会减1。它的l层隐藏层表示输入的l-gram,它会在其对应的文本区域是一个完整实体时被标注。 其次,我们设计一个反向金字塔来实现层之间的双向交互。

 

我们的实验效果 我们提出的模型在嵌套NER数据集,ACE2004,ACE2005,GENIAl,NNE上获得最佳的F1值,分别为80.27, 79.42, 77.78, 93.70, 加上语义模型后取得87.74, 86.34, 79.31, 94.68。

 

此外 我们的模型可以用于更多常规的重叠命名实体抽取。一个初步的实验验证了我们的方法在重叠实体的有效性。

 

Introruction

 

首先 由命名实体抽取过于简化问题,并且基于一个假设:实体不会互相嵌套或者重叠。这并不是真实情况。引出在真实情况下,实体可能会存在深层嵌套或重叠,需要用更复杂的模型来解决嵌套实体抽取问题。

那幺嵌套实体抽取问题,有什幺做法?

传统做法:

 

许多之前的方法注重的是直接识别嵌套实体。少部分工作采用专有模型如:选区图or超图来直接抓取嵌套实体。然而这类方法效果并不令人满意。

 

对于我们的baseline存在什幺问题?

 

一些其他的工作通过分层模型来处理嵌套实体,通过使用多个flat NER层,每一层负责预测一组相同嵌套级别的嵌套实体。

 

但是传统的分层模型无法处理更普通的重叠情况,而且受到层迷失的影响。层消失就是模型在错误的嵌套层输出嵌套实体。这导致得到一个FP预测,其中实体的span和class是正确的,但是在错误的层输出,这会导致模型趋向于不预测正确的实体,最后破坏召回率。这是一个很常见的问题。同时在2018年的一篇分层模型论文上提出了错误传播问题。

 

我们怎幺做

 

本文提出一种金字塔模型,模型由一堆内部连接层组成,其中每一层预测长度为L的实体,即每一层解码层需要干的事情就是确认当前的文本域(长度为L,但在embedding的长度为1)是否是一个完整实体。高层实体的embedding通过卷积操作聚合来自底层两个邻近实体隐藏状态。这里的金字塔源来就是高层句子长度比底层句子小一。经过这类卷积操作,模型会遍历所有的文本span,同时不改变句子结构。

由running example可以得知每一层解码层依赖于底层解码层,因此设计一个反向金字塔结构来接受来自高层的信息,实现信息反向流动。

 

模型解决了什幺问题以及贡献

 

解决了三个问题:

 

1. 它可以用于更多普遍的嵌套实体抽取任务

 

2. 通过长度为L的实体仅在层L预测来防止层迷失的产生

 

3. 减缓错误传播,因为一个层的预测不会表示其他层

 

贡献:

 

1. 提出一种金字塔模型,实现嵌套实体抽取问题且解决层迷失和错误传播问题,同时模型还能解决更普遍的重叠实体问题。

 

2. 除了常规的金字塔模型,还设计了反向金字塔模型实现邻层的信息交互。

 

3. 分别在四个数据集上实验。模型在没有添加语言模型情况下,相比之前的方法,均取得了最佳的性能。

 

4. 构建一个小的包含重叠但不嵌套的数据集,数据集上的初步结果展示了模型处理重叠实体的潜力。

 

Related work

 

首先讲了flat NER发展,接着讲nested NER的发展,分为直接抓住嵌套实体和分层模型两类讲。然后讲域分类模型,最后讲语义模型

 

Model

Input and Output

 

输入是一个长度为T的句子,经过编码后,递归输入到解码层,生成L个标注序列。这里仅仅标注B(这里认为n-gram是一个实体)。对于上面给出的例子,下面是标注结果。

但是上面的结构只能预测长度不超过L的实体,当长度超过L时则,无法预测。因此在最后一层同时预测B和I,来解决这个问题,这是一种贪心解法。变为下面结果。

Encoder

字符编码有利于模型处理OOV问题。

添加预训练编码信息,线性层维度还原。

 

Pyramid

LSTM:识别长度为l的实体 CNN:聚合两个邻接隐藏层的状态,同时使得句子长度减1,并传递给更高层解码。

 

这里注意输入的bias和scale不同于其他层的输入,这对训练不利,因此用layer normalization来解决。LN:模型更加稳定,反正模型过拟合,加快训练速度

 

Inverse Pyramid

通过另一个CNN加Padding来重建低层文本域embedding。对于中间层,串联上一层的normal和inverse隐藏层来作为CNN的输入。对于最后一层,由于没有inverse的隐藏层,用0替代。

 

两个好处: 1. 获取高层编码层的反馈,允许邻接编码层之间的信息交互

 

2. 由于需要重建低层句子embedding,这需要模型尽可能保持原始信息。从而减轻长实体的信息损失。

用前向传播层来预测类别

 

Experiment

 

Datasets

 

使用ACE-2004, ACE-2005, GENIA, NNE四份数据集。

 

其中,ACE系列和GENIAl采用这篇论文Joint mention extraction and classification with mention hypergraphs. NNE采用原始数据集和预处理

 

Training Detail

 

Basic:单向金字塔 FULL:双向金字塔

 

下面是超参数设置

预训练模型: Flair,char embedding(提供参考文章),BERT word embedding(提供参考文章),ALBERT

 

Result

实验结果表面模型性能取得最佳

 

下图是对L和推理速率对比较,可以看到L越小推理速率越快,这也是符合实际情况的。同时当L越大,模型的效果会变好。大于L模型预测使用一种贪心方法,这对模型的性能是有影响的。而且L在大于16后,略微出现一点过拟合效果。但是即使L取8或4,模型的性能仍比大多baseline要好。

Ablation

 

下面是对charembs,layernorm,lstm,reducelength实验。

Char Embedding:抓取拼写和形态特征,同时有利于解决OOV问题

 

Layer Normalization:对输入做一个归一化,消除输入bias和scale的影响。

 

Share LSTM:最大化利用训练数据,防止过拟合。

 

Method of Reducing Length:CNN有效的保留原始语义信息和抓取边界信息

 

Pyramid:L=1时,退化为常规NER

 

Overlapping Entity Recognition

这里作者自己创建了一个仅存在重叠实体,而不包含嵌套实体的数据集,实验结果表明模型能够有效的处理重叠NER问题。

 

Conclusion

 

本文提出来一个双向分层模型用于嵌套实体抽取。模型可以考虑低层到高层,高层到低层的全局信息,且不受到层迷失,错误传播影响。同时该模型适用普通的重叠实体任务。

 

个人认为的创新:

 

1. 提出一种金字塔模型,实现嵌套实体抽取问题且解决层迷失和错误传播问题。

 

2. 设计了反向金字塔模型实现邻层的信息交互。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注