一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

命名实体识别方法、装置、设备及介质与流程

2022-10-22 07:06:44 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,尤其涉及一种命名实体识别方法、装置、设备及介质。


背景技术:

2.命名实体识别(named entity recognition,简称ner),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。业内提出命名实体识别一般使用crf模型,或者lstm crf模型进行识别,若是使用这些模型,在模型训练前,需要对命名实体所在的句子进行bmes的四种标注,b表示一个词的词首位值,m表示一个词的中间位置,e表示一个词的末尾位置,s表示一个单独的字词,由于这类标注方法需要bmes四种标注,因此,标注成本较大。


技术实现要素:

3.针对上述技术问题,本技术的目的在于提供一种命名实体识别方法、装置、设备及介质,旨在解决采用crf模型,或者lstm crf模型进行命名实体识别,标注成本大的问题。
4.第一方面,本发明实施例提供一种命名实体识别方法,包括:
5.获取待识别句子;
6.根据预设的输入模板将所述待识别句子中的每一个字依次作为[w],输入预先训练好的标注识别模型进行识别,得到对应的标注识别结果;其中,所述输入模板为[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep],[cls]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w13代表句子中的第三个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;所述预先训练好的标注识别模型是通过基于待训练句子以及所述待训练句子每个字的标注对bert模型进行训练得到;
[0007]
将属于实体的标注对应的字从所述待识别句子中提取出来,得到命名实体识别结果。
[0008]
进一步的,在获取待识别句子之前,还包括:
[0009]
将所述bert模型的输入模板[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep]替换为所述预设的输入模板[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep];其中,w21代表第二个句子中的第一个字,w22代表第二个句子中的第二个字,w23代表第二个句子中的第三个字,w2n代表第二个句子中的第n个字。
[0010]
进一步的,每一个实体的标注都由带有第一字母和第二字母结尾的字符组成,非实体字的标注都用第三字母表示。
[0011]
进一步的,实体的第一个字对应的标注用xb表示,实体的其他字对应的标注均用xn表示,非实体字的标注用s表示,其中,对于不同类型的实体,x不同,x可以是任一一个字母。
[0012]
进一步的,所述标注包括nb,nm,ob,om,ab,am,s;其中,nb代表姓名开头,nm代表姓名其他,ob代表机构名开头,om代表机构名其他,ab代表地址名开头,am代表地址名其他,s代表其他非实体的字。
[0013]
进一步的,所述预先训练好的标注识别模型通过如下方式训练得到:
[0014]
获取待训练句子以及所述待训练句子每个字的标注;
[0015]
基于待训练句子以及所述待训练句子每个字的标注,采用交叉熵损失函数以及梯度反向传播方法对所述bert模型进行训练得到。
[0016]
第二方面,本发明实施例提供一种命名实体识别装置,包括:
[0017]
获取模块,用于获取待识别句子;
[0018]
输入模块,用于根据预设的输入模板将所述待识别句子中的每一个字依次作为[w],输入预先训练好的标注识别模型进行识别,得到对应的标注识别结果;其中,所述输入模板为[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep],[cls]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;所述预先训练好的标注识别模型是通过基于待训练句子以及所述待训练句子每个字的标注对bert模型进行训练得到;
[0019]
提取模块,用于将属于实体的标注对应的字从所述待识别句子中提取出来,得到命名实体识别结果。
[0020]
进一步的,所述的命名实体识别装置,还包括:
[0021]
替换模块,用于将所述bert模型的输入模板[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep]替换为所述预设的输入模板[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep]。
[0022]
第三方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
[0023]
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
[0024]
本发明实施例提供一种命名实体识别方法,包括:获取待识别句子;根据预设的输入模板将所述待识别句子中的每一个字依次作为[w],输入预先训练好的标注识别模型进行识别,得到对应的标注识别结果;其中,所述输入模板为[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep],[cls]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w13代表句子中的第三个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;所述预先训练好的标注识别模型是通过基于待训练句子以及所述待训练句子每个字的标注对bert模型进行训练得到;将属于实体的标注对应的字从所述待识别句子中提取出来,得到命名实体识别结果。由于本发明实施例采用的并非是crf模型,或者lstm crf模,而是使用的是bert模型,且将bert模型输入模板[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep]改为[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep],其中,[cls]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;由于本发明模板是基于字级别预测
每个字对应的标注,而不是基于词级别预测每个词对应的标注,因此,使得可以通过少于四种标注的标注方法对训练数据进行标注,从而减少了标注成本。
附图说明
[0025]
为了更清楚地说明本技术的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]
图1是本技术第一实施例提供的一种命名实体识别方法的流程示意图;
[0027]
图2是本技术第二实施例提供的一种命名实体识别装置的结构示意图;
[0028]
图3为本技术第三实施例提供的计算机设备的结构示意框图。
具体实施方式
[0029]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0030]
实施例一:
[0031]
请参阅图1,本技术实施例提供的一种命名实体识别方法,包括步骤s1-s3:
[0032]
s1、获取待识别句子;
[0033]
s2、根据预设的输入模板将所述待识别句子中的每一个字依次作为[w],输入预先训练好的标注识别模型进行识别,得到对应的标注识别结果;其中,所述输入模板为[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep],[cls]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w13代表句子中的第三个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;所述预先训练好的标注识别模型是通过基于待训练句子以及所述待训练句子每个字的标注对bert模型进行训练得到;
[0034]
s3、将属于实体的标注对应的字从所述待识别句子中提取出来,得到命名实体识别结果。
[0035]
如上述步骤s1,在一个实施例中,终端设备将待识别句子上传到服务器,当待识别句子上传到服务器后,服务器执行步骤s1-s3,得到命名实体识别结果。终端设备可以是智能手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、手持计算机、pc设备、个人数字助理(personal digital assistant,pda)等。
[0036]
如上述步骤s2、s3,需要说明的是,一般来说,bert模型在训练时的输入由如下部分组成:[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep];其中[cls]代表句向量,w11代表第一个句子中的第一个字,w12代表第一个句子中的第二个字w13代表句子中的第三个字,[sep]是分割符;w21代表第二个句子中的第一个字,w22代表第二个句子中的第二个字,w23代表第二个句子中的第三个字,w2n代表第二个句子中的第n个字。由于bert模型的输入模板不适合训练标注识别模型,因此,需要对第二个句子进行替换,转而由
一个模板句子组成。本发明实施例使用的模板句子为:[w]是[label]实体;替换后的输入为[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep]。具体地,利用prompt将bert模型的输入模板[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep]替换为所述预设的输入模板[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep]。应当理解的是,prompt是一种输入模板,用来给预训练模型“做出提示”,预训练模型一“看到”它,就知道自己要完成什么任务。需要说明的是,由于bert模型的处理单元是句向量,而本发明设计的[cls],w11,w12,w13,

