论文阅读:BOND: BERT-Assisted Open-Domain Named Entity Recognition with Distant Supervision

题目:BOND:半监督的BERT开放域命名实体识别(2020年6月论文)

原文链接:https://arxiv.org/pdf/2006.15509

代码:https://github.com/cliang1453/BOND

测试BOND代码:https://github.com/johnson7788/BOND/tree/cosmetic

一些名词解释:
low-resource: 有标签或者无标签的训练的数据资源不足
Distant supervision: 远距离监督大多数机器学习技术都需要一组训练数据。收集训练数据的传统方法是让人们标注一组文档。例如,对于婚姻关系,人类标注者可以将“比尔·克林顿”和“希拉里·克林顿”对标签为正的训练样本。这种方法在时间和金钱上都是昂贵的,并且如果我们的语料库很大,将无法产生足够的数据供我们的算法使用。而且由于人为错误,因此产生的训练数据极有可能是噪音的。生成训练数据的另一种方法是远距离监督。在远距离监督中,我们利用一个已经存在的数据库来收集要提取的关系的样本。然后,我们使用这些样本自动生成我们的训练数据。例如,包含巴拉克·奥巴马和米歇尔·奥巴马已婚的事实。我们考虑到这一事实,然后将出现在同一句子中的每对“巴拉克·奥巴马”和“米歇尔·奥巴马”都标签为我们婚姻关系的一个正例子。这样,我们可以轻松生成大量(可能是噪音的)训练数据。运用远距离监督来获得特定关系的正样本很容易,但是产生负样本比较难.
soft label 和hard label: 软标签是一个teacher模型预测出来的,类似logits的概率值,是浮点数,硬标签直接就是整数,就是对应概率最大的位置的索引,例如soft是0.82, hard就是1,

我们研究了在远距离监督下的开放域命名实体识别(NER)问题。远距离监督虽然不需要大量的手动标注,但通过外部知识库会产生高度不完整和有噪声的远距离标签。为了解决这一挑战,我们提出了一个新的计算框架-BOND,该框架利用了预训练语言模型(例如BERT和RoBERTa)的能力来提高NER模型的预测性能。具体来说,我们提出了一个两阶段的训练算法:在第一阶段,我们使用远距离标签将预训练的语言模型适应NER任务,从而可以显着提高召回率和准确性。在第二阶段,我们丢弃远距离标签,并提出一种自训练方法来进一步提高模型性能。在5个基准数据集上进行的全面实验证明,BOND优于现有的远距离监督NER方法。代码和远距离标签的数据已在中发布。

命名实体识别(NER)是从文本中检测对真实世界提及的实体,将其分类为预定类型(例如 locations, persons, organizations)的任务。它是知识提取中的核心任务,对于各种下游应用程序,例如用户兴趣建模(Karatay和Karagoz,2015),问题回答(Khalid等人,2008)和对话系统(Bowden等人,2018),都很重要。传统的NER方法主要训练统计顺序模型,例如基于手工筛选特征的隐马尔可夫模型(HMM)(Zhou and Su,2002)和条件随机场(CRF)(La ff erty et al。,2001)。为了减轻设计手工筛选特征的负担,已经为NER提出了深度学习模型(Ma and Hovy,2016; Huang et al。,2015),并且表现出很强的性能。但是,大多数深度学习方法依赖于大量有标签的训练数据。由于NER任务需要token-level级别的标签,因此标注大量文档可能很昂贵,耗时且容易发生人为错误。在许多实际场景中,缺少标签数据已成为阻止将深度学习模型用于NER任务的最大瓶颈。

为了解决标签稀缺性问题,一种方法是使用远距离监督自动生成标签。在远距离监督中,打标签过程是将目标语料库中的标签与知识库中的概念(例如Wikipedia1和YAGO2)相匹配,这些概念通常易于访问。然而,由匹配过程产生的标签受到两个主要挑战。第一个挑战是标注不完整,这是由于现有知识库覆盖范围有限所致。以两个常见的开放域NER数据集为例。从表1中,我们发现两个数据集上token的覆盖率都非常低(不到60%)。此问题使许多实体不匹配,并产生许多假正例标签,这可能严重损害后续的NER模型训练。第二个挑战是噪音的标注。由于标签含糊不清,标注通常很嘈杂–同一实体的提及可以映射到知识库中的多种实体类型。例如,在知识库中,可以将实体提及“利物浦”映射到“利物浦城市”(类型:LOC)和“利物浦足球俱乐部”(类型:ORG)。尽管现有方法采是基于流行类型的标签归纳方法,但它们可能会导致对流行类型的匹配偏差。因此,它可能导致许多假正例样本并损害NER模型的性能。更糟糕的是,标签的准确性和覆盖范围之间常常存在折衷:要生成高质量的标签,需要设置严格的匹配规则,这可能无法很好地适用于所有token,从而降低了覆盖范围并引入了假负例标签。另一方面,由于标签含糊不清,越来越多的不正确标签会增加标注的覆盖范围。综上所述,生成对目标语料库具有较高覆盖率的高质量标签仍然非常具有挑战性。

多项研究试图解决在远距离监督的NER中的上述挑战。为了解决标签不完整的问题,一些工作采用部分标注,然后用CRF考虑无标签token的所有可能标签(Yang等人,2018; Shang等人,2018),但它们仍然需要大量的带标注的token或外部工具。为了解决标签噪声问题,Ni等人(2017)使用启发式规则筛选出匹配质量较低的句子。但是,这种过滤策略以降低召回率为代价提高了精度。Cao等(2019)尝试根据在概念分类法中的流行度为实体引入标签,这可能会导致标签偏差并产生错误标签数据。此外,大多数方法主要集中在特定领域(例如,生物医学,化学等)的NER任务,在这些领域中,命名实体的模糊性非常低。当匹配的歧义性问题更加严重时,此类方法的效果会较差,尤其是在开放域方案下。到目前为止,在远距离监督下训练开放域NER模型仍然是一个具有挑战性的问题。

我们提出的模型BOND,它是带有远距离监督的BERT辅助开放域命名实体识别的缩写,该模型可从远距离监督中学习准确的命名实体标签,而对语料库的域或内容没有任何限制。为了解决从远距离监督中学习所面临的挑战,我们的方法利用了预训练的语言模型(例如ELMo(Peters等,2018),BERT(Devlin等,2019),XLnet(Yang等。 ,2019)),这些模型的以下优点而对这项任务特别有吸引力:首先,它们是非常大型的神经网络,以完全无监督的方式训练大量无标签的数据,可以廉价地获得;其次,由于其庞大的大小(通常具有数亿或数十亿个参数),它们具有强大的表达能力,可以有效地捕获一般的语义和句法信息。这些语言模型已经通过适当的微调在许多流行的NLP基准测试中达到了最先进的性能(Devlin等,2019; Liu等,2019b; Yang等,2019; Lan等, 2020b; Ra ff el et al。,2019),这证明了他们在建模文本数据方面的强大能力。

为了充分利用预训练语言模型的能力来应对这两个挑战,我们提出了一个两阶段的训练框架。在第一阶段,我们使用远距离匹配的标签对RoBERTa模型(Liu等人,2019b)进行微调,本质上是转移RoBERTa中的语义知识,这将改善远距离监督的预测质量。值得注意的是,我们采取了早停措施,以防止模型过拟合到不完整的带标注标签,并显着改善召回率。然后,我们使用RoBERTa模型为所有数据预测一组伪软标签。在第二阶段,我们用伪软标签替换了远距匹配的标签,并设计了一个teacher-student框架以进一步提高召回率。student模型首先由在第一阶段学习并使用伪软标签训练的模型初始化。然后,我们使用前一次迭代中的student模型中更新teacher模型,为下一次迭代生成一组新的伪标签,以继续训练student模型。这种teacher-student框架的优点在于,它可以逐步提高模型对数据的置信度。此外,我们根据student模型的预测一致性选择样本,以进一步提高软标签的质量。这样,我们可以更好地利用知识库信息和语言模型,改善模型拟合。

我们提出的方法与low-resource的NER和半监督学习密切相关。我们将在第5节中讨论更多细节。我们总结了我们工作的主要贡献如下:

•我们证明,经过预训练的语言模型还可以在训练过程中提供其他语义信息,并减少用于远距离监督的命名实体识别的标签的噪声。据我们所知,这是第一项工作,利用了预训练的语言模型的强大特征在远距离监督下完成了开放域NER任务。

•我们设计了一个两阶段的框架来充分利用语言模型在任务中的作用。具体来说,我们在第一阶段使用语言模型迭代地定义远距离标签,并在第二阶段改进teacher-student框架下的模型拟合,从而能够应对嘈杂和不完整标注的挑战。

•我们在远距离监督下对5个数据集进行了针对命名实体识别任务的综合实验。我们提出的方法在所有5个数据集中(其中有4个都)远远超过了最新的,有监督的NER竞争者。

二、 预备知识

我们简要介绍了远距离监督NER问题和预训练语言模型。

2.1 远距离监督的NER

