CN115221882A - 命名实体识别方法、装置、设备及介质 - Google Patents
命名实体识别方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115221882A CN115221882A CN202210898125.5A CN202210898125A CN115221882A CN 115221882 A CN115221882 A CN 115221882A CN 202210898125 A CN202210898125 A CN 202210898125A CN 115221882 A CN115221882 A CN 115221882A
- Authority
- CN
- China
- Prior art keywords
- sentence
- label
- sep
- character
- trained
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及人工智能技术领域,提供一种命名实体识别方法、装置、设备及介质,方法包括:获取待识别句子;根据预设的输入模板将所述待识别句子中的每一个字依次作为[w],输入预先训练好的标注识别模型进行识别,得到对应的标注识别结果;其中,所述输入模板为[CLS],w11,w12,w13,…,w1n,[sep],[w],是,[label],实,体,[sep],[CLS]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;所述预先训练好的标注识别模型是通过基于待训练句子以及所述待训练句子每个字的标注对Bert模型进行训练得到;将属于实体的标注对应的字从所述待识别句子中提取出来,得到命名实体识别结果。本发明实施例可以减少标注成本。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种命名实体识别方法、装置、设备及介质。
背景技术
命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。业内提出命名实体识别一般使用CRF模型,或者LSTM+CRF模型进行识别,若是使用这些模型,在模型训练前,需要对命名实体所在的句子进行BMES的四种标注,B表示一个词的词首位值,M表示一个词的中间位置,E表示一个词的末尾位置,S表示一个单独的字词,由于这类标注方法需要BMES四种标注,因此,标注成本较大。
发明内容
针对上述技术问题,本申请的目的在于提供一种命名实体识别方法、装置、设备及介质,旨在解决采用CRF模型,或者LSTM+CRF模型进行命名实体识别,标注成本大的问题。
第一方面,本发明实施例提供一种命名实体识别方法,包括:
获取待识别句子;
根据预设的输入模板将所述待识别句子中的每一个字依次作为[w],输入预先训练好的标注识别模型进行识别,得到对应的标注识别结果;其中,所述输入模板为[CLS],w11,w12,w13,…,w1n,[sep],[w],是,[label],实,体,[sep],[CLS]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w13代表句子中的第三个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;所述预先训练好的标注识别模型是通过基于待训练句子以及所述待训练句子每个字的标注对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代表第二个句子中的第n个字。
进一步的,每一个实体的标注都由带有第一字母和第二字母结尾的字符组成,非实体字的标注都用第三字母表示。
进一步的,实体的第一个字对应的标注用XB表示,实体的其他字对应的标注均用XN表示,非实体字的标注用S表示,其中,对于不同类型的实体,X不同,X可以是任一一个字母。
进一步的,所述标注包括NB,NM,OB,OM,AB,AM,S;其中,NB代表姓名开头,NM代表姓名其他,OB代表机构名开头,OM代表机构名其他,AB代表地址名开头,AM代表地址名其他,S代表其他非实体的字。
进一步的,所述预先训练好的标注识别模型通过如下方式训练得到:
获取待训练句子以及所述待训练句子每个字的标注;
基于待训练句子以及所述待训练句子每个字的标注,采用交叉熵损失函数以及梯度反向传播方法对所述Bert模型进行训练得到。
第二方面,本发明实施例提供一种命名实体识别装置,包括:
获取模块,用于获取待识别句子;
输入模块,用于根据预设的输入模板将所述待识别句子中的每一个字依次作为[w],输入预先训练好的标注识别模型进行识别,得到对应的标注识别结果;其中,所述输入模板为[CLS],w11,w12,w13,…,w1n,[sep],[w],是,[label],实,体,[sep],[CLS]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;所述预先训练好的标注识别模型是通过基于待训练句子以及所述待训练句子每个字的标注对Bert模型进行训练得到;
提取模块,用于将属于实体的标注对应的字从所述待识别句子中提取出来,得到命名实体识别结果。
进一步的,所述的命名实体识别装置,还包括:
替换模块,用于将所述Bert模型的输入模板[CLS],w11,w12,w13,…,w1n,[sep],w21,w22,w23,…,w2n,[sep]替换为所述预设的输入模板[CLS],w11,w12,w13,…,w1n,[sep],[w],是,[label],实,体,[sep]。
第三方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本发明实施例提供一种命名实体识别方法,包括:获取待识别句子;根据预设的输入模板将所述待识别句子中的每一个字依次作为[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]是模型需要预测的标注;由于本发明模板是基于字级别预测每个字对应的标注,而不是基于词级别预测每个词对应的标注,因此,使得可以通过少于四种标注的标注方法对训练数据进行标注,从而减少了标注成本。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请第一实施例提供的一种命名实体识别方法的流程示意图;
图2是本申请第二实施例提供的一种命名实体识别装置的结构示意图;
图3为本申请第三实施例提供的计算机设备的结构示意框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一:
请参阅图1,本申请实施例提供的一种命名实体识别方法,包括步骤S1-S3:
S1、获取待识别句子;
S2、根据预设的输入模板将所述待识别句子中的每一个字依次作为[w],输入预先训练好的标注识别模型进行识别,得到对应的标注识别结果;其中,所述输入模板为[CLS],w11,w12,w13,…,w1n,[sep],[w],是,[label],实,体,[sep],[CLS]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w13代表句子中的第三个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;所述预先训练好的标注识别模型是通过基于待训练句子以及所述待训练句子每个字的标注对Bert模型进行训练得到;
S3、将属于实体的标注对应的字从所述待识别句子中提取出来,得到命名实体识别结果。
如上述步骤S1,在一个实施例中,终端设备将待识别句子上传到服务器,当待识别句子上传到服务器后,服务器执行步骤S1-S3,得到命名实体识别结果。终端设备可以是智能手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(Ultra-mobilePersonal Computer,UMPC)、手持计算机、PC设备、个人数字助理(Personal DigitalAssistant,PDA)等。
如上述步骤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代表其他非实体的字。
在模型训练前,先对训练数据进行标注,例如:张三是位好同志,其中张三为人名姓名,标注后为:
张,三,是,位,好,同,志
NB,NM,S,S,S,S,S
标注完数据后,对模型进行训练:将句子中的每一个字依次作为[w],输入进Bert模型,即
[CLS],张,三,是,位,好,同,志,[sep],张,是,[label],实,体,[sep]
[CLS],张,三,是,位,好,同,志,[sep],三,是,[label],实,体,[sep]
[CLS],张,三,是,位,好,同,志,[sep],是,是,[label],实,体,[sep]
[CLS],张,三,是,位,好,同,志,[sep],位,是,[label],实,体,[sep]
[CLS],张,三,是,位,好,同,志,[sep],好,是,[label],实,体,[sep]
[CLS],张,三,是,位,好,同,志,[sep],同,是,[label],实,体,[sep]
[CLS],张,三,是,位,好,同,志,[sep],志,是,[label],实,体,[sep]
由Bert模型去预测[label]的值,预测的值(预测标注)与真实的值(真实标注)之间的损失函数使用交叉熵函数计算,再由梯度反向传播方法进行模型参数更新训练。
对于[CLS],张,三,是,位,好,同,志,[sep],张,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[NB]。
对于[CLS],张,三,是,位,好,同,志,[sep],三,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[NM]。
对于[CLS],张,三,是,位,好,同,志,[sep],是,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[S]。
对于[CLS],张,三,是,位,好,同,志,[sep],位,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[S]。
对于[CLS],张,三,是,位,好,同,志,[sep],好,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[S]。
对于[CLS],张,三,是,位,好,同,志,[sep],同,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[S]。
对于[CLS],张,三,是,位,好,同,志,[sep],志,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[S]。
模型训练好后,对于待识别句子,我喜欢小明,模型输出为:[S],[S],[S],[NB],[NM],将模型输出的[NB],[NM]位置与输入原句位置对应,将第4位第5位的字提取出来,“小明”,这个就是姓名实体。
由于本发明实施例采用的并非是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]是模型需要预测的标注;由于本发明模板是基于字级别预测每个字对应的标注,而不是基于词级别预测每个词对应的标注,因此,使得可以通过少于四种标注的标注方法对训练数据进行标注,从而减少了标注成本。
在一个实施例中,在获取待识别句子之前,还包括:
将所述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个字。
在本发明实施例中,需要说明的是,由于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]。
在一个实施例中,每一个实体的标注都由带有第一字母和第二字母结尾的字符组成,非实体字的标注都用第三字母表示。
在本发明实施例中,相比于BMES四种标注,本发明实施例只用到了第一字母、第二字母以及第三字母三种标注,因此,节省了标注数据成本。
在一个实施例中,实体的第一个字对应的标注用XB表示,实体的其他字对应的标注均用XM表示,非实体字的标注用S表示,其中,对于不同类型的实体,X不同,X可以是任一一个字母。
在本发明实施例中,所述X可以是N,若NB代表姓名开头,那么NM代表姓名其他,例如,李小明,李对应的标注为NB,小对应的标注为NM,明对应的标注为NM,若X是O,且OB代表机构名开头,那么,OM代表机构名其他,例如,平安科技,平对应的标注为OB,安对应的标注为OM,科对应的标注为OM,技对应的标注为OM。本发明实施例的X可根据实际实体类型设计,因此对此不作限制。由此可见,相比于BMES四种标注,本发明实施例只用到了BMS三种标注,因此,将本发明实施例能够减少标注成本。
在一个实施例中,所述标注包括NB,NM,OB,OM,AB,AM,S;其中,NB代表姓名开头,NM代表姓名其他,OB代表机构名开头,OM代表机构名其他,AB代表地址名开头,AM代表地址名其他,S代表其他非实体的字。
在一个实施例中,所述预先训练好的标注识别模型通过如下方式训练得到:
获取待训练句子以及所述待训练句子每个字的标注;
基于待训练句子以及所述待训练句子每个字的标注,采用交叉熵损失函数以及梯度反向传播方法对所述Bert模型进行训练得到。
在本发明实施例中,需要说明的是,采用交叉熵损失函数以及梯度反向传播方法对Bert模型进行训练,获得较好的效果。但由于用于模型训练的损失函数以及学习方法多种多样,因此,本发明实施例对此不作限制。
基于与上述命名实体识别方法相同的发明构思,本发明实施例提供一种命名实体识别装置,包括:
获取模块1,用于获取待识别句子;
输入模块2,用于根据预设的输入模板将所述待识别句子中的每一个字依次作为[w],输入预先训练好的标注识别模型进行识别,得到对应的标注识别结果;其中,所述输入模板为[CLS],w11,w12,w13,…,w1n,[sep],[w],是,[label],实,体,[sep],[CLS]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w13代表句子中的第三个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;所述预先训练好的标注识别模型是通过基于待训练句子以及所述待训练句子每个字的标注对Bert模型进行训练得到;
提取模块3,用于将属于实体的标注对应的字从所述待识别句子中提取出来,得到命名实体识别结果。
如上述获取模块1,在一个实施例中,终端设备将待识别句子上传到服务器,当待识别句子上传到服务器后,服务器执行步骤S1-S3,得到命名实体识别结果。终端设备可以是智能手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(Ultra-mobilePersonal Computer,UMPC)、手持计算机、PC设备、个人数字助理(Personal DigitalAssistant,PDA)等。
如上述输入模块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代表其他非实体的字。
在模型训练前,先对训练数据进行标注,例如:张三是位好同志,其中张三为人名姓名,标注后为:
张,三,是,位,好,同,志
NB,NM,S,S,S,S,S
标注完数据后,对模型进行训练:将句子中的每一个字依次作为[w],输入进Bert模型,即
[CLS],张,三,是,位,好,同,志,[sep],张,是,[label],实,体,[sep]
[CLS],张,三,是,位,好,同,志,[sep],三,是,[label],实,体,[sep]
[CLS],张,三,是,位,好,同,志,[sep],是,是,[label],实,体,[sep]
[CLS],张,三,是,位,好,同,志,[sep],位,是,[label],实,体,[sep]
[CLS],张,三,是,位,好,同,志,[sep],好,是,[label],实,体,[sep]
[CLS],张,三,是,位,好,同,志,[sep],同,是,[label],实,体,[sep]
[CLS],张,三,是,位,好,同,志,[sep],志,是,[label],实,体,[sep]
由Bert模型去预测[label]的值,预测的值(预测标注)与真实的值(真实标注)之间的损失函数使用交叉熵函数计算,再由梯度反向传播方法进行模型参数更新训练。
对于[CLS],张,三,是,位,好,同,志,[sep],张,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[NB]。
对于[CLS],张,三,是,位,好,同,志,[sep],三,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[NM]。
对于[CLS],张,三,是,位,好,同,志,[sep],是,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[S]。
对于[CLS],张,三,是,位,好,同,志,[sep],位,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[S]。
对于[CLS],张,三,是,位,好,同,志,[sep],好,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[S]。
对于[CLS],张,三,是,位,好,同,志,[sep],同,是,[label],实,体,[sep]这个训练样本的[label]真实的值为[S]。
模型训练好后,对于待识别句子,我喜欢小明,模型输出为:[S],[S],[S],[NB],[NM],将模型输出的[NB],[NM]位置与输入原句位置对应,将第4位第5位的字提取出来,“小明”,这个就是姓名实体。
由于本发明实施例采用的并非是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]是模型需要预测的标注;由于本发明模板是基于字级别预测每个字对应的标注,而不是基于词级别预测每个词对应的标注,因此,使得可以通过少于四种标注的标注方法对训练数据进行标注,从而减少了标注成本。
在一个实施例中,所述命名实体识别装置,还包括:
替换模块,用于将所述Bert模型的输入模板[CLS],w11,w12,w13,…,w1n,[sep],w21,w22,w23,…,w2n,[sep]替换为所述预设的输入模板[CLS],w11,w12,w13,…,w1n,[sep],[w],是,[label],实,体,[sep]。
在本发明实施例中,需要说明的是,由于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]。
在一个实施例中,每一个实体的标注都由带有第一字母和第二字母结尾的字符组成,非实体字的标注都用第三字母表示。
在本发明实施例中,相比于BMES四种标注,本发明实施例只用到了第一字母、第二字母以及第三字母三种标注,因此,节省了标注数据成本。
在一个实施例中,实体的第一个字对应的标注用XB表示,实体的其他字对应的标注均用XM表示,非实体字的标注用S表示,其中,对于不同类型的实体,X不同,X可以是任一一个字母。
在本发明实施例中,所述可X以是N,若NB代表姓名开头,那么NM代表姓名其他,例如,李小明,李对应的标注为NB,小对应的标注为NM,明对应的标注为NM,若X是O,且OB代表机构名开头,那么,OM代表机构名其他,例如,平安科技,平对应的标注为OB,安对应的标注为OM,科对应的标注为OM,技对应的标注为OM。本发明实施例的X可根据实际实体类型设计,因此对此不作限制。由此可见,相比于BMES四种标注,本发明实施例只用到了BMS三种标注,因此,将本发明实施例能够减少标注成本。
在一个实施例中,所述标注包括NB,NM,OB,OM,AB,AM,S;其中,NB代表姓名开头,NM代表姓名其他,OB代表机构名开头,OM代表机构名其他,AB代表地址名开头,AM代表地址名其他,S代表其他非实体的字。
在一个实施例中,所述命名实体识别装置,还包括:
训练模块,用于过基于待训练句子以及所述待训练句子每个字的标注,采用交叉熵损失函数以及梯度反向传播方法对所述Bert模型进行训练,得到所述标注识别模型。
在本发明实施例中,需要说明的是,采用交叉熵损失函数以及梯度反向传播方法对Bert模型进行训练,获得较好的效果。但由于用于模型训练的损失函数以及学习方法多种多样,因此,本发明实施例对此不作限制。
实施例三:
参照图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]是模型需要预测的标注;由于本发明模板是基于字级别预测每个字对应的标注,而不是基于词级别预测每个词对应的标注,因此,使得可以通过少于四种标注的标注方法对训练数据进行标注,从而减少了标注成本。
实施例四:
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种命名实体识别方法,包括步骤:获取待识别句子;根据预设的输入模板将所述待识别句子中的每一个字依次作为[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]是模型需要预测的标注;由于本发明模板是基于字级别预测每个字对应的标注,而不是基于词级别预测每个词对应的标注,因此,使得可以通过少于四种标注的标注方法对训练数据进行标注,从而减少了标注成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(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)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种命名实体识别方法,其特征在于,包括:
获取待识别句子;
根据预设的输入模板将所述待识别句子中的每一个字依次作为[w],输入预先训练好的标注识别模型进行识别,得到对应的标注识别结果;其中,所述输入模板为[CLS],w11,w12,w13,…,w1n,[sep],[w],是,[label],实,体,[sep],[CLS]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w13代表句子中的第三个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;所述预先训练好的标注识别模型是通过基于待训练句子以及所述待训练句子每个字的标注对Bert模型进行训练得到;
将属于实体的标注对应的字从所述待识别句子中提取出来,得到命名实体识别结果。
2.根据权利要求1所述的命名实体识别方法,其特征在于,在获取待识别句子之前,还包括:
将所述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个字。
3.根据权利要求1所述的命名实体识别方法,其特征在于,每一个实体的标注都由带有第一字母和第二字母结尾的字符组成,非实体字的标注都用第三字母表示。
4.根据权利要求3所述的命名实体识别方法,其特征在于,实体的第一个字对应的标注用XB表示,实体的其他字对应的标注均用XN表示,非实体字的标注用S表示,其中,对于不同类型的实体,X不同,X可以是任一一个字母。
5.根据权利要求4所述的所述命名实体识别方法,其特征在于,所述标注包括NB,NM,OB,OM,AB,AM,S;其中,NB代表姓名开头,NM代表姓名其他,OB代表机构名开头,OM代表机构名其他,AB代表地址名开头,AM代表地址名其他,S代表其他非实体的字。
6.根据权利要求1所述的命名实体识别方法,其特征在于,所述预先训练好的标注识别模型通过如下方式训练得到:
获取待训练句子以及所述待训练句子每个字的标注;
基于待训练句子以及所述待训练句子每个字的标注,采用交叉熵损失函数以及梯度反向传播方法对所述Bert模型进行训练得到。
7.一种命名实体识别装置,其特征在于,包括:
获取模块,用于获取待识别句子;
输入模块,用于根据预设的输入模板[CLS],w11,w12,w13,…,w1n,[sep],[w],是,[label],实,体,[sep]将所述待识别句子中的每一个字依次作为[w],输入预先训练好的标注识别模型进行识别,得到对应的标注识别结果;其中,[CLS]代表句向量,w11代表句子中的第一个字,w12代表句子中的第二个字,w13代表句子中的第三个字,w1n代表句子中的第n个字,[sep]是分割符,[w]是句子中的字,[label]是模型需要预测的标注;所述预先训练好的标注识别模型通过基于待训练句子以及所述待训练句子每个字的标注对Bert模型进行训练得到;
提取模块,用于将属于实体的标注对应的字从所述待识别句子中提取出来,得到命名实体识别结果。
8.根据权利要求7所述的命名实体识别装置,其特征在于,还包括:
替换模块,用于将所述Bert模型的输入模板[CLS],w11,w12,w13,…,w1n,[sep],w21,w22,w23,…,w2n,[sep]替换为所述预设的输入模板[CLS],w11,w12,w13,…,w1n,[sep],[w],是,[label],实,体,[sep]。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210898125.5A CN115221882B (zh) | 2022-07-28 | 2022-07-28 | 命名实体识别方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210898125.5A CN115221882B (zh) | 2022-07-28 | 2022-07-28 | 命名实体识别方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115221882A true CN115221882A (zh) | 2022-10-21 |
CN115221882B CN115221882B (zh) | 2023-06-20 |
Family
ID=83614111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210898125.5A Active CN115221882B (zh) | 2022-07-28 | 2022-07-28 | 命名实体识别方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115221882B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111191452A (zh) * | 2019-12-24 | 2020-05-22 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 一种铁路文本命名实体识别方法及装置 |
CN111563383A (zh) * | 2020-04-09 | 2020-08-21 | 华南理工大学 | 一种基于BERT与SemiCRF的中文命名实体识别方法 |
CN112270193A (zh) * | 2020-11-02 | 2021-01-26 | 重庆邮电大学 | 基于bert-flat的中文命名实体识别方法 |
CN113177412A (zh) * | 2021-04-05 | 2021-07-27 | 北京智慧星光信息技术有限公司 | 基于bert的命名实体识别方法、系统、电子设备及存储介质 |
CN113408288A (zh) * | 2021-06-29 | 2021-09-17 | 广东工业大学 | 一种基于BERT与BiGRU-CRF的命名实体识别方法 |
CN114580423A (zh) * | 2022-03-29 | 2022-06-03 | 西南石油大学 | 一种基于Bert与Scat的页岩气领域命名实体识别方法 |
US20220188521A1 (en) * | 2020-02-28 | 2022-06-16 | Tencent Technology (Shenzhen) Company Limited | Artificial intelligence-based named entity recognition method and apparatus, and electronic device |
US20220188520A1 (en) * | 2019-03-26 | 2022-06-16 | Benevolentai Technology Limited | Name entity recognition with deep learning |
-
2022
- 2022-07-28 CN CN202210898125.5A patent/CN115221882B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220188520A1 (en) * | 2019-03-26 | 2022-06-16 | Benevolentai Technology Limited | Name entity recognition with deep learning |
CN111191452A (zh) * | 2019-12-24 | 2020-05-22 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 一种铁路文本命名实体识别方法及装置 |
US20220188521A1 (en) * | 2020-02-28 | 2022-06-16 | Tencent Technology (Shenzhen) Company Limited | Artificial intelligence-based named entity recognition method and apparatus, and electronic device |
CN111563383A (zh) * | 2020-04-09 | 2020-08-21 | 华南理工大学 | 一种基于BERT与SemiCRF的中文命名实体识别方法 |
CN112270193A (zh) * | 2020-11-02 | 2021-01-26 | 重庆邮电大学 | 基于bert-flat的中文命名实体识别方法 |
CN113177412A (zh) * | 2021-04-05 | 2021-07-27 | 北京智慧星光信息技术有限公司 | 基于bert的命名实体识别方法、系统、电子设备及存储介质 |
CN113408288A (zh) * | 2021-06-29 | 2021-09-17 | 广东工业大学 | 一种基于BERT与BiGRU-CRF的命名实体识别方法 |
CN114580423A (zh) * | 2022-03-29 | 2022-06-03 | 西南石油大学 | 一种基于Bert与Scat的页岩气领域命名实体识别方法 |
Non-Patent Citations (1)
Title |
---|
梁文桐;朱艳辉;詹飞;冀相冰;: "基于BERT的医疗电子病历命名实体识别", 湖南工业大学学报, no. 04 * |
Also Published As
Publication number | Publication date |
---|---|
CN115221882B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765265B (zh) | 信息分类抽取方法、装置、计算机设备和存储介质 | |
CN109543030B (zh) | 客服机器人会话文本分类方法及装置、设备、存储介质 | |
US11941366B2 (en) | Context-based multi-turn dialogue method and storage medium | |
CN108509596B (zh) | 文本分类方法、装置、计算机设备和存储介质 | |
CN109344830B (zh) | 语句输出、模型训练方法、装置、计算机设备及存储介质 | |
CN110569500A (zh) | 文本语义识别方法、装置、计算机设备和存储介质 | |
CN111651992A (zh) | 命名实体标注方法、装置、计算机设备和存储介质 | |
CN110688853B (zh) | 序列标注方法、装置、计算机设备和存储介质 | |
EP4131076A1 (en) | Serialized data processing method and device, and text processing method and device | |
CN112651238A (zh) | 训练语料扩充方法及装置、意图识别模型训练方法及装置 | |
CN113536735B (zh) | 一种基于关键词的文本标记方法、系统和存储介质 | |
US11610060B2 (en) | Automatic lexical sememe prediction system using lexical dictionaries | |
CN112766319B (zh) | 对话意图识别模型训练方法、装置、计算机设备及介质 | |
CN110750965A (zh) | 英文文本序列标注方法、系统及计算机设备 | |
CN115599901B (zh) | 基于语义提示的机器问答方法、装置、设备及存储介质 | |
CN111079405A (zh) | 文本信息识别方法、装置、存储介质和计算机设备 | |
CN110598210B (zh) | 实体识别模型训练、实体识别方法、装置、设备及介质 | |
CN110910864A (zh) | 训练样本的选取方法、装置、计算机设备和存储介质 | |
CN111583911A (zh) | 基于标签平滑的语音识别方法、装置、终端及介质 | |
CN113704436A (zh) | 基于会话场景的用户画像标签挖掘方法及装置 | |
CN112732884A (zh) | 目标回答语句生成方法、装置、计算机设备和存储介质 | |
CN111191028A (zh) | 样本标注方法、装置、计算机设备和存储介质 | |
CN110705211A (zh) | 文本重点内容标记方法、装置、计算机设备及存储介质 | |
CN113836192B (zh) | 平行语料的挖掘方法、装置、计算机设备及存储介质 | |
CN112800748B (zh) | 适用于多音字的音素预测方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |