Meta-Learning Triplet Network with Adaptive Margins for Few-Shot Named Enti基于自适应边缘的元学习三重网络的小样本命名实体识别

Meta-Learning Triplet Network with Adaptive Margins for Few-Shot Named Entity Recognition

Abstract

元学习方法在小样本命名实体识别(NER)中得到了广泛的应用,尤其是基于原型的方法。然而,Other(O)类很难用原型向量表示,因为类中通常有大量具有各种语义的样本。为了解决这个问题,我们提出了MeTNet,它只生成实体类型的原型向量,而不生成o类的原型向量

我们设计了一个改进的三重网络,将样本和原型向量映射到一个更容易分类的低维空间,并为每种实体类型提出了自适应余量边缘作为半径,在低维空间中控制一个自适应大小的区域。在此基础上,提出了一种新的推理方法来预测查询实例的标签

我们在域内和跨域设置中进行了广泛的实验,以显示MeTNet优于其他最先进的方法。特别地,我们发布了一个从知名电子商务平台提取的中文少拍NER数据集FEW-COMM。据我们所知,这是中国第一个少量的NER数据集。所有的数据集和代码都在https: //github.com/hccngu/MeTNet上提供。

1 Introduction

命名实体识别(NER)是信息提取中的一项基本任务(Ritter et al ., 2012),其目的是将单词或表达式定位并分类为预定义的实体类型,如人物、组织、地点、日期和数量

虽然相当多基于深度神经网络的方法在 NER 方面取得了显著的成功,但它们通常需要大量标注数据作为训练集遗憾的是,在某些特定领域,需要专业知识才能理解的命名实体很难进行大规模人工标注

为了解决这一问题,研究了Few-Shot NER,其目的是用很少的注释来识别不可见的实体类型。特别是一些模型(Fritzler et al, 2019;侯等人,2020;Wang et al ., 2021)是基于原型网络(PROTO) (Snell et al ., 2017)提出的,这是一种流行的元学习方法。这些基于原型的NER模型的一般过程总结如下

首先,他们为每个类生成一个原型向量,包括实体类型和其他(O)类,以表示该类

然后计算查询样本(实例)1与所有这些原型向量之间的距离,并预测查询实例到距离最小的类

1:在本文中,我们交替使用样本和实例。

然而,对于NER来说,o类涵盖了所有未被分类为实体类型的杂项词。这些词的语义范围很广。例如,在图1a中,单词“was”、“president”、“budget”和“today”在语义上是不同的,即使它们都属于o类因此,单个原型向量不足以对o类的各种语义进行建模,这可能进一步导致查询实例的错误预测(参见图1b)

在这里插入图片描述
(a):o类样本语义不同。(b):以前处理o类的方法与我们的比较。左:由于真标签为Location的查询实例最接近o类的原型向量,所以之前的方法将其错误地分类为o类。右:我们只计算实体类型的原型向量,并学习每个实体类型的自适应边界来确定一个区域。类所在区域内的样本被标记为该类,而所有区域外的样本被预测为o类

在本文中,为了解决这个问题,我们提出仅为实体类型生成原型向量,而不为o类生成原型向量

特别地,我们设计了一个具有自适应边距的元学习三重网络MeTNet,将样本和原型向量映射到一个低维空间中,扩大了样本之间的类间距离,缩短了样本与其对应的原型向量之间的类内距离

我们进一步设计了一个改进的具有自适应边距的三重损失函数,该函数为样本分配不同的权重,最小化锚点与正样本之间的绝对距离,最大化锚点与负样本之间的绝对距离自适应边距作为半径,控制低维空间中每个实体类型的区域(参见图1b)

基于这些区域,我们进一步提出了一种新的推理方法具体来说,给定一个查询实例,如果它位于所有区域之外,我们预测它属于o类;否则,我们用它所在区域的实体类型来标记它此外,如果它包含在多个区域中,我们用查询实例与区域中心之间距离最小的实体类型标记它

最后,我们总结了本文的主要贡献如下。

