论文链接:Deep Exhaustive Model for Nested Named Entity Recognition
Abstract
我们提出了一种简单的深层神经网络模型用于嵌套命名实体识别。大多数NER模型只关注扁平实体而忽略了嵌套实体,不能充分捕捉文本中的潜在语义信息。我们模型的关键思想是枚举潜在实体的所有可能区域或跨度,并用深度神经网络对它们进行分类。为了降低计算成本和捕获区域周围的上下文信息,该模型使用共享的底层双向长短期记忆网络的输出来对区域进行表示。我们在生物医学领域的GENIA和JNLPBA语料库上评估了模型,结果表明,在没有任何外部知识资源的情况下,我们的模型在嵌套和扁平NER上的F值分别达到了77.1%和78.4%,优于目前最先进的模型。
1 Introduction
命名实体识别(NER)任务的目的是在文本中找到具有特定语义类型(如蛋白质、细胞和RNA)的实体。NER通常被视为序列标记任务,其中每个Token都用与其周围实体相对应的标签进行标记。但是当实体相互重叠或嵌套时,将此任务视为序列标记任务就变得困难了,因为单个Token可以包含在多个实体中,很难为每个Token只定义一个标签。例如,下面的短语来自GENIA语料库(Kim et al., 2004):
[
[
[
[
I
L
−
2
]
P
r
o
t
e
i
n
r
e
c
e
p
t
o
r
]
P
r
o
t
e
i
n
(
I
L
−
2
R
)
a
l
p
h
a
c
h
a
i
n
]
P
r
o
t
e
i
n
g
e
n
e
]
D
N
A
[[[[IL-2]^{Protein} receptor]^{Protein} (IL-2R) alpha \quad chain]^{Protein} gene]^{DNA}
[[[[IL−2]Proteinreceptor]Protein(IL−2R)alphachain]Proteingene]DNA
这是一个四层嵌套实体:“IL-2”本身是一个蛋白质实体,但它也是其他两个蛋白质实体和一个DNA实体的一部分。
命名实体识别任务作为许多自然语言处理应用的第一步受到了广泛的关注,包括关系提取(Miwa and Bansal, 2016)、事件提取(Feng et al., 2016)、共指消解(Fragkou, 2017; Stone and Arora, 2017)和实体链接(Gupta et al., 2017)。然而许多关于NER的工作都忽略了嵌套实体,而是选择关注非嵌套实体,它们也被称为扁平实体。只有少部分研究针对嵌套命名实体识别 (Muis and Lu, 2017; Lu and Roth, 2015; Finkel and Manning, 2009)。
近年来,神经网络在扁平命名实体识别方面取得了令人印象深刻的性能提升(Lample et al., 2016; Ma and Hovy, 2016; Gridach, 2017; Strubell et al., 2017)。这些神经网络模型可以实现最先进的结果,而不需要任何手工定义的特征或外部知识资源。但相比之下,很少有方法强调嵌套实体的识别问题。现有的嵌套NER方法(Shen et al., 2003; Alex et al., 2007; Finkel and Manning, 2009; Lu and Roth, 2015; Xu et al., 2017; Muis and Lu, 2017)大多是基于特征的,并因此受限于复杂的特征工程。在本文中,我们提出了一种新的神经网络穷举模型,该模型可以推理一个指定范围内的所有区域。具体来说,该模型使用双向长短期记忆网络的输出来表示每个区域,方法是将区域的边界表示和内部表示相结合,通过取与区域内Tokens相对应的LSTM输出值的平均,简单地平等对待区域中的所有Tokens。然后将区域划分为实体类型或非实体类型。与依赖于Token标签的现有模型不同,我们的模型直接使用实体类型作为区域的标签。该模型不依赖任何外部知识资源或NLP工具,如词性标注器。我们在生物医学领域的GENIA和JNLPBA语料库上对模型进行了评估,模型的F值分别达到了77.1%和78.4%,这是在语料库上的最优表现。
2 Neural Exhaustive Model
我们所提出的模型利用一个神经网络,详尽地考虑了一个句子中所有可能的区域;因此,我们称该模型为穷举模型(Exhaustive Model)。该模型建立在一个共享的双向LSTM层上,并枚举所有可能包含嵌套实体的区域。然后使用LSTM层的输出来表示区域,并从区域中检测实体。可能的区域数量取决于预定义的最大范围的大小。在本节中,我们详细描述了穷举神经网络模型的体系结构,如图1所示。
2.1 Word Representation
我们通过连接词嵌入和基于字符的词表示来表示每个单词。预先训练的词嵌入被用于初始化词嵌入(Chiu et al., 2016)。对于基于字符的词表示,我们按照Ma and Hovy (2016)和Lample et al. (2016)将字符嵌入用于扁平NER任务的成功经验,对每个单词的字符级信息进行编码。一个单词中每个字符的嵌入是随机初始化的。我们将包含一个单词所有字符的字符嵌入序列输入到双向LSTM层,并将前向和后向输出连接起来以获得单词表示。
2.2 Exhaustive Combination using LSTM
给定一个输入句子序列
X
=
{
x
1
,
x
2
,
.
.
.
x
n
}
X=\{x_1,x_2,...x_n\}
X={x1,x2,...xn},其中
x
i
x_i
xi表示第
i
i
i个单词,
n
n
n为句子序列中的单词数,将单词和字符的分布式嵌入反馈到双向LSTM层,该层以前向
h
→
=
{
h
1
→
,
h
2
→
,
.
.
.
h
n
→
}
\overrightarrow{h}=\{\overrightarrow{h_1},\overrightarrow{h_2},...\overrightarrow{h_n}\}
h={h1,h2,...hn}和后向
h
←
=
{
h
1
←
,
h
2
←
,
.
.
.
h
n
←
}
\overleftarrow{h}=\{\overleftarrow{h_1},\overleftarrow{h_2},...\overleftarrow{h_n}\}
h={h1,h2,...hn}的方式计算隐藏向量序列。我们将前向和后向输出连接为
h
i
=
[
h
i
→
;
h
i
←
]
h_i=[\overrightarrow{h_i};\overleftarrow{h_i}]
hi=[hi;hi],其中
[
;
]
[;]
[;]表示连接。
通过LSTM的输出
h
i
h_i
hi,我们的穷举模型通过穷举组合共享所有可能区域的潜在表示。我们生成所有大小小于或等于最大范围
L
L
L的可能区域。我们使用
r
e
g
i
o
n
(
i
,
j
)
region(i,j)
region(i,j)表示
i
i
i到
j
j
j的区域,其中
1
≤
i
<
j
≤
n
,
j
−
i
<
L
1 \le i<j \le n, j-i<L
1≤i<j≤n,j−i<L。
2.3 Region Representation and Classification
我们通过将区域分为边界表示和内部表示来表示区域。边界表示对于捕获区域周围的上下文非常重要。为此,我们简单地依赖于与目标区域的边界词相对应的双向LSTM层的输出。对于内部表示,我们简单地对区域中双向LSTM层的输出进行平均,以平等的对待它们。内部表示包括边界词的输出,以保证具有相应的输出。总之,我们获得了
r
e
g
i
o
n
(
i
,
j
)
region(i,j)
region(i,j)的表示
R
(
i
,
j
)
R(i,j)
R(i,j)如下:
然后,我们将每个分段区域的表示提供给ReLU作为激活函数。最后,将激活层的输出传递给Softmax输出层,以将区域划分为特定的实体类型或非实体类型。
穷举模型根据最大实体长度表示所有可能的区域,并对所有区域进行分类。在穷举模型中,每个句子的分类总数为
O
(
l
m
n
)
O(lmn)
O(lmn),其中
l
l
l是句子中单词的总数,
m
m
m是最大的实体长度,
n
n
n是可能的实体类型的总数。Finkel and Manning (2009)和Alex et al. (2007)提出了基于特征的方法来处理嵌套NER。他们模型的时间复杂度是昂贵的,即复杂度是句子中单词数量的立方。而穷举模型速度很快,因为我们只运行一次LSTM,并且可以对从LSTM输出创建的组合并行执行分类。
与字符级标记器不同,穷举模型对每个区域进行独立的分类。这使得模型很灵活,因此它可以直接包含短语级别的字典信息,并且我们可以调整每种类型的偏差,这与 CRF 不同。我们把这个评估留给我们未来的工作。
3 Experimental Settings
我们在GENIA(Kim et al., 2003)和JNLPBA(Kim et al., 2004)数据集上评估了我们的穷举模型,为模型在嵌套和扁平NER中的有效性提供了经验证据。表1显示了GENIA数据集的统计信息。
模型在Chainer深度学习框架中实现。我们采用了基于MEDLINE摘要(Chiu et al., 2016)进行训练的预训练词嵌入,该摘要包含了2,231,686个词汇的200维嵌入。使用ADAM(Kingma and Ba., 2015)进行批次大小为100的学习。我们在所有的实验中使用了相同的超参数:词嵌入的维数被设置为200,字符嵌入的维数被设置为25,隐藏层大小为200,梯度裁剪设置为5,ADAM超参数设置为默认值(Kingma and Ba., 2015)。
为了深入了解模型参数,我们比较了不同区域的模型。我们从3、6、8和10中选择了最大区域范围的大小,并采用了不同的区域表示。我们尝试了仅有边界表示(Boundary)、仅有内部表示(Inside)和区域表示(Boundary+Inside)。
我们使用准确率、召回率和F值来评估模型。我们还比较了single-token v.s. multi-token entities以及top-level v.s. nested entities的性能。
4 Results and Discussions
4.1 Nested NER
表2显示了在测试数据集上我们的模型与先前几个最先进嵌套NER模型的比较。我们的模型在F值方面优于最先进的模型。表2中的结果基于带有字符嵌入的双向LSTM,且最大区域大小为10。
表3描述了在测试数据集上我们的模型在不同实体级别上的性能。结果显示该模型在多Tokens和顶级实体上表现良好。这是有趣的,因为它们通常被认为对于序列标记模型是很困难的。
表4显示了测试数据集上五种实体类型的性能。这里我们展示了Finkel and Manning (2009) (F&M) 模型的性能以供参考。除了RNA类型外,我们的模型比他们的模型均表现得更好。
4.2 Ablation Tests
我们展示了开发数据集上的性能差异,以比较所提出方法的可能场景,并报告我们穷举模型中每个组件的重要性。
表5显示了不同最大区域范围下的覆盖率和性能。由于GENIA数据集的平均实体长度小于4,因此当最大区域范围为6或6以上时,模型几乎可以覆盖所有实体。为了覆盖所有的实体,需要更长的最大区域范围,但也增加了更多的计算成本。幸运的是,性能并没有随着更长的最大区域范围而降低,尽管这样会引入了更多的非实体区域。
表6中字符嵌入组件的消融实验也显示了字符嵌入的重要性。它还表明,边界信息和内部信息(即区域中嵌入的平均值)对于提高性能都是必要的。
4.3 Flat NER
我们在扁平命名实体识别数据集JNLPBA上评估了我们的模型,该数据集移除了嵌套的和不连续的实体。表7显示了我们的模型在JNLPBA数据集上的性能。我们将结果与Gridach(2017)的最先进的结果进行了比较,后者的F值达到了75.8%,而我们模型的F值达到了78.4%。
5 Related Work
近年来,人们对嵌套NER的兴趣有所增加,但仍然存在NER模型一次只能处理一个平面的情况。Zhou et al. (2004)以自底向上的方式检测嵌套实体。他们检测出最内层的扁平实体,然后使用从检测到的实体派生的规则找到包含扁平实体作为子串的其他嵌套实体。作者报告了在GENIA语料库(Collier et al., 1999)的某些条件下,F值提高了约3%。Katiyar and Cardie (2018)提出了一种基于神经网络的方法,利用从循环神经网络中提取的特征学习嵌套实体的超图表示。作者报告说,该模型优于现有的最先进的基于特征的方法。
最近的研究表明,条件随机场可以在扁平(Athavale et al., 2016)或嵌套(将平面NER堆叠成嵌套表示)(Son and Minh, 2017)命名实体识别任务中显著提高标记精度。Ju et al. (2018)提出了一种新的神经网络模型,它通过动态叠加扁平的NER层直到没有外部实体被提取出来,来解决嵌套实体识别。在每个平面层的LSTM输出之后使用级联CRF层。作者表明该模型的F值达到了74.5%,超过了目前最先进的结果。Finkel and Manning (2009)提出了一种基于树的表示方法,将每个句子表示为嵌套实体的成分树。所有实体都被视为短语并表示为遵循整个树结构的子树,并使用由实体级特征驱动的基于CRF的方法来检测嵌套实体。我们通过训练一个穷举神经模型来学习哪些区域是实体以及如何最好地对这些区域进行分类,证明了在没有CRF的情况下可以显著提高性能。
6 Conclusion
本文提出了一个穷举神经网络模型,该模型穷举地考虑了嵌套NER的所有可能区域。该模型从底层的共享LSTM层获得每个区域的表示,并通过连接区域的边界表示和内部表示(平均区域内单词的嵌入)来表示区域。然后将区域划分为实体类型或非实体类型。该模型不依赖任何外部的NLP工具。在实验中,我们表明我们的模型可以从所有可能区域生成的实体候选中检测出嵌套命名实体。我们的穷举模型在扁平和嵌套NER的F值方面都优于现有模型。
在未来的工作中,我们将研究区域级信息的使用,并考虑对区域之间的依赖关系进行建模。