本申请涉及自然语言处理领域,尤其涉及一种命名实体识别方法及系统。
背景技术:
自然语言处理(naturallanguageprocessing,简称“nlp”)是计算机科学领域与人工智能领域中的一个重要方向,研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。基于自然语言处理的应用已经开始影响人们生活和生产的方方面面,如智能问答机器人、自动文本摘要等等。作为信息抽取的基石,命名实体识别(namedentityrecognition,简称“ner”)技术应用在每一个成熟的nlp应用中。命名实体识别指的是以名称为标识的实体,如:人名、地名、组织机构名称、时间等。由于ner技术所处的基石位置,ner的效果将直接影响着整个信息抽取链条的效果。一个ner系统所要解决的问题就是识别出输入文本中所包含的所有实体。例如,文本“张小明,1961年9月27日出生于中国香港”包含实体张小明(人名)、1961年9月27日(时间)、中国香港(地点)三个实体。
传统上,ner系统多是基于给定特征模版的条件随机场(conditionalrandomfield,简称“crf”)来实现。crf算法解码文本的机理是为文本的字符序列打上正确的预测标签。基于通用的bieso标签体系,以文本“张小明出生于中国香港”为例,给该文本打上标签后的示意图如图1所示,其中命名实体“张小明”所包含的三个字符的标签分别为b_per,i_per,e_per。
近来,人们在生产生活逐渐对命名实体识别系统衍生出了更多的需求,如命名实体之间有着交叠的现象。如图2所示,文本“大家一起前往华盛顿特区”中包含有重叠的实体“华盛顿特区”(地点)和“华盛顿”(人名)。其中“华盛顿”具有两种标签:(1)b_per,i_per,e_per;(2)b_loc,i_loc,i_loc。然而,基于特征模板的crf算法只能为一则文本打上一条标签序列,对于这种包含重叠实体的文本是失效的。
为了解决上述问题,一种可行性的方案是为每一种类型的实体分配一个独立的ner系统,以实现单条文本序列解码为多条标签序列。如对于图2所示包含重叠的命名实体的文本,可以创建两个ner系统分别单独负责人名、地名的识别,如图3所示,其中ner(人名)负责对文本中的人名实体进行识别,ner(地名)负责对文本中的地名实体进行识别。然而,由于这些子ner系统之间的独立性,共性的知识难以在子系统之间共享,整个系统存在高度的信息冗余。因此,在实际情况下,该方案的效率较为低下。
如何解决现有技术中对于重叠的命名实体识别方案中所存在的效率低下的问题,减少冗余信息,从而提升单类实体的识别效果,是目前亟待解决的问题。
技术实现要素:
本申请的主要目的在于提出一种命名实体识别方法,解决了现有技术中对于重叠的命名实体识别方案中所存在的效率低下的问题,通过共享机制减少了冗余信息,降低了推理时间,使得不同类型实体识别时能够进行相互协助,从而提升了单类实体的识别效果。
为实现上述目的,本申请实施例提供了一种命名实体识别方法,包括:
对待处理文本进行预处理,得到预处理结果;
根据所述预处理结果得到对应所述待处理文本的上下文信息敏感的字符级表达信息;
创建与不同命名实体类型一一对应的条件随机场crf解码单元,各条件随机场crf解码单元分别对所述上下文信息敏感的字符级表达信息进行解码,生成各命名实体类型对应的标签序列;
分别根据各标签序列抽取对应的命名实体。
可选地,其中,所述预处理结果的类型包括:对应所述待处理文本的字符集,对所述待处理文本进行分词后的词汇集,对所述待处理文本进行句子切分后的句子集和对应所述词汇集的词性集。
可选地,所述根据所述预处理结果得到对应所述待处理文本的上下文信息敏感的字符级表达信息,包括:
根据所述预处理结果的类型构建与所述类型对应的特征信息;
对所述特征信息进行处理,得到对应所述待处理文本的上下文信息敏感的字符级表达信息。
可选地,其中,所述特征信息包括:对应所述字符集的字符编码信息,对应所述词汇集的分词边界信息,对应所述句子集的句子边界距离信息和对应所述词性集的词性特征信息。
可选地,所述对所述特征信息进行处理,得到对应所述待处理文本的上下文信息敏感的字符级表达信息,包括:
利用双向长短时记忆循环神经网络从正向和反向两种维度扫描所述特征信息,构建出对应所述待处理文本的上下文信息敏感的字符级表达信息。
本申请实施例还提供了一种命名实体识别系统,包括:
文本预处理模块,设置为对待处理文本进行预处理,得到预处理结果;
编码模块,设置为根据所述预处理结果得到对应所述待处理文本的上下文信息敏感的字符级表达信息;
多任务crf解码模块,设置为创建与不同命名实体类型一一对应的条件随机场crf解码单元,各条件随机场crf解码单元分别对所述上下文信息敏感的字符级表达信息进行解码,生成各命名实体类型对应的标签序列;
输出整合模块,设置为分别根据各标签序列抽取对应的命名实体。
可选地,其中,所述预处理结果的类型包括:对应所述待处理文本的字符集,对所述待处理文本进行分词后的词汇集,对所述待处理文本进行句子切分后的句子集和对应所述词汇集的词性集。
可选地,所述编码模块,具体设置为:
特征抽取模块,设置为根据所述预处理结果的类型构建与所述类型对应的特征信息;
上下文表达构建模块,设置为对所述特征信息进行处理,得到对应所述待处理文本的上下文信息敏感的字符级表达信息。
可选地,其中,所述特征信息包括:对应所述字符集的字符编码信息,对应所述词汇集的分词边界信息,对应所述句子集的句子边界距离信息和对应所述词性集的词性特征信息。
可选地,所述上下文表达构建模块,具体设置为:
利用双向长短时记忆循环神经网络从正向和反向两种维度扫描所述特征信息,构建出对应所述待处理文本的上下文信息敏感的字符级表达信息。
本申请提出的技术方案包括:对待处理文本进行预处理,得到预处理结果;根据所述预处理结果得到对应所述待处理文本的上下文信息敏感的字符级表达信息;创建与不同命名实体类型一一对应的条件随机场crf解码单元,各条件随机场crf解码单元分别对所述上下文信息敏感的字符级表达信息进行解码,生成各命名实体类型对应的标签序列;分别根据各标签序列抽取对应的命名实体。
本申请提供了一种基于多任务学习机制的命名实体识别系统来解决现有技术中对于重叠的命名实体识别方案中所存在的效率低下的问题,通过共享机制减少了冗余信息,降低了推理时间,使得不同类型实体识别时能够进行相互协助,从而提升了单类实体的识别效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1所示为现有技术中crf解码标签序列示意图;
图2所示为现有技术中示例文本包含重叠实体时的标签序列图;
图3所示为现有技术中互相独立的ner系统集合示意图;
图4所示为多任务学习系统示意图;
图5所示为本申请基于多任务学习的命名实体识别系统示意图;
图6所示为本申请实施例1的命名实体识别方法流程图;
图7所示为本申请实施例2的命名实体识别系统结构图;
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
多任务学习机制将多个子任务联合起来进行学习,能够挖掘并利用不同子任务的共性知识,同时学习得到子任务特有的知识。多任务学习机制广泛应用于机器学习的诸多领域,如图像(语义分割+深度预测)、异源文本分类等等。相比于每个子任务单独学习的策略,多任务联合学习的机制使得不同子任务之间可以互相协助来得到更好的效果。如图4所示为多任务学习系统示意图。
本申请基于多任务学习机制,设计出一套命名实体识别方法及系统。通过将每种类型的实体识别任务抽象为一个子任务,并将命名实体识别系统建模为多任务学习神经网络系统,该系统具有在子任务间共享的编码模块以及在子任务间独立的解码模块。解码阶段的多任务crfs结构允许多任务模型学习得到每类命名实体所特有的知识,同时,通过共享机制减少了冗余信息,从而解决了现有技术中对于重叠的命名实体识别方案中所存在的效率低下的问题,图5为本申请基于多任务学习的命名实体识别系统示意图。
图6所示为本申请实施例1的命名实体识别方法流程图,包括以下步骤:
步骤601:对待处理文本进行预处理,得到预处理结果;
本申请中的“待处理文本”可以是用户的输入文本,可以包含重叠的命名实体,例如:图2所示的文本“大家一起前往华盛顿特区”,其中包含了“华盛顿”和“华盛顿特区”两种命名实体,并且两种命名实体中均包含了“华盛顿”,也就是说在该文本中,两种类型的命名实体是存在部分重叠的。
本步骤601是将待处理文本进行加工,生成可用于后续多任务模型输入的各种信息。
一种示例性的实施例中,可以首先基于数据集构建出相应的词/字库,并将低频字/词加入到低频字/词库中。对于待处理文本d*,预处理阶段将会对其进行分词、句子切分、词性识别,并且将文本中出现的低频字替换为统一的无效字符。
一种示例性的实施例中,经过步骤601之后,可以根据待处理文本d*得到预处理结果{c,w,s,p},其中c,w,s,p分别表征字符集、词汇集、句子集、词性集。这些信息可以被整合后输入到后续多任务模型中用于命名实体的识别。
步骤602:根据所述预处理结果得到对应所述待处理文本的上下文信息敏感的字符级表达信息;
具体地,本步骤602可以通过如下具体步骤实现:
步骤6021:根据所述预处理结果的类型构建与所述类型对应的特征信息;
在本步骤6021中,接收来自预处理后的文本信息,并构建成输入特征。可以通过对预处理后的文本信息进行加工,构建了四种字符级别的特征,包括字符、分词边界、句子边界距离、词性特征。这些特征在离散、向量化后被输入到后续多任务模型中。各种特征构造方式如下:
字符编码:文本中的每一个字符在经过查询词汇表之后,转换为相应地字符编码。
分词边界:给定输入文本的分词信息,如果:(1)字符出现在某一词汇的首部,其分词边界特征编码为0;(2)字符出现在某一词汇的尾部,其分词边界特征编码为1;(3)否则,其分词边界特征编码为2。
句子边界距离:给定输入文本的断句信息,字符的句子边界距离特征可定义为log2(d1)和log2(d2),其中d1,d2分别标注该字符与句首、末的距离。
词性特征:给定输入文本的词性信息,包括名词、动词、形容词、代词、数词、量词等,字符的词性特征定义为其所在词汇词性的编码。
步骤6022:对所述特征信息进行处理,得到对应所述待处理文本的上下文信息敏感的字符级表达信息。
在本步骤6022中,可以采用语言模型中通用的循环神经网络来捕获字符上下文的信息。具体地,基于四种字符级别的特征,本文采用双向长短时记忆循环神经网络来从正向和反向两种维度扫描文本,构建出上下文信息敏感的字符级表达。
步骤603:创建与不同命名实体类型一一对应的条件随机场crf解码单元,各条件随机场crf解码单元分别对所述上下文信息敏感的字符级表达信息进行解码,生成各所述命名实体类型对应的标签序列;
在本步骤603中,本申请基于设计需要,定义所要获取的命名实体的类型,然后为每种类型的命名实体分配一个条件随机场crf解码单元,对于n种实体,所有的条件随机场crf解码单元构成了集合{crf1,crf2,…,crfn}。为了尽可能利用不同实体类型之间的共性知识来提升单个任务的效果,这些条件随机场crf解码单元将接收共同的输入(上下文信息敏感的字符级表达信息)。
来自上一步骤的上下文信息敏感的字符级表达信息在本步骤进行并行的解码运算。每一个条件随机场crf解码单元都会为文本输出一条解码后的标签序列si={s1,s2,…,s|m|},
步骤604:分别根据各标签序列抽取对应的命名实体。
在本步骤中,将对在上一步骤不同crf解码单元解码出的所有的n条标签序列进行处理,之后可以抽取出可重叠的命名实体集合。如对于例句“大家一起前往华盛顿特区”,crf1负责解码得到地点类型的命名实体对应的标签序列,其解码后的标签序列能够在本步骤中抽出地点“华盛顿特区”;crf2负责解码得到人名类型的命名实体对应的标签序列,其解码后的标签序列能够在本步骤中抽出人名“华盛顿”。
通过学习器对本申请命名实体识别系统进行训练,不同于按照子任务交替训练多任务模型的策略,本申请采用联合优化的机制对多任务crfs结构进行联合学习,其优化目标(损失函数)为:
其中,ji(θ)表征第i个解码单元的损失函数,wi是用来平衡不同任务的权重因子。考虑到本申请不同子任务是均为命名实体识别任务,它们所对应损失函数的量纲相同,因此本申请设定权重因子wi=1,
这里需要说明的是,本申请提供了一种基于多任务学习机制的命名实体识别系统来解决现有技术中对于重叠的命名实体识别方案中所存在的效率低下的问题,通过共享机制减少了冗余信息,降低了推理时间,使得不同类型实体识别时能够进行相互协助,从而提升了单类实体的识别效果。
图7为本申请实施例2的命名实体识别系统结构图,如图7所示,该系统包括:
文本预处理模块,设置为对待处理文本进行预处理,得到预处理结果;
编码模块,设置为根据所述预处理结果得到对应所述待处理文本的上下文信息敏感的字符级表达信息;
多任务crf解码模块,设置为创建与不同命名实体类型一一对应的条件随机场crf解码单元,各条件随机场crf解码单元分别对所述上下文信息敏感的字符级表达信息进行解码,生成各命名实体类型对应的标签序列;
输出整合模块,设置为分别根据各标签序列抽取对应的命名实体。
其中,所述预处理结果的类型包括:对应所述待处理文本的字符集,对所述待处理文本进行分词后的词汇集,对所述待处理文本进行句子切分后的句子集和对应所述词汇集的词性集。
具体地,所述编码模块,具体设置为:
特征抽取模块,设置为根据所述预处理结果的类型构建与所述类型对应的特征信息;
上下文表达构建模块,设置为对所述特征信息进行处理,得到对应所述待处理文本的上下文信息敏感的字符级表达信息。
其中,所述特征信息包括:对应所述字符集的字符编码信息,对应所述词汇集的分词边界信息,对应所述句子集的句子边界距离信息和对应所述词性集的词性特征信息。
具体地,所述上下文表达构建模块,具体设置为:
利用双向长短时记忆循环神经网络从正向和反向两种维度扫描所述特征信息,构建出对应所述待处理文本的上下文信息敏感的字符级表达信息。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。