一种命名实体识别的方法、装置、存储介质及电子设备与流程

文档序号:20067120发布日期:2020-03-06 08:36阅读:153来源:国知局
一种命名实体识别的方法、装置、存储介质及电子设备与流程

本发明涉及命名实体识别的技术领域,具体而言,涉及一种命名实体识别的方法、装置、存储介质及电子设备。



背景技术:

命名实体识别是指识别文本中具有特定意义实体的技术,例如识别文本中的人名、地名、组织机构名等。根据命名实体内部是否包含其他命名实体,可以将命名实体分为基本命名实体和嵌套命名实体。嵌套命名实体是指含有复杂结构的命名实体,通常包含一个或者多个基本命名实体。例如,“北京大学”其包含地名“北京”,故“北京大学”属于嵌套命名实体,而“北京”为基本命名实体。

对非嵌套的基本命名实体,一般可以较好地预测分类标签。而对嵌套命名实体的识别,传统方法有两种,一是管道型模型,即先预测所有的实体,再预测实体的命名标签;二是同步进行实体预测和标签预测。这两种命名实体识别都需要模型能够很好地识别嵌套命名实体才可以,而传统的识别方法一般是提取所有可能的实体,然后再判断提取出实体是不是真的实体。换句话说,传统方法先抽取一个候选实体集,然后再筛选一些不合法的实体,使得传统方法容易存在漏选和多筛的问题,从而导致实体的遗漏和误判。



技术实现要素:

为解决上述问题,本发明实施例的目的在于提供一种命名实体识别的方法、装置、存储介质及电子设备。

第一方面,本发明实施例提供了一种命名实体识别的方法,包括:

获取目标文本,确定所述目标文本的字符单元的特征编码;

根据所述特征编码确定相应的所述字符单元的层级标签,所述层级标签包括一个或多个依次排列的子标签,所述子标签为开始标签、结束标签、内部标签或空标签;

根据所有所述字符单元的所述层级标签以不重复子标签的方式从内到外确定相对应的一对或多对开始标签和结束标签,每对开始标签和结束标签对应一个实体;

对确定的所有所述实体进行命名识别处理,确定所述实体的命名标签。

在一种可能的实现方式中,根据所有所述字符单元的所述层级标签以不重复子标签的方式从内到外确定相对应的一对或多对开始标签和结束标签,包括:

根据所述字符单元在所述目标文本中的位置依次读取所述字符单元的层级标签,并按照排列顺序依次读取所述层级标签中的子标签;

在读取的所述子标签为开始标签时,对读取的所述开始标签进行入栈操作;

在读取的所述子标签为结束标签时,对栈顶的所述开始标签进行出栈操作,并将栈顶的所述开始标签所对应的字符单元作为命名实体的开始字符、将读取的所述结束标签所对应的字符单元作为命名实体的结束字符;

之后继续读取所述层级标签中的下一个子标签,在所述层级标签的所有子标签均被读取时,读取下一个所述字符单元的层级标签,直至遍历所述目标文本的所有字符单元,且栈最后为空。

在一种可能的实现方式中,在所述层级标签包含内部标签时,所述层级标签不包含其他类型的子标签;

所述根据所述特征编码确定相应的所述字符单元的层级标签包括:

若当前的所述层级标签只包含内部标签,当前的所述层级标签所包含的内部标签的数量与当前目标值相一致,所述当前目标值为在当前的所述层级标签之前的开始标签与结束标签之差。

在一种可能的实现方式中,所述层级标签为以下情形中的一种或多种:

所述层级标签包括一个开始标签;

所述层级标签包括一个结束标签;

所述层级标签包括一个内部标签;

所述层级标签包括一个空标签;

所述层级标签包括两个开始标签;

所述层级标签包括两个结束标签;

所述层级标签包括两个内部标签;

所述层级标签包括依次排列的一个开始标签和一个结束标签;

所述层级标签包括依次排列的两个开始标签和一个结束标签;

所述层级标签包括依次排列的一个开始标签和两个结束标签。

在一种可能的实现方式中,所述对确定的所有所述实体进行命名识别处理包括:

根据所述实体在所述目标文本中的位置以及实体的所有字符单元的特征编码确定所述实体的实体编码;

