首页> 中国专利> 基于混合多原型的小样本命名实体识别方法

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

摘要

本发明公开了基于混合多原型的小样本命名实体识别方法,包括以下步骤:从训练和测试数据集中采样片段,片段包括支持集和查询集;对于支持集,采用实体标签扩充序列,以丰富句子的语义;使用编码器来嵌入支持集和查询集中的序列,产生具有上下文信息的符号和标签嵌入;基于具有上下文信息的符号和标签嵌入,生成所有类的混合多原型表示;根据符号与混合多原型类表示的距离来预测查询集中词的标签。本发明方法提出了一种新的多原型类表示策略,以减少潜在的表示偏差,提高单原型方法的表达能力;设计了一种混合策略来构造实体类和非实体类的多原型,由此使得本发明识别效果非常高。

著录项

  • 公开/公告号CN114676700A

    专利类型发明专利

  • 公开/公告日2022-06-28

    原文格式PDF

  • 申请/专利权人 中国人民解放军国防科技大学;

    申请/专利号CN202210269420.4

  • 申请日2022-03-18

  • 分类号G06F40/295;G06F40/30;G06K9/62;G06F16/33;

  • 代理机构长沙大珂知识产权代理事务所(普通合伙);

  • 代理人伍志祥

  • 地址 410073 湖南省长沙市开福区德雅路109号

  • 入库时间 2023-06-19 15:47:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-28

    公开

    发明专利申请公布

说明书

技术领域

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

背景技术

命名实体识别(Named entity recognition,NER)是信息抽取的基本任务之一,它从非结构化文本序列中定位文本区间,并将这些文本区间用预定义的实体类(如Film和Person)或非实体类(如Outside,也简称为O)进行分类(Tjong Kim Sang and De Meulder2003)。在监督学习的设定下,有一系列的方法,特别是基于深度神经网络的方法,能够很好地处理NER任务。然而,训练这些监督学习模型的前提是大量的人工标注数据,这些数据的获取既费时又费力。因此,如何在只有少量标记样本作为参考的情况下,增强从大量内容中识别从未见过的实体的能力,也称为小样本学习,是需要研究的关键问题。

近年来越来越多的研究对小样本NER任务做出了贡献。这些研究将NER视为一个序列标记问题,限制(句子中的)每个词最多属于一个类,并使用基于度量的元学习来解决它(Huang et al.2020)。其中,一个具有代表性的研究(Fritzler,Logacheva,and Kretov2019)(又称ProtoNER)提出使用支持示例为每个类构造一个原型(Prototype)并以此来表示对应的类。然后,给定查询,根据它们与类原型的距离,使用最近邻搜索预测它们的标签(即类)。

然而,ProtoNER有两个值得注意的问题:(1)ProtoNER只为每个类构建单个原型,这些原型表示为该类中所有词的平均嵌入,其表达能力有限,甚至存在偏差。(2)非实体类O包含具有不相关(甚至不一致)含义的词,因此词嵌入的平均值可能导致O类的原型表示存在大量噪音。