NER是将文本中的命名实体定位和分类为预定的实体类别(例如人名,组织,位置等)的过程。形式上,给定一个带有N个tokens的句子X = [x1,...,xN],一个实体是与实体类型相关联的tokens = [xi,...,xj](0≤i≤j≤N)的范围。基于BIO模式(Li等,2012),通常将NER公式化为序列标记任务,即为句子X分配标签序列Y = [y1,...,yN]。具体来说,第一个标签类型为X的实体提及的标签为B-X;该实体提及的其他token被标签为I-X;并且非实体token被标为O。

对于(完全)监督的NER,我们给了M个已经在token-level进行标注的句子,表示为 [公式] 。令f(X;θ)表示NER模型,它可以计算N个概率单纯形来预测任何新句子X的实体标签,其中θ是NER模型的参数。我们通过最小化 [公式]上的损失来训练模型:

[公式] (1)

其中 [公式]是交叉熵损失。

对于远距离监督的NER,我们无法访问标注正确的真实标签,而只能访问通过将无标签的句子与外部地名词典或知识库(KB)匹配而生成的远距离标签。可以通过字符串匹配(Giannakopoulos等,2017),正则表达式(Fries等,2017)或启发式规则(例如POS标签约束)来实现匹配。因此,我们通过最小化 [公式] 的公式Eq(1)来替换它们的远距对应标签,从而学习NER模型。

挑战: 远距离监督产生的标签通常有噪声且不完整。对于开放域NER尤其如此,其中对域或语料库的内容没有限制。 Fries等人(2017)和Giannakopoulos等人(2017)提出了针对特定域(例如生物医学域)的远距离监督NER方法,其中采用的特定于域的地名词典或知识库通常具有较高的匹配质量,并且产生高精度和高召回距离标签。但是,对于开放域,远距离标签的质量要差得多,因为在开放域知识库(KB)中存在更多的歧义和对实体类型的有限覆盖。表1说明了开放域和生物医学域数据集上远距离标签的匹配质量。可以看出,开放域数据集的远距离标签的精度和召回率要低得多。这对训练准确的NER模型提出了巨大的挑战。

表1:现有在开放域上的地名词典匹配性能(Sang和De Meulder,2003; Strauss等人,2016)和生物医学领域NER数据集(Shang等人,2018)。

2.2 预训练语言模型

训练过的语言模型,例如BERT及其变体(例如,RoBERTa(Liu等人,2019b),ALBERT(Lan等人,2020b)和T5(Raffel等人,2019))已在许多自然语言理解任务中具有最先进的表现(Jiang等,2019)。这些模型本质上是基于双向transformer架构的大规模神经网络,并以完全无监督的方式使用开放域数据进行训练。transformer体系结构的堆叠式self-attention模块可以捕获深层上下文信息,它们的非递归结构使训练能够扩展到大量的开放域数据。例如,流行的基于BERT的模型包含1.1亿个参数,并使用BooksCorpus(Zhu等人,2015)(8亿个单词)和英语Wikipedia(25亿个单词)进行了训练。更重要的是,许多预训练的语言模型已经在网上公开提供。个人不需要从头开始训练他们。将预训练的语言模型应用于下游任务时,只需稍微修改一下模型,然后通过有效且可扩展的随机梯度类型算法对模型进行调整即可。

三、两阶段框架:BOND

我们介绍我们提议的两阶段框架-BOND。在BOND的第一阶段,我们使BERT模型适应远距离监督的NER任务。在第二阶段,我们使用自训练方法来改进对训练数据的模型拟合。我们在图1中总结了BOND框架。

图1:两阶段的BOND框架。在阶段I中,经过预训练的BERT用于早停的远距离NER任务。在阶段II中,首先从阶段I中学习的模型初始化student模型和teacher模型。然后使用teacher模型生成的伪标签对student模型进行训练。同时,由早停的student迭代更新teacher模型。

3.1 第一阶段:带有早停的BERT-Assisted远距离监督学习

在继续我们提出的方法之前,我们简要介绍如何为开放域NER任务生成远距离标签。我们的标签生成方案包括两个步骤:我们首先通过POS标签和手工制定的规则来识别潜在实体。然后,我们从Wikidata查询以使用SPARQL识别这些实体的类型(Vrandeˇci´c和Kröotzsch,2014),如图2所示。接下来,我们从多个在线资源中收集地名词典,以匹配数据中的更多实体(Sang和De Meulder,2003年)。有关更多技术细节,请参阅附录。

 图2:Wikidata的匹配实体的图示

