论文解读:Example-Based Named Entity Recognition

论文解读:Example-Based Named Entity Recognition

核心要点:

  • 本篇工作是比较早的给出了如何定义和实现few-shot NER任务,后续诸多论文均引用该工作;
  • 本文以support-query形式进行训练,先确定所有可能的span,再对各个span预测entity type
  • 采用基于span的MRC思路,support set的每个句子根据实体个数分解为多个只包含一个实体的support example,并添加标记表示start/end标记,通过query的每个token与的表征相似度来预测query中的各个实体区间;
  • 在对span进行分类时,使用span score来选择最有可能的entity type;

简要信息:

序号 属性
1 模型名称 Example-NER
2 发表位置
3 所属领域 自然语言处理、小样本学习
4 研究内容 小样本实体识别
5 核心内容 Metric Learning
6 GitHub源码
7 论文PDF https://arxiv.org/abs/2008.10570

一、动机

  • NLP旨在为每个实体进行分类,成熟的方法包括基于特征工程的CRF,优点是训练容易,缺点是必须得有已知的类,如果新增一个类,则需要重新进行特征工程、标注和训练;

Adding new categories requires fur- ther feature engineering, extensive data labeling, and the need to build a new model from scratch or continue to fine-tune the model.

  • 小样本学习Few-shot Learning旨在仅使用少量的样本来训练一个新的类:在target domain,只需要少量的样本组成suppprt set,并不需要任何的训练。

Few-shot Learning时,在target domain上,只需要一个support set即可得到各个新的类的表示,因此直接对target domain的其他数据进行度量计算即可,因此不需要在target domain上进行训练;

二、方法

Example-based NER指给定support set少量的样本,对应的所有entity type只有很少的实体。给定一个query时,模型会分别根据support set中的entity type寻找query对应的实体。如图所示:

在这里插入图片描述
作者认为有3个挑战:
● 如何设计train-free score;
● 需要对预训练语言模型进行微调;
● 需要解决训练和推理之间的gap;

2.1 模型

NER包含两个步骤:首先识别出entity span,其次根据span进行分类。
模型架构如图所示:

在这里插入图片描述
结合上述图,具体的方法可以描述为如下几个步骤:
Step1: 采样support set和query set,其中support example中的实体添加边界标记<e>和</e>。
Step2: support example和query example分别喂入到BERT中获得每个token表示:
在这里插入图片描述
其中 q i , s i q_i,s_i qisi分别表示query example和support example中第 i i i个token的表征向量;
Step3: 获得support set中<e>和</e>的表征向量:
在这里插入图片描述
Step4: 对于每个query token q i q_i qi,其与support set中的<e>和</e>对应的表征向量进行相似度计算,来获得 q i q_i qi是start/end的概率:
在这里插入图片描述
在这里插入图片描述
Step5: 计算损失函数:损失主要来自于start、end预测:
在这里插入图片描述

注意⚠️:

  • 构建support set数据时,一个句子中的所有实体均添加,标记,因为每个句子都有多个实体,因此将一个句子生成多个support example,保证每个support example只有一个entity;
  • positive和negative example:因为support example只包含一个实体,因此在训练时需要添加negative example。例如如果当前positive entity type为“CITY”,则可以从support set中挑选entity type不为“CITY”的example作为negative example。因此相对于positive example,negative example表示的是不包含任何实体。
  • 在训练时,是在source domain的query set进行的,此时每个query都对应positive和negative example。(例如第一张图中的quey,并没有“Device”类的实体,因此support set中“Device”对应的support example是negetive example,因此预测的区间是[CLS]。)
    (We should highlight that similar to the QA framework, if the predicted span’s start and end occur on the [CLS] token, we treat it as no span for that entity type in the query.)

Step6: Entity Type Recognition
获得span之后,需要预测对应的entity type,本文依然使用example-based相似度方法。给定一个query,对于某个entity type,获得该entity type对应所有的support example:

  • 计算每个query token q i q_i qi与support set中第 j j j个example中start、end的相似度;
  • 再计算 q i q_i qi与所有support example的相似度后,获取TopK,并对这K个结果进行求和,得到start、end的概率:(原文的Eq15和Eq16)
    在这里插入图片描述
  • 得到当前span的得分: s c o r e ( s p a n ) = P s t a r t + P e n d score(span)=P^{start}+P^{end} score(span)=Pstart+Pend,该得分表示某个entity type的得分

对于所有entity type,在query example均可以得到span的得分,此时取得分最大的对应entity type。

三、实验

实验使用的数据集包括:OntoNotes5.0 , Conll2003, ATIS, MIT Movie and Restaurant Review, and SNIPS。他们的数据分布情况如下所示:
在这里插入图片描述
(1)实验一
实验内容:OntoNotes5.0作为source domain,ATIS,MIT Movie,Restaurant,MixDomain(ATIS,MIT Movie,Restaurant混合起来)
实验结果:
在这里插入图片描述
● 我们的方法超越了baseline;
● 一般地,suuport example数量越多,效果越好。部分dataset提升明显,但也有负增长;
● Mixed Domain效果也最好,说明我们的方法与领域无关

(2)实验二:
实验内容:CoNLL03作为source domain,ATIS,MIT Movie,Restaurant,MixDomain(ATIS,MIT Movie,Restaurant混合起来)
实验结果:
在这里插入图片描述
(3)实验三:
实验内容:验证in-domain迁移能力,选择SNIPS数据集
实验结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_36426650/article/details/125504613