笔记整理:李淑怡,天津大学硕士
在许多真实任务下,常常需要引入新的实体类型,因此需要重新训练命名实体识别模型。当因为存储或安全问题限制对原始数据的访问时,那么为新实体类型重新标注原始数据的成本将会是高昂的。而现有的持续学习方法又很容易出现灾难性遗忘问题(catastrophic forgetting)。因此作者提出通过蒸馏学习保留先前学习的现有知识,使原模型指导新模型学习新的实体类型的持续学习方法。在CoNLL-03数据集和OntoNotes数据集上实验表明,该方法允许模型渐进地能学习新的实体类型,还能保留先前学习的知识。
本文的亮点主要包括:
1.该方法只需要标注新的实体,通过知识蒸馏保留原模型的知识,使得新的模型在原有模型的指导下学习新的实体类型,解决了灾难性遗忘问题。2.实验结果表明,该方法能够使得模型在不丢失先前知识的情况下学习新的实体类型。
该方法使用Teacher-Student的知识蒸馏框架,分为两个阶段:
1、训练原模型Teacher:首先在原有数据集
其中,
2、训练新模型Student:当引入新的实体类型
在该方法中,新模型
其中,α和β是平衡两个损失的贡献的超参数。
由于AddNER包含多个输出层,因此需要合并多个输出结果,对于这个问题,作者提出了一个启发式算法:
•如果所有层的预测结果均为O(即其他),则输出结果为O。•如果恰有一层的预测结果为B(即实体的起点),而其他层预测为O,则输出结果为B。•如果有多层的预测结果为B,而其余层预测为O,则以最高概率输出结果为B。•如果一层预测结果为I(即实体内),当且仅当它上一个字的标记为B或I。否则这一层的输出结果为O,并且再次应用该启发式算法来确定最终输出。
在该方法中,新模型
最终的标签经Viterbi算法获得。
实验
作者采用了2个公开数据集进行实验,分别是CoNLL-03数据集和OntoNotes数据集,见表1和表2。模型的评价指标为准确率、召回率和F1。
针对该任务, 首先作者提出了四个问题并针对这四个问题展开实验和讨论:
•迁移学习是否可以在原有的模型基础上学习新的实体类型?
实验在迁移学习上对比了冻结编码层和不冻结编码层的效果。在CoNLL-03数据集上,冻结编码层的整体F1得分为57.49,而不冻结编码层的整体F1得分为56.21。在OntoNotes数据集上效果则更差。这表明,无论是否冻结编码器,转移学习方法都不实用于持续学习环境下的命名实体识别任务。
•在持续学习的环境下,AddNER和ExtendNER模型之间有区别吗?
其次作者对比了使用知识蒸馏的两种Student模型的效果,实验表明两种方法对结果的影响不显著,因此后文中仅报告ExtendNER Model的结果。
•当新的数据集只进行少量的标注时,通过知识蒸馏Student模型是否能有效地学习?
图3展示了各个模型在该任务上的F1得分,该结果表明,该方法明显优于使用硬标签方法和无监督学习方法。尽管其性能不如完全监督的方法,但是总体而言在该方法能在显著减少标注数据的条件下保持相对良好的性能。
•学生模型在学习新的实体类型时是否保留了以前学习的实体类型的知识?
为了研究这个问题,作者逐步跟踪模型在其学习实体类型上的结果。结果如图4所示总体而言,F1得分保持不变或者逐步增加。这表明,随着引入新的实体类型,该方法不仅能学习到如何标注新的实体类型,还能保留先前学习的知识。
本文提出了一个基于持续学习的命名实体识别方法。展示了如何在Teacher-Student框架中通过知识蒸馏来防止持续学习下遗忘已获得的知识的问题。实验结果也证明了本文提出的方法的有效性。作者称,在未来,也许可以考虑集成学习一个CRF层来考虑标签之间的全局依赖关系。
OpenKG
OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。
点击阅读原文,进入 OpenKG 网站。