知识图谱构建方法、装置、电子设备及可读存储介质与流程

文档序号:19635074发布日期:2020-01-07 11:54阅读:188来源:国知局
知识图谱构建方法、装置、电子设备及可读存储介质与流程

本申请涉及文本处理领域,具体而言,涉及一种知识图谱构建方法、装置、电子设备及可读存储介质。



背景技术:

现有技术中,在构建知识图谱时,通常是按照实体识别、实体消歧、关系抽取、实体链接四个步骤的顺序进行的,这四个步骤中的每个步骤均由对应的执行程序来进行,若四个执行程序中的一个或者几个无法顺利进行工作,会造成知识图谱构建的整体响应时间较长。



技术实现要素:

本申请实施例的目的在于提供一种知识图谱构建方法、装置、电子设备及可读存储介质,用以改善现有技术中知识图谱构建的整体响应时间较长的问题。

第一方面,本申请实施例提供了一种知识图谱构建方法,所述方法包括:利用实体识别程序对接收到的文本信息进行分隔处理,获得多个分句;利用所述实体识别程序识别出多个分句中每个分句的至少一个实体,并对所述至少一个实体中的每个实体标注标签,从而获得实体识别结果,所述实体识别结果包括处理后的文本信息、所述至少一个实体以及所述至少一个实体中的每个实体对应的所述标签;利用所述实体链接程序对所述实体识别结果进行实体链接处理,并将对应的处理结果存入实体链接消息队列;或利用所述实体消歧程序对所述实体识别结果进行实体消歧处理,并将对应的处理结果存入实体消歧消息队列;或利用所述关系抽取程序对所述实体识别结果进行关系抽取处理,并将对应的处理结果存入关系抽取消息队列。

在上述的实施方式中,先对文本信息进行实体识别处理得到实体识别结果,对于实体识别结果可以同时进行实体链接处理、实体消歧处理以及关系抽取处理,从而得到各自的处理结果。由于在获得实体识别结果后,不再按照顺序进行处理,而是同时执行实体链接、实体消歧以及关系抽取的动作,与现有技术相比,避免了顺序执行过程中因前序处理无法执行而导致后续程序空闲的情况,减少了知识图谱构建的响应时间。

在一个可能的设计中,在所述获得实体识别结果之后,在所述利用所述实体链接程序对所述实体识别结果进行实体链接处理,并将对应的处理结果存入实体链接消息队列之前,所述方法还包括:利用所述实体识别程序将实体识别结果存储至实体识别消息队列;利用实体链接程序、实体消歧程序或关系抽取程序从所述实体识别消息队列获得实体识别结果。

在上述的实施方式中,可以在获得实体识别结果之后,先将实体识别结果存储至实体识别消息队列,然后实体链接程序、实体消歧程序或关系抽取程序均从实体识别消息队列中获取实体识别结果,将实体识别结果存储在一个固定的存储位置,方便多种程序快速调用并处理,进一步提高了处理效率。

在一个可能的设计中,所述方法还包括:将所述实体识别消息队列、实体链接消息队列、实体消歧消息队列及关系抽取消息队列中的至少两个消息队列的结果信息进行拼接。

在上述的实施方式中,可以根据后续程序的需要,将实体识别消息队列、实体链接消息队列、实体消歧消息队列及关系抽取消息队列这四个队列中的至少两个消息队列中的结果信息拼接起来,以便被后续程序获取并应用。

在一个可能的设计中,所述利用所述实体链接程序对所述实体识别结果进行实体链接处理,包括:对实体识别结果中的多个实体的每个实体,通过相似度计算的方式获得每个实体在知识图谱中对应的多个候选词;利用第一神经网络对每个实体以及每个实体分别对应的多个候选词进行处理,从所述多个候选词中筛选出与对应的实体相似度最高的候选词,所述多个候选词中的相似度最高的候选词作为所述实体的识别结果;建立每个实体与各自对应的识别结果的链接关系。

在上述的实施方式中,在知识图谱中先筛选每个实体分别对应的多个候选词,然后再从多个候选词中筛选出与实体对应的相似度最高的候选词。先通过初步筛选,排除明显不符合要求的词,然后再从候选词中选出准确的识别结果,在保证准确性的同时,提高了识别速度。

在一个可能的设计中,所述利用所述实体消歧程序对所述实体识别结果进行实体消歧处理,包括:将所述实体识别结果输入到第二神经网络;利用所述第二神经网络将所述实体识别结果中的代词替换为对应的实体。