(1)我们提出了一种改进的具有自适应边界的三重网络(MeTNet)和一种新的 few-shot NNER推理方法

(2)据我们所知,我们发布了第一个中国的少量NER数据集FEW-COMM。

(3)我们进行了大量的实验,以证明MeTNet优于其他竞争对手。

2 Related Work

2.1 Meta-Learning

元学习,也被称为“学会学习”,旨在训练模型在较少的训练样本下快速适应新任务
一些现有的方法(Snell et al, 2017;Vinyals等人,2016)基于度量学习

例如,匹配网络(Vinyals等人,2016)计算支持集和查询实例之间的相似性,而原型网络(Snell等人,2017)为每个类学习一个原型向量,并根据最近的原型向量对查询实例进行分类

其他代表性的基于度量的方法包括Siamese Network (Koch et al ., 2015)和Relation Network (Sung et al ., 2018)。

此外,一些方法,如MAML (Finn等人,2017)和Reptile (Nichol等人,2018)是基于优化的,旨在将元学习器训练为优化器或调整优化过程也存在基于模型的方法,它学习隐藏的特征空间并以端到端的方式预测查询实例的标签

与基于优化的方法相比,基于模型的方法更容易优化,但对分布外任务的可泛化性较差(Hospedales et al, 2020)。代表性的基于模型的方法包括MANNs (Santoro等人,2016)、Meta网络(Munkhdalai和Yu, 2017)、SNAIL (Mishra等人,2017)和CPN (Garnelo等人,2018)。

2.2 Few-shot NER

最近,Few-shot NER受到了广泛关注(Huang et al ., 2021;Das等人,2021;Ma et al, 2022)和基于元学习的方法已经被应用于解决这个问题。例如,Fritzler等人(2019)将PROTO (Snell等人,2017)与条件随机场结合起来用于Few-shotNER受最近邻推理(Wiseman and Stratos, 2019)的启发,StructShot (Yang and Katiyar, 2020)采用结构化最近邻学习和Viterbi算法来进一步改进PROTO

MUCO (Tong et al ., 2021)训练一个二元分类器来学习多个原型向量来表示o类的杂项语义。ESD (Wang et al ., 2021)使用基于PROTO的各种类型的注意力来提高模型性能

然而,这些方法大多使用一个或多个原型向量来表示o类,而我们只计算实体类型的原型向量,并进一步设计一个新的推理过程

最近,基于提示的技术也被应用于少射NER (Cui等,2021;Ma等人,2021;Chen等,2021;崔等人,2022)。

然而,这些方法的性能非常不稳定,这在很大程度上取决于所设计的提示符(Cui et al, 2021)。

因此,如果没有一个大的验证集,它们的适用性在少量学习中受到限制

3 Background

3.1 Problem Definition

训练集Dtrain由词序列和它们的标签序列组成。给定一个单词序列X = fx1;:::;xngL = fl1;:::;LNG作为其对应的标签序列。我们用Ytrain表示训练数据的标签集,用li 2 Ytrain表示在这里插入图片描述

。另外,给定一个测试集Dtest,令Ytest表示该测试集的标签集,满足Ytrain \ Ytest =;
我们的目标是开发一个从Dtrain学习的模型,然后对Ytest中看不到的类做出预测,我们只有很少的注释。

3.2 Meta-training

元学习方法包括两个阶段:元训练和元测试
在元训练中,模型在从Dtrain抽取的元任务上进行训练每个元任务包含一个支持集和一个查询集

为了创建训练元任务,我们首先从在这里插入图片描述抽取N个类
之后,对于这N个类中的每一个,我们将K个实例作为支持集S, L个实例作为查询集q支持集类似于传统监督学习中的训练集,但它只包含少量样本;查询集作为测试集,但它可以用于计算梯度,以便在元训练阶段更新模型参数
给定支持集,我们将对查询集进行预测的任务称为N-way K-shot分类

3.3 Meta-testing

