掌桥专利:专业的专利平台
掌桥专利
首页

实体识别方法以及实体识别模型训练方法

文献发布时间:2024-04-18 19:58:30


实体识别方法以及实体识别模型训练方法

技术领域

本说明书实施例涉及计算机技术领域,特别涉及一种实体识别方法。

背景技术

命名实体识别(Named Entity Recognition,NER)是许多自然语言处理(NaturalLanguage Processing,NLP)任务的基础,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。命名实体识别具有广泛的应用场景,例如电商平台搜索、推荐及客服系统依赖的自动识别品牌或商品名。然而在跨语言的应用场景中,仅在某单一源语言上训练的命名实体识别模型,则无法在其他多种语言上达到较高的识别效果,导致该命名实体识别模型无法对不同语言的命名实体进行精准地识别,使得命名实体识别模型应用不广泛,对不同语言的命名实体识别的效果也会产生较大的差异。

发明内容

有鉴于此,本说明书实施例提供了一种实体识别方法。本说明书一个或者多个实施例同时涉及另一种实体识别方法,一种实体识别模型训练方法,一种命名实体查询方法,一种实体识别装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。

根据本说明书实施例的第一方面,提供了一种实体识别方法,包括:

获取待识别语句;

将所述待识别语句输入实体识别模型,获得所述待识别语句对应的识别结果;

其中,所述实体识别模型基于训练样本之间的对比损失值训练获得,所述训练样本至少包括携带实体标签的第一训练语句和未携带实体标签的第二训练语句,所述第一训练语句与所述第二训练语句分属于不同的语言种类,所述对比损失值表征各实体标签的训练语句之间的差异程度,所述第二训练语句的实体标签是将所述第二训练语句输入至所述实体识别模型得到;

基于所述识别结果确定所述待识别语句中的命名实体。

根据本说明书实施例的第二方面,提供了另一种实体识别方法,应用于云侧设备,包括:

接收端侧设备发送的待识别语句;

将所述待识别语句输入实体识别模型,获得所述待识别语句对应的识别结果;

其中,所述实体识别模型基于训练样本之间的对比损失值训练获得,所述训练样本至少包括携带实体标签的第一训练语句和未携带实体标签的第二训练语句,所述第一训练语句与所述第二训练语句分属于不同的语言种类,所述对比损失值表征各实体标签的训练语句之间的差异程度,所述第二训练语句的实体标签是将所述第二训练语句输入至所述实体识别模型得到;

基于所述识别结果确定所述待识别语句中的命名实体,并将所述命名实体发送至所述端侧设备。

根据本说明书实施例的第三方面,提供了一种实体识别模型训练方法,应用于云侧设备,包括:

获取训练样本,其中,所述训练样本至少包括携带实体标签的第一训练语句和未携带实体标签的第二训练语句,所述第一训练语句与所述第二训练语句分属于不同的语言种类;

将所述训练样本输入待训练的实体识别模型,获得第一实体识别结果和第二实体识别结果,其中,所述第一实体识别结果为所述第一训练语句对应的识别结果,所述第二实体识别结果为所述第二训练语句对应的识别结果;

基于所述第一实体识别结果和所述实体标签,确定第一损失值,基于所述第一实体识别结果和所述第二实体识别结果,确定所述训练样本对应的对比损失值;

根据所述第一损失值和所述对比损失值,训练所述实体识别模型;

将所述实体识别模型的模型参数发送至端侧设备。

根据本说明书实施例的第四方面,提供了一种命名实体查询方法,应用于端侧设备,包括:

接收命名实体查询请求,其中,所述命名实体查询请求携带有待查询的商品信息;

将所述商品信息输入实体识别模型,获得所述商品信息对应的命名实体结果,其中,所述实体识别模型根据上述实体识别模型训练方法训练获得;

将所述命名实体结果中的命名实体进行展示,其中,所述命名实体包括商品名和/或品牌名。

根据本说明书实施例的第五方面,提供了一种实体识别方法,包括:

语句获取模块,被配置为获取待识别语句;

语句识别模块,被配置为将所述待识别语句输入实体识别模型,获得所述待识别语句对应的识别结果;其中,所述实体识别模型基于训练样本之间的对比损失值训练获得,所述训练样本至少包括携带实体标签的第一训练语句和未携带实体标签的第二训练语句,所述第一训练语句与所述第二训练语句分属于不同的语言种类,所述对比损失值表征各实体标签的训练语句之间的差异程度,所述第二训练语句的实体标签是将所述第二训练语句输入至所述实体识别模型得到;

实体确定模块,被配置为基于所述识别结果确定所述待识别语句中的命名实体。

根据本说明书实施例的第六方面,提供了一种计算设备,包括:

存储器和处理器;

所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述方法的步骤。

根据本说明书实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述方法的步骤。

根据本说明书实施例的第八方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述方法的步骤。

本说明书一个实施例提供了实体识别方法,获取待识别语句;将所述待识别语句输入实体识别模型,获得所述待识别语句对应的识别结果;其中,所述实体识别模型基于训练样本之间的对比损失值训练获得,所述训练样本至少包括携带实体标签的第一训练语句和未携带实体标签的第二训练语句,所述第一训练语句与所述第二训练语句分属于不同的语言种类,所述对比损失值表征各实体标签的训练语句之间的差异程度,所述第二训练语句的实体标签是将所述第二训练语句输入至所述实体识别模型得到;基于所述识别结果确定所述待识别语句中的命名实体。