在上述的实施方式中,第二神经网络可以是预先训练出的能够进行代词替换的神经网络,然后把携带有代词的实体识别结果输入到第二神经网络中,由第二神经网络将实体识别结果中的代词替换成对应的实体。

在一个可能的设计中,所述利用所述关系抽取程序对所述实体识别结果进行关系抽取处理,包括:将所述实体识别结果输入到第三神经网络,所述实体识别结果包括标注第一类标签的至少一个实体和标注第二类标签的至少一个实体;利用所述第三神经网络建立标注第一类标签的至少一个实体与标注第二类标签的至少一个实体的匹配关系。

在上述的实施方式中,第三神经网络可以是预先训练出的神经网络,该神经网络用于将携带有不同类标签实体的实体识别结果的不同类标签分别对应的实体之间建立匹配关系。

第二方面,本申请实施例提供了一种知识图谱构建装置,所述装置包括:分隔处理模块,用于利用实体识别程序对接收到的文本信息进行分隔处理,获得多个分句;标签标注模块,用于利用所述实体识别程序识别出多个分句中每个分句的至少一个实体,并对所述至少一个实体中的每个实体标注标签,从而获得实体识别结果,所述实体识别结果包括处理后的文本信息、所述至少一个实体以及所述至少一个实体中的每个实体对应的所述标签;队列存入模块,用于利用所述实体链接程序对所述实体识别结果进行实体链接处理,并将对应的处理结果存入实体链接消息队列;或利用所述实体消歧程序对所述实体识别结果进行实体消歧处理,并将对应的处理结果存入实体消歧消息队列;或利用所述关系抽取程序对所述实体识别结果进行关系抽取处理,并将对应的处理结果存入关系抽取消息队列。

在一个可能的设计中,所述装置还包括:实体识别存储模块,用于利用所述实体识别程序将实体识别结果存储至实体识别消息队列;识别结果获取模块,用于利用实体链接程序、实体消歧程序或关系抽取程序从所述实体识别消息队列获得实体识别结果。

在一个可能的设计中,所述装置还包括:信息拼接模块,用于将所述实体识别消息队列、实体链接消息队列、实体消歧消息队列及关系抽取消息队列中的至少两个消息队列的结果信息进行拼接。

在一个可能的设计中,队列存入模块还用于对实体识别结果中的多个实体的每个实体,通过相似度计算的方式获得每个实体在知识图谱中对应的多个候选词;利用第一神经网络对每个实体以及每个实体分别对应的多个候选词进行处理,从所述多个候选词中筛选出与对应的实体相似度最高的候选词,所述多个候选词中的相似度最高的候选词作为所述实体的识别结果;建立每个实体与各自对应的识别结果的链接关系。

在一个可能的设计中,队列存入模块还用于将所述实体识别结果输入到第二神经网络;利用所述第二神经网络将所述实体识别结果中的代词替换为对应的实体。

在一个可能的设计中,队列存入模块还用于将所述实体识别结果输入到第三神经网络,所述实体识别结果包括标注第一类标签的至少一个实体和标注第二类标签的至少一个实体;利用所述第三神经网络建立标注第一类标签的至少一个实体与标注第二类标签的至少一个实体的匹配关系。

第三方面,本申请提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一方面或第一方面的任一可选的实现方式所述的方法。

第四方面,本申请提供一种可读存储介质,该可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面或第一方面的任一可选的实现方式所述的方法。

第五方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。

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

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例提供的知识图谱构建方法的流程示意图;

图2示出了本申请实施例提供的知识图谱构建方法的一种具体实施方式的流程示意图;

图3示出了步骤s130的一种具体实施方式的流程示意图;

图4示出了步骤s130的另一种具体实施方式的流程示意图;

图5示出了步骤s130的又一种具体实施方式的流程示意图;

图6示出了本申请实施例提供的知识图谱构建装置的示意性结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

图1为本申请实施例提供的知识图谱构建方法的一种具体实施方式的流程示意图,该方法可以由电子设备来执行,该电子设备可以是用户终端,也可以是服务器,该方法具体包括如下步骤s110至步骤s130:

步骤s110,利用实体识别程序对接收到的文本信息进行分隔处理,获得多个分句。

文本信息可以是互联网关于某一话题的讨论帖子或评论,为了便于描述,接下来不妨以文本信息为电商网站中关于化妆品产品的评论为例进行说明。

对文本信息进行分隔处理时,可以根据文本信息的标点符号对文本信息进行分隔,例如,分隔方法可以是:只要文本信息中出现标点,便以此为依据将文本信息分隔成多个分句;分隔方法也可以是:依据文本信息中的逗号“,”将文本信息分隔成多个分句。对文本信息进行分隔的具体方式不应该理解为是对本申请的限制。