在测试阶段,我们还使用元任务来测试我们的模型是否能够快速适应新的类。为了创建测试元任务,我们首先从Ytest采样N个新类。与元训练类似,然后我们分别从N个类中抽取支持集和查询集支持集用于微调,而查询集用于测试最后,我们评估了所有测试元任务在查询集上的平均性能

4 Method

在本节中,我们将描述MeTNet算法。我们首先给出MeTNet的概述,如图2所示

MeTNet首先用BERT文本编码器表示样本**,在此基础上初始化词和原型向量的嵌入**。然后基于支持集和原型向量生成三元组,并采用改进的带自适应边距的三元组网络将单词和原型向量映射到更容易分类的空间中

对于每个实体类型,自适应边距作为半径并控制以相应原型向量为中心的区域。在推理阶段进一步使用这些区域。接下来,我们详细描述MeTNet的每个组成部分。

在这里插入图片描述

4.1 Text Encoder

我们首先在一个低维嵌入向量中表示每个单词。以下(Yang and Katiyar, 2020;Ding等人,2021),我们使用BERT (Devlin等人,2018)作为我们的文本编码器具体来说,给定一个n个单词的序列[x1;x2;:::;xn],我们将BERT中最终隐藏层的输出作为xi
的初始表示 在这里插入图片描述

[h1;h2;:::;hn] = BERTφ([x1;x2;:::;xn]);(1)

式中φ表示BERT参数
然后,对于每个预定义实体类型cj我们通过平均标记为cj的单词的表示来构造其初始原型向量hcj

4.2 Triplet Network

一个三重网络(Hoffer and Ailon, 2015)由三个子网络组成这三个子网络具有相同的网络架构和共享的待学习参数

对于三元组网络,将三元组作为其输入每个三组由一个锚点、一个阳性样本和一个阴性样本组成,我们将每个样本送入子网络。

Construct Triples

我们首先为不同的实体类型构造三元组
具体来说,对于每种实体类型,我们将其原型向量作为锚点,将实体类型中的实例作为正样本,其他实例作为负样本
由于负样本的数量一般大于正样本的数量,所以我们选取距离原型向量最近的k个负样本
之后,对于每个正样本和每个负样本,我们分别构建三元组

Improved Triplet Loss

给定锚与正样本之间的距离dp,锚与负样本之间的距离dn原始三重态损失的目的是优化锚与正样本和负样本之间的相对距离,其表示为:
在这里插入图片描述
式中m为边际,d(·;·)为欧氏距离函数,fθ(·)三元组网络生成的嵌入向量。然而,原有的三重损失函数存在三个主要问题

首先**,原始三重态损失更关注dp和dn之间的相对距离**。当dp和dn都很大,但两者的差值很小时,损失较小。但我们的目标是优化dp和dn的绝对大小

其次,损失函数认为所有样本都是同等重要的,但它们的重要性与它们到锚点的距离有关

第三,边界是固定的和独特的。但是,不同的实体类型通常对应不同大小的区域

为了解决这些问题,我们设计了如下改进的三联体损耗:

在这里插入图片描述
其中α为平衡权值,mi为实体类型ci可学习边界

我们分别优化了绝对距离dpdn一方面,我们直接最小化dp

另一方面,考虑到每个实体类型都使用一个区域来包含正样本,因此我们通过将负样本推离该区域来最大化dn

此外,我们根据样本到锚点的距离为其分配不同的权重
直观地说,正样本离锚点越远或负样本离锚点越近,应该赋予的权重越大,以放大损失

最后,我们为不同的实体类型设置自适应边距,这些边距作为区域半径和控制区域大小

4.3 Inference

在推理阶段,大多数现有方法计算查询实例与实体类型和o类的所有原型向量之间的距离并预测查询实例在距离最小的类中

与这些方法不同的是,我们的模型避免直接处理o类相反,我们根据实体类型的区域进行预测如图3所示,实体类型Person和Location有自己的区域由不同的边距控制
当查询实例(如Q1)仅位于一个区域时,我们用与所处区域对应的实体类型对其进行标记;
当一个查询实例(如Q2)包含在多个区域中时,我们计算其到不同区域中心的距离,并预测其实体类型为距离最小的实体类型;
当查询实例(例如,Q3)在所有区域之外时,它被标记为o类

