一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于混合多原型的小样本命名实体识别方法

2022-06-29 16:50:24 来源:中国专利 TAG:


1.本发明涉及自然语言处理技术领域,尤其涉及基于混合多原型的小样本命名实体识别方法。


背景技术:

2.命名实体识别(named entity recognition,ner)是信息抽取的基本任务之一,它从非结构化文本序列中定位文本区间,并将这些文本区间用预定义的实体类(如film和person)或非实体类(如outside,也简称为o)进行分类(tjong kim sang and de meulder 2003)。在监督学习的设定下,有一系列的方法,特别是基于深度神经网络的方法,能够很好地处理ner任务。然而,训练这些监督学习模型的前提是大量的人工标注数据,这些数据的获取既费时又费力。因此,如何在只有少量标记样本作为参考的情况下,增强从大量内容中识别从未见过的实体的能力,也称为小样本学习,是需要研究的关键问题。
3.近年来越来越多的研究对小样本ner任务做出了贡献。这些研究将ner视为一个序列标记问题,限制(句子中的)每个词最多属于一个类,并使用基于度量的元学习来解决它(huang et al.2020)。其中,一个具有代表性的研究(fritzler,logacheva,and kretov 2019)(又称protoner)提出使用支持示例为每个类构造一个原型(prototype)并以此来表示对应的类。然后,给定查询,根据它们与类原型的距离,使用最近邻搜索预测它们的标签(即类)。
4.然而,protoner有两个值得注意的问题:(1)protoner只为每个类构建单个原型,这些原型表示为该类中所有词的平均嵌入,其表达能力有限,甚至存在偏差。(2)非实体类o包含具有不相关(甚至不一致)含义的词,因此词嵌入的平均值可能导致o类的原型表示存在大量噪音。
5.另外,在现有技术的小样本ner实验设定中,n-way k-shot片段式采样策略存在一个不能忽视的问题(hou et al.2020;yang and katiyar 2020;ding et al.2021;tong et al.2021)。那就是,为了保持ner任务中上下文的完整性,进行了句子级的抽样,而这种抽样策略很难准确地满足nway k-shot的约束。因此,放松了对k的限制,只要求每个实体类的最终示例数(k
*
)大于k,但这中策略会为每一类提供更多的示例(k
*
》k),这无形中降低了这个任务的难度。这又会导致评价结果的虚高。


技术实现要素:

6.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明公开了基于混合多原型的小样本命名实体识别方法。所述方法对于实体类,不是使用单个原型来表示类中的所有实体区间,而是为每个文本区间构建实体级和标签级原型,从而产生类的多原型表示。具体地说,通过在支持集的句子中插入标签来更好地利用标签信息,从而使词和标签嵌入可以通过更多的上下文信息来学习。然后对每个实体,取带有上下文信息的词嵌入的平均来表示其实体级原型,而具有上下文信息的标签嵌入则被视为实体的标签级原型。
一个类中所有实体的原型集合构成了这个实体类的多原型。对于非实体类,直接使用词嵌入集合来表示它,其中多原型指的是多个词嵌入。通过区别对待实体类和非实体类的混合多原型策略,可以从支持示例中提取更精确的类表示,从而促进查询集中的推断。
7.本发明的技术方案如下,基于混合多原型的小样本命名实体识别方法,包括以下步骤:
8.步骤1,从训练和测试数据集中采样片段,片段包括支持集和查询集;
9.步骤2,对于支持集,采用实体标签扩充序列,以丰富句子的语义;
10.步骤3,使用编码器来嵌入支持集和查询集中的序列,产生具有上下文信息的符号和标签嵌入;
11.步骤4,基于具有上下文信息的符号和标签嵌入,生成所有类的混合多原型表示;
12.步骤5,根据符号与混合多原型类表示的距离来预测查询集中词的标签。
13.步骤2中,给定支持集(x,y),扩充后的序列表示为x'={x1,x2,y1,

,xn,yk},包括n个符号和k个插入的标签,步骤3中编码器编码后的具有上下文信息的符号和标签嵌入表示为:f
θ
(
·
)表示编码器,表示嵌入。
14.步骤4中所述的所有类包括实体类和非实体类,实体类的多原型表示为c:其中,e表示实体,εc表示支持集中被标注为c的实体,ee表示实体级原型,为实体e的符号{x1,x2,

,x
|e|
}的具有上下文信息的嵌入的平均,le表示标签级原型,为实体e的标签ye的具有上下文信息的嵌入;非实体类的多原型表示使用符号嵌入来表示类,令o={x1,x2,

,xo}是支持集中被标注为o的符号,则类o的多原型表示为:
15.步骤5中,给定查询序列和查询序列的符号嵌入首先计算符号属于每个类别的概率,然后把概率最高的类别赋值给符号属于类c的概率计算如下:
[0016][0017]
其中,mindis表示符号嵌入与这个类的多原型表示之间的最小距离,cj表示第j个类的多原型。
[0018]
在训练阶段,使用负对数似然损失来更新编码器中参数:
[0019][0020]
其中,表示对于预测的标签,cg表示真实标签,p表示概率计算,n表示训练数据的查询集中的符号总数。
[0021]
步骤1中所述的采样的过程表述为:给定一个具有m类的集合c

是全部实体类,数据集d,m和k,采样支持集s;具体采样的步骤为:对(x,y)∈d进行随机迭代采样,直到满足以下条件:被标注为c的实体数量在[k,2k]内,接下来,按照以下条件删除支持集s中的(x,y)对:任何类的实体不会因为从s中删除(x,y)而小于k;最后,当s中的(x,y)不能被删除时,结束采样。
[0022]
对于每个类,仅在α个实体区间之后插入标签,α为预设值。
[0023]
与现有方法相比,本发明方法的优点在于:提出了一种称为混合多原型的类表示方法。具体来说,对于实体类,为实体跨度构建实体级和标签级的原型,从而产生类的多原型表示,而对于非实体类,直接使用词嵌入集合来表示它,这种情况下多原型指的是多个词嵌入。此外,通过提供严格的采样策略,建立了更严格、更合理的小样本ner实验设定,使得本发明方法的命名识别达到了非常好的性能。
附图说明
[0024]
图1示出了本发明实施例的流程示意图。
具体实施方式
[0025]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0026]
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027]
在本实施例中,遵循以往研究的设定,将ner表述为一个序列标记问题。因此,原ner问题中的句子可以看作是符号序列。形式上的,给定一个符号序列x={x1,x2,

,xn},xi∈χ,i∈[1,n],其中χ是所有符号的集合。序列标记分类模型将标签yi∈c赋给xi,生成y={y1,y2,

,yn},其中c是预定义类的集合。相应地,(x,y)表示一个句子及其标签序列。值得注意的是,c可以拆分为实体类c

(例如,film,person)和非实体类outside(简称为o)的集合。一个实体是一个序列中属于同一个实体类的符号区间,而一个实体的标签就是它对应的实体类。
[0028]
本实施例中使用常见的迭代的n-way k-shot片段式小样本ner训练范式。给定类集合ci∈c

,数据集d(所有(x,y)),在训练的每一步中采样一个片段(s
train
和q
train
)来训练模型,具体来说,是查询集,其中s
train
∩q
train
,需要注意的是,在s
train
中,对于任意类ci,标记为ci的实体书必须等于k。模型s
train
作为参考,使用q
train
进行训练,训练过程中获取到s
train
和q
train
中所有信息,在测试阶段,s
test
和q
test
按照训练阶段的方式被构造,但需要保证训练阶段的类集合与测试阶段的不相交。小样本ner的最终目标是在给定x∈q
test
的情况下使用训练好的模型和s
test
预测y。
[0029]
为了使评价条件更接近原始的n-way k-shot设定,本实施例提出了一种严格的抽样算法,使最终示例数k
*
的平均值更加接近设定k。给定一个具有m类的集合c

是全部实体类,数据集d,m和k,采样支持集s;具体采样的步骤为:对(x,y)∈d进行随机迭代采样,直到满足以下条件:被标注为c的实体数量在[k,2k]内,接下来,按照以下条件删除支持集s中的(x,y)对:任何类的实体不会因为从s中删除(x,y)而小于k;最后,当s中的(x,y)不能被删除时,结束采样。这样的抽样策略可以防止不平衡的类分布引起的采样波动,并提供一个更接近原始n-way k-shot设定的评估条件。这是因为采用了上限2k,以避免在一些常见类中采样太多的实体。更重要的是,通过删除多余的示例进一步优化了采样结
果,使每个类的平均实体数尽可能接近设定k。这种抽样方法比现有抽样策略更合理、更现实,能够降低以往模型的性能虚高,并提供更公平的评估条件。
[0030]
本实施例中的技术方案,如图1所示,基于混合多原型的小样本命名实体识别方法,包括以下步骤:
[0031]
步骤1,从训练和测试数据集中采样片段,片段包括支持集和查询集;
[0032]
步骤2,对于支持集,采用实体标签扩充序列,以丰富句子的语义;
[0033]
步骤3,使用编码器来嵌入支持集和查询集中的序列,产生具有上下文信息的符号和标签嵌入;
[0034]
步骤4,基于具有上下文信息的符号和标签嵌入,生成所有类的混合多原型表示;
[0035]
步骤5,根据符号与混合多原型类表示的距离来预测查询集中词的标签。
[0036]
序列扩充和嵌入
[0037]
首先,我们提出将实体标签插入到支持集中的原始序列中,以获得扩充后的序列。这是因为标签可以丰富句子语义,并帮助学习更精确的词的语义嵌入。例如,在序列扩充之前符号titanic既可以指船,也可以指电影,而用film这个标签来丰富句子,语义就更加清晰了。具体来说,对于每个类,我们只在α个实体区间之后插入标签。这是因为插入太多的类标签可能会损害句子的原始含义。
[0038]
形式上,给定支持集的(x,y),我们将扩充后的序列表示为x'={x1,x2,y1,