具体实施时,将待识别语句输入至能够识别不同语言的实体识别模型中,以获得对待识别语句对应的识别结果,并从该识别结果中确定待识别语句中的命名实体,其中,该方法中所应用的实体识别模型,可通过对多种语言的训练语句之间的对比损失值进行训练获得,并且样本中至少包括携带实体标签的第一训练语句和未携带实体标签的第二训练语句,所述第一训练语句与所述第二训练语句分属于不同的语言种类,另外,对比损失值可表征为各实体标签的训练语句之间的差异程度,以使得实体识别模型通过对比损失值能够学习到不同种语言的训练语句中的实体信息,解决了实体识别模型能够识别不同种语言的待识别语句中的命名实体,也扩展了实体识别模型的应用语种范围。

附图说明

图1是本说明书一个实施例提供的一种实体识别方法的场景示意图;

图2是本说明书一个实施例提供的一种实体识别方法的流程图;

图3是本说明书一个实施例提供的一种实体识别方法中的实体识别模型的训练示意图;

图4是本说明书一个实施例提供的另一种实体识别方法的流程图;

图5是本说明书一个实施例提供的一种实体识别模型训练方法的流程图;

图6是本说明书一个实施例提供的一种命名实体查询方法的流程图;

图7是本说明书一个实施例提供的一种实体识别装置的结构示意图;

图8是本说明书一个实施例提供的一种计算设备的结构框图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。

在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

此外,需要说明的是,本说明书一个或多个实施例所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。

首先,对本说明书一个或多个实施例涉及的名词术语进行解释。

命名实体识别(NER):是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。

跨语言:跨语言设置是指利用源语言的训练数据训练自然语言处理系统,然后直接在目标语言数据上进行评估。

自训练(self-training):利用一个在标注数据上训练的模型,对无标注数据赋伪标签,然后与原训练集合并重新训练模型。

对比学习(contrastive learning):通过拉近正例对的表示间的距离,并增大负例对的表示间的距离,来优化数据表示的方法。

原型学习(prototype learning):构建一系列类别特定的原型,并跟据输入数据与各原型间的距离对输入数据进行分类。

命名实体识别(NER)具有广泛的应用场景,例如电商平台搜索、推荐及客服系统依赖于NER算法自动识别品牌或商品名。然而,在跨境电商多语言应用场景中,标注数据量不足以在每个语言上开发单独的NER算法。因此,跨语言NER具有在单一源语言标注数据上训练,便能够应用到广泛的不同种语言的优势。然而,由于语言学上的差异,仅在某一种或几种语言上训练可能不足以在其他多种不同语言上达到令人满意的NER表现。现存的跨语言NER自训练方法首先使用某一种或几种语言标注数据训练一个教师模型(teacher model),再用teacher model对大量无标注的其他语言数据赋伪标签,并将其他不同种语言的伪标注数据和原有的一种或几种语言标注数据合并,训练最终的NER模型(student model)。但是,在跨语言设置下,teacher model在目标语言的表现较差,导致目标语言的伪标签质量不理想,影响最终NER模型的表现。进而,为了优化伪标签的质量,以改善跨语言NER自训练的表现,还尝试了多种方式进行优化伪标签,比如,通过语言分类器或强化学习精选一部分质量较高的伪标注数据,但是无法充分利用全部的无标注目标语言数据;另外,还可训练多个teacher model,并将他们预测的伪标签集成,以降低伪标注数据中的噪音,但训练成本较高;或者在多轮自训练中,使用上一轮的student model作为下一轮的teacher model,来迭代地生成质量更高的伪标签,但该方法的训练成本也较高。

基于此,目前都从数据入手,而忽视了表示层面上一种或几种语言和其他不同种语言的对齐。对此,本说明书实施例提出一种自训练方法来有效地利用无标注的各语种的语言数据,以解决跨语言NER任务;具体的,可利用对比学习改善一种或几种语言和其他不同种语言实体的表示,可通过拉近一对同类别的实体的表示间的距离,并增大不同类别实体表示间的距离。另外,还通过移动平均对每个实体类别构建一个簇中心,并根据其他不同种语言无标注字段与每个簇中心的距离逐步优化该字段的伪标签,以达到更好的自训练效果。

在本说明书中,提供了一种实体识别方法,本说明书同时涉及另一种实体识别方法,一种实体识别模型训练方法,一种命名实体查询方法,一种实体识别装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,在下面的实施例中逐一进行详细说明。

参见图1,图1示出了根据本说明书一个实施例提供的一种实体识别方法的场景示意图。

需要说明的是,本说明书实施例提供的实体识别方法应用的场景示意,其中,该实体识别方法通过实体识别模型对待识别语句进行实体识别,以确定该待识别语句中的命名实体;为了便于理解,该实体识别方法可应用于电商平台搜索、推荐或智能客服系统等,本实施例对此不作限定。

