1.本技术实施例涉及人工智能技术领域,尤其涉及一种涉及命名
实体识别模型的模型数据处理方法及电子设备。
背景技术:
2.命名实体识别(named entity recognition,ner)是一种识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等的技术。随着互联网在人们生活和工作中的广泛使用,ner相应地也被广泛地应用于各种场景中,例如电商平台搜索、推荐及客服系统等,其多通过ner模型实现命名实体识别。
3.通常,ner模型需要基于有标签的某种
语言的训练
样本来进行训练才能获得。但对很多语言来说,因对ner模型进行训练的标签训练样本的数据量不足,从而使得无法在这些语言上开发单独的ner模型。又因语言学上的差异,现有的ner模型也很难应用到这些标签训练样本较少的语言上。由此,导致ner在某些场景中,如跨境电商多语言应用场景中很难被有效应用。
技术实现要素:
4.有鉴于此,本技术实施例提供一种模型数据处理方案,以至少部分解决上述问题。
5.根据本技术实施例的第一方面,提供了一种模型数据处理方法,包括:获取用于对命名实体识别模型进行训练的、无标签的命名实体第一语言训练样本;根据
所述命名实体第一语言训练样本对应的候选实体字段,进行所述候选实体字段的占位符替换操作,获得替换后的第一语言训练样本,并且,获得所述候选实体字段对应的第二语言实体字段;获得替换后的第一语言训练样本对应的第二语言训练样本,并使用所述第二语言实体字段替换所述第二语言训练样本中占位符对应的字段,获得替换后的第二语言训练样本;基于所述命名实体第一语言训练样本和所述替换后的第二语言训练样本,分别进行命名实体预测,获得预测结果;根据所述预测结果,对所述命名实体识别模型进行训练。
6.根据本技术实施例的第二方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述方法对应的操作。
7.根据本技术实施例的第三方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法。
8.根据本技术实施例提供的方案,在使用无标签的第一语言训练样本对命名实体识别模型进行训练之前,先对其进行翻译操作。在该操作过程中,使用占位符将第一语言训练样本中可能为实体的候选实体字段(即可能的实体目标字/词)替换掉,则在获得的第二语言训练样本中,占位符即可指示可能为实体的目标字/词在第二语言训练样本中的位置;再用第二语言实体字段(即第一语言训练样本的候选实体字段对应的翻译后的目标语言中的
字段)替换占位符,即可获得第一语言训练样本对应的完整翻译,且翻译前后的目标字/词相互对应,从而可以有效避免翻译前后的字/词映射不明确的问题。在此基础上,对第一语言训练样本和最后的完整翻译的第二语言训练样本分别进行命名实体预测,可实现在无标签样本情况下的无监督训练,再结合命名实体识别模型的常规有监督训练,即可将命名实体识别模型的训练扩展至无标签的语言训练样本场景中,从而实现命名实体识别模型的有效训练。训练完成的命名实体识别模型可应用至各种不同的语言应用场景下,具有更好的表现和效果。
附图说明
9.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
10.图1为适用本技术实施例方案的示例性系统的示意图;
11.图2为根据本技术实施例一的一种模型数据处理方法的步骤流程图;
12.图3a为根据本技术实施例二的一种模型数据处理方法的步骤流程图;
13.图3b为图3a所示实施例中的一种模型训练过程示意图;
14.图4a为根据本技术实施例三的一种模型数据处理方法的步骤流程图;
15.图4b为图4a所示实施例中的一种场景示例的示意图;
16.图4c为图4a所示实施例中的另一种场景示例的示意图;
17.图5为根据本技术实施例四的一种电子设备的结构示意图。
具体实施方式
18.为了使本领域的人员更好地理解本技术实施例中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本技术实施例保护的范围。
19.下面结合本技术实施例附图进一步说明本技术实施例具体实现。
20.图1示出了一种适用本技术实施例方案的示例性系统。如图1所示,该系统100可以包括云服务端102、通信网络104和/或一个或多个用户设备106,图1中示例为多个用户设备。
21.云服务端102可以是用于存储信息、数据、程序和/或任何其他合适类型的内容的任何适当的设备,包括但不限于分布式存储系统设备、服务器集、计算云服务端集等。在一些实施例中,云服务端102可以执行任何适当的功能。例如,在一些实施例中,云服务端102中部署有命名实体识别模型,可以对该命名实体识别模型进行训练。作为可选的示例,在一些实施例中,云服务端102可以对命名实体识别模型使用无标签的第一语言训练样本,通过将第一语言训练样本翻译为第二语言训练样本,根据对两者进行命名实体预测的结果,结合命名实体识别模型的常规训练方式,进行半监督训练。作为另一示例,在一些实施例中,云服务端102可以对第一语言训练样本中的候选实体字段进行占位符替换;在将占位
符替换后的第一语言训练样本翻译为第二语言训练样本后,再使用候选实体字段对应的第二语言实体字段将第二语言训练样本中的占位符部分替换掉,从而生成完整的、与第一语言训练样本对应的第二语言训练样本;再基于第一语言训练样本和第二语言训练样本分别进行命名实体预测,根据预测结果来进行命名实体识别模型的训练,以使该命名实体识别模型可有效适用于无标签的语言训练样本下的训练场景。
22.在一些实施例中,通信网络104可以是一个或多个有线和/或无线网络的任何适当的组合。例如,通信网络104能够包括以下各项中的任何一种或多种:互联网、内联网、广域网(wan)、局域网(lan)、无线网络、数字订户线路(dsl)网络、帧中继网络、异步转移模式(atm)网络、虚拟专用网(vpn)和/或任何其它合适的通信网络。用户设备106能够通过一个或多个通信链路(例如,通信链路112)连接到通信网络104,该通信网络104能够经由一个或多个通信链路(例如,通信链路114)被链接到云服务端102。通信链路可以是适合于在用户设备106和云服务端102之间传送数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其它合适的通信链路或此类链路的任何合适的组合。
23.用户设备106可以包括适合于与用户及云服务端102交互的任何一个或多个用户设备。在一些实施例中,用户设备106可以根据用户请求,向云服务端102发送用于对命名实体识别模型进行训练的请求。在一些实施例中,云服务端102可以根据该请求触发对命名实体识别模型的训练。在一些实施例中,用户设备106可以包括任何合适类型的设备。例如,在一些实施例中,用户设备106可以包括移动设备、平板计算机、膝上型计算机、台式计算机、可穿戴计算机、游戏控制台、媒体播放器、车辆娱乐系统和/或任何其他合适类型的用户设备。
24.基于上述系统,以下通过多个实施例,对本技术提供的模型数据处理方案进行说明。
25.实施例一
26.参照图2,示出了根据本技术实施例一的一种模型数据处理方法的步骤流程图。
27.本实施例的模型数据处理方法包括以下步骤:
28.步骤s202:获取用于对命名实体识别模型进行训练的、无标签的命名实体第一语言训练样本。
29.本技术实施例中,为应对很多语言尤其是小语种语言无标签数据、难以使用传统的基于标签的语言训练样本对命名实体识别模型进行训练的情况,使用无标签的命名实体第一语言训练样本对命名实体识别模型进行训练。此种情形下,该第一语言训练样本可以被认为是源语言训练样本。
30.此种方式中,借助于翻译方式,将无标签的第一语言训练样本翻译为有第二语言训练样本,再基于模型分别对第一语言训练样本和第二语言训练样本的实体预测结果,结合基于有标签语言训练样本的预测结果,来实现对模型的训练。
31.示例性地,因大部分的英语训练样本具有实体标签,可作为有标签语言训练样本,实现命名实体识别模型的训练中有监督部分的训练,因此,可将其对应的另一种语言的翻译结果如法语,转换为用于对本技术实施例中的命名实体识别模型进行训练的第一语言训练样本,以进行模型训练。
32.步骤s204:根据命名实体第一语言训练样本对应的候选实体字段,进行候选实体
字段的占位符替换操作,获得替换后的第一语言训练样本,并且,获得候选实体字段对应的第二语言实体字段。
33.候选实体字段用于指示可能为实体的字符范围,如,若首个字符为第0个字符,则char【5-10】用于指示第一语言训练样本中第6-11个字符可能为实体对应的字符,则该第6-11个字符即形成所述候选实体字段。
34.其中,在一种可行方式中,可以通过预先训练完成的实体字段识别模型,对无标签的命名实体第一语言训练样本进行实体字段识别,获得候选实体字段。本技术实施例中,对该实体字段识别模型采用的具体模型结构及具体的识别方式不作限制,任意的具有实体字段识别功能的模型均可适用。示例性地,可以参考常规的命名实体识别模型中的实体字段预测部分的功能,训练获得实体字段识别模型。例如,可以使用有标签的语言训练样本训练一个基线模型,并将其模型标注为任意实体的字段确定为候选实体字段,但该模型标注的实体类型不会被使用。
35.需要说明的是,虽然也可以使用占位符对第一语言训练样本中的任意字段进行替换,但使用实体字段识别模型来识别候选实体字段,以明确确定相应的字或词(下文简称为字/词)的边界,可以有效减轻错误字/词对实体类别预测的影响。
36.在实际应用中,第一语言训练样本对应的候选实体字段可能有一个,也可能有多个(本技术实施例中,若无特殊说明,“多个”、“多种”等与“多”有关的数量,均意指两个及两个以上)。在获得了候选实体字段后,可使用预设的占位符替换掉这些候选实体字段。其中,占位符可由本领域技术人员根据实际需求灵活设置,本技术实施例对此不作限制。
37.进一步地,还可以对这些候选实体字段对应的字/词进行翻译,以获得这些字/词对应的第二语言表述,即第二语言实体字段。
38.示例性地,假设,第一语言训练样本为“bruce willis wurde in westdeutschland geboren”(德语),通过实体字段识别模型识别出的候选实体字段假设为“westdeutschland”,若占位符设定为“span”,则使用占位符替换掉候选实体字段后,将获得“bruce willis wurde in span
01 geboren”,其中,“span
01”表示第01个占位符。
39.同时,在一种可行方式中,可以调用翻译模型对候选实体字段进行翻译,获得对应的第二语言实体字段。该翻译模型可以为预先训练好的任意适当的翻译模型,但不限于此,也可将自身或第三方具有的翻译引擎用作翻译模型,对候选实体字段进行翻译。假设,第二语言为英语,则“westdeutschland”将被翻译为“west german”,即第二语言实体字段。
40.步骤s206:获得替换后的第一语言训练样本对应的第二语言训练样本,并使用第二语言实体字段替换第二语言训练样本中占位符对应的字段,获得替换后的第二语言训练样本。
41.因第一语言训练样本中的候选实体字段被占位符替换后,该占位符不会被翻译,因此,对替换后的第一语言训练样本进行翻译后,获得的第二语言训练样本中也同样存在着该占位符。示例性地,如前所述,以使用占位符替换掉候选实体字段的“bruce willis wurde in span
01 geboren”进行翻译,获得的第二语言训练样本将为“bruce willis wasborn in span
01”。
42.在此基础上,使用候选实体字段对应的第二语言实体字段,如“westdeutschland”对应的第二语言实体字段“west german”替换第二语言训练样本中占位符对应的字段,如
前述“span
01”,获得的最终的与第一语言训练样本对应的完整的第二语言训练样本应当为“bruce willis was born in west german”。
43.此外,上述过程中,与获得第二语言实体字段类似,也可以调用翻译模型对占位符替换后的第一语言训练样本进行翻译,获得对应的第二语言训练样本。该翻译模型可以与前述获得第二语言实体字段的翻译模型相同,也可以不同,也可以同样均为翻译引擎等。
44.步骤s208:基于命名实体第一语言训练样本和替换后的第二语言训练样本,分别进行命名实体预测,获得预测结果。
45.一方面,可以使用初始的命名实体识别模型对第一语言训练样本进行实体预测,获得相应的预测结果。另一方面,在获得了完整的第二语言训练样本后,也可使用该初始的命名实体识别模型对其进行命名实体预测,获得相应的预测结果。预测结果可以如实体字/词为某一类实体,如人名、地名、机构名、专有名词的概率等。其中,初始的命名实体识别模型可以为采用常规的有监督方式训练完成的模型,因该模型采用完全的有监督训练,因此还需进行进一步的训练,以使其能够处理无标签的训练样本,并在训练完成后能够适用于各种不同语言应用场景。需要说明的是,本技术实施例不对该初始的命名实体识别模型的具体模型结构及其进行实体识别的具体方式进行限定。
46.若第一语言训练样本中候选实体字段对应的字/词、及其在第二语言训练样本中对应的字词均为单个字/词,则可直接进行后续的处理。但在某些情况下,第一语言训练样本中候选实体字段对应的字/词,和/或,其在翻译后获得的第二语言训练样本中对应的字/词可能存在数量的增减,如前述“westdeutschland”在第一语言训练样本中对应一个词,但与其对应的第二语言训练样本中却为两个词“west german”。或者,也可能候选实体字段在第一语言训练样本中对应的字/词也为多个,如“west deutschland”。为了有效处理候选实体字段对应多个字/词的情况,以保证命名实体预测的准确性,在一种可行方式中,本步骤可以实现为:根据候选实体字段,确定命名实体第一语言训练样本中对应的单词和替换后的第二语言训练样本中对应的单词;若对应的单词包括多个,则对多个单词的预测结果进行合并处理,获得对应的命名实体预测结果。
47.其中,一种合并处理的方式为:对多个单词的预测结果进行单词级别的实体概率相乘处理,获得对应的词组级别的实体概率。这种方式与实际的概率情况更为接近,更能准确地反映相应的实体概率。
48.另一种合并处理的方式为:对多个单词的预测结果进行单词级别的实体概率加和后取均值处理,获得对应的词组级别的实体概率。这种方式相对来说实现更为简单。
49.但是,在少数情况下,还存在着多个单词被预测为不同的实体类型的情况,例如“west german”中,有可能出现“west”被预测为人名、“german”被预测为地名的情况。为此,本技术实施例中引入了一类反映该种情况的词组级类别的实体类型,即异常类别,以指示所有不符合bioes规则(b表示当前词处于一个实体的开始begin,i表示内部inside,o表示外部outside,e表示当前词处于一个实体的结束end,s表示当前词自身就可以组成一个实体single)的实体类别。基于此,在一种可行方式中,若多个单词的预测结果指示存在不同的实体类别,则将多个单词的预测结果标示为预设的异常类别结果,并获得异常类别结果对应的实体概率。例如,可以为1-(该词对应的所有其它实体类型的概率之和)。由此,可明确标示出实体预测时的异常情况,为后续处理提供准确的依据。
50.步骤s210:根据预测结果,对命名实体识别模型进行训练。
51.如前所述,第一语言训练样本和第二语言训练样本分别对应有各自不同的预测结果,在此基础上,可基于这两部分预测结果,以及预设的损失函数,进行模型中针对无标签的语言训练样本部分的无监督训练。在一种可行方式中,可以基于命名实体第一语言训练样本对应的预测结果、替换后的第二语言训练样本对应的预测结果和预设的第一损失函数,对命名实体识别模型进行训练。其中,第一损失函数可以为基于kl散度的损失函数。由此,提升模型基于翻译的一致性,以为模型训练整体提供一致性训练保障。
52.示例性地,该基于kl散度的第一损失函数可以使用公式表述为:
[0053][0054]
其中,l
trans
表示基于翻译的一致性损失函数即kl散度损失函数;m表示第一语言训练样本的数量;x表示第一语言训练样本集合,s
ij
表示第一语言训练样本中从字符i到字符j之间的字段;x’表示第二语言训练样本集合,s’kl
表示第二语言训练样本中、与s
ij
对应的、从字符k到字符l之间的字段;kl()表示散度函数;ps表示概率函数;z
ij
表示s
ij
对应的各实体类型的概率;z
kl
表示s’kl
对应的各实体类型的概率。
[0055]
通过优化上述损失函数,即可提升模型的翻译一致性,进而提升模型整体的训练效果。
[0056]
通过上述处理,基于将无标签的第一语言训练样本翻译至无标签的第二语言训练样本的方式,将第一语言训练样本中的候选实体字段替换为占位符,接着将替换后的第一语言训练样本翻译为第二语言的句子,翻译后的句子中的占位符可指示候选实体字段在翻译后的句子中的位置。进而,使用候选实体字段的翻译结果即第二语言实体字段再对翻译后的句子中的占位符进行替换,即可获得第一语言训练样本对应的的完整的、翻译获得的第二语言训练样本,且翻译前后的候选实体字段相互对应。由此,可以有效避免翻译前后的字/词映射不明确导致的实体识别不准确的情况。此外,因翻译前后字/词可能有增减,因此,针对候选实体字段对应的第二语言训练样本中的多个单词对应的实体类型的概率进行合并处理,转化为词组级别的概率,以保证实体预测的准确性。
[0057]
进一步地,命名实体识别模型还会基于有标签的语言训练样本进行如常规方式所述的训练,如基于实体预测结果与语言训练样本对应的标签,以及预设的有监督损失函数如交叉熵损失函数等。结合该部分损失函数对应的损失,以及第一损失函数对应的损失,实现对命名实体识别模型的半监督训练。
[0058]
可见,通过本实施例,在使用无标签的第一语言训练样本对命名实体识别模型进行训练之前,先对其进行翻译操作。在该操作过程中,使用占位符将第一语言训练样本中可能为实体的候选实体字段(即可能的实体目标字/词)替换掉,则在获得的第二语言训练样本中,占位符即可指示可能为实体的目标字/词在第二语言训练样本中的位置;再用第二语言实体字段(即第一语言训练样本的候选实体字段对应的翻译后的目标语言中的字段)替换占位符,即可获得第一语言训练样本对应的完整翻译,且翻译前后的目标字/词相互对
应,从而可以有效避免翻译前后的字/词映射不明确的问题。在此基础上,对第一语言训练样本和最后的完整翻译的第二语言训练样本分别进行命名实体预测,可实现在无标签样本情况下的无监督训练,再结合命名实体识别模型的常规有监督训练,即可将命名实体识别模型的训练扩展至无标签的语言训练样本场景中,从而实现命名实体识别模型的有效训练。训练完成的命名实体识别模型可应用至各种不同的语言应用场景下,具有更好的表现和效果。
[0059]
实施例二
[0060]
本实施例的方案基于实施例一中的方案进行了进一步的改进,以使训练获得的模型具有更好的泛化性和鲁棒性。
[0061]
参照图3a,示出了根据本技术实施例二的一种模型数据处理方法的步骤流程图。本实施例的模型数据处理方法包括以下步骤:
[0062]
步骤s302:将有标签的命名实体第三语言训练样本,输入命名实体识别模型进行实体预测,获得对应的第二预测结果。
[0063]
如实施例一中所述,本技术实施例提供的模型训练采用了半监督训练的方式,实施例一中着重对其无监督训练部分进行了说明,本实施例着重对有监督部分进行说明。
[0064]
其中,有标签的第三语言训练样本可以为任意的有标签的语言训练样本,但为了降低训练成本,提高训练效率,该第三语言训练样本可以为与第二语言训练样本相同语言的训练样本。
[0065]
因该第三语言训练样本具有相应的实体标签,在命名实体识别模型对其进行实体预测后,可获得相应的预测结果,进而,基于该预测结果以及对应的有监督损失函数,可获得该部分的损失。
[0066]
但为了使模型具有更好的泛化性和鲁棒性,在一种可行方式中,本步骤可以实现为:将当前命名实体第三语言训练样本分两次输入命名实体识别模型,并获得对应的两次命名实体预测结果。通过这种方式,在基于对应的有监督损失函数进行损失计算时,尽量使得两次的实体预测的概率分布尽可能保持一致,以降低模型训练的过拟合。
[0067]
例如,可以对当前命名实体第三语言训练样本分别进行两次随机扰动,获得随机扰动后的两个第三语言训练样本;分两次将该两个第三语言训练样本输入命名实体识别模型,获得对应的两次命名实体预测结果。进而,基于该两次命名实体预测结果和对应的损失函数来尽可能保持两次概率分布的一致性。其中,随机扰动可采用dropout方式实现。dropout是一种正则化方法,通过随机性地无视一定比例的神经元,使模型关注于更广泛的特征,从而减少对于少数错误特征的过拟合,以使模型对两次样本输出一致的实体预测的概率分布,实现基于dropout的一致性训练。
[0068]
步骤s304:获取用于对命名实体识别模型进行训练的、无标签的命名实体第一语言训练样本。
[0069]
步骤s306:根据命名实体第一语言训练样本对应的候选实体字段,进行候选实体字段的占位符替换操作,获得替换后的第一语言训练样本,并且,获得候选实体字段对应的第二语言实体字段;获得替换后的第一语言训练样本对应的第二语言训练样本,并使用第二语言实体字段替换所述第二语言训练样本中占位符对应的字段,获得替换后的第二语言训练样本;基于命名实体第一语言训练样本和替换后的第二语言训练样本,分别进行命名
实体预测,获得第一预测结果。
[0070]
上述步骤s304-s306的具体实现可参照前述实施例一中相关部分的描述,在此不再赘述。为了便于区别,本实施例中,将该部分针对无标签语言训练样本部分的预测结果称为第一预测结果。显然,该第一预测结果包括两部分,即第一语言训练样本对应的预测结果,和第二语言训练样本对应的预测结果。
[0071]
此外,上述步骤s302的执行可以在步骤s304之前,也可以在s306之后,也可以在步骤s304-s306的执行过程中,也可以与步骤s304和步骤s306并行执行,本技术实施例对该执行顺序不作限制。
[0072]
步骤s308:根据预测结果,对命名实体识别模型进行训练。
[0073]
本实施例中,将根据针对无标签的语言训练样本部分的预测结果,和针对有标签的语言训练样本部分的预测结果,以及相对应的损失函数,来对命名实体识别模型进行综合训练。
[0074]
其中,也将针对无标签的语言训练样本部分的预测结果称为第一预测结果,如前所述,其包括第一语言训练样本对应的预测结果,和第二语言训练样本对应的预测结果。将针对有标签的语言训练样本部分的预测结果称为第二预测结果,该第二预测结果也包括两部分,即第三语言训练样本分两次输入模型获得的两次预测结果。基于此,本步骤可以实现为:根据第一预测结果和第二预测结果,对命名实体识别模型进行训练。
[0075]
因模型训练还会以常规方式下获得的损失为参考,因此,在一种可行方式中,根据第一预测结果和第二预测结果,对命名实体识别模型进行训练可以包括:根据第一预测结果、第二预测结果、基于第一预测结果的第一损失函数、基于第二预测结果的第二损失函数和第三损失函数,对命名实体识别模型进行训练。
[0076]
其中,第一损失函数可以为如公式(1)所述的第一损失函数,,而在第二预测结果的基础中设定的损失函数可以包括用于评估随机扰动的训练一致性的第二损失函数,和用于评估第二预测结果与第三语言训练样本对应的标签的差异的第三损失函数。在一种可行方式中,该第二损失函数可以为基于kl散度的损失函数,该第三损失函数可以为常规的交叉熵损失函数。但对于第三损失函数来说,不限于交叉熵损失函数的形式,其它可度量第二预测结果与第三语言训练样本对应的标签的差异的损失函数也同样适用于本技术实施例的方案。
[0077]
示例性地,该基于kl散度的第二损失函数可以采用公式表述如下:
[0078][0079]
其中,l
drop
表示该基于kl散度的损失函数;n表示第三语言训练样本的数量;x表示第三语言训练样本集合;kl()表示散度函数;p1()表示两次输入中的第一次输入对应的概率,p2()表示两次输入中的第二次输入对应的概率;xi表示第i个训练样本;yi表示xi对应的实体类别。
[0080]
在上述第一损失函数、第二损失函数和第三损失函数的基础上,本技术实施例使
geboren”,输入ner model中,对其进行实体预测,获得对应的预测结果。另一方面,该训练样本a会通过如实施例一中所述的方式,包括:确定训练样本a中的候选实体字段,本示例中为“westdeutschland”;使用占位符替换该字段;将替换后的训练样本a翻译为第二语言,本示例中为与第三语言训练样本的语种相同的英文;将翻译后的第二语言训练样本中的占位符再使用“westdeutschland”对应的英文“west german”替换,得到最终的第二语言训练样本a’:“she was born in west german”。该过程在图中简单示意为“免映射的翻译”。通过该“免映射的翻译”获得的第二语言训练样本a’也会被输入ner model中,对其进行实体预测,获得对应的预测结果。在获得训练样本a对应的预测结果和训练样本a’对应的预测结果后,基于预设的损失函数,如公式(1)所述的第一损失函数,计算获得相应的损失。
[0090]
需要说明的是,不管是训练样本x使用的ner model,还是训练样本a,亦或训练样本a’使用的ner model为相同的ner model,但在一次训练过程(一个trainign step)中,ner model一次仅能处理一个训练样本,多个训练样本间可以在ner model完成一个训练样本的预测后再针对另一个训练样本进行预测。例如,该ner model可以先对第一次随机扰动后的训练样本x进行实体预测,再对第二次随机扰动的训练样本x进行实体预测,再对训练样本a进行实体预测,然后再对训练样本a’进行实体预测。而对于各个损失函数,其可在获得损失函数中的所有与实体预测相关的参数后,再行进行计算。由图中可见,最终的损失函数由第一损失函数、第二损失函数和第三损失函数三部分形成,示例性地,可如公式(3)中所示的总的损失函数。在获得该总的损失函数的损失值后,可基于该损失值对ner model进行调整。
[0091]
上述过程迭代进行,直至达到命名实体模型的训练终止条件,如达到预设的训练次数,或者总的损失函数对应的损失值满足预设阈值等。
[0092]
通过本实施例,可以使得命名实体识别模型可以基于在单一有标签的某语种训练样本进行训练的基础上,将训练扩展至广泛的无标签的语种训练样本上,从而能够有效利用无标签的语种训练样本的丰富知识,并能够缓解对有标签的语种训练样本的训练过拟合,实现更好的模型的跨语言表现,以使训练完成的模型能够应用至各种不同的语言应用场景中。
[0093]
实施例三
[0094]
本实施例从训练完成的命名实体识别模型的应用角度,对本技术实施例的模型数据处理方案进行说明。该命名实体识别模型可采用如实施例一或二中所述的方法进行训练获得。
[0095]
参照图4a,示出了根据本技术实施例三的一种模型数据处理方法的步骤流程图。
[0096]
本实施例的模型数据处理方法包括以下步骤:
[0097]
步骤s402:获取待进行实体识别的文本。
[0098]
其中,待进行实体识别的文本可以为任意文本,一种可行方式中,用户可以使用终端的用户设备,通过交互界面以文字方式输入待进行实体识别的文本;另一种可行方式中,用户可通过语音与用户设备如智能音箱等进行交互,由智能音箱将待进行实体识别的语音转换为待进行实体识别的文本。
[0099]
进而,用户设备可基于该文本生成相应的实体识别请求,以发送给云服务端进行命名实体识别。则,云服务端通过接收该实体识别请求,获取待进行实体识别的文本。但不
限于此,云服务端也可以接收用户设备发送的语音,由云服务端再进行文本转换,获得待进行实体识别的文本。
[0100]
步骤s404:通过命名实体识别模型对待进行实体识别的文本进行命名实体识别,获得识别出的至少一个实体的信息。
[0101]
其中,该命名实体识别模型可以为前述实施例一或二中所述的方法训练完成的模型,如图3b中所示的ner model。通过该命名实体识别模型,不管待进行实体识别的文本为何种语言的文本,均可通过该命名实体识别模型实现准确的实体识别。
[0102]
步骤s406:获取与识别出的至少一个实体的信息相对应的服务信息。
[0103]
在获得待进行实体识别的文本中的实体的信息后,可基于这些实体的信息进行相应的服务处理,如,查获得对应的目标对象,如商品或服务或应用等,再基于该服务处理的结果生成相应的服务信息并反馈给用户设备。
[0104]
以下,以一个场景示例对上述过程进行示例性说明,如图4b所示。
[0105]
图4b中,假设用户通过语音与智能音箱交互,向智能音箱说出“jeg vilen barnevogn”(丹麦语“我想要个婴儿车”)。智能音箱在接收到该语音后将其转换为文本,并基于该文本生成相应的实体识别请求,并发送至云服务端。云服务端在接收到该文本后,调用已训练完成的命名实体识别模型(如采用实施例一或二中方法训练完成的命名实体识别模型,此种情况下,实施例一或二中的第一语言训练样本可为丹麦语训练样本),对该丹麦语文本进行实体识别,获得对应的实体的信息,如“barnevogn”。进一步地,云服务端可以基于该实体的信息,在丹麦语的商品数据库中进行搜索,获得与“barnevogn”有关的商品。进而,云服务端可以将从丹麦语商品数据库中搜索获得的商品的信息反馈给智能音箱,以供智能音箱通过其显示设备或显示屏幕向用户展示。
[0106]
在另一个场景示例中,如图4c所示,仍假设用户通过语音与智能音箱交互,向智能音箱说出“ichein bankkonto”(德语“我想开个银行账户”)。智能音箱在接收到该语音后将其转换为文本,并基于该文本生成相应的实体识别请求,并发送至云服务端。云服务端在接收到该文本后,调用已训练完成的命名实体识别模型(如采用实施例一或二中方法训练完成的命名实体识别模型),对该德语文本进行实体识别,获得对应的实体的信息,如“bankkonto”。进一步地,云服务端可以基于该实体的信息,在德语的服务信息数据库中进行搜索,获得与“bankkonto”有关的服务信息。进而,云服务端可以基于该服务信息生成相应的反馈信息,发送给智能音箱,以供智能音箱转换成语音后向用户播放。
[0107]
可见,通过本实施例,能够将训练完成的命名实体识别模型应用至各种不同语种的服务场景中,如电商场景、客服场景等等,极大提升了模型的应用范围,并且能够使得模型能够具有更好的跨语言使用场景表现。
[0108]
实施例四
[0109]
参照图5,示出了根据本技术实施例四的一种电子设备的结构示意图,本技术具体实施例并不对电子设备的具体实现做限定。
[0110]
如图5所示,该电子设备可以包括:处理器(processor)502、通信接口(communications interface)504、存储器(memory)506、以及通信总线508。
[0111]
其中:
[0112]
处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
[0113]
通信接口504,用于与其它电子设备或服务器进行通信。
[0114]
处理器502,用于执行程序510,具体可以执行上述任一方法实施例中的相关步骤。
[0115]
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
[0116]
处理器502可能是cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
[0117]
存储器506,用于存放程序510。存储器506可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0118]
程序510具体可以用于使得处理器502执行前述多个方法实施例中任一实施例所描述的方法对应的操作。
[0119]
程序510中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,并具有相应的有益效果,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
[0120]
本技术实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一方法对应的操作。
[0121]
需要指出,根据实施的需要,可将本技术实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本技术实施例的目的。
[0122]
上述根据本技术实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cd rom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
[0123]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
[0124]
以上实施方式仅用于说明本技术实施例,而并非对本技术实施例的限制,有关技术领域的普通技术人员,在不脱离本技术实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本技术实施例的范畴,本技术实施例的专利保护范围应由权利要求限定。
技术特征:
1.一种模型数据处理方法,包括:获取用于对命名实体识别模型进行训练的、无标签的命名实体第一语言训练样本;根据所述命名实体第一语言训练样本对应的候选实体字段,进行所述候选实体字段的占位符替换操作,获得替换后的第一语言训练样本,并且,获得所述候选实体字段对应的第二语言实体字段;获得替换后的第一语言训练样本对应的第二语言训练样本,并使用所述第二语言实体字段替换所述第二语言训练样本中占位符对应的字段,获得替换后的第二语言训练样本;基于所述命名实体第一语言训练样本和所述替换后的第二语言训练样本,分别进行命名实体预测,获得预测结果;根据所述预测结果,对所述命名实体识别模型进行训练。2.根据权利要求1所述的方法,其中,所述根据所述预测结果,对所述命名实体识别模型进行训练,包括:根据所述命名实体第一语言训练样本对应的预测结果、所述替换后的第二语言训练样本对应的预测结果、和预设的基于kl散度的第一损失函数,对所述命名实体识别模型进行训练。3.根据权利要求1或2所述的方法,其中,所述基于所述命名实体第一语言训练样本和所述替换后的第二语言训练样本,分别进行命名实体预测,获得预测结果,包括:根据候选实体字段,确定所述命名实体第一语言训练样本中对应的单词和所述替换后的第二语言训练样本中对应的单词;若对应的单词包括多个,则对多个所述单词的预测结果进行合并处理,获得对应的命名实体预测结果。4.根据权利要求3所述的方法,其中,所述对多个所述单词的预测结果进行合并处理,获得对应的命名实体预测结果,包括:对多个所述单词的预测结果进行单词级别的实体概率相乘处理,获得对应的词组级别的实体概率;或者,对多个所述单词的预测结果进行单词级别的实体概率加和后取均值处理,获得对应的词组级别的实体概率。5.根据权利要求3所述的方法,其中,所述对多个所述单词的预测结果进行合并处理,获得对应的命名实体预测结果,包括:若多个所述单词的预测结果指示存在不同的实体类别,则将多个所述单词的预测结果标示为预设的异常类别结果,并获得所述异常类别结果对应的实体概率。6.根据权利要求1所述的方法,其中,所述命名实体第一语言训练样本对应的候选实体字段通过以下方式获得:通过预先训练完成的实体字段识别模型,对所述无标签的命名实体第一语言训练样本进行实体字段识别,获得所述候选实体字段。7.根据权利要求1所述的方法,其中,所述获得所述候选实体字段对应的第二语言实体字段,包括:调用翻译模型对所述候选实体字段进行翻译,获得对应的第二语言实体字段;和/或,
所述获得替换后的第一语言训练样本对应的第二语言训练样本,包括:调用翻译模型对所述替换后的第一语言训练样本进行翻译,获得对应的第二语言训练样本。8.根据权利要求1所述的方法,其中,所述预测结果为无监督训练条件的第一预测结果;所述方法还包括:将有标签的命名实体第三语言训练样本输入所述命名实体识别模型进行实体预测,获得对应的第二预测结果;所述根据所述预测结果,对所述命名实体识别模型进行训练,包括:根据所述第一预测结果和所述第二预测结果,对所述命名实体识别模型进行训练。9.根据权利要求8所述的方法,其中,所述将有标签的命名实体第三语言训练样本输入所述命名实体识别模型进行实体预测,获得对应的第二预测结果,包括:将当前命名实体第三语言训练样本分两次输入所述命名实体识别模型,并获得对应的两次命名实体预测结果。10.根据权利要求9所述的方法,其中,所述将当前命名实体第三语言训练样本分两次输入所述命名实体识别模型,并获得对应的两次命名实体预测结果,包括:对当前命名实体第三语言训练样本分别进行两次随机扰动,获得随机扰动后的两个第三语言训练样本;分两次将所述两个第三语言训练样本输入所述命名实体识别模型,获得对应的两次命名实体预测结果。11.根据权利要求9所述的方法,其中,所述根据所述第一预测结果和所述第二预测结果,对所述命名实体识别模型进行训练,包括:根据所述第一预测结果、所述第二预测结果、基于所述第一预测结果的第一损失函数、基于所述第二预测结果的第二损失函数和第三损失函数,对所述命名实体识别模型进行训练。12.根据权利要求11所述的方法,其中,所述第二损失函数为用于评估随机扰动的训练一致性的损失函数,所述第三损失函数为用于评估第二预测结果与所述第三语言训练样本对应的标签的差异的损失函数。13.根据权利要求12所述的方法,其中,所述用于评估随机扰动的训练一致性的损失函数为基于kl散度的损失函数。14.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-13中任一项所述的方法对应的操作。
技术总结
本申请实施例提供了一种模型数据处理方法及电子设备,其中,模型数据处理方法包括:获取用于对命名实体识别模型进行训练的、无标签的命名实体第一语言训练样本;根据命名实体第一语言训练样本对应的候选实体字段,进行候选实体字段的占位符替换操作,获得替换后的第一语言训练样本,并且,获得候选实体字段对应的第二语言实体字段;获得替换后的第一语言训练样本对应的第二语言训练样本,并使用第二语言实体字段替换第二语言训练样本中占位符对应的字段,获得替换后的第二语言训练样本;基于第一语言训练样本和替换后的第二语言训练样本,分别进行命名实体预测,获得预测结果;根据预测结果,对命名实体识别模型进行训练。对命名实体识别模型进行训练。对命名实体识别模型进行训练。
技术研发人员:
周然 李昕 邴立东 司罗 埃里克
受保护的技术使用者:
南洋理工大学
技术研发日:
2022.10.24
技术公布日:
2022/12/30