在步骤s110之前,还可以先缓存接收到的文本信息,待缓存的文本信息达到一定数量后,再将缓存的文本信息传递至实体识别程序,从而提高文本信息的处理效率。

步骤s120,利用所述实体识别程序识别出多个分句中每个分句的至少一个实体,并对所述至少一个实体中的每个实体标注标签,从而获得实体识别结果,所述实体识别结果包括处理后的文本信息、所述至少一个实体以及所述至少一个实体中的每个实体对应的所述标签。

实体为与上述某一话题相关的实物或概念,接上文的举例继续进行说明,实体可以是具体的化妆品品类名称,也可以是某化妆品的使用场景,还可以是某化妆品的效果等。

标签用于反映实体所属的类型,例如,表征化妆品品牌或品类的产品类型,表征使用化妆品场合的场景类型,表征使用化妆品的效果的效果类型,表征未使用化妆品时用户皮肤存在的缺陷的瑕疵类型。

可选地,对于多个分句中的每个分句,可以利用bert模型识别出每个分句中的实体,并为该实体添加对应的标签。实体识别结果中的处理后的文本信息为进行过分隔处理且被识别出实体的文本信息。

步骤s130,利用所述实体链接程序对所述实体识别结果进行实体链接处理,并将对应的处理结果存入实体链接消息队列;或利用所述实体消歧程序对所述实体识别结果进行实体消歧处理,并将对应的处理结果存入实体消歧消息队列;或利用所述关系抽取程序对所述实体识别结果进行关系抽取处理,并将对应的处理结果存入关系抽取消息队列。

在获得实体识别结果之后,可以利用实体链接程序、实体消歧程序以及关系抽取程序对实体识别结果分别进行实体链接处理、实体消歧处理以及关系抽取处理,从而得到各自的处理结果。

其中,实体链接处理可以是从知识图谱中选择出与实体识别结果中的某一实体相似度最高的结果词,然后建立该实体与该结果词之间的链接关系。实体消歧程序可以将文本信息中的全部代词替换成该代词对应的实体。关系抽取程序则可以依据标签,将属于不同标签的实体建立起匹配关系。

由于在获得实体识别结果后,不再按照顺序进行处理,而是同时执行实体链接、实体消歧以及关系抽取的动作,与现有技术相比,避免了顺序执行过程中因前序处理无法执行而导致后续程序空闲的情况,减少了知识图谱构建的响应时间。

请参见图2,图2示出了本申请实施例提供的知识图谱构建方法的一种具体实施方式,具体包括如下步骤s110至步骤s140:

步骤s110,利用实体识别程序对接收到的文本信息进行分隔处理,获得多个分句。

步骤s120,利用所述实体识别程序识别出多个分句中每个分句的至少一个实体,并对所述至少一个实体中的每个实体标注标签,从而获得实体识别结果,所述实体识别结果包括处理后的文本信息、所述至少一个实体以及所述至少一个实体中的每个实体对应的所述标签。

图2示出的步骤s110至步骤s120与图1示出的步骤s110至步骤s120对应相同,在此便不做赘述。

步骤s121,利用所述实体识别程序将实体识别结果存储至实体识别消息队列。

步骤s122,利用实体链接程序、实体消歧程序或关系抽取程序从所述实体识别消息队列获得实体识别结果。

可选地,可以将实体识别结果以new-topic形式存入kafka中。其中,kafka为实体识别程序,new-topic为实体识别消息队列。实体链接程序、实体消歧程序以及关系抽取程序均可以从new-topic拉取实体识别结果。

可以在获得实体识别结果之后,先将实体识别结果存储至实体识别消息队列,然后实体链接程序、实体消歧程序或关系抽取程序均从实体识别消息队列中获取实体识别结果,将实体识别结果存储在一个固定的存储位置,方便多种程序快速调用并处理,进一步提高了处理效率。

步骤s130,利用所述实体链接程序对所述实体识别结果进行实体链接处理,并将对应的处理结果存入实体链接消息队列;或利用所述实体消歧程序对所述实体识别结果进行实体消歧处理,并将对应的处理结果存入实体消歧消息队列;或利用所述关系抽取程序对所述实体识别结果进行关系抽取处理,并将对应的处理结果存入关系抽取消息队列。

步骤s140,将所述实体识别消息队列、实体链接消息队列、实体消歧消息队列及关系抽取消息队列中的至少两个消息队列的结果信息进行拼接。