实际应用中,执行主体可为了识别命名实体,可将获取到的待识别语句A输入至实体识别模型中,其中,待识别语句A可理解为需要识别语句的命名实体的语句,比如词段a、词段b,同时该语句的语言种类对此不作限定;进一步地,实体识别模型可部署在端侧设备,也可部署在云侧设备,本实施例也对此不作限定;具体的,实体识别模型对待识别语句A进行实体识别,以获得待识别语句A中的命名实体,如图1中所示,人名:词段a、地名:词段b。

需要强调的是,实体识别模型为了能够具有精准地识别不同种语言的语句中命名实体的能力,需要对实体识别模型实现跨语言实体识别任务的训练,具体的,在训练样本上,可包括具有准确的实体标签的第一训练样本(比如中文语句),还包括未带有实体标签的第二训练样本(比如英文语句),那么,可利用实体识别模型对未带有实体标签的第二训练样本打上伪标签,并后续对该伪标签进行不断地更新,增进伪标签的精准度;在模型训练过程中,还可利用对比学习的方式,拉近同类别的语句之间的向量表示,推远不同类别的语句之间的向量表示,使得多种语言的语句之间对各个实体类别之间的向量具有对齐的表征能力,能够让实体识别模型学习不同种语言之间的向量表示,增强模型的跨语言迁移能力。

参见图2,图2示出了根据本说明书一个实施例提供的一种实体识别方法的流程图,具体包括以下步骤。

步骤202:获取待识别语句。

其中,待识别语句可以理解为在不同应用场景中需要识别语句中的命名实体的语句内容,对应该语句的语种类型对此不作限定,包括但不限定于中文、英文、德文等。

实际应用中,执行主体可获取到待识别语句,以便于将该待识别语句输入至实体识别模型进行识别,需要说明的是,待识别语句中可包括不同类别的实体内容(比如人名、地名、机构名、专有名词等),也可包括非实体内容,本实施例对此不做限定。

步骤204:将所述待识别语句输入实体识别模型,获得所述待识别语句对应的识别结果。

其中,所述实体识别模型基于训练样本之间的对比损失值训练获得,所述训练至少包括携带实体标签的第一训练语句和未携带实体标签的第二训练语句,所述第一训练语句与所述第二训练语句分属于不同的语言种类,所述对比损失值表征各实体标签的训练语句之间的差异程度,所述第二训练语句的实体标签是将所述第二训练语句输入至所述实体识别模型得到。

实体标签可以理解为对训练语句中各个词段对应的标签,其标签类型可根据不同应用场景而设定;携带有实体标签的第一训练语句可以理解为实体识别模型本身拥有识别该语种语句的命名实体的能力,比如能够精准地识别中文语句中的命名实体;未携带实体标签的第二训练语句可以理解为实体识别模型中并不具有识别某语种语句的命名实体的能力,比如该模型中不能够识别英文语句中的命名实体;另外,由于第二训练语句未携带实体标签,因此在后续的实体识别模型训练阶段可将第二训练语句输入至实体识别模型预测获得。

实际应用中,执行主体可将待识别语句进行词段划分,将划分后的多个词段输入至实体识别模型,以便于实体识别模型对各个词段进行预测识别,并输出待识别语句中各个词段对应的识别结果,其中,该识别结果可表示为该词段为各个实体类别的概率结果,比如词段a-人名70%、地名20%、机构名5%、专有名词5%、非实体0%。

需要说明的是,实体识别模型可通过多种语言对应的训练语句之间进行对比学习自训练获得,其中,涉及到的对比损失值可以理解为表征不同语种训练语句之间的差异程度,即向量表征之间的相似程度,在模型通过中文的实体识别能力学习到英文中同类别命名实体的能力之后,该模型即可能够精准地实现对跨语言语句的命名实体识别。

进一步地,本说明书实施例还提供了对实体识别模型的训练过程,可包括基于对比学习的自训练过程,还可包括基于分类簇中心进行伪标签更新的过程,可参加下述实施例中的详细描述;具体的,所述将所述待识别语句输入实体识别模型,获得所述待识别语句对应的识别结果之前,还包括:

获取训练样本,其中,所述训练样本至少包括携带实体标签的第一训练语句和未携带实体标签的第二训练语句,所述第一训练语句与所述第二训练语句分属于不同的语言种类;

将所述训练样本输入待训练的实体识别模型,获得第一实体识别结果和第二实体识别结果,其中,所述第一实体识别结果为所述第一训练语句对应的识别结果,所述第二实体识别结果为所述第二训练语句对应的识别结果;

基于所述第一实体识别结果和所述实体标签,确定第一损失值,基于所述第一实体识别结果和所述第二实体识别结果,确定所述训练样本对应的对比损失值;

根据所述第一损失值和所述对比损失值,训练所述实体识别模型。

需要说明的是,训练样本中训练语句的语种类别不作限定,且携带有实体标签的语种类别也不作限定,比如,训练样本中包括三种语种类别的训练语句,分别为中文训练语句、英文训练语句、德文训练语句,而携带实体标签的第一训练语句可为中文训练语句,未携带实体标签的第二训练语句为英文、德文训练语句,其中,中文训练语句的实体标签包括人名实体、地名实体、机构名实体等,本实施例对此不做限定。