在这里插入图片描述
一个例子来说明MeTNet中的推理过程。虚线圆圈表示由自适应边距确定的预定义实体类型的区域。Q1, Q2,
Q3的标签预测分别为Location, Person, O-class。

4.4 Training Procedure

受MAML (Finn et al, 2017)的启发,我们首先使用支持集中的样本更新模型参数θ:

在这里插入图片描述
其中γ为学习率,S为支持集。如果更新很少,θ就变成了θ 0
然后基于θ 0,三元网络可以将查询实例和原型向量映射到一个更容易分类的低维空间

之后,我们用查询集中的样本更新模型参数θ:

在这里插入图片描述
其中,β元学习率Q为查询集

这种优化模拟了训练阶段的测试过程,并通过很少的步骤更新,提高了模型对未见过的类的泛化性

MeTNet的总体流程总结于附录A。

在这里插入图片描述

5 Experiments

在本节中,我们全面评估了MeTNet在域内和跨域设置中的性能
域内设置表示训练集和测试集来自同一域跨域设置表示训练集和测试集来自不同域

5.1 Datesets

我们使用了四个公开的英文数据集和一个新的中文数据集。这些数据集的统计数据在附录b中给出。对于英文数据集,它们是FEW-NERD (Ding et al ., 2021), WNUT17 (Derczynski et al ., 2017), Restaurant (Liu et al ., 2013)和Multiwoz (Budzianowski et al ., 2018)。具体来说,FEW-NERD设计了一个包含8个粗粒度(例如“Person”)实体类型和66个细粒度(例如“Person- artist”)实体类型的注释模式,并构建了两个任务**。一种是FEW-NERD-INTRA,其中训练集(源域)、验证集和测试集(目标域)中的所有实体属于不同的粗粒度类型**。另一个是FEWNERD-INTER,其中只有细粒度的实体类型在不同的集合中是相互不相交的

我们对这两个任务都进行了域内实验

为了进一步验证模型在跨领域任务上的泛化性,我们还使用了来自不同领域的三个NER数据集,即WNUT17 (Social)、Restaurant (Review)和Multiwoz (Dialogue)

我们还构建了一个中国的少射NER数据集,即FEWCOMM,并进行了实验。该数据集由商家在大型电子商务平台上显示的66165个产品描述文本组成,包括140936个实体和92个预定义实体类型。这些实体类型是由领域专家手动定义的各种商品属性,例如“材料”、“颜色”和“原产地”。具体来说,我们首先雇佣五位训练有素的注释者在一个月内标记文本,然后请四位领域专家审查和纠正结果。据我们所知,这是第一个专门为少镜头NER构建的中文数据集。由于篇幅限制,关于数据集的更多细节请参见附录C。

5.2 Baselines

我们将MeTNet与其他八种Few-shot NER模型进行了比较,这些模型可以分为三类:
(1)基于优化的方法:MAML (Finn等人,2017),它通过使用支持实例来适应新的类,并基于查询实例优化已适应模型的损失
(2)基于近邻的方法:NNShot (Yang and Katiyar, 2020)和StructShot (Yang and Katiyar, 2020)。NNShot根据单词级距离确定查询实例的标记,StructShot通过额外的Viterbi解码器进一步改进了NNShot。

(3)基于原型的方法:PROTO (Snell等人,2017)、CONTaiNER (Das等人,2021)、ESD (Wang等人,2021)、DecomMETA (Ma等人,2022)和SpanProto (Wang等人,2022)。具体来说,DecomMETA通过使用元学习顺序地处理少镜头跨度检测和少镜头实体类型来解决少镜头NER。SpanProto将顺序标签转换为全局边界矩阵,并利用原型学习来捕获语义表示。有关其他基准的更多详细信息,请参见附录D。

5.3 Experiment Setup

我们用PyTorch实现了MeTNet。模型由He初始化(He et al ., 2015)初始化,由AdamW (Loshchilov and Hutter, 2017)训练
我们在所有数据集上以改进的三重损失的学习率0.2和元学习率0.0001运行模型6000次
对于文本编码器,我们对FEWCOMM数据集使用预训练的bert-base-Chinese模型,对其他数据集使用bert-base-uncase模型
三重网络中,我们使用两个前馈层,并将隐藏单元的数量设置为1024和512

我们还通过对{1,3,5,7,9}的网格搜索来微调每个元任务中支持集参数更新的迭代次数T并将所有数据集的迭代次数设置为3

此外,我们通过对{0.1,0.3,0.5,0.7,0.9}进行网格搜索,将平衡权值α设置为0.3为了公平比较,我们将所有基线的文本编码器替换为MeTNet的文本编码器,使用其作者发布的原始代码,并对模型的参数进行微调。我们在一个NVIDIA v100 GPU上运行所有的实验。继Ding等人(2021)之后,我们基于元测试中的500个元任务评估了模型的性能,并报告了5次运行的平均微观f1分数
我们在实验中使用IO模式,使用i类型表示命名实体的所有单词,使用O表示其他单词。有关超参数的更多详细信息,请参见附录E。

5.4 Results

In-domain Experiments

FEW-NERD数据集上1次和5次设置下的域内实验结果如表1所示
从表中可以看出,MeTNet在F1平均得分上始终优于所有基线
例如,与SpanProto相比,MeTNet的F1平均成绩提高了1.16%;与PROTO模型相比,MeTNet在F1平均得分上领先33:21%,这清楚地表明我们的模型在改进PROTO方面是非常有效的。

在FEWCOMM数据集上(如表2所示),我们的模型在所有设置中也实现了最佳性能。结果表明,利用改进的三元网络学习自适应边界的MeTNet算法具有较好的性能
在这里插入图片描述
在这里插入图片描述

Cross-domain Experiments

我们以 FEW-NERD-INTER(通用)为源领域训练模型,并分别在 WNUT(社交媒体)、Restaurant(评论)和 Multiwoz(对话)上测试我们的模型
这三个数据集的领域都与 FEW-NERD-INTER 不同由于训练分布和测试分布之间存在很大的泛化差距,因此跨领域实验通常比领域内实验更具挑战性。表 3 显示了实验结果。从表中我们可以看出,我们的模型在 1 次拍摄和 5 次拍摄的设置中都表现得非常好。这清楚地表明了我们模型的通用性。
在这里插入图片描述

5.5 Ablation Study

我们进行了烧蚀研究,以了解MeTNet主要组成部分的特性
为了显示所提出的基于边际推理方法的重要性,其中一个变体生成实体类型和o类的原型向量
在推理阶段,计算查询实例与所有这些原型向量之间的距离,并预测查询实例在距离最小的类中,这与之前的方法相似。我们称这种变体为MeTNetpiw(使用先前的推理方式)。

为了研究三重网络在将原型向量和样本映射到更容易分类的低维空间中的重要性,我们进一步去除三重网络并用全连接层代替它
由于去除了三元网络,无法学习自适应边缘,所以我们采用与MeTNetpiw相同的推理过程。

我们称这种变体为MeTNet-piw-rtn(使用先前的推理方式,去除三重网络)

为了显示改进的三重态损耗的重要性,我们将其替换为原始三重态损耗,并将此变体称为MeTNet-otl2(原始三重态损耗)

最后,我们删除了MAML训练过程,以探索MAML对模型的影响,并将此变体称为MeTNet-w/o-MAML。

消融研究结果见表4。从表中我们可以观察到:
(1)MeTNet明显优于MeTNet-piw。例如,在FEW-COMM数据集上的5-way 1-shot问题中,MeTNet的F1得分为71:89%,而MeTNetpiw的F1得分仅为60:46%。这表明基于边际的推理可以有效地提高模型的性能。
(2) 在所有数据集上,MeTNet-piw 都比 MeTNet-piw-rtn 更具优势,这进一步表明三元组网络可以为低维空间中不同类别的样本学习到更好的嵌入。

