实体抽取方法、第一实体抽取模型的训练方法及相关装置与流程

文档序号:29633495发布日期:2022-04-13 16:33阅读:91来源:国知局
实体抽取方法、第一实体抽取模型的训练方法及相关装置与流程

1.本技术属于人工智能技术领域,具体涉及一种实体抽取方法、第一实体抽取模型的训练方法及相关装置。


背景技术:

2.人工智能是研究如何通过机器来模拟人类认知能力的科学,深度学习是现阶段实现人工智能的主要手段。深度学习方法通常是从已知数据中学习规律或者判断规则,建立预测模型。在实际应用中,深度学习算法大多采用有监督学习模式,即需要在大量有标注数据上进行学习训练。而这些有标注的训练数据必须通过人工逐一标注,因为标注数据的质量对训练得到模型的效果同样有着很大的影响。但人工标注的过程毕竟是一个主观的工作,就算是经过训练的标注员也会有一定的错误率。例如情感分析标注,同样一个句子,在不同的人看来,会有不同的情感,标注结果也会不一致;再例如,对于需要专业标注知识、标注任务比较复杂的实体抽取、关系抽取、事件抽取等任务,标注人员很容易存在漏标注和错标注的情况。
3.通常情况下,为了避免训练数据中存在噪声,会将同一条数据分配给多人标注,最后对多人标注结果进行汇总,被大多数人都标注出来的结果作为真实标注结果。但这样做会带来较大的标注成本问题。因此,研究如何在有噪声的人工标注数据上建立高准确率的深度学习模型是一个非常有实用价值的方向。


技术实现要素:

