作者:任
单位:燕山大学
论文概述
论文来源
该论文来自于ACL,发表于2019年。
提出了一种用于多粒度命名实体识别的神经网络框架MGNER,该框架允许句子中的多个实体(entities)或实体提及(entity mentions)不重叠或完全嵌套。MGNER框架具有高度模块化的特点,每个组件都可以采用多种神经网络实现。实验结果表明,无论是嵌套的NER任务还是传统的非重叠NER任务,MGNER都能得到最先进的效果。
引言
命名实体识别是什么?
命名实体识别(Named Entity Recognition, NER),即从原始文本中识别有意义的实体,如人名,地名等专有名词,NER对理解自然语言的语义起着至关重要的作用,是NLP的基本任务之一。提取的命名实体可以便于后续的各种NLP任务,包括语法解析、问答和关系抽取。
问题
以往的研究将NER看作是一个序列标记问题。例如,将RNN与条件随机场(CRF)相结合,在NER任务上可取得不错的性能。然而,这样只识别原始文本上的单一序列扫描中不重叠的实体,而无法检测嵌套的命名实体,这些实体被嵌入较长的实体提到中,如图所示:
可见句中两个实体(Chinese,France)嵌套在一个实体(the Chinese embassy in France)中。
由于自然语言的语义结构,嵌套实体可能无处不在。在过去数年也有许多用于提取嵌套命名实体的方法被提出。这些模型显式地设计用于识别嵌套的命名实体。但与序列标记模型相比,它们在非重叠命名实体识别方面表现不佳。
为了解决以上问题,该文提出了一种新的神经网络框架MGNER,用于多粒度命名实体识别。同时适用于处理嵌套NER和非重叠NER。
提出的框架
上图概述了用于多粒度实体识别的MGNER框架,MGNER的思想即:首先通过检测器检测不同粒度的实体位置,然后通过分类器将这些实体分类到不同的预定义类别中。MGNER有五种类型的模块:词处理器,句处理器,实体处理器,检测网络,分类网络。且每个模块都可以采用多种神经网络结构。
MGNER包括两个子网络:检测器和分类器。其中检测器检测所有可能的实体位置,而分类器的目的是将检测到的实体分类到预定义的实体类别。
MGNER中的每个模块都可以用各种不同的神经网络来替代。例如,BERT可以用作文字处理器,胶囊模型可以集成到分类网络中。
为了提高学习速度和MGNER的性能,该模型使用一系列共享的输入特征对检测器和分类器进行训练,包括预先训练的单词嵌入和预先训练的语言模型特征。在检测器中训练的句子级语义特征也被转移到分类器中,以引入和利用上下文信息。
检测器
该检测器包含三个模块:提取词级语义特征的词处理器,为每个语句学习上下文信息的句子处理器,判断词段是否为实体的检测网络。
目的是在每个语句中检测可能的实体位置。它以一个语句作为输入,并输出一组候选实体。检测器的体系结构如框架图左侧所示。即,通过预先训练的词嵌入、POS标签信息和字符级的单词信息,生成有语义意义的词表示。词表示被连接在一起,从而产生上下文感知的句表示。然后在检测网络中检查每个可能的词段,并决定是否接受它作为一个实体。
词处理器
词处理器为每个token提取语义上有意义的词表示。给定一个有K个token的输入句子,每个token通过将预先训练好的词嵌入 w k \textbf{w}_k wk、POS标签(词性标注)嵌入 p k \textbf{p}_k pk、和字符级的单词信息 c k \textbf{c}_k ck连接起来,每个token就表示为:
x k = [ w k ; p k ; c k ] \textbf{x}_k=[\textbf{w}_k;\textbf{p}_k;\textbf{c}_k] xk=[wk;pk;ck]
通过GloVe得到预训练词向量 w k \textbf{w}_k wk,通过双向LSTM层捕获形态信息,得到字符级单词信息 c k \textbf{c}_k