CN111209753B - 一种实体命名识别方法及装置 - Google Patents
一种实体命名识别方法及装置 Download PDFInfo
- Publication number
- CN111209753B CN111209753B CN202010009067.7A CN202010009067A CN111209753B CN 111209753 B CN111209753 B CN 111209753B CN 202010009067 A CN202010009067 A CN 202010009067A CN 111209753 B CN111209753 B CN 111209753B
- Authority
- CN
- China
- Prior art keywords
- entity
- identification
- rule
- identified
- recognition
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000014509 gene expression Effects 0.000 claims description 66
- 230000008569 process Effects 0.000 claims description 24
- 238000001914 filtration Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 8
- 230000011218 segmentation Effects 0.000 claims description 6
- 230000010365 information processing Effects 0.000 claims description 5
- 230000009471 action Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Abstract
本申请实施例提供一种实体命名识别方法及装置,所述方法包括:输入待识别语句和基础命名实体集;根据识别规则和所述基础命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集。本申请实施例可以提供一套完善的处理嵌套命名实体识别的方法,在较少甚者没有标记数据上在可接受的准确率上,进行实体识别,因省略标记工作,可以更快速完成实体命名识别。
Description
技术领域
本申请涉及自然语言识别领域,具体设计一种实体命名识别方法及装置。
背景技术
进入21世纪以后,高科技迅猛发展,尤其是互联网发展更是日新月异,导致数据信息的急剧膨胀,各行各业的子系统中存储了海量的结构化和非结构化数据。如何更好的分析利用这些数据决定了企业未来的发展。对于结构化数据当前已经有各种完善的大数据处理工具进行统计分析以及处理。然而对于非结构化数据的探索才刚刚开始。如何使用自然语言处理对非结构化数据的进行信息抽取正越来越引起人们的关注,但是通用领域的实体识别无法对嵌套命名实体进行划分。
发明内容
本申请实施例的目的在于提供一种实体命名识别方法及装置,通过该实体命名识别方法和装置可以准确的解决各个现场业务的特殊名称识别的需求。
第一方面,本申请实施例提供了一种实体命名识别方法,所述方法包括:输入待识别语句和基础命名实体集;根据识别规则和所述基础命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集。
通过该实体命名识别方法和装置可以准确的解决各个现场业务的特殊名称识别的需求。
在一些实施例中,所述基础命名实体集是通过对所述待识别语句进行切词处理并执行通用领域的实体名词识别得到的。
通过执行通用领域的实体识别可以获得待识别语句中包括的七大类实体名词。
在一些实施例中,所述根据所述识别规则和所述基础命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集步骤包括:基于所述识别规则对所述待识别语句进行至少一次识别,获得至少一个实体识别集;统计所述至少一个实体识别集中包含的实体的数量,并判断所述实体名词数量是否随着识别次数的增加而增加;当所述实体识别集中的实体名词数量不再随着所述识别次数的增加而增加时,结束识别过程获得所述目标命名实体集。
通过多次识别保证了尽可能多的识别待识别语句中的各种实体。
在一些实施例中,所述根据识别规则和所述基础命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集,包括:根据同义词或者标准正则表达式识别所述待识别语句的实体,增加所述基础命名实体集中实体的数量,得到第一层命名实体集;根据所述识别规则和所述第一层命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集。
通过第一层命名实体集的获得可以识别基础命名实体集中不包括的其它类的实体,例如,身份证号等。
在一些实施例中,所述根据同义词或者标准正则表达式识别所述待识别语句的实体,增加所述基础命名实体集中实体的数量,得到第一层命名实体集,包括:将所述基础命名实体集中所包含的实体名词转化为内部流转对象;根据多模匹配算法对所述待识别语句进行同义词匹配,获得同义词实体识别集;根据所述正则表达式对所述待识别语句进行匹配,获得正则实体识别集;对所述内部流转对象、所述同义词实体识别集以及所述正则实体识别集进行去重处理,得到所述第一层实体识别集。
通过该方案可以通过获得第一层命名实体集中包含的实体名词,为进一步依据规则进行的多次识别提供更加丰富的基础名词集。
在一些实施例中,当所述基于所述识别规则对所述待识别语句进行至少一次识别的步骤为基于所述识别规则对所述待识别语句进行多次识别时,则每一次识别过程对应的步骤包括:过滤所述识别规则,获取目标规则;根据所述目标规则识别所述待识别语句,获得本次识别对应的实体识别集。
通过筛选规则在基于筛选的规则进行待识别语句的匹配识别,可以提升匹配的速度和效率。
在一些实施例中,所述过滤所述识别规则,获取目标规则,包括:根据所述第一层实体识别集或者上一次识别获得的所述实体识别集中包含的所有实体名称,从所述识别规则中过滤出包含所述实体名称的规则,作为本次识别的目标规则。所述根据所述目标规则识别所述待识别语句,获得本次识别对应的实体识别集,包括:将所述目标规则中包含的实体名称用所述上一次识别获取的所述实体识别集中的同名实体名词的匹配值进行替换,获得新的标准正则表达式;根据所述新的正则表达式对所述待识别语句进行匹配,当存在匹配对象时,生成所述本次识别对应的实体识别集。
通过实体名词修正正则表达式,进而完成实体名词识别可以识别出特殊场景的名词。
在一些实施例中,所述每一次识别过程还包括:从所述识别规则中删除所述新的标准正则表达式;对所述本次识别对应的实体识别集进行去重处理。
通过对识别规则进行删除并更新实体识别集中的元素可以提高下一次识别的效率。
在一些实施例中,所述过滤所述识别规则,获取目标规则,包括:当所述识别规则中包括对子实体的限制时,则进一步判断当前层的实体识别集中的实体是否存在所述子实体名称的引用;当所述实体存在对所述子实体名称的引用时从所述识别规则中过滤出包含所述子实体名称的规则,作为所述目标规则。所述根据所述目标规则识别所述待识别语句,获得本次识别对应的实体识别集,包括:将所述目标规则中包含的子实体名称用上一次识别获取的所述实体识别集中同名实体的同名子实体的匹配值替换,获得子实体标准正则表达式;将所述子实体标准正则表达式与所述待识别语句进行匹配,当存在匹配对象时,则生成所述本次识别对应的实体识别集,并记录所述子实体和所述实体的依赖关系。
通过对实体和子实体同时限制场景的实体识别,可以识别特殊业务中实体和子实体同时限制场景的实体识别。
在一些实施例中,所述实体命名识别方法还包括:从所述识别规则中删除所述子实体标准正则表达式;对所述本次识别对应的实体识别集进行去重处理。
通过对识别规则进行删除并更新实体识别集中的元素可以提高下一次识别的效率。
第二方面,本申请实施例还一种实体命名识别装置,所述装置包括:输入单元,被配置为输入待识别语句和基础命名实体集;实体名词识别模块,被配置为根据识别规则和所述基础命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集。
第三方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时可实现上述第一方面的实体命名识别的方法。
第四方面,本申请实施例还提供一种信息处理设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现上述第一方面记载的实体命名识别方法。
第五方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。
为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种实体命名识别方法的流程图;
图2为本申请实施例提供的一种实体命名识别方法的又一流程图;
图3为本申请实施例提供的服务器的功能逻辑架构图;
图4为本申请实施例提供的一种实体命名识别装置的组成框图;
图5为本申请实施例提供的一种信息处理设备的组成示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
命名实体识别是识别文本中具有特殊意义的实体,如人名、地名、组织机构名称、专有名词、日期时间、数字和货币。
对于人名、地名、组织机构名称等名称类实体,一般使用统计机器学习方法,将其视作为序列标注问题。使用一个大量的并且标注过的通用的数据集语料数据来训练模型。通用方法是使用条件随机场(crf)和特征模板。特征模板通常是人工定义的一些二值特征函数,从而分析出挖掘命名实体内部以及上下文的构成特点,然后将特征传给随机场crf,从而获得较好的结果。对于人名、地名、组织机构名称等名称类实体的识别也可以基于字的BiLSTM-CRF模型进行识别。
然而除了通用的命名实体识别以外,仍然有大量的任务需要处理。在具体的场景中,用最大熵模型和神经网络模型来解决新词发现问题;用神经网络来解决实体歧义问题。对于命名实体的嵌套问题,当前也有使用最大熵或者再加入多层条件随机场结合大量特征,来处理这种场景,但是效果并不明显。尤其是在公共安全,工业等特殊环境下,语料数据十分匮乏,导致无法使用标注数据进行模型训练。
综上实体识别作为自然语言处理的一个基础任务,主要是用于识别文本中人名、地名、时间等7小类,并且已经被认为是可解决的任务。但是对于公安、金融等特定领域,存在大量细小的类别需要划分。通用领域的实体识别无法对嵌套命名实体进行划分,而这正是摆在人们面前亟需解决的。
本申请实施例可以提供一套完善的处理嵌套命名实体识别的规则系统,在较少甚者没有标记数据上在可接受的准确率上,进行实体识别。因省略标记工作,更快速的落地到现场,并且达到一个可接受的结果。例如,针对与在公安,工业,金融等场景中,由于缺少大量的非结构化数据,导致模型无法训练,本申请实施例提供了一套完整的处理多层命名实体嵌套的识别方法。
图1为本申请实施例提供的一种实体命名识别方法100,该实体命名识别方法100包括:S101,输入待识别语句和基础命名实体集。S102,根据识别规则和所述基础命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集。
步骤S101所述基础命名实体集是通过对所述待识别语句进行切词处理并执行通用领域的实体名词识别得到的,步骤S101中涉及的基础命名实体集是从待识别语句中识别出通用实体名词,即从待识别语句中识别出七大类(人名、地名、组织名、机构名、时间、日期、货币和百分比)实体名词组成的集。在一些示例中,可以用条件随机场,最大熵,规则模型或者几个模型混合一起识别待识别语句中包括的七大类实体名词,组成基础命名实体集。
S102中的识别规则包括部分开放领域的命名实体和部分特殊领域的命名实体。其中,部分开放领域命名实体包括:身份证号,手机号,车牌号,颜色等,部分特殊领域命名实体包括:旅店编号,网吧编号,重点人类型,换手率等特殊行业的专有名称。根据现场具体的业务场景,对某个特殊的名称可以进行配置实体规则,之后依据该规则可完成语句实体名词识别。例如,识别规则是基于同义词或者正则表达式或者类正则表达式的DSL语言。依赖预先定义的DSL语法,根据业务现场需要编写不同的规则。预先定义的DSL语法包含同义词,正则表达式以及包含实体名称的类正则表达式。
通过本申请实施例可以准确的解决多现场业务的特殊名称识别的需求。
在一些实施例中,S101的基础命名实体集为对所述待识别语句进行切词处理并执行通用领域的实体名词识别,得到所述基础命名实体集。
通过分词进行通用邻域(即七大类实体名词)识别,可以获得待识别语句中的包含的七大类实体名词。
S102的根据所述识别规则和所述基础命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集步骤包括:基于所述识别规则对所述待识别语句进行至少一次识别,获得至少一个实体识别集;统计所述至少一个实体识别集中包含的实体名词的数量,并判断所述实体名词数量是否随着识别次数的增加而增加;当所述实体识别集中的实体名词数量不再随着所述识别次数的增加而增加时,结束识别过程获得所述目标命名实体集。通过多次识别保证了尽可能多的识别待识别语句中的各种实体名词。
在一些实施例中,步骤S102所述根据识别规则和所述基础命名实体集合对所述待识别语句进行至少一次识别,得到目标命名实体集,包括:根据同义词或者标准正则表达式识别所述待识别语句的实体名词,增加所述基础命名实体集中实体名词的数量,得到第一层命名实体集;根据所述识别规则和所述第一层命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集。例如,该处的标准正则表达式可以用于识别待识别语句中包括的手机号,房间号,车厢号,座位号,航班号,教育水平,婚姻状况等。
通过获得第一层命名实体集可以从待识别语句中识别出基础命名实体集(即七大类实体名词)中不包括的其它类的实体名词,例如,身份证号等。之后将基于第一层命名实体集来执行基于规则的多次识别,提高了识别的准确度和精度。
上述根据同义词或者标准正则表达式识别所述待识别语句的实体,增加所述基础命名实体集中实体的数量,得到第一层命名实体集,包括:将所述基础命名实体集中所包含的实体转化为内部流转对象;根据多模匹配算法对所述待识别语句进行同义词匹配,获得同义词实体识别集;根据所述正则表达式对所述待识别语句进行匹配,获得正则实体识别集;对所述内部流转对象、所述同义词实体识别集以及所述正则实体识别集进行去重处理,得到所述第一层实体识别集。
在一些示例中,对所述内部流转对象、所述同义词实体识别集以及所述正则实体识别集都转化为内部流转对象后进行去重处理,得到所述第一层实体识别集。
内部流转对象将已经识别的每个实体都封装成一个新的数据结构,记录当前实体的名称,识别的内容,开始结束下标,上下依赖实体的信息,识别的规则信息等,便于之后循环的匹配和识别。所有已经识别的实体都会被封装成该对象。
同义词实体识别集可以包括性别,颜色,民族等枚举类型数据。
下面提供一个示例进行说明。
待识别语句为:蓝色的粤A#####号牌的车
同义词:颜色是可枚举,红黄蓝绿等。
正则表达式:号牌是有规则的,可用正则表达式语法描述号牌:[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][-·-]?[A-HJ-NP-Z0-9][-·-]?(\d{5}[DF]|[DF][A-HJ-NP-Z0-9]\d{4}|[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳使领])|\d{3}[-·-]?\d{3}[使领]。
通过该方案可以通过获得第一层命名实体集中包含的实体名词,为进一步依据规则进行的多次识别提供更加丰富的实体名词集。
在一些实施例中,当所述基于所述识别规则对所述待识别语句进行至少一次识别的步骤为基于所述识别规则对所述待识别语句进行多次识别时,则每一次识别过程包括:过滤所述识别规则,获取目标规则;根据所述目标规则识别所述待识别语句,获得本次识别对应的实体识别集。
通过筛选规则在基于筛选的规则进行待识别语句的匹配识别,可以提升匹配的速度和效率。
下面说明第一示例的一次识别过程。
在一些实施例中,所述过滤所述识别规则,获取目标规则,包括:根据第一层实体识别集或者上一次识别获得的所述实体识别集中包含的所有实体名词,从所述识别规则中过滤出包含所述实体名词的规则,作为本次识别的目标规则;所述根据所述目标规则识别所述待识别语句,获得本次识别对应的实体识别集,包括:将所述目标规则中包含的实体名称用所述上一次识别获取的所述实体识别集中的同名实体的值进行替换,获得新的标准正则表达式;根据所述新的正则表达式对所述待识别语句进行匹配,当存在匹配对象时,生成所述本次识别对应的实体识别集。
第一层实体识别集也就是上述根据同义词识别和正则表达式识别获得的实体名词集。
可以通过将实体识别集所包含的实体转化为内部流转对象就可以得到所述实体识别集中的同名实体的匹配值。
通过修正正则表达式,进而完成实体识别可以识别出特殊场景的命名实体。
在一些实施例中,所述每一次识别过程还包括:从所述识别规则中删除所述新的标准正则表达式;对所述本次识别对应的实体识别集进行去重处理。通过对识别规则进行删除并更新实体识别集中的元素可以提高下一次识别的效率。例如,删除规则库中的规则,或者是删除缓存在内存中的规则。本申请实施例可以只在最初读取全部规则,缓存到内存,后面的操作可以基于对内存中的规则进行操作。
下面说明第二示例的一次识别过程。
所述过滤所述识别规则,获取目标规则,包括:当所述识别规则中包括对子实体的限制时(例如,指的是对子实体类型的限制,当引用实体中存在了多个不同名称的子实体需要指明具体哪一个子实体),则进一步判断当前层的实体识别集中的实体是否存在所述子实体名称的引用;当所述实体存在对所述子实体名称的引用时从所述识别规则中过滤出包含所述子实体名称的规则,作为所述目标规则(即,过滤出同时存在实体名称和子实体名称的规则);所述根据所述目标规则识别所述待识别语句,获得本次识别对应的实体识别集,包括:将所述目标规则中包含的子实体名称用上一次识别获取的所述实体识别集中同名实体的同名子实体的匹配值替换,获得子实体标准正则表达式(即,获得该实体用于识别都最终正则表达式规则);将所述子实体标准正则表达式与所述待识别语句进行匹配,当存在匹配对象时,则生成所述本次识别对应的实体识别集,并记录所述子实体和所述实体的依赖关系。例如,命名实体主要需要包含:匹配值,该匹配值就是查询语句中的匹配的短语;值/结果值,对匹配值格式化为新值;开始,结束下标即匹配值在语句中位置。例如,命名实体识别中,实体名称和实体类型是同一个概念。
所述识别规则中包括对子实体的限制是指为了区分当某个实体存在多个不同名称的子实体。
通过对实体和子实体同时限制场景的实体识别,可以识别特殊业务中实体和子实体同时限制场景的实体识别。
所述实体命名识别方法还包括:从所述识别规则中删除所述子实体标准正则表达式;对所述本次识别对应的实体识别集进行去重处理。
通过对识别规则进行删除并更新实体识别集中的元素可以提高下一次识别的效率。
需要说明的是,上述第一示例和第二示例可以组合为一个示例,即对某些场景可以综合应用第一示例的方法和第二示例的方法。例如,首先执行第一示例的方法,之后继续执行第二示例的方法,最后根据第二示例完成后得到实体识别集进行处理得到目标命名集。在另一些示例中,可以仅执行第一示例的方法,将执行第一示例的方法得到的实体识别集进行处理得到目标命名集。
下面结合图2示例性简要说明本申请实施例。
S201,开始。
S202,基于开放领域中的七大类命名实体识别待识别语句得到基础命名实体集。
S203,用户输入待识别语句。
S204,采用关键词匹配或者正则表达式匹配识别待识别语句中的实体名词,获得S205的第一层实体识别集。需要说明的是,步骤S204可以从规则库202中读取记载关键词和正则表达式的规则(即执行步骤S207加载包括同义词和标准正则表达式的简单规则进行识别),并基于这些规则和待识别语句进行匹配,当匹配完成得到第一层实体识别集后,可以执行步骤S208,删除匹配过的规则,完成规则库220中的规则更新。
S206基于第一层实体识别集和识别规则进行第2-n次匹配识别,得到S211的历次实体识别集。需要说明的是在执行各次识别时,可以包括从规则库220中执行步骤S209加载新的规则(即包含实体名称的复杂规则),对于完成匹配操作的规则进行删除(即执行S210)。
S212判断各次识别得到的实体识别集中的名词数目是否在增加(即将本次识别获得的实体识别集中的名词数量与上一次识别获得的实体识别集中的名词数量进行比较),如果数目在增加则返回步骤S206再次启动识别过程,否则执行步骤S213。
S213将实体识别集进行格式化处理,得到目标命名实体集。
S214结束整个识别过程。
下面示例性说明本申请实体名词识别方法的执行逻辑流程:
第一步,启动服务:将从数据库中加载规则R信息到内存,并缓存起来。
第二步,发起请求,输入待识别语句S。
第三步,对待识别语句S进行切词,再执行通用领域的命名实体识别(7大类)。输出识别的基础命名实体集N。
第四步,根据待识别语句S和基础命名实体集N对待识别语句进行识别,返回目标命名实体集N’,详细过程如下:
1)将已经识别的基础命名实体集N全部转化为内部流转对象O0,每个基础命名实体集N对应一个O(O即Obeject的缩写,每个识别的实体都要转化为一个O)。
2)进行第一层识别,得到第一层实体识别集,即对待识别语句S进行同义词和标准正则表达式识别。
例如,先用多模匹配算法对待识别语句S进行同义词匹配,识别获得O1;使用标准正则表达式对待识别语句S进行匹配,获得O11;
对O0、O1和O11进行去重,获得O’。
3)进行第二层识别,可以包括:
根据O’中所有的实体名称,从规则库R中过滤出包含实体名称的规则R’,得到目标规则;若规则库R中存在对子实体的限制,需要判断O’的实体是否也存在子实体引用,否则同样过滤掉。
将过滤后的目标规则R’中的包含的实体,用O’中同名实体的值进行替换,获得新的标准的正则表达r,将r对查询语句S进行匹配;
若存在则生成新的对象O”,并记录实体上下依赖关系。
若目标规则R’中规定了包含的实体的子实体,用O’中同名实体的子实体的值进行替换,获得新的标准的正则表达r,将r对查询语句S进行匹配;若存在则生成新的对象O”,并记录实体上下依赖关系。
从规则库R中删除已经匹配过的规则。
对所有的O”进行去重。
4)重复第二层识别的过程,直到On的数量不再增加,结束搜索过程。
5)将On进行格式化,返回所有识别的命名实体作为目标命名实体集。
本申请实施例还可以采用一套领域定义语言来实现上述实体命名识别方法,即实现多层嵌套实体识别的规则系统。领域定义语言DSL是指的是专注于某个应用程序领域的计算机语言,异于一般的跨领域通用计算机语言(GPL),DSL只用在某些特定的领域,比如用来显示网页的HTML。本申请实施例可以使用类正则的规则语法,该正则的规则语法包含value和rule两部分,其中,value表示匹配结果的值,rule表示匹配规则。
语法规则如下:
1.xxx以非“@”开头表示常量,根据规则匹配到符合的情况,返回“xxx”最为结果值
2.@xxx以“@”开头表示变量,若存在xxx名称的实体,则提取xxx实体的值返回。否则返回规则匹配字符串作为结果值
3.@xxx:yyy以“@”开头并且中间包含“:”,若存在xxx名称的实体,表示引用了xxx名称的实体,并且提取xxx实体中yyy的子实体(若存在)作为结果值,否则按照上一条进行处理
rule解释
1.xxx|yyy表示关键词匹配,匹配xxx或yyy,分隔符支持“,”,“|”和“”
2.regex expression正则表达式匹配
3.@xxx+regex_expression任意组合
表示引用xxx实体,并查找符合正则表达式的字符串。支持任意实体数量,任意种类,任意正则表达式数量以及任意排列顺序。
4.@xxx:yyy+regex_expression
在上一条规则上,还需要符合xxx实体的yyy子实体与正则表达式组合进行查找。
下面结合两句待识别语句示例性说明本申请的实体名词识别过程。
比如,定义了一个到达机场的实体为arrive_airport,包含了如下两条识别规则:
示例1
规则1.实体:@sys.airport正则表达式:(到达?|去|飞往?)@sys.airport
查找符合正则表达式”(到达?|去|飞往?)”的字符串,并且紧跟一个名称为sys.airport的实体,若匹配则返回sys.airport实体的结果值。
规则2.实体:@template正则表达式:(?<=(\s|^)到达机场[是为]?[::]*)\S+
查找符合正则表达式规则的字符串,符合则返回匹配到的字符串作为结果返回。
假设待识别语句:2018年飞往首都机场的人。根据待识别语句和上述两个识别规则获得的实体arrive_airport信息为:
匹配值:首都机场
值:北京首都。
开始下标:7
结束下标:11
示例2
假设待识别语句为:上个月从北京站到上海站,并且从虹桥机场到首都机场的人。通过键词匹配或者正则表达式匹配识别待识别语句中的实体名词第一层实体识别集,第一层实体识别集中包含:sys.time:上个月、sys.sattion:北京站、上海站;sys.airport:虹桥机场、首都机场。通过第一次识别过程匹配出出发start:北京站、虹桥机场。当需要进一步确定区分start中的两个实体时,可以在定义一个名为a-start新实体,比如规则为‘@start:sys.station’,对识别得到的两个地点一个是火车站:北京站,另一个是机场:虹桥机场进行区分。规则限制了引用的实体名称是start,并且start包含的子实体是sys.station。从而解决了当规则中的实体中包含多个子实体无法区分的问题。
如图3所示,该图为本申请实施例的服务器功能模块框图,主要包含三个模块:分别为用户操作界面,用于执行识别方法的识别引擎和数据库操作控制模块。
用户操作界面,提供用户对命名实体的添加、修改规则,删除操作以及测试。用户可以在界面中添加新的实体;修改实体信息如:名称、规则和值;以及删除单个规则或者整个实体。
数据库操作控制器,对数据库中的实体数据的添加修改,删除和权限控制。
识别引擎用于对用户输入的待识别的文本数据,进行处理,返回所有识别的实体,其中包含两个小模块:选择器和匹配器。
选择器,根据已经加载的规则信息,已经识别的命名实体识别集和输入信息,进行选择执行动作,提供一套执行流程。
匹配器,解析数据库中的规则,并对规则进行分类解析,生成正则表达式型匹配regex_matcher、多模匹配型匹配器multi_mode_matcher和复杂型匹配器complex_matcher三个子匹配器。对于每一个匹配到的规则,将生成新的规则表达式,并删除旧的规则表达式。
将所述目标规则中包含的实体名称用所述上一次识别获取的所述实体识别集中的同名实体的值进行替换,获得新的标准正则表达式;旧的规则表达式即原始的目标规则,新的规则表达式是经过替换了。
正则表达式型匹配regex_matcher:对于单纯的只包含正则表达式的规则,进行解析加载,编译。
多模匹配型匹配器mulit_mode_matcher:对于关键词规则,进行解析加载,编译。多模匹配算法是指一个字符串中寻找多个模式字符串的问题。Aho-Corasick算法是多模匹配中的一种实现方法。该算法是将字符转化未状态的转移。对扫描的文本不进行回溯,是时间复杂度保持在O(n)。
复杂型匹配器complex_matcher,除了上述两种规则外的其他规则。从所述识别规则中过滤出包含所述实体名称的规则,作为本次识别的目标规则,对此类规则进行解析,将生成一个个小的内部流转对象,并根据所述规则中依赖关系生成一个大的树形结构,每个内部流转对象均可以找到父级内部流转对象以及子级内部流转对象集。并校验是否存在环形依赖关系。使用最长匹配算法,对于每一个匹配的复杂型规则,生成新的内部流转对象以后,都将识别范围小的内部流转对象进行删除。
请参考图4,图4示出了本申请实施例的实体命名识别装置,应理解,该装置400与上述图1和图2方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置400的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置400包括至少一个能以软件或固件的形式存储于存储器中或固化在装置400的操作系统中的软件功能模块,装置400包括:输入单元401,被配置为输入待识别语句和基础命名实体集;实体命名识别模块402,被配置为根据识别规则和所述基础命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置400的具体工作过程,可以参考前述方法100中的对应过程,在此不再过多赘述。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述程序被处理器执行时可实现图1和图2示出的方法,也可以用于实现上述实施例描述的方法。
如图5所示,本申请实施例提供一种信息处理设备500,该信息处理设备500包括存储器510、处理器520以及存储在所述存储器510上并可在所述处理器520上运行的计算机程序,其中,处理器520通过总线530从存储器510上读取程序并执行所述程序时可实现图1和图2所示方法。
例如,本申请实施例的处理器520执行计算机程序可以实现如下方法:S101,输入待识别语句和基础命名实体集。S102,根据识别规则和所述基础命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集。
处理器520可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器520可以是微处理器。
存储器510可以用于存储由处理器520执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本申请实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器520可以用于执行存储器510中的指令以实现图1或图2中所示的方法。存储器510包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (11)
1.一种实体命名识别方法,其特征在于,所述方法包括:
输入待识别语句和基础命名实体集;
根据识别规则和所述基础命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集;
其中,所述根据识别规则和所述基础命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集,包括:基于所述识别规则对所述待识别语句进行至少一次识别,获得至少一个实体识别集;
当所述基于所述识别规则对所述待识别语句进行至少一次识别的步骤为基于所述识别规则对所述待识别语句进行多次识别时,则每一次识别过程包括:过滤所述识别规则,获取目标规则;根据所述目标规则识别所述待识别语句,获得本次识别对应的实体识别集;
所述过滤所述识别规则,获取目标规则,包括:
根据第一层命名实体集或者上一次识别获得的所述实体识别集中包含的所有实体,从所述识别规则中过滤出包含实体名称的规则,作为本次识别的目标规则;
所述根据所述目标规则识别所述待识别语句,获得本次识别对应的实体识别集,包括:
将所述目标规则中包含的实体名称用所述上一次识别获取的所述实体识别集中的同名实体的匹配值进行替换,获得新的标准正则表达式;
根据所述新的正则表达式对所述待识别语句进行匹配,当存在匹配对象时,生成所述本次识别对应的实体识别集。
2.如权利要求1所述的实体命名识别方法,其特征在于,所述基础命名实体集是通过对所述待识别语句进行切词处理并执行通用领域的实体名词识别得到的。
3.如权利要求1所述的实体命名识别方法,其特征在于,所述根据所述识别规则和所述基础命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集,包括:
统计所述至少一个实体识别集中包含的实体的数量,并判断实体名词数量是否随着识别次数的增加而增加;
当所述实体识别集中的实体名词数量不再随着所述识别次数的增加而增加时,结束识别过程获得所述目标命名实体集。
4.如权利要求1或2所述的实体命名识别方法,其特征在于,所述根据识别规则和所述基础命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集,包括:
根据同义词或者标准正则表达式识别所述待识别语句的实体,增加所述基础命名实体集中实体的数量,得到所述第一层命名实体集;
根据所述识别规则和所述第一层命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集。
5.如权利要求4所述的实体命名识别方法,其特征在于,所述根据同义词或者标准正则表达式识别所述待识别语句的实体,增加所述基础命名实体集中实体的数量,得到所述第一层命名实体集,包括:
将所述基础命名实体集中所包含的实体转化为内部流转对象;
根据多模匹配算法对所述待识别语句进行同义词匹配,获得同义词实体识别集;
根据所述正则表达式对所述待识别语句进行匹配,获得正则实体识别集;
对所述内部流转对象、所述同义词实体识别集以及所述正则实体识别集进行去重处理,得到所述第一层命名实体集。
6.如权利要求5所述的实体命名识别方法,其特征在于,所述每一次识别过程还包括:
从所述识别规则中删除所述新的标准正则表达式;
对所述本次识别对应的实体识别集进行去重处理。
7.如权利要求1所述的实体命名识别方法,其特征在于,
所述过滤所述识别规则,获取目标规则,包括:
当所述识别规则中包括对子实体的限制时,则进一步判断当前层的实体识别集中的实体是否存在所述子实体名称的引用;当所述实体存在对所述子实体名称的引用时从所述识别规则中过滤出包含所述子实体名称的规则,作为所述目标规则;
所述根据所述目标规则识别所述待识别语句,获得本次识别对应的实体识别集,包括:
将所述目标规则中包含的子实体名称用上一次识别获取的所述实体识别集中同名实体的同名子实体的匹配值替换,获得子实体标准正则表达式;
将所述子实体标准正则表达式与所述待识别语句进行匹配,当存在匹配对象时,则生成所述本次识别对应的实体识别集,并记录所述子实体和所述实体的依赖关系。
8.如权利要求7所述的实体命名识别方法,其特征在于,所述实体命名识别方法还包括:
从所述识别规则中删除所述子实体标准正则表达式;
对所述本次识别对应的实体识别集进行去重处理。
9.一种实体命名识别装置,其特征在于,所述装置包括:
输入单元,被配置为输入待识别语句和基础命名实体集;
实体名词识别模块,被配置为根据识别规则和所述基础命名实体集对所述待识别语句进行至少一次识别,得到目标命名实体集;
其中,所述实体名词识别模块还被配置为:基于所述识别规则对所述待识别语句进行至少一次识别,获得至少一个实体识别集;
当所述基于所述识别规则对所述待识别语句进行至少一次识别的步骤为基于所述识别规则对所述待识别语句进行多次识别时,则每一次识别过程包括:过滤所述识别规则,获取目标规则;根据所述目标规则识别所述待识别语句,获得本次识别对应的实体识别集;
所述过滤所述识别规则,获取目标规则,包括:
根据第一层命名实体集或者上一次识别获得的所述实体识别集中包含的所有实体,从所述识别规则中过滤出包含实体名称的规则,作为本次识别的目标规则;
所述根据所述目标规则识别所述待识别语句,获得本次识别对应的实体识别集,包括:
将所述目标规则中包含的实体名称用所述上一次识别获取的所述实体识别集中的同名实体的匹配值进行替换,获得新的标准正则表达式;
根据所述新的正则表达式对所述待识别语句进行匹配,当存在匹配对象时,生成所述本次识别对应的实体识别集。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时可实现权利要求1-8中任意一条权利要求所述的方法。
11.一种信息处理设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现权利要求1-8中任意一条权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010009067.7A CN111209753B (zh) | 2020-01-03 | 2020-01-03 | 一种实体命名识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010009067.7A CN111209753B (zh) | 2020-01-03 | 2020-01-03 | 一种实体命名识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111209753A CN111209753A (zh) | 2020-05-29 |
CN111209753B true CN111209753B (zh) | 2023-11-03 |
Family
ID=70788409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010009067.7A Active CN111209753B (zh) | 2020-01-03 | 2020-01-03 | 一种实体命名识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209753B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859937A (zh) * | 2020-07-20 | 2020-10-30 | 上海汽车集团股份有限公司 | 一种实体识别方法及装置 |
CN112507716B (zh) * | 2020-11-30 | 2023-07-21 | 北京百度网讯科技有限公司 | 医学命名实体识别方法、装置、电子设备和存储介质 |
CN112632924B (zh) * | 2020-12-18 | 2024-04-02 | 上海明略人工智能(集团)有限公司 | 规则化执行序列标注的方法、系统、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271448A (zh) * | 2007-03-19 | 2008-09-24 | 株式会社东芝 | 汉语基本名词短语的识别及其规则的生成方法和装置 |
CN108363701A (zh) * | 2018-04-13 | 2018-08-03 | 达而观信息科技(上海)有限公司 | 命名实体识别方法及系统 |
CN110532570A (zh) * | 2019-09-10 | 2019-12-03 | 杭州橙鹰数据技术有限公司 | 一种命名实体识别的方法和装置及模型训练的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874256A (zh) * | 2015-12-11 | 2017-06-20 | 北京国双科技有限公司 | 识别领域命名实体的方法及装置 |
-
2020
- 2020-01-03 CN CN202010009067.7A patent/CN111209753B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271448A (zh) * | 2007-03-19 | 2008-09-24 | 株式会社东芝 | 汉语基本名词短语的识别及其规则的生成方法和装置 |
CN108363701A (zh) * | 2018-04-13 | 2018-08-03 | 达而观信息科技(上海)有限公司 | 命名实体识别方法及系统 |
CN110532570A (zh) * | 2019-09-10 | 2019-12-03 | 杭州橙鹰数据技术有限公司 | 一种命名实体识别的方法和装置及模型训练的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111209753A (zh) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110609902B (zh) | 一种基于融合知识图谱的文本处理方法及装置 | |
US7174507B2 (en) | System method and computer program product for obtaining structured data from text | |
CN111209753B (zh) | 一种实体命名识别方法及装置 | |
US20140351228A1 (en) | Dialog system, redundant message removal method and redundant message removal program | |
EP2915068A2 (en) | Natural language processing system and method | |
JP2021504781A (ja) | ブロックに基づく文書メタデータの抽出のための方法、コンピュータ・プログラム及びシステム | |
CN110096573B (zh) | 一种文本解析方法及装置 | |
US20130232147A1 (en) | Generating a taxonomy from unstructured information | |
CN113886604A (zh) | 一种职位知识图谱生成方法和系统 | |
CN110096599B (zh) | 知识图谱的生成方法及装置 | |
US11429792B2 (en) | Creating and interacting with data records having semantic vectors and natural language expressions produced by a machine-trained model | |
CN112115232A (zh) | 一种数据纠错方法、装置及服务器 | |
CN113312922B (zh) | 一种改进的篇章级三元组信息抽取方法 | |
JP3372532B2 (ja) | 感情情報抽出方法および感情情報抽出プログラムの計算機読み取り可能な記録媒体 | |
CN113886527A (zh) | 一种自然语言语义提取方法和系统 | |
CN114003725A (zh) | 信息标注模型的构建方法以及信息标注的生成方法 | |
EA037156B1 (ru) | Способ поиска в тексте совпадений с шаблонами | |
CN110020024B (zh) | 一种科技文献中链接资源的分类方法、系统、设备 | |
CN112989011B (zh) | 数据查询方法、数据查询装置和电子设备 | |
US20210342534A1 (en) | Sentence structure vectorization device, sentence structure vectorization method, and storage medium storing sentence structure vectorization program | |
CN110083817B (zh) | 一种命名排歧方法、装置、计算机可读存储介质 | |
Lazemi et al. | Persian plagirisim detection using CNN s | |
CN112559735A (zh) | 信息处理装置以及记录媒体 | |
JPH0782500B2 (ja) | 未登録語獲得方式 | |
JP2014235584A (ja) | 文書分析システム、文書分析方法およびプログラム |
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 |