4.本技术主要解决的技术问题是提供一种实体抽取方法、第一实体抽取模型的训练方法及相关装置,可以无需人工参与即可提升模型对带噪声数据的泛化性能。
5.为解决上述技术问题,本技术采用的一个技术方案是:提供一种实体抽取方法,包括:获取待抽取文本;将所述待抽取文本输入至训练后的第一实体抽取模型中以获得所述待抽取文本中的实体以及所述实体的类型;其中,训练所述第一实体抽取模型时利用噪声数据集;且所述噪声数据集预先经过第二实体抽取模型获得漏标注片段集合、错误标注片段集合、正确标注片段集合和无意义标注片段集合,且利用所述错误标注片段集合、所述正确标注片段集合和所述无意义标注片段集合训练所述第一实体抽取模型,而禁止所述漏标注片段集合加入训练过程;其中,所述漏标注片段集合包括所述噪声数据集中人工漏标注但被所述第二实体抽取模型正确预测出的实体片段,所述错误标注片段集合包括人工标注类型与对应的预测类型不同的实体片段,所述正确标注片段集合包括被人工标注类型与对应的预测类型相同的实体片段,所述无意义标注片段集合包括人工未标注且不属于所述漏标注片段集合的实体片段。
6.其中,训练所述第一实体抽取模型的过程包括:利用所述第二实体抽取模型获得所述噪声数据集中所有第一预测结果与人工标注结果不一致的实体片段构成的问题片段集合、以及第一预测结果与人工标注结果一致的实体片段构成的正确片段集合;其中,所述
第一预测结果包括预测实体及预测类型,所述人工标注结果包括人工标注实体及人工标注类型;对所述问题片段集合进行分类,以获得所述漏标注片段集合、错误标注片段集合和无意义标注片段集合;利用所述错误标注片段集合、所述正确标注片段集合和所述无意义标注片段集合训练所述第一实体抽取模型,且禁止利用所述漏标注片段集合训练所述第一实体抽取模型。
7.其中,所述利用所述第二实体抽取模型获得所述噪声数据集中所有预测结果与人工标注结果不一致的实体片段构成的问题片段集合的步骤,包括:将所述噪声数据集分割为多份子数据集;将其中一份子数据集作为测试数据,且将剩余所述子数据集作为训练数据;设置多个不同的随机种子以分别获得多个第二实体抽取模型;针对每个所述第二实体抽取模型,利用所述训练数据对所述第二实体抽取模型进行训练;利用训练后的所述第二实体抽取模型对所述测试数据进行预测以获得相应的第一预测结果,并根据所述第一预测结果获得与人工标注结果不一致的候选实体片段;对所有所述第二实体抽取模型获得的所有所述候选实体片段进行统计,且响应于同一所述候选实体片段累计的次数超过第一阈值,将所述候选实体片段确定为问题片段,并将所述问题片段加入所述问题片段集合;判断所有所述子数据集是否均轮流作为所述测试数据;若否,将另一所述子数据集作为所述测试数据,且将剩余所述子数据集作为训练数据,并返回至所述设置多个不同的随机种子以分别获得多个第二实体抽取模型的步骤。
8.其中,所述第二实体抽取模型包括第一预训练模型和第一全连接层,且所述第一预训练模型的输出为所述第一全连接层的输入;所述利用所述训练数据对所述第二实体抽取模型进行训练的步骤,包括:对所述训练数据中的文本数据进行分词处理后输入至第一预训练模型中,以获得所述文本数据中每个单词的第一语义向量;对所有所述第一语义向量进行负采样以获得多个第一组合片段;其中,所述第一组合片段中包括人工标注的实体片段以及非人工标注的实体片段;响应于所述第一组合片段的宽度小于或等于第二阈值,获得所述第一组合片段的第二语义向量;将所述第二语义向量输入至所述第一全连接层以获得第一预测分类logit向量;基于所述人工标注的实体片段和部分所述非人工标注的实体片段的预测结果调整所述第二实体抽取模型中的参数。
9.其中,所述对所述训练数据中的训练文本进行分词处理后输入至第一预训练模型中,以获得所述训练文本中每个单词的第一语义向量的步骤之前,包括:随机初始化第一宽度限制向量矩阵;其中,所述第一宽度限制向量矩阵中包含多个宽度特征向量;所述响应于所述第一组合片段的宽度小于或等于第二阈值,获得所述第一组合片段的第二语义向量的步骤,包括:获得所述第一组合片段中起始单词的第一语义向量以及结束单词的第一语义向量;将所述起始单词的第一语义向量、结束单词的第一语义向量以及对应的宽度特征向量进行拼接以获得所述第二语义向量;所述基于所述人工标注的实体片段和部分所述非人工标注的实体片段的预测结果调整所述第二实体抽取模型中的参数时,一并调整所述第一宽度限制向量矩阵中的参数。
10.其中,所述第一实体抽取模型包括第二预训练模型和第二全连接层,且所述第二预训练模型的输出为所述第二全连接层的输入;所述利用所述错误标注片段集合、所述正确标注片段集合和所述无意义标注片段集合训练所述第一实体抽取模型,且禁止利用所述漏标注片段集合训练所述第一实体抽取模型的步骤,包括:将所述噪声数据集中的文本数
据进行分词处理后输入至第二预训练模型中,以获得所述文本数据中每个单词的第三语义向量;对所有所述第三语义向量进行负采样组合以获得多个第二组合片段;响应于所述第二组合片段的宽度小于或等于第二阈值,获得所述第二组合片段的第四语义向量;将所述第四语义向量输入至所述第二全连接层以获得第二预测分类logit向量;响应于所述第二组合片段的跨度在所述正确标注片段集合、所述无意义标注片段集合和所述错误标注片段集合,根据至少部分所述第二组合片段所属的集合类型获得相应的第一损失,基于所述第一损失调整所述第一实体抽取模型中的参数。
11.其中,所述根据至少部分所述第二组合片段所属的集合类型获得相应的第一损失的步骤,包括:响应于所述第二组合片段的跨度在所述正确标注片段集合或所述无意义标注片段集合,获得所述第二组合片段对应的第二预测分类logit向量与人工标注类型的多分类标签向量之间的第一交叉熵损失、以及获得所述第二组合片段对应的所述第二预测分类logit向量与其经过所述第二实体抽取模型获得的第一预测分类logit向量之间的第一kl散度损失,将所述第一交叉熵损失和所述第一kl散度损失作为所述第一损失;响应于所述第二组合片段的跨度在所述错误标注片段集合,获得所述第二组合片段对应的第二预测分类logit向量与其经过所述第二实体抽取模型获得的第一预测分类logit向量之间的第二kl散度损失,将所述第二kl散度损失作为所述第一损失。
12.其中,所述响应于所述第二组合片段的跨度在所述正确标注片段集合、所述无意义标注片段集合和所述错误标注片段集合,根据至少部分所述第二组合片段所属的集合类型获得相应的第一损失的步骤,包括:获得跨度在所述正确标注片段集合的所有所述第二组合片段的第一损失、跨度在所述错误标注片段集合的所有所述第二组合片段的第一损失、以及跨度在所述无意义标注片段集合的部分所述第二组合片段的第一损失。
13.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种第一实体抽取模型的训练方法,包括:获取噪声数据集;利用第二实体抽取模型获得所述噪声数据集中漏标注片段集合、错误标注片段集合、正确标注片段集合和无意义标注片段集合;其中,所述漏标注片段集合包括所述噪声数据集中人工漏标注但被所述第二实体抽取模型正确预测出的实体片段,所述错误标注片段集合包括人工标注类型与对应的预测类型不同的实体片段,所述正确标注片段集合包括被人工标注类型与对应的预测类型相同的实体片段,所述无意义标注片段集合包括人工未标注且不属于所述漏标注片段集合的实体片段;利用所述错误标注片段集合、所述正确标注片段集合和所述无意义标注片段集合训练所述第一实体抽取模型,而禁止所述漏标注片段集合训练所述第一实体抽取模型。
14.为解决上述技术问题,本技术采用的又一个技术方案是:提供一种实体抽取装置,包括:获取模块,用于获取待抽取文本;实体模块,与所述获取模块连接,用于将所述待抽取文本输入至训练后的第一实体抽取模型中以获得所述待抽取文本中的实体以及所述实体的类型;第一训练模块,与所述实体模块和所述获取模块连接,用于利用噪声数据集训练所述第一实体抽取模型;且所述噪声数据集预先经过第二实体抽取模型获得漏标注片段集合,在训练所述第一实体抽取模型时禁止所述漏标注片段集合加入训练过程;其中,所述漏标注片段集合包括所述噪声数据集中人工漏标注但被所述第二实体抽取模型正确预测出的实体片段,错误标注片段集合包括人工标注类型与对应的预测类型不同的实体片段,正确标注片段集合包括被人工标注类型与对应的预测类型相同的实体片段,无意义标注片段
集合包括人工未标注且不属于漏标注片段集合的实体片段。
15.为解决上述技术问题,本技术采用的又一个技术方案是:提供一种电子设备,包括相互耦接的存储器和处理器,所述存储器中存储有程序指令,所述处理器用于执行所述程序指令以实现上述任一实施例所提及的实体抽取方法以及第一实体抽取模型的训练方法。
16.为解决上述技术问题,本技术采用的又一个技术方案是:提供一种存储装置,存储有能够被处理器运行的程序指令,所述程序指令用于实现上述任一实施例所提及的实体抽取方法以及第一实体抽取模型的训练方法。
17.区别于现有技术的情况,本技术的有益效果是:本技术提供的实体抽取方法包括:将获取到的待抽取文本输入至训练后的第一实体抽取模型中以获得待抽取文本中的实体以及实体的类型;其中,第一实体抽取模型是利用噪声数据集训练的,而且噪声数据集预先经过第二实体抽取模型获得漏标注片段集合、错误标注片段集合、正确标注片段集合和无意义标注片段集合,且利用错误标注片段集合、正确标注片段集合和无意义标注片段集合训练第一实体抽取模型,而禁止漏标注片段集合加入训练过程。通过这种设计方式,不但能够建模训练数据中的未标注噪声,也能建模训练数据中的错误标注噪声,从而提升了模型对带噪声数据的泛化性能,而且无需人工参与便可训练得到高泛化性的实体抽取方法。
附图说明
18.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
19.图1是本技术实体抽取方法一实施方式的流程示意图;
20.图2是训练第一实体抽取模型的过程的流程示意图;
21.图3是图2中步骤s10一实施方式的流程示意图;
22.图4是图3中步骤s103一实施方式的流程示意图;
23.图5是带宽度限制的第二实体抽取模型的结构示意图;
24.图6是图4中步骤s22一实施方式的流程示意图;
25.图7是图2中步骤s12一实施方式的流程示意图;
26.图8是面向噪声数据的第一实体抽取模型的结构示意图;
27.图9是本技术第一实体抽取模型的训练方法的流程示意图;
28.图10是本技术实体抽取装置一实施方式的框架示意图;
29.图11是本技术电子设备一实施方式的框架示意图;
30.图12是本技术存储装置一实施方式的结构示意图。
具体实施方式
31.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
32.有噪声的数据集中一般会存在数据中有实体未被标注和数据中已标注实体的实体类型被标错、实体边界标注错误等情况,目前解决有噪声数据集问题的方法有以下几种方法:
33.(1)在工业界,为了更好地解决标注问题,一般会采用模型挑错、人工修正的方法,得到全量数据集中需要人工二次标注的全部问题数据,将这一部分数据重新提交给标注人员进行检查。通过模型纠错找出的数据,其中大部分是因为标注问题导致模型难以拟合的数据,获取重新标注的数据后,替换之前的标签,再训练模型。但是这种方法人工需要持续参与,修改或补充噪声数据中的标注结果,直接从源头将噪声数据变成非噪声数据,无法提升模型对噪声数据的建模能力,仅通过在数据层面进行修正,不具备方法的通用性,且需要投入大量的人力,无法推广使用。
34.(2)在学术界中,研究人员提出采用负采样(negsampling)的方法建模未完全标注的实体抽取数据,主要是通过片段排列的方式进行实体抽取,即对于含n个字符的文本,理论上共有n(n+1)/2种片段排列作为候选实体。但是这种做法当文本过长时,会产生大量的负样本,该方法可以单独为每一个候选实体片段进行预测,打破了crf对全局进行预测的限制,然后对所有非实体片段进行负采样,通过负采样的方式,降低未标注实体参与到模型训练过程的概率。但是这种方法仅考虑了噪声数据中存在实体未被标注的情况,未考虑到噪声数据中存在实体标注错误的情况,对于标注错误的实体依旧会参与到模型的训练过程中,进而对模型的训练效果造成负面影响。
35.(3)采用多阶段训练的策略解决噪声数据的实体抽取问题,即采用少量的无误数据和大量的有噪声数据联合分阶段训练模型。首先,在第一步中,只利用无标签得文本数据进行掩码语言模型(mlm)预训练,从而使bert模型完成领域数据适配,变成了in-domain bert;其次,从人工标注的全部数据中挑选出少量无误数据,建立bert-crf模型,在少量无误数据上进行监督训练,得到基础模型;然后在剩下的有噪声数据上使用bert-crf模型进行预测,将预测出来的实体补全有噪声数据中未标注的部分,并给每一个补全的预测结果一个置信度;再然后,在补全后的数据上结合实体置信度,继续训练bert-crf模型;最后在少量的无误数据进行最终的bert-crf模型微调。但是这种多阶段训练策略需要先从噪声数据中人工找出一部分准确无误的标注数据,也需要人工参与到模型效果优化的过程中。另外,在该多阶段训练策略中,需要基于无误的标注数据训练bert-crf模型,然后使用该模型在噪声数据上进行推理预测,将预测出来的实体补全有噪声数据中未标注的部分,因此,该方法未考虑数据当中存在标注错误时的情况,而且实体标注错误对模型造成的影响相比于实体未标注的情况更加恶劣。
36.下面开始详细介绍本技术所提供的实体抽取方法。
37.请参阅图1,图1是本技术实体抽取方法一实施方式的流程示意图。上述实体抽取方法具体包括:
38.s1:获取待抽取文本。
39.具体而言,本技术中的实体抽取方法针对的是文本数据,待抽取文本可以为一句话或一段话。
40.s2:将待抽取文本输入至训练后的第一实体抽取模型中以获得待抽取文本中的实体以及实体的类型。
41.在一个应用场景中,训练第一实体抽取模型时利用噪声数据集。首先,在训练数据上进行交叉验证,挑选出有问题的片段span,然后将噪声数据集中所有的可能存在问题的实体片段进行归类,分成漏标注片段(un-labeled span)和错误标注片段(wrong labeled span),以及正确标注片段(truelabeledspan)和无意义标注片段(meaninglessspan),最后建立第一实体抽取模型,对不同类型的实体片段的区别进行建模,并分别计算交叉熵损失与kl散度损失,得到最终的基于片段跨度分类的第一实体抽取模型。具体地,在本实施例中,噪声数据集预先经过第二实体抽取模型获得漏标注片段集合、错误标注片段集合、正确标注片段集合和无意义标注片段集合,并且利用错误标注片段集合、正确标注片段集合和无意义标注片段集合训练第一实体抽取模型,而禁止漏标注片段集合加入训练过程。具体而言,漏标注片段集合包括噪声数据集中人工漏标注但被第二实体抽取模型正确预测出的实体片段。错误标注片段集合包括人工标注类型与对应的预测类型不同的实体片段,正确标注片段集合包括被人工标注类型与对应的预测类型相同的实体片段,无意义标注片段集合包括人工未标注且不属于漏标注片段集合的实体片段。
42.具体地,在本实施例中,第一实体抽取模型基于实体片段分类和负采样(negsampling)建立,但会引入实体片段的宽度限制,减少第一实体抽取模型的训练阶段产生的候选实体片段个数。具体而言,请参阅图2,图2是训练第一实体抽取模型的过程的流程示意图。训练第一实体抽取模型的过程包括:
43.s10:利用第二实体抽取模型获得噪声数据集中所有第一预测结果与人工标注结果不一致的实体片段构成的问题片段集合、以及第一预测结果与人工标注结果一致的实体片段构成的正确片段集合。
44.具体而言,第一预测结果包括预测实体及预测类型,人工标注结果包括人工标注实体及人工标注类型。例如,若一个预测文本的内容为“我叫小明”,则对应的实体片段可以“我”、“我叫”、“我叫小”、“小明”等,并且该预测文本的人工标注结果为“人名”。其中一个实体片段“小明”对应的实体类型为“人名”,与该预测文本的人工标注结果一致,说明该实体片段为正确片段集合中的正确片段;而其他的实体片段,例如,“我叫”的人工标注结果也是该预测文本的人工标注结果,为“人名”,但是其实体类型并不是“人名”,则该实体片段的实体类型与该预测文本的人工标注结果不一致,说明该片段为问题片段集合中的问题片段。
45.具体地,在本实施例中,请参阅图3,图3是图2中步骤s10一实施方式的流程示意图。具体而言,步骤s10包括:
46.s100:将噪声数据集分割为多份子数据集。
47.具体地,在本实施例中,将噪声数据集打乱后按照一定的比例将该噪声数据集分割成n份子数据集。可选地,一般设置为n=5,且该数值可以根据实际需求进行设定。
48.s101:将其中一份子数据集作为测试数据,且将剩余子数据集作为训练数据。
49.具体地,在本实施例中,用n-1份子数据集作为训练数据,1份作为测试数据,即将每份子数据集轮流做测试数据,获得每份子数据集中测试结果与人工标注结果不一致的实体片段。
50.s102:设置多个不同的随机种子以分别获得多个第二实体抽取模型。
51.具体地,在本实施例中,设置k个不同的随机种子,在n-1份子数据集上训练得到k个第二实体抽取模型,即利用k组初始化参数不同的数据获得k个第二实体抽取模型。可选
地,一般设置为k=3,上述数值可以根据实际需求进行设定。例如,一共有4个子数据集a、b、c、d,设置k为3,将a作为测试数据,b、c、d三个子数据集作为训练数据,再将b作为测试数据,a、c、d三个子数据集作为训练数据,最后将c作为测试数据,a、b、d三个子数据集作为训练数据,最终获得3个第二实体抽取模型。
52.s103:针对每个第二实体抽取模型,利用训练数据对第二实体抽取模型进行训练。
53.具体地,在本实施例中,针对上述步骤s102中获得的每个第二实体抽取模型,利用n-1份子数据集中的训练数据对第二实体抽取模型进行训练得到训练后的第二实体抽取模型。
54.请一并参阅图4和图5,图4是图3中步骤s103一实施方式的流程示意图,图5是带宽度限制的第二实体抽取模型的结构示意图。具体而言,第二实体抽取模型包括第一预训练模型100和第一全连接层102,且第一预训练模型100的输出为第一全连接层102的输入,第一预训练模型100可以为bert模型等,第一全连接层102可以为mlp等。步骤s103具体包括:
55.s20:对训练数据中的文本数据进行分词处理后输入至第一预训练模型中,以获得文本数据中每个单词的第一语义向量。
56.具体地,在本实施例中,对训练数据中的文本数据进行分词处理,例如,如图5所示,将训练数据中的一个文本数据分为x0、x1、xi、xn等单词,将x0、x1、xi、xn等单词输入至第一预训练模型100中,分别获得每个单词的第一语义向量h0、h1、hi、hn等。另外,分词后无意义的单词,比如“的”等单词会一并输入到第一预训练模型100中。
57.具体地,在本实施例中,制定实体宽度限制,即对于一个片段,设置最大宽度,当片段的宽度超过阈值时,默认不作为实体片段。并且将片段的宽度也作为特征加入到模型训练的过程中。具体而言,步骤s30之前包括:随机初始化第一宽度限制向量矩阵w,并且在训练过程中会不断更新。具体而言,第一宽度限制向量矩阵w中包含多个实体片段的宽度特征向量di,例如,图5中所示的d0、d1、d
i-1
、dw。这种方式不但可以大量减少排列组合出的候选实体片段的数量,不仅可以提高模型效率,而且同时也可以提供额外的特征信息,辅助提升模型效果。
58.s21:对所有第一语义向量进行负采样以获得多个第一组合片段。
59.具体地,在本实施例中,对所有第一语义向量进行负采样negsampling以获得多个第一组合片段。一般来讲,负采样方式是任意选择两个第一语义向量进行组合,在此不再赘述。具体而言,第一组合片段中包括人工标注的实体片段以及非人工标注的实体片段。这种方式舍弃实体抽取任务中常用的crf层,使用负采样论文中用到的片段分类的思想,对输入文本数据中的单词进行排列组合,预测每个候选实体片段的实体类型。
60.s22:响应于第一组合片段的宽度小于或等于第二阈值,获得第一组合片段的第二语义向量。
61.具体地,在本实施例中,在组合所有可能的第一组合片段时,当第一组合片段的宽度超过宽度限制阈值时,则直接舍弃。当第二组合片段的宽度没有超过宽度限制阈值时,请一并参阅图5和图6,图6是图4中步骤s22一实施方式的流程示意图。步骤s22包括:
62.s220:获得第一组合片段中起始单词的第一语义向量以及结束单词的第一语义向量。
63.具体而言,例如当第一组合片段在数据中的开始索引(即起始单词)是1,结束索引
(即结束单词)是i,则起始单词的第一语义向量为h1、结束单词的第一语义向量为hi。
64.s221:将起始单词的第一语义向量、结束单词的第一语义向量以及对应的宽度特征向量进行拼接以获得第二语义向量。
65.具体而言,将起始单词的第一语义向量h1、结束单词的第一语义向量hi以及对应的宽度特征向量d
i-1
进行拼接,表示为(concat(h1,hi,hi*h1,d
i-1
)),最终获得该第一组合片段的第二语义向量s
1,i

