嵌套命名实体识别任务简介

  • Post author:
  • Post category:其他



来自:哈工大讯飞联合实验室


本期导读




嵌套命名实体是一种特殊形式的命名实体,由于其复杂的层次化结构,传统的基于序列标注的命名实体模型不能很好地解决嵌套命名实体识别的任务。因此,自然语言处理领域的研究者们提出了很多专门解决嵌套命名实体识别任务的模型和方法。本文简要介绍了两类经典的解决嵌套命名实体识别任务的模型及其优缺点,并介绍了一个近期的与嵌套命名实体识别任务相关的工作。

•••

嵌套命名实体识别任务介绍

命名实体识别任务是自然语言处理领域中一项十分基本的任务,该任务的目的是识别自然语言文本中特定类型的实体,如人名、地名、机构名等。命名实体识别任务通常被建模为字符级别的序列标注任务,即对于一串输入的字符序列,命名实体识别模型需要预测出每个字符对应的命名实体标签。

嵌套命名实体是一种特殊的命名实体,即在一个实体的内部还存在着一个或多个其他的实体。例如,”南京大学“属于组织机构名类型的实体,而”南京大学“中的”南京“同时也是地名类型的实体。对于这种具有嵌套结构的命名实体,传统的基于序列标注的命名实体模型是难以直接有效地处理的。因此,越来越多的研究者们开始关注嵌套命名实体识别的问题,提出了一些专门适用于嵌套命名实体识别任务的模型。为了下文叙述的方便,本文将普通的非嵌套的命名实体称为Flat NER,将嵌套命名实体称为Nested NER。

嵌套命名实体识别任务数据集

比较常用的含有嵌套命名实体的数据集主要有以下几个:新闻领域的数据集ACE 2004,ACE 2005;生物医学领域的数据集GENIA 。ACE 2004,ACE 2005数据集中主要包含7种实体类型,其中含有嵌套命名实体的句子占30%左右。GENIA数据集中主要包含4种实体类型,其中含有嵌套命名实体的句子占17%左右。由这些数据集可以看出,嵌套命名实体在自然语言中还是占有一定程度的比例的。

解决嵌套命名实体识别任务的经典模型

本文主要介绍以下两类解决Nested NER任务的模型:

第一类模型可以称为层叠式模型(Layered-based Model),该模型是通过堆叠多个Flat NER识别层的方式来识别Nested NER中的层次化结构。下图展示的是Ju等人的提出的层叠式模型的结构,该模型首先通过Flat NER识别层识别最内层的实体,如果有实体被识别出,模型就会在当前的Flat NER识别层上继续堆叠一个新的Flat NER识别层,直到不再有实体被识别出时。由于这种层叠式的模型结构,外层实体可以充分利用内层实体的信息,从而帮助外层实体的识别。但是,这种层叠式的模型结构也在一定程度上带来了错误级联问题,并且只能保证信息的单向传递,无法使得内层实体利用外层实体的信息。

图1 Layered-based Model

第二类模型可以称为基于区域的模型(Region-based Model),该模型是通过穷举字符序列中所有可能的片段(Span)的方式来识别出序列中所有的实体。下图展示的是Sohrab等人提出的一种基于区域的模型,该模型首先穷举出所有小于最大实体长度的Span,然后对每个Span进行向量表示,最后通过一个分类器去给每个Span打上实体类型或非实体的标签。这种模型虽然避免了层叠式模型具有的错误级联的问题,但是外层实体信息和内层实体信息完全无法交互。

图2 Region-based Model

嵌套命名实体识别任务近期进展

本文重点介绍一篇发表于ACL 2020上的研究嵌套命名实体识别问题的论文:


Bipartite Flat-Graph Network for Nested Named Entity Recognition


。该论文将图神经网络的相关技术应用到了嵌套命名实体识别任务中,实现了外层实体信息和内层实体信息的双向交互,在一些数据集上取得了SOTA的效果。下图展示的是该论文提出的模型的基本架构,该模型主要有两部分组成,一部分是基于BiLSTM-CRF的Flat NER识别模块,一部分是基于Bi-GCN的图神经网络模块。

图3 Bipartite Flat-Graph Network for Nested Named Entity Recognition

对于输入的Token序列

,该模型首先需要通过Flat NER模块识别出最外层实体,然后根据最外层实体的识别结果构造出一个用于所有内层实体识别的图结构。假设Flat NER模块识别出序列

为一个最外层实体,那么我们就可以构造出一个顶点集合为

,有向边集合为的图结构,图中的每条边就代表一个可能的内层实体的Span。接下来,我们就可以利用Bi-GCN对这个图的特征进行编码,并对图中的每条边进行分类,给每条边打上实体类型或非实体的标签,从而实现了内层实体的识别。

为了实现外层实体信息和内层实体信息的双向交互,该模型将内层实体的识别结果转化为了一个新的图结构,该图结构中只保留了预测出的实体所对应的边,并且用预测得到的最大实体类型的概率作为这条边的权重。这个新的图结构会再次被Bi-GCN编码,并将编码结果加入到Flat NER模块输入的表示中,从而实现外层实体信息对内层实体信息的利用。

下图展示了该模型在一些嵌套命名实体识别数据集上的效果,可以看出,该模型在GENIA和KBP2017数据集上的指标获得了一定程度的提升。

图4 Experimental Results

总结

嵌套命名实体是一种特殊形式的命名实体且在自然语言中占有一定程度的比例。因此,设计能够有效识别嵌套命名实体的模型和方法成为自然语言处理领域比较关注的问题。本文简要地介绍了两类经典的解决嵌套命名实体识别任务的模型:层叠式模型和基于区域的模型,并分析了这两类模型的优缺点,这两类模型是很多后续工作的基础。另外,本文还介绍了一篇发表于ACL 2020上的研究嵌套命名实体识别问题的论文,该论文设计了一种可以使外层实体信息和内层实体信息双向交互的方式,对后续相关的工作具有一定程度的启发意义。


参考文献

[1] Ju M, Miwa M, Ananiadou S. A neural layered model for nested named entity recognition[C]//Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers). 2018: 1446-1459.

[2] Sohrab M G, Miwa M. Deep exhaustive model for nested named entity recognition[C]//Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing. 2018: 2843-2849.

[3] Zheng C, Cai Y, Xu J, et al. A boundary-aware neural model for nested named entity recognition[C]//Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP). 2019: 357-366.

[4] Luo Y, Zhao H. Bipartite Flat-Graph Network for Nested Named Entity Recognition[J]. arXiv preprint arXiv:2005.00436, 2020.

[5] Katiyar A, Cardie C. Nested named entity recognition revisited[C]//Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers). 2018: 861-871.

[6] Lu W, Roth D. Joint mention extraction and classification with mention hypergraphs[C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. 2015: 857-867.

原文:申资卓

编辑:HFL编辑部

下载一:中文版!学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!

后台回复【五件套】
下载二:南大模式识别PPT

后台回复【南大模式识别】


说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面

最上方



深度学习自然语言处理

”,进入公众号主页。

(2)点击

右上角的小点点

,在弹出页面点击“

设为星标

”,就可以啦。

感谢支持,比心

投稿或交流学习,备注:

昵称-学校(公司)-方向

,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦


推荐两个专辑给大家:


专辑 |

李宏毅人类语言处理2020笔记


专辑 | NLP论文解读


专辑 | 情感分析


整理不易,还望给个在看!