前言
- 论文地址
- 望各位读者审慎阅读。
这是一篇你绝对能看懂的硬文!
这是一篇你绝对能看懂的硬文!
这是一篇你绝对能看懂的硬文!
是不是感觉NER
领域效果提升太过困难?最近一篇来自Amazon的文章提出使用强弱标签结合的方式来解决NER的问题。立足更具现实的数据情况(强标签数据少,弱标签数据多),本文不是第一个提出使用强弱标签数据结合的方式来解决NER问题,但实验显示在E-commerce NER
和 Biomedical NER
上,该方法具有一定的效果。
0. 定义的变量
1. 文章讲什么?
现实世界的场景是:少量的强标签数据(正确地人工标注数据)和大量的弱标签数据。但是之前的模型要么是大量的人工标签数据(不现实&难以为继);大量的弱标签数据(模型效果不好)。于是文章采取一种折中的办法,使用少量的强标签数据结合大量的弱标签训练模型。
2. 文章做了什么?
- 采用少量的强标签和大量的弱标签数据联合分阶段训练模型
3. 文章怎么做的?
在看文章的细节架构之前,看一下模型训练的整个过程。
3.1 使用少量的强标签数据&大量的弱标签数据
- 在stage 1中会使用无标签数据进行预训练
- 在stage 2中会使用大量的弱标签数据。stage 2中会使用弱标签数据进行一个补全操作,得到较为完善的弱标签;
- 在stage 2/3 中会使用少量的强标签数据。stage 2 中使用强标签数据进行预训练;stage 3中使用强标签数据进行微调。
3.2 分阶段看干了什么
3.2.1 stage 1
利用无标签数据预训练,预训练的方式是MLM。模型从朴素BERT变成了 In-Domain BERT
3.2.2 stage 2
- 利用领域内知识将无标签数据转换成弱标签数据。
- 接着使用
In-Domain BERT
结合强标签数据监督训练,得到模型Initial BERT-CRF
- 使用上面得到的
Initial BERT-CRF
做一个 Weak Label Comletion
操作,这个操作主要是结合 Initial BERT-CRF
得到的预测值和之前得到的弱标签值。公式如下: - 根据completion之后的弱标签数据,可以在
Initial BERT-CRF
的基础上进行训练得到Pre-trained BERT-CRF
针对这里的训练,作者设计了一个Noise-Aware Loss Function
。其主要思想是:
根据置信度判断生成的标签效果,进而设计出一个损失函数。这里的置信度生成是根据histogram binning
(Zadronzny and Elkan, 2001) 来做到的。Noise-Aware Loss Function
的表达式如下:
这个公式相当于是一个求期望的过程:
3.2.3 stage 3
- 使用强标签数据在
Pre-trained BERT-CRF
上监督训练,得到最后的BERT-CRF
4. cofidence Estimation
文章的一个亮点就是使用 confidence estimation
设计一个损失函数,也就是下面这个公式中的最后一行:
接着论文里使用historgram bin
的方式来估计
P
^
(
Y
~
c
=
Y
~
∣
X
~
)
\hat P (\widetilde Y^c = \widetilde Y|\widetilde X)
P^(Y
c=Y
∣X
) 的值。这个估计的步骤如下:
step 1: 单独从样本集中分割出一个 validation set
。根据这些样本和我们训练好的模型,通过 CRF以及Viterbi decoding
,生成一个概率直方图;
step 2:将
Y
~
p
\widetilde Y^p
Y
p通过上述生成的概率直方图得到最后的估计的置信度,即confidence estimation
操作。
5. 个人感受
基于强弱标签数据结合的方式,利用多阶段训练出一个更优的模型。每个不同的阶段利用不同类型的标签数据(斗胆猜测一下:这个模型可能是作者实习时做的一个工程项目,然后抽象化之后投出来的一篇文章,因为怎么看都觉得这篇文章的工程属性更强。)
最后再总结一下本文值得借鉴的几个地方:
- 学习利用
historgram bin
进行置信度评测的方法。这种方法在模型校正上很有用处。 - 立足实际问题,提出一个工程上有效的模型,再把该模型抽象化,就是一篇完美的paper啦,这样还怕中不了ACL吗?