,w1n,[sep],[w]也是句向量,因此,bert模型依旧能够对[cls],w11,w12,w13,

,w1n,[sep],[w]这样的输入进行处理。还需要强调的是,本发明实施例基于的是字级别,而不是词级别,[label]是模型需要预测的标注(标注),这些标注可以是:[nb,nm,ob,om,ab,am,s],其中,每一个实体都由带b和m结尾的字符组成,nb代表姓名开头,nm代表姓名其他,ob代表机构名开头,om代表机构名其他,ab代表地址名开头,am代表地址名其他。每一组label都由b和m构成,这里实体除了姓名,机构名,地址名以外还可以由其他实体类型组成,可以横向扩展,这里只是用这三种实体类型举例。s代表其他非实体的字。
[0037]
在模型训练前,先对训练数据进行标注,例如:张三是位好同志,其中张三为人名姓名,标注后为:
[0038]
张,三,是,位,好,同,志
[0039]
nb,nm,s,s,s,s,s
[0040]
标注完数据后,对模型进行训练:将句子中的每一个字依次作为[w],输入进bert模型,即
[0041]
[cls],张,三,是,位,好,同,志,[sep],张,是,[label],实,体,[sep]
[0042]
[cls],张,三,是,位,好,同,志,[sep],三,是,[label],实,体,[sep]
[0043]
[cls],张,三,是,位,好,同,志,[sep],是,是,[label],实,体,[sep]
[0044]
[cls],张,三,是,位,好,同,志,[sep],位,是,[label],实,体,[sep]
[0045]
[cls],张,三,是,位,好,同,志,[sep],好,是,[label],实,体,[sep]
[0046]
[cls],张,三,是,位,好,同,志,[sep],同,是,[label],实,体,[sep]
[0047]
[cls],张,三,是,位,好,同,志,[sep],志,是,[label],实,体,[sep]
[0048]
由bert模型去预测[label]的值,预测的值(预测标注)与真实的值(真实标注)之间的损失函数使用交叉熵函数计算,再由梯度反向传播方法进行模型参数更新训练。
[0049]
对于[cls],张,三,是,位,好,同,志,[sep],张,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[nb]。
[0050]
对于[cls],张,三,是,位,好,同,志,[sep],三,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[nm]。
[0051]
对于[cls],张,三,是,位,好,同,志,[sep],是,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[s]。
[0052]
对于[cls],张,三,是,位,好,同,志,[sep],位,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[s]。
[0053]
对于[cls],张,三,是,位,好,同,志,[sep],好,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[s]。
[0054]
对于[cls],张,三,是,位,好,同,志,[sep],同,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[s]。
[0055]
对于[cls],张,三,是,位,好,同,志,[sep],志,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[s]。
[0056]
模型训练好后,对于待识别句子,我喜欢小明,模型输出为:[s],[s],[s],[nb],[nm],将模型输出的[nb],[nm]位置与输入原句位置对应,将第4位第5位的字提取出来,“小明”,这个就是姓名实体。
[0057]
由于本发明实施例采用的并非是crf模型,或者lstm crf模,而是使用的是bert模型,且将bert模型输入模板[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep]改为[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep],其中,[cls]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w13代表句子中的第三个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;由于本发明模板是基于字级别预测每个字对应的标注,而不是基于词级别预测每个词对应的标注,因此,使得可以通过少于四种标注的标注方法对训练数据进行标注,从而减少了标注成本。
[0058]
在一个实施例中,在获取待识别句子之前,还包括:
[0059]
将所述bert模型的输入模板[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep]替换为所述预设的输入模板[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep];其中,w21代表第二个句子中的第一个字,w22代表第二个句子中的第二个字,w23代表第二个句子中的第三个字,w2n代表第二个句子中的第n个字。
[0060]
在本发明实施例中,需要说明的是,由于bert模型的输入模板不适合训练标注识别模型,因此,需要对将bert模型的输入模板[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep]替换为所述预设的输入模板[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep],具体地,将w21,w22,w23,

