论文阅读笔记 Named Entity Recognition for Novel Types by Transfer Learning

论文地址:https://aclweb.org/anthology/D16-1087  ,发表在了 EMNLP

摘要:

在本文中,我们提出了一种方法,在给定相关领域中具有相似(但不完全相同)的命名实体(NE)类型和少量域内训练数据的训练数据的情况下,我们使用迁移学习来学习特定域的NE模型。
本文新颖之处在于不仅假设域不匹配,而且还假设标签不匹配。

1、介绍

如果我们只有有限的训练数据,我们将无法可靠地学习特征参数。其次,源域中缺少目标NE类型使得迁移变得困难,因为我们不能直接将通过源域训练的模型应用于目标域。 Alvarado等(2015)表明即使NE标签集在各个域中相同,标签分布的大差异也会导致差的表现。尽管存在这些困难,但是可以在域之间传递知识,因为相关的NE类型通常共享词汇和上下文特征。

我们首先在大型源域训练语料库中训练NER模型,然后学习源和目标NE类型之间的相关性。在最后一步中,我们重用第二步的模型参数来初始化线性链CRF并对其进行微调以学习特定于域的模式。我们表明,基于仅125个目标域训练句子,我们的方法在强基线上的F分数提高了160%。

2、相关工作

主要介绍了kim(2015)的工作,此外处理缺乏注释的NER数据的另一种方法是利用远程监督,利用知识库来识别实体的提及。

3、NER中的迁移学习

我们提出的方法TransInit包括三个步骤:

(1)在大规模源数据域上训练一个线性链CRF。

(2)使用双层神经网络学习源NE类型和目标NE类型之间的相关性; 

(3)我们利用神经网络训练目标NE类型的CRF。

线性CRF的形式:

是只依赖于x的特征函数;

捕获相邻标签之间的共现;

W用于特征函数加权;

Z充当用于规范化的分区函数partition function。

-------------------------------------------------------

(1)在大规模源数据域上训练一个线性链CRF。

(2)使用双层神经网络学习源NE类型和目标NE类型之间的相关性; 

源域模型是在标记的源语料库上训练的线性链CRF。由于参数|Y|^{2}数量少,目标域标签的共现很容易学习。
大多数此类信息是特定于域的,因此两种源类型的共现不太可能与两种目标类型的共现相匹配。然而,特征函数捕获关于与每个源NE类型相关联的文本模式的有价值信息。没有,线性链CRF被简化为逻辑回归(LR)模型:

为了学习源类型和目标类型之间的相关性,我们通过使用源类型的非标准化概率来预测目标类型,将其表示为预测任务。

我们能够从源域中提取线性层,该层采用该形式是每个源NE类型的非标准化概率。
为输入,我们使用多类LR分类器来预测目标类型,基本上是,其中y'是观察到的类型。
从另一个角度来看,整个架构是具有两个线性层的神经网络。

我们不在这两个线性层之间添加任何非线性层,因为否则我们最终会得到饱和激活函数(saturated activation functions)。

如果底部线性层不需要参数更新,我们也不会遇到饱和激活函数的问题。
然而,在我们的实验中,我们发现由于协变量偏移(Sugiyama等人,2007),底部线性层需要参数更新,这是由源域和目标域之间的分布差异引起的。
如果域之间的功能分布不同,则更新参数是一种直接的方法,可以使模型适应新域。

尽管双层神经网络能够识别目标NE类型,但它仍然存在两个缺点。首先,与CRF不同,它不包括标签转换矩阵。其次,如果域差异很大,则双层神经网络的能力有限。如果我们以紧凑的方式重写双层架构,我们将获得:

如公式所示,如果我们最小化负对数似然,则损失函数不是凸的。因此,我们可以使用在线学习降低非最佳局部最小值。预训练参数矩阵W^{a}施加特殊约束,即每个目标类型的计算得分是更新源类型得分的加权组合。如果目标类型与源类型没有任何共同点,那么预先训练的W^{a}弊大于利。

(3)我们利用神经网络训练目标NE类型的CRF。

在最后一步中,我们使用前一步骤中的模型参数初始化的线性链CRF的模型参数。将两层线性转换成一个,通过:

同时将CRF的其他参数初始化为零。在该变换之后,每个初始化参数向量W_{.y}^{f}是源类型的更新参数矢量的加权线性组合。与第二步相比,我们现在的损失函数是凸的,因为它恰好是线性链CRF。我们之前的步骤通过合并源域知识提供了参数的引导初始化。
该模型还具有更大的自由度,可以适应目标类型。换句话说,相乘两个矩阵简化了学习任务并消除了预训练的W^{s}所施加的约束。

由于源数据中O多,为了减轻初始化参数时倾向于非实体,我们在应用W^{t}之前重新变换,如公式(4)所示。当我们初始化NE类型的参数时,我们不包括源类O的参数,同时将源类O的参数复制到目标类O.特别是,让o成为源域类O的索引。每个命名实体参数W_{i*}^{t}中,我们设置W_{io}^{t} = 0。对于目标类O的参数向量,我们只将与源类型O和目标类O之间的权重对应的元素设置为1,将其他元素设置为0。

由于源域的知识隐藏在初始权重中,我们希望保留初始权重,只要它们有助于预测任务。因此,我们将AdaGrad(Rizzo和Troncy,2012)应用于基于开发数据的early stopping,以便尽可能地保留源域的知识。

4、实验设置

4.1 数据集

(1)数据

目标数据集:

CADEC、I2B2(标准的训练和测试集分割,训练集中,10%作为开发集)

源数据集:

CoNLL、BBN

(2)为了测试目标域训练数据大小对结果的影响,我们基于对数标度将CADEC和I2B2的训练集分成10个分区,并通过将这些分区从最小值合并到最大值来创建10个连续更大的训练集(最终合并是完整的训练集)。对于所有方法,我们仅报告对目标域新的NE类的宏观平均F1。

4.2 基线

我们将我们的方法与以下两个域内基线,一个基于跨域数据的方法和三个基于跨域迁移的基准测试方法进行比较

  1. BOW:一种具有人工特征的域内线性链CRF,来自Qu等人(2015年)。
  2. Embed:一种域内线性链CRF,具有人工特征和预先训练过的字嵌入,来自Qu等人(2015年)。
  3. LabelEmbed:获取源域和目标域中的标签,并根据每个标签的预训练嵌入之间的相似性确定对齐。
  4. CCA:Kim等人的方法(2015),其中使用CCA和k-NN在源和目标NE类之间生成一对一映射(参见第2节)。
  5. TransDeepCRF:三层深CRF。底层是用来自源域训练的CRF的Ws初始化的线性层。中间层是hard tanh函数(Collobert等,2011)。顶层是线性链CRF,所有参数都初始化为零。 
  6. TwoLayerCRF:双层CRF。底层是用来自源域训练的CRF的Ws初始化的线性层。顶层是线性链CRF,所有参数都初始化为零。

我们将我们的方法与一种变体进行比较,即在学习源类型和目标类型之间的相关性的同时冻结底部线性层的参数并仅更新LR分类器的参数。

4.3 实验结果

论文阅读笔记 Named Entity Recognition for Novel Types by Transfer Learning_第1张图片

论文阅读笔记 Named Entity Recognition for Novel Types by Transfer Learning_第2张图片

5、结论

我们提出了TransInit,这是一种基于转移学习的方法,支持在数据集中训练NER模型,其中域中存在不匹配,也可能是标签集。
我们的方法显示F1在基于少数的域内培训实例基线上的改进率高达160%。

你可能感兴趣的:(论文阅读)