实际应用中,将训练样本输入至待训练的实体识别模型中,可获得不同种语言的训练语句的实体识别结果,包括第一实体识别结果和第二实体识别结果,其中,第一实体识别结果可以理解为对携带有实体标签的语言的训练语句的实体识别结果,第二实体识别结果可理解为对未携带有实体标签的语言的训练语句的实体识别结果;进一步地,根据第一实体识别结果和实体标签,确定第一损失值,即中文语句中实体标签的损失值;再根据第一实体识别结果和第二实体识别结果,确定训练样本中各个不同语种的训练语句之间的对比损失值,即理解为中文、英文、德文训练语句之间的实体标签对比损失值;最后,根据第一损失值和对比损失值训练实体识别模型。

在可选的实施例中,对第一损失值的训练目标可参考下述公式1:

其中,Lsrc为有实体标签的第一训练语句上的交叉熵。具体的,N为训练样本的总数,

本说明书实施例提供的实体识别方法,在训练实体识别模型的过程中,通过确定带有实体标签的训练语句对应的第一损失值、和训练样本中各种语言的训练语句对应的对比损失值,以训练实体识别模型能够对不同种语言语句的命名实体进行精准识别。

进一步地,本说明书实施例还提供了通过拉近同类别实体标签之间词段距离,推远不同类别实体标签之间词段距离,使得同类别词段的表示相互聚拢,不同类别词段的表示相互疏远,让模型学习到不同语言之间同类别词段之间的对齐向量表示,以更好地训练模型具有跨语言实体识别迁移能力;具体的,所述基于所述第一实体识别结果和所述第二实体识别结果,确定所述训练样本对应的对比损失值,包括:

分别确定所述第一实体识别结果和所述第二实体识别结果中各词段对应的实体类型;

基于所述实体类型,确定同类别词段之间的第一向量值、以及不同类别词段之间的第二向量值;

基于所述第一向量值和所述第二向量值,确定所述训练样本对应的对比损失值。

实际应用中,可分别根据第一实体识别结果和第二实体识别结果,确定各种语言的训练语句中各词段对应的实体类型,对相同实体类别的词段表示相互聚拢,对不同类别的词段表示相互分开,有利于训练NER分类器,具体的,相互聚拢的处理可获得第一向量值,相互分开的处理可获得第二向量值,进而,根据第一向量值和第二向量值,能够确定训练样本对应的对比损失值。

一种可选的实施方式中,通过对齐第一实体识别结果和第二实体识别结果之间的向量表示,以增强模型的跨语言迁移能力,对于对比损失值的训练目标可参考下述公式2:

其中,Lcont为有监督对比学习中各语种训练语句之间的损失函数。具体的,m为训练样本中词段的总数,P(i)为当前第i个词段的正例集合,ζ

需要说明的是,本实施例中基于对比学习的自训练,依赖于训练语句的真实实体标签选取与之同类别的词段构建正例对,同时使用该实体识别模型对无实体标签的训练语句预测出近似标签之后,和同类别的词段之间继续构建伪正例对,另外,和不同类别的词段之间构建负例对,以便于表征对向量之间的拉近和推远的过程。

进一步地,由于未携带有实体标签的训练语句在后续的模型训练过程中,还需要利用实体识别模型确定伪实体标签,并将具有伪实体标签的训练语句加入了带有实体标签的训练语句的训练数据中,进而,还可根据伪实体标签确定训练实体识别模型的损失值,以调整模型训练的精度;具体的,所述基于所述第一实体识别结果和所述第二实体识别结果,确定所述训练样本对应的对比损失值之前,还包括:

基于所述第二实体识别结果,确定所述第二训练语句对应的伪实体标签;

根据所述伪实体标签,确定第二损失值。

其中,伪实体标签可以理解为对未携带有实体标签的训练语句进行实体识别后,所确定的实体标签,由于模型在未经过跨语种实体识别的训练,对未携带有实体标签的训练语句进行初始的实体识别,结果可能并不准确,因此可将识别后确定的实体标签,理解为伪实体标签。

实际应用中,在对未携带有实体标签的训练语句进行实体识别后,可获得对应的第二实体识别结果,并根据该第二实体识别结果确定第二训练语句对应的伪实体标签;进一步地,还可根据每轮迭代中确定的伪实体标签,计算第二损失值,即理解为实体识别模型对未携带有实体标签的训练语句的实体识别能力对应的损失值;沿用上例,第二损失值可理解为英文或德文训练语句对应的伪实体标签的损失值。

在可选的实施例中,对第二损失值的训练目标可参考下述公式3:

其中,Ltgt为伪实体标签对应的不同语种的训练语句上的交叉熵。具体的,N为训练样本的总数,

更进一步地,为了提高模型对未携带实体标签的训练语句实体识别精准度,还可对伪实体标签进行优化更新;具体的,所述基于所述第二实体识别结果,确定所述第二训练语句对应的伪实体标签,包括:

确定第一实体识别结果中各词段类别对应的簇中心向量;

基于所述第二实体识别结果和所述簇中心向量,更新所述第二训练语句对应的伪实体标签。

