©原创作者 | 疯狂的Max
01 背景
命名实体识别任务分为嵌套命名实体识别(nested NER)和普通命名实体识别(flat NER),而序列标注模型只能给一个token标注一个标签,因此对于嵌套NER任务,需要使用两个以上的序列标注模型来完成标注任务。
为了解决这一问题大部分人[1][2][3]用pipelined systems处理嵌套NER任务,但这种处理方式存在错误传播、运行时间长、手工提取特征强度大等问题。
受到当下一些研究者[4][5]将NLP问题转换为QA任务的启发,作者提出一种统一化MRC框架来同时解决nested NER和flat NER两种类型任务。
具体来说,就是将NER任务从原本的序列标注转变为MRC的任务形式[6]:每一个实体类型被表述为一句自然语言陈述的问句query,与文本context一起作为输入进入模型,对应的answer为问句中询问的实体在文本中的span位置或者对应的span内容。
此外,用MRC框架来解决NER任务的构想还带来了另一个好处。传统的NER任务,仅仅通过标注文本中的每个字符来解决问题,并没有充分利用对实体类型本身的语言表述所蕴含的先验知识。
而MRC任务,query中对实体类型本身的表述会一起进入模型,帮助模型理解实体类型的含义,从而更有利于在给定的context找出对应的实体。
举个例子,当query是“find an organization such as company, agency and institution in the context”,那么这样的query会促使模型将“organization”这个词和context中真正识别到的 organization 类型的实体联系起来。
同时,通过编码query中对“organization”更复杂的表述(“such as company, agency and institution”)进一步帮助模型消除对organization这一实体类型的近似类型的歧义,更好的理解“organization”这一实体类别本身的含义。
作者将BERT-MRC在nested NER和flat NER数据集上都进行实验,结果表明其性能都取得了SOTA的效果。
02 相关工作
1.NER
传统的NER任务都是通过序列标注模型实现的,从CRF发展到结合神经网络模型(LSTM,CNN,BiLSTM)+CRF的结构,而最近几年的大规模预训练模型BERT和ELMo进一步提升了NER任务的效果。
2.Nested NER
从2003年开始,就有研究针对实体的重叠问题采用手工规则进行定义。而后,相继出现用双层CRF结构的模型、基于语法树的模型等方式解决嵌套实体识别任务。近年来,随着预训练模型的兴起,一些研究利用BERT-based model处理nested NER任务,亦或是将其转化为sequence-to-sequence问题来处理。
3.MRC
MRC模型是指通过query来抽取出context中对应的answer spans,本质上来说属于2个多分类任务,即需要对context中的每个token输出其是否为answer span的starting position和ending position。
在过去的一两年里,各种NLP