【论文精读】CONTAINER: Few-Shot Named Entity Recognition via Contrastive Learning

这篇具有很好参考价值的文章主要介绍了【论文精读】CONTAINER: Few-Shot Named Entity Recognition via Contrastive Learning。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

一篇来自ACL2022的文章,采用对比学习的方法提高模型的性能,在实现方法上和实验论证部分很值得借鉴,至于和大模型性能的对比,还需要进一步的调研~


Abstract

低资源场景NER不可或缺,但现有的方法仅从源域学习特定的语义特征和中间表示,这会影响对目标域的泛化能力,降低性能。为此本文提出CONTAINER,一种新颖的对比学习技术,可以优化小样本NER中token间分布的距离,从而有效缓解过拟合问题。该方法在多个数据集上模型性能显著提升,包括在具有挑战的场景。

1 Introduction

由于受监督的NER模型需要大规模的人工标注数据,因此低资源约束下小样本NER引起广泛关注。为了避免在有限数据集上产生过拟合的问题,元学习被引入帮助学习。很多方法使用原型网络,它对每个分类创建一个原型表示,对每一个需要分类的查询,计算分类的原型向量和查询点的距离来确定。
小样本NER任务有如下挑战:

  1. 作为序列标注任务,需要更具上下文的一致性和标签内依赖关系进行标注;
  2. 不属于任何类的token被标注为O,这会出现训练集被标注为O的token在测试集中是有效目标的情况;
  3. 小样本设置下没有足够多的样本可供为验证集,超参数调整困难。

第二点在原型网络中,由于实体是通过原型聚类的,经过训练的权重将会与源域类紧密相关,这会导致测试集数据在嵌入时放弃许多与其真实目标实体相关的有用特征。

CONTAINER利用对比学习的力量来应对以上挑战。
image.png

  1. 试图减少相似样本的token嵌入的距离,增大不同实体的token嵌入距离,可以更好捕获标签依赖性;
  2. 使用通用目标进行训练,可以避免现有方法出现的O-token陷阱;
  3. 不需要任何特定数据集调整超参数。

和传统的对比学习方法优化embedding之间相似性目标不同,CONTAINER优化分布差异,有效地对高斯嵌入建模。点embedding只是简单优化样本距离,而高斯嵌入面临通过方差估计维持类分布的额外约束。因此高斯embedding显示对实体类分布进行建模,这样不仅提升通用特征的表示,还有助于小样本目标的域适应。此外之前的任务还表明高斯embedding可以捕获表征的不确定性、表达自然不对称性,同时只需要更少的样本就能表达很好的泛化能力。
总的来说,本文的主要贡献如下:

  1. 提出一种新颖的利用对比学习来推断其高斯嵌入的分布距离的方法;
  2. 证明CONTAINER域适应能力很强,即使支持集很少的情况下;
  3. 大量实验表明方法是优于sota的。

2. Task Formulation

2.1 Few-shot Setting

小样本NER中,模型在源域中训练,在数据稀缺的目标域测试,在N-way K-shot设置中,目标域有N个标签,每个标签有K个样本。

2.2 Tagging Scheme

为了公平将CONTAINER和先前的SOTA模型进行对比,本文遵守IO标记方案,I类型表示所有的token都在一个实体内,O类型表示所有其他token。

2.3 Evaluation Scheme

为了和Few-NERD排行榜中的sota模型比较,采用episode evaluation方法,即计算多个测试集的micro-F1分数来评估模型,每个episode包含一个K-shot支持集和K-shot未标注的查询集去做预测。

3. Method

CONTAINER利用对比学习来优化不同token实体表示之间的分布差异。这种对比不是专注于标签特定属性,而是明确训练模型以区分不同类别的token。进一步说采用高斯embedding代替传统的点表示法可以高效对实体类进行建模,激发token的通用表示。最后它让少量样本也能微调模型而不会过拟合。

方法整体步骤如下:

  1. 在源域上训练;
  2. 在目标域上进行微调;
  3. 最后使用实例级最近邻分类器在测试集上推理。

3.1 Model