然后,我们继续我们提出的方法。我们用 [公式] 表示由θ参数化的NER模型, [公式] 表示第n个token属于第c类的概率,而 [公式] 表示远距离标签的数据,Dm表示远距离标签,其中 [公式] 和 [公式] 。通过最小化 [公式] 上的损失来学习NER模型 [公式] :

[公式]

其中

[公式]

NER模型f(·,·)的架构是在预训练的BERT之上的token-wise NER分类器,如图3所示。NER分类器从预训练的BERT layers中获取token-wise的输出嵌入, 并给出每个token类型的预测。预训练的BERT包含丰富的语义和语法知识,并产生高质量的输出嵌入。使用这样的初始化的嵌入,我们可以使用随机梯度类型算法(例如ADAM)有效地使预训练的BERT适应目标NER任务。继Raff等人(2019)之后,我们的适应过程更新了整个模型,包括NER分类层和预训练的BERT层。

图3:预训练的Masked语言模型与NER模型

图4说明了预训练的BERT嵌入如何帮助模型适应远距离监督的NER任务。我们着重指出,BERT是通过mask语言模型(MLM)任务进行预训练的,并且能够使用上下文信息来预测丢失的单词。这样的MLM任务与NER任务有很多相似之处。它们都是基于token的分类问题,并且严重依赖于上下文信息(参见图3)。自然地,这使得预训练的BERT的语义知识能够转移到NER任务。因此,与仅使用远距离标签的数据从头开始训练的实体类型相比,预训练模型可以更好地预测实体类型。

图4:阶段I的图示。顶图)将预训练的语义知识转移到NER任务;中图)利用早停预训练的知识并产生更好的预测;下图)没有早停,模型过拟合噪声。随着我们更新预训练的BERT层,token嵌入也在演变。

早停: 我们在适应过程中使用的一项重要策略是早停。由于模型容量大的限制和有噪声监督(远距离标签),我们的NER模型可能过拟合远距离标签中的噪声,并且如果在没有任何干预的情况下会忘记预训练的BERT中的知识。早停本质上是一个强大的正则化,可以防止这种过拟合,并提高了对未知数据的泛化能力。

备注1: 第一阶段解决了在远距离监督的NER任务中的两个主要挑战:

噪声的标注和不完整的标注。随着预训练的BERT中的语义知识被转移到NER模型,噪声被抑制,从而提高了预测精度。此外,早停可防止模型过拟合不完整的带标注标签,从而进一步提高召回率。

3.2 第二阶段:Self-Training

我们首先描述一种teacher-student的自我训练框架,以改善模型拟合,然后我们提议使用高置信度的软标签来进一步改善self-training。

3.2.1 teacher-student框架

我们使用 [公式][公式] 分别表示teacher和student模型。给定在第一阶段学习的模型 [公式] ,一种方式是将teacher模型和student模型初始化为,表示都初始化为第一阶段训练之后的模型:

[公式]

另一种方式是,只有teacher初始化为第一阶段训练后的模型:

[公式]

其中 θBERT表示在阶段I中使用的经过预训练的BERT层初始模型。为简单起见,我们将第二种方式称为“重新初始化”。

在第t次迭代中,teacher模型通过下面公式生成伪标签 [公式]

[公式]

然后,student模型拟合这些伪标签。具体来说,给定teacher模型 [公式] ,student模型是通过求解下面公式来进行学习

[公式]

然后,我们使用ADAM优化公式(5)早停。在第t次迭代的最后,即每迭代t次,我们通过以下方式更新teacher模型和student模型:

[公式]

该算法在Algorithm 2中进行了概述。

备注2: 请注意,我们丢弃了第(t-1)次迭代中的所有伪标签,而仅使用第t次迭代中teacher模型生成的伪标签来训练student模型。结合早停,这种自训练方法可以改善模型拟合并降低伪标签的噪声,如图5所示。通过逐步完善伪标签,student模型可以逐渐利用伪标签中的知识,并避免过拟合。

图5:self-training说明。自训练可以逐渐减少伪标签的噪声并改善模型拟合

3.2.2 重新加权的高置信度软标签

由公式(4)生成的伪标签仅为每个token保留最高置信度的类别。为了避免丢失太多其他类别的信息,我们提议使用带有置信度重新加权的软标签。

对于第m个句子中的第n个标签的召回率,C类上的输出概率单纯形表示为:

[公式]

根据Xie等(2016)所述,在第t次迭代中,teacher模型会生成软伪标签 [公式]

[公式]

 

其中 [公式] 计算属于第c类的token的非归一化频率。可以看出,等式(6)中的平方re-weighting步骤实质上有利于具有较高置信度的类。然后通过最小化来优化student模型f(·;θstu):

[公式]