另外,在现有技术的小样本NER实验设定中,N-way K-shot片段式采样策略存在一个不能忽视的问题(Hou et al.2020;Yang and Katiyar 2020;Ding et al.2021;Tong etal.2021)。那就是,为了保持NER任务中上下文的完整性,进行了句子级的抽样,而这种抽样策略很难准确地满足Nway K-shot的约束。因此,放松了对K的限制,只要求每个实体类的最终示例数(K

发明内容

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明公开了基于混合多原型的小样本命名实体识别方法。所述方法对于实体类,不是使用单个原型来表示类中的所有实体区间,而是为每个文本区间构建实体级和标签级原型,从而产生类的多原型表示。具体地说,通过在支持集的句子中插入标签来更好地利用标签信息,从而使词和标签嵌入可以通过更多的上下文信息来学习。然后对每个实体,取带有上下文信息的词嵌入的平均来表示其实体级原型,而具有上下文信息的标签嵌入则被视为实体的标签级原型。一个类中所有实体的原型集合构成了这个实体类的多原型。对于非实体类,直接使用词嵌入集合来表示它,其中多原型指的是多个词嵌入。通过区别对待实体类和非实体类的混合多原型策略,可以从支持示例中提取更精确的类表示,从而促进查询集中的推断。

本发明的技术方案如下,基于混合多原型的小样本命名实体识别方法,包括以下步骤:

步骤1,从训练和测试数据集中采样片段,片段包括支持集和查询集;

步骤2,对于支持集,采用实体标签扩充序列,以丰富句子的语义;

步骤3,使用编码器来嵌入支持集和查询集中的序列,产生具有上下文信息的符号和标签嵌入;

步骤4,基于具有上下文信息的符号和标签嵌入,生成所有类的混合多原型表示;

步骤5,根据符号与混合多原型类表示的距离来预测查询集中词的标签。

步骤2中,给定支持集(x,y),扩充后的序列表示为x'={x

步骤4中所述的所有类包括实体类和非实体类,实体类的多原型表示为c:

步骤5中,给定查询序列

其中,mindis表示符号嵌入与这个类的多原型表示之间的最小距离,c

在训练阶段,使用负对数似然损失来更新编码器中参数:

其中,

步骤1中所述的采样的过程表述为:给定一个具有M类的集合

对于每个类,仅在α个实体区间之后插入标签,α为预设值。

与现有方法相比,本发明方法的优点在于:提出了一种称为混合多原型的类表示方法。具体来说,对于实体类,为实体跨度构建实体级和标签级的原型,从而产生类的多原型表示,而对于非实体类,直接使用词嵌入集合来表示它,这种情况下多原型指的是多个词嵌入。此外,通过提供严格的采样策略,建立了更严格、更合理的小样本NER实验设定,使得本发明方法的命名识别达到了非常好的性能。

附图说明

图1示出了本发明实施例的流程示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在本实施例中,遵循以往研究的设定,将NER表述为一个序列标记问题。因此,原NER问题中的句子可以看作是符号序列。形式上的,给定一个符号序列x={x

本实施例中使用常见的迭代的N-way K-shot片段式小样本NER训练范式。给定类集合

为了使评价条件更接近原始的N-way K-shot设定,本实施例提出了一种严格的抽样算法,使最终示例数K

本实施例中的技术方案,如图1所示,基于混合多原型的小样本命名实体识别方法,包括以下步骤:

步骤1,从训练和测试数据集中采样片段,片段包括支持集和查询集;

步骤2,对于支持集,采用实体标签扩充序列,以丰富句子的语义;

步骤3,使用编码器来嵌入支持集和查询集中的序列,产生具有上下文信息的符号和标签嵌入;

步骤4,基于具有上下文信息的符号和标签嵌入,生成所有类的混合多原型表示;

步骤5,根据符号与混合多原型类表示的距离来预测查询集中词的标签。

序列扩充和嵌入

首先,我们提出将实体标签插入到支持集中的原始序列中,以获得扩充后的序列。这是因为标签可以丰富句子语义,并帮助学习更精确的词的语义嵌入。例如,在序列扩充之前符号Titanic既可以指船,也可以指电影,而用Film这个标签来丰富句子,语义就更加清晰了。具体来说,对于每个类,我们只在α个实体区间之后插入标签。这是因为插入太多的类标签可能会损害句子的原始含义。

形式上,给定支持集的(x,y),我们将扩充后的序列表示为x'={x

接下来,我们将扩展的序列集输入到一个编码器,即BERT(Devlin et al.2019),以获得符号和标签的具有上下文信息的嵌入。具体来说,扩充后的序列集的具有上下文信息的嵌入为:

混合多原型表示

给定上下文嵌入,目标是使用支持集为类生成混合多原型表示。我们使用混合来强调,我们根据实体类和非实体类的具体特征,分别设计了不同的处理方法。实体类的多原型.给定一个实体类c∈C

多原型可以减少潜在的表示偏差,提高单原型方法的表达能力。通过对实体级原型的计算,解决了实体中单个符号难以表示对应类的问题,并获得了一个特定的类表示。同时,利用标签级原型提高了模型的泛化能力和表达能力,因为标签中包含的类的通用信息。仅用几个例子很难完全代表类,因此单一原型可能会偏向大多数相似实体。幸运的是,多原型表示方法可以保留少数实体的表示。

非实体类的多原型:对于非实体类o,使用符号嵌入来表示类,其中多原型指的是多个符号嵌入。令O={x

预测

给定查询序列

在训练阶段,使用负对数似然损失来更新编码器中的参数:

本实施例使用三个数据集Few-NERD(包含Few-NERD(INTER)和Few-NERD(INTRA))(Ding et al.2021),WNUT(Derczynski et al.2017)和re3d(Science and Laborator2017)来验证本发明方法。我们使用片段式评估对模型进行了测试。片段式评估是在小样本学习中广泛采用的评估方法,我们采用严格的采样策略来生成片段中的支持集和查询集。我们采样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。

基线在我们的实验中使用了五个具有竞争力的模型。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中挖掘未定义类,提高分类器的识别能力。可以观察到,本发明方法在所有评估设定下一贯优于最先进的模型。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号