©作者 | 回亭风
单位 | 北京邮电大学
研究方向 | 自然语言理解
论文标题:
Decomposed Meta-Learning for Few-Shot Named Entity Recognition
https://arxiv.org/abs/2204.05751
https://github.com/microsoft/vert-papers/tree/master/papers/DecomposedMetaNER
Abstract
少样本 NER 的系统目的在于通过很少的标注样本来识别新的命名实体类。本文提出了一个分解的元学习方法来解决小样本 NER,通过将原问题分解为小样本跨度预测和小样本实体分类两个过程。具体来说,我们将跨度预测当作序列标注问题并且使用 MAML 算法训练跨度预测器来
找到更好的模型初始化参数并且使模型能够快速适配新实体
。对于实体分类,我们提出 MAML-ProtoNet,一个 MAML 增强的原型网络,能够
找到好的嵌入空间来更好的分辨不同实体类的跨度
。在多个 benchmark 上的实验表明,我们的方法取得了比之前的方法更好的效果。
Intro
NER 目的在于定位和识别文本跨度中的预定义实体类诸如 location、organization。在标准的监督学习 NER 中深度学习的架构取得了很大的成功。然而,在实际应用中,NER 的模型通常需要迅速适配一些新的未见过的实体类,且通常标注大量的新样本开销很大。因此,小样本 NER 近年来得到了广泛的研究。
之前关于小样本 NER 的研究都是基于 token 级的度量学习,将每个查询 token 和原型进行度量上的比较,然后为每个 token 分配标签。最近的很多研究都转为跨度级的度量学习,能够绕过 token 对标签的以来并且明确利用短语的表征。
然而这些方法在遇到较大领域偏差时可能没那么有效,因为他们直接使用学习的度量而没有对目标域进行适配。换句话说,这些方法没有完全挖掘支持集数据的信息。现在的方法还存在以下限制:
2. 非实体类型“O”通常时噪声,因为这些词之间几乎没有共同点。
此外,当针对一个不同的领域时,唯一可用的信息仅仅是很少的支持样本,不幸的是,这些样本在之前的方法中仅仅被应用在推理阶段计算相似度的过程中。
为了解决这些局限性,本文提出了一种分解的元学习方法,将原问题分解为跨度预测和实体分类两个过程。具体来讲:
1. 对于小样本跨度预测来说,我们将其看作序列标注问题来解决重叠跨度的问题。这个过程目的在于定位命名实体并且是与类别无关的。然后我们仅仅对被标注出的跨度进行实体分类,这样也可以消除“O”类噪声的影响。当训练跨度检测模块时,我们采用的 MAML 算法来找到好的模型初始化参数,在使用少量目标域支持集样本更新后,能够快速适配新实体类。在模型更新时,特定领域的跨度边界信息能够被模型有效的利用,使模型能够更好的迁移到目标领域;
2. 对于实体分类,采用了 MAML-ProtoNet 来缩小源域和目标域的差距。
我们在一些 benchmark 上进行了实验,实验表明我们提出的框架比之前的 SOTA 模型表现更好,我们还进行了定性和定量的分析,不同的元学习策略对于模型表现的影响。
Method
本文遵循传统的 N-way-K-shot 的小样本设置,示例如下表(2-way-1-shot):
2.1 Entity Span Detection
跨度检测阶段不需要分类具体的实体类,因此模型的参数可以在不同的领域之间共享。基于此,我们采用 MAML 来促进领域不变的内部表征学习而不是针对特定领域特征的学习。这种方式训练的元学习模型对于目标域的样本更加敏感,因此只需要少量样本进行微调就能取得很好的效果而不会过拟合。
基检测器是一个标准的序列标注任务,采用 BIOES 的标注策略,对于一个句子序列 {xi},使用一个编码器得到其上下文表征 h,然后通过 softmax 生成概率分布。
模型的训练误差在交叉熵损失基础上添加了最大值项来缓解对于损失较高的 token 学习不足的问题:
推理阶段采用了维特比解码,这里我们没有训练转移矩阵,简单的添加了一些限制保证预测的标签不违反 BIOES 的标注规则。
2.1.2 Meta-Learning Procedure
元训练过程具体来说,首先随机采样一组训练 episode:
其中 Un 代表 n 步梯度更新,损失采用上文所述的损失函数。然后使用更新后的参数 Θ' 在查询集上进行评估,将一个 batch 内的所有 episode 的损失求和,训练目标是最小化该损失:
用上述损失来更新模型的原参数 Θ,这里使用一阶导数来近似计算:
MAML 数学推导参考:MAML
https://zhuanlan.zhihu.com/p/181709693
在推理阶段先使用基模型中提到的交叉熵损失在支持集上微调,然后在查询集上使用微调后的模型进行测试。
2.2 Entity Typing
实体分类模块采用原型网络作为基础模型,使用 MAML 算法对模型进行增强,使模型得到一个更具代表性的嵌入空间来更好的区分不同的实体类。
这里使用了另一个编码器来对输入 token 进行编码,然后使用跨度检测模块输出的跨度 x[i,j],将跨度中所有的 token 表征取平均来代表此跨度的表征:
遵循原型网络的设置,使用支持集中属于同一实体类的跨度的求和平均作为类原型的表示:
模型的训练过程先采用支持集计算每个类原型的表示,然后对于查询集中的每个跨度,通过计算其到某一类原型的距离来计算其属于该类的概率:
2.2.2 MAML Enhanced ProtoNet
这一过程的设置与跨度检测中应用的 MAML 一致,同样是使用 MAML 算法来找到一个更好的初始化参数,详细过程参考上文:
实验
3.1 数据集和设置
本文采用 Few-NERD,一个专门为 few-shot NER 推出的数据集以及 cross-dataset,四种不同领域的数据集的整合。对于 Few-NERD 使用 P、R、micro-F1 作为评价指标,cross-dataset 采用 P、R、F1 作为评价指标。文中两个编码器采用两个独立的 BERT,优化器使用 AdamW。
3.2 主实验
3.3 消融实验
3.4 分析
对于跨度检测,作者用一个全监督的跨度检测器进行实验:
作者分析,未精调的模型预测的 Broadway 对于新实体类来说是一个错误的预测(Broadway 出现在了训练数据中),然后通过对该模型采用新实体类样本进行精调,可以看出模型能够预测出正确的跨度,但是 Broadway 这一跨度仍然被预测了。这表明传统的精调虽然可以使模型获取一定的新类信息,但是其还是存在很大偏差。
然后作者对比了 MAML 增强的模型和未使用 MAML 模型的 F1 指标:
MAML 算法可以更好的利用支持集的数据,找到一个更好的初始化参数,使模型能够快速适配到新域中。
然后作者分析了 MAML 如何提升原型网络,首先是指标上 MAML 增强的原型网络会有一定的提升:
从上图可以看出,MAML 增强的原型网络能够更好的区分各个类原型。
Conclusion
本文提出了一个两阶段的模型,跨度检测和实体分类来进行小样本 NER 任务,两个阶段的模型均使用元学习 MAML 的方法来进行增强,获取了更好的初始化参数,能够使模型通过少量样本快速适配到新域中。本文也算是一篇启发性的文章,在指标上可以看出,元学习的方法对小样本 NER 任务有着巨大的提升。
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