其中 [公式] 表示基于KL散度的损失:

[公式]

高置信度选择. 为了进一步解决数据中的不确定性,我们提议根据预测置信度选择token。具体来说,在第t次迭代中,我们从第m个句子中选择一组高置信度标签

[公式]

其中 [公式]是优化阈值。因此,可以通过仅将所选token上的损失最小化来优化student模型f(·θstu): [公式]

四、实验

我们进行了一系列实验,以证明我们提出的方法的优越性。

4.1 实验设置

4.1.1 数据集

我们考虑以下NER基准数据集:

(i)CoNLL03(Tjong Kim Sang和De Meulder,2003年)是来自CoNLL 2003 Shared Task的著名的开放域NER数据集。它由1393篇英文新闻组成,并用四种实体类型进行标注:人员,位置,组织和其他。

(ii)Twitter(Godin等人,2015)来自WNUT 2016 NER共享任务。这是一个开放域NER数据集,由2400条推文(包含34ktoken)和10种实体类型组成。

(iii)OntoNotes5.0(Weischedel等,2013)包含来自多个领域的文本文档,包括广播对话,P2.5数据和Web数据。它由大约160万个单词组成,并带有18种实体类型进行标注。

(iv)Wikigold(Balasuriya等,2009)是一组Wikipedia文章(40ktoken),从2008年英语随机选择dump,并用四种CoNLL03实体类型进行手动标注。

(v)Webpage(Ratinov和Roth,2009年)是一个NER数据集,包含个人,学术和计算机科学会议的网页。它由20个网页组成,涵盖了与CoNLL03相同的四种类型的783个实体。

对于远距离标签生成,我们匹配外部知识库中的实体类型,包括从多个在线来源收集的Wikidata语料库和地名词典。数据源和匹配的详细信息在附录中进行了描述。

4.1.2 基准

我们将模型与不同基准方法组进行比较。

  • 知识库KB匹配。第一个基线使用附录中描述的机制执行与外部知识库KB的字符串匹配。
  • 完全监督的方法。我们还包括了完全监督的NER方法进行比较,包括:(i)基于RoBERTa的模型(Liu等人,2019b)-它采用具有线性层的RoBERTa模型来执行token-level别的预测; (ii)BiLSTM-CRF(Ma and Hovy,2016)采用具有字符级CNN的双向LSTM来生成token嵌入,将其嵌入CRF层以预测token标签。
  • 远距离监督方法。第三组基准是针对远距离监督的NER的最新深度学习模型,包括:(i)BiLSTM-CRF(Ma和Hovy,2016年)使用与KB匹配的远距离标签进行训练; (ii)AutoNER(Shang等人,2018)训练模型,方法是为有歧义标签分配所有可能的标签,然后使用fuzzy LSTM-CRF模型使总体可能性最大化; (iii)LRNT(Cao et al,2019)是low-resource命名标签的最新模型,该模型将部分CRF应用到具有非实体采样的高质量数据上。与这些远距离监督方法进行比较时,为了公平比较,我们使用相同的远距离标签的训练数据。
  • 具有不同设置的基准。以下方法还可以在远距离监督下进行开放域NER。我们注意到他们使用不同的知识库和额外的训练数据。因此,我们仅与他们论文中报告的结果进行比较。 (i)KALM(Liu et al。,2019a)用KB扩充了传统语言模型,并使用实体类型信息来增强模型。 (ii)ConNET(Lan等人,2020a)利用了多个群标注,并通过注意力机制动态地聚合了它们。它从多个来源的不完善的标注中学习。
  • 对于消融研究,我们考虑以下方法/技巧。
  1. (i)MT(Tarvainen和Valpola,2017) 使用mean teacher方法对模型权重进行平均,并形成目标生成的teacher模型。
  2. (ii)VAT (Miyato et al。,2018) 采用虚拟对抗训练来平滑输出分布,以使模型对噪声具有鲁棒性。
  3. (iii)硬标签 使用等式(4)生成伪标签。
  4. (iv)软标签 使用等式(6)生成伪标签。
  5. (v)重新初始化 使用等式(3)初始化student和teacher模型。
  6. (vi)高置信度选择 使用等式(8)选择token。

4.2 实验结果

我们的NER模型使用基于RoBERTa。线性分类层建立在基于RoBERTa的模型上。有关实现的详细信息,请参阅附录。

4.2.1 主要结果

表2列出了所有方法的F1 Score,准确性和召回率。请注意,我们的完全监督的NER方法的实现了非常接近最先进的性能(Devlin等人,2019; Limsopatham和Collier,2016)。我们的结果总结如下:

 

