实体识别模型训练方法、装置、设备以及存储介质与流程

文档序号:29791516发布日期:2022-04-23 17:46阅读:64来源:国知局
实体识别模型训练方法、装置、设备以及存储介质与流程

1.本发明涉及人工智能领域,特别涉及一种实体识别模型训练方法、装置、设备以及存储介质。


背景技术:

2.实体识别是自然语言处理中一项至关重要的任务。实体识别是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等等。从自然语言处理的流程来看,实体识别可以看作词法分析中未登录词识别的一种,是未登录词中数量最多、识别难度最大、对分词效果影响最大的问题。同时,实体识别也是关系抽取、事件抽取、知识图谱、机器翻译、问答系统等诸多自然语言处理任务的基础。同英文实体识别任务相比,由于不采用空格等明显的标识符分开词语,中文实体识别任务需要确定词的边界。这也导致中文实体识别任务更加困难。
3.目前在中文实体识别上表现优良的模型都是基于深度学习或者统计学习的方法的模型。lstm模型被证实有助于减少分词中的错误传播,可以提升对用词和词序信息的利用率,但是对于每个字和/或词的特征提取都是基于上一个提取的方案,这种方案不能解决长距离依赖的问题。


技术实现要素:

4.本发明的主要目的为提供一种实体识别模型训练方法、装置、设备以及存储介质,旨在解决lstm模型不能解决长距离依赖的问题。
5.本发明提供了一种实体识别模型训练方法,包括:
6.获取由多个训练样本构成的训练集;其中,所述训练集包括多个训练句子以及对所述训练句子中的每个实体对应的字标注了实际标签的目标句子;
7.对所述训练句子中的每个字进行拆分并进行向量化,得到由各个字对应的向量组成的第一序列;
8.对所述训练句子进行分词处理,得到每个训练句子的词汇,并将各个词汇进行向量化,将得到的向量拼接在所述第一序列中,得到第二序列;
9.根据所述训练句子中每个字的位置对每个字赋予对应的位置序号;
10.根据所述位置序号获取所述第二序列中每个向量的首尾位置序号;其中,向量的所述首尾位置序号为对应向量的第一个字的位置序号与最后一个字的位置序号;
11.基于所述第二序列中每个向量与其他向量的首尾位置序号,对每个向量进行相对位置的编码,形成编码向量;
12.将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型。
13.进一步地,所述编码向量为矩阵向量,所述基于所述第二序列中每个向量与其他向量的首尾位置序号,对每个向量进行相对位置的编码,形成编码向量的步骤,包括:
14.计算每个向量与其他向量的行向量其中其中head[i]为第i个向量的首位置序号,head[j]为第j个向量的首位置序号,tail[i]为第i个向量的尾位置序号,tail[j]为第j个向量的尾位置序号;
[0015]
将每个向量对应的多个行向量按照在所述第二序列中的位置排列,得到各个向量对应的所述编码向量。
[0016]
进一步地,所述将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型的步骤,包括:
[0017]
将所述第二序列中的各个向量和对应的所述编码向量输入至所述实体识别初始模型的lstm层;
[0018]
在所述lstm层中,采取遮盖注意力机制对每个向量以及对应的编码向量进行特征提取,得到各自对应的特征向量;
[0019]
基于所述特征向量以及对应的所述实际标签对所述实体识别初始模型中各层训练层的参数进行训练,得到所述实体识别模型。
[0020]
进一步地,所述将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型的步骤,还包括:
[0021]
基于所述第二序列中的每一个向量对应的实体预测结果与所述目标句子中的实际结果确定训练过程中的第一损失;以及,
[0022]
对所述训练句子中的字生成的预测标签以及与所述实际标签,确定第二损失;
[0023]
将所述第一损失和所述第二损失之和作为本次训练过程中的损失值,并基于所述损失值调整所述实体识别初始模型中的模型参数;
[0024]
迭代多次后得到所述实体识别模型。
[0025]
进一步地,所述实际标签包括:起始标签、中间标签和结束标签;
[0026]
所述起始标签用于标注实体起始的第一个字;
[0027]
所述结束标签用于标注实体结束的最后一个字;
[0028]
所述中间标签用于标注实体中所述第一个字和所述最后一个字之间的字。
[0029]
进一步地,所述将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型的步骤之前,还包括:
[0030]
将所述目标句子进行分词处理,得到多个词汇;
[0031]
通过预设的向量机将每个词汇进行向量化处理,得到各词汇分别对应的词汇向量,并从中提取具有所述实际标签的实体对应的目标向量;
[0032]
判断所述词汇向量中是否具有与所述目标向量相同且不带有所述实际标签的歧义向量;
[0033]
若是,则基于所述歧义向量在对应目标句子中的对应词赋予歧义标签,以通过所述歧义标签训练所述实体识别初始模型。
[0034]
进一步地,所述将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型的步骤之后,还包括:
[0035]
获取测试集;
[0036]
将所述测试集中的测试句子输入至所述实体识别模型中,得到预测输出;
[0037]
根据公式计算模型损失值,y为预测输出,为所述测试集中的实际输出;
[0038]
判断所述模型损失值是否小于预设的损失值;
[0039]
若是,则判定所述实体识别模型可以用于实体识别。
[0040]
本发明还提供了一种实体识别模型训练装置,包括:
[0041]
第一获取模块,用于获取由多个训练样本构成的训练集;其中,所述训练集包括多个训练句子以及对所述训练句子中的每个实体对应的字标注了实际标签的目标句子;
[0042]
向量化模块,用于对所述训练句子中的每个字进行拆分并进行向量化,得到由各个字对应的向量组成的第一序列;
[0043]
分词模块,用于对所述训练句子进行分词处理,得到每个训练句子的词汇,并将各个词汇进行向量化,将得到的向量拼接在所述第一序列中,得到第二序列;
[0044]
赋予模块,用于根据所述训练句子中每个字的位置对每个字赋予对应的位置序号;
[0045]
第二获取模块,用于根据所述位置序号获取所述第二序列中每个向量的首尾位置序号;其中,向量的所述首尾位置序号为对应向量的第一个字的位置序号与最后一个字的位置序号;
[0046]
编码模块,用于基于所述第二序列中每个向量与其他向量的首尾位置序号,对每个向量进行相对位置的编码,形成编码向量;
[0047]
训练模块,用于将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型。
[0048]
本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
[0049]
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
[0050]
本发明的有益效果:获取由多个训练句子构成的训练集,标注了实际标签的目标句子,对所述训练句子进行向量化,得到第二序列,对每个字赋予对应的位置序号,获取所述第二序列中每个向量的首尾位置序号,对每个向量进行相对位置的编码,形成编码向量,将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型。从而实现了根据各个向量之间的相对位置进行实体的识别,所有的向量均能与其他向量进行交互,建立了长距离依赖,提升了识别模型的实体识别的效果。
附图说明
[0051]
图1是本发明一实施例的一种实体识别模型训练方法的流程示意图;
[0052]
图2是本发明一实施例的一种实体识别模型训练装置的结构示意框图;
[0053]
图3为本技术一实施例的计算机设备的结构示意框图。
[0054]
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0055]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056]
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后等)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
[0057]
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
[0058]
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
[0059]
参照图1,本发明提出一种实体识别模型训练方法,包括:
[0060]
s1:获取由多个训练样本构成的训练集;其中,所述训练集包括多个训练句子以及对所述训练句子中的每个实体对应的字标注了实际标签的目标句子;
[0061]
s2:对所述训练句子中的每个字进行拆分并进行向量化,得到由各个字对应的向量组成的第一序列;
[0062]
s3:对所述训练句子进行分词处理,得到每个训练句子的词汇,并将各个词汇进行向量化,将得到的向量拼接在所述第一序列中,得到第二序列;
[0063]
s4:根据所述训练句子中每个字的位置对每个字赋予对应的位置序号;
[0064]
s5:根据所述位置序号获取所述第二序列中每个向量的首尾位置序号;其中,向量的所述首尾位置序号为对应向量的第一个字的位置序号与最后一个字的位置序号;
[0065]
s6:基于所述第二序列中每个向量与其他向量的首尾位置序号,对每个向量进行相对位置的编码,形成编码向量;
[0066]
s7:将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型。
[0067]
如上述步骤s1所述,获取由多个训练样本构成的训练集;其中,所述训练集包括多个训练句子以及对所述训练句子中的每个实体对应的字标注了实际标签的目标句子。其
中,训练句子为包含有实体的句子,实体一般为人名、地名、机构名、专有名词等。而目标句子与训练句子相对应,不同点在于目标句子中对实体的每个字进行了标注,标注的形式不做限定,可以用于识别实体即可。
[0068]
如上述步骤s2所述,对所述训练句子中的每个字进行拆分并进行向量化,得到由各个字对应的向量组成的第一序列。由于训练句子为文本格式,可以直接进行拆分,得到单个字的向量表示,向量化的方式可以借据向量机或者word2vec来实现对每个字的向量化,另外向量化的规则不做限定,以尽可能准确表达该字的向量为优,从而得到由各个字对应向量组成的第一序列。
[0069]
如上述步骤s3所述,对所述训练句子进行分词处理,得到每个训练句子的词汇,并将各个词汇进行向量化,将得到的向量拼接在所述第一序列中,得到第二序列。其中,分词处理的方式可以采用lstm的方式,但需要采用遮盖注意力的形式,即每个词的向量生成与其上一个生成的向量无关。也可以采用其他的分词工具进行分词,例如hanlp、nltir等分词工具进行分词,然后再对每个词汇进行向量化的处理,按照所述训练句子中的位置拼接在所述第一序列中,其中,拼接的方式可以是将各个词汇进行向量化得到的向量按照在训练句子中的顺序进行拼接,形成暂时序列,然后将暂时序列与第一序列进行拼接,可以拼接在第一序列的尾部,也可以拼接在第一序列的前端。在一些实施例中也可以拼接在第一序列的中间,但是形成的第二序列,由于单个字的向量没有排列在一块,导致后续训练模型的效果不好。优选采用拼接在第一序列的尾部或前端。
[0070]
如上述步骤s4所述,根据所述训练句子中每个字的位置对每个字赋予对应的位置序号。位置序号可以采用任何的序号表示,例如通过阿拉伯数字,也可以采用汉语的文字,也可以用英文字母表示,本实施例以阿拉伯数字进行描述,以“重庆人和药店”为例,则分别对应的序号为1、2、3、4、5、6,即完成对每个字都赋予了一个位置序号。
[0071]
如上述步骤s5所述,根据所述位置序号获取所述第二序列中每个向量的首尾位置序号。其中,向量的所述首尾位置序号为对应向量的第一个字的位置序号与最后一个字的位置序号;由于第二序列中为由字和词组成的,因此其对应的首位置和尾位置序号,可以是相同的,也可以是不同的,以上述“重庆人和药店”为例,则分别对应的序号为1、2、3、4、5、6;对于“重”所对应的向量,则其对应的首位置序号1,尾位置序号为1,对于后续的“重庆”,则对应的首位置序号1,尾位置序号为2,即第一个字和最后一个字的位置序号,得到每个向量的首尾位置序号。
[0072]
如上述步骤s6所述,基于所述第二序列中每个向量与其他向量的首尾位置序号,对每个向量进行相对位置的编码,形成编码向量。其中,相对位置的编码为基于该向量的首尾位置计算与其他向量的相对位置所得到的各个编码,将得到的各个编码排列成向量矩阵,即得到每个向量的编码向量。具体地生成方式后续有详细说明,此处不再赘述。
[0073]
如上述步骤s7所述,将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型。其中,该实体识别模型可以是任意的实体识别模型,优选为神经网络模型,该实体识别模型输出的结果为对每个输入的句子进行实体的标注,即对句子中的实体的每个字进行标注,而目标句子用于检测模型的标注情况,并返还损失值给实体识别初始模型,迭代多次后得到实体识别模型。从而实现了根据各个向量之间的相对位置进行实体的识别,所有的
向量均能与其他向量进行交互,建立了长距离依赖,提升了识别模型的实体识别的效果。
[0074]
在一个实施例中,所述编码向量为矩阵向量,所述基于所述第二序列中每个向量与其他向量的首尾位置序号,对每个向量进行相对位置的编码,形成编码向量的步骤s6,包括:
[0075]
s601:计算每个向量与其他向量的行向量其中其中其中head[i]为第i个向量的首位置序号,head[j]为第j个向量的首位置序号,tail[i]为第i个向量的尾位置序号,tail[j]为第j个向量的尾位置序号;
[0076]
s602:将每个向量对应的多个行向量按照在所述第二序列中的位置排列,得到各个向量对应的所述编码向量。
[0077]
如上述步骤s601-s602所述,实现了对编码向量的构建,计算每个向量与其他向量的行向量其中其中其中head[i]为第i个向量的首位置序号,head[j]为第j个向量的首位置序号,tail[i]为第i个向量的尾位置序号,tail[j]为第j个向量的尾位置序号。由于各个向量的首尾位置序号已知,故而根据上述计算方式,计算得到每个向量与其他各个向量之间的行向量。按照在所述第二序列中的位置排列,得到各个向量对应的所述编码向量,即该编码向量为一个矩阵。从而实现了编码向量中具有与其他各个向量之间的相对位置信息,且不依赖于上一个向量的形成。每一个向量与其他各个向量都进行了交互,建立了长距离依赖,提升了识别模型的实体识别的准确率。
[0078]
在一个实施例中,所述将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型的步骤s7,包括:
[0079]
s701:将所述第二序列中的各个向量和对应的所述编码向量输入至所述实体识别初始模型的lstm层;
[0080]
s702:在所述lstm层中,采取遮盖注意力机制对每个向量以及对应的编码向量进行特征提取,得到各自对应的特征向量;
[0081]
s703:基于所述特征向量以及对应的所述实际标签对所述实体识别初始模型中各层训练层的参数进行训练,得到所述实体识别模型。
[0082]
如上述步骤s701-s703所述,实现了对实体识别初始模型的训练,得到了实体识别模型。具体地,即将各个向量以及对应的所述编码向量输入至所述实体识别初始模型的lstm层,其中该lstm层为特征提取层,一般的识别模型都是对特征依次进行提取,即当前特征的生成会依赖于上一个特征的值,因此,需要采取遮盖注意力机制,将这种依赖关系删除,特征提取的方式为可以将向量和对应的所述编码向量进行点乘,也可以采用其他的特
征提取方式,最终形成对应的特征向量,然后将特征向量输出到对应的实际标签以及对所述实体识别初始模型中各层训练层的参数进行训练,即将该特征向量输入至最终的全连接层中,输出为对应各个字的标注情况,对识别到的实体进行打上标签,将所述实际标签作为实际结果,求出损失值对模型进行优化的迭代方式,从而得到实体识别模型。从而使生成的实体识别模型建立了长距离依赖,具有很好的实体识别效果。
[0083]
在一个实施例中,所述将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型的步骤s7,还包括:
[0084]
s701:基于所述第二序列中的每一个向量对应的实体预测结果与所述目标句子中的实际结果确定训练过程中的第一损失;以及,
[0085]
s702:对所述训练句子中的字生成的预测标签以及与所述实际标签,确定第二损失;
[0086]
s703:将所述第一损失和所述第二损失之和作为本次训练过程中的损失值,并基于所述损失值调整所述实体识别初始模型中的模型参数;
[0087]
s704:迭代多次后得到所述实体识别模型。
[0088]
如上述步骤s701-s704所述,实现了对实体识别模型的迭代训练,即获取到于所述第二序列中的每一个向量对应的实体预测结果确定训练过程中的第一损失,即对实体的识别结果与实际的结果作为第一损失,将预测标签与实际标签,确定为第二损失,即标签的损失,作为第二损失,其中,前者基于实体的组成的全部字,例如对“重庆人和药店”进行识别,其中“重庆”为实体,而若识别到为“重庆人”为实体,则记为一处实体识别失败,因此将实体识别失败的数量与实体识别到的总数相比记为第一损失。而对于单个字的标签,则只有“人”这一个字为标签的识别错误,将标签识别错误的数量,与标签识别的总数相比记为第二损失,然后以此相加作为总体的损失值,再基于损失值调整模型参数,迭代多次后即可得到最终的实体识别模型。从而提高了对实体识别模型的损失值训练效果,使得到的实体识别模型的识别实体的精度更好。
[0089]
在一个实施例中,所述实际标签包括:起始标签、中间标签和结束标签。所述起始标签用于标注实体起始的第一个字;所述结束标签用于标注实体结束的最后一个字;所述中间标签用于标注实体中所述第一个字和所述最后一个字之间的字。具体地,对于“重庆人和药店”而言,为“重庆”中的“重”赋予起始标签,为“庆”赋予结束标签,而对于“人和药店”而言,为“人”赋予起始标签,为“和”、“药”赋予中间标签,而为“店”赋予结束标签,从而在模型对各个字进行标签的赋予可以直观的看出各个字的标签是否正确,若不用起始标签、中间标签和结束标签,识别过程中识别到“重庆人”为实体,但是实际“重庆”以及“人和药店”都为实体,因此会造成这样的误差,加入了三个标签后,若识别到“重庆人”为实体,则“庆”和“人”的标签种类均不正确,模型可以得到该识别不准确的情况,从而使模型的识别效果更好。
[0090]
在一个实施例中,所述将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型的步骤s7之前,还包括:
[0091]
s611:将所述目标句子进行分词处理,得到多个词汇;
[0092]
s612:通过预设的向量机将每个词汇进行向量化处理,得到各词汇分别对应的词汇向量,并从中提取具有所述实际标签的实体对应的目标向量;
[0093]
s613:判断所述词汇向量中是否具有与所述目标向量相同且不带有所述实际标签的歧义向量;
[0094]
s614:若是,则基于所述歧义向量在对应目标句子中的对应词赋予歧义标签,以通过所述歧义标签训练所述实体识别初始模型。
[0095]
如上述步骤s611-s614所述,实现了对模型的更好的训练,即将目标句子进行分词处理,得到多个词汇,然后提取具有所述标签的实体对应的目标向量,并找到相同向量表示,但不是实体的歧义向量,例如“苹果公司为年会采购了不少苹果”,则前者“苹果”为实体,后者的“苹果”不是实体,则需要给后续的苹果所对应的歧义向量赋予对应的歧义标签,以使后续的训练过程中,可以对该词的识别情况进行标记,从而使得到的实体识别模型能更好的区分实体和非实体的能力。
[0096]
在一个实施例中,所述将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型的步骤s7之后,还包括:
[0097]
s801:获取测试集;
[0098]
s802:将所述测试集中的测试句子输入至所述实体识别模型中,得到预测输出;
[0099]
s803:根据公式计算模型损失值,所述y为预测输出,为所述测试集中的实际输出;
[0100]
s804:判断所述模型损失值是否小于预设的损失值;
[0101]
s805:若是,则判定所述实体识别模型可以用于实体识别。
[0102]
如上述步骤s801-s805所述,实现了对实体识别模型的精度检测。即获取到测试集,该测试集一般为人为上传的测试集,其中,测试集也可以从训练集中提取,但是这种得到的损失值误差会较大,故而一般采用人为上传的测试集。根据公式到的损失值误差会较大,故而一般采用人为上传的测试集。根据公式计算模型损失值,所述y为预测输出,为所述测试集中的实际输出,l为损失值,判断所述模型损失值是否小于预设的损失值,预设的损失值为事先设定的损失值,若小于该损失值,则认为模型具有很好识别效果,可以使用,若大于该损失值,则表明该模型的精度不够,还需要继续训练。从而实现了对模型精度的检测,对实体识别模型的识别效果进行了判断,从而保证得到的实体识别模型具有很好的识别精度。
[0103]
本发明还提供了实体识别模型训练装置,包括:
[0104]
第一获取模块10,用于获取由多个训练样本构成的训练集;其中,所述训练集包括多个训练句子以及对所述训练句子中的每个实体对应的字标注了实际标签的目标句子;
[0105]
向量化模块20,用于对所述训练句子中的每个字进行拆分并进行向量化,得到由各个字对应的向量组成的第一序列;
[0106]
分词模块30,用于对所述训练句子进行分词处理,得到每个训练句子的词汇,并将各个词汇进行向量化,将得到的向量拼接在所述第一序列中,得到第二序列;
[0107]
赋予模块40,用于根据所述训练句子中每个字的位置对每个字赋予对应的位置序号;
[0108]
第二获取模块50,用于根据所述位置序号获取所述第二序列中每个向量的首尾位置序号;其中,向量的所述首尾位置序号为对应向量的第一个字的位置序号与最后一个字的位置序号;
[0109]
编码模块60,用于基于所述第二序列中每个向量与其他向量的首尾位置序号,对每个向量进行相对位置的编码,形成编码向量;
[0110]
训练模块70,用于将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型。
[0111]
在一个实施例中,所述编码向量为矩阵向量,编码模块60,包括:
[0112]
行向量计算子模块,用于计算每个向量与其他向量的行向量其中其中head[i]为第i个向量的首位置序号,head[j]为第j个向量的首位置序号,tail[i]为第i个向量的尾位置序号,tail[j]为第j个向量的尾位置序号;
[0113]
行向量排列子模块,用于将每个向量对应的多个行向量按照在所述第二序列中的位置排列,得到各个向量对应的所述编码向量。
[0114]
在一个实施例中,训练模块70,包括:
[0115]
编码向量输入子模块,用于将所述第二序列中的各个向量和对应的所述编码向量输入至所述实体识别初始模型的lstm层;
[0116]
特征提取模块,用于在所述lstm层中,采取遮盖注意力机制对每个向量以及对应的编码向量进行特征提取,得到各自对应的特征向量;
[0117]
训练子模块,用于基于所述特征向量以及对应的所述实际标签对所述实体识别初始模型中各层训练层的参数进行训练,得到所述实体识别模型。
[0118]
在一个实施例中,训练模块70,还包括:
[0119]
损失确定子模块,用于基于所述第二序列中的每一个向量对应的实体预测结果与所述目标句子中的实际结果确定训练过程中的第一损失;以及,
[0120]
对所述训练句子中的字生成的预测标签以及与所述实际标签,确定第二损失;
[0121]
调整子模块,用于将所述第一损失和所述第二损失之和作为本次训练过程中的损失值,并基于所述损失值调整所述实体识别初始模型中的模型参数;
[0122]
迭代子模块,用于迭代多次后得到所述实体识别模型。
[0123]
在一个实施例中,所述实际标签包括:起始标签、中间标签和结束标签;
[0124]
所述起始标签用于标注实体起始的第一个字;
[0125]
所述结束标签用于标注实体结束的最后一个字;
[0126]
所述中间标签用于标注实体中所述第一个字和所述最后一个字之间的字。
[0127]
在一个实施例中,实体识别模型训练装置,还包括:
[0128]
目标句子分词模块,用于将所述目标句子进行分词处理,得到多个词汇;
[0129]
向量化处理模块,用于通过预设的向量机将每个词汇进行向量化处理,得到各词汇分别对应的词汇向量,并从中提取具有所述实际标签的实体对应的目标向量;
[0130]
歧义向量判断模块,用于判断所述词汇向量中是否具有与所述目标向量相同且不带有所述实际标签的歧义向量;
[0131]
歧义标签训练模块,用于若是,则基于所述歧义向量在对应目标句子中的对应词赋予歧义标签,以通过所述歧义标签训练所述实体识别初始模型。
[0132]
在一个实施例中,实体识别模型训练装置,还包括:
[0133]
测试集获取模块,用于获取测试集;
[0134]
预测输出获取模块,用于将所述测试集中的测试句子输入至所述实体识别模型中,得到预测输出;
[0135]
损失值计算模块,用于根据公式损失值计算模块,用于根据公式计算模型损失值,y为预测输出,为所述测试集中的实际输出;
[0136]
损失值判断模块,用于判断所述模型损失值是否小于预设的损失值;
[0137]
实体识别模型判定模块,用于若是,则判定所述实体识别模型可以用于实体识别。
[0138]
本发明的有益效果:获取由多个训练句子构成的训练集,标注了实际标签的目标句子,对所述训练句子进行向量化,得到第二序列,对每个字赋予对应的位置序号,获取所述第二序列中每个向量的首尾位置序号,对每个向量进行相对位置的编码,形成编码向量,将所述第二序列和各个所述编码向量作为实体识别初始模型的输入,以及将所述目标句子作为所述实体识别初始模型的输出,训练得到所述实体识别模型。从而实现了根据各个向量之间的相对位置进行实体的识别,所有的向量均能与其他向量进行交互,建立了长距离依赖,提升了识别模型的实体识别的效果。
[0139]
本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
[0140]
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0141]
参照图3,本技术实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储各种训练样本等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时可以实现上述任一实施例所述的实体识别模型训练方法。
[0142]
本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结
构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定。
[0143]
本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时可以实现上述任一实施例所述的实体识别模型训练方法。
[0144]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram一多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0145]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0146]
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
[0147]
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
[0148]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1