image.png
CONTAINER结合BERT生成上下文表示。和使用投影点映射进行对比学习的SIMCLR不同,CONTAINER假设token嵌入遵循高斯分布。具体来说,使用投影网络 f μ f_{\mu} fμ f Σ f_{\Sigma} fΣ来生成高斯分布参数:
μ i = f μ ( h i ) , Σ i = ELU ⁡ ( f Σ ( h i ) ) + ( 1 + ϵ ) \boldsymbol{\mu}_{i}=f_{\mu}\left(\boldsymbol{h}_{i}\right), \quad \boldsymbol{\Sigma}_{i}=\operatorname{ELU}\left(f_{\Sigma}\left(\boldsymbol{h}_{i}\right)\right)+(1+\epsilon) μi=fμ(hi),Σi=ELU(fΣ(hi))+(1+ϵ)
h i h_i hi是经过BERT输出的中间表示, μ i ∈ R l \boldsymbol{\mu}_{i} \in \mathbb{R}^{l } μiRl Σ i ∈ R l × l \boldsymbol{\Sigma}_{i} \in \mathbb{R}^{l \times l} ΣiRl×l分别表示高斯嵌入的均值和对角协方差,上述投影作为单独一层网络。ELU是指数线性单元, ϵ \epsilon ϵ是极小值。

3.2 Training in Source Domain

为了计算对比损失,考虑样本中所有有效token对的KL散度, x p x_p xp x q x_q xq被认为是正样本如果它们有相同的标签。给定它们的高斯嵌入 N ( μ p , Σ p ) \mathcal{N} \left ( \boldsymbol{\mu}_{p},\boldsymbol{\Sigma}_{p} \right ) N(μp,Σp) N ( μ q , Σ q ) \mathcal{N} \left ( \boldsymbol{\mu}_{q},\boldsymbol{\Sigma}_{q} \right ) N(μq,Σq),可以计算如下的KL散度:
D K L [ N q ∥ N p ] = D K L [ N ( μ q , Σ q ) ∥ N ( μ p , Σ p ) ] = 1 2 ( Tr ⁡ ( Σ p − 1 Σ q ) + ( μ p − μ q ) T Σ p − 1 ( μ p − μ q ) − l + log ⁡ ∣ Σ p ∣ ∣ Σ q ∣ ) \begin{array}{l} D_{\mathrm{KL}}\left[\mathcal{N}_{q} \| \mathcal{N}_{p}\right]=D_{\mathrm{KL}}\left[\mathcal{N}\left(\boldsymbol{\mu}_{q}, \boldsymbol{\Sigma}_{q}\right) \| \mathcal{N}\left(\boldsymbol{\mu}_{p}, \boldsymbol{\Sigma}_{p}\right)\right] \\ =\frac{1}{2}\left(\operatorname{Tr}\left(\boldsymbol{\Sigma}_{p}^{-1} \boldsymbol{\Sigma}_{q}\right)\right. \\ \quad+\left(\boldsymbol{\mu}_{p}-\boldsymbol{\mu}_{q}\right)^{T} \boldsymbol{\Sigma}_{p}^{-1}\left(\boldsymbol{\mu}_{p}-\boldsymbol{\mu}_{q}\right) \\ \left.\quad-l+\log \frac{\left|\boldsymbol{\Sigma}_{p}\right|}{\left|\boldsymbol{\Sigma}_{q}\right|}\right) \end{array} DKL[NqNp]=DKL[N(μq,Σq)N(μp,Σp)]=21(Tr(Σp1Σq)+(μpμq)TΣp1(μpμq)l+logΣqΣp)
由于KL散度的非对称性,需要计算其两个方向:
d ( p , q ) = 1 2 ( D K L [ N q ∥ N p ] + D K L [ N p ∥ N q ] ) d(p,q)=\frac{1}{2}(D_{\mathrm{KL}}\left[\mathcal{N}_{q} \| \mathcal{N}_{p}\right]+D_{\mathrm{KL}}\left[\mathcal{N}_{p} \| \mathcal{N}_{q}\right]) d(p,q)=21(DKL[NqNp]+DKL[NpNq])
首先在资源丰富的数据集上训练,每个训练step中,随机抽样一批大小为b的序列 X \mathcal{X} X,获取它们的高斯嵌入 N ( μ i , Σ i ) \mathcal{N} \left ( \boldsymbol{\mu}_{i},\boldsymbol{\Sigma}_{i} \right ) N(μi,Σi),找到样本 p p p的正样本 X p \mathcal{X}_p Xp然后计算其相对于同批次中所有其他有效token的高斯嵌入损失:
X p = { ( x q , y q ) ∈ X ∣ y p = y q , p ≠ q } \mathcal{X}_p=\left \{ \left ( x_q,y_q \right ) \in \mathcal{X} | y_p=y_q, p\ne q\right \} Xp={(xq,yq)Xyp=yq,p=q}
ℓ ( p ) = − log ⁡ ∑ ( x q , y q ) ∈ X p exp ⁡ ( − d ( p , q ) ) / ∣ X p ∣ ∑ ( x q , y q ) ∈ X , p ≠ q exp ⁡ ( − d ( p , q ) ) \ell(p)=-\log \frac{\sum_{\left(x_{q}, y_{q}\right) \in \mathcal{X}_{p}} \exp (-d(p, q)) /\left|\mathcal{X}_{p}\right|}{\sum_{\left(x_{q}, y_{q}\right) \in \mathcal{X}, p \neq q} \exp (-d(p, q))} (p)=log(xq,yq)X,p=qexp(d(p,q))(xq,yq)Xpexp(d(p,q))/Xp
通过这种方式可以计算批次中所有token对的分布散度。

3.3 Finetuning to Target Domain using Support Set

源域训练结束,在目标域的支持集用相似的方式微调,因为数据量很少,所以放在一个batch。当多个小样本用于目标类时,模型可以通过优化高斯嵌入的KL散度来有效适应新域。相反,1-shot会对模型适应目标类带来挑战,如果没有关于目标域的先验知识,一个样本不足以推断出目标类分布的方差。因此对于1-shot场景,优化距离为:
d ′ ( p , q ) = ∥ μ p − μ q ∥ 2 2 d'(p,q)=\left \| \boldsymbol{\mu}_{p}-\boldsymbol{\mu}_{q} \right \| ^2_2 d(p,q)= μpμq 22
即嵌入分布均值之间的平方欧氏距离。当模型有先验知识时,仍然使用之前的KL散度。
image.png
上表显示在微调阶段,1-shot场景使用平方欧氏距离优化能获得更好的性能,但是5-shot场景优化高斯嵌入会得到更好的结果。
早停机制: 使用小支持集存在过拟合风险,并且由于验证集稀缺,无法保证到达微调的饱和点,为缓解此情况,依赖计算出的对比损失,采用patience为1的早停机制。

3.4 Instance Level Nearest Neighbor Inference

训练和微调结束后将抽取的PLM用于推理。由于投影层之前的表征包含更多的信息,因此投影层不用于推理。计算来自PLM的测试数据的表示,并找到最近邻支持集表示用于推理。
image.png
计算测试集表征和支持集的表征的距离,将与支持集距离最短的标签作为测试集的标签。
维特比解码:先前工作表明CRF可以消除错误预测提高性能,因此在推理阶段使用维特比解码,并使用StructShot中的抽象转换分布。对于转换概率,通过计算三个抽象标记O、I、I-other在训练集中出现次数来估计它们之间的转换,这些转换概率最终均匀分布到目标域中。发射概率从最近邻推理阶段计算的。将域转移结果(表3)和其他任务(2,4,5)比较,发现如果测试数据集没有显著的域迁移,对比学习可以自动提取标签的依赖性。

4. Experiment Setups

image.png
数据集: 作者使用各种领域的数据集,包括通用(OntoNotes)、医药(I2B2)、新闻(CoNLL’03)、社交(WNUT’17),还在代表各种文本的GUM上进行测试,它包含访谈、新闻、乐器和旅游,领域的多样性使其成为一个具有挑战性的数据集。此外,还在一个新的大规模数据集Few-NERD上进行评估,它包含8个粗粒度实体,66个细粒度实体。上表是这些数据集的摘要。
Baselines: 首先在传统数据集上进行比较,接着与FEWNERD排行榜基线进行比较,作者采用基于原型网络的ProtoBERT最近邻度量方法NNShot,它利用嵌入空间中样本的位置,额外的也添加基于 Structshot 的维特比解码作为主要的 SOTA 基线。

4.1 Tag-set Extension Setting

image.png
小样本NER中常见的例子是新实体类型可能出现在相同的文本域中,即域内跨类型,因此有人提出使用OntoNotes数据集测试标签集扩展能力。18个类被封为3组A,B,C,每组6个种类,模型在两个组数据集上训练,第三组上进行测试,训练阶段所有测试组中的实体被标注为O。上表是不同模型在数据集上表现结果,CONTAINER比sota高出了12.75,性能有实质提升。

4.2 Domain Transfer Setting

image.png
即跨域同类型,将OntoNotes作为源域,评估在I2B2、C0NLL、WNUT上的性能,结果如上表所示。虽然其他域和OntoNotes几乎没有交集,但是CoNLL的目标实体完全包含在OntoNotes实体中,几乎与监督学习相当。

4.3 Few-NERD Setting

image.png
有两个不同的设置,Few-NERD(INTRA)和Few-NERD(INTER)。Few-NERD(INTRA)中,训练集、验证集和测试集按照粗粒度类型划分。另一方面,在Few-NERD(INTER)中,粗粒度类型是共享的,尽管所有细粒度类型都是互相不相交的。由于共享粗粒度类型的限制,Few-NERD(INTER)更具挑战性。性能评估结果如上表所示,CONTAINER在两项测试排行榜中都建立了新的基准测试结果。

Few-NERD(INTRA): 按照粗粒度的实体进行分类,例如训练集:People,MISC,Art,Product,验证集:Event,Building,测试集:ORG,LOC,由于不同粗粒度之间相关度很低,任务具有挑战性。
Few-NERD(INTER): 按照细粒度进行划分,每个粗粒度类中随机挑选60%的细粒度实体类作为训练集,20%作为验证集,20%作为测试集,考察的是细粒度实体之间的泛化性能。

5. Results and Analysis

5.1 Overall Results

表2-5表明,在每个场景中,CONTAINER都优于所有其他基线方案。比如Few-NERD(INTRA)中训练集和测试集粗粒度实体类型不重叠,是一个充满挑战的场景,但是CONTAINER表现良好。显然,通过对比高斯嵌入优化进行分布建模,可以更好利用小样本数据。为了保持模型架构一致性,没有进行细致的调参,CONTAINER仍然显示出相当的性能。

5.2 Training Objective

传统的对比学习器通常会优化点嵌入的余弦相似度,但是在小样本NER等更具挑战的NLU任务中表现不佳。本文将具有欧几里得距离和余弦相似度的点嵌入方法和高斯嵌入KL散度方法的性能进行比较,如下表所示:
image.png
根据上表对的实验结果,表明高斯嵌入更适合微调到小样本目标域。
image.png
接着采用t-SNE降维方法将embedding可视化,如上图所示,可以看到具有KL散度的高斯嵌入更好地分理处不同类别,所以得分会更高。

5.3 Effect of Model Fine-tuning

为了仔细检查微调的结果,使用PERSON、DATE、MONEY、LOC、FAC、PRODUCT目标实体对OntoNotes的标签extension任务进行了案例研究。
image.png
可以看出微调确实提升了小样本的性能,并且在5-shot设置下更为显著,说明CONTAINER可以充分利用目标域汇总可用的小样本。

5.4 Modeling Label Dependencies

分析结果,可以观察到跨域同类型场景使用维特比解码在性能上得到一定的收益,但是在其他任务上几乎没有提升,这是因为训练域和目标域在标签集扩展和FEW-NERD有很大的重叠,因此模型可以通过批量对比学习间接学习标签依赖关系。因此除非源域和目标域有明显的偏移,否则不通过维特比解码也能获得最佳性能。

6. Related Works

略。

7. Conclusion

本文提出一个基于对比学习的框架CONTAINER,可以对高斯嵌入进行建模并优化token之间的分布距离,避免了先前小样本NER方法的缺陷。通过实验评估,即使在具有挑战性的场景,CONTAINER也始终优于之前的SOTA。

阅读总结

通过这篇文章的深入阅读,让我对对比学习在小样本NER中的应用有了更深刻的认识,在之前我思维定式认为对比学习主要作用在数据层面,没想到还能够作用在模型中,并且由于高斯分布带来的不确定性,提升了模型的泛化能力,不得不感慨方法的巧妙。实验和分析部分多达5页(还不包括附录),作者论证的思路非常严谨,首先是在不同数据集上和sota进行比较,接着是模型组件性能的论证,分别论证高斯嵌入KL散度方法的优越性、微调的性能提升、对比学习学到的标签依赖性,其中高斯嵌入KL散度方法的优越性用可视化的方式展现,颇具有说服力。当然了,阅读这篇文章的目的还是为了探索没有大模型的支持下,小样本NER还能否继续做下去,目前看来性能上表现还是非常优秀的,训练成本也很低,只是不知道和基于大模型的小样本NER对比,还有没有优势,这需要进一步调研。文章来源地址https://www.toymoban.com/news/detail-449987.html

到了这里,关于【论文精读】CONTAINER: Few-Shot Named Entity Recognition via Contrastive Learning的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【论文阅读】 Few-shot object detection via Feature Reweighting

    Few-shot object detection的开山之作之一 ~~ 属于Metric-based Methods 特征学习器使用来自具有足够样本的基本类的训练数据来 提取 可推广以检测新对象类的meta features。The reweighting module将新类别中的一些support examples转换为全局向量,该全局向量indicates meta features对于检测相应物体的重

    2023年04月09日
    浏览(31)
  • 【论文阅读】Language Models are Few-Shot Learners(GPT-3)

    本文简要介绍了GPT-3的背景,模型架构,训练数据以及训练方式部分。具体训练细节,实验结果很多,可以在用到的时候再看 本文剖析了pretrain-finetune架构存在的问题: 对于每个新的任务,都需要大量的标注数据 将表达能力更强的模型(预训练阶段要求用大模型)在比较窄的

    2024年02月14日
    浏览(39)
  • (GPT3)Language Models are Few-Shot Learners论文阅读

    论文地址:https://arxiv.org/pdf/2005.14165v4.pdf         最近的工作表明, 通过对大量文本语料库进行预训练,然后对特定任务进行微调,许多 NLP 任务和基准测试取得了实质性进展 。 虽然在体系结构中通常与任务无关,但此方法仍然需要特定于任务的微调数据集,其中包含数

    2024年02月08日
    浏览(50)
  • 论文阅读---Albert :Few-shot Learning with Retrieval Augmented Language Models

    增强语言模型 Augmented Language Models https://arxiv.org/abs/2208.03299 提前知识: BERT (Bidirectional Encoder Representations from Transformers)是一种预训练语言模型,它通过在大规模文本数据上进行预训练,学习文本的双向表示,并在多种NLP任务中展现出卓越的性能。BERT的双向性意味着它能够

    2024年04月23日
    浏览(26)
  • 论文笔记|CVPR2023:Supervised Masked Knowledge Distillation for Few-Shot Transformers

    这篇论文的题目是 用于小样本Transformers的监督遮掩知识蒸馏 论文接收: CVPR 2023 论文地址: https://arxiv.org/pdf/2303.15466.pdf 代码链接: https://github.com/HL-hanlin/SMKD 1.ViT在小样本学习(只有少量标记数据的小型数据集)中往往会 过拟合,并且由于缺乏 归纳偏置 而导致性能较差;

    2024年02月06日
    浏览(37)
  • Spectral Adversarial MixUp for Few-Shot Unsupervised Domain Adaptation论文速读

    域偏移是临床应用中的常见问题,其中训练图像(源域)和测试图像(目标域)处于不同的分布下。已经提出了无监督域适应 (UDA) 技术,以使在源域中训练的模型适应目标域。但是,这些方法需要来自目标域的大量图像进行模型训练。 本文提出了一种新的少样本无监督域

    2024年04月28日
    浏览(30)
  • 【论文阅读24】Better Few-Shot Text Classification with Pre-trained Language Model

    论文标题:Label prompt for multi-label text classification(基于预训练模型对少样本进行文本分类) 发表时间:2021 领域:多标签文本分类 发表期刊:ICANN(顶级会议) 相关代码:无 数据集:无 最近,预先训练过的语言模型在许多基准测试上都取得了非凡的性能。通过从一个大型的

    2024年02月14日
    浏览(30)
  • 论文阅读 - Few-shot Network Anomaly Detection via Cross-network Meta-learning

    论文链接:https://arxiv.org/pdf/2102.11165.pdf   目录 摘要: 引言 问题定义 方法 Graph Deviation Networks Cross-network Meta-learning         网络异常检测旨在找到与绝大多数行为显着不同的网络元素(例如节点、边、子图)。它对从金融、医疗保健到社交网络分析等各种应用产生了深远

    2024年02月14日
    浏览(39)
  • 《论文阅读》SetGNER:General Named Entity Recognition as Entity Set Generation

    不知道是不是大模型的流行还是什么其他原因,导致现在网上都没有人来分享NER模型的相关论文了~ 本文方法简单,代码应该也比较简单(但是没见作者放出来)。 推荐指数:★★☆☆☆ 处理三种不同场景的NER 与 sequence-to-sequence NER 方法不同,本模型不需要强制实体按照顺序

    2023年04月21日
    浏览(37)
  • few-shot基本概念

    Few-shot learning https://www.youtube.com/watch?v=UkQ2FVpDxHglist=PLvOO0btloRnuGl5OJM37a8c6auebn-rH2index=1t=3s 1.问题的引出 通过很少的样本来进行分类/回归 给你四张图像,人类大概可以知道,查询图像是什么。 同样,机器也需要知道。 Support set:很少的数据集,例如每类图像有2张。这么少的样本

    2024年02月06日
    浏览(201)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包