第六周paper总结

两篇论文:

  • A neural transition-based model for nested mention recognition 构造解析树解决嵌套NER任务。

  • A Unified MRC Framework for Named Entity Recognition 使用阅读理解框架解决实体识别任务**(重点)**。

博客地址:https://ian-peace.github.io

The first paper, Parsing tree

《A neural transition-based model for nested mention recognition》

​ 论文将嵌套实体识别任务视为一个构造解析树的过程:在每一个时间步中,模型根据当前模型的状态来决定是给指定token赋予一个标签,还是给已经赋予标签的两段实体打上一个更高层次的标签(以此实现了标签的嵌套),再或是跳过当前处理的token,进行对下一个token的处理。

模型

Model

模型包括三个部分:

  • 一个队列:保存待处理的剩余tokens
  • 一个栈:保存已处理完的tokens,其中栈顶元素是当前处理的token
  • 一个操作器:根据目前的系统状态,来决定对栈顶元素执行哪一种解析操作。

三种解析操作:

  • Shift:将队列头部的一个token弹出,移入栈中。
  • Unary-X:将栈顶的元素弹出,给它打上标签[X],再重新压入栈中。
  • Reduce-X:弹出栈顶和次栈顶元素,给它们一起打上标签[X],再重新压入栈中。

问题

  1. Unary+Reduce操作最终得到的解析树中的每个实体只能是一棵二叉树
  2. 如果不停的进行无意义的操作,会显著加剧栈所占的内存空间,例如反复连续执行同一个类型的Unary。
  3. 如何判断当前应该执行哪一个解析操作。

解决:

  1. 将上一次所打标签的部分通过添加辅助标签,将其看作一个整体
  2. 人工添加规则来约束,禁止反复给一个元素标多个相同标签
  3. 对当前系统的状态(包括队列、栈、操作器历史操作)进行编码,将选择解析操作看作是分类任务

实验

Result

数据集使用的是ACE04、ACE05、GENIA,都是英文数据集,其中ACE04/05皆包含20%的嵌套实体,GENIA包含10%的嵌套实体。

针对在GENIA数据集上该论文表现不够理想的情况,作者在该数据集上对嵌套实体和非嵌套实体分开进行实验,结果如下:

Result for GENIA data

可以发现,在嵌套部分,提高的幅度更大,这表明模型在处理嵌套表示的有效性。因为ACE数据集比GENIA数据集有更多的嵌套结构,所以该模型在ACE数据集上有更明显的提升。

The second paper, MRC for NER

《A Unified MRC Framework for Named Entity Recognition》

模型

​ 受当前将NLP问题形式化为问答任务的趋势启发,论文不再将NER任务视为一个序列标记问题,而是将其表述为一个机器阅读理解(MRC)任务。

  • MRC任务:给定一段信息(passage)与给定一个问题(question),模型需要从信息中找到回答这个问题的短语(span)

  • NER任务:信息是待抽取实体的句子,问题是这个句子中的X标签的实体是什么?然后得到结果

**模型结构:**使用Bert作为主体模型,然后特别地训练三个分类器。

  • Bert的输入是{[CLS],q1,...,qm,[SEP],x1,...,xn}{\{[CLS],q_1,...,q_m,[SEP],x_1,...,x_n\}},其中qQq \in Q 是问题,xXx \in X 是待抽取实体的句子,Bert的输出是原文的表示矩阵 ERndE \in R^{n*d}

  • 三个分类器:

    1. 当前token是否为一个实体的开头位置;

      Pstart=softmaxrow(ETstart)Rn2P_{start} = softmax_{row}(E*T_{start}) \in R^{n*2},其中TstartT_{start} 是该分类器需要学习的权重,PstartP_{start} 的每一行代表每个索引作为给定查询的实体开始位置的概率分布。

    2. 当前token是否为一个实体的结束位置;

      Pend=softmaxrow(ETend)Rn2P_{end} = softmax_{row}(E*T_{end}) \in R^{n*2},其中TstartT_{start} 是该分类器需要学习的权重,PendP_{end} 的每一行代表每个索引作为给定查询的实体结束位置的概率分布。

    3. 对两个分类器的识别的开头位置和结束位置进行匹配

      首先对PstartPendP_{start}和P_{end} 的每行做 argmax,得到两个长度为n的 0-1序列IstartIendI_{start} 和 I_{end}

      然后对任意的开始索引 istartIstarti_{start} \in I_{start} 和结束索引 jendIendj_{end} \in I_{end} ,训练一个二元分类模型来预测它们应该匹配的概率:

      Pistart,jend=sigmoid(mconcat(Eistart,Ejend))P_{i_{start},j_{end}}=sigmoid(m*concat(E_{i_{start}},E_{j_{end}})),m是要学习的权重。

  • 训练

    三个分类器分别对应三个loss:

    Lstart=CE(Pstart,Ystart)L_{start}=CE(P_{start}, Y_{start})

    Lend=CE(Pend,Yend)L_{end}=CE(P_{end}, Y_{end})

    Lspan=CE(Pistart,jend,Ystart,end)L_{span}=CE(P_{i_{start},j_{end}}, Y_{start, end})

    LOSS=αLstart+βLend+γLspanLOSS = \alpha L_{start} + \beta L_{end} + \gamma L_{span}

**Query的选择:**问题的好坏直接影响了模型抽取实体的效果,该论文选择使用实体的标注指南作为Query。

  • Location: Find locations in the text, including non-geographical locations, mountain ranges and bodies of water
  • Facility: Find facilities in the text, including buildings, airports, highways and bridges
  • Organization: Find organizations in the text, including companies, agencies and institutions

实验

Nested NER

Result for Nested NER

Flat NER

Result for flat NER

无论在嵌套NER还是Flat NER,该论文的方法都达到了SOTA

Zero-shot 的表现

论文尝试在CoNLL2003数据集上训练模型,在OntoNotes5.0数据集上进行测试,前者拥有3种数据类型(Person, Location, Orgnization),后者拥有18中实体类型。

Result for zero-shot

在MRC框架中,可以对给定的Query进行预测的问答形式,具有更强的通用化能力,并能获得可接受的结果。

Reference

[1] A neural transition-based model for nested mention recognition

[2] A Unified MRC Framework for Named Entity Recognition.

[3] 浅谈嵌套命名实体识别. https://zhuanlan.zhihu.com/p/126347862

[4] 香侬科技提出基于MRC框架的命名实体识别方法. https://zhuanlan.zhihu.com/p/89019478

Author: Ian
Link: http://ian-peace.github.io/2020/04/18/20200416paper/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
微信订阅号