CN110889287A - 一种用于命名实体识别的方法与装置 - Google Patents
一种用于命名实体识别的方法与装置 Download PDFInfo
- Publication number
- CN110889287A CN110889287A CN201911088877.XA CN201911088877A CN110889287A CN 110889287 A CN110889287 A CN 110889287A CN 201911088877 A CN201911088877 A CN 201911088877A CN 110889287 A CN110889287 A CN 110889287A
- Authority
- CN
- China
- Prior art keywords
- named entity
- text
- entity recognition
- input
- recognition model
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000001514 detection method Methods 0.000 claims abstract description 152
- 239000013598 vector Substances 0.000 claims abstract description 122
- 238000012549 training Methods 0.000 claims description 89
- 230000006870 function Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 abstract description 22
- 238000012360 testing method Methods 0.000 description 39
- 238000010586 diagram Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 5
- 230000006403 short-term memory Effects 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000003631 expected effect Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Landscapes
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的目的是提供一种命名实体识别方法与装置。通过经训练好的命名实体识别模型对检测文本进行命名实体识别,根据首次输出的识别结果维护对应所述检测文本的词表,所述词表包括已识别的命名实体及其属性信息;将由所述词表生成的输入词向量与所述检测文本再次输入所述命名实体识别模型,以获得新一轮的识别结果并更新所述词表,经过多轮循环直至当前识别的命名实体与上一轮识别的命名实体一致;根据最后一轮的识别结果,确定所述检测文本中的命名实体。由于引入了动态词表,本发明可以在NER检测过程中不断地扩充检测文本的词表,从而提高了词表的覆盖范围,使得预测难度低的词能够先被加入词表中来帮助识别预测难度大的词,增加了NER的识别准确率。
Description
技术领域
本发明涉及自然语言处理(NLP,Natural Language Processing)技术领域,尤其涉及一种命名实体识别(NER,Named Entity Recognition)技术。
背景技术
命名实体(NE,named entity),即含义为某个现实中存在的实体对象、由一个词或若干次组成的词组;例如“北京市海淀区”就是一个命名实体,其意义为现实中的一个实体地点。
命名实体识别,即输入一个文本,要求检测该文本中含有的所有命名实体,并且对检测到的命名实体进行分类。一般而言,命名实体可以被分为人名、地名、组织名等。在特殊领域如医学、金融文本中,命名实体可以有不同的分类方法,前者如蛋白质名、DNA名,后者如公司名、职务名等。
NER技术可以分为传统方法和深度学习方法,其中传统方法主要包括基于规则、基于特征的方法。
基于规则的方法指:通过手动设计的规则对NE进行识别。例如规定后缀是“医院”的四字词组,均是NE。基于规则的方法仅在规则非常完备、输入文本特征相似的情况下能取得较好的效果。该方法的缺点为:设计完备的规则非常困难,即使设计了规则,也很难适用于不同领域的文本。
基于特征的方法指:通过手动设计的特征方法,对输入文本进行特征提取,基于这样的特征对NE进行判断。常用的特征方法如大小写特征、词语后缀等。该方法的效果依赖于能否提取到有效、全面的特征。该方法的缺点为:设计好的特征提取方法非常困难。
近年来,深度学习方法被应用在NER中,其特点在于能够根据任务,自动对文本提取需要的特征。深度学习的识别效果远远超过了单纯的传统方法。
发明内容
本发明的目的是提供一种命名实体识别方法、装置以及计算机设备、计算机可读存储介质与计算机程序产品。
根据本发明的一个方面,提供了一种命名实体识别方法,其中,该方法包括以下步骤:
获取检测文本;
通过经训练好的命名实体识别模型对所述检测文本进行命名实体识别,根据首次输出的识别结果维护对应所述检测文本的词表,所述词表包括已识别的命名实体及其属性信息;
将由所述词表生成的输入词向量与所述检测文本再次输入所述命名实体识别模型,以获得新一轮的识别结果并更新所述词表,经过多轮循环直至当前识别的命名实体与上一轮识别的命名实体一致;其中,所述输入词向量包括所述已识别的命名实体以及所述属性信息对应的权重;
根据最后一轮的识别结果,确定所述检测文本中的命名实体。
根据本发明的一个方面,还提供了一种命名实体识别方法,其中,该方法包括以下步骤:
对第一命名实体识别模型进行训练,以获得训练好的第二命名实体识别模型,其中,所述训练包括:
-对输入的训练文本通过所述第一命名实体识别模型来进行命名实体识别,根据首次输出的识别结果建立对应所述训练文本的第一词表,所述第一词表包括已识别的第一命名实体及其第一属性信息;
-将由所述第一词表生成的第一输入词向量与所述训练文本再次输入所述第一命名实体识别模型,以获得新一轮的识别结果并更新所述第一词表,经过多轮循环直至所述训练的目标函数收敛;其中,所述第一输入词向量包括所述已识别的第一命名实体以及所述第一属性信息对应的权重。
根据本发明的一个方面,还提供了一种命名实体识别装置,其中,该装置包括:
获取模块,用于获取检测文本;
识别模块,用于:
通过经训练好的命名实体识别模型对所述检测文本进行命名实体识别,根据首次输出的识别结果维护对应所述检测文本的词表,所述词表包括已识别的命名实体及其属性信息;
将由所述词表生成的输入词向量与所述检测文本再次输入所述命名实体识别模型,以获得新一轮的识别结果并更新所述词表,经过多轮循环直至当前识别的命名实体与上一轮识别的命名实体一致;其中,所述输入词向量包括所述已识别的命名实体以及所述属性信息对应的权重;
根据最后一轮的识别结果,确定所述检测文本中的命名实体。
根据本发明的一个方面,还提供了一种命名实体识别装置,其中,该装置包括:
训练模块,用于对第一命名实体识别模型进行训练,以获得训练好的第二命名实体识别模型,其中,所述训练包括:
对输入的训练文本通过所述第一命名实体识别模型来进行命名实体识别,根据首次输出的识别结果建立对应所述训练文本的第一词表,所述第一词表包括已识别的第一命名实体及其第一属性信息;
将由所述第一词表生成的第一输入词向量与所述训练文本再次输入所述命名实体识别模型,以获得新一轮的识别结果并更新所述第一词表,经过多轮循环直至所述训练的目标函数收敛;其中,所述第一输入词向量包括所述已识别的第一命名实体以及所述第一属性信息对应的权重。
根据本发明的一个方面,还提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现根据本发明的一个方面的命名实体识别方法。
根据本发明的一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现根据本发明的一个方面的命名实体识别方法。
根据本发明的一个方面,还提供了一种计算机程序产品,当所述计算机程序产品被计算设备执行时实现根据本发明的一个方面的命名实体识别方法。
与现有技术相比,本发明引入了自训练的思想,从而提出了一种利用动态词表的命名实体识别方案。为了利用易检测NE的信息并根据检测文本动态扩充词表,本发明会多次输入同一个检测文本,每次输入后根据识别结果对检测文本对应的词表进行更新,并在下一次输入检测文本时,利用更新后的词表进行辅助。因此,本发明能够发现被一般NER系统漏报、错报的NE,达到更好的NER效果。
由于引入了动态词表,本发明可以在NER检测过程中不断地扩充检测文本的词表,从而提高了词表的覆盖范围,使得预测难度低的词能够先被加入词表中来帮助识别预测难度大的词,增加了NER的识别准确率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出现有命名实体识别模型的框架示意图;
图2示出一种示例性的外部词表的示意图;
图3示出根据本发明一个实施例的一种命名实体识别方法的流程图;
图4示出根据本发明另一个实施例的一种命名实体识别装置的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,本发明的一些示例性实施例被描述为由方框图表述的装置和由流程图表述的过程或方法。虽然流程图将本发明的操作过程描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。本发明的过程可在其操作执行完毕时被终止,但也可包括未在所述流程图中示出的额外步骤。本发明的过程可以对应于方法、功能、规程、子例程、子程序等。
以下讨论的由流程图示出的方法和由方框图示出的装置,可以通过硬件、软件、固件、中间件、微代码、硬件描述语言、或其任意组合实现。当以软件、固件、中间件或微代码实现时,执行必要任务的程序代码或代码段可被存储于机器或诸如存储介质的计算机可读介质。(一个或多个)处理器可以执行所述必要任务。
类似地,还将理解任何流程表、流程图、状态转换图,诸如此类,表示各种过程,其可以被充分地描述为存储于计算机可读介质内的程序代码并因此被计算设备或处理器执行,无论这些计算设备或处理器是否被明确示出。
本文中,术语“存储介质”可以表示一个或多个用于存储数据的设备,包括只读存储器(ROM),随机存取存储器(RAM),磁性RAM,内核存储器,磁盘存储介质,光存储介质,闪存设备和/或其他用于存储信息的机器可读介质。术语“计算机可读介质”可包括但不限于,便携的或固定的存储设备,光存储设备,及各种其他能够存储和/或包含指令和/或数据的介质。
代码段可表示规程、功能、子程序、程序、例程、子例程、模块、软件包、类,或指令、数据结构或程序描述的任一组合。一个代码段可以通过传递和/或接收信息、数据、自变量、参数或存储内容,与另一个代码段或硬件电路相耦合。信息、自变量、参数、数据等,可以经由包括存储共享、信息传递、令牌传递、网络传输等任一合适方式,被传递、转发或发射。
在上下文中所称“计算机设备”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的电子设备,其至少可以包括处理器与存储器,其中由处理器执行在存储器中预存的程序指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。
上述“计算机设备”通常以通用计算机设备的形式表现,其组件可以包括但不限于:一个或者多个处理器或者处理单元、系统存储器。系统存储器可以包括易失性存储器形式的计算机可读介质,例如随机存取存储器(RAM)和/或高速缓存存储器。“计算机设备”可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机可读存储介质。存储器可以包括至少一个计算机程序产品,该计算机程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能和/或方法。处理器通过运行存储在存储器中的程序,从而执行各种功能应用以及数据处理。
例如,存储器中存储有用于执行本发明的各项功能和处理的计算机程序,处理器执行相应计算机程序时,本发明的命名实体识别方案被实现。
典型地,计算机设备例如包括用户设备与网络设备。其中,所述用户设备包括但不限于个人计算机(PC)、笔记本电脑、移动终端等,所述移动终端包括但不限于智能手机、平板电脑等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本发明作进一步详细描述。
参阅图1,图1示出基于深度学习的NER模型的基本框架。其中,NER模型包括3个模块:输入嵌入层101、上下文信息编码层102和解码输出层103。
输入嵌入层101的目的在于将输入的文本的词(字)转化为词向量(字向量),该向量是一个高维空间向量,代表这个词(字)的语义。输入嵌入层101的实现主要有两种方法:一是基于固定词向量表达的映射(Distributed embedding),其利用外部其他方法获取到的词向量库,将输入文本的每个词对应地转化为词向量库中的词向量;二是基于上下文信息的词向量表达(Contextual embedding),其将每个词(字)转化为与上下文信息有关的词向量表达,常见的实现方法为Transformer结构。
上下文信息编码层102的目的在于在词向量的基础之上,提取每个词上下文的信息,计算其他词的词向量的影响。该层的输入为输入嵌入层的输出(即一句话中的不同词向量),输出为经过上下文编码的不同词向量。该层的实现主要有两种方法:一是卷积神经网络(CNN,Convolutional Neural Network);二是循环神经网络(RNN,Recurrent NeuralNetwork),典型地为长短时记忆网络(LSTM,Long Short Term Memory Network)。前者的特点在于运算速度快,后者的特点在于考虑的上下文信息更多。
解码输出层103的目的在于对经过上下文信息提取后的每一个词向量解码,输出预测的NE标签。NE标签有BIES、BIO等若干表达方式,其中B代表该词(字)为一个NE的开始(Begin),I代表该词(字)处于一个NE的中间(Inside),O表示该词(字)不属于一个NE(Outside),E代表该词(字)属于一个NE的结尾(End),S代表该词(字)为单独的一个NE(Single)。NE标签常常会带有NE类别,例如B-LOC,B-PER分别代表一个地名的开头、一个人名的开头。该层的实现方式主要有Softmax、条件随机场(CRF,Conditional RandomFields、RNN等,其中Softmax的缺点在于忽略了不同词NE标签的内在联系,CRF和RNN的特点在于考虑了这种联系。
通常的NE识别过程如下:
1.文本被输入至输入嵌入层101,文本中的每个词被转化为一个输入词向量。
2.转换后文本中的所有词向量被输入至上下文信息编码层102,上下文信息编码层102对每个词输出一个经过上下文编码的词向量。
3.上一步输出的词向量被输入至解码输出层103,解码输出层103输出NE的预测标签。
4.将预测标签与真实结果做比对,计算目标函数;通过优化目标函数,更新NER模型的网络参数。
5.重复上述1-4步骤,直到达到预期效果。
外部词表是NER常常使用的一个辅助信息,其目的在于存储外界信息中已知的常见地名、人名,当检测NE时,NER模型若见到外部词表中已有的NE,将更有可能将其判断为NE。在NE预测时,可以首先查找词表,若该一个词(字)存在于词表中,可以将这个词表信息映射为一个特殊的向量,与上下文信息编码层102的输出向量连接在一起,送入最后的解码输出层103做NE预测。
然而,上述对现有的词表的应用方式,存在以下缺点:来自于外界信息的词表不够完善,很难覆盖检测文本中的NE。然而,在检测文本中,一部分NE容易被检测出来,这部分NE其实有潜力被利用起来,这部分NE可以先被加入词表来帮助继续识别检测文本中较难检测的其他NE。
为了在训练和检测过程中扩充词表,本发明引入了自训练(Self-training)的思想。自训练是一种半监督(semi-supervised)训练方法,主要应用在有少量标注样本和大量未标注样本的场景。自训练首先用已有的标注数据作为训练集开始训练,训练后,测试集输出中置信度比较高的会被选出,以其预测值作为伪标注,加入到训练集中,再次开始训练。这样循环训练多次,直到达到预期效果。
根据自训练的思想,本发明提出了一种利用动态词表的命名实体识别方案。为了利用易检测的NE的信息并根据检测文本扩充词表,本发明多次输入同一个检测文本,每次输入后根据检测结果对词表进行更新,并在下一次输入检测文本时,利用更新后的词表进行辅助。因此,本发明能够发现被一般NER系统漏报、错报的NE,达到更好的NER效果。
外部词表是NER的有效辅助信息,图2示出了外部词表的一个示例。如图2所示,其中示出一个词表,包括多个NE标签。图2所示的词表信息可以被嵌入为标签词向量,这些标签词向量可以作为NER模型的输入,例如与上下文信息编码层102的输出词向量连接在一起,送入最后的解码输出层103做最终的NE预测。
然而,待检测的文本很难被已有的词表完全覆盖,因为文本中的一部分NE并没有被提前准备好的词表收集到。在这种情况下,外部词表将无法发挥作用。
根据本发明的方案,检测文本完全可以自己形成一个词表,达到与外部词表类似的效果。若一个NE在文本中多次出现,可以很容易被识别出来,本发明首先将其识别出来并记录在词表中,进而用于辅助其他NE的识别,从而降低了对其他NE的识别难度。也即,本发明利用一个NE之前的检测信息来帮助后续其他NE的检测。
为了达到这一目的,本发明设计了一种动态词表:多次输入检测文本,在每一次输入后根据当前输出的预测结果更新词表,使得一些容易被检测的NE能够先进入词表,进而帮助识别检测文本中不易检测的NE。
图3示出根据本发明一个实施例的方法流程图,其具体示出一种命名实体识别的过程。
典型地,本发明由计算机设备实现。当一个通用的计算机设备被配置有实现本发明的程序模块后,其将成为专用的命名实体识别设备,而不是任何通用的计算机或处理器。然而,本领域技术人员应能理解,前述说明仅意在表明本发明可以应用于任何通用计算机设备,而当本发明被应用于一个通用计算机设备之后,该通用计算机设备则成为一个专门的实现本发明的命名实体识别设备。
如图1所示,在步骤S310中,命名实体识别设备获取检测文本;在步骤S320中,命名实体识别设备通过经训练好的命名实体识别模型对所述检测文本进行命名实体识别,根据首次输出的识别结果维护对应所述检测文本的词表,所述词表包括已识别的命名实体及其属性信息;在步骤S330中,命名实体识别设备将由所述词表生成的输入词向量与所述检测文本再次输入所述命名实体识别模型,以获得新一轮的识别结果并更新所述词表,经过多轮循环直至当前识别的命名实体与上一轮识别的命名实体一致;其中,所述输入词向量包括所述已识别的命名实体以及所述属性信息对应的权重;在步骤S340中,命名实体识别设备根据最后一轮的识别结果,确定所述检测文本中的命名实体。
具体地,在步骤S310中,命名实体识别设备获取检测文本。
在此,检测文本是命名实体识别模型的输入文本,用于检测其中的NE。检测文本可以是一句话或多句话,例如一段文字。通常而言,NER模型每次识别能够支持的最大检测文本是有限的,例如最大支持512个字。因此,对于字数较多的文本的检测,例如一篇文章,需要将其划分为多个检测文本来进行NER识别。甚至于,对于一段字数较多的文本,其也需要被进一步划分为两个或更多的检测文本。这些拆分后的多个检测文本也基于相互的内容关联而存在顺序关系。例如,一篇文章可以按照自然段被划分为多个检测文本,每个检测文本为该文章中的一个段落。又如,一个字数较多的文本,被拆分为两个检测文本,这两个检测文本显然也具有顺序关系。
在步骤S320中,命名实体识别设备通过经训练好的命名实体识别模型对输入的检测文本进行命名实体识别,根据首次输出的识别结果维护对应检测文本的词表。
检测文本被输入至训练好的命名实体识别模型来进行NE预测,经过第一轮识别过程,命名实体识别模型输出首次识别结果,包括已识别的NE及其属性信息。其中,对NE的识别包括识别出检测文本中的NE以及NE的类别,因此已识别的NE以NE标签的形式进行表示,包括NE及其类别;NE的属性信息包括NE的置信度、NE在输入的检测文本中的出现频率。
NE的置信度意指NE在命名实体识别模型中被预测为当前输出类别的概率。一个NE可能多次出现在检测文本中,故命名实体识别模型还统计其在输入的检测文本中的出现频率。
命名实体识别设备根据首次识别结果维护一个检测文本的词表。该词表中不仅包括NE标签,即NE及其类别,还包括NE的属性信息,如NE的置信度、NE在输入的检测文本中的出现频率中至少之一。
在此,检测文本的词表的具体表现形式可以有多种,本发明不做限制。根据本发明的一个示例,命名实体识别设备可以为检测文本建立一个词表,即检测文本的专有词表,其中包括为该检测文本识别出的NE以及属性信息。根据本发明的另一个示例,命名实体识别设备可以将检测文本的识别结果更新在命名实体识别模型的已有词表(也可称为系统词表)中。由于用于对检测文本进行识别的命名实体识别模型已经训练好,故其在之前的训练过程中通常已经建立有一个系统词表,当前识别结果可以直接更新在该系统词表中。可替代地,检测文本的当前识别结果可以作为一个临时词表被加入该系统词表,该临时词表相对该系统词表独立,例如,直至检测文本中的NE被最终完成识别,从而最终识别的NE被更新在该系统词表中。
在步骤S330中,命名实体识别设备将由步骤S320中的词表生成的输入词向量与检测文本再次输入到命名实体识别模型,以获得新一轮的识别结果并更新所述词表,经过多轮循环直至当前识别的命名实体与上一轮识别的命名实体一致。
在此,根据步骤S320中建立的词表生成已识别NE的词向量,将这些词向量与检测文本一起再次输入至命名实体识别模型,获得第二轮识别结果并根据当前识别结果更新检测文本的词表。
如此循环进行多轮识别,直至当前识别结果与上一轮的识别结果一致,例如当前识别的NE与上一轮识别的NE一致。在此,对当前识别结果与上一轮识别结果一致的判断还可以进一步考量其他因素。根据本发明的一个示例,当前已识别的NE不仅需与上一轮识别的NE一致,当连续三轮识别的NE均一致时才结束对检测文本的NE识别。根据本发明的另一个示例,当前已识别的NE不仅需与上一轮识别的NE一致,同一NE在这两轮识别中的置信度也要相近,如同一NE在这两轮识别中的置信度差值小于一预定的阈值,此时才满足对检测文本的NE识别的结束条件。
根据本发明的一个示例,多个检测文本中基于内容关联存在顺序或上下文关系,如多个检测文本分别为同一篇文章中的一个段落。据此,对于每一轮NE识别而言,这些检测文本按照其在文章中的顺序关系被逐个输入NER模型来进行NE识别。例如,输入的多个检测文本按照其段落顺序分别被标记为检测文本1、检测文本2、检测文本3,在首轮检测中,首先输入检测文本1并生成对应词表,该词表将随后生成其中NE的词向量和检测文本2一起输入该NER模型来进行NE识别,接着更新该词表并生成其中NE的词向量和检测文本3一起输入该NER模型来进行NE识别。其后的每轮检测也是如此,直至确定所有检测文本1-3中的NE。
由此需要确定采用哪些属性信息来生成已识别NE的词向量。在此,词表中记录的NE的属性信息例如可以包括NE的置信度、NE在检测文本中的出现频率。此外,对于多个连续检测文本的场景,已识别NE的属性信息例如还可以包括NE在其对应检测文本中的出现位置,例如一个NE出现在检测文本1中的第二句话中。
其中,已识别NE的输入词向量包括根据NE的属性信息确定的权重。
根据本发明的一个示例,词表中已识别NE的置信度可以作为一个权重加到该NE构成的输入词向量上。置信度越高的NE权重越高,对后续检测的影响越大,反之亦然。
根据本发明的一个示例,词表中已识别NE的出现频率也可以作为一个权重加入该NE构成的输入词向量。出现频率越高的NE对后续检测的影响越大,反之则越小。
根据本发明的一个示例,若多个检测文本基于内容关联存在顺序或上下文关系,如多个检测文本分别为同一篇文章中段落的之一,已识别NE的出现位置也可以作为一个权重加入该NE构成的输入词向量,用于顺序在后的检测文本的NE检测。对于在后检测文本而言,一个词表中的NE,离该在后检测文本越近产生的影响越大,反之则越小。例如,检测文本1中出现的NE,如果检测文本2和4中也出现该NE,则该NE的输入词向量中该项出现位置对应的权重在用于识别检测文本2时相较于用于识别检测文本4时更大。
在嵌入NER模型时,词表中NE的词向量可以按照NE的标签嵌入为标签词向量,也可以按照NE的上下文语义嵌入为词向量。本领域技术人员应能理解,上述由检测文本的词表生成的词向量嵌入NER模型的方式也仅为举例,用于解释说明本发明之目的,而不应被理解为对本发明的任何限制。其他现有的或将来的词向量嵌入方式如可以适用于本发明,均应被引用在此,从而被包括在本发明的保护范围之内。
此外,由检测文本的词表生成的输入词向量可以被输入至命名实体识别模型中的任一层。
配合参阅图1,根据本发明的一个示例,检测文本的词表中已识别NE的词向量可以与检测文本一起输入NER模型的输入嵌入层101。根据本发明的另一个示例,已识别NE的词向量也可以作为上下文信息编码层102的输入,此时上下文信息编码层102的输入还包括输入嵌入层101对检测文本生成的词向量。根据本发明的再一个示例,已识别NE的词向量也可以作为解码输出层103的输入,此时解码输出层103的输入还包括经上下文信息编码层102对检测文本的词向量进行上下文编码后的词向量。
在步骤S340中,命名实体识别设备根据最后一轮的识别结果,确定输入的检测文本中的命名实体。
当步骤S330获得与上一轮一致的已识别NE并停止循环识别过程后,在步骤S340中,命名实体识别设备根据最后一轮的识别结果,即最后预测的NE标签,确定输入的检测文本中的NE。
根据本发明的一个实施例,最终识别的NE标签可以被加入到外部词表,以更新现有词表。当检测文本维护有一个专有词表时,该外部词表可以是系统词表。
上述步骤S310--S340描述了根据本发明的一个实施例通过训练好的命名实体识别模型来识别检测文本中的命名实体的过程。
本发明通过引入动态词表,可以在NER检测过程中不断地扩充词表,从而提高了词表的覆盖范围,使得预测难度低的词能够被加入词表中帮助识别预测难度大的词,增加了NER的识别准确率。
以下将进一步描述根据本发明的一个实施例的训练命名实体识别模型的过程,其中描述了训练第一命名实体识别模型以获得训练好的用于识别检测文本中的命名实体的命名实体模型的过程。
在此,对检测文本进行命名实体识别的命名实体识别模型通过对现有命名实体识别模型进行训练来获得。其中,第一命名实体识别模型可以采用任何现有的NER模型,本发明对此不做限制。例如,BiLSTM+CRF(双向长短记忆网络(Bi-directional Long Short-Term Memory)+条件随机场(Conditional Random Field))模型,或BERT+BiLSTM(Transformer的双向编码表示(Bidirectional Encoder Representation fromTransformers)+双向长短记忆网络(Bi-directional Long Short-Term Memory))模型,其中,前者较为常用,后者目前效果最好。
为便于区分,通过训练文本来获得训练的命名实体识别模型可以被称为第一命名实体识别模型,训练好被用来识别检测文本的命名实体识别模型可以被称为第二命名实体识别模型。
具体地,在步骤S300(图3未示出)中,命名实体识别设备对第一命名实体识别模型的训练包括以下子步骤:
1)对输入的训练文本通过第一命名实体识别模型来进行命名实体识别,根据首次输出的识别结果建立对应训练文本的第一词表,该第一词表包括已识别的第一命名实体及其第一属性信息。
训练文本被输入第一命名实体识别模型来进行NE预测,根据第一命名实体识别模型的首次输出结果建立训练文本的第一词表,其中包括已识别的NE标签以及NE的第一属性信息,NE的第一属性信息包括NE的置信度、NE在输入的训练文本中的出现频率以及NE在输入的训练文本中的出现位置中至少之一。
其中,NE的出现位置和出现频率当用于内容关联且具有顺序关系的多个训练文本的NE识别时,是有利的。在先训练文本中被识别出来的NE可以使得在后训练文本中的相同NE被更快识别。
2)将由第一词表生成的第一输入词向量与训练文本再次输入第一命名实体识别模型,以获得新一轮的识别结果并更新第一词表,经过多轮循环直至训练的目标函数收敛。
根据第一词表构成其中NE的第一词向量,这些第一词向量与训练文本一起再次输入第一命名实体识别模型,以获得第二轮识别结果并据此更新第一词表。再次重复上述生成第一词向量并与训练文本一起输入第一命名实体识别模型的步骤,直至训练的目标函数收敛。
由第一词表生成的NE词向量,可以作为第一输入词向量被输入至第一命名实体识别模型的任一层,例如,被输入至输入嵌入层101、上下文信息编码层102或解码输出层103。并且,NE的第一输入词向量可以嵌入为标签词向量或根据上下文语义嵌入为词向量。
第一词表中NE的第一属性信息例如NE的置信度、NE在输入的训练文本中的出现频率或NE在输入的训练文本中的出现位置均可以作为权重加入到NE的第一词向量中。
其中,在每一轮识别之后,根据当前识别结果与真实结果来计算目标函数,以根据目标函数的计算结果来调整第一命名实体识别模型的相关参数。
根据本发明的一个示例,命名实体识别设备计算当前识别结果与真实结果之间的交叉熵,并根据计算结果调整第一命名实体识别模型的相关参数,例如根据反向求导自动更新第一命名实体识别模型中的参数。当目标函数的计算结果收敛时,训练结束。
图4示出根据本发明一个实施例的装置示意图,其具体示出一种命名实体识别装置。
典型地,本发明的命名实体识别装置可以被配置在任何一个通用的计算机设备中。然而,本领域技术人员应能理解,前述说明仅意在表明本发明的命名实体识别装置可以应用于任何通用计算机设备,而当本发明的命名实体识别装置被配置于一个通用计算机设备之后,该通用计算机设备则成为一个专门的实现本发明的命名实体识别设备,该“命名实体识别设备”可以以计算机程序、硬件或其结合的方式实现。
如图4所示,命名实体识别设备400包括命名实体识别装置40,命名实体识别装置40进一步包括获取装置41和识别模块42。
其中,获取模块41获取检测文本。识别模块42通过经训练好的命名实体识别模型对所述检测文本进行命名实体识别,根据首次输出的识别结果维护对应所述检测文本的词表,所述词表包括已识别的命名实体及其属性信息;识别模块42将由所述词表生成的输入词向量与所述检测文本再次输入所述命名实体识别模型,以获得新一轮的识别结果并更新所述词表,经过多轮循环直至当前识别的命名实体与上一轮识别的命名实体一致;其中,所述输入词向量包括所述已识别的命名实体以及所述属性信息对应的权重;识别模块42根据最后一轮的识别结果,确定所述检测文本中的命名实体。
具体地,获取模块41获取检测文本。
在此,检测文本是命名实体识别模型的输入文本,用于检测其中的NE。检测文本可以是一句话或多句话,例如一段文字。通常而言,NER模型每次识别能够支持的最大检测文本是有限的,例如最大支持512个字。因此,对于字数较多的文本的检测,例如一篇文章,需要将其划分为多个检测文本来进行NER识别。甚至于,对于一段字数较多的文本,其也需要被进一步划分为两个或更多的检测文本。这些拆分后的多个检测文本也基于相互的内容关联而存在顺序关系。例如,一篇文章可以按照自然段被划分为多个检测文本,每个检测文本为该文章中的一个段落。又如,一个字数较多的文本,被拆分为两个检测文本,这两个检测文本显然也具有顺序关系。
识别模块42通过经训练好的命名实体识别模型对输入的检测文本进行命名实体识别,根据首次输出的识别结果维护对应检测文本的词表。
检测文本被输入至训练好的命名实体识别模型来进行NE预测,经过第一轮识别过程,命名实体识别模型输出首次识别结果,包括已识别的NE及其属性信息。其中,对NE的识别包括识别出检测文本中的NE以及NE的类别,因此已识别的NE以NE标签的形式进行表示,包括NE及其类别;NE的属性信息包括NE的置信度、NE在输入的检测文本中的出现频率。
NE的置信度意指NE在命名实体识别模型中被预测为当前输出类别的概率。一个NE可能多次出现在检测文本中,故命名实体识别模型还统计其在输入的检测文本中的出现频率。
识别模块42根据首次识别结果维护一个检测文本的词表。该词表中不仅包括NE标签,即NE及其类别,还包括NE的属性信息,如NE的置信度、NE在输入的检测文本中的出现频率中至少之一。
在此,检测文本的词表的具体表现形式可以有多种,本发明不做限制。根据本发明的一个示例,识别模块42可以为检测文本建立一个词表,即检测文本的专有词表,其中包括为该检测文本识别出的NE以及属性信息。根据本发明的另一个示例,识别模块42可以将检测文本的识别结果更新在命名实体识别模型的已有词表(也可称为系统词表)中。由于用于对检测文本进行识别的命名实体识别模型已经训练好,故其在之前的训练过程中通常已经建立有一个系统词表,当前识别结果可以直接更新在该系统词表中。可替代地,检测文本的当前识别结果可以作为一个临时词表被加入该系统词表,该临时词表相对该系统词表独立,例如,直至检测文本中的NE被最终完成识别,从而最终识别的NE被更新在该系统词表中。
识别模块42将由检测文本的词表生成的输入词向量与检测文本再次输入到命名实体识别模型,以获得新一轮的识别结果并更新所述词表,经过多轮循环直至当前识别的命名实体与上一轮识别的命名实体一致。
在此,根据首轮识别建立的词表生成已识别NE的词向量,将这些词向量与检测文本一起再次输入至命名实体识别模型,获得第二轮识别结果并根据当前识别结果更新检测文本的词表。
如此循环进行多轮识别,直至当前识别结果与上一轮的识别结果一致,例如当前识别的NE与上一轮识别的NE一致。在此,对当前识别结果与上一轮识别结果一致的判断还可以进一步考量其他因素。根据本发明的一个示例,当前已识别的NE不仅需与上一轮识别的NE一致,当连续三轮识别的NE均一致时才结束对检测文本的NE识别。根据本发明的另一个示例,当前已识别的NE不仅需与上一轮识别的NE一致,同一NE在这两轮识别中的置信度也要相近,如同一NE在这两轮识别中的置信度差值小于一预定的阈值,此时才满足对检测文本的NE识别的结束条件。
根据本发明的一个示例,多个检测文本中基于内容关联存在顺序或上下文关系,如多个检测文本分别为同一篇文章中的一个段落。据此,对于每一轮NE识别而言,这些检测文本按照其在文章中的顺序关系被逐个输入NER模型来进行NE识别。例如,输入的多个检测文本按照其段落顺序分别被标记为检测文本1、检测文本2、检测文本3,在首轮检测中,首先输入检测文本1并生成对应词表,该词表将随后生成其中NE的词向量和检测文本2一起输入该NER模型来进行NE识别,接着更新该词表并生成其中NE的词向量和检测文本3一起输入该NER模型来进行NE识别。其后的每轮检测也是如此,直至确定所有检测文本1-3中的NE。
由此需要确定采用哪些属性信息来生成已识别NE的词向量。在此,词表中记录的NE的属性信息例如可以包括NE的置信度、NE在检测文本中的出现频率。此外,对于多个连续检测文本的场景,已识别NE的属性信息例如还可以包括NE在其对应检测文本中的出现位置,例如一个NE出现在检测文本1中的第二句话中。
其中,已识别NE的输入词向量包括根据NE的属性信息确定的权重。
根据本发明的一个示例,词表中已识别NE的置信度可以作为一个权重加到该NE构成的输入词向量上。置信度越高的NE权重越高,对后续检测的影响越大,反之亦然。
根据本发明的一个示例,词表中已识别NE的出现频率也可以作为一个权重加入该NE构成的输入词向量。出现频率越高的NE对后续检测的影响越大,反之则越小。
根据本发明的一个示例,若多个检测文本基于内容关联存在顺序或上下文关系,如多个检测文本分别为同一篇文章中段落的之一,已识别NE的出现位置也可以作为一个权重加入该NE构成的输入词向量,用于顺序在后的检测文本的NE检测。对于在后检测文本而言,一个词表中的NE,离该在后检测文本越近产生的影响越大,反之则越小。例如,检测文本1中出现的NE,如果检测文本2和4中也出现该NE,则该NE的输入词向量中该项出现位置对应的权重在用于识别检测文本2时相较于用于识别检测文本4时更大。
在嵌入NER模型时,词表中NE的词向量可以按照NE的标签嵌入为标签词向量,也可以按照NE的上下文语义嵌入为词向量。本领域技术人员应能理解,上述由检测文本的词表生成的词向量嵌入NER模型的方式也仅为举例,用于解释说明本发明之目的,而不应被理解为对本发明的任何限制。其他现有的或将来的词向量嵌入方式如可以适用于本发明,均应被引用在此,从而被包括在本发明的保护范围之内。
此外,由检测文本的词表生成的输入词向量可以被输入至命名实体识别模型中的任一层。
配合参阅图1,根据本发明的一个示例,检测文本的词表中已识别NE的词向量可以与检测文本一起输入NER模型的输入嵌入层101。根据本发明的另一个示例,已识别NE的词向量也可以作为上下文信息编码层102的输入,此时上下文信息编码层102的输入还包括输入嵌入层101对检测文本生成的词向量。根据本发明的再一个示例,已识别NE的词向量也可以作为解码输出层103的输入,此时解码输出层103的输入还包括经上下文信息编码层102对检测文本的词向量进行上下文编码后的词向量。
识别模块42根据最后一轮的识别结果,确定输入的检测文本中的命名实体。
当获得与上一轮一致的已识别NE并停止循环识别过程后,识别模块42根据最后一轮的识别结果,即最后预测的NE标签,确定输入的检测文本中的NE。
根据本发明的一个实施例,最终识别的NE标签可以被加入到外部词表,以更新现有词表。当检测文本维护有一个专有词表时,该外部词表可以是系统词表。
上述识别模块42执行的操作描述了根据发明的一个实施例通过训练好的命名实体识别模型来对检测文本中的命名实体进行识别。
以下将进一步描述根据本发明的一个实施例的训练命名实体识别模型的过程,其中描述了训练第一命名实体识别模型以获得训练好的用于识别检测文本中的命名实体的命名实体模型的过程。
在此,对检测文本进行命名实体识别的命名实体识别模型通过对现有命名实体识别模型进行训练来获得。其中,第一命名实体识别模型可以采用任何现有的NER模型,
本发明对此不做限制。例如,BiLSTM+CRF(双向长短记忆网络(Bi-directionalLong Short-Term Memory)+条件随机场(Conditional Random Field))模型,或BERT+BiLSTM(Transformer的双向编码表示(Bidirectional Encoder Representation fromTransformers)+双向长短记忆网络(Bi-directional Long Short-Term Memory))模型,其中,前者较为常用,后者目前效果最好。
为便于区分,通过训练文本来获得训练的命名实体识别模型可以被称为第一命名实体识别模型,训练好被用来识别检测文本的命名实体识别模型可以被称为第二命名实体识别模型。
具体地,命名实体识别装置还包括训练模块(图4未示出)中,训练模块对第一命名实体识别模型的训练包括以下操作:
1)对输入的训练文本通过第一命名实体识别模型来进行命名实体识别,根据首次输出的识别结果建立对应训练文本的第一词表,该第一词表包括已识别的第一命名实体及其第一属性信息。
训练文本被输入第一命名实体识别模型来进行NE预测,训练模块根据第一命名实体识别模型的首次输出结果建立训练文本的第一词表,其中包括已识别的NE标签以及NE的第一属性信息,NE的第一属性信息包括NE的置信度、NE在输入的训练文本中的出现频率以及NE在输入的训练文本中的出现位置中至少之一。
其中,NE的出现位置和出现频率当用于内容关联且具有顺序关系的多个训练文本的NE识别时,是有利的。在先训练文本中被识别出来的NE可以使得在后训练文本中的相同NE被更快识别。
2)将由第一词表生成的第一输入词向量与训练文本再次输入第一命名实体识别模型,以获得新一轮的识别结果并更新第一词表,经过多轮循环直至训练的目标函数收敛。
根据第一词表构成其中NE的第一词向量,这些第一词向量与训练文本一起再次输入第一命名实体识别模型,以获得第二轮识别结果并据此更新第一词表。再次重复上述生成第一词向量并与训练文本一起输入第一命名实体识别模型的操作,直至训练的目标函数收敛。
由第一词表生成的NE词向量,可以作为第一输入词向量被输入至第一命名实体识别模型的任一层,例如,被输入至输入嵌入层101、上下文信息编码层102或解码输出层103。并且,NE的第一输入词向量可以嵌入为标签词向量或根据上下文语义嵌入为词向量。
第一词表中NE的第一属性信息例如NE的置信度、NE在输入的训练文本中的出现频率或NE在输入的训练文本中的出现位置均可以作为权重加入到NE的第一词向量中。
其中,在每一轮识别之后,训练模块根据当前识别结果与真实结果来计算目标函数,以根据目标函数的计算结果来调整第一命名实体识别模型的相关参数。
根据本发明的一个示例,训练模块计算当前识别结果与真实结果之间的交叉熵,并根据计算结果调整第一命名实体识别模型的相关参数,例如根据反向求导自动更新第一命名实体识别模型中的参数。当目标函数的计算结果收敛时,训练结束。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的至少一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算设备执行时,通过该计算设备的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用/提供本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算设备的工作存储器中。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (17)
1.一种命名实体识别方法,其中,该方法包括以下步骤:
获取检测文本;
通过经训练好的命名实体识别模型对所述检测文本进行命名实体识别,根据首次输出的识别结果维护对应所述检测文本的词表,所述词表包括已识别的命名实体及其属性信息;
将由所述词表生成的输入词向量与所述检测文本再次输入所述命名实体识别模型,以获得新一轮的识别结果并更新所述词表,经过多轮循环直至当前识别的命名实体与上一轮识别的命名实体一致;其中,所述输入词向量包括所述已识别的命名实体以及所述属性信息对应的权重;
根据最后一轮的识别结果,确定所述检测文本中的命名实体。
2.根据权利要求1所述的方法,其中,所述属性信息包括所述已识别的命名实体的置信度和/或所述已识别的命名实体在所述检测文本中的出现频率。
3.根据权利要求1或2所述的方法,其中,所述检测文本与其他至少一检测文本基于内容关联存在顺序关系,在每一轮识别中,所述检测文本与所述其他至少一检测文本按照所述顺序关系被分别输入至所述命名实体识别模型进行命名实体识别,
其中,在每一轮识别中,按照所述顺序关系,由排序在先的检测文本对应的词表生成的输入词向量与当前检测文本一起被输入所述命名实体识别模型,
其中,所述属性信息还包括所述已识别的命名实体在其对应检测文本中的出现位置。
4.根据权利要求1至3中任一项所述的方法,其中,所述由所述词表生成的输入词向量被输入至所述命名实体识别模型中的任一层。
5.根据权利要求1至4中任一项所述的方法,其中,该方法还包括:
对第一命名实体识别模型进行训练,以获得训练好的所述命名实体识别模型,其中,所述训练包括:
对输入的训练文本通过所述第一命名实体识别模型来进行命名实体识别,根据首次输出的识别结果建立对应所述训练文本的第一词表,所述第一词表包括已识别的第一命名实体及其第一属性信息;
将由所述第一词表生成的第一输入词向量与所述训练文本再次输入所述命名实体识别模型,以获得新一轮的识别结果并更新所述第一词表,经过多轮循环直至所述训练的目标函数收敛;其中,所述第一输入词向量包括所述已识别的第一命名实体以及所述第一属性信息对应的权重。
6.一种命名实体识别方法,其中,该方法包括以下步骤:
对第一命名实体识别模型进行训练,以获得训练好的第二命名实体识别模型,其中,所述训练包括:
-对输入的训练文本通过所述第一命名实体识别模型来进行命名实体识别,根据首次输出的识别结果建立对应所述训练文本的第一词表,所述第一词表包括已识别的第一命名实体及其第一属性信息;
-将由所述第一词表生成的第一输入词向量与所述训练文本再次输入所述第一命名实体识别模型,以获得新一轮的识别结果并更新所述第一词表,经过多轮循环直至所述训练的目标函数收敛;其中,所述第一输入词向量包括所述已识别的第一命名实体以及所述第一属性信息对应的权重。
7.根据权利要求6所述的方法,其中,该方法还包括:
获取检测文本;
通过所述第二命名实体识别模型对所述检测文本进行命名实体识别,根据首次输出的识别结果维护对应所述检测文本的词表,所述词表包括已识别的命名实体及其属性信息;
将由所述词表生成的输入词向量与所述检测文本再次输入所述命名实体识别模型,以获得新一轮的识别结果并更新所述词表,经过多轮循环直至当前识别的命名实体与上一轮识别的命名实体一致,其中,所述输入词向量包括所述已识别的命名实体以及所述属性信息对应的权重;
根据最后一轮的识别结果,确定所述检测文本中的命名实体。
8.一种命名实体识别装置,其中,该装置包括:
获取模块,用于获取检测文本;
识别模块,用于:
通过经训练好的命名实体识别模型对所述检测文本进行命名实体识别,根据首次输出的识别结果维护对应所述检测文本的词表,所述词表包括已识别的命名实体及其属性信息;
将由所述词表生成的输入词向量与所述检测文本再次输入所述命名实体识别模型,以获得新一轮的识别结果并更新所述词表,经过多轮循环直至当前识别的命名实体与上一轮识别的命名实体一致;其中,所述输入词向量包括所述已识别的命名实体以及所述属性信息对应的权重;
根据最后一轮的识别结果,确定所述检测文本中的命名实体。
9.根据权利要求8所述的装置,其中,所述属性信息包括所述已识别的命名实体的置信度和/或所述已识别的命名实体在所述检测文本中的出现频率。
10.根据权利要求8或9所述的装置,其中,所述检测文本与其他至少一检测文本基于内容关联存在顺序关系,在每一轮识别中,所述检测文本与所述其他至少一检测文本按照所述顺序关系被分别输入至所述命名实体识别模型进行命名实体识别,
其中,在每一轮识别中,按照所述顺序关系,由排序在先的检测文本对应的词表生成的输入词向量与当前检测文本一起被输入所述命名实体识别模型,
其中,所述属性信息还包括所述已识别的命名实体在其对应检测文本中的出现位置。
11.根据权利要求8至10中任一项所述的装置,其中,所述由所述词表生成的输入词向量被输入至所述命名实体识别模型中的任一层。
12.根据权利要求8至11中任一项所述的装置,其中,该装置还包括:
训练模块,用于对第一命名实体识别模型进行训练,以获得训练好的所述命名实体识别模型,其中,所述训练包括:
对输入的训练文本通过所述第一命名实体识别模型来进行命名实体识别,根据首次输出的识别结果建立对应所述训练文本的第一词表,所述第一词表包括已识别的第一命名实体及其第一属性信息;
将由所述第一词表生成的第一输入词向量与所述训练文本再次输入所述命名实体识别模型,以获得新一轮的识别结果并更新所述第一词表,经过多轮循环直至所述训练的目标函数收敛;其中,所述第一输入词向量包括所述已识别的第一命名实体以及所述第一属性信息对应的权重。
13.一种命名实体识别装置,其中,该装置包括:
训练模块,用于对第一命名实体识别模型进行训练,以获得训练好的第二命名实体识别模型,其中,所述训练包括:
-对输入的训练文本通过所述第一命名实体识别模型来进行命名实体识别,根据首次输出的识别结果建立对应所述训练文本的第一词表,所述第一词表包括已识别的第一命名实体及其第一属性信息;
-将由所述第一词表生成的第一输入词向量与所述训练文本再次输入所述第一命名实体识别模型,以获得新一轮的识别结果并更新所述第一词表,经过多轮循环直至所述训练的目标函数收敛;其中,所述第一输入词向量包括所述已识别的第一命名实体以及所述第一属性信息对应的权重。
14.根据权利要求13所述的装置,其中,该装置还包括:
获取模块,用于获取检测文本;
识别模块,用于:
通过所述第二命名实体识别模型对所述检测文本进行命名实体识别,根据首次输出的识别结果维护对应所述检测文本的词表,所述词表包括已识别的命名实体及其属性信息;
将由所述词表生成的输入词向量与所述检测文本再次输入所述命名实体识别模型,以获得新一轮的识别结果并更新所述词表,经过多轮循环直至当前识别的命名实体与上一轮识别的命名实体一致,其中,所述输入词向量包括所述已识别的命名实体以及所述属性信息对应的权重;
根据最后一轮的识别结果,确定所述检测文本中的命名实体。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
17.一种计算机程序产品,当所述计算机程序产品被计算机设备执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911088877.XA CN110889287A (zh) | 2019-11-08 | 2019-11-08 | 一种用于命名实体识别的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911088877.XA CN110889287A (zh) | 2019-11-08 | 2019-11-08 | 一种用于命名实体识别的方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110889287A true CN110889287A (zh) | 2020-03-17 |
Family
ID=69747166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911088877.XA Pending CN110889287A (zh) | 2019-11-08 | 2019-11-08 | 一种用于命名实体识别的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110889287A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597813A (zh) * | 2020-05-21 | 2020-08-28 | 上海创蓝文化传播有限公司 | 一种基于命名实体识别提取短信文本摘要的方法及装置 |
CN112101034A (zh) * | 2020-09-09 | 2020-12-18 | 沈阳东软智能医疗科技研究院有限公司 | 一种判别医学实体的属性的方法、装置及相关产品 |
CN112329477A (zh) * | 2020-11-27 | 2021-02-05 | 上海浦东发展银行股份有限公司 | 基于预训练模型的信息抽取方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615589A (zh) * | 2015-02-15 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 训练命名实体识别模型的方法、命名实体识别方法及装置 |
CN107967256A (zh) * | 2017-11-14 | 2018-04-27 | 北京拉勾科技有限公司 | 词语权重预测模型生成方法、职位推荐方法及计算设备 |
CN108536679A (zh) * | 2018-04-13 | 2018-09-14 | 腾讯科技(成都)有限公司 | 命名实体识别方法、装置、设备及计算机可读存储介质 |
CN109145303A (zh) * | 2018-09-06 | 2019-01-04 | 腾讯科技(深圳)有限公司 | 命名实体识别方法、装置、介质以及设备 |
-
2019
- 2019-11-08 CN CN201911088877.XA patent/CN110889287A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615589A (zh) * | 2015-02-15 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 训练命名实体识别模型的方法、命名实体识别方法及装置 |
CN107967256A (zh) * | 2017-11-14 | 2018-04-27 | 北京拉勾科技有限公司 | 词语权重预测模型生成方法、职位推荐方法及计算设备 |
CN108536679A (zh) * | 2018-04-13 | 2018-09-14 | 腾讯科技(成都)有限公司 | 命名实体识别方法、装置、设备及计算机可读存储介质 |
CN109145303A (zh) * | 2018-09-06 | 2019-01-04 | 腾讯科技(深圳)有限公司 | 命名实体识别方法、装置、介质以及设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597813A (zh) * | 2020-05-21 | 2020-08-28 | 上海创蓝文化传播有限公司 | 一种基于命名实体识别提取短信文本摘要的方法及装置 |
CN112101034A (zh) * | 2020-09-09 | 2020-12-18 | 沈阳东软智能医疗科技研究院有限公司 | 一种判别医学实体的属性的方法、装置及相关产品 |
CN112101034B (zh) * | 2020-09-09 | 2024-02-27 | 沈阳东软智能医疗科技研究院有限公司 | 一种判别医学实体的属性的方法、装置及相关产品 |
CN112329477A (zh) * | 2020-11-27 | 2021-02-05 | 上海浦东发展银行股份有限公司 | 基于预训练模型的信息抽取方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110781276A (zh) | 文本抽取方法、装置、设备及存储介质 | |
CN111832290B (zh) | 用于确定文本相关度的模型训练方法、装置、电子设备及可读存储介质 | |
Suo et al. | A simple and robust correlation filtering method for text-based person search | |
CN110377902B (zh) | 描述文本生成模型的训练方法和装置 | |
KR20180005850A (ko) | 자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치 | |
CN107526798B (zh) | 一种基于神经网络的实体识别和规范化联合方法及模型 | |
CN111046656A (zh) | 文本处理方法、装置、电子设备及可读存储介质 | |
CN110222328B (zh) | 基于神经网络的分词和词类标注方法、装置、设备及存储介质 | |
CN112632226B (zh) | 基于法律知识图谱的语义搜索方法、装置和电子设备 | |
CN113569050B (zh) | 基于深度学习的政务领域知识图谱自动化构建方法和装置 | |
CN110889287A (zh) | 一种用于命名实体识别的方法与装置 | |
CN113408287B (zh) | 实体识别方法、装置、电子设备及存储介质 | |
CN112069312B (zh) | 一种基于实体识别的文本分类方法及电子装置 | |
CN116661805B (zh) | 代码表示的生成方法和装置、存储介质及电子设备 | |
CN111666766A (zh) | 数据处理方法、装置和设备 | |
CN111368066B (zh) | 获取对话摘要的方法、装置和计算机可读存储介质 | |
CN112507337A (zh) | 基于语义分析的恶意JavaScript代码检测模型的实现方法 | |
CN111291565A (zh) | 一种用于命名实体识别的方法与装置 | |
CN115952791A (zh) | 基于机器阅读理解的篇章级事件抽取方法、装置、设备及存储介质 | |
CN115408488A (zh) | 用于小说场景文本的分割方法及系统 | |
CN114218940B (zh) | 文本信息处理、模型训练方法、装置、设备及存储介质 | |
CN114758330A (zh) | 一种文本识别方法、装置、电子设备和存储介质 | |
CN110851597A (zh) | 一种基于同类实体替换的语句标注的方法及装置 | |
Lysak et al. | Optimized Table Tokenization for Table Structure Recognition | |
CN112084788B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200317 |