论文浅尝 | Continual Learning for Named Entity Recognition

论文浅尝 | Continual Learning for Named Entity Recognition_第1张图片

笔记整理:李淑怡,天津大学硕士

动机

在许多真实任务下,常常需要引入新的实体类型,因此需要重新训练命名实体识别模型。当因为存储或安全问题限制对原始数据的访问时,那么为新实体类型重新标注原始数据的成本将会是高昂的。而现有的持续学习方法又很容易出现灾难性遗忘问题(catastrophic forgetting)。因此作者提出通过蒸馏学习保留先前学习的现有知识,使原模型指导新模型学习新的实体类型的持续学习方法。在CoNLL-03数据集和OntoNotes数据集上实验表明,该方法允许模型渐进地能学习新的实体类型,还能保留先前学习的知识。

亮点

本文的亮点主要包括:

1.该方法只需要标注新的实体,通过知识蒸馏保留原模型的知识,使得新的模型在原有模型的指导下学习新的实体类型,解决了灾难性遗忘问题。2.实验结果表明,该方法能够使得模型在不丢失先前知识的情况下学习新的实体类型。

概念及模型

该方法使用Teacher-Student的知识蒸馏框架,分为两个阶段:

1、训练原模型Teacher:首先在原有数据集  上训练一个命名实体识别模型  ,训练时神经网络最后一层的输出使用以下softmax函数计算:

其中,  一个温度参数,通常设置为1。

2、训练新模型Student:当引入新的实体类型  时,我们的目标是学习一个新模型  ,   能够标记  中的所有句子。为了使Student保留原模型的知识,将Teacher和Student之间的KL距离作为新模型训练的软目标,从而避免灾难性遗忘问题。Student在数据集  上训练,  包含新的实体类型(带标签)也包含原有的数据(不带标签)。论文中,作者提出了两种产生新模型方法AddNER Model和ExtendNER Model。

AddNER Model

论文浅尝 | Continual Learning for Named Entity Recognition_第2张图片

在该方法中,新模型  对原模型  克隆并且添加一层新的输出层来识别新的实体类型  。因为数据集  中仅  中的句子带有标签y,为了防止灾难性遗忘问题,使用知识蒸馏。这意味着每一句话都要经过  的指导,即通过  为  产生软目标。因此,  的损失函数不仅需要包含得到的新的实体类型的预测值与真实标签之间的交叉熵损失  ,还需要包含原模型的分布  与新模型的分布  之间的KL距离  。因此,  的损失函数为:

 αβ 

其中,α和β是平衡两个损失的贡献的超参数。

由于AddNER包含多个输出层,因此需要合并多个输出结果,对于这个问题,作者提出了一个启发式算法:

•如果所有层的预测结果均为O(即其他),则输出结果为O。•如果恰有一层的预测结果为B(即实体的起点),而其他层预测为O,则输出结果为B。•如果有多层的预测结果为B,而其余层预测为O,则以最高概率输出结果为B。•如果一层预测结果为I(即实体内),当且仅当它上一个字的标记为B或I。否则这一层的输出结果为O,并且再次应用该启发式算法来确定最终输出。

ExtendNER Model

论文浅尝 | Continual Learning for Named Entity Recognition_第3张图片

在该方法中,新模型  对原模型  的克隆并且扩展输出层,即增加新的纬度以识别新的实体类型  。同样的,在训练时,新模型  依然需要考虑两种损失以在不丢失先前知识的情况下学习新的实体类型,当y=O时,计算原模型的分布  与新模型的分布  之间的KL距离  。当y≠O,即该词被标记为  中的新实体类型时,计算新的实体类型的预测值与真实标签之间的交叉熵损失  。总的损失函数也可以表示为:

 αβ 

最终的标签经Viterbi算法获得。

理论分析

实验

作者采用了2个公开数据集进行实验,分别是CoNLL-03数据集和OntoNotes数据集,见表1和表2。模型的评价指标为准确率、召回率和F1。

论文浅尝 | Continual Learning for Named Entity Recognition_第4张图片

针对该任务, 首先作者提出了四个问题并针对这四个问题展开实验和讨论:

•迁移学习是否可以在原有的模型基础上学习新的实体类型?

实验在迁移学习上对比了冻结编码层和不冻结编码层的效果。在CoNLL-03数据集上,冻结编码层的整体F1得分为57.49,而不冻结编码层的整体F1得分为56.21。在OntoNotes数据集上效果则更差。这表明,无论是否冻结编码器,转移学习方法都不实用于持续学习环境下的命名实体识别任务。

•在持续学习的环境下,AddNER和ExtendNER模型之间有区别吗?

其次作者对比了使用知识蒸馏的两种Student模型的效果,实验表明两种方法对结果的影响不显著,因此后文中仅报告ExtendNER Model的结果。

•当新的数据集只进行少量的标注时,通过知识蒸馏Student模型是否能有效地学习?

图3展示了各个模型在该任务上的F1得分,该结果表明,该方法明显优于使用硬标签方法和无监督学习方法。尽管其性能不如完全监督的方法,但是总体而言在该方法能在显著减少标注数据的条件下保持相对良好的性能。

论文浅尝 | Continual Learning for Named Entity Recognition_第5张图片

•学生模型在学习新的实体类型时是否保留了以前学习的实体类型的知识?

为了研究这个问题,作者逐步跟踪模型在其学习实体类型上的结果。结果如图4所示总体而言,F1得分保持不变或者逐步增加。这表明,随着引入新的实体类型,该方法不仅能学习到如何标注新的实体类型,还能保留先前学习的知识。

论文浅尝 | Continual Learning for Named Entity Recognition_第6张图片

总结

本文提出了一个基于持续学习的命名实体识别方法。展示了如何在Teacher-Student框架中通过知识蒸馏来防止持续学习下遗忘已获得的知识的问题。实验结果也证明了本文提出的方法的有效性。作者称,在未来,也许可以考虑集成学习一个CRF层来考虑标签之间的全局依赖关系。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

论文浅尝 | Continual Learning for Named Entity Recognition_第7张图片

点击阅读原文,进入 OpenKG 网站。

你可能感兴趣的:(算法,python,机器学习,人工智能,深度学习)