表2:测试集的主要结果:F1 Score(精确度/召回率)(%); 注意:使用额外数据时,KALM可获得更好的性能。 :ConNET在众源环境下研究NER,其中最佳人工标注达到F1 Score89.51。

对于所有五个数据集,我们的方法在远距离监督场景下(F1 Score,准确性和召回率)始终能够达到最佳性能。特别是,我们的方法优于最强远距离监督NER基线的F1评分{11.74,21.91,0.66,14.35,12.53}。这些结果证明了我们提出的方法的显着优势。

预训练的语言模型的标准适应就已经显示出卓越的性能。通过我们的方法的第一阶段获得的模型,在F1评分方面比最强远距离监督NER基线高{5.87,20.51,0.42,7.72,4.01}。我们的方法的阶段II进一步改善了阶段I的性能{5.87,1.4,0.24,6.63,8.52}。

在CoNLL03数据集上,与使用不同来源(即KALM和ConNET)的基准相比,我们的模型还具有明显的优势。第5节提供了我们的方法与它们之间更详细的技术比较。

4.2.2 消融研究

为了深入了解我们的两阶段框架,我们通过消融研究调查了我们方法的几个组成部分的有效性。表3列出了CoNLL03和Wikigold数据集的结果。我们的结果可以总结如下:

Table 3: Ablation Study: F1 Score (Precision/Recall) (in %) ; 注意为了清楚起见,我们使用BOND表示使用硬伪标签的两阶段框架。

 

•对于第一阶段,预训练语言模型显着提高了两个数据集的准确性和召回率。具体来说,当从头开始训练NER模型时,第一阶段输出模型的F1 Score在CoNLL03上从75.61降至36.66,在Wikigold上从51.55降至18.31。这证明了经过预训练的RoBERTa中丰富的语义和上下文信息已在第一阶段成功转移到了我们的NER模型中。

•对于第一阶段,早停可以提高两个数据集的准确性和召回率。我们在CoNLL03上将训练迭代次数从900增加到18000,在Wikigold上将训练迭代次数从350增加到7000,第一阶段输出模型的F1 Score在CoNLL03上从75.61降低到72.11,在Wikigold上从51.55降低到49.68。这证明了“早停”可以缓解过拟合并提高我们NER模型的泛化能力。

•对于第二阶段,软标签提高两个数据集上的F1 Score和召回率。具体而言,F1 Score和召回率在CoNLL03上从77.28/71.98上升到80.18/78.84,在Wikigold上从56.90 / 59.74上升到58.64/65.79。此外,Wikigold的精度也得到了提高。这证明软标签比硬标签保留了更多的信息,并产生了更好的拟合模型。

•对于第二阶段,高置信度选择可以提高两个数据集的F1 Score。具体而言,与使用软标签相比,CoNLL03的F1 Score和召回率从81.56 / 78.84上升到80.18 / 72.31,而Wikigold则从58.64 / 59.74上升到60.07 / 68.58。此外,CoNLL03的精度也得到了提高。这证明高置信度标签有助于选择数据并产生更强大的性能。

•对于第二阶段,仅当采用硬标签时,重新初始化才能提高精度和召回率。我们认为,这是因为硬标签丢失了太多有关数据不确定性的信息,重新初始化RoBERTa层可恢复语义和上下文信息,并可以弥补这种丢失。

相反,当采用软标签时,重新初始化会降低精度和召回率。我们认为这是因为软标签保留了足够的信息(即,从RoBERTa转移并从远距离标签中学到知识)。结果,重新初始化只会导致数据欠拟合。

此外,我们还考虑了多次重新初始化,并观察到相似的结果。

通过增加MT teacher或VAT teacher,可以将Mean Teacher和Virtual Adversarial Training自然地集成到我们的多特征teacher-student框架中。VAT会略微提高两个数据集的F1 Score。 MT略微提高了Wikigold上的F1 Score,并降低了CoNLL03上的F1 Score。我们认为,这是因为MT和VAT在使用高质量标签时效果很好,但是,我们NER任务中的标签不是很精确。

4.2.3 参数研究

我们调查了使用CoNLL03数据选择token的Stage I – T1的早停时间,II– T3的早停时间以及置信度阈值kesi的影响。默认值为T1 = 900,T3 = 1800,kesi= 0.9。学习曲线总结在图6中:

 

图6:BOND,BOND(w/reinit),BOND(w/soft)和BOND(w/soft+reinit)的学习曲线

•T1和T3分别反映了第一阶段和第二阶段的准确性和召回率之间的折衷。这证明了早停的重要性。模型性能对T1敏感,对T3不太敏感。