根据所述实体编码对所述实体进行命名识别处理。

第二方面,本发明实施例还提供了一种命名实体识别的装置,包括:

预处理模块,用于获取目标文本,确定所述目标文本的字符单元的特征编码;

层级标签确定模块,用于根据所述特征编码确定相应的所述字符单元的层级标签,所述层级标签包括一个或多个依次排列的子标签,所述子标签为开始标签、结束标签、内部标签或空标签;

实体识别模块,用于根据所有所述字符单元的所述层级标签以不重复子标签的方式从内到外确定相对应的一对或多对开始标签和结束标签,每对开始标签和结束标签对应一个实体;

实体命名模块,用于对确定的所有所述实体进行命名识别处理,确定所述实体的命名标签。

在一种可能的实现方式中,实体识别模块用于:

根据所述字符单元在所述目标文本中的位置依次读取所述字符单元的层级标签,并按照排列顺序依次读取所述层级标签中的子标签;

在读取的所述子标签为开始标签时,对读取的所述开始标签进行入栈操作;

在读取的所述子标签为结束标签时,对栈顶的所述开始标签进行出栈操作,并将栈顶的所述开始标签所对应的字符单元作为命名实体的开始字符、将读取的所述结束标签所对应的字符单元作为命名实体的结束字符;

之后继续读取所述层级标签中的下一个子标签,在所述层级标签的所有子标签均被读取时,读取下一个所述字符单元的层级标签,直至遍历所述目标文本的所有字符单元,且栈最后为空。

在一种可能的实现方式中,在所述层级标签包含内部标签时,所述层级标签不包含其他类型的子标签;

所述层级标签确定模块根据所述特征编码确定相应的所述字符单元的层级标签包括:

若当前的所述层级标签只包含内部标签,当前的所述层级标签所包含的内部标签的数量与当前目标值相一致,所述当前目标值为在当前的所述层级标签之前的开始标签与结束标签之差。

第三方面,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于上述任意一项所述的命名实体识别的方法。

第四方面,本发明实施例还提供了一种电子设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任意一项所述的命名实体识别的方法。

本发明实施例上述第一方面提供的方案中,为目标文本的字符单元标注层级标签,且该层级标签包含一个或多个具有特定顺序的子标签,基于所有字符单元的所有子标签可以确定相应的标签对,且采用子标签不重复以及从内到外的方式,从而可以利用特定顺序的子标签准确确定目标文本中的实体以及嵌套实体,使得后续可以对实体进行准确地命名识别处理,能够完成包括嵌套实体在内的命名实体识别。本实施例通过该层级标签可以直接识别出实体,不需要先候选再筛选,从而可以避免漏选或多筛的问题,能够提高实体识别的召回率和准确度,命名标签预测结果更加准确。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本发明实施例所提供的一种命名实体识别的方法的流程图;

图2示出了本发明实施例所提供的命名实体识别的方法中,基于栈进行实体识别的一种流程示意图;

图3示出了本发明实施例所提供的一种命名实体识别的装置的结构示意图;

图4示出了本发明实施例所提供的用于执行命名实体识别的方法的电子设备的结构示意图。

具体实施方式

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

本发明实施例提供的一种命名实体识别的方法,可以较好地识别嵌套命名实体,即可以对嵌套型的实体进行准确命名识别。参见图1所示,该方法包括:

步骤101:获取目标文本,确定目标文本的字符单元的特征编码。

本发明实施例中,目标文本为需要进行命名实体识别的文本,该文本可以为中文文本,其可以包含一个或多个命名实体。例如,该目标文本可以为“我爱北京大学”,其中包含地名“北京”和机构名“北京大学”两个命名实体,且“北京大学”为嵌套命名实体。同时,该目标文本包含一个或多个字符单元,该字符单元可以为组成目标文本的最小单元,例如中文文本中可以将每个汉字分别作为该中文文本的字符单元;或者,该字符单元也可以为能够处理的单元,例如该字符单元可以为分词。本实施例中优选将最小单元作为目标文本的字符单元。

