作者 | 南大NLP
编辑 | 唐里
本文来自公众号南大NLP,AI科技评论获授权转载,如需转载请联系原公众号。
背景介绍
序列标注任务,例如中文分词(CWS),词性标注(POS),命名实体识别(NER)等是自然语言处理中的基础任务。最近,随着深度学习的发展,神经序列标注方案已经达到了很好的性能,同时也依赖于大规模的标注数据。然而大部分的规范标注数据来自于新闻领域,将在这些数据集上训练的模型应用到其他领域时,模型的性能往往会大幅下降。领域适应(domain adaptation)利用源领域(source domain)的丰富知识来提升目标领域(target domain)的性能,适合用来解决这一问题。我们关注于有监督的领域适应,利用大规模的有标注的源领域数据来帮助仅有少量标注数据的目标领域的学习。
对于序列标注任务,我们观察到一个有趣的现象:不同的目标域句子倾向于和源领域有不同的领域相关性(domain relevance),表1中展示了几个twitter的句子,它们和源领域(新闻)的相关程度不同,同时,句子内部不同的单元(中英文词)也有不同的领域相关性。
表1 来自于社交媒体领域的推特和源领域(新闻领域)有不同的领域相关性。在每个例子中,加粗的部分与源领域强相关,斜体的部分与源领域弱相关。
传统的神经序列标注领域适应方案关注于减少源域和目标域集合层面的差异,忽略了样本和元素层级的领域相关性。如图1中,(左) 展示了之前的方案,对于目标域中具有不同领域相关性的样本进行了相同的知识迁移,然而,理想的知识迁移过程如图(右),对于和源领域强相关的样本和元素应该迁移更多的知识,反之应该保持其目标域特性,从源领域学习更少的知识。
图 1 知识迁移方法比较。(左) 之前的方法,(右)我们的方法
在本文中,我们提出了一个细粒度的知识融合方案来控制学习源领域和保持目标领域之间的平衡,通过建模样本层面和元素层面的领域相关性,以及将其引入到领域适应过程中,有效的减少了负迁移(negative transfer),同时增强了领域适应的效果。
解决方案
相关性建模
图2 相关性建模过程
(1)元素级的领域相关性
为了获得元素级的相关性,我们引入了领域表示q,我们使用了两种方式来获得q:
(a)domain-q:q是可训练的领域向量,领域内所有的元素共享q;(b)sample-q:q是从每个样本抽出的领域相关的特征,每个样本内部的元素共享q,这里我们使用胶囊网络(capsule network)来抽取这个特征。通过计算隐层与领域表示的相似性得到元素级的领域相关性。
(2)样本级的领域相关性
为了获得样本级的相关性,我们进行了样本级别的领域分类,基于元素级的相关性对隐层加权求和得到样本表示,对样本进行领域分类得到样本级的领域相关性。
细粒度的知识融合
图3 知识蒸馏与细粒度的知识融合
知识蒸馏(knowledge distillation)为学生模型(student model)的每个样本和元素提供了从老师模型(teacher model)学习的目标,在这里我们将源域模型作为老师模型,目标域模型作为学生模型。目标域模型的损失函数由两部分组成:序列标注损失和知识蒸馏损失,其中序列标注损失可以看作从目标域数据学习的知识,知识蒸馏损失可以看作从源域模型学习到的知识,超参alpha用来平衡二者。
通过引入前面学习到的各层级的领域相关性,实现细粒度的知识融合,从而实现考虑到领域相关性的领域适应。
样本级别的知识融合:根据每个目标域样本不同的领域相关性得到其相应的alpha,从而实现样本级别的知识融合。
元素级别的知识融合:根据每个目标域元素不同的领域相关性得到其相应的alpha,从而实现元素级别的知识融合。
多层级的知识融合:同时考虑样本级别和元素级别的领域相关性,可以得到多层级的alpha,从而实现多层级的知识融合。
训练过程
训练过程主要分为四步:
(1)(可选)用源域数据预训练源域模型和目标域模型;
(2)训练源域模型,预测目标域数据的概率分布;
(3)计算各层次的领域相关性权重;
(4)按照细粒度知识融合的方案训练目标域模型;
重复(2)(3)(4)步直到目标域模型收敛。
实验分析
数据集
我们在两种语言(中文和英文)和三个序列标注任务(中文分词,词性标注,命名实体识别)上进行了实验,使用的数据集见表2。
表2 实验中用到的数据集
实验结果
我们使用F1-score和OOV recall来评价在中文分词领域适应上的表现,我们比较了不同的领域表示方案和不同层次的知识融合方案,结果见表3。可以发现在领域表示的层面上,样本级别的领域表示(Sample-q)好于领域级别的领域表示(Domain-q),在知识融合的层面上,多层级的方式好于元素层面的融合,也好于样本层面的融合。我们最终的方案为基于样本级别领域表示的多层次知识融合方法(FGKF)。
表3 细粒度知识融合在中文分词任务上的结果
我们在两种语言,三个任务上复现了序列标注领域适应的相关工作,我们的方案均获得了最好的结果。
表4 在三个任务上领域适应的结果,其中zh表示微博数据集,en表示推特数据集。
结果分析
(1)不同领域相关性的结果
将目标域元素根据训练集中的相关权重均值划分为领域强相关和领域弱相关两类,结果见表5。从表中可以看出,相比于基本的知识蒸馏方案(BasicKD),通过引入了领域相关性,FGKF提升了领域强相关元素的性能,同时有效缓解了负迁移现象。
表5 推特测试集强/弱领域相关部分分别的结果
(2)相关性权重可视化
我们对两种领域表示方案得到的元素级别的相关性权重进行了可视化,如图4,样本级别的领域表示(下方)相较于领域级别的领域表示(上方)能更好地提取出各样本的领域特征,从而得到更好的元素级别的相关性权重。
图4 元素级别领域相关性可视化
(3)消融实验
我们在Twitter数据集上进行了消融实验(见表6),发现在训练目标域模型时固定源域模型的参数是十分重要的,同时共享embedding层,预训练也对结果产生了一定影响。
表6 推特测试集消融实验结果
(4)目标域数据规模的影响
我们也研究了不同的目标域数据规模对领域适应结果的影响(见图5),当目标域数据较少时(20%),BasicKD与FGKF有较大的差距,说明此时领域相关性是十分重要的,随着目标域数据规模的增加,BasicKD与FGKF仍然存在的一定的差距。
图5 不同的目标域数据规模对领域适应结果的影响
总结
本文提出了细粒度的知识融合方案,将目标域数据的领域相关性引入到序列标注领域适应过程中,有效的增强了领域强相关部分的迁移,同时减少了负迁移。实验结果表明我们的方案能有效的提升序列标注领域适应的效果,同时也展现出了其在其他领域适应任务上的潜力。
南大NLP研究组介绍
张钹院士:人工智能的魅力就是它永远在路上 | CCAI 2019
Facebook 自然语言处理新突破:新模型能力赶超人类 & 超难 NLP 新基准
点击阅读原文,加入论文讨论小组