其中,簇中心向量可以理解为实体识别模型对各类词段分类后,构建的原型(prototype),即各类别簇的中心。

实际应用中,为了进一步利用原型学习优化伪实体标签对应的语种训练语句的质量,可通过计算第二实体识别结果和各词段类别对应的簇中心向量表示的移动平均,动态计算簇中心向量,以更新第二训练语句对应的伪实体标签;具体的动态计算簇中心向量可参考下述公

式4:

其中Normalize表示归一化,α是决定移动平均速率的超参数,φ

具体实施时,可通过计算第二实体识别结果与之距离较为接近的簇所述的类别,作为更新后的实体标签,实现对伪实体标签的更新;具体的,所述基于所述第二实体识别结果和所述簇中心向量,更新所述第二训练语句对应的伪实体标签,包括:

计算所述第二实体识别结果与各词段类别对应的簇中心向量之间的向量距离;

确定满足预设距离阈值条件的向量距离为目标簇中心向量;

基于所述目标簇中心向量,确定待更新词段类别,并将所述待更新词段类别,更新为所述第二训练语句对应的伪实体标签。

实际应用中,可计算第二实体识别结果与第一实体识别结果中各词段类别对应的簇中心向量之间的向量距离,还可对向量距离设定预设的距离阈值,以确定第二实体识别结果中是否有满足预设距离阈值条件的向量距离,并将满足阈值条件的向量距离对应的簇中心向量确定为目标簇中心向量,以更新伪实体标签,使得伪实体标签向该目标簇中心向量所属类别偏移,可参考下述公式5:

其中,β为控制移动平均速率的超参数,

基于此,通过计算簇中心向量与实体识别结果之间的向量距离,能够逐步地纠正伪实体标签中的不准确的预测,也可增强正确的伪实体标签的置信度,以达到更好地自训练效果。

另外,由于NER具有类别极其不均衡的特点,即绝大多数的词段不属于任何实体类别。这导致,非实体的词段分布极其广泛,所以在非实体簇边缘的词段可能实际上距离某个实体类别的原型更近。因此,上述的伪实体标签更新会导致该词段被错误地标为实体。为了解决这个问题,我们进一步引入一个margin-based criteria(基于边界的准则),只将与某一个实体类别原型足够近的词段更新为实体,可参考下述公式6:

其中,φ

r

其中,MEAN表示计算平均值,φ

除了使用上述自动计算得到的margin r,本实施例中也可以手动将其设置为超参,对此本实施例并不做具体限定。

进一步地,所述根据所述第一损失值和所述对比损失值,训练所述实体识别模型,包括:

基于所述第一损失值、所述第二损失值和所述对比损失值,训练所述实体识别模型。

实际应用中,为了提高训练实体识别模型的精准度,可根据上述描述的第一损失值、第二损失值和对比损失值进行模型的训练,具体训练目标的损失函数可参考下述公式8:

L=L

其中,L为模型总损失值,Lsrc、Ltgt和Lcont的具体含义可参考上述公式中的描述。

此外,为了增强模型的鲁棒性,还可进一步引入基于dropout的一致性正则项。具体的,可将每一个句子两次输入模型,由于随机对模型参数进行加噪处理,两次输出的预测概率分布将略有差异。进而,通过优化模型保证输出一致的预测结果,可参考下述公式9:

其中,m表示样本中词段的总数,KL表示KL散度,P

进而,对于训练实体识别模型的目标损失值还可参考下述公式10:

其中,L为模型总损失值,Lreg为模型加噪后的预测损失值。

需要说明的是,本实施例对训练实体识别模型的过程本实施例对此不作限定。

步骤206:基于所述识别结果确定所述待识别语句中的命名实体。

其中,命名实体可以理解为待识别语句中所指定的预设实体内容,包括但不限定于人名、地名、机构名、专有名词等。

实际应用中,执行主体可根据实体识别模型输出的识别结果,确定待识别语句中的命名实体,便于后续利用该命名实体完成后续的项目处理过程,具体后续的项目应用本实施例对此不作具体限定。

综上,本说明书实施例提供的实体识别方法,提供了跨语言NER自训练方法,通过对比学习使同类别的词段向量聚集,使不同类别的词段向量分散,以降低分类器的训练难度。同时,通过对齐同类别的各个语言词段,可增强了模型的跨语言迁移能力,另外,还利用原型学习,不断优化伪标签数据质量,以达到更好的自训练效果。

下述结合附图3,图3示出了本说明书一个实施例提供的一种实体识别方法中的实体识别模型的训练示意图。

图3中为对实体识别模型的训练过程的示意,左侧为基于词段分类的NER模型,主要对训练语句中的各词段进行实体识别,为了便于理解,本实施例中的训练样本包括有标注源语言(中文)数据、伪标注目标语言(英文)数据,其中,中文数据中包括人名:张**、王**;机构名:**银行,英文数据中包括:**Smith;进一步地,将训练样本输入PLM(Pretrained Language Models,预训练语言模型)处理后,可获得相应的预测结果,并根据分类器可分别计算对应的损失值,包括Lsrc和Ltgt;更进一步地,为了调整模型参数,可将分类的向量输入MLP(Multilayer Perceptron,多层感知机)神经网络层进行处理,通过对比学习,拉近同类别的词段向量之间的距离,同时可推远不同类别的词段向量之间的距离,即可参考图3中右侧对比学习的示意,对于同为人名的向量之间实现向量表征拉近,对于人名和机构名之间实现向量表征推远,进而,能够对齐同类的源语言和目标语言词段的向量表征,使得模型能够通过中文数据的实体类别学习到英文数据中的各个实体类别,以增强模型的跨语言迁移能力。

