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

一种基于反事实生成的命名实体识别增强方法

文献发布时间:2023-06-19 09:36:59


一种基于反事实生成的命名实体识别增强方法

技术领域

本发明属于命名实体识别的技术领域,具体涉及一种基于已有训练样本生成反事实样本的命名实体识别增强方法。

背景技术

命名实体识别(Named Entity Recognition,NER)技术是构建结构化知识的一种基本技术,它是指从文本中抽取命名式的提及并对其进行分类,比如人名、地名和机构名等。该技术在医疗、金融和法律等领域均有大量应用,比如在医疗领域,命名实体识别可以从医学文本中抽取有意义的诊断、手术和部位等实体,这可为下游的知识图谱构建、知识推理和问答系统提供重要的基础。

现有主流的实体抽取主要是基于神经网络的方法,这类方法把实体抽取看作是一个学习问题,首先标注大量的训练文本,然后将训练文本送到实体识别模型中去学习。实体识别模型一般是将命名实体识别任务看作序列标注问题,将循环神经网络(LSTM、GRU等)或者是预训练语言模型(ELMo、BERT等)作为编码器来编码句子,然后再利用多层感知机针对句子中每个字符进行标签的分类,最后根据标签来确定实体的位置。这类方法有一个明显的缺点,需要大量的实体标注数据才能使得模型学习到比较好的效果。

为了克服这个问题,有许多方案被发明出来用于解决少量标注数据的场景。比如,迁移学习可以将相似实体抽取领域数据集的先验知识迁移到当前领域,这使得当前领域只需要少部分标注数据就可以达到比较好的效果;自训练可以利用已有的标注数据对未标注的数据进行打标,这种方法可以自动的从未标注的数据中产生监督数据,有效地减轻了数据标注的工作量。然而,这些方案仍然存在一些问题。一方面,对于某些特殊领域,相似领域的数据集很难找到,如果没有相似领域的数据集,迁移学习就无法利用先验知识来增强现有领域的实体抽取模型。另一方面,同样地,在某些领域大量的无标注数据也很难找到。比如在医疗领域,由于隐私保护的原因,人们很难获取到大量的电子医疗文本,这使得自训练的方案也无法有效的展开。

因此,在一些无法收集到大量文本数据以及无相似领域数据集的场景,命名实体识别任务只能在少量的标注数据中进行。少量标注数据场景下模型性能不高的原因之一是由于数据集的选择偏差而导致模型在学习输入数据与输出标签的映射关系时存在着统计学习中的伪相关(Spurious Correlations)。这种伪相关可以生动地被计算机视觉中的一个例子所解释:假如有一个包含牛和骆驼的图像数据集,如果这个数据集在收集图像数据的时候只考虑动物的栖息地,那么在该数据集训练的分类器将会建立起输入数据中的风景(绿色草地、沙漠)和输出标签(牛、骆驼)之间的映射关系。作为结果,如果将一只在沙滩上的牛的照片送入到这个分类器,那么这个分类器将会做出错误的分类。这是因为构建数据集时的选择偏差而导致分类器学到了风景部分特征和输出标签之间的伪相关,决定分类器输出标签的最本质和最稳定的特征应该是动物本身的特征。

发明内容

为了解决背景技术中小数据集导致的伪相关问题,本发明提供了一种与主流实体抽取模型无关的数据增强方法。该方法能够在一定程度上克服这种伪相关的问题,能够让模型学习到更本质、更稳定的特征,从而提高模型的稳定性和泛化性能。该方法能被运用于各种少量标注的命名实体识别的场景中。

为了达到上述目的,本方法的具体步骤如下:

一种基于反事实生成的命名实体识别增强方法,其包括如下步骤:

S1:依次遍历已有标注数据的训练集

S2:以训练集

S21:逐一遍历训练集

S22:随机从该观测样本的所有实体中选择一个实体类别为t的实体e,用于实体替换;

S23:根据选中实体e对应的实体类型t,确定其对应的本地实体集合

S24:遍历该本地实体集合