实体识别消息队列、实体链接消息队列、实体消歧消息队列及关系抽取消息队列为存储着不同结果信息的不同队列,可以根据后续程序的需要,将实体识别消息队列、实体链接消息队列、实体消歧消息队列及关系抽取消息队列这四个队列中的至少两个消息队列中的结果信息拼接起来,以便被后续程序获取并应用。

请参见图3,图3示出了步骤s130中的利用所述实体链接程序对所述实体识别结果进行实体链接处理的具体步骤,具体包括如下步骤s131至步骤s133:

步骤s131,对实体识别结果中的多个实体的每个实体,通过相似度计算的方式获得每个实体在知识图谱中对应的多个候选词。

相似度计算可以通过tf-idf、杰卡德相似度等方式进行计算。可选地,可以将知识图谱中的多个实体信息均导入到elasticsearch中,并做好知识图谱中的实体信息的索引,然后进行实体识别结果中的实体与知识图谱中的实体信息的相似度计算,从而获取实体识别结果中的每个实体在知识图谱中对应的多个候选词。

不妨设实体识别结果中有实体a、实体b、实体c。对于实体a,通过相似度计算,可获得在知识图谱中实体a对应有三个候选词a1、a2、a3;对于实体b,可获得在知识图谱中实体b对应有两个候选词b1、b2;对于实体c,可获得在知识图谱中实体c对应有四个候选词c1、c2、c3、c4。

步骤s132,利用第一神经网络对每个实体以及每个实体分别对应的多个候选词进行处理,从所述多个候选词中筛选出与对应的实体相似度最高的候选词,所述多个候选词中的相似度最高的候选词作为所述实体的识别结果。

第一神经网络是预先训练完成的神经网络,可选地,可以将某一实体以及该实体对应的多个候选词输入到第一神经网络中,然后第一神经网络可以输出与该实体对应的多个候选词中每个候选词与该实体对应的相似度的数值,由用户根据相似度的数值选择出相似度最高的候选词作为上述的识别结果。可选地,也可以将某一实体以及该实体对应的多个候选词输入到第一神经网络中,然后由第一神经网络直接输出该实体对应的识别结果。

接上文的举例继续进行说明:对于实体b,可以将实体b以及实体b对应的候选词b1、b2均输入到第一神经网络中,然后第一神经网络输出b1与实体b的相似度数值为70%,b2与实体b的相似度数值为65%,则用户可以根据呈现出的相似度数值来选择出实体b对应的识别结果,由于b1的相似度数值大于b2,因此,用户选择b1作为实体b对应的识别结果。

可选地,也可以将实体b以及实体b对应的候选词b1、b2均输入到第一神经网络中,然后由第一神经网络直接输出实体b对应的识别结果,该结果可能是b1,也可能是b2,不妨设输出的识别结果为b1。

在一种具体实施方式中,可以将实体连同上下文一同输入到第一神经网络中,由第一神经网络结合实体的上下文,来从实体可能对应的多个候选词中选出对应的识别结果。

例如,对于实体“苹果”而言,可能指的是一种水果,也可能指的是一家科技公司,因此,可以将实体“苹果”连同上下文“苹果近期发布了新手机”一起输入到第一神经网络中,第一神经网络可以判定出,对于此处的实体“苹果”,其表示的是一家科技公司。

步骤s133,建立每个实体与各自对应的识别结果的链接关系。

通过第一神经网络得到实体b与其对应的识别结果b1后,建立实体b与b1的链接关系;可以通过上述方式分别建立实体a、实体c与各自对应的识别结果的链接关系。

在知识图谱中先筛选每个实体分别对应的多个候选词,然后再从多个候选词中筛选出与实体对应的相似度最高的候选词。先通过初步筛选,排除明显不符合要求的词,然后再从候选词中选出准确的识别结果,在保证准确性的同时,提高了识别速度。

请参见图4,图4示出了步骤s130中的利用所述实体消歧程序对所述实体识别结果进行实体消歧处理的具体步骤,具体包括如下步骤s231至步骤s232:

步骤s231,将所述实体识别结果输入到第二神经网络。

步骤s232,利用所述第二神经网络将所述实体识别结果中的代词替换为对应的实体。

可选地,可以将文本信息输入到第二神经网络中,该文本信息中含有代词,代词包括它/他/她、其、这辆车等。第二神经网络可以将文本信息中多个代词的每个代词替换成明显的实体。