•召回率随着kesi的增加而增加。精度显示出不同的行为:先降低然后升高。

•我们还考虑了一个场景,其中T3允许针对Stage II的每次迭代进行调整。与所有迭代中T3保持相同的设置相比,这需要更多的计算资源。

从F1 Score,准确性和召回率方面来看,这可以进一步将模型性能提高到83.49、84.09、82.89。

4.2.4 案例研究和错误分析

为了演示BOND如何提高召回率,我们使用Wikigold数据将KB匹配的预测性能与Stage I和Stage II的输出模型进行了比较。图8展示了四种实体类型的条形图–“LOC”,“PER”,“ ORG”和“ MISC”。可以看出,KB匹配由于覆盖范围有限而产生大量的“O”(非实体)。结果,召回率非常低,为47.63%。相比之下,我们的阶段I模型受益于经过预训练的RoBERTa的知识,并且能够将一些错误匹配的O纠正为其对应的实体类型。因此,它的召回率更高,为54.50%。此外,第二阶段的self-training使召回率进一步提高到68.48%。

图8:知识库匹配的召回率和BOND的不同阶段。横轴表示真实实体类型。条形图中的分段表示实体中被分为不同实体类型的部分。

五、相关工作与讨论

我们的工作与low-resource的NER有关。该研究领域专注于利用跨语言信息来改善模型性能。例如,Cotterell和Duh(2017);冯等(2018)考虑使用NER作为low-resource目标语言。他们提议使用与目标语言密切相关的带标注语言来训练NER模型。 Xie等人(2018)提出使用双语词典来应对这一挑战。最近,Rahimi等人(2019)提出了一种贝叶斯图形模型方法来进一步提高low-resource NER的性能。

我们的工作也与半监督学习有关,其中训练数据仅部分标签。有许多半监督学习方法,包括我们的实验中用于比较的流行的Mean Teacher和Virtual Adversarial Training方法(Rosenberg等,2005; Tarvainen和Valpola,2017; Miyato等,2018; Meng)等。与远距离监督不同,这些半监督学习方法通​​常具有部分标签数据。他们依靠有标签的数据来训练足够准确的模型。无标签的数据通常用于归纳某些正则化,以进一步提高泛化性能。但是,远距离监督仅考虑带有噪声标签的设置。如我们的实验中的消融研究所示,现有的半监督学习方法(例如,Mean Teacher和Virtual Adversarial Training)只能稍微提高性能。

其他相关工作:Liu等人(2019a)提出了一种基于语言模型的方法-KALM用于NER任务。但是,他们的方法有两个缺点:(i)由于他们设计了用于NER任务的语言模型,因此需要首先从头开始训练语言模型。但是,这通常需要大量的训练语料库和巨大的计算资源。相比之下,BOND使用通用的预训练的语言模型,该模型可在网上公开获得。 (ii)对其语言模型的训练并非完全不受监督,需要token-level的标注。为了解决此问题,他们采取远距离监督,这会产生不完整且噪音的标注。因此,他们的语言模型不一定能达到所需的性能。

更大的预训练语言模型:为了进一步提高BOND的性能,我们可以使用更大的预训练语言模型,例如RoBERTa-large(Liu等人,2019b)(在我们的实验中是RoBERT基的三倍)和T5(Ra ff el et al。,2019)(比RoBERTa-base大30倍)。这些较大的模型包含更多常规语义和语法信息,并且有可能为NER任务实现甚至更高的性能。不幸的是,由于我们的计算资源有限,我们无法在实验中使用它们。

远距离标签生成的详细说明

A.1 外部知识库

Wikidata是用于获取和维护结构化数据的协作式免费知识库。它包含从Wikipedia上经过验证的文章中提取的超过1亿个token。 Wikidata知识要求高度的结构化组织。它为用户提供SPARQL查询服务以获得实体关系。

多源地名录。对于每个数据集,我们为每种实体类型构建一个地名词典。以CoNLL03为例,我们通过从多个在线资源(包括随机名称,美国名字数据库,单词列表,美国人口普查局,德语姓氏,姓氏数据库和姓氏列表)收集数据来为PER类型构建地名词典。我们通过收集来自足球队,棒球队和政府间组织的数据来为ORG类型建立地名索引。在论文被接受发表后,我们将发布所有与遥远标签匹配的地名索引和代码。

A.2远距离标签生成详细信息

我们通过从POS tagging(例如NLTK)获得的POS标签,找到了第一个潜在实体(Loper和Bird,2002年)。然后,我们使用Wikidata查询服务来匹配这些潜在实体。具体来说,我们使用SPARQL查询知识树中实体的父类别。我们继续向上一级查询,直到找到与类型对应的类别。对于含糊不清的实体(例如,与多个父类别链接的实体),我们会在匹配过程中将其丢弃(即,我们将其分配为O型)。上面的过程总结在图2中。