本实施例中,可以基于预设的编码器对目标文本的字符单元进行编码处理,从而可以生成每个字符单元的特征编码。可选的,由于相同的字符单元在不同的目标文本中可能表示不同的含义,即可能表示不同的命名实体;例如,对于目标文本“我喜欢听李白”,其中的“李白”本身为人名,但是在该文本中实际为某歌手所创作的歌曲名。此时,本实施例中的特征编码可以为基于目标文本上下文所提取的上下文编码信息,从而可以提取每个字符单元的上下文特征向量。本实施例中,该编码器具体可以为长短时记忆网络或注意力变换网络等,也可采用其他网络模型提取目标文本的上下文信息,本实施例对此不做限定。

步骤102:根据特征编码确定相应的字符单元的层级标签,层级标签包括一个或多个依次排列的子标签,子标签为开始标签、结束标签、内部标签或空标签。

本发明实施例中,该层级标签可以包含多个子标签,从而可以表征具有该层级标签的字符单元可能是多个命名实体中的一个字符单元,从而可以确定每个字符单元的层级关系,进而确定其中实体的嵌套关系。具体的,可以预先设置训练好的层级标签分类器,将字符单元的特征编码输入至该层级标签分类器即可确定该字符单元的层级标签。其中,该层级标签主要由四类子标签组成,四类子标签分别为开始标签、结束标签、内部标签、空标签;同时,当层级标签包含多个子标签时,子标签之间的顺序是特定的,以可以正确表示该字符单元的标签含义。

可选的,本实施例中可以用括号以及其他符号表示相应的子标签;具体的,开始标签为“(”,结束标签为“)”、内部标签为“|”、空标签为“n”。此外,由于嵌套的实体大部分只有两层,三层四层的嵌套非常少,若引入高层嵌套的层级标签,会使层级标签的数量呈现指数级增长,不利于层级标签分类器的学习,易导致实体识别精度低的问题;故本实施例中采用两级嵌套的层级标签。本实施例中,两级嵌套的层级标签共包含十种,每个目标文本中可能采用该十种层级标签中的一种或多种,该十种层级标签具体为:

层级标签包括一个开始标签,例如,层级标签为“(”,该层级标签表示相应的字符单元为一个实体的开始字符;

层级标签包括一个结束标签,例如,层级标签为“)”,该层级标签表示相应的字符单元为一个实体的结束字符;

层级标签包括一个内部标签,例如,层级标签为“|”,该层级标签表示相应的字符单元为一个实体的中间字符;

层级标签包括一个空标签,例如,层级标签为“n”,该层级标签表示相应的字符单元不为实体;

层级标签包括两个开始标签,例如,层级标签为“((”,该层级标签表示相应的字符单元为两个个实体的开始字符,此时存在嵌套命名实体;

层级标签包括两个结束标签,例如,层级标签为“))”,该层级标签表示相应的字符单元为两个实体的结束字符;

层级标签包括两个内部标签,例如,层级标签为“||”,该层级标签表示相应的字符单元为两个实体的中间字符,即有两个命名实体均包含该字符单元,且至少其中一个命名实体为嵌套命名实体;

层级标签包括依次排列的一个开始标签和一个结束标签,例如,层级标签为“()”,该层级标签表示相应的字符单元本身即为一个实体,即单字符的实体;

层级标签包括依次排列的两个开始标签和一个结束标签,例如,层级标签为“(()”,该层级标签表示相应的字符单元本身为一个实体,且其还为一个嵌套命名实体的开始字符;

层级标签包括依次排列的一个开始标签和两个结束标签,例如,层级标签为“())”,该层级标签表示相应的字符单元本身为一个实体,且其还为一个嵌套命名实体的结束字符。

本实施例中,利用两层嵌套的层级标签,可以实现对嵌套型实体的识别;同时,层级标签的数量不会过多,可以保证标注层级标签时的准确度,从而可以准确识别目标文本中的基本实体和嵌套实体。

需要说明的是,本实施例中的“嵌套实体”和“嵌套命名实体”本质上均是指某个嵌套型的实体;由于本实施例中需要先识别出目标文本中的实体,但此时并未对该实体进行命名,即当前未确定该实体属于人名、地名、或机构名等,故以“嵌套实体”表示命名之前的“嵌套命名实体”。

步骤103:根据所有字符单元的层级标签以不重复子标签的方式从内到外确定相对应的一对或多对开始标签和结束标签,每对开始标签和结束标签对应一个实体。