,xn,yk},包括n个符号和k个插入的标签。通过利用标签信息来指导符号的嵌入学习,从而更好地利用标签信息。
[0039]
接下来,我们将扩展的序列集输入到一个编码器,即bert(devlin et al.2019),以获得符号和标签的具有上下文信息的嵌入。具体来说,扩充后的序列集的具有上下文信息的嵌入为:其中f
θ
(
·
)是编码器,表示嵌入。
[0040]
混合多原型表示
[0041]
给定上下文嵌入,目标是使用支持集为类生成混合多原型表示。我们使用混合来强调,我们根据实体类和非实体类的具体特征,分别设计了不同的处理方法。实体类的多原型.给定一个实体类c∈c

,我们使用εc来表示支持集中被标注为c的实体。对于每一个实体e∈εc,我们将实体级原型ee表示为其符号{x1,x2,

,x
|e|
}的具有上下文信息的嵌入的平均,将标签级原型le表示为其标签ye的具有上下文信息的嵌入。因此,实体类中所有实体的实体级和标签级原型构成了这个实体类的多原型表示
[0042]
多原型可以减少潜在的表示偏差,提高单原型方法的表达能力。通过对实体级原型的计算,解决了实体中单个符号难以表示对应类的问题,并获得了一个特定的类表示。同时,利用标签级原型提高了模型的泛化能力和表达能力,因为标签中包含的类的通用信息。仅用几个例子很难完全代表类,因此单一原型可能会偏向大多数相似实体。幸运的是,多原型表示方法可以保留少数实体的表示。
[0043]
非实体类的多原型:对于非实体类o,使用符号嵌入来表示类,其中多原型指的是多个符号嵌入。令o={x1,x2,

,xo}是支持集中被标注为o的符号。那么类o的多原型表示为多个符号嵌入缓解了单一原型无法表示类o中的没有统一含义的符号的问题。
[0044]
预测
[0045]
给定查询序列和它们的符号嵌入为了预测符号的标签,我们首先计算它属于每个类别的概率,然后把概率最高的类别赋值给具体来说,符号属于类c的概率计算如下:其中mindis表示符号嵌入与这个类的多原型表示之间的最小距离。在本实施例中,采用欧几里得距离的平方来度量距离。mindis越低,概率越高。此外,标签预测是一个连续的过程,标签相关性会影响预测结果。例如,标签education出现在标签airport后面的概率较低。因此,本实施例遵循(yang and katiyar 2020),采用额外的无需训练的维特比解码器来处理标签之间的依赖关系,以做出更准确的预测。
[0046]
在训练阶段,使用负对数似然损失来更新编码器中的参数:其中,cg表示真实标签,p表示概率计算,n表示训练数据的查询集中的符号总数。
[0047]
本实施例使用三个数据集few-nerd(包含few-nerd(inter)和few-nerd(intra))(ding et al.2021),wnut(derczynski et al.2017)和re3d(science and laborator 2017)来验证本发明方法。我们使用片段式评估对模型进行了测试。片段式评估是在小样本学习中广泛采用的评估方法,我们采用严格的采样策略来生成片段中的支持集和查询集。我们采样15000个片段用于训练,5000个片段用于测试。注意,训练和测试数据的类集是不相交的。此外,由于few-nerd的类有两个层次结构,我们在inter中使用粗粒度和细粒度标签,而在intra中只使用细粒度标签,来计算标签级原型。也就是说,我们在inter上为每个实体计算两个标签级原型。对于wnut和re3d,我们只使用这些数据集的测试集来评估我们的模型。我们采用uncased bert-base作为我们的主干来获取序列的上下文表示,并采用(ding et al.2021)记录的最佳超参数值。我们使用pytorch来实现模型,所有的模型都可以适用于带有32g内存的v100 gpu。每个设定下的训练持续数小时。我们将超参数α设置为2,所有的实验都采用不同的随机种子重复5次,计算精度(p)、召回率(r)和micro f1的均值和标准差。我们记录了所有实验的f1,并根据之前的研究设定选择性记录p和r。
[0048]
基线在我们的实验中使用了五个具有竞争力的模型。protoner(fritzler,logacheva,and kretov 2019)使用prototype network为每个类计算原型,并根据与原型的相似性对符号进行分类。ltc(hou etal.2020)使用标签表示来改进原型质量,并考虑标签依赖关系。nnshot(yang and katiyar 2020)直接使用符号之间的相似性对查询进行分类。struct(yangand katiyar 2020)用维特比解码器对nnshot进行改进,以获得最可能的标签序列。muco(tong et al.2021)利用组分类器从类o中挖掘未定义类,提高分类器的识别能力。可以观察到,本发明方法在所有评估设定下一贯优于最先进的模型。
[0049]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献