在这里插入图片描述

5.6 Loss Function Analysis

接下来,我们在FEW-NERD-INTER数据集上对损失函数进行了深入的实验。结果如图4所示。
从结果中,我们可以清楚地看到MeTNet优于MeTNet- little -w,这表明我们根据样本到锚点的距离为其分配不同的权重是有效的
此外,MeTNet领先于MeTNetitl-am,这表明自适应边际有效地提高了模型的性能
此外,与其他损失函数(如原始三重态损失(Hoffer and Ailon, 2015)和对比损失(Hadsell et al, 2006))相比,我们看到MeTNet在所有分类任务中都领先于它们,这表明我们改进的三重态损失是非常有效的。
对于其他数据集,我们观察到类似的结果推迟到附录F。

5.7 Visualization

图5可视化了由PROTO和MeTNet在FEW-NERD-INTER数据集上以****5-way 1-shot和5-way 5-shot设置生成的查询集的单词级表示。
请注意,PROTO 为实体类型和 O 类生成原型向量,而 MeTNet 只为实体类型生成原型向量

从图中可以看出,o类的单词分布很广,用一个原型向量来表示o类是不够的
对于那些更接近其他原型向量的样本,它们很容易被错误分类。
MeTNet不是用原型向量表示o类,而是通过学习实体类型的自适应边界并使用边界控制区域进行预测来解决问题
这些区域以外的样品标记为o级。
此外,我们的方法MeTNet可以生成清晰分离的词嵌入,这进一步说明了MeTNet的有效性。

在这里插入图片描述

6 Conclusion

本文研究了少镜头NER问题,提出了具有自适应边界的元学习三元网络MeTNet

MeTNet是一种基于原型的方法,使用三元网络将样本和原型向量映射到一个更容易分类的低维空间

此外,为了解决o类语义复杂,难以用原型向量表示的问题**,MeTNet只生成实体类型的原型向量**。
我们设计了一个改进的具有自适应边界的三重损失函数
我们还提出了一个基于边缘的推理过程来预测查询实例的标签。我们在域内和跨域环境中进行了大量实验
实验结果表明,与其他最先进的方法相比,MeTNet 能显著提高性能。
特别值得一提的是,我们发布了中国首个来自大型电子商务平台的少数字词 NER 数据集 FEW-COMM,旨在为未来的少数字词 NER 研究提供更多启示。

  • 29
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于度量的小样本学习涉及多个网络模型,以下是其中一些主流的网络模型: 1. 孪生网络(Siamese Network):孪生网络由两个相同结构的子网络组成,这两个子网络共享参数。它通过将两个输入样本映射到同一个特征空间,并通过度量函数(如欧氏距离、余弦相似度等)计算它们之间的距离来进行分类。 2. 三网络Triplet Network):三网络通过构造三组样本来进行训练,一个三组由一个锚样本(anchor)、一个正样本(positive)和一个负样本(negative)组成。它通过学习使得锚样本与正样本之间的距离较近,锚样本与负样本之间的距离较远。 3. Prototypical Network:Prototypical Network是一种基于原型的小样本学习方法。它通过计算每个类别的原型向量来进行分类。原型向量是每个类别中所有样本的平均值,然后通过计算输入样本与原型向量之间的距离来确定其类别。 4. Relation Network:Relation Network 是一种基于关系的小样本学习方法。它通过学习一个关系函数来判断输入样本与各个类别之间的关系,从而进行分类。 5. Matching Network:Matching Network 是一种基于匹配的小样本学习方法。它通过学习一个匹配函数来判断输入样本与各个类别之间的匹配程度,从而进行分类。 需要注意的是,以上列举的仅是其中一些主流的网络模型,随着研究的不断深入,还可能会出现新的网络模型和方法。此外,这些网络模型也可以结合使用或与其他方法进行组合,以进一步提高性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值