本发明实施例中,由于层级标签中以子标签的数量来表示相应字符单元在识别实体过程中的贡献次数,故在识别实体过程中不需要重复利用其中的子标签。例如,某个字符单元包含一个开始标签“(”,在该开始标签“(”已经与另一个结束标签“)”配对完成并确定相应的实体之后,该开始标签“(”不再与其他结束标签“)”配对,即不重复使用该开始标签“(”;对于结束标签和中间标签也是类似的不重复处理方式,此处不做赘述。“从内到外”指的是当识别嵌套实体时,先识别嵌套实体内的基本实体,之后再识别整个嵌套实体,采用从内到外的识别逻辑可以避免遗漏内部的基本实体。本实施例中,基于所有字符单元的所有子标签即可确定字符单元的实体嵌套关系,并可识别其中包含的实体,即每对开始标签和结束标签对应一个实体;其中,在确定目标文本中的实体时,需要开始标签在前、结束标签在后,开始标签对应该实体的开始字符,结束标签对应该实体的结束字符。

步骤104:对确定的所有实体进行命名识别处理,确定实体的命名标签。

本实施例中,在识别出目标文本中所有的实体之后,即可对该实体进行命名,即进行命名识别处理,从而可以确定每个实体的命名标签,该命名标签具体包括“人名”、“地名”、“机构名”等。可选的,上述步骤104“对确定的所有实体进行命名识别处理”包括:

步骤a1:根据实体在目标文本中的位置以及实体的所有字符单元的特征编码确定实体的实体编码。

步骤a2:根据实体编码对实体进行命名识别处理。

本发明实施例中,由于实体与目标文本的上下文关系密切,本实施例中基于该实体在目标文本中的位置以及该实体所有的特征编码来生成实体编码,使得该实体编码可以包含该实体在目标文本中的上下文特征信息,即该实体编码与上下文相关,从而可以更准确地确定该实体的命名标签。其中,可以预先设置训练好的命名标签分类器,将实体的实体编码输入至该命名标签分类器即可确定该实体的命名标签,从而完成命名标签预测的过程,进而实现对嵌套实体的命名识别。本实施例中,该命名标签分类器可采用现有的分类器,此处不做详述。

本发明实施例提供的一种命名实体识别的方法,为目标文本的字符单元标注层级标签,且该层级标签包含一个或多个具有特定顺序的子标签,基于所有字符单元的所有子标签可以确定相应的标签对,且采用子标签不重复以及从内到外的方式,从而可以利用特定顺序的子标签准确确定目标文本中的实体以及嵌套实体,使得后续可以对实体进行准确地命名识别处理,能够完成包括嵌套实体在内的命名实体识别。本实施例通过该层级标签可以直接识别出实体,不需要先候选再筛选,从而可以避免漏选或多筛的问题,能够提高实体识别的召回率和准确度,命名标签预测结果更加准确。

在上述实施例的基础上,本实施例可以基于栈(stack)实现不重复子标签、从内到外的方式对实体进行识别。具体的,上述步骤103“根据所有字符单元的层级标签以不重复子标签的方式从内到外确定相对应的一对或多对开始标签和结束标签”包括:

步骤b1:根据字符单元在目标文本中的位置依次读取字符单元的层级标签,并按照排列顺序依次读取层级标签中的子标签。

本发明实施例中,目标文本实际上可以看作由一个或多个字符单元按照一定的顺序组成,即所有的字符单元具有一个序列;同时,如上所述,每个层级标签中可以包含多个按序排列的子标签,本实施例中也需按照子标签的排列顺序依次读取所有的子标签。其中,步骤b1中的“排列顺序”指的是层级标签中子标签的排列顺序。

例如,目标文本为“我爱北京大学”,其中的每个汉字对应一个字符单元,基于预设的层级标签分类器对每个字符单元标注层级标签之后,层级标签的标注情形具体如下:“[我/n][爱/n][北/((][京/)][大/|][学/)]”;即,该目标文本的字符单元序列为“我、爱、北、京、大、学”,相对应的层级标签依次为“n、n、((、)、|、)”。

步骤b2:在读取的子标签为开始标签时,对读取的开始标签进行入栈操作。

本发明实施例中,基于栈实现对所有子标签的读取;具体的,由于是基于开始标签和结束标签来识别实体,故本实施例中可以只对开始标签和结束标签进行入栈和出栈操作。可选的,也可以只对开始标签进行入栈和出栈操作。例如,以目标文本为“我爱北京大学”为例,参见图2所示,在最开始时(即start阶段),栈为空;之后即可读取第一个字符单元“我”的层级标签,由于该层级标签为空标签“n”,此时可以忽略该字符单元,即不进行任何栈操作。此外,由于该层级标签只包含一个子标签“n”,之后读取第二个字符单元“爱”的层级标签,该层级标签仍认为空标签“n”,继续不执行栈操作,并继续读取第三个字符单元“北”的层级标签。由于该层级标签包含两个子标签,且均为开始标签“(”,故本实施例中依次对两个开始标签“(”进行入栈操作,即连续入栈两个“(”。

步骤b3:在读取的子标签为结束标签时,对栈顶的开始标签进行出栈操作,并将栈顶的开始标签所对应的字符单元作为命名实体的开始字符、将读取的结束标签所对应的字符单元作为命名实体的结束字符。

本实施例中,若当前读取的子标签为结束标签,则说明该子标签对应的字符单元为某个实体的结束字符,相应的在之前应当存在相应的开始标签;基于栈的工作原理可知,栈内最顶端的即为开始标签;且基于嵌套型实体的特点,栈顶的开始标签即为与当前的结束标签相对应的标签,即当前栈顶的开始标签当前读取的结束标签代表同一个实体的开始字符和结束字符,进而可以提取出目标文本中的实体。

具体的,若该子标签为结束标签,可以对栈顶的开始标签进行出栈操作,在确定一对开始标签和结束标签的同时,避免该开始标签重复被使用,从而可以实现子标签不重复。其中,该结束标签可以入栈,也可以不入栈,本实施例对此不做限定;图2中以结束标签入栈后再出栈的方式为例说明。如图2所示,在读取第四个字符单元“京”时,其层级标签为一个结束标签“)”,此时入栈该结束标签“)”,使得该结束标签“)”可以与栈顶的开始标签“(”匹配,并与该开始标签“(”一起出栈,从而得到实体“北京”。

其中,可以记录每个入栈的开始标签的位置。例如,“北”的位置是3,入栈的两个“(”均可标上3这个位置;读取字符单元“京”时,它的位置是4,层级标签是结束标签“)”,其和栈顶的一个“(”匹配,且该“(”的位置为3,进而可以确定实体所对应的一个二元组:(开始位置,结束位置),且该二元组为(3,4);将二元组所表示的位置对应到实体上即可得到实体“北京”。

步骤b4:之后继续读取层级标签中的下一个子标签,在层级标签的所有子标签均被读取时,读取下一个字符单元的层级标签,直至遍历目标文本的所有字符单元,且栈最后为空。

本发明实施例中,在读取子标签时,首先读取当前字符单元的层级标签的第一个子标签,之后按照子标签在该层级标签中的排列依次读取该层级标签的所有子标签;在当前的层级标签的所有子标签均被读取时,即可按照字符单元的排列顺序读取下一个字符单元的层级标签,当所有的子标签均被读取时,操作结束。

具体的,参见图2所示,当读取第五个字符单元“大”时,其层级标签包括一个中间标签“|”,此时表示该字符单元“大”为某个实体中的一个字符,该中间标签“|”可以不进行入栈或出栈操作。之后继续读取第六个字符单元“学”,其层级标签包括一个结束标签“)”,如上述的步骤b3相同,入栈该结束标签“)”,并与栈顶的开始标签“(”一起出栈;其中,由于该开始标签“(”为第三个字符单元“北”的子标签,故此时对应的实体的开始字符为“北”,结束字符为“学”,即该实体为“北京大学”。同时,在结束时(即图2中的end)保证栈为空,说明所有的开始标签和结束标签均实现一一对应,即识别出了所有的实体。

此外,按照所有子标签的排列顺序执行上述的入栈和出栈操作,可以先将嵌套实体内的基本实体识别出来,之后再识别出完整的嵌套实体,从而可以从内到外识别出所有的实体。例如图2中,可以先识别出实体“北京”,之后再识别出实体“北京大学”。

本发明实施例中,以子标签为单位依次读取所有字符单元的所有子标签,能够按照子标签的排列顺序实现入栈和出栈操作,且能够准确提取出相对应的开始标签和结束标签,即可以准确提取出一对开始标签和结束标签。基于栈结构匹配层级标签中的开始标签和结束标签,可以方便快速地确定嵌套的实体关系,并能保证实体识别过程不出错。

可选的,本实施例中,可以基于内部标签来校验读取子标签的过程是否正确。具体的,在层级标签包含内部标签时,说明相应的字符单元不是实体的开始字符和结束字符,故层级标签不包含其他类型的子标签;例如,此时的层级标签可以为“|”,或者“||”等。上述步骤102“根据特征编码确定相应的字符单元的层级标签”包括:

若当前的层级标签只包含内部标签,当前的层级标签所包含的内部标签的数量与当前目标值相一致,当前目标值为在当前的层级标签之前的开始标签与结束标签之差。

本实施例中,在该层级标签之前,开始标签与结束标签之差表示当前还剩余多少个没有使用的开始标签,也表示还需要存在相应数量的实体;相应的,若此时的层级标签包含内部标签,则表示与该层级标签对应的字符单元位于某个或者某些实体中间,且若该字符单元位于嵌套实体内,相应层级标签中内部标签的数量即可用于表示该字符单元所对应的实体的数量。例如,对于“我爱北京大学”中的字符单元“大”,其为实体中间的字符,且在其之前包含两个开始标签和一个结束标签,故当前目标值为1,则字符单元“大”中的内部标签的数量也为1,从而基于该层级标签中内部标签的数量可以校验当前实体识别过程的准确性,避免识别错误。同时,在训练生成层级标签分类器的过程中,也可将上述内部标签的数量作为约束条件对层级标签分类器进行学习训练,以保证最终生成的层级标签分类器的准确性。

可选的,若采用图2所示的栈结构进行实体识别,由于会对栈顶的开始标签进行出栈操作,故当读取到的字符单元的层级标签包含内部标签“|”时,该层级标签中内部标签的数量与当前栈内的开始标签“(”数量一致即可。即在图2中,在读取到字符单元“大”时,站内的开始标签数量为1,而“大”的层级标签为“|”,其包含一个内部标签,即说明当前不存在标签错误的问题。

本发明实施例提供的一种命名实体识别的方法,为目标文本的字符单元标注层级标签,且该层级标签包含一个或多个具有特定顺序的子标签,基于所有字符单元的所有子标签可以确定相应的标签对,且采用子标签不重复以及从内到外的方式,从而可以利用特定顺序的子标签准确确定目标文本中的实体以及嵌套实体,使得后续可以对实体进行准确地命名识别处理,能够完成包括嵌套实体在内的命名实体识别。本实施例通过该层级标签可以直接识别出实体,不需要先候选再筛选,从而可以避免漏选或多筛的问题,能够提高实体识别的召回率和准确度,命名标签预测结果更加准确。以子标签为单位依次读取所有字符单元的所有子标签,能够按照子标签的排列顺序实现入栈和出栈操作,且能够准确提取出相对应的开始标签和结束标签,即可以准确提取出一对开始标签和结束标签。基于栈结构匹配层级标签中的开始标签和结束标签,可以方便快速地确定嵌套的实体关系,并能保证实体识别过程不出错。基于内部标签来校验读取子标签的过程是否正确,进一步保证实体识别过程的准确性。

以上详细介绍了命名实体识别的方法的流程,该方法也可以通过相应的装置实现,下面详细介绍该装置的结构和功能。

本发明实施例提供的一种命名实体识别的装置,参见图3所示,包括:

预处理模块31,用于获取目标文本,确定所述目标文本的字符单元的特征编码;

层级标签确定模块32,用于根据所述特征编码确定相应的所述字符单元的层级标签,所述层级标签包括一个或多个依次排列的子标签,所述子标签为开始标签、结束标签、内部标签或空标签;

实体识别模块33,用于根据所有所述字符单元的所述层级标签以不重复子标签的方式从内到外确定相对应的一对或多对开始标签和结束标签,每对开始标签和结束标签对应一个实体;

实体命名模块34,用于对确定的所有所述实体进行命名识别处理,确定所述实体的命名标签。

在上述实施例的基础上,所述实体识别模块33用于:

根据所述字符单元在所述目标文本中的位置依次读取所述字符单元的层级标签,并按照排列顺序依次读取所述层级标签中的子标签;

在读取的所述子标签为开始标签时,对读取的所述开始标签进行入栈操作;

在读取的所述子标签为结束标签时,对栈顶的所述开始标签进行出栈操作,并将栈顶的所述开始标签所对应的字符单元作为命名实体的开始字符、将读取的所述结束标签所对应的字符单元作为命名实体的结束字符;

之后继续读取所述层级标签中的下一个子标签,在所述层级标签的所有子标签均被读取时,读取下一个所述字符单元的层级标签,直至遍历所述目标文本的所有字符单元,且栈最后为空。

在上述实施例的基础上,在所述层级标签包含内部标签时,所述层级标签不包含其他类型的子标签;

所述层级标签确定模块32根据所述特征编码确定相应的所述字符单元的层级标签包括:

若当前的所述层级标签只包含内部标签,当前的所述层级标签所包含的内部标签的数量与当前目标值相一致,所述当前目标值为在当前的所述层级标签之前的开始标签与结束标签之差。

在上述实施例的基础上,所述层级标签为以下情形中的一种或多种:

所述层级标签包括一个开始标签;

所述层级标签包括一个结束标签;

所述层级标签包括一个内部标签;

所述层级标签包括一个空标签;

所述层级标签包括两个开始标签;

所述层级标签包括两个结束标签;

所述层级标签包括两个内部标签;

所述层级标签包括依次排列的一个开始标签和一个结束标签;

所述层级标签包括依次排列的两个开始标签和一个结束标签;

所述层级标签包括依次排列的一个开始标签和两个结束标签。

在上述实施例的基础上,所述实体命名模块34具体用于:

根据所述实体在所述目标文本中的位置以及实体的所有字符单元的特征编码确定所述实体的实体编码;

根据所述实体编码对所述实体进行命名识别处理。

本发明实施例提供的一种命名实体识别的装置,为目标文本的字符单元标注层级标签,且该层级标签包含一个或多个具有特定顺序的子标签,基于所有字符单元的所有子标签可以确定相应的标签对,且采用子标签不重复以及从内到外的方式,从而可以利用特定顺序的子标签准确确定目标文本中的实体以及嵌套实体,使得后续可以对实体进行准确地命名识别处理,能够完成包括嵌套实体在内的命名实体识别。本实施例通过该层级标签可以直接识别出实体,不需要先候选再筛选,从而可以避免漏选或多筛的问题,能够提高实体识别的召回率和准确度,命名标签预测结果更加准确。以子标签为单位依次读取所有字符单元的所有子标签,能够按照子标签的排列顺序实现入栈和出栈操作,且能够准确提取出相对应的开始标签和结束标签,即可以准确提取出一对开始标签和结束标签。基于栈结构匹配层级标签中的开始标签和结束标签,可以方便快速地确定嵌套的实体关系,并能保证实体识别过程不出错。基于内部标签来校验读取子标签的过程是否正确,进一步保证实体识别过程的准确性。

本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,其包含用于执行上述的命名实体识别的方法的程序,该计算机可执行指令可执行上述任意方法实施例中的方法。

其中,所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd))等。

图4示出了本发明的另一个实施例的一种电子设备的结构框图。所述电子设备1100可以是具备计算能力的主机服务器、个人计算机pc、或者可携带的便携式计算机或终端等。本发明具体实施例并不对电子设备的具体实现做限定。

该电子设备1100包括至少一个处理器(processor)1110、通信接口(communicationsinterface)1120、存储器(memoryarray)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。

通信接口1120用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。

处理器1110用于执行程序。处理器1110可能是一个中央处理器cpu,或者是专用集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器1130用于可执行的指令。存储器1130可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。存储器1130存储的指令可被处理器1110执行,以使处理器1110能够执行上述任意方法实施例中的命名实体识别的方法。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换的实施方式,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1