然后,我们通过抓取在线数据源为每个数据集中的每个实体类型构建一个多源地名词典。遵循之前的精确字符串匹配方法(Sang和De Meulder,2003; Giannakopoulos等,2017),如果实体出现在地名词典中,则该实体与该类型匹配。

对于不匹配的token,我们进一步使用一组手工制定的规则来匹配实体。我们注意到,在真实实体中,通常会有一个stamp词。如果该实体中存在一个在该类型中频繁出现的标签词,则我们将潜在实体与该类型匹配。例如,“ Inc。”组织名称中经常出现,因此出现“ Inc”。表示“ XXX Inc.”中单词的实体标签应该是B-ORG或I-ORG)。

请注意,对于Twitter,我们不会构建自己的多源地名词典。我们直接使用Godin等人(2015)中提出的基线系统来生成远距离标签。

B 基准设置

对于基线,我们使用Pytorch实现LSTM-CNN-CRF,并使用预训练的100维GloVe嵌入(Pennington等人,2014)作为输入向量。然后,将字符级嵌入的尺寸设置为30,并将其馈入内核宽度为3的二维卷积神经网络(CNN)。然后,输出维度是range [25、50、75、100, 150],并报告最佳效果。我们以早停的50个epoch来训练模型。我们使用动量为m = 0.9的SGD,并将学习率设置为2×10-3。在LSTM之后,我们将线性层的dropout rate设置为0.5。我们在[10-5、10-6、10-7、10-8]范围内调整权重衰减,并报告最佳性能。

对于其他基准,我们遵循作者正式发布的实现:(1)AutoNER:https://github.com/shangjingbo1226/AutoNER; (2)LRNT:https//github.com/zig-k win-hu/Low-Resource-Name-Tagging。

C BOND的实现细节

所有实现均基于Huggingface Transformer代码库。

C.1 使RoBERTa适应NER任务

我们选择基于RoBERTa的数据库作为我们NER模型的骨干模型。线性分类层建立在预训练的RoBERTa基础上,如图9所示。

 


C.2 伪标签生成详细信息

BERT使用WordPiece(Wu et al。,2016)对输入文本进行标签化。当teacher模型为阶段II中的所有训练数据预测一组伪标签时,它也会为padded标签分配标签。我们通过label mask在训练和损失计算步骤中忽略了这些labels。

C.3 参数设置

我们的模型中有几个关键参数:1)对于CoNLL03,我们选择T1 = 900(约1个epoch)和T3 = 1756(约2个epoch)。对于Tweet,我们选择T1 = 900和T3 =900。对于OntoNotes5,我们选择T1 = 16500和T3 =1000。对于网页,我们选择T1 = 300和T3 =200。对于Wikigold,我们选择T1 = 350和T3 = 700.对于T2,当所有数据集的总训练epoch数达到50时,我们停止训练。 2)对于CoNLL03,Webpage和Wikigold,我们选择10−5作为学习速率,对于OntoNotes5,Twitter选择2×10−5,所有这些学习速率的线性衰减为10-4。

3)我们使用β1= 0.9和β2= 0.98的AdamW作为所有数据集的优化器。 4)我们为所有数据集设置(cid:15)= 0.9。 5)除OntoNotes5.0(使用32作为训练批次大小)外,所有数据集的训练批次大小均为16。 6)对于NERtoken-wise的分类头,我们将dropout rate设置为0.1,并使用隐藏尺寸为768的线性分类层。对于MT,我们将CoNLL03的提升步骤设置为300,将Tweet的提升步骤设置为200,将OntoNotes5设置为200。 0,WebPage为300,Wikigold为40。对于所有数据集,我们将移动平均参数选择为α1= 0.99和α2= 0.995。对于增值税,我们设perturbation大小vat = 10-4。

C.4 多次重新初始化

多次重新初始化的实现方式如下:在第二阶段,由于student模型的性能不再提高,我们从经过预训练的RoBERTa基础上对其进行了重新初始化,并开始了新的自训练迭代。

C.5合并 BOND w/MT&VAT

MT&VAT可以轻松地与BOND结合使用,如下所示:在训练期间,我们通过最小化加权MT(或VAT)损失和Eq(7)之和来更新student模型。使用开发集在[10、1、10-1、10-2、10-3]中选择MT(或VAT)损失的权重。

 

 

posted on   Y-flower  阅读(284)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示