另外,为了实现对英文数据中伪标签的更新,还可通过计算各类词段实体对应的簇中心,构建每个簇中心对应的向量表示范围,即图3中右下角的基于原型学习的伪标注区域所示,以判断英文数据:**Smith,属于哪一个簇的范围内,以更新伪标签;通过不断优化伪标签数据质量,以达到更好地自训练效果;需要说明的是,图3中的基于词段分类的NER模型和基于原型学习的伪标注中均示例了伪标签的概率分布情况,即对于**Smith,分属于哪一类实体进行示例,原伪标注目标语言(英语)数据的概率分别在地名、人名、机构名、非实体的概率分布如图3左下角所示,在对伪标签更新后,对于**Smith,分属于哪一类实体进行更新后,各个类别的概率分布如图3右下角所示。

参见图4,图4示出了根据本说明书一个实施例提供的另一种实体识别方法的流程图,具体包括以下步骤。

需要说明的是,本实施例提供的实体识别方法,可应用于云侧设备,即可将实体识别的过程在云侧设备上实现,具体本实施例不作限定。

步骤402:接收端侧设备发送的待识别语句。

实际应用中,云侧设备可接收到端侧设备发送的待识别语句,其中,待识别语句可以理解为在不同应用场景中需要识别语句中的命名实体的语句内容,对应该语句的语种类型对此不作限定,包括但不限定于中文、英文、德文等。

步骤404:将所述待识别语句输入实体识别模型,获得所述待识别语句对应的识别结果。

其中,所述实体识别模型基于训练样本之间的对比损失值训练获得,所述训练样本至少包括携带实体标签的第一训练语句和未携带实体标签的第二训练语句,所述第一训练语句与所述第二训练语句分属于不同的语言种类,所述对比损失值表征各实体标签的训练语句之间的差异程度,所述第二训练语句的实体标签是将所述第二训练语句输入至所述实体识别模型得到。

实际应用中,实体标签可以理解为对训练语句中各个词段对应的标签,其标签类型可根据不同应用场景而设定;携带有实体标签的第一训练语句可以理解为实体识别模型本身拥有识别该语种语句的命名实体的能力,比如能够精准地识别中文语句中的命名实体;未携带实体标签的第二训练语句可以理解为实体识别模型中并不具有识别某语种语句的命名实体的能力,比如该模型中不能够识别英文语句中的命名实体;另外,由于第二训练语句未携带实体标签,因此在后续的实体识别模型训练阶段可将第二训练语句输入至实体识别模型预测获得。

实际应用中,执行主体可将待识别语句进行词段划分,将划分后的多个词段输入至实体识别模型,以便于实体识别模型对各个词段进行预测识别,并输出待识别语句中各个词段对应的识别结果,其中,该识别结果可表示为该词段为各个实体类别的概率结果,比如词段a-人名70%、地名20%、机构名5%、专有名词5%、非实体0%。

需要说明的是,实体识别模型可通过多种语言对应的训练语句之间进行对比学习自训练获得,其中,涉及到的对比损失值可以理解为表征不同语种训练语句之间的差异程度,即向量表征之间的相似程度,在模型通过中文的实体识别能力学习到英文中同类别命名实体的能力之后,该模型即可能够精准地实现对跨语言语句的命名实体识别。

步骤406:基于所述识别结果确定所述待识别语句中的命名实体,并将所述命名实体发送至所述端侧设备。

实际应用中,执行主体可根据实体识别模型输出的识别结果,确定待识别语句中的命名实体,其中,命名实体可以理解为待识别语句中所指定的预设实体内容,包括但不限定于人名、地名、机构名、专有名词等;再将命名实体发送至端侧设备,便于端侧设备进一步完成后续的项目任务等,本实施例对此不作限定。

需要说明的是,本实施例提供的实体识别模型的训练过程可参考上述实施例的描述,具体的在此不做赘述。

参见图5,图5示出了根据本说明书一个实施例提供的一种实体识别模型训练方法的流程图,具体包括以下步骤。

步骤502:获取训练样本,其中,所述训练样本至少包括携带实体标签的第一训练语句和未携带实体标签的第二训练语句,所述第一训练语句与所述第二训练语句分属于不同的语言种类。

实际应用中,训练样本中训练语句的语种类别不作限定,且携带有实体标签的语种类别也不作限定,比如,训练样本中包括三种语种类别的训练语句,分别为中文训练语句、英文训练语句、德文训练语句,而携带实体标签的第一训练语句可为中文训练语句,未携带实体标签的第二训练语句为英文、德文训练语句,其中,中文训练语句的实体标签包括人名实体、地名实体、机构名实体等,本实施例对此不做限定。