,w2n删掉,并将[w],是,[label],实,体添加到所述模板中。需要说明的是,通过prompt方法,可以将bert模型的输入模板[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep]替换为所述预设的输入模板[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep]。
[0061]
在一个实施例中,每一个实体的标注都由带有第一字母和第二字母结尾的字符组成,非实体字的标注都用第三字母表示。
[0062]
在本发明实施例中,相比于bmes四种标注,本发明实施例只用到了第一字母、第二字母以及第三字母三种标注,因此,节省了标注数据成本。
[0063]
在一个实施例中,实体的第一个字对应的标注用xb表示,实体的其他字对应的标注均用xm表示,非实体字的标注用s表示,其中,对于不同类型的实体,x不同,x可以是任一一个字母。
[0064]
在本发明实施例中,所述x可以是n,若nb代表姓名开头,那么nm代表姓名其他,例如,李小明,李对应的标注为nb,小对应的标注为nm,明对应的标注为nm,若x是o,且ob代表机构名开头,那么,om代表机构名其他,例如,平安科技,平对应的标注为ob,安对应的标注为om,科对应的标注为om,技对应的标注为om。本发明实施例的x可根据实际实体类型设计,因此对此不作限制。由此可见,相比于bmes四种标注,本发明实施例只用到了bms三种标注,
因此,将本发明实施例能够减少标注成本。
[0065]
在一个实施例中,所述标注包括nb,nm,ob,om,ab,am,s;其中,nb代表姓名开头,nm代表姓名其他,ob代表机构名开头,om代表机构名其他,ab代表地址名开头,am代表地址名其他,s代表其他非实体的字。
[0066]
在一个实施例中,所述预先训练好的标注识别模型通过如下方式训练得到:
[0067]
获取待训练句子以及所述待训练句子每个字的标注;
[0068]
基于待训练句子以及所述待训练句子每个字的标注,采用交叉熵损失函数以及梯度反向传播方法对所述bert模型进行训练得到。
[0069]
在本发明实施例中,需要说明的是,采用交叉熵损失函数以及梯度反向传播方法对bert模型进行训练,获得较好的效果。但由于用于模型训练的损失函数以及学习方法多种多样,因此,本发明实施例对此不作限制。
[0070]
基于与上述命名实体识别方法相同的发明构思,本发明实施例提供一种命名实体识别装置,包括:
[0071]
获取模块1,用于获取待识别句子;
[0072]
输入模块2,用于根据预设的输入模板将所述待识别句子中的每一个字依次作为[w],输入预先训练好的标注识别模型进行识别,得到对应的标注识别结果;其中,所述输入模板为[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep],[cls]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w13代表句子中的第三个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;所述预先训练好的标注识别模型是通过基于待训练句子以及所述待训练句子每个字的标注对bert模型进行训练得到;
[0073]
提取模块3,用于将属于实体的标注对应的字从所述待识别句子中提取出来,得到命名实体识别结果。
[0074]
如上述获取模块1,在一个实施例中,终端设备将待识别句子上传到服务器,当待识别句子上传到服务器后,服务器执行步骤s1-s3,得到命名实体识别结果。终端设备可以是智能手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、手持计算机、pc设备、个人数字助理(personal digital assistant,pda)等。
[0075]
如上述输入模块2、提取模块3,需要说明的是,一般来说,bert模型在训练时的输入由如下部分组成:[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep];其中[cls]代表句向量,w11代表第一个句子中的第一个字,w12代表第一个句子中的第二个字;w13代表句子中的第三个字,[sep]是分割符;w21代表第二个句子中的第一个字,w22代表第二个句子中的第二个字,w23代表第二个句子中的第三个字,w2n代表第二个句子中的第n个字。由于bert模型的输入模板不适合训练标注识别模型,因此,需要对第二个句子进行替换,转而由一个模板句子组成。本发明实施例使用的模板句子为:[w]是[label]实体;替换后的输入为[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep];其中[w]为第一个句子中的字,需要强调的是,本发明实施例基于的是字级别,而不是词级别,[label]是模型需要预测的标注(标注),这些标注可以是:[nb,nm,ob,om,ab,am,s],其中,每一个实体都由带b和m结尾的字符组成,nb代表姓名开头,nm代表姓名其他,ob代表机构名开头,om
代表机构名其他,ab代表地址名开头,am代表地址名其他。每一组label都由b和m构成,这里实体除了姓名,机构名,地址名以外还可以由其他实体类型组成,可以横向扩展,这里只是用这三种实体类型举例。s代表其他非实体的字。
[0076]
在模型训练前,先对训练数据进行标注,例如:张三是位好同志,其中张三为人名姓名,标注后为:
[0077]
张,三,是,位,好,同,志
[0078]
nb,nm,s,s,s,s,s
[0079]
标注完数据后,对模型进行训练:将句子中的每一个字依次作为[w],输入进bert模型,即
[0080]
[cls],张,三,是,位,好,同,志,[sep],张,是,[label],实,体,[sep]
[0081]
[cls],张,三,是,位,好,同,志,[sep],三,是,[label],实,体,[sep]
[0082]
[cls],张,三,是,位,好,同,志,[sep],是,是,[label],实,体,[sep]
[0083]
[cls],张,三,是,位,好,同,志,[sep],位,是,[label],实,体,[sep]
[0084]
[cls],张,三,是,位,好,同,志,[sep],好,是,[label],实,体,[sep]
[0085]
[cls],张,三,是,位,好,同,志,[sep],同,是,[label],实,体,[sep]
[0086]
[cls],张,三,是,位,好,同,志,[sep],志,是,[label],实,体,[sep]
[0087]
由bert模型去预测[label]的值,预测的值(预测标注)与真实的值(真实标注)之间的损失函数使用交叉熵函数计算,再由梯度反向传播方法进行模型参数更新训练。
[0088]
对于[cls],张,三,是,位,好,同,志,[sep],张,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[nb]。
[0089]
对于[cls],张,三,是,位,好,同,志,[sep],三,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[nm]。
[0090]
对于[cls],张,三,是,位,好,同,志,[sep],是,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[s]。
[0091]
对于[cls],张,三,是,位,好,同,志,[sep],位,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[s]。
[0092]
对于[cls],张,三,是,位,好,同,志,[sep],好,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[s]。
[0093]
对于[cls],张,三,是,位,好,同,志,[sep],同,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[s]。
[0094]
模型训练好后,对于待识别句子,我喜欢小明,模型输出为:[s],[s],[s],[nb],[nm],将模型输出的[nb],[nm]位置与输入原句位置对应,将第4位第5位的字提取出来,“小明”,这个就是姓名实体。
[0095]
由于本发明实施例采用的并非是crf模型,或者lstm crf模,而是使用的是bert模型,且将bert模型输入模板[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep]改为[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep],其中,[cls]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;由于本发明模板是基于字级别预测每个字对应的标注,而不是基于词级别预测每个词对应的标注,因此,使
得可以通过少于四种标注的标注方法对训练数据进行标注,从而减少了标注成本。
[0096]
在一个实施例中,所述命名实体识别装置,还包括:
[0097]
替换模块,用于将所述bert模型的输入模板[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep]替换为所述预设的输入模板[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep]。
[0098]
在本发明实施例中,需要说明的是,由于bert模型的输入模板不适合训练标注识别模型,因此,需要对将bert模型的输入模板[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep]替换为所述预设的输入模板[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep],具体地,将w21,w22,w23,

,w2n删掉,并将[w],是,[label],实,体添加到所述模板中。需要说明的是,通过prompt方法,可以将bert模型的输入模板[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep]替换为所述预设的输入模板[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep]。
[0099]
在一个实施例中,每一个实体的标注都由带有第一字母和第二字母结尾的字符组成,非实体字的标注都用第三字母表示。
[0100]
在本发明实施例中,相比于bmes四种标注,本发明实施例只用到了第一字母、第二字母以及第三字母三种标注,因此,节省了标注数据成本。
[0101]
在一个实施例中,实体的第一个字对应的标注用xb表示,实体的其他字对应的标注均用xm表示,非实体字的标注用s表示,其中,对于不同类型的实体,x不同,x可以是任一一个字母。
[0102]
在本发明实施例中,所述可x以是n,若nb代表姓名开头,那么nm代表姓名其他,例如,李小明,李对应的标注为nb,小对应的标注为nm,明对应的标注为nm,若x是o,且ob代表机构名开头,那么,om代表机构名其他,例如,平安科技,平对应的标注为ob,安对应的标注为om,科对应的标注为om,技对应的标注为om。本发明实施例的x可根据实际实体类型设计,因此对此不作限制。由此可见,相比于bmes四种标注,本发明实施例只用到了bms三种标注,因此,将本发明实施例能够减少标注成本。
[0103]
在一个实施例中,所述标注包括nb,nm,ob,om,ab,am,s;其中,nb代表姓名开头,nm代表姓名其他,ob代表机构名开头,om代表机构名其他,ab代表地址名开头,am代表地址名其他,s代表其他非实体的字。
[0104]
在一个实施例中,所述命名实体识别装置,还包括:
[0105]
训练模块,用于过基于待训练句子以及所述待训练句子每个字的标注,采用交叉熵损失函数以及梯度反向传播方法对所述bert模型进行训练,得到所述标注识别模型。
[0106]
在本发明实施例中,需要说明的是,采用交叉熵损失函数以及梯度反向传播方法对bert模型进行训练,获得较好的效果。但由于用于模型训练的损失函数以及学习方法多种多样,因此,本发明实施例对此不作限制。
[0107]
实施例三:
[0108]
参照图3,本技术实施例还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和
数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存适用于一种命名实体识别方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种命名实体识别方法,包括:获取待识别句子;根据预设的输入模板将所述待识别句子中的每一个字依次作为[w],输入预先训练好的标注识别模型进行识别,得到对应的标注识别结果;其中,所述输入模板为[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep],[cls]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w13代表句子中的第三个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;所述预先训练好的标注识别模型是通过基于待训练句子以及所述待训练句子每个字的标注对bert模型进行训练得到;将属于实体的标注对应的字从所述待识别句子中提取出来,得到命名实体识别结果。由于本发明实施例采用的并非是crf模型,或者lstm crf模,而是使用的是bert模型,且将bert模型输入模板[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep]改为[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep],其中,[cls]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;由于本发明模板是基于字级别预测每个字对应的标注,而不是基于词级别预测每个词对应的标注,因此,使得可以通过少于四种标注的标注方法对训练数据进行标注,从而减少了标注成本。
[0109]
实施例四:
[0110]
本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种命名实体识别方法,包括步骤:获取待识别句子;根据预设的输入模板将所述待识别句子中的每一个字依次作为[w],输入预先训练好的标注识别模型进行识别,得到对应的标注识别结果;其中,所述输入模板为[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep],[cls]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w13代表句子中的第三个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;所述预先训练好的标注识别模型是通过基于待训练句子以及所述待训练句子每个字的标注对bert模型进行训练得到;将属于实体的标注对应的字从所述待识别句子中提取出来,得到命名实体识别结果。
[0111]
上述执行的适用于一种命名实体识别方法,由于本发明实施例采用的并非是crf模型,或者lstm crf模,而是使用的是bert模型,且将bert模型输入模板[cls],w11,w12,w13,

,w1n,[sep],w21,w22,w23,

,w2n,[sep]改为[cls],w11,w12,w13,

,w1n,[sep],[w],是,[label],实,体,[sep],其中,[cls]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;由于本发明模板是基于字级别预测每个字对应的标注,而不是基于词级别预测每个词对应的标注,因此,使得可以通过少于四种标注的标注方法对训练数据进行标注,从而减少了标注成本。
[0112]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,
本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(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)等。
[0113]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0114]
以上所述仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献