S3:使用判别器对S2中生成的反事实样本进行判别,如果一个反事实样本(x

所述判别器是一个由编码器和序列标注器两部分组成的命名实体识别模型;所述编码器用于对观测样本的输入句子x和反事实样本的输入句子x

S4:将S3中所有被判别为合理的反事实样本和训练集

在上述方案的基础上,本发明的各步骤还可以进一步采用如下优选方式实现。

作为优选,所述的编码器为预训练语言模型或者循环神经网络模型。

进一步的,所述的编码器为循环神经网络模型时,需要额外的预训练静态词向量进行语义单元的嵌入才可输入到编码器中。

作为优选,所述序列标注器中,序列标注的标注体系采用BIO标注体系。

进一步的,所述序列标注器的输入大小与所述语义单元的表示向量的维度d相同;所述序列标注器的输出层的大小为2m+1,其中m为数据集的实体类型个数。

进一步的,所述的预训练语言模型包括ELMo或BERT。

进一步的,所述的循环神经网络模型包括LSTM或GRU。

作为优选,所述的语义单元是最小不可分割的输入符号,包括字符、词语或者短语。

本发明可以看作是对已有观测样本的实体和上下文进行解耦合,并对它们进行重组。本发明通过对实体和上下文的重组,提高了训练数据的多样性,有效地打破了实体抽取模型流程中输入数据与输出标签中的部分伪相关,从而提高了模型的健壮性和泛化能力。

附图说明

图1是本发明的整体流程示意图。

图2是反事实样本生成示例。

图3是结构因果图模型。

具体实施方式

作为本发明的一种较佳实现形式,提供了一种基于反事实生成的命名实体识别增强方法,该方法能够自动增强命名实体识别数据集,具体包括如下步骤:

1、获取本地实体集合

本地实体是指实体全部来自于已有的标注数据,而非额外的实体字典等外部资源。获取本地实体集合ε主要有以下步骤:

1)将已有的标注数据集

2)依次遍历已有标注数据的训练集

2、反事实样本生成

训练集

1)逐一遍历训练集

2)针对每一个单独的观测样本(x,y),随机从该样本的所有实体中选择一个实体e,记该实体的类型为t,该实体用于后续步骤的实体替换;

3)为了保持新产生的反事实样本的语义连贯性,本方法选择与选中实体e有着相同实体类型t的实体e′来进行替换,因此可以确定对应的本地实体集合

4)遍历该实体集合

3、反事实样本判别

考虑到并不是所有的反事实样本(x

1)编码器主要负责对观测样本的输入句子x和反事实样本的输入句子x

2)序列标注器由多层感知机组成,用于对每个输入的语义单元进行分类。序列标注器的输入大小与上一步所述的语义单元表示向量的维度d相同,输出大小则与序列标注的标注体系有关。本发明的标注体系采用命名实体识别常见的BIO标注体系,假设数据集的实体类型有m个,那么输出层的大小为2m+1。

随机初始化的判别器没有较为完备的先验知识去指导反事实样本(x

4、当所有的反事实样本都经过判别器判别后,即可将所有被判别为合理的反事实样本和训练集

在实体识别任务上基于结构因果模型的伪关系测量方法,其特点包括如下步骤:

1)将句子中的实体和上下文解耦合,分别表示为两个不同的变量E和C;

2)为了描述命名实体识别任务的推理流程,用变量G表示影响变量E和C的因素,实体E和上下文C共同决定着输入句子X,同时,对于同一个已经训练好的实体抽取模型,不同的输入句子X决定着模型性能Y,结构因果图模型建模为:

G→E→X→Y

G→C→X→Y

3)设计特殊的语义单元[empty]去分别干预实体或者上下文中的语义单元,一旦某个语义单元被替换为[empty],那么这个语义单元的嵌入向量的所有维度将会置为0;

4)利用平均因果效应(Average Causal Effect,ACE)来测量实体E和上下文C对模型性能Y的影响,表示如下:

ACE

ACE

5)因果效应可以一定程度上反应实体识别中的伪关系,利用训练好的实体抽取模型在测试集分别测试实体和上下文的因果效应;

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图与医疗领域的诊断抽取数据对技术方案进行描述。值得注意的是,所描述的实施例仅仅是本申请中的一部分实施例,而不是全部的实施例。该实施例中的具体步骤如前苏搜狐,不再赘述,下面主要展示其具体参数和技术效果。

实施例

本实施例的具体实施方法如图1所示,步骤如下:

1.获取本地集合

从电子医疗记录中收集医学文本,并利用文本打标工具(Label Studio)对医学文本中的诊断进行标注。如图1中步骤(1)所示,获取本地实体集合的详细步骤如下:

1)将已标注的医学文本划分为三部分:训练集(80%)、开发集(10%)和测试集(10%)。

2)依次遍历训练集中的所有样本,抽取所有实体并按照实体类型进行分类,形成本地实体集合。由于此处只有诊断类型的实体,因此只有一种本地实体集合,诊断集合。

2.反事实样本生成

反事实样本的生成如图1中步骤(2)所示,详细步骤如下:

1)逐一遍历训练集中的所有医学文本。

2)针对每一个医学文本,随机的从中选择一个诊断实体(乳头状腺癌),该实体将会用于后续的实体替换步骤。

3)为了保持新产生的反事实样本的语义连贯性,采用同样是诊断类型的候选实体对上述步骤中被选中的实体进行替换,候选实体来自于诊断集合。

4)遍历诊断集合,针对每一个候选实体,如果候选实体与被选中的实体相同则跳过,反之则利用该候选实体替换掉被选中的实体,进而产生一个新的反事实样本,此处候选实体为白内障。此处的诊断集合总共有10个候选实体,那么针对当前的医学文本,将会产生9个新的反事实样本。

生成反事实样本的过程可以看作是对现有句子的实体和上下文进行重组,特别地,图2展示了训练集中只有两个观测样本的重组实例。

3.反事实样本的判别

图1中步骤(3)所示,反事实样本的判别需要一个带有先验知识的判别器对其进行判别,选用预训练语言模型作为编码器,多层感知机作为序列标注器。本实施例中,判别器配置如下:

1)编码器为预训练模型BERT-base,其中隐藏层数目为6,隐藏向量大小为512。

2)感知机的层数为2,由于只有一种实体类型,故输出标签为{O,B-Diagnosis,I-DIagnosis},由此可得出感知机的输出维度为3。

判别器会预先在已有的训练集中进行训练,针对每一个反事实样本,如果训练过的判别器能够成功地预测出被替换的实体(白内障),那么这个反事实样本会被认为是合理的。

4.所有合理的反事实样本和训练集中的样本会组成一个新的增强训练集,最终实体抽取模型的训练将会在增强训练集上进行。

5.伪特征测量

为了测量输入数据中伪特征存在的位置,本发明引入了结构因果模型对实体抽取过程进行了建模,并测量不同部分对模型性能的因果效应,具体的步骤如下:

1)将输入句子中的实体和上下文进行解耦合,分别表示为两个不同的变量E和C;

2)考虑到实体E和上下文C均可以为一个人或者某个生成句子的装置所产生,所以将此单独表示为变量G,即用变量G表示影响变量E和C的因素。实体E和上下文C又共同决定着输入句子X,同时,对于同一个已经训练好的实体抽取模型,不同的输入句子X决定着模型性能Y。因此,结构因果图模型建模为:

G→E→X→Y

G→C→X→Y

具体而言,该结构因果模型可建模为以下式子:

g:=f

e:=f

c:=f

x:=f

y:=f

其中U

3)本发明利用干预手段去测试实体E和上下文C在模型性能Y上的因果效应,并设计了一个特殊的语义单元[empty]去分别替换实体E或者上下文C中的语义单元,一旦某个语义单元为[empty],那么这个语义单元的嵌入向量的所有维度将会被置0,对实体E或者上下文C的干预分别记为do(e

4)本发明利用平均因果效应(Average Causal Effect,ACE)来测量实体E和上下文C对模型性能Y的影响,表示如下:

ACE

ACE

其中c和e分别代表未干预的上下文和实体。

5)平均因果效应ACE

如图3(a)所示,伪特征测量主要是利用结构因果模型去测量输入句子中实体和上下文对模型性能的影响大小,即平均因果效应ACE。测量方法中用特殊语义单元[empty]去替换上下文或者实体中的语义单元,如图3(b)和图3(c)所示。测试数据来自于测试集,测试的结果显示在实体抽取模型当中,实体表征的重要性要远大于上下文的表征。在利用本发明的反事实样本进行增强之后,实体表征的重要性增加了且泛化性能大大提升,这说明伪关系更多地存在于上下文的表征与输出标签当中。

以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

相关技术
  • 一种基于反事实生成的命名实体识别增强方法
  • 基于神经网络的工具变量生成与反事实推理方法及装置
技术分类

06120112237306