步骤504:将所述训练样本输入待训练的实体识别模型,获得第一实体识别结果和第二实体识别结果,其中,所述第一实体识别结果为所述第一训练语句对应的识别结果,所述第二实体识别结果为所述第二训练语句对应的识别结果。

实际应用中,将训练样本输入至待训练的实体识别模型中,可获得不同种语言的训练语句的实体识别结果,包括第一实体识别结果和第二实体识别结果,其中,第一实体识别结果可以理解为对携带有实体标签的语言的训练语句的实体识别结果,第二实体识别结果可理解为对未携带有实体标签的语言的训练语句的实体识别结果。

步骤506:基于所述第一实体识别结果和所述实体标签,确定第一损失值,基于所述第一实体识别结果和所述第二实体识别结果,确定所述训练样本对应的对比损失值。

步骤508:根据所述第一损失值和所述对比损失值,训练所述实体识别模型。

进一步地,根据第一实体识别结果和实体标签,确定第一损失值,即中文语句中实体标签的损失值;再根据第一实体识别结果和第二实体识别结果,确定训练样本中各个不同语种的训练语句之间的对比损失值,即理解为中文、英文、德文训练语句之间的实体标签对比损失值;最后,根据第一损失值和对比损失值训练实体识别模型。

此外,在训练实体识别模型的过程中,由于第二训练语句未携带实体标签,可通过实体识别模型为第二训练语句打上伪实体标签,该伪实体标签可理解为由于模型在未经过跨语种实体识别的训练,对未携带有实体标签的训练语句进行初始的实体识别,结果可能并不准确,因此可将识别后确定的实体标签,理解为伪实体标签。进一步地,还可根据每轮迭代中确定的伪实体标签,计算第二损失值,即理解为实体识别模型对未携带有实体标签的训练语句的实体识别能力对应的损失值;沿用上例,第二损失值可理解为英文、德文训练语句对应的伪实体标签的损失值。最后,还可根据第一损失值、第二损失值和对比损失值训练实体识别模型。

步骤510:将所述实体识别模型的模型参数发送至端侧设备。

最后,还可将实体识别模型的模型参数进行存储,并还可发送至端侧设备,便于后续端侧设备利用模型参数对实体识别模型进行构建,以识别不同语种语句中的命名实体。

基于此,本实施例中对实体识别模型的训练过程可参考上述实施例的具体描述,在此不做过多赘述,可利用对比学习改善一种或几种语言和其他不同种语言实体的表示,可通过拉近一对同类别的实体的表示间的距离,并增大不同类别实体表示间的距离。另外,还通过移动平均对每个实体类别构建一个簇中心,并根据其他不同种语言无标注字段与每个簇中心的距离逐步优化该字段的伪标签,以达到更好的自训练效果。

参见图6,图6示出了根据本说明书一个实施例提供的一种命名实体查询方法的流程图,具体包括以下步骤。

需要说明的是,本实施例提供的命名实体查询方法应用于端侧设备,具体应用场景可包括电商平台搜索、推荐及智能客服等应用场景,具体的,可通过NER算法自动识别商品信息中的品牌名或商品名等。

步骤602:接收命名实体查询请求,其中,所述命名实体查询请求携带有待查询的商品信息。

实际应用中,执行主体可接收命名实体查询请求,该查询请求中携带有待查询的商品信息,由于该商品信息中可包括商品名、品牌名、对商品的各类描述信息等,所以需要对该商品信息进行命名实体识别,以便于能够快速地获取到该商品信息中的命名实体。

需要说明的是,该商品信息中的语句内容包括多种语言的文本内容,包括但不限定于中文、英文、日文、德文等。

步骤604:将所述商品信息输入实体识别模型,获得所述商品信息对应的命名实体结果。

其中,所述实体识别模型根据上述实体识别模型训练方法训练获得。

实际应用中,将商品信息输入至实体识别模型中,获得该商品信息对应的命名实体结果,需要说明的是,实体识别模型能够支持对不同种语言的语句进行实体识别,该实体识别模型的训练过程可参考上述实施例中对实体识别模型训练方法的描述,该模型具有跨语言的实体识别能力。

步骤606:将所述命名实体结果中的命名实体进行展示,其中,所述命名实体包括商品名和/或品牌名。

实际应用中,可将命名实体结果中的命名实体在端侧设备上进行展示,包括但不限定于对商品信息中识别的商品名和/或品牌名;需要说明的是,该商品名和/或品牌名可包括不同语种的命名实体,本实施例对此不作限定。

综上,本说明书实施例提供的命名实体查询方法,可利用实体识别模型对待查询的商品信息进行实体识别,能够准确地识别出商品信息中不同语种的命名实体,具有完成跨语言命名实体识别的能力。

与上述方法实施例相对应,本说明书还提供了实体识别装置实施例,图7示出了本说明书一个实施例提供的一种实体识别装置的结构示意图。如图7所示,该装置包括:

语句获取模块702,被配置为获取待识别语句;

