CN111444719A - 一种实体识别方法、装置和计算设备 - Google Patents
一种实体识别方法、装置和计算设备 Download PDFInfo
- Publication number
- CN111444719A CN111444719A CN202010187932.7A CN202010187932A CN111444719A CN 111444719 A CN111444719 A CN 111444719A CN 202010187932 A CN202010187932 A CN 202010187932A CN 111444719 A CN111444719 A CN 111444719A
- Authority
- CN
- China
- Prior art keywords
- entity
- character
- input
- type
- semantic feature
- 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
Landscapes
- Machine Translation (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开了一种实体识别方法,在计算设备中执行,包括:生成用户输入语句的语义特征向量,作为当前语义特征向量;基于当前语义特征向量对输入语句进行实体识别,得到本次识别出的一个或多个实体名、以及每个实体名的字符位置和自身实体类型;对于每个实体名:根据每个字符是否属于该实体名生成实***置特征,根据该实体名的自身和上层实体类型生成实体类型特征;将实***置特征、实体类型特征与输入语句的语义特征向量拼接为拼接向量;将当前语义特征向量更新为拼接向量,并重新开始执行实体识别步骤,直到实体识别结果中不存在任何实体为止;汇总每次识别出的实体名作为最终实体识别结果。本发明还一并公开了对应的实体识别装置和计算设备。
Description
技术领域
本发明涉及自然语言处理领域,尤其涉及一种实体识别方法、装置和计算设备。
背景技术
嵌套命名实体识别作为命名实体识别任务的主要组成部分,是许多科学研究(如:问答***、知识图谱、人工智能等)中最为基础、核心的技术之一,并且其相关识别方法成果在实际生活中也具有广泛的应用。中文的复杂性导致在文本内往往存在着较多的嵌套命名实体。现有的命名实体识别方法能够较好的识别出结构相对简单的基本命名实体,但对于结构复杂的嵌套命名实体却很难完整地、准确地识别出来,再加上现有方法多集中于常规文本中的命名实体识别研究。
当前嵌套命名实体识别主要分为两种从细颗粒度到粗颗粒度的嵌套实体识别和从粗颗粒度到细颗粒度的实体识别。其中细颗粒度到粗颗粒度的嵌套实体识别往往会忽略粗颗粒度类型对细颗粒度实体类型的约束,并且在细颗粒度往粗粒度实体进行识别的过程中,需要不断的对新识别出的细颗粒度的实体进行语义特征学习,所以需要大量的训练成本。而从粗颗粒度实体向细颗粒度进行嵌套实体识别的过程中,大多采用深度学习和规则词典相结合的策略进行,需要一定的人工成本,且采用动态神经网络的方式进行实体识别的过程,容易使得训练和预测时间大大增加,导致模型较重。
发明内容
鉴于上述问题,本发明提出了一种实体识别方法、装置和计算设备,以力图解决或者至少解决上面存在的问题。
根据本发明的一个方面,提供了一种实体识别方法,适于在计算设备中执行,该方法包括步骤:对用户的输入语句进行语义编码,生成针对输入语句的语义特征向量,作为当前语义特征向量;基于当前语义特征向量对输入语句进行实体识别,得到本次识别出的一个或多个实体名、以及每个实体名的字符位置和自身实体类型;对于每个实体名:根据输入语句的每个字符是否属于该实体名来生成实***置特征,根据该实体名的自身实体类型和上层实体类型来生成实体类型特征;将输入语句的语义特征向量与实***置特征、实体类型特征进行拼接,得到拼接向量;将当前语义特征向量更新为拼接向量,并重新开始执行实体识别步骤,直到实体识别结果中不存在任何实体为止;以及汇总每次进行实体识别后所得到的实体名,作为该输入语句的最终实体识别结果。
可选地,在根据本发明的实体识别方法中,输入语句的语义特征向量为[T1,T2,……,Tm],m为输入语句的最大字符长度,Tm为第m个字符的字向量;实***置特征为[L1,L2,……,Lm],Lm为第m个字符是否属于对应实体名的字符标记;实体类型特征为[C1,C2,……,Cn],n为实体类型的总数,Cn为第n个实体类型的标记。
可选地,在根据本发明的实体识别方法中,实***置特征中,属于该实体名的字符标记为1,反之标记为0;实体类型特征中,该实体名的自身实体类型和上层实体类型标记为1,其他实体类型标记为0;
可选地,在根据本发明的实体识别方法中,将输入语句的语义特征向量与实***置特征、实体类型特征进行拼接的步骤包括:对于输入语句的每个字符,将其字向量、字符标记和实体类型特征进行拼接,得到每个字符拼接后的字向量,进而得到输入语句的拼接向量。
可选地,在根据本发明的实体识别方法中,对用户的输入语句进行语义编码的步骤包括:将输入语句输入到Bert模型中,生成针对该输入语句的语义特征向量。
可选地,在根据本发明的实体识别方法中,基于当前语义特征对所述输入语句进行实体识别的步骤包括:将当前语义特征向量输入到条件随机场模型中,得到该输入语句的实体识别结果。
可选地,在根据本发明的实体识别方法中,计算设备中存储有训练好的实体识别模型,该模型包括:Bert模型层,适于输出输入语句的语义特征向量;和p层条件随机场模型,适于输出输入语句的实体识别结果,其中p值为输入语句的嵌套实体层数加一。
可选地,在根据本发明的实体识别方法中,m=128,实体名的字符位置包括该实体名的起始字符位置和结束字符位置。。
根据本发明的另一个方面,提供了一种嵌套实体识别装置,适于驻留在计算设备中,该装置包括:语义编码模块,适于对用户的输入语句进行语义编码,生成针对输入语句的语义特征向量,作为当前语义特征向量;实体识别模块,适于基于当前语义特征向量对输入语句进行实体识别,得到本次识别出的一个或多个实体名、以及每个实体名的字符位置和自身实体类型;实体再识别模块,对于每个实体名,适于:根据输入语句的每个字符是否属于该实体名来生成实***置特征,根据该实体名的自身实体类型和上层实体类型来生成实体类型特征;将输入语句的语义特征向量与实***置特征、实体类型特征进行拼接,得到拼接向量;将当前语义特征向量更新为拼接向量,并重新开始执行实体识别步骤,直到实体识别结果中不存在任何实体为止;以及实体汇总模块,适于汇总每次进行实体识别后所得到的实体名,作为该输入语句的最终实体识别结果。
根据本发明的又一方面,提供一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,该一个或多个程序被处理器执行时实现如上所述的实体识别方法的步骤。
根据本发明的又一方面,提供一种存储一个或多个程序的可读存储介质,该一个或多个程序包括指令,所述指令当由计算设备执行时实现如上所述的实体识别方法的步骤。
根据本发明的技术方案,采用粗颗粒度到细颗粒度的实体识别过程,并且在进行细颗粒度的动态实体识别过程中,将由由输入语句生成的语义特征加入粗颗粒度的实体类型和位置特征,提高嵌套实体识别的准确率,同时保证在实体识别过程中不会丢失语义特征。进一步地,本发明在动态实体识别过程中,将BERT模型作为语义特征生成单元,将CRF算法作为嵌套实体识别单元,提升了嵌套实体识别效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的结构框图;
图2示出了根据本发明一个实施例的实体识别方法200的流程图;
图3示出了根据本发明另一个实施例的实体识别方法的示意图;
图4A示出了根据本发明一个实施例的Bert模型的输入输出示例;
图4B示出了根据本发明一个实施例的基于CRF模型对输入语句的语义特征进行实体识别的示例;
图4C示出了根据本发明一个实施例的特征拼接示例;
图4D示出了根据本发明另一个实施例的基于CRF模型对拼接特征进行实体识别的示例;
图4E和4F示出了根据本发明一个实施例对某输入语句进行多层嵌套实体识别的示例;以及
图5示出了根据本发明一个实施例的实体识别装置500的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是根据本发明一个实施例的计算设备100的框图。在基本的配置102中,计算设备100典型地包括***存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和***存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,***存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。***存储器106可以包括操作***120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作***上利用程序数据124进行操作。程序数据124包括指令,在根据本发明的计算设备100中,程序数据124包含用于执行实体识别方法200。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和WEB服务器等,也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。在一些实施例中,计算设备100被配置为执行实体识别方法200。
图2示出了根据本发明一个实施例的实体识别方法200的流程示意图。方法200在计算设备中执行,如在计算设备100中执行,以便识别输入语句的多层嵌套实体。该实体识别方法200可结合图3中的流程简化图进行理解。
如图2所示,该方法始于步骤S210。在步骤S210中,对用户的输入语句进行语义编码,生成针对输入语句的语义特征向量,作为当前语义特征向量。
一般地,可以将输入语句输入到Bert模型中,生成针对该输入语句的语义特征向量。该输入语句的语义特征向量包括每个字符的字向量,具体可表示为[T1,T2,……,Tm],m为输入语句的最大字符长度,Tm为第m个字符的字向量。作为优选地,m=128,也就是模型默认的输入输出长度均为128位,如果语句字符长度不足,则不足位数均可用零向量表示。
图4A示出了根据本发明一个实施例的Bert模型的输入输出示例,其输入语句为“宝马320Li豪华版是一款受大众喜爱的车。”,生成对应的语句字符为Tok1~Tokm,经过语义转换层后输出语义特征T1~Tm。
随后,在步骤S220中,基于当前语义特征向量对输入语句进行实体识别,得到本次识别出的一个或多个实体名、以及每个实体名的字符位置和自身实体类型。
其中,每个实体名的字符位置包括该实体名的起始字符位置、中间字符位置和结束字符位置。本发明可设置多种实体类型,根据不同行业和具体业务线可设置不同的实体类型数,本发明对此不作限制。例如,汽车领域可设置56种实体类型,如“车系”、“车型”、“版型”、“品牌”、“城市”、“发行时间”、“经销商”、“厂商”、“4S店”等多种实体类型。
根据一个实施例,可以将当前语义特征向量输入到条件随机场模型(CRF)中,得到该输入语句的实体识别结果。图4B示出了根据本发明一个实施例的基于CRF模型对输入语句的语义特征进行实体识别的示例,其将图4A中的语句语义特征向量[T1 T2 ... Tm]作为CRF算法的输入进行第一层的粗颗粒度的实体识别,其实体序列结果为:[B_s_spec B_m_spec B_m_spec…O],其中“B_s_spec”代表实体“车型”的起始字符位置,“B_m_spec”代表实体“车型”的中间字符位置,相应的“B_e_spec”代表实体“车型”的结束字符位置,“O”代表当前位置的字符不在实体范围之内。所以根据实体序列进行解析获得:实体“宝马320Li豪华版”,起始字符位置为0,结束字符位置为9,实体类型“车型”。其中,字符位置可以用字符下标表示,字符位置也可以从1开始标记,本发明对此不作限制。
随后,在步骤S230中,对于每个实体名,根据输入语句的每个字符是否属于该实体名来生成实***置特征,根据该实体名的自身实体类型和上层实体类型来生成实体类型特征。
其中,实***置特征包括每个字符是否属于对应实体名的字符标记,其可表示为[L1,L2,……,Lm],Lm为第m个字符是否属于对应实体名的字符标记。一般地,属于该实体名的字符标记为1,反之标记为0。如果语句的字符长度的小于m,则不足位数的字符标记均为0。
例如,对于输入语句“宝马320Li豪华版是一款受大众喜爱的车。”,其第一次识别出的实体“宝马320Li豪华版”的起始字符位置是0,结束下标是9,所以从0到9的位置都为“1”,其他位置都为“0”,所以其实***置特征为[1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 00 0……],省略号处的字符标记均为0。
应当理解,每个实体名都有对应的实***置特征,例如“宝马320Li豪华版”这一实体名对应的实***置特征中,0-9位的字符标记为1,其他字符标记为0。而对于“宝马320”这一实体名,其起始字符位置为0,结束字符位置为5,因此在对应的实***置特征中,0-5位的字符标记为1,其他字符标记为0。
实体类型特征包括实体名自身实体类型和上层实体类型的标记,其可表示为[C1,C2,……,Cn],n为实体类型的总数(例如,n=56),Cn为第n个实体类型的标记。其中,该实体名的自身实体类型和上层实体类型标记为1,其他实体类型标记为0。也就是,该自身实体类型和上层实体类型在总实体类型中的第几位,则该位标记为1,其他位置标记为0。
上层实体类型是指该实体名所属的上层实体名的实体类型。例如,“宝马320Li豪华版”的实体类型是“车型”,由该实体名识别出的下层实体名“宝马3”的实体类型是“车系”,再下层的实体名“宝马”的实体类型是“品牌”。因此,在实际应用中,由“宝马3”这一实体名生成的实体类型特征中,“车型”和“车系”这两个实体类型的标记为1,其他实体类型的标记为0。其中,“车系”是“宝马3”的自身实体类型,“车型”是其上层实体类型。而由“宝马”这一实体名生成的实体类型特征中,“品牌”、“车型”和“车系”这三个实体类型的标记为1,其他实体类型的标记为0。其中,“品牌”是其自身实体类型,“车型”和“车系”是其上层实体类型。
在一种实现方式中,实体名所属的上层实体名可以单指该实体名直属的上层实体名,而不包括该上层实体名的并行关系的实体名。例如,“宝马3”的上层实体名可包括“宝马320Li”和“宝马320Li豪华版”,而不会包括“豪华版”。在另一种实现方式中,实体名所属的上层实体名既可以包括与该实体名属于直系的上层实体名,也可以包括该上层实体名的并列实体名。本发明对上层实体名的的实际范围不作专门限制。
经过步骤S230后,得到了每个实体名所对应的实***置特征和实体类型特征。
随后,在步骤S240中,将输入语句的语义特征向量与实***置特征、实体类型特征进行拼接,得到拼接向量。
具体地,对于输入语句的每个字符,将其字向量、字符标记和实体类型特征进行拼接,得到每个字符拼接后的字向量,进而得到输入语句的拼接向量。图4C示出了根据本发明一个实施例的特征拼接示例。对于第一个字符,其在输入语句中的字向量为T1,在实***置特征中的字符标记为L1,实体类型特征为多维数组TY,将这三者拼接后得到第一个字符的字向量。每个字符拼接后的字向量共同构成输入语句的拼接向量。
应当理解的是,本发明对每个层级的实体名都进行了向量拼接,以进一步判断能否从该拼接向量中识别出新一层的实体名。而在每次拼接时,每个字符i的字向量Ti均采用其输入语句的原始语义特征向量中的字向量,而字符标记Li会根据所用实体名的不同而显示不同的标记。例如,当实体名是“宝马320Li豪华版”,则0-9位的字符标记均为1;而当实体名是“宝马3”时,只有0-3位的字符标记为1。
同理,实体类型特征也会根据所用实体名的不同而显示不同的标记。例如,当实体名是“宝马320Li豪华版”,只有“车型”这一实体类型标记为1;而当实体名是“宝马3”时,则“车型”、“车系”、“品牌”这三个实体类型均标记为1。
随后,在步骤S250中,将当前语义特征向量更新为拼接向量,并重新开始执行步骤S220,直到实体识别结果中不存在任何实体为止。
这里,将当前语义特征向量进行更新后,仍将其输入到条件随机场模型(CRF模型)中,再次进行下一层的实体识别,得到该输入语句的实体识别结果。
例如,当在第一层识别出“宝马320Li豪华版”这一实体后,将该实体的语义特征向量、实***置特征和实体类型特征进行拼接后。将该拼接向量输入到CRF模型中,其实体序列结果如图4D所示:[B_s_spec B_m_spec B_m_spec…O]。根据实体序列进行解析可获得两个实体:实体“宝马320Li”,起始字符位置0,结束字符位置6,实体类型“车型”;实体“豪华版”,起始字符位置7,结束字符位置9,实体类型“版型”。
之后,对该实体识别结果进行判断,如果该层存在实体,则重复步骤S220-S240的过程,直到最后一层的实体识别结果无法识别出实体。在上述第二层实体识别存在两个实体,分别为实体“宝马320Li”和实体“豪华版”,因此对两个实体分别进行重复S220-S240的过程,进行动态嵌套实体识别。
如图4E所示,针对第二层存在的实体“宝马320Li”,起始字符位置0,结束字符位置6,实体类型“车型”,所以将“宝马320Li”的拼接特征作为输入进行第三层嵌套实体识别。实体识别结果中存在实体“宝马3”,起始字符位置0,结束字符位置2,实体类型“车系”,所以继续将“宝马3”的拼接特征作为输入进行第四层嵌套实体识别。实体识别结果中存在实体“宝马”,起始字符位置0,结束字符位置1,实体类型“品牌”,所以将“宝马”的拼接特征作为输入进行第五层嵌套实体识别,此时实体识别结果中不存在任何实体,所以停止该实体的嵌套实体识别。
针对第二层存在实体“豪华版”,起始字符位置7,结束字符位置9,实体类型“版型”,因此将“豪华版”的拼接特征作为输入进行第三层嵌套实体识别,实体识别结果中不存在任何实体,所以停止该实体的嵌套实体识别。
最后,在步骤S260中,汇总每次进行实体识别后所得到的实体名,作为该输入语句的最终实体识别结果。
图4F示出了对图4A中的输入语句进行多层嵌套实体识别后的最终结果。其中,第一层实体识别结果为:“宝马320Li豪华版”为车型实体(SPE),起始字符位置0,结束字符位置下标9。第二层实体识别结果:“宝马320Li”为车型实体(SPE),起始字符位置0,结束字符位置6;“豪华版”为版型实体(STE),起始字符位置7,结束字符位置9。第三层实体识别结果:“宝马3”为车系实体(SER)起始字符位置0,结束字符位置2。第四层实体识别结果:“宝马”为品牌实体(BRA),起始字符位置0,结束字符位置1。
根据本发明的一个实施例,计算设备中还可以存储训练好的实体识别模型,该模型包括:Bert模型层,适于输出输入语句的语义特征向量;和p层条件随机场模型,适于输出输入语句的实体识别结果,其中p值为输入语句的嵌套实体层数加一。关于该实体模型的结构和参数,本领域技术人员可以根据需要自行进行设定,本发明对此不作限制。以下为该模型的一些示例参数:
句子最大长度max_seq_length=128
训练批次大小train_batch_size=32
评估批次大小eval_batch_size=8
预测批次大小predict_batch_size=8
学习率learning_rate=5e-5
训练数据循环次数num_train_epochs=3.0
慢热学习的比例warmup_proportion=0.1
保存模型的频率save_checkpoints_steps=1000
评估频率iterations_per_loop=1000
丢包率droupout_rate=0.5
综上所述,本发明使用Bert模型对输入语句进行编码,生成语句的语义特征向量。将语义特征向量输入CRF算法,获得第一层的实体识别结果(即粗颗粒度的实体识别结果)。然后根据第一层的实体结果和语义特征向量动态的进行第二层的实体识别,即如果第一层存在实体识别结果,那么就进行第二层的实体识别,如果第二层存在实体,那么就进行第三层的实体识别,一直动态的重复此实体识别过程,直到最后一层不存在实体识别结果为止。
在该过程中,本发明采用由粗颗粒度的实体识别到细颗粒度的实体识别的方式。第一层为当前语句的最粗颗粒度的实体识别,然后将在该粗粒度的实体识别结果下进行相对细颗粒度的实体识别,一直到最细颗粒度的实体识别结果的出现(不再识别出更细颗粒度的实体识别结果)为止。
此外,本发明在粗颗粒度的实体下进行相对细颗粒度的实体识别时,加入粗颗粒度实体识别(即上一层实体识别)的结果特征,来约束细颗粒度的实体识别结果,以提升细颗粒度实体识别结果的准确率。粗颗粒度实体识别的起止字符位置,可以有效的限制细颗粒度的实体识别结果的起止字符位置(细颗粒度的实体的起止字符位置必然在粗颗粒度的起止字符位置范围之内)。当前粗颗粒度的实体识别类型,可以约束细颗粒度实体类型,能够提高细颗粒度实体识别结果的准确率。例如在“车型”实体中,其细颗粒度的实体中不会存在“城市”这类实体,可能存在“品牌”“厂商”“车系”“版型”“年代”等实体类型。所以在“车型”粗颗粒度的实体下识别嵌套的细颗粒度实体时,可以加入“车型”这个实体的类型特征,可以对细颗粒度的实体类型进行有效的约束,从而增加实体识别结果的准确率。
同时,本发明为了保证动态嵌套实体识别的过程中可以结合当前语句的语义特征,所以在进行每一层的嵌套实体识别时,都加入由该语句生成的Bert的语义特征向量。即除进行第一层的粗颗粒度实体识别时只使用语义特征向量外,其他每层在进行嵌套实体识别过程中,都采用语义特征向量、上一层的实体识别结果的字符位置特征和实体类型特征来作为下一层细颗粒度的嵌套实体识别的输入。并且在嵌套实体识别的动态识别过程中,采用CRF算法进行动态的嵌套实体识别,相对于采用深度学习算法来说可以极大的节省模型训练和预测成本。本发明在每次采用CRF算法进行动态嵌套实体识别时,都结合Bert预训练生成的语义特征向量,所以并不会出现语义缺失导致的实体识别结果效果不佳的问题。
图5示出了根据本发明一个实施例的实体识别装置500的结构框图,该装置500可以驻留在计算设备中,如驻留在计算设备100中。如图5所示,装置500包括:语义编码模块510、实体识别模块520、实体再识别模块530和实体汇总模块540。
语义编码模块510对用户的输入语句进行语义编码,生成针对所述输入语句的语义特征向量,作为当前语义特征向量。具体地,语义编码模块510将输入语句输入到Bert模型中,生成针对该输入语句的语义特征向量。语义编码模块510可以进行与上面在步骤S210中描述的处理相对应的处理,这里不再展开赘述。
实体识别模块520基于当前语义特征向量对所述输入语句进行实体识别,得到本次识别出的一个或多个实体名、以及每个实体名的字符位置和自身实体类型。具体地,实体识别模块520将当前语义特征向量输入到条件随机场模型中,得到该输入语句的实体识别结果。实体识别模块520可以进行与上面在步骤S220中描述的处理相对应的处理,这里不再展开赘述。
对于每个实体名,实体再识别模块530根据输入语句的每个字符是否属于该实体名来生成实***置特征,根据该实体名的自身实体类型和上层实体类型来生成实体类型特征。之后,实体再识别模块530将输入语句的语义特征向量与实***置特征、实体类型特征进行拼接,得到拼接向量。最后,实体再识别模块530将当前语义特征向量更新为拼接向量,并重新触发实体识别模块520开始执行实体识别步骤,直到实体识别结果中不存在任何实体为止。实体再识别模块530可以进行与上面在步骤S230、S240、S250中描述的处理相对应的处理,这里不再展开赘述。
实体汇总模块540汇总每次进行实体识别后所得到的实体名,作为该输入语句的最终实体识别结果。实体汇总模块540可以进行与上面在步骤S260中描述的处理相对应的处理,这里不再展开赘述。
根据本发明的技术方案,解决在垂直领域的嵌套实体识别过程中,仅通过语句的语义特征进行细颗粒度实体识别时出现的低准确率问题,以及在进行动态嵌套实体识别时,重复使用深度学习模型单元进行语义特征提取造成训练成本不断叠加的问题。
A8、如A1-A7中任一项所述的方法,其中,m=128,所述实体名的字符位置包括该实体名的起始字符位置和结束字符位置。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与本发明的示例一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机***的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种实体识别方法,适于在计算设备中执行,所述方法包括步骤:
对用户的输入语句进行语义编码,生成针对所述输入语句的语义特征向量,作为当前语义特征向量;
基于当前语义特征向量对所述输入语句进行实体识别,得到本次识别出的一个或多个实体名、以及每个实体名的字符位置和自身实体类型;
对于每个实体名:
根据输入语句的每个字符是否属于该实体名来生成实***置特征,根据该实体名的自身实体类型和上层实体类型来生成实体类型特征;
将所述输入语句的语义特征向量与所述实***置特征、实体类型特征进行拼接,得到拼接向量;
将所述当前语义特征向量更新为所述拼接向量,并重新开始执行所述实体识别步骤,直到实体识别结果中不存在任何实体为止;以及
汇总每次进行实体识别后所得到的实体名,作为该输入语句的最终实体识别结果。
2.如权利要求1所述的方法,其中,
所述输入语句的语义特征向量为[T1,T2,……,Tm],m为输入语句的最大字符长度,Tm为第m个字符的字向量;
所述实***置特征为[L1,L2,……,Lm],Lm为第m个字符是否属于对应实体名的字符标记;
所述实体类型特征为[C1,C2,……,Cn],n为实体类型的总数,Cn为第n个实体类型的标记。
3.如权利要求1或2所述的方法,其中,
所述实***置特征中,属于该实体名的字符标记为1,反之标记为0;
所述实体类型特征中,该实体名的自身实体类型和上层实体类型标记为1,其他实体类型标记为0;
其中,所述上层实体类型是指该实体名所属的上层实体名的实体类型。
4.如权利要求1-3中任一项所述的方法,其中,所述将所述输入语句的语义特征向量与所述实***置特征、实体类型特征进行拼接的步骤包括:
对于所述输入语句的每个字符,将其字向量、字符标记和实体类型特征进行拼接,得到每个字符拼接后的字向量,进而得到所述输入语句的拼接向量。
5.如权利要求1-4中任一项所述的方法,其中,所述对用户的输入语句进行语义编码的步骤包括:
将所述输入语句输入到Bert模型中,生成针对该输入语句的语义特征向量。
6.如权利要求1-5中任一项所述的方法,其中,所述基于所述当前语义特征对所述输入语句进行实体识别的步骤包括:
将所述当前语义特征向量输入到条件随机场模型中,得到该输入语句的实体识别结果。
7.如权利要求1-6中任一项所述的方法,其中,所述计算设备中存储有训练好的实体识别模型,该模型包括:
Bert模型层,适于输出输入语句的语义特征向量;和
p层条件随机场模型,适于输出输入语句的实体识别结果,其中p值为输入语句的嵌套实体层数加一。
8.一种实体识别装置,适于驻留在计算设备中,所述装置包括:
语义编码模块,适于对用户的输入语句进行语义编码,生成针对所述输入语句的语义特征向量,作为当前语义特征向量;
实体识别模块,适于基于当前语义特征向量对所述输入语句进行实体识别,得到本次识别出的一个或多个实体名、以及每个实体名的字符位置和自身实体类型;
实体再识别模块,对于每个实体名,适于:
根据输入语句的每个字符是否属于该实体名来生成实***置特征,根据该实体名的自身实体类型和上层实体类型来生成实体类型特征;
将所述输入语句的语义特征向量与所述实***置特征、实体类型特征进行拼接,得到拼接向量;
将所述当前语义特征向量更新为所述拼接向量,并重新开始执行所述实体识别步骤,直到实体识别结果中不存在任何实体为止;以及
实体汇总模块,适于汇总每次进行实体识别后所得到的实体名,作为该输入语句的最终实体识别结果。
9.一种计算设备,包括:
存储器;
一个或多个处理器;
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1-7所述方法中的任一方法的指令。
10.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当计算设备执行时,使得所述计算设备执行根据权利要求1-7所述的方法中的任一方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010187932.7A CN111444719B (zh) | 2020-03-17 | 2020-03-17 | 一种实体识别方法、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010187932.7A CN111444719B (zh) | 2020-03-17 | 2020-03-17 | 一种实体识别方法、装置和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111444719A true CN111444719A (zh) | 2020-07-24 |
CN111444719B CN111444719B (zh) | 2023-10-20 |
Family
ID=71629277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010187932.7A Active CN111444719B (zh) | 2020-03-17 | 2020-03-17 | 一种实体识别方法、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111444719B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112101023A (zh) * | 2020-10-29 | 2020-12-18 | 深圳市欢太科技有限公司 | 文本处理方法、装置以及电子设备 |
CN112257421A (zh) * | 2020-12-21 | 2021-01-22 | 完美世界(北京)软件科技发展有限公司 | 嵌套实体数据的识别方法、装置及电子设备 |
CN112685549A (zh) * | 2021-01-08 | 2021-04-20 | 昆明理工大学 | 融入篇章语义的涉案新闻要素实体识别方法及*** |
CN113326701A (zh) * | 2021-06-17 | 2021-08-31 | 广州华多网络科技有限公司 | 嵌套实体识别方法、装置、计算机设备及存储介质 |
CN117077682A (zh) * | 2023-05-06 | 2023-11-17 | 西安公路研究院南京院 | 基于语义识别的公文分析方法及*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2619193C1 (ru) * | 2016-06-17 | 2017-05-12 | Общество с ограниченной ответственностью "Аби ИнфоПоиск" | Многоэтапное распознавание именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков |
CN108628823A (zh) * | 2018-03-14 | 2018-10-09 | 中山大学 | 结合注意力机制和多任务协同训练的命名实体识别方法 |
CN109165384A (zh) * | 2018-08-23 | 2019-01-08 | 成都四方伟业软件股份有限公司 | 一种命名实体识别方法及装置 |
CN110298019A (zh) * | 2019-05-20 | 2019-10-01 | 平安科技(深圳)有限公司 | 命名实体识别方法、装置、设备及计算机可读存储介质 |
CN110502738A (zh) * | 2018-05-18 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 中文命名实体识别方法、装置、设备和查询*** |
CN110705302A (zh) * | 2019-10-11 | 2020-01-17 | 掌阅科技股份有限公司 | 命名实体的识别方法、电子设备及计算机存储介质 |
US20200034461A1 (en) * | 2018-07-26 | 2020-01-30 | International Business Machines Corporation | Relational database schema generation |
-
2020
- 2020-03-17 CN CN202010187932.7A patent/CN111444719B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2619193C1 (ru) * | 2016-06-17 | 2017-05-12 | Общество с ограниченной ответственностью "Аби ИнфоПоиск" | Многоэтапное распознавание именованных сущностей в текстах на естественном языке на основе морфологических и семантических признаков |
CN108628823A (zh) * | 2018-03-14 | 2018-10-09 | 中山大学 | 结合注意力机制和多任务协同训练的命名实体识别方法 |
CN110502738A (zh) * | 2018-05-18 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 中文命名实体识别方法、装置、设备和查询*** |
US20200034461A1 (en) * | 2018-07-26 | 2020-01-30 | International Business Machines Corporation | Relational database schema generation |
CN109165384A (zh) * | 2018-08-23 | 2019-01-08 | 成都四方伟业软件股份有限公司 | 一种命名实体识别方法及装置 |
CN110298019A (zh) * | 2019-05-20 | 2019-10-01 | 平安科技(深圳)有限公司 | 命名实体识别方法、装置、设备及计算机可读存储介质 |
CN110705302A (zh) * | 2019-10-11 | 2020-01-17 | 掌阅科技股份有限公司 | 命名实体的识别方法、电子设备及计算机存储介质 |
Non-Patent Citations (2)
Title |
---|
彭骁男;周兰江;张建安;周枫;: "融合多特征的老挝语人名地名命名实体识别" * |
魏笑;秦永彬;陈艳平;: "一种基于部件CNN的网络安全命名实体识别方法" * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112101023A (zh) * | 2020-10-29 | 2020-12-18 | 深圳市欢太科技有限公司 | 文本处理方法、装置以及电子设备 |
CN112257421A (zh) * | 2020-12-21 | 2021-01-22 | 完美世界(北京)软件科技发展有限公司 | 嵌套实体数据的识别方法、装置及电子设备 |
CN112257421B (zh) * | 2020-12-21 | 2021-04-23 | 完美世界(北京)软件科技发展有限公司 | 嵌套实体数据的识别方法、装置及电子设备 |
CN112685549A (zh) * | 2021-01-08 | 2021-04-20 | 昆明理工大学 | 融入篇章语义的涉案新闻要素实体识别方法及*** |
CN112685549B (zh) * | 2021-01-08 | 2022-07-29 | 昆明理工大学 | 融入篇章语义的涉案新闻要素实体识别方法及*** |
CN113326701A (zh) * | 2021-06-17 | 2021-08-31 | 广州华多网络科技有限公司 | 嵌套实体识别方法、装置、计算机设备及存储介质 |
CN117077682A (zh) * | 2023-05-06 | 2023-11-17 | 西安公路研究院南京院 | 基于语义识别的公文分析方法及*** |
CN117077682B (zh) * | 2023-05-06 | 2024-06-07 | 西安公路研究院南京院 | 基于语义识别的公文分析方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111444719B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112329465B (zh) | 一种命名实体识别方法、装置及计算机可读存储介质 | |
CN111444719B (zh) | 一种实体识别方法、装置和计算设备 | |
CN109885824B (zh) | 一种层次的中文命名实体识别方法、装置及可读存储介质 | |
CN111563209A (zh) | 一种意图识别的方法、装置及计算机可读存储介质 | |
CN111062217B (zh) | 语言信息的处理方法、装置、存储介质及电子设备 | |
CN109922371A (zh) | 自然语言处理方法、设备及存储介质 | |
CN110866098B (zh) | 基于transformer和lstm的机器阅读方法、装置及可读存储介质 | |
CN111914085A (zh) | 文本细粒度情感分类方法、***、装置及存储介质 | |
CN111651990B (zh) | 一种实体识别方法、计算设备及可读存储介质 | |
CN111354333A (zh) | 一种基于自注意力的汉语韵律层级预测方法及*** | |
CN113887229A (zh) | 地址信息的识别方法、装置、计算机设备及存储介质 | |
CN113486178B (zh) | 文本识别模型训练方法、文本识别方法、装置以及介质 | |
CN103854643A (zh) | 用于合成语音的方法和装置 | |
CN112613293B (zh) | 摘要生成方法、装置、电子设备及存储介质 | |
JP2022145623A (ja) | ヒント情報を提示する方法及び装置並びにコンピュータプログラム | |
CN112084752A (zh) | 基于自然语言的语句标注方法、装置、设备及存储介质 | |
CN116070632A (zh) | 一种非正式文本实体标签识别方法和装置 | |
CN115687934A (zh) | 意图识别方法、装置、计算机设备及存储介质 | |
CN113449089B (zh) | 一种查询语句的意图识别方法、问答方法及计算设备 | |
CN114238746A (zh) | 跨模态检索方法、装置、设备及存储介质 | |
CN112214994B (zh) | 基于多级词典的分词方法、装置、设备及可读存储介质 | |
JP2021197179A (ja) | エンティティ識別方法、装置、及びコンピュータ読み取り可能な記憶媒体 | |
CN113591472A (zh) | 歌词生成方法、歌词生成模型训练方法、装置及电子设备 | |
US20220292812A1 (en) | Zero-shot dynamic embeddings for photo search | |
CN117235205A (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 |