请参见图5,图5示出了步骤s130中的利用所述关系抽取程序对所述实体识别结果进行关系抽取处理的具体步骤,具体包括如下步骤s331至步骤s332:

步骤s331,将所述实体识别结果输入到第三神经网络,所述实体识别结果包括标注第一类标签的至少一个实体和标注第二类标签的至少一个实体。

步骤s332,利用所述第三神经网络建立标注第一类标签的至少一个实体与标注第二类标签的至少一个实体的匹配关系。

第三神经网络可以是预先训练获得的用于匹配不同标签的实体之间关系的神经网络。不妨设第一类标签为产品类型,第二类标签为效果类型,产品类型包括产品a、产品b两种产品,效果类型包括效果1,效果2两种效果。则将包含有产品a、产品b以及效果1,效果2的带有标签的文本信息输入到第三神经网络中,由第三神经网络建立产品与效果之间的匹配关系。可选地,可能产品a与效果1匹配,产品b与效果2匹配;也可能产品b与效果1匹配,产品a与效果2匹配。

在一种具体实施方式中,若电子设备接收到用户输入的:

“我经常熬夜,而且皮肤发黄,油腻,最近要参加朋友婚礼请推荐适合我的化妆品,最好能美白、靓丽点。”上述输入信息后,可以先通过实体识别程序得到场景类型:婚礼;瑕疵类型:熬夜、发黄、油腻;效果类型:美白。电子设备可以依据关系抽取程序获得的不同标签之间的匹配关系,得到与场景类型为婚礼,瑕疵类型为熬夜、发黄、油腻,效果类型为美白匹配的至少一个化妆品品类名称,并且将匹配得到的化妆品品类名称展示给用户。

本申请实施例提供的知识图谱构建方法中,实体链接程序、实体消歧程序以及关系抽取程序均可以并行处理,大大节省了响应时间。对于某个子执行程序而言,若其与其他执行程序的响应时间和吞吐量有较大差别,可以只修改该子执行程序运行模式,或增加该子执行程序对应的硬件配置,而不需要修改整体系统,节省修复时间和成本。

请参见图6,图6示出了本申请实施例提供的音频数据传输装置的一种具体实施方式,所述装置600包括:

分隔处理模块610,用于利用实体识别程序对接收到的文本信息进行分隔处理,获得多个分句。

标签标注模块620,用于利用所述实体识别程序识别出多个分句中每个分句的至少一个实体,并对所述至少一个实体中的每个实体标注标签,从而获得实体识别结果,所述实体识别结果包括处理后的文本信息、所述至少一个实体以及所述至少一个实体中的每个实体对应的所述标签。

队列存入模块630,用于利用所述实体链接程序对所述实体识别结果进行实体链接处理,并将对应的处理结果存入实体链接消息队列;或利用所述实体消歧程序对所述实体识别结果进行实体消歧处理,并将对应的处理结果存入实体消歧消息队列;或利用所述关系抽取程序对所述实体识别结果进行关系抽取处理,并将对应的处理结果存入关系抽取消息队列。

队列存入模块630还用于对实体识别结果中的多个实体的每个实体,通过相似度计算的方式获得每个实体在知识图谱中对应的多个候选词;利用第一神经网络对每个实体以及每个实体分别对应的多个候选词进行处理,从所述多个候选词中筛选出与对应的实体相似度最高的候选词,所述多个候选词中的相似度最高的候选词作为所述实体的识别结果;建立每个实体与各自对应的识别结果的链接关系。

队列存入模块630还用于将所述实体识别结果输入到第二神经网络;利用所述第二神经网络将所述实体识别结果中的代词替换为对应的实体。

队列存入模块630还用于将所述实体识别结果输入到第三神经网络,所述实体识别结果包括标注第一类标签的至少一个实体和标注第二类标签的至少一个实体;利用所述第三神经网络建立标注第一类标签的至少一个实体与标注第二类标签的至少一个实体的匹配关系。

所述装置还包括:

实体识别存储模块,用于利用所述实体识别程序将实体识别结果存储至实体识别消息队列。

识别结果获取模块,用于利用实体链接程序、实体消歧程序或关系抽取程序从所述实体识别消息队列获得实体识别结果。

信息拼接模块,用于将所述实体识别消息队列、实体链接消息队列、实体消歧消息队列及关系抽取消息队列中的至少两个消息队列的结果信息进行拼接。

本申请实施例提供的知识图谱构建装置与上文中的知识图谱构建方法对应相同,在此便不做赘述。

本申请还提供一种可读存储介质,该可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行方法实施例所述的方法。

本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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