语句识别模块704,被配置为将所述待识别语句输入实体识别模型,获得所述待识别语句对应的识别结果;其中,所述实体识别模型基于训练样本之间的对比损失值训练获得,所述训练样本至少包括携带实体标签的第一训练语句和未携带实体标签的第二训练语句,所述第一训练语句与所述第二训练语句分属于不同的语言种类,所述对比损失值表征各实体标签的训练语句之间的差异程度,所述第二训练语句的实体标签是将所述第二训练语句输入至所述实体识别模型得到;

实体确定模块706,被配置为基于所述识别结果确定所述待识别语句中的命名实体。

可选地,所述装置,还包括:

模型训练模块,被配置为获取训练样本,其中,所述训练样本至少包括携带实体标签的第一训练语句和未携带实体标签的第二训练语句,所述第一训练语句与所述第二训练语句分属于不同的语言种类;

将所述训练样本输入待训练的实体识别模型,获得第一实体识别结果和第二实体识别结果,其中,所述第一实体识别结果为所述第一训练语句对应的识别结果,所述第二实体识别结果为所述第二训练语句对应的识别结果;

基于所述第一实体识别结果和所述实体标签,确定第一损失值,基于所述第一实体识别结果和所述第二实体识别结果,确定所述训练样本对应的对比损失值;

根据所述第一损失值和所述对比损失值,训练所述实体识别模型。

可选地,所述模型训练模块,进一步被配置为:

基于所述第二实体识别结果,确定所述第二训练语句对应的伪实体标签;

根据所述伪实体标签,确定第二损失值。

可选地,所述模型训练模块,进一步被配置为:

分别确定所述第一实体识别结果和所述第二实体识别结果中各词段对应的实体类型;

基于所述实体类型,确定同类别词段之间的第一向量值、以及不同类别词段之间的第二向量值;

基于所述第一向量值和所述第二向量值,确定所述训练样本对应的对比损失值。

可选地,所述模型训练模块,进一步被配置为:

基于所述第一损失值、所述第二损失值和所述对比损失值,训练所述实体识别模型。

可选地,所述模型训练模块,进一步被配置为:

确定第一实体识别结果中各词段类别对应的簇中心向量;

基于所述第二实体识别结果和所述簇中心向量,更新所述第二训练语句对应的伪实体标签。

可选地,所述模型训练模块,进一步被配置为:

计算所述第二实体识别结果与各词段类别对应的簇中心向量之间的向量距离;

确定满足预设距离阈值条件的向量距离为目标簇中心向量;

基于所述目标簇中心向量,确定待更新词段类别,并将所述待更新词段类别,更新为所述第二训练语句对应的伪实体标签。

本说明书实施例提供的实体识别装置,将待识别语句输入至能够识别不同语言的实体识别模型中,以获得对待识别语句对应的识别结果,并从该识别结果中确定待识别语句中的命名实体,其中,该方法中所应用的实体识别模型,可通过对多种语言的训练语句之间的对比损失值进行训练获得,并且至少包括携带实体标签的第一训练语句和未携带实体标签的第二训练语句,所述第一训练语句与所述第二训练语句分属于不同的语言种类,另外,对比损失值可表征为各实体标签的训练语句之间的差异程度,以使得实体识别模型通过对比损失值能够学习到不同种语言的训练语句中的实体信息,解决了实体识别模型能够识别不同种语言的待识别语句中的命名实体,也扩展了实体识别模型的应用语种范围。

上述为本实施例的一种实体识别装置的示意性方案。需要说明的是,该实体识别装置的技术方案与上述的实体识别方法的技术方案属于同一构思,实体识别装置的技术方案未详细描述的细节内容,均可以参见上述实体识别方法的技术方案的描述。

图8示出了根据本说明书一个实施例提供的一种计算设备800的结构框图。该计算设备800的部件包括但不限于存储器810和处理器820。处理器820与存储器810通过总线830相连接,数据库850用于保存数据。

计算设备800还包括接入设备840,接入设备840使得计算设备800能够经由一个或多个网络860通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备840可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,networkinterface controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)。

在本说明书的一个实施例中,计算设备800的上述部件以及图8中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图8所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。

计算设备800可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Personal Computer)的静止计算设备。计算设备800还可以是移动式或静止式的服务器。

其中,处理器820用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述实体识别、实体识别模型训练、命名实体查询方法的步骤。

上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的实体识别、实体识别模型训练、命名实体查询方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述实体识别、实体识别模型训练、命名实体查询方法的技术方案的描述。

本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述实体识别、实体识别模型训练、命名实体查询方法的步骤。

上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的实体识别、实体识别模型训练、命名实体查询方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述实体识别、实体识别模型训练、命名实体查询方法的技术方案的描述。

本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述实体识别、实体识别模型训练、命名实体查询方法的步骤。

上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的实体识别、实体识别模型训练、命名实体查询方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述实体识别、实体识别模型训练、命名实体查询方法的技术方案的描述。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据专利实践的要求进行适当的增减,例如在某些地区,根据专利实践,计算机可读介质不包括电载波信号和电信信号。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

相关技术
  • 命名实体识别模型训练方法、命名实体识别方法及装置
  • 一种命名实体识别方法、语言识别方法及系统
  • 实体识别模型的训练方法、实体识别方法及相关设备
  • 实体识别模型的训练方法、实体识别方法及装置
技术分类

06120116501729