66.s23:将第二语义向量输入至第一全连接层以获得第一预测分类logit向量。
67.具体而言,将上述步骤s221中获得的第二语义向量s
1,i
输入至第一全连接层102以获得第一预测分类logit向量o
1,i

68.s24:基于人工标注的实体片段和部分非人工标注的实体片段的预测结果调整第二实体抽取模型中的参数。
69.具体而言,基于第一组合片段中人工标注的实体片段和部分非人工标注的实体片段的预测结果调整第二实体抽取模型中的参数,其中,用来训练的非人工标注的实体片段的个数为负采样中训练数据总个数的预设概率。在本实施例中,暂不考虑训练数据中的错误标注片段。
70.此外,在本实施例中,步骤s34中基于人工标注的实体片段和部分非人工标注的实体片段的预测结果调整第二实体抽取模型中的参数时,一并调整第一宽度限制向量矩阵w中的参数。
71.s104:利用训练后的第二实体抽取模型对测试数据进行预测以获得相应的第一预测结果,并根据第一预测结果获得与人工标注结果不一致的候选实体片段。
72.具体而言,利用训练后的第二实体抽取模型在对应的1份测试数据上进行推理预测以获得相应的第一预测结果,根据上述第一测试结果得到这1份测试数据中与人工标注结果不一致的实体片段,即可能存在问题的候选实体片段。在本实施例中,对所有训练后的第二实体抽取模型都执行上述步骤。
73.s105:对所有第二实体抽取模型获得的所有候选实体片段进行统计,且响应于同一候选实体片段累计的次数超过第一阈值,将候选实体片段确定为问题片段,并将问题片段加入问题片段集合。
74.具体地,在本实施例中,对所有第二实体抽取模型获得的所有可能存在问题的候选实体片段进行统计,当同一候选实体片段累计的次数超过第一阈值,即当同一候选实体片段的记录出现次数超过k/2时,将该候选实体片段确定为问题片段,并将问题片段加入问题片段集合。
75.s106:判断所有子数据集是否均轮流作为测试数据。
76.具体地,在本实施例中,为了确保每份子数据集都被作为测试数据,以保证训练后第二实体抽取模型的完整性。
77.s107:若是,则进入至步骤s11。
78.具体而言,若所有的子数据集都被作为测试数据进行训练,则进入至对问题片段集合进行分类,以获得漏标注片段集合、错误标注片段集合和无意义标注片段集合的步骤。
79.s108:若否,将另一子数据集作为测试数据,且将剩余子数据集作为训练数据,并返回至步骤s102。
80.具体而言,若其中有子数据集没有被作为测试数据进行训练,则将另一子数据集作为测试数据,且将剩余子数据集作为训练数据,并返回至设置多个不同的随机种子以分别获得多个第二实体抽取模型的步骤。
81.通过这样的设计方式,利用交叉验证策略对训练数据进行分别建模预测,挑选训练数据中有问题的预测结果后对结果进行分类,并且在建模过程中引入宽度限制矩阵以及负采样策略,可以大量减少排列组合出的候选实体数量,提高模型效率,同时也可以提供额外的特征信息,辅助提升模型效果。
82.s11:对问题片段集合进行分类,以获得漏标注片段集合、错误标注片段集合和无意义标注片段集合。
83.具体地,在获取了训练数据中所有可能存在问题的实体片段之后,开始对这些问题片段进行归类,首先是挑选出人工未标注出来的实体,但是却被预测出来的实体片段,这些实体片段如果加入到训练过程中,可能会使最终的模型在对片段进行预测时,偏向于预测为无意义标注片段,或降低模型对片段预测的置信度,因此需要对这些片段在训练最终的模型时进行舍弃,这些片段被记作为漏标注片段,然后挑选出人工标注的实体结果与模型预测的实体结果不一致的实体片段,由于人工标注数据时,不可避免的会出现问题,但从整体上来说,出现问题的比例比较小,也就是对于大多数的实体都能正确标注,因此当标注结果与预测结果不一致时,不使用人工标注标签的多分类标签向量(one-hot向量)作为训练目标,使用第二实体抽取模型对实体片段预测概率的logit向量作为最终模型的训练目标,这些片段被记作为错误标注片段。例如,某个实体片段“叫xx机构”的人工标注结果为“人名”,但其实应该为“机构名”,假设总共只有这2种类型的实体,则该片段的one-hot向量为[1,0],则第二实体抽取模型对该实体片段预测概率p的logit向量为[0.4,0.6]。
[0084]
如图5所示,在模型训练时,因为训练数据中可能存在未标注的噪声片段,因此采用负采样策略,当某个片段是人工标注的结果即正确标注片段时,直接加入到训练过程中,如果某个片段不是人工标注的结果即无意义标注片段,则将人工标注的实体片段和非人工标注的实体片段以预测概率p加入到负采样的训练过程,最后与人工标注的标签计算交叉熵loss损失,即图5中的loss_tag。当然,在其他实施例中,也可以是在第二语义向量s
1,i
进入第一全连接层mlp之前就抽取预测概率p的部分无意义标注片段,本技术对此不作限定。
[0085]
s12:利用错误标注片段集合、正确标注片段集合和无意义标注片段集合训练第一实体抽取模型,且禁止利用漏标注片段集合训练第一实体抽取模型。
[0086]
具体而言,在挑选出了训练数据中的漏标注片段集合与错误标注片段集合,这两种片段集合便是训练数据中的噪声数据。另外,训练数据还可以构建出新的正确标注片段集合,表示人工标注的实体片段,且不在错误标注片段集合中,以及没有被标注成实体的所有片段集合,且这些片段不在漏标注片段集合中,记为无意义标注片段。这两种片段集合便是训练数据中的相对较为正确的数据部分。对每一条训练数据都构建出这4种片段集合后,便可以建立面向噪声数据的第一实体抽取模型。请一并参阅图7和图8,图7是图2中步骤s12一实施方式的流程示意图,图8是面向噪声数据的第一实体抽取模型的结构示意图。具体地,在本实施例中,第一实体抽取模型包括第二预训练模型200和第二全连接层202,且第二预训练模型200的输出为第二全连接层202的输入,第二预训练模型200可以为bert模型等,第二全连接层202可以为mlp等。具体地,步骤s12包括:
[0087]
s120:将噪声数据集中的文本数据进行分词处理后输入至第二预训练模型中,以获得文本数据中每个单词的第三语义向量。
[0088]
具体而言,将噪声数据集中的文本数据进行分词处理,例如,如图10所示,将噪声数据集中的一个文本数据分为x0、x1、xi、xn等单词,将x0、x1、xi、xn等单词输入至第二预训练模型200中,分别获得每个单词的第三语义向量h0、h1、hi、hn等。另外,分词后无意义的单词,比如“的”等单词会一并输入到第二预训练模型200中。
[0089]
具体地,在本实施例中,与步骤s20的做法类似,制定实体宽度限制,即对于一个片段,设置最大宽度,当片段的宽度超过阈值时,默认不作为实体片段。并且将片段的宽度也作为特征加入到模型训练的过程中。具体而言,随机初始化一个宽度限制向量矩阵w,并且在训练过程中会不断更新。具体而言,该宽度限制向量矩阵w中包含多个实体片段的宽度特征向量di,例如,图8中所示的d0、d1、d
i-1
、dw。这种方式不但可以大量减少排列组合出的候选实体片段的数量,不仅可以提高模型效率,而且同时也可以提供额外的特征信息,辅助提升模型效果。
[0090]
s121:对所有第三语义向量进行负采样组合以获得多个第二组合片段。
[0091]
具体地,在本实施例中,与步骤s21的做法类似,对所有第三语义向量进行负采样negsampling以获得多个第二组合片段。一般来讲,负采样方式是任意选择两个第三语义向量进行组合,在此不再赘述。这种方式舍弃实体抽取任务中常用的crf层,使用负采样论文中用到的片段分类的思想,对输入文本数据中的单词进行排列组合,预测每个候选实体片段的实体类型。
[0092]
s122:响应于第二组合片段的宽度小于或等于第二阈值,获得第二组合片段的第四语义向量。
[0093]
具体地,在本实施例中,在组合所有可能的第二组合片段时,当第二组合片段的宽度超过宽度限制阈值时,则直接舍弃。与步骤s220-s221的做法类似,当第二组合片段的宽度没有超过宽度限制阈值时,则获得第二组合片段中起始单词1的第三语义向量h1以及结束单词i的第三语义向量hi,再将起始单词的第三语义向量h1、结束单词的第三语义向量hi以及对应的宽度特征向量d
i-1
进行拼接,表示为(concat(h1,hi,hi*h1,d
i-1
)),最终获得该第二组合片段的第四语义向量s
1,i

