实体识别模型训练方法、装置、计算机设备及存储介质
文献发布时间:2024-01-17 01:26:37
技术领域
本发明涉及自然语言技术领域,尤其涉及一种实体识别模型训练方法、装置、计算机设备及存储介质。
背景技术
命名实体识别((Named Entity Recognition,简称NER)是自然语言处理中基础的任务之一,一般使用计算机对语料进行自动标注,从而获取大规模的具备标注标签的语料,以形成命名实体识别模型的样本数据集,从而依据样本数据进行模型训练,得到命名实体识别模型以进行命名实体识别。例如,在数字医疗领域中,个人健康档案、处方、检查报告、病例等数据进行实体识别,得到对应的实体结果。
现有技术中,在数字医疗领域中往往是通过计算机自动标注的语料提高了模型的性能,但是此类语料通常并不准确,在自动标注过程中,会经常引入不完整标记或标注错误,使得自动标注获得的命名实体识别模型训练集存在噪声,在训练命名实体识别模型容易出现过拟合的现象,导致数字医疗领域中训练获得的识别模型精度不够。
发明内容
本发明实施例提供一种实体识别模型训练方法、装置、计算机设备及存储介质,以解决现有技术中训练获得的实体识别模型精度较低的问题。
一种实体识别模型训练方法,包括:
获取训练数据集,所述训练数据集包括至少一个训练数据和与所述训练数据对应的真实标签;
获取预设训练模型,通过所述预设训练模型对所有所述训练数据进行预测,得到与各所述训练数据对应的预测标签;
根据与同一所述训练数据对应的所述预测标签和所述真实标签,确定所述预设训练模型的散度损失值,以及与各所述训练数据对应的第一损失值;
对所有所述第一损失值进行均值处理,得到所述预设训练模型的平均损失值;
根据所述平均损失值和所述散度损失值,确定所述预设训练模型的预测损失值;
在所述预测损失值达到收敛条件时,将收敛之后的所述预设训练模型确定为实体识别模型。
一种实体识别模型训练装置,包括:
数据获取模块,用于获取训练数据集,所述训练数据集包括至少一个训练数据和与所述训练数据对应的真实标签;
数据预测模块,用于获取预设训练模型,通过所述预设训练模型对所有所述训练数据进行预测,得到与各所述训练数据对应的预测标签;
损失确定模块,用于根据与同一所述训练数据对应的所述预测标签和所述真实标签,确定所述预设训练模型的散度损失值,以及与各所述训练数据对应的第一损失值;
均值处理模块,用于对所有所述第一损失值进行均值处理,得到所述预设训练模型的平均损失值;
预测损失模块,用于根据所述平均损失值和所述散度损失值,确定所述预设训练模型的预测损失值;
模型收敛模块,用于在所述预测损失值达到收敛条件时,将收敛之后的所述预设训练模型确定为实体识别模型。
一种中文命名实体识别方法,包括:
获取至少一个待识别数据;
调取实体识别模型,所述实体识别模型为根据上述实体识别模型训练方法训练得到的;
基于所述实体识别模型对所有所述待识别数据进行实体识别,得到与各所述待识别数据对应的实体识别结果。
一种中文命名实体识别装置,其特征在于,包括:
获取模块,用于获取至少一个待识别数据;
调用模块,用于调取实体识别模型,所述实体识别模型为根据上述实体识别模型训练方法训练得到的;
实体识别模块,用于基于所述实体识别模型对所有所述待识别数据进行实体识别,得到与各所述待识别数据对应的实体识别结果。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实体识别模型训练方法,或所述处理器执行所述计算机程序时实现上述中文命名实体识别方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实体识别模型训练方法,或所述计算机程序被处理器执行时实现上述中文命名实体识别方法。
本发明提供一种实体识别模型训练方法、装置、计算机设备及存储介质,该方法通过训练数据和真实标签对预设训练模型进行训练,从而实现了对预测标签的获取。根据与同一所述训练数据对应的所述预测标签和所述真实标签,从而实现了对散度损失值的确定,以及第一损失值的确定。通过对所有第一损失值进行汇总求平均,从而实现了对平均损失值的获取,进而通过平均损失值和散度损失值对预设训练模型的损失值,实现了对预测损失值的确定,减少了噪音数据的影响,防止了预设训练模型对噪音数据的过拟合。通过对模型的不断迭代更新,从而实现了在预测损失值在达到收敛条件时,对实体识别模型的确定。进一步地,通过基于transformer的FLAT结构的预设训练模型进行训练,从而实现了在数字医疗领域中充分考虑中文本身特性,充分利用词汇信息,最大程度避免词汇信息损失,进而通过位置向量融合了词汇信息和信息无损,加快了数字医疗领域中实体推断速度,提升了数字医疗领域中中文命名实体识别的准确率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中实体识别模型训练方法的应用环境示意图;
图2是本发明一实施例中实体识别模型训练方法的流程图;
图3是本发明一实施例中中文命名实体识别方法的流程图;
图4是本发明一实施例中实体识别模型训练装置的原理框图;
图5是本发明一实施例中中文命名实体识别装置的原理框图;
图6是本发明一实施例中计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的实体识别模型训练方法,该实体识别模型训练方法可应用如图1所示的应用环境中。具体地,该实体识别模型训练方法应用在实体识别模型训练装置中,该实体识别模型训练装置包括如图1所示的客户端和服务器,客户端与服务器通过网络进行通信,用于解决现有技术中训练获得的实体识别模型精度较低的问题。其中,该服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。客户端又称为用户端,是指与服务器相对应,为客户提供分类服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。
在一实施例中,如图2所示,提供一种实体识别模型训练方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S10:获取训练数据集,所述训练数据集包括至少一个训练数据和与所述训练数据对应的真实标签。
可理解地,训练数据可以为现有的词典,如Zhang和Yang发布的词典,或Li等人发布的词典,亦或者可以是从不同的客户端上发送得到,也可以是从不同的数据库中采集得到。进而根据获取的所有训练数据构建训练数据集。一个训练数据对应一个真实标签,真实标签作为训练数据的表征,在不同应用场景下该真实标签表征的含义不同。示例性地,在数字医疗领域中关键词抽取的应用场景下,该真实标签即表征了训练数据中的关键词,例如检查报告中的姓名和病情。此时,即可以通过人工标注的方式对训练数据进行关键词识别,从训练数据中抽取出关键词作为该真实标签。在数字医疗领域中实体识别的应用场景下,该真实标签即表征了训练数据中的实体。此时,即可以通过人工标注的方式对训练数据进行实体识别,从训练数据中抽取出实体作为该真实标签,例如,在个人健康档案场中,实体可以为姓名。
S20:获取预设训练模型,通过所述预设训练模型对所有所述训练数据进行预测,得到与各所述训练数据对应的预测标签。
可理解地,预设训练模型为基于transformer的FLAT结构构建模型。预测标签为用于表征预设训练模型对训练数据预测的结果。
具体地,在得到训练数据集之后,调取基于transformer的FLAT结构构建的预设训练模型,将训练数据集中所有训练数据和真实标签均输入到预设训练模型中,通过设训练模型的输入模块对所有训练数据进行初始化处理,也即通过训练数据分别对预设训练模型中的分类器进行参数初始化,从而得到与各训练数据对应的输入向量。通过转换模块对输入向量中的实体进行位置标注,也即采用预设的标注方式(如BIOES标注方式)对训练数据进行标注,从而得到与各输入向量对应的相对距离。再通过预设训练模型的注意力模块对所有输入向量和所有相对距离进行注意力处理,也即通过多组注意力机制进行处理,再将结果拼接在一起,从而得到与各训练数据对应的注意力向量。通过预设训练模型的前馈神经网络模块对所有注意力向量进行全连接处理,也即通过隐藏层中的隐藏单元进行交叉,从而得到全连接向量。通过预设训练模型的输出模块对所有全连接向量进行预测处理,也即通过线性变换和条件随机场进行解码,从而得到预测标签。例如,身体、人群、科室、疾病、药物、特征、生理学、症状、测试、时间和治疗等11种类型的医学命名实体;或者,疾病和诊断、手术、解剖部位、药物、症状、影像检查、实验室检验等七种医学命名实体。
S30,根据与同一所述训练数据对应的所述预测标签和所述真实标签,确定所述预设训练模型的散度损失值,以及与各所述训练数据对应的第一损失值。
S40:对所有所述第一损失值进行均值处理,得到所述预设训练模型的平均损失值。
可理解地,散度损失值为预测标签和真实标签之间KL散度对应的损失值。第一损失值为预测标签和真实标签之间损失值,也即该预测标签所有对应的分类器的损失值。平均损失值为所有分类器平均的损失值,也即所有训练数据的平均损失值。预测标签分布概率为
具体地,在得到预测标签之后,将训练数据对应的所有真实标签按训练数据集中训练数据的顺序进行排列,进而将训练数据关联的预测标签,与序列相同的训练数据的真实标签进行比较;也即按照训练数据排序,将位于第一的训练数据对应的真实标签,与位于第一的训练数据对应的预测标签进行比较;进而将位于第二的训练数据对应的真实标签,与位于第二的训练数据对应的预测标签进行比较,直至所有真实标签与预测标签均比较完成,通过KL散度确定真实标签概率分布与预测标签概率分布之间的损失值,即可得到预设训练模型的散度损失值。例如,对所有训练数据对应的疾病和诊断、手术、解剖部位、药物、症状、影像检查、实验室检验等七种医学命名实体的预测标签和真实标签进行KL散度计算,即可得到散度损失值。
进一步地,将训练数据对应的所有真实标签按训练数据集中训练数据的顺序进行排列,进而将训练数据关联的预测标签,与序列相同的训练数据的真实标签进行计算;即按照训练数据排序,将位于第一的训练数据对应的真实标签,与位于第一的训练数据对应的预测标签进行比较,通过损失函数确定真实标签与预测标签之间的损失值,也即将第一个分类器预测的预测标签和该训练数据对应的真实标签进行标签损失计算,也即计算预测概率和真实概率之间的差值,进而直至所有真实标签与预测标签均比较完成,即可得到与各训练数据的第一损失值。将所有的第一损失值进行汇总求平均,从而得到预设训练模型的平均损失值。例如,在数字医疗领域中,根据模型预测的实体和真实实体进行比较,将11种类型的医学命名实体和预测的实体进行比较,计算与各训练数据的第一损失值。
S50:根据所述平均损失值和所述散度损失值,确定所述预设训练模型的预测损失值。
可理解地,预测损失值为对训练数据的预测标签进行预测的过程中生成的,用于表征真实标签和预测标签之间的差值。
具体地,在得到平均损失值之后,根据预设的关系式对预设训练模型的预测损失值进行计算,也即通过将预设训练模型的平均损失值和预测标签分布与真实标签分布之间的散度损失值带入预设的关系式,从而实现对预设训练模型的预测损失值进行计算,即L=L
S60:在所述预测损失值达到收敛条件时,将收敛之后的所述预设训练模型确定为实体识别模型。
可理解地,该收敛条件可以为预测损失值小于设定阈值的条件,还可以为预测损失值经过了500次计算后值为很小且不会再下降的条件,停止训练。
具体地,确定预设训练模型的预测损失值之后,判断预测损失值是否达到收敛条件,在预测损失值未达到预设的收敛条件时,根据该预测损失值调整预设训练模型的初始参数,并将所有训练数据重新输入至调整初始参数后的预设训练模型中,通过训练数据对调整初始参数后的预设训练模型重新进行训练,得到与调整初始参数的预设训练模型对应的预测损失值。并在该预测损失值未达到预设的收敛条件时,根据该预测损失值再次调整预设识别模型的初始参数,使得再次调整初始参数的预设训练模型的预测损失值达到预设的收敛条件。如此,使得预设训练模型输出的结果可以不断向准确地结果靠拢,让预测准确率越来越高,直至预设训练模型的预测损失值均达到预设的收敛条件时,将收敛之后的预设训练模型记录为实体识别模型。
在本发明实施例中的一种实体识别模型训练方法,该方法通过训练数据和真实标签对预设训练模型进行训练,从而实现了对预测标签的获取。根据与同一所述训练数据对应的所述预测标签和所述真实标签,从而实现了对散度损失值的确定,以及第一损失值的确定。通过对所有第一损失值进行汇总求平均,从而实现了对平均损失值的获取,进而通过平均损失值和散度损失值对预设训练模型的损失值,实现了对预测损失值的确定,减少了噪音数据的影响,防止了预设训练模型对噪音数据的过拟合。通过对模型的不断迭代更新,从而实现了在预测损失值在达到收敛条件时,对实体识别模型的确定。进一步地,通过基于transformer的FLAT结构的预设训练模型进行训练,从而实现了在数字医疗领域中充分考虑中文本身特性,充分利用词汇信息,最大程度避免词汇信息损失,进而通过位置向量融合了词汇信息和信息无损,加快了数字医疗领域中实体推断速度,提升了数字医疗领域中中文命名实体识别的准确率。
在一实施例中,步骤S20中,也即通过所述预设训练模型对所有所述训练数据进行预测,得到与各所述训练数据对应的预测标签,包括:
S201,通过所述预设训练模型的输入模块对所有所述训练数据进行初始化处理,得到与各所述训练数据对应的输入向量。
S202,获取与各所述输入向量对应的相对距离,通过所述预设训练模型的注意力模块对所有所述输入向量和所有所述相对距离进行注意力处理,得到与各所述训练数据对应的注意力向量;所述相对距离是指与所述输入向量对应的位置编码之间的距离。
可理解地,输入向量为通过输入模块对训练数据进行初始化得到的。注意力向量为对嵌入向量进行注意力处理得到的。相对距离是指与输入向量对应的位置编码之间的距离。
具体地,在得到训练数据之后,将所有训练数据均输入到预设训练模型中,通过预设训练模型的输入模块对所有训练数据进行初始化,也即对所有训练数据进行分词处理,将所有可能的切词结果全部列出来,并对每个切词结果进行位置标注,例如,对检查报告中的身体、人群、科室、疾病、药物、特征、生理学、症状、测试、时间和治疗等11种类型的医学命名实体进行分词标注,再对切词结果和位置进行向量化,从而得到与各训练数据对应的输入向量。进一步地,通过多组注意力机制对所有输入向量和与输入向量对应的相对距离进行处理,也即多组注意力机制通过相对距离对输入向量的Q向量,K向量,V向量进行计算,也即使用点积法根据相对距离计算输入向量中词向量之间的相关性得分,即用Q中每一个词向量与K中每一个词向量计算点积,并对输入向量中词向量之间的相关性得分进行归一化。然后通过softmax函数,将词向量之间的得分向量转换成[0,1]之间的概率分布,并根据词向量之间的概率分布,然后乘上对应的Values值,从而得到注意力结果。最后将不同组的注意力结果拼接起来,即可得到注意力向量。其中,融合自注意力机制的跨度区间相对位置编码计算公式为:
S203,通过所述预设训练模型的前馈神经网络模块对所有所述注意力向量进行全连接处理,得到全连接向量。
S204,通过所述预设训练模型的输出模块对所有所述全连接向量进行预测处理,得到预测标签。
可理解地,全连接向量为通过前馈神经网络模块对注意力向量进行全连接得到的。预测标签为通过预设训练模型对训练数据预测得到的。
具体地,在得到注意力向量之后,通过通过预设训练模型的前馈神经网络模块对所有注意力向量进行全连接处理,也即通过前馈神经网络模块中的交叉层对所有注意力向量进行交叉处理,即利用交叉层的权重进行向量初始化,得到交叉向量,通过前馈神经网络模块中的隐藏层对所有交叉向量进行全连接处理,从而得到与注意力向量对应的全连接向量。进一步地,通过输出模块的线性层对全连接向量进行线性处理,从而得到线性向量。再通过输出模块的解码层(CRF)对线性向量进行解码,即采用CRF方法对每个训练数据的线性向量作为标签解码器输出预测的标注序列,也即通过CRF条件随机场对训练数据进行预测,得到最优的标注序列,并将最优的标注序列确定为预测标签。
本发明实施例通过预设训练模型的注意力模块对所有输入向量和所有相对距离进行注意力处理,从而实现了对注意力向量的计算,进而提高了后续预测标签的准确率。通过输出模块对所有全连接向量进行预测,从而得到预测标签,进而通过位置向量融合了词汇信息和信息无损,提升了中文命名实体识别的准确率。
在一实施例中,步骤S202中,也即获取与各所述输入向量对应的相对距离,包括:
S2021,将所述输入向量输入到所述预设训练模型的转换模块中,通过所述转换模块对所述输入向量中的实体进行位置标注,得到与各所述输入向量中实体对应的开始位置编码和结束位置编码。
可理解地,开始位置编码为输入向量的第一个字符的位置。结束位置编码为输入向量的最后一个字符的位置。例如,在数字医疗领域中,北京人和药店的位置分别为1、2、3、4、5、6,该句中可能的实体为“北京”、“人和药店”、“药店”,这三个实体的开始位置编码分别为1、3、5,结束位置编码分别为2、6、6,将句子与可能的实体的head(开始位置编码)和tail(结束位置编码)都作为输入。
具体地,在得到输入向量之后,将所有输入向量输入到转换模块中,通过转换模块对所有输入向量中的字词跨度进行位置标注,也即采用BIOES方式进行标注,达到保留更多实体特征的目的。B表示实体标注开始,I表示实体标注内部,O表示无关内容,E表示实体标注结束,S表示单个字符实体。从而得到绝对位置编码。其中,位置编码的计算方式有所不同,偶数位置使用sin函数表达式(PE
S2022,对所述输入向量中实体的开始位置编码和结束位置编码进行转换处理,得到与各所述输入向量的相对距离。
具体地,在得到与各输入向量对应的开始位置编码和结束位置编码之后,对输入向量的开始位置编码和结束位置编码进行转换处理,也即将该编码拼接到一起,通过一个线性层和激活函数ReLU进行计算得到注意力计算所需要的相对距离。也即其中
本发明实施例通过对输入向量中的实体进行位置标注,从而实现了对与各输入向量对应的开始位置编码和结束位置编码的标注。对输入向量的开始位置编码和结束位置编码进行转换处理,从而实现了对与各输入向量的相对距离的获取,进而提升了中文命名实体识别的准确率。
在一实施例中,步骤S203中,也即通过所述预设训练模型的前馈神经网络模块对所有所述注意力向量进行全连接处理,得到全连接向量,包括:
S2031,通过所述前馈神经网络模块中的交叉层对所有所述注意力向量进行交叉处理,得到交叉向量。
S2032,通过所述前馈神经网络模块中的隐藏层对所有所述交叉向量进行全连接处理,得到与所述注意力向量对应的全连接向量。
可理解地,交叉向量为通过交叉层对注意力向量进行交叉得到的。
具体地,在得到注意力向量之后,对低维稀疏的注意力向量进行特征交互,即将所有注意力向量之间进行1阶到k阶的特征交互,也即利用交叉层的权重进行向量初始化,从而得到每个阶段对应的交互向量。例如,得到检查报告中的身体、人群、科室、疾病、药物、特征、生理学、症状、测试、时间和治疗等11种类型的医学命名实体对应的注意力向量,然后,从1阶到11阶的特征交互,如科室的注意力向量和生理学的注意力向量交互,或者科室及疾病的注意力向量和症状及治疗的注意力向量交互,即可得到每个阶段对应的交互向量。并将1阶到k阶的交互向量进行加权求和,得到交叉层输出的交叉向量。进一步地,通过前馈神经网络模块中的两层隐藏层对所有交叉向量进行全连接处理,也即通过第一隐藏层中第一预设数量个隐藏单元,以不同的权重值对所有交叉向量进行全连接处理,输出隐层向量。接着通过第二隐藏层中第二预设数量个隐藏单元,以不同与第一隐藏层中的权重值对所有隐层向量进行全连接处理,从而得到与注意力向量对应的全连接向量。
本发明实施例通过前馈神经网络模块中的交叉层对所有注意力向量进行交叉处理,从而实现了对交叉向量的确定。通过前馈神经网络模块中的隐藏层对所有交叉向量进行全连接处理,也即通过隐藏单元进行全连接,从而实现了对全连接向量的获取,进而提高了后续预测标签的准确率。
在一实施例中,步骤S30之后,也即确定所述预设训练模型的散度损失值之后,包括:
S70,对所有所述散度损失值进行排序,并确定所述散度损失值中的下四分位数、上四分位数以及四分位距,得到箱形图。
可理解地,下四分位数为排在25%的散度损失值。上四分位数为排在75%的散度损失值。四分位距为上四分位数和下四分位数之间的距离。区间最小值为箱形图(Q1-1.5IQR,Q3+1.5IQR)区间中的Q1-1.5IQR。Q1为下四分位,即排在25%的散度损失值。Q3为上四分位,即排在75%的散度损失值。IQR为四分位距,即Q3-Q1之间的距离。
具体地,在得到所有散度损失值之后,通过对散度损失值从大到小或从小到大依次排序,本实施例中采用从小到大依次排序。对排序后排在25%的散度损失值进行确定,将该散度损失值确定为下四分位数,并在数轴上确定下四分位数的位置。对排序后排在75%的散度损失值进行确定,将该散度损失值确定为上四分位数,并在数轴上确定上四分位数的位置。将下四分位数和上四分位数相减,得到四分位距,将下四分位数、上四分位数以及四分位距构成的图形确定为箱形图。例如,在数字医疗领域中,对识别得到的疾病和诊断、手术、解剖部位、药物、症状、影像检查、实验室检验等七种医学命名实体,对所有散度损失值排序得到[6,6,6,7,7,7,9,9],通过计算得到上四分位为8,下四分位数为6,四分位距为2,如此,即可得到箱形图。
S80,根据所述上四分位数以及所述四分位距,确定区间最小值。
S90,将所有所述散度损失值和所述区间最小值进行比较,将小于所述区间最小值的所述散度损失值对应的所述训练数据确定为目标数据。
可理解地,目标数据为散度损失值小于区间最小值的训练数据。
具体地,在得到箱形图之后,根据箱形图中的下四分位数、上四分位数以及四分位距,确定区间最小值和区间最大值,从而得到筛选区间。也即筛选区间为(Q1-1.5IQR,Q3+1.5IQR),区间最小值为Q1-1.5IQR,区间最大值为Q3+1.5IQR。将所有散度损失值和区间最小值进行比较大小,也即噪音数据的概率分布和真实标签的概率分布差距较大(相比于干净数据的概率分布)。进一步地,当散度损失值大于或等于区间最大值时,大于或等于区间最大值的散度损失值所对应的训练数据进行删除。当散度损失值小于区间最小值时,将小于区间最小值的散度损失值所对应的训练数据进行保留,并将小于区间最小值的散度损失值所对应的训练数据确定为目标数据。如此,通过上述方式确定所有目标数据。例如,在数字医疗领域中,一组散度损失值为[1,4,3,6,9,7,2,8,5],通过计算,散度损失值为[9,8,7,6]对应的训练数据为目标数据。
S100,获取与所述目标数据对应的目标预测标签和目标真实标签,根据所述目标预测标签和所述目标真实标签,确定所述预设训练模型的目标损失值。
可理解地,预测损失值为对目标数据的预测标签进行预测的过程中生成的,用于表征目标真实标签和目标预测标签之间的差值。
具体地,在得到目标数据之后,获取与目标数据对应的训练数据所对应的预测标签和真实标签,并将与目标数据对应的训练数据所对应的预测标签和真实标签确定为目标数据的目标预测标签和目标真实标签。根据目标预测标签和目标真实标签计算预设训练模型的损失值,即将目标数据对应的所有目标真实标签按照训练数据集中目标数据的顺序进行排列,进而将目标数据关联的目标预测标签,与序列相同的目标数据的目标真实标签进行比较;也即按照目标数据排序,将位于第一的目标数据对应的目标真实标签,与位于第一的目标数据对应的目标预测标签进行比较,通过损失函数确定目标真实标签与目标预测标签之间的损失值,直至所有目标真实标签与目标预测标签均比较完成,即可确定预设训练模型的目标损失值。
S110,在所述目标损失值未达到预设的收敛条件时,迭代更新所述预设训练模型中的初始参数,直至所述目标损失值达到所述收敛条件时,将收敛之后的所述预设训练模型记录为实体识别模型。
可理解地,该收敛条件可以为目标损失值小于设定阈值的条件,还可以为目标损失值经过了500次计算后值为很小且不会再下降的条件,停止训练。
具体地,确定目标损失值之后,在目标损失值未达到预设的收敛条件时,根据该目标损失值调整预设训练模型的初始参数,并将所有目标数据重新输入至调整初始参数后的预设训练模型中,重新对预设训练模型进行训练,得到与调整初始参数的预设训练模型相对应的目标损失值,并在该目标损失值未达到预设的收敛条件时,根据该目标损失值再次调整预设训练模型的初始参数,使得再次调整初始参数的预设训练模型的目标损失值达到预设的收敛条件。如此,使得预设训练模型输出的结果可以不断向准确地结果靠拢,让实体识别准确率越来越高,直至所有目标数据的目标损失值均达到预设的收敛条件时,将收敛之后的预设训练模型记录为实体识别模型。
本发明实施例通过对散度损失值进行排序,并对排序后的散度损失值中的下四分位数、上四分位数以及四分位距进行确定,从而实现了对箱形图的确定。根据训练数据的散度损失值大于干净样本数据的散度损失值这一特性,通过箱形图分析法对所有散度损失值进行筛选,从而实现了对目标数据的确定,提高了后续对实体识别模型的能力。根据目标预测标签和目标真实标签,从而实现了对预设训练模型的预测损失值的获取,进而实现了在预测损失值达到收敛条件时,将预设训练模型确定为实体识别模型,以及确保了实体识别模型有较高的实体识别准确率。
在一实施例中,如图3所示,提供一种中文命名实体识别方法,该方法应用上述训练完成的实体识别模型为例进行说明,包括如下步骤:
S11,获取至少一个待识别数据。
S12,调取实体识别模型,所述实体识别模型为根据上述实体识别模型训练方法训练得到的。
S13,基于所述实体识别模型对所有所述待识别数据进行实体识别,得到与各所述待识别数据对应的实体识别结果。
可理解地,待识别数据为需要进行实体识别的数据,例如,在数字医疗领域中,待识别数据可以为检查报告,还可以为处方,亦或者可以为病例报告等。待识别数据可以从不同的数据库中采集得到的,亦或者从不同网站上采集得到,也可以是从客户端发送到服务器中。实体识别模型为根据上述实体识别模型训练方法训练得到的训练好的模型。实体识别结果为根据训练好的实体识别模型对待识别数据进行预测得到的结果。
具体地,将所有待识别数据均输入到实体识别模型中,通过实体识别模型的输入模块对所有待识别数据进行初始化处理,从而得到与各待识别数据对应的输入向量。通过实体识别模型中的转换模块对输入向量中的实体进行位置标注,从而得到与各输入向量对应的相对距离。再通过实体识别模型的注意力模块对所有输入向量和所有相对距离进行注意力处理,从而得到与各待识别数据对应的注意力向量。通过实体识别模型的前馈神经网络模块对所有注意力向量进行全连接处理,从而得到全连接向量。通过实体识别模型的输出模块对所有全连接向量进行预测处理,从而得到与各待识别数据对应的实体识别结果。具体过程与上述步骤S201至S204相同,在此不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执的行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种中文命名实体识别装置,该中文命名实体识别装置与上述实施例中中文命名实体识别方法一一对应。如图5所示,该中文命名实体识别装置包括获取模块11、调用模块12和实体识别模块13。各功能模块详细说明如下:
获取模块11,用于获取至少一个待识别数据。
调用模块12,用于调取实体识别模型,所述实体识别模型为根据上述实体识别模型训练方法训练得到的。
实体识别模块13,用于基于所述实体识别模型对所有所述待识别数据进行实体识别,得到与各所述待识别数据对应的实体识别结果。
在一实施例中,提供一种实体识别模型训练装置,该实体识别模型训练装置与上述实施例中实体识别模型训练方法一一对应。如图4所示,该实体识别模型训练装置包括数据获取模块10、数据预测模块20、损失确定模块30、均值处理模块40、预测损失模块50和模型收敛模块60。各功能模块详细说明如下:
数据获取模块10,用于获取训练数据集,所述训练数据集包括至少一个训练数据和与所述训练数据对应的真实标签;
数据预测模块20,用于获取预设训练模型,通过所述预设训练模型对所有所述训练数据进行预测,得到与各所述训练数据对应的预测标签;
损失确定模块30,用于根据与同一所述训练数据对应的所述预测标签和所述真实标签,确定所述训练数据的散度损失值,以及与各所述训练数据对应的第一损失值;
均值处理模块40,用于对所有所述第一损失值进行均值处理,得到所有所述训练数据的平均损失值;
预测损失模块50,用于根据所述平均损失值和所述散度损失值,确定所述预设训练模型的预测损失值;
模型收敛模块60,用于在所述预测损失值达到收敛条件时,将收敛之后的所述预设训练模型确定为实体识别模型。
在一实施例中,所述数据预测模块20包括:
输入单元,用于通过所述预设训练模型的输入模块对所有所述训练数据进行初始化处理,得到与各所述训练数据对应的输入向量;
注意力单元,用于获取与各所述输入向量对应的相对距离,通过所述预设训练模型的注意力模块对所有所述输入向量和所有所述相对距离进行注意力处理,得到与各所述训练数据对应的注意力向量;所述相对距离是指与所述输入向量对应的位置编码之间的距离;
前馈神经网络单元,用于通过所述预设训练模型的前馈神经网络模块对所有所述注意力向量进行全连接处理,得到全连接向量;
输出单元,用于通过所述预设训练模型的输出模块对所有所述全连接向量进行预测处理,得到预测标签。
在一实施例中,所述注意力单元包括:
位置标注单元,用于将所述输入向量输入到所述预设训练模型的转换模块中,通过所述转换模块对所述输入向量中的实体进行位置标注,得到与各所述输入向量中实体对应的开始位置编码和结束位置编码;
位置转换单元,用于对所述输入向量中实体的开始位置编码和结束位置编码进行转换处理,得到与各所述输入向量的相对距离。
在一实施例中,所述前馈神经网络单元包括:
交叉向量单元,用于通过所述前馈神经网络模块中的交叉层对所有所述注意力向量进行交叉处理,得到交叉向量;
全连接向量单元,用于通过所述前馈神经网络模块中的隐藏层对所有所述交叉向量进行全连接处理,得到与所述注意力向量对应的全连接向量。
在一实施例中,所述损失确定模块30包括:
箱形图模块,用于对所有所述散度损失值进行排序,并确定所述散度损失值中的下四分位数、上四分位数以及四分位距,得到箱形图;
区间最小值模块,用于根据所述上四分位数以及所述四分位距,确定区间最小值;
目标数据模块,用于将所有所述散度损失值和所述区间最小值进行比较,将小于所述区间最小值的所述散度损失值对应的所述训练数据确定为目标数据;
目标损失值模块,用于获取与所述目标数据对应的目标预测标签和目标真实标签,根据所述目标预测标签和所述目标真实标签,确定所述预设训练模型的目标损失值;
目标模型模块,用于在所述目标损失值未达到预设的收敛条件时,迭代更新所述预设训练模型中的初始参数,直至所述目标损失值达到所述收敛条件时,将收敛之后的所述预设训练模型记录为实体识别模型。
关于实体识别模型训练装置的具体限定可以参见上文中对于实体识别模型训练方法的限定,在此不再赘述。上述实体识别模型训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述实施例中实体识别模型训练方法所用到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。所述计算机程序被处理器执行时实现上述实体识别模型训练方法,或所述计算机程序被处理器执行时实现上述中文命名实体识别方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实体识别模型训练方法,或所述处理器执行所述计算机程序时实现上述中文命名实体识别方法。
在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实体识别模型训练方法,或所述计算机程序被处理器执行时实现上述中文命名实体识别方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围内。
- 机器学习模型训练方法、装置、存储介质和计算机设备
- 语句输出、模型训练方法、装置、计算机设备及存储介质
- 分类器训练方法、装置、设备和计算机可读存储介质
- 一种神经网络训练方法、装置、计算机设备和存储介质
- 实体标注方法、意图识别方法及对应装置、计算机存储介质
- 实体识别模型训练方法、装置、计算机设备及存储介质
- 实体识别模型训练方法、装置、计算机设备及存储介质