论文题目:A Unified MRC Framework for Named Entity Recognition
论文作者:Xiaoya Li♣, Jingrong Feng♣, Yuxian Meng♣, Qinghong Han♣, Fei Wu♠ and Jiwei Li♣
♠ Department of Computer Science and Technology, Zhejiang University
♣ Shannon.AI
论文链接:https://arxiv.org/pdf/1910.11476.pdf
代码链接:https://github.com/ShannonAI/mrc-for-flat-nested-ner
该论文收录于ACL2020,提出了一个处理嵌套与非嵌套命名实体识别任务的统一框架。
通常我们根据命名实体是否嵌套将命名实体识别(named entity recognition,NER)任务分为嵌套命名实体识别(nested NER)与非嵌套命名实体识别(flat NER)。模型通常也是分别针对两个任务开发的,序列标注模型只能针对一个token分配一个label,这不适用于嵌套模型,因为嵌套模型中的一个token可能被分配多个label。
作者提出统一处理nested NER与flat NER的框架,不将NER视为序列标注问题,而是将其视为一个机器阅读理解(machine reading comprehension ,MRC)任务。
例如,我们想要提取PER标签的实体,我们可以将其形式化为提取问题“which person is mentioned in the text”的答案跨度。如果想要提取两个不同类别的实体,只需要分别回答两个独立的问题即可,这就解决了嵌套NER中实体覆盖的问题。另外,由于查询编码了丰富的先验知识,加速了实体提取的进程,在嵌套NER上以及非嵌套NER上都产生了更好的性能。
作者分别在嵌套NER与非嵌套NER数据集上进行了实验,结果表明了所提出方法的有效性。在嵌套NER上,作者选取了ACE04, ACE05, GENIA and KBP17这四个数据集,相比于当前的SOTA模型,分别有+1.28, +2.55, +5.44, +6.37的提升。在非嵌套NER上,作者选取了两个英文数据集 CoNLL 2003, OntoNotes 5.0, 以及两个中文数据集 MSRA , OntoNotes 4.0,分别有+0.24, +1.95, +0.21, +1.49的提升。
Introduction
NER是从给定文本中识别实体跨度并对其进行语义分类的任务。这个任务被分为两个子任务:嵌套NER,非嵌套NER。
嵌套NER指的是实体提及的跨度嵌套的现象,如下图中例子所示,PEBP2是PROTEIN类别的实体mention,而PEBP2 site是DNA类别的实体mention,这两个实体mention相互嵌套。在自然语言中,这种现象非常普遍。
flat NER通常被形式化为序列标注任务,每一个token只分配一个label,这不适用于nested NER,因为一个token如果参与了多个实体,那么一个token会被分配多个label。大多数nested NER使用的是pipeline方法,pipeline方法会有导致错误传播,运行时间长以及需要很多人工特征等缺点。
由于受到当前将NLP任务形式化为问答任务趋势的激励,作者提出了这个统一处理嵌套与非嵌套NER的方法,将其转化为机器阅读理解任务。该方法将每个实体类型表征为一个自然语言查询,对于给定文本,通过回答问题将实体提取出来。比如,我们要将 PER 分配给“[Washington] was born into slavery on the farm of James Burroughs”,就可以将其转化为回答“which person is mentioned in the text?”这个问题。
MRC模型通过给定问题从文章中提取答案跨度。这个任务可以被形式化为两个多分类任务,即预测答案跨度的开始位置和结束位置。在过去一两年,有着将NLP任务转化为MRC问答任务的趋势,比如Levy et al. (2017) 将关系提取任务转化为QA任务,McCann et al. (2018) 将总结或情感分析这样的NLP任务转化为问答任务。而本篇论文极大程度上受到Li et al. (