[0094]
s123:将第四语义向量输入至第二全连接层以获得第二预测分类logit向量。
[0095]
具体而言,将第四语义向量s
1,i
经过第二全连接层202得到该片段分类为各类型实体的第二预测分类logit向量o
1,i
,具体为正确标注片段、无意义标注片段、错误标注片段和漏标注片段的第二预测分类logit向量o
1,i

[0096]
这样考虑了标注数据存在标注错误时的情况,对于在交叉验证中模型预测结果与人工标注结果长度不一致或者类型不一致的片段,使用多个第二实体抽取模型在该片段上的预测logit向量作为训练面向噪声数据的第一实体抽取模型的学习目标,从而借助交叉验证策略,实现对错误标注数据的修正。
[0097]
s124:响应于第二组合片段的跨度在正确标注片段集合、无意义标注片段集合和错误标注片段集合,根据至少部分第二组合片段所属的集合类型获得相应的第一损失,基于第一损失调整第一实体抽取模型中的参数。
[0098]
总的来说,与第二实体抽取模型的构建过程不同的是,构建出了4种片段集合,如
图8所示,当片段的跨度在正确标注片段集合和无意义标注片段集合中时,会计算第二预测分类logit向量与人工标注标签形成的多分类标签向量taged one-hot vector之间的交叉熵loss损失,同时会计算第二预测分类logit向量与第二实体抽取模型预测得到的该片段的logit向量之间的kl散度损失;当片段的跨度在错误标注片段集合中时,只计算第二预测分类logit向量与第二实体抽取模型预测得到的该片段的logit向量之间的kl散度损失,同时为了保持计算过程中的正负样例均衡,也会通过负采样的方式引入部分无意义片段集合中的片段;当片段的跨度在漏标注片段集合中时,禁止该片段加入到第一实体抽取模型的训练过程中,在图中表现为φ。这样无需人工参与便可训练得到高泛化性的实体抽取方法,并形成了一整套数据处理和建模的方案。
[0099]
具体地,在本实施例中,如图8所示,步骤s124中根据至少部分第二组合片段所属的集合类型获得相应的第一损失的步骤包括:a、当第二组合片段的跨度在正确标注片段集合或无意义标注片段集合时,获得第二组合片段对应的第二预测分类logit向量与人工标注类型的多分类标签向量taged one-hot vector之间的第一交叉熵损失、以及获得第二组合片段对应的第二预测分类logit向量与其经过第二实体抽取模型获得的第一预测分类logit向量(modellogit vector)之间的第一kl散度损失,将第一交叉熵损失和第一kl散度损失作为第一损失;b、当第二组合片段的跨度在错误标注片段集合时,获得第二组合片段对应的第二预测分类logit向量与其经过第二实体抽取模型获得的第一预测分类logit向量之间的第二kl散度损失,将第二kl散度损失作为第一损失。
[0100]
具体地,在本实施例中,上述步骤a和步骤b中响应于第二组合片段的跨度在正确标注片段集合、无意义标注片段集合和错误标注片段集合,根据至少部分第二组合片段所属的集合类型获得相应的第一损失的步骤包括:获得跨度在正确标注片段集合的所有第二组合片段的第一损失、跨度在错误标注片段集合的所有第二组合片段的第一损失、以及跨度在无意义标注片段集合的部分第二组合片段的第一损失。这样可以将模型预测出结果但人工未标注的文本片段,不加入模型训练过程,通过此种方式,降低数据中的未标注噪声对模型训练的影响,不需要人工参与修改原始的训练数据标注结果。
[0101]
通过在训练数据上进行交叉验证,获得多个第二实体抽取模型,然后通过模型在训练数据上进行预测,找出与人工标签不相符的文本片段,然后再训练面向噪声数据的第一实体抽取模型,可以将模型预测出结果但人工未标注的文本片段,不加入模型训练过程,通过此种方式,降低数据中的未标注噪声对模型训练的影响,不需要人工参与修改原始的训练数据标注结果。
[0102]
请参阅图9,图9是本技术第一实体抽取模型的训练方法的流程示意图。具体而言,第一实体抽取模型的训练方法包括:
[0103]
s30:获取噪声数据集。
[0104]
具体而言,上述噪声数据集中包括漏标注片段集合、错误标注片段集合、正确标注片段集合和无意义标注片段集合。
[0105]
s31:利用第二实体抽取模型获得噪声数据集中漏标注片段集合、错误标注片段集合、正确标注片段集合和无意义标注片段集合。
[0106]
具体而言,漏标注片段集合包括噪声数据集中人工漏标注但被第二实体抽取模型正确预测出的实体片段,错误标注片段集合包括人工标注类型与对应的预测类型不同的实
体片段,正确标注片段集合包括被人工标注类型与对应的预测类型相同的实体片段,无意义标注片段集合包括人工未标注且不属于漏标注片段集合的实体片段。
[0107]
s32:利用错误标注片段集合、正确标注片段集合和无意义标注片段集合训练第一实体抽取模型,而禁止漏标注片段集合训练第一实体抽取模型。
[0108]
具体而言,s32的执行过程与步骤s12的执行步骤类似,在此不再赘述。
[0109]
通过这种设计方式,可以降低数据中的未标注噪声对模型训练的影响,且不需要人工参与修改原始的训练数据标注结果即可训练得到高泛化性的实体抽取方法,并形成了一整套数据处理和建模的方案。
[0110]
请参阅图10,图10是本技术实体抽取装置一实施方式的框架示意图。具体地,该实体抽取装置包括:
[0111]
获取模块10,用于获取待抽取文本。
[0112]
实体模块12,与获取模块10连接,用于将所述待抽取文本输入至训练后的第一实体抽取模型中以获得所述待抽取文本中的实体以及所述实体的类型。
[0113]
第一训练模块14,与实体模块12和获取模块10连接,用于利用噪声数据集训练第一实体抽取模型;且噪声数据集预先经过第二实体抽取模型获得漏标注片段集合、错误标注片段集合、正确标注片段集合和无意义标注片段集合,且利用错误标注片段集合、正确标注片段集合和无意义标注片段集合训练第一实体抽取模型,而禁止漏标注片段集合加入训练过程;其中,漏标注片段集合包括噪声数据集中人工漏标注但被第二实体抽取模型正确预测出的实体片段,错误标注片段集合包括人工标注类型与对应的预测类型不同的实体片段,正确标注片段集合包括被人工标注类型与对应的预测类型相同的实体片段,无意义标注片段集合包括人工未标注且不属于漏标注片段集合的实体片段。当然,在其他实施例中,第一训练模块14也可以只与获取模块10连接,在获取待抽取文本之前利用噪声数据集训练第一实体抽取模型。
[0114]
在一个实施例中,第一训练模块14包括依次相互连接的获得模块、分类模块和第一子训练模块。其中,获得模块用于利用第二实体抽取模型获得噪声数据集中所有第一预测结果与人工标注结果不一致的实体片段构成的问题片段集合、以及第一预测结果与人工标注结果一致的实体片段构成的正确片段集合;其中,第一预测结果包括预测实体及预测类型,人工标注结果包括人工标注实体及人工标注类型。分类模块用于对问题片段集合进行分类,以获得漏标注片段集合、错误标注片段集合和无意义标注片段集合。第一子训练模块用于利用错误标注片段集合、正确标注片段集合和无意义标注片段集合训练第一实体抽取模型,且禁止利用漏标注片段集合训练第一实体抽取模型。
[0115]
可选地,上述获得模块具体包括依次相互连接的分割模块、数据模块、第二实体抽取模型模块、第二训练模块、候选实体片段、统计模块和第一判断模块。具体地,分割模块用于将噪声数据集分割为多份子数据集;数据模块用于将其中一份子数据集作为测试数据,且将剩余子数据集作为训练数据;第二实体抽取模型模块用于设置多个不同的随机种子以分别获得多个第二实体抽取模型;第二训练模块用于针对每个第二实体抽取模型,利用训练数据对第二实体抽取模型进行训练;候选实体片段用于利用训练后的第二实体抽取模型对测试数据进行预测以获得相应的第一预测结果,并根据第一预测结果获得与人工标注结果不一致的候选实体片段;统计模块用于对所有第二实体抽取模型获得的所有候选实体片
段进行统计,且响应于同一候选实体片段累计的次数超过第一阈值,将候选实体片段确定为问题片段,并将问题片段加入问题片段集合;第一判断模块用于判断所有子数据集是否均轮流作为测试数据;若否,将另一子数据集作为测试数据,且将剩余子数据集作为训练数据,并返回至设置多个不同的随机种子以分别获得多个第二实体抽取模型的步骤。
[0116]
在另一个实施例中,第二实体抽取模型包括第一预训练模型和第一全连接层,且第一预训练模型的输出为第一全连接层的输入。可选地,上述第二训练模块包括依次相互连接的第一分词模块、第一负采样模块、第二判断模块、第一预测分类logit向量模块和第一调整模块。具体而言,第一分词模块用于对训练数据中的文本数据进行分词处理后输入至第一预训练模型中,以获得文本数据中每个单词的第一语义向量;第一负采样模块用于对所有第一语义向量进行负采样以获得多个第一组合片段;其中,第一组合片段中包括人工标注的实体片段以及非人工标注的实体片段;第二判断模块用于响应于第一组合片段的宽度小于或等于第二阈值,获得第一组合片段的第二语义向量;第一预测分类logit向量模块用于将第二语义向量输入至第一全连接层以获得第一预测分类logit向量;第一调整模块用于基于人工标注的实体片段和部分非人工标注的实体片段的预测结果调整第二实体抽取模型中的参数。
[0117]
在又一个实施例中,实体抽取装置还包括宽度特征模块,与第一分词模块的一端连接,用于随机初始化第一宽度限制向量矩阵;其中,第一宽度限制向量矩阵中包含多个宽度特征向量。在本实施例中,上述第二判断模块包括相互连接的第一语义向量模块和第二语义向量模块,其中,第一语义向量模块用于获得第一组合片段中起始单词的第一语义向量以及结束单词的第一语义向量,第二语义向量模块用于将起始单词的第一语义向量、结束单词的第一语义向量以及对应的宽度特征向量进行拼接以获得第二语义向量。此外,在本实施例中,基于人工标注的实体片段和部分非人工标注的实体片段的预测结果调整第二实体抽取模型中的参数时,一并调整第一宽度限制向量矩阵中的参数。
[0118]
在又一个实施例中,第一实体抽取模型包括第二预训练模型和第二全连接层,且第二预训练模型的输出为第二全连接层的输入。上述第一子训练模块包括依次相互连接的第二分词模块、第二负采样模块、第三判断模块、第二预测分类logit向量模块和第二调整模块。具体地,在本实施例中,第二分词模块用于将噪声数据集中的文本数据进行分词处理后输入至第二预训练模型中,以获得文本数据中每个单词的第三语义向量;第二负采样模块用于对所有第三语义向量进行负采样组合以获得多个第二组合片段;第三判断模块用于响应于第二组合片段的宽度小于或等于第二阈值,获得第二组合片段的第四语义向量;第二预测分类logit向量模块用于将第四语义向量输入至第二全连接层以获得第二预测分类logit向量;第二调整模块用于响应于第二组合片段的跨度在正确标注片段集合、无意义标注片段集合和错误标注片段集合,根据至少部分第二组合片段所属的集合类型获得相应的第一损失,基于第一损失调整第一实体抽取模型中的参数。
[0119]
具体地,在本实施例中,第二调整模块中还包括第一损失模块,用于响应于第二组合片段的跨度在正确标注片段集合或无意义标注片段集合,获得第二组合片段对应的第二预测分类logit向量与人工标注类型的多分类标签向量之间的第一交叉熵损失、以及获得第二组合片段对应的第二预测分类logit向量与其经过第二实体抽取模型获得的第一预测分类logit向量之间的第一kl散度损失,将第一交叉熵损失和第一kl散度损失作为第一损
失;此外,在本实施例中,第一损失还用于响应于第二组合片段的跨度在错误标注片段集合,获得第二组合片段对应的第二预测分类logit向量与其经过第二实体抽取模型获得的第一预测分类logit向量之间的第二kl散度损失,将第二kl散度损失作为第一损失。
[0120]
在又一个实施例中,上述第一损失模块还用于获得跨度在正确标注片段集合的所有第二组合片段的第一损失、跨度在错误标注片段集合的所有第二组合片段的第一损失、以及跨度在无意义标注片段集合的部分第二组合片段的第一损失。
[0121]
请参阅图11,图11是本技术电子设备一实施方式的框架示意图。该电子设备包括相互耦接的存储器20和处理器22。具体地,在本实施例中,存储器20内存储有程序指令,处理器22用于执行程序指令以实现上述任一实施例所提及的实体抽取方法以及第一实体抽取模型的训练方法。具体地,电子设备包括但不限于:台式计算机、笔记本电脑、平板电脑、服务器等,在此不做限定。此外,处理器22还可以称为cpu(central processing unit,中央处理单元)。处理器22可能是一种集成电路芯片,具有信号的处理能力。处理器22还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器22可以由多个集成电路芯片共同实现。
[0122]
请参阅图12,图12是本技术存储装置一实施方式的结构示意图,该存储装置30存储有能够被处理器运行的程序指令300,程序指令300用于实现上述任一实施例所提及的实体抽取方法以及第一实体抽取模型的训练方法。
[0123]
在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
[0124]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
[0125]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0126]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,
read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0127]
总而言之,区别于现有技术的情况,本技术提供的实体抽取方法包括:将获取到的待抽取文本输入至训练后的第一实体抽取模型中以获得待抽取文本中的实体以及实体的类型;其中,第一实体抽取模型是利用噪声数据集训练的,而且噪声数据集预先经过第二实体抽取模型获得漏标注片段集合、错误标注片段集合、正确标注片段集合和无意义标注片段集合,且利用错误标注片段集合、正确标注片段集合和无意义标注片段集合训练第一实体抽取模型,而禁止漏标注片段集合加入训练过程。通过这种设计方式,不但能够建模训练数据中的未标注噪声,也能建模训练数据中的错误标注噪声,从而提升了模型对带噪声数据的泛化性能,而且无需人工参与便可训练得到高泛化性的实体抽取方法。
[0128]
以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1