一种扩充知识图谱的方法、电子设备及存储介质与流程

文档序号:23350744发布日期:2020-12-18 16:56阅读:97来源:国知局
一种扩充知识图谱的方法、电子设备及存储介质与流程

本发明实施例涉及知识图谱技术领域,尤其涉及一种扩充知识图谱的方法、电子设备及存储介质。



背景技术:

互联网作为当今最为便捷的信息获取平台,用户通过互联网获取有效信息的需求日益迫切,如何从海量数据中获取有效值的信息成为一个难题,知识图谱由此应运而生。

知识图谱(knowledgegraph,kg)本质上是语义网络,是一种基于图的数据结构,由节点和边组成。在知识图谱里,每个节点表示一个实体,每条边表示实体与实体之间的关系。其中,实体指具有可区别性且独立存在的某种事物,例如某一个人、某一个城市、某一种植物、某一种商品等。知识图谱是关系的最有效的表示方式,旨在描述真实世界中存在的各种实体或概念以及关系。知识图谱通过将数据结构化,输出包括主体(subject)、谓语(property)、客体(object)的三元组(spo)。例如,广州是广东省的省会这一知识,在知识图谱中即可用三元组<广东省,省会,广州>进行表示。

知识图谱被广泛运用于推荐系统、信息检索、智能问答系统等文本处理任务中。然而,知识图谱对某领域存在的实体的覆盖往往是不全面的,知识图谱中收录的实体数量经常小于现实某领域中实际存在的实体数,因此,需要不断地扩充知识图谱。现有技术中,通常分开定义关系集合和实体对集合,即将schema构建、实体识别、关系抽取等流程分开处理,每次进行三元组抽取的时候都要重复性地执行两两之间的连接,不能实现自动抽取三元组并添加。



技术实现要素:

本发明实施例的主要目的是提供一种扩充知识图谱的方法、电子设备及存储介质,能通过某领域的关键词自动扩充知识图谱的三元组。

为解决上述技术问题,第一方面,本发明实施例中提供给了一种扩充知识图谱的方法,包括:

获取关键词;

根据所述关键词,在预设数据库中查找出所述关键词所在的本体,所述本体包括与所述关键词相关的上位类别和与所述关键词相关的下位类别,所述上位类别下的一实体和所述下位类别下的一实体构成一个所述本体中的实体对;

根据所述关键词所在的本体和知识图谱,获取待处理文本数据中的第一类语句和第二类语句,其中,所述第一类语句中的实体对为所述本体中的实体对,且所述第一类语句中的实体对存在于所述知识图谱中,所述第二类语句中的实体对为所述本体中的实体对,但所述第二类语句的实体对未存在于所述知识图谱中;

根据所述知识图谱,对所述第一类语句标注第一三元组,所述第一三元组包括所述第一类语句中的实体对以及所述第一类语句中的实体对中的两个实体之间的关系;

利用标注有所述第一三元组的第一类语句进行训练,以学习所述第一类语句与所述第一三元组之间的关联关系,得到关系识别模型;

利用所述关系识别模型识别所述第二类语句,确定所述第二类语句对应的第二三元组;

将所述第二三元组添加至所述知识图谱。

在一些实施例中,所述根据所述关键词,在预设数据库中查找出所述关键词所在的本体,包括:

获取所述关键词的类别;

根据所述关键词的类别,获取所述关键词的类别的上位类别,和/或,所述关键词的类别的下位类别;

分别获取所述关键词的类别的上位类别下的至少一个实体和所述关键词的类别下的至少一个实体,和/或,所述关键词的类别的下位类别下的至少一个实体和所述关键词的类别下的至少一个实体;

将所述关键词的类别下的一实体和所述关键词的类别的上位类别下的一实体构成所述本体中的一实体对,和/或,将所述关键词的类别下的一实体和所述关键词的类别的下位类别下的一实体构成所述本体中的一实体对。

在一些实施例中,所述根据所述关键词所在的本体和所述知识图谱,获取待处理文本数据中的第一类语句和第二类语句,包括:

遍历所述本体,获取所述本体中的各个实体对;

遍历所述待处理文本数据中的每一个语句;

如果目标语句中包含目标实体对对应的两个实体,且所述目标实体对存在于所述知识图谱中,则确定所述目标语句为第一类语句,所述目标语句为待处理文本数据中的任一语句,所述目标实体对为所述本体中的任一实体对;

如果所述目标语句中包含目标实体对对应的两个实体,且所述目标实体对未存在于所述知识图谱中,则确定所述目标语句为第二类语句

在一些实施例中,所述根据所述知识图谱,对所述第一类语句标注第一三元组,包括:

根据所述目标实体对,在所述知识图谱中查找所述目标实体对对应的三元组;

利用所述目标实体对对应的三元组标注所述第一类语句。

在一些实施例中,所述对所述标注有所述第一三元组的第一类语句进行训练,以学习所述第一类语句与所述第一三元组之间的关联关系,得到关系识别模型,包括:

对所述第一类语句进行第一特征处理,获取特征向量样本,所述特征向量样本对应的标签为所述第一三元组中的关系;

对所述特征向量样本以及所述特征向量样本对应的标签进行训练,以学习所述第一类语句与所述第一三元组之间的关联关系,得到关系识别模型。

在一些实施例中,所述对所述第一类语句进行第一特征处理,获取特征向量样本,包括:

根据所述第一三元组,获取所述第一三元组对应的至少一个第三类语句,所述第三类语句包括所述第一三元组对应的两个实体;

对所述至少一个第三类语句进行第二特征处理,分别获取所述至少一个第三类语句各自对应的子特征向量;

组合所述子特征向量获得所述特征向量样本。

在一些实施例中,所述组合所述子特征向量获得所述特征向量样本,包括:

根据所述预设数据库,获取所述第一三元组对应的两个实体的类别之间的关系;

如果所述第一三元组对应的两个实体的类别之间的关系至少存在两种,则确定所述特征向量样本为所述子特征向量的加权和;

如果所述第一三元组对应的两个实体的类别之间的关系有且只有一种,则确定所述特征向量样本为所述子特征向量的平均值。

在一些实施例中,在所述将所述第二三元组添加至所述知识图谱的步骤之前,还包括:对所述第二三元组进行校对。

为解决上述技术问题,第二方面,本发明实施例中提供给了一种电子设备,包括:

至少一个处理器,以及

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

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上第一方面所述的方法。

为解决上述技术问题,第三方面,本发明实施例中提供给了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使电子设备执行如上第一方面所述的方法。

本发明实施例的有益效果:区别于现有技术的情况,本发明实施例提供的扩充知识图谱的方法,获取关键词,在预设数据库中查找出所述关键词所在的本体,根据所述关键词所在的本体和所述知识图谱,获取待处理文本数据中的第一类语句和第二类语句,根据所述知识图谱,对所述第一类语句标注对应的第一三元组,利用标注有所述第一三元组的第一类语句进行训练,以学习所述第一类语句与所述第一三元组之间的关联关系,得到关系识别模型,利用所述关系识别模型识别所述第二类语句,确定所述第二类语句对应的第二三元组,最后,将所述第二类语句对应的第二三元组添加至所述知识图谱。也即,能通过某领域的关键词,自动抽取该领域下的三元组,添加至所述知识图谱中,以扩充所述知识图谱。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1为本发明实施例提供的用于扩充知识图谱的方法的运行环境示意图;

图2为本发明其中一实施例提供的一种电子设备的结构示意图;

图3为本发明其中一实施例提供的一种扩充知识图谱的方法的流程示意图;

图4为本发明其中一实施例提供的本体的结构示意图;

图5为图3所示方法中步骤s22的一子流程示意图;

图6为图3所示方法中步骤s23的一子流程示意图;

图7为图3所示方法中步骤s24的一子流程示意图;

图8为图3所示方法中步骤s25的一子流程示意图;

图9为图8所示方法中步骤s251的一子流程示意图;

图10为图9所示方法中步骤s2513的一子流程示意图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。

除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。

此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

图1是本发明实施例提供的用于扩充知识图谱的方法的运行环境示意图。请参照图1,所述电子设备10与服务器20建立网络连接,电子设备10从服务器20获取知识图谱、结构化数据库和文本数据,根据所述结构化数据库和文本数据对该知识图谱10进行扩充,或者,由服务器20自己对知识图谱进行扩充。本发明实施例并不限制知识图谱的来源,其可以是基于百科数据构建的通用的知识图谱,也可以是某垂直领域的知识图谱。

下面,在上述图1的基础上,以电子设备10对所述知识图谱进行扩充为例,本发明的其它实施例提供一种电子设备10,请参阅图2,图2为本发明实施例提供的一种电子设备的硬件结构图,其中,所述电子设备可以是任何类型、具有运算能力的电子设备,例如:智能手机、计算机、掌上电脑(personaldigitalassistant,pda)、平板电脑、智能手表、电子书等等。其支持的操作系统包括:unix系统、linux系统、macosx系统、windows系统、ios系统、android系统、wp系统、chromeos系统等等。

具体的,如图2所示,所述电子设备包括通信连接的至少一个处理器11和存储器12(图2中以总线连接、一个处理器为例)。

其中,所述处理器11用于提供计算和控制能力,以控制电子设备10执行相应任务,例如,控制所述电子设备10执行下述发明实施例提供的任意一种扩充知识图谱的方法。

可以理解的是,所述处理器11可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

所述存储器12作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本发明实施例中的扩充知识图谱的方法对应的程序指令/模块。所述处理器11通过运行存储在存储器12中的非暂态软件程序、指令以及模块,可以实现下述任一方法实施例中的扩充知识图谱的方法。具体地,所述存储器12可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器12还可以包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

在一些实施例中,所述电子设备10还包括显示装置(图未示),所述显示装置用于显示用户输入的关键词,或,显示所述扩充知识图谱的方法中输出的需要添加的三元组,以方便校对。可以理解的是,当所述显示装置包括可触摸显示屏时,用户可以直接通过触摸操作电子设备中的虚拟键盘进行输入操作。

以下,对本发明实施例所述的扩充知识图谱的方法进行详细说明,请参阅图3,所述方法s20包括但不限制于以下步骤:

s21:获取关键词。

所述关键词可以是输入所述电子设备中的某个领域的名词,能指代客观存在并可相互区别的事物,例如:苹果,桌子等。

s22:根据所述关键词,在预设数据库中查找出所述关键词所在的本体,所述本体包括与所述关键词相关的上位类别和与所述关键词相关的下位类别,所述上位类别下的一实体和所述下位类别下的一实体构成一个所述本体中的实体对。

所述预设数据库为预先获取的结构化数据库,例如,可以是freebase或wiki_data等百科类数据库,也可以是其它开源的结构化数据库,还可以是已构建好的某垂直领域的数据库。在此,不对所述预设数据库的来源做任何限制,为结构化数据库即可。

所述预设数据库包括至少一个本体。本体是指一种形式化的、对于共享概念体系的明确而又详细的说明,本体包括类别以及类别之间的关系等要素,一所述类别包括至少一个实体。所述类别可以理解为包含同一类实体的集合,是所包含的实体的上位概念。例如,类别“水果”包括了领域中所有的属于水果的实体,例如类别“水果”包括了苹果、梨、香蕉等。所述类别之间的关系,即为各类别下的实体之间可能存在的关系,例如所述水果类别和所述疾病类别的关系有抑制和导致,则苹果和高血压的关系可能为抑制和导致中的其中一种,同理,葡萄和低血糖的关系可能为抑制和导致中的其中一种。

基于所述本体的层级结构,所述类别之间存在上位结构或下位结构。例如,如图4所示,所述本体包括水果类别和疾病类别,疾病类别位于水果类别的上位,水果类别位于所述疾病类别的下位。

当获取到所述关键词后,在所述预设数据库中遍历搜索出与所述关键词对应的实体(即实体为所述关键词)。在一些实施例中,可通过字符串匹配算法对所述预设数据库进行遍历,搜索出所述关键词对应的实体。结合所述预设数据库中的所述本体的层级结构,从而,可获取所述关键词所在的本体。所述关键词所在的本体包括与所述关键词相关的上位类别和与所述关键词相关的下位类别。其中,与所述关键词相关的上位类别为位于所述关键词的类别的上位的类别,与所述关键词相关的下位类别为位于所述关键词的类别的下位的类别。

所述上位类别下的一实体和所述下位类别下的一实体构成一个所述本体的实体对。例如,如图4中所示的本体中,水果和疾病为类别,水果为疾病的下位类别,所述水果类别下的实体集为[苹果,梨,香蕉......橘子,葡萄],所述疾病类别下的实体集为[高血压,糖尿病,胃寒......牙痛,咳嗽],则所述本体中的实体对为所述实体集[苹果,梨,香蕉......橘子,葡萄]中的任一个实体和所述实体集[高血压,糖尿病,胃寒......牙痛,咳嗽]中的任一个实体的组合。

s23:根据所述关键词所在的本体和知识图谱,获取待处理文本数据中的第一类语句和第二类语句。

所述待处理文本数据为一种非结构化文本数据,可以是从互联网中爬取的文本数据或业务文本数据,也可以是电子书里的文章或新闻等。为了使得所述知识图谱能覆盖到相应领域更多的实体,通过从非结构化文本数据(待处理文本数据)中提取属于某领域的实体,并将知识图谱未能覆盖的属于相应领域的实体补充到所述知识图谱中。

为了获取属于所述知识图谱领域的实体,首先对所述待处理文本中的语句进行筛选,筛选出包括上述属于所述知识图谱领域的实体的语句。也即,根据所述关键词所在的本体和所述知识图谱,获取待处理文本数据中的第一类语句和第二类语句。

其中,所述第一类语句中的实体对为所述本体中的实体对,且所述第一类语句中的实体对存在于所述知识图谱中,所述第二类语句中的实体对为所述本体中的实体对,且所述第二类语句中的实体对不存在于所述知识图谱中。也即,所述第一类语句中的实体对的两实体和所述第二类语句中的实体对的两实体均为所述知识图谱领域下的实体,所述第一类语句中的实体对的两实体已被收集于所述知识图谱中,所述第二类语句中的实体对的两实体未被收集于所述知识图谱中,即所述第二类语句中的实体对是所述知识图谱未覆盖到的实体。

s24:根据所述知识图谱,对所述第一类语句标注第一三元组。

其中,所述第一三元组包括所述第一类语句中的实体对以及所述第一类语句中的实体对中的两个实体之间的关系。

所述第一三元组用于表征所述第一类语句中的实体对以及实体对的关系,例如,以所述第一类语句中的语句x1“苹果可以抑制高血压”为例,则所述语句x1的实体对为“苹果”和“高血压”,所述语句x1的实体对关系为“抑制”,从而,所述语句x1对应的三元组为<苹果,抑制,高血压>。

由于所述第一类语句中的实体对已被收集于所述知识图谱中。也即,所述第一类语句中的实体对的关系也可以从所述知识图谱中获取。从而,可根据所述知识图谱,对所述第一类语句标注所述第一三元组。可理解的是,所述标注即为数据分析领域中的打标签。

s25:利用标注有所述第一三元组的第一类语句进行训练,以学习所述第一类语句与所述第一三元组之间的关联关系,得到关系识别模型。

通过上述筛选和标注,得到标注有所述第一三元组的第一类语句,如表1中所示,所述第一类语句包括n个语句,每个语句各自标注有对应的第一三元组。从而,可以提取所述第一类语句的特征,并根据所述第一类语句的特征及对应的第一三元组,学习所述第一类语句与所述第一三元组之间的关联关系,训练出能识别语句中的实体对中两个实体之间的关系的关系识别模型。也即,由已知三元组的第一类语句进行训练,得到能够识别其它语句中的实体对中两个实体对之间的关系的关系识别模型。

表1标注有第一三元组的第一类语句列表

值得说明的是,上述表1中的第一类语句和对应的第一三元组,仅仅是示例性说明,不构成对语句和三元组的限制。

s26:利用所述关系识别模型识别所述第二类语句,确定所述第二类语句对应的第二三元组。

为了获取所述第二类语句中的实体对的两个实体的关系,可将从所述第二类语句中提取的特征,输入所述关系识别模型,实际上是将所述第二类语句中的实体对对应的特征输入所述关系识别模型,从而所述关系识别模型预测出所述第二类语句中的实体对中的两个实体的关系,最后,将所述第二类语句中的实体对中的两个实体和所述预测出的关系封装成一个第二三元组,即确定了所述第二类语句对应的第二三元组。值得说明的是,所述第二类语句的特征提取方式与所述第一类语句的特征提取方式相同。

例如,所述第二类语句t1“食用葡萄后低血糖消失了”,提取第二类语句t1的特征,抽取所述第二类语句t1中的实体对为“葡萄”和“低血糖”,将上述第二类语句t1的特征输入所述关系识别模型,输出的预测关系为“抑制”,将所述实体对(“葡萄”和“低血糖”)和所述预测关系(“抑制”)进行封装,得到所述第二类语句对应的第二三元组<葡萄,抑制,低血糖>。

s27:将所述第二三元组添加至所述知识图谱。

所述第二类语句中的实体对中的两个实体的至少其中一个未收集于所述知识图谱中,例所述知识图谱未覆盖上述葡萄和/或低血糖。当确定所述第二类语句中的实体对中的两个实体的关系后,得到所述第二类语句对应的第二三元组,将所述第二三元组添加至所述知识图谱,从而,使得所述知识图谱得以扩充。

可以理解的是,在所述步骤s27之前还包括:对所述第二三元组进行校对。具体的,可将所述第二三元组可视化展示,由人工进行校对。在其它实施例中,还可以计算所述第二三元组的置信度,选择置信度大于预设阈值的第二三元组进行添加。

在本实施例中,通过某领域的关键词,结合结构化的预设数据库,获取该领域下的实体对集合,再通过所述实体对集合、所述知识图谱和待处理文本数据,获取待处理文本数据中语句对应的三元组,最后,将未收集于所述知识图谱中的三元组添加至所述知识图谱中。从而,可以实现自动抽取该领域下的三元组,添加至所述知识图谱中,以扩充所述知识图谱。

在一些实施例中,请参阅图5,所述步骤s22具体包括:

s221:获取所述关键词的类别。

所述本体中的每个实体对应一个类别,所述类别相当于所述关键词的上位实体。例如,当所述关键词为苹果时,对应的类别为水果。从而,基于所述本体的层级结构,即可根据所述关键词,获取所述关键词的类别。

s222:根据所述关键词的类别,获取所述关键词的类别的上位类别,和/或,所述关键词的类别的下位类别。

由上可知,本体中的类别存在上位结构和下位结构,位于所述类别的上位的类别为上位类别,位于所述类别的下位的类别为下位类别,从而,在获取所述关键词的类别后,可获取所述关键词的类别的上位类别和/或所述关键词的类别的下位类别。

请再次参阅图4所示,例如,在所述本体中,当获取的关键词为苹果时,根据所述本体的结构,反向遍历所述本体,获取所述关键词(苹果)的类别为水果,进而,获取所述类别的上位类别为疾病。

s223:分别获取所述关键词的类别的上位类别下的至少一个实体和所述关键词的类别下的至少一个实体,和/或,所述关键词的类别的下位类别下的至少一个实体和所述关键词的类别下的至少一个实体。

s224:将所述关键词的类别下的一实体和所述关键词的类别的上位类别下的一实体构成所述本体中的一实体对,和/或,将所述关键词的类别下的一实体和所述关键词的类别的下位类别下的一实体构成所述本体中的一实体对。

例如,所述关键词为苹果,所述关键词的类别为水果,所述关键词的类别的上位类别为疾病,所述水果的实体集为[苹果,梨,香蕉......橘子,葡萄],所述疾病的实体集为[高血压,糖尿病,胃寒......牙痛,咳嗽]。将所述实体集[苹果,梨,香蕉......橘子,葡萄]中的一实体与所述实体集[高血压,糖尿病,胃寒......牙痛,咳嗽]中的一实体任意组合,构成所述本体中的一实体对。从而,可基于所述预设数据库,获取所述关键词所在领域下的实体对。

可以理解的是,当所述关键词为高血压时,所述关键词的类别的下位类别为水果,按照上述方式,在此获取的是所述关键词的类别的下位类别下的至少一个实体和所述关键词的类别下的至少一个实体,所述关键词的类别下的一实体和所述关键词的类别的下位类别下的一实体构成所述本体中的一实体对。具体的构建方式与上述例子中相同,在此不再赘述。

可以理解的是,当所述本体的层级结构有3层或大于3层时,所述关键词的类别有上位类别和下位类别,则所述本体的实体对可以包括:(1)所述关键词的类别下的一实体和所述关键词的类别的上位类别下的一实体构成所述本体中的一实体对;(2)将所述关键词的类别下的一实体和所述关键词的类别的下位类别下的一实体构成所述本体中的一实体对。

在本实施例中,通过所述关键词的类别以及所述关键词的类别的上位类别和/或下位类别,即可更加准确地获取所述关键词所在领域下的实体对。

在一些实施例中,请参阅图6,所述步骤s23具体包括:

s231:遍历所述本体,获取所述本体中的各个实体对。

s232:遍历所述待处理文本数据中的每一个语句。

s233:如果目标语句中包含目标实体对对应的两个实体,且所述目标实体对存在于所述知识图谱中,则确定所述目标语句为第一类语句,所述目标语句为待处理文本数据中的任一语句,所述目标实体对为所述本体中的任一实体对。

s234:如果所述目标语句中包含目标实体对对应的两个实体,且所述目标实体对未存在于所述知识图谱中,则确定所述目标语句为第二类语句。

遍历所述本体,将所述关键词类别下的实体与所述关键词类别的上位类别下的实体进行两两组合,和/或,将所述关键词类别下的实体与所述关键词类别的下位类别下的实体进行两两组合,即可获取所述本体中的各个实体对。

为了抽取所述待处理文件数据中的每一个语句的实体对,遍历所述待处理文本数据中的每一个语句,可以通过crf++等现有可识别实体的工具抽取所述语句中的实体对,当然,若所述语句中无法抽取出实体对时,则将此语句排除,不再考虑。然后对抽取到的实体对进行对比分析,即与所述本体中的实体对和所述知识图谱中的实体对进行对比分析。可以理解的是,可通过字符串匹配算法对所述抽取到的语句中的实体对进行对比分析。

具体的,将所述待处理文本数据中的任一语句作为目标语句,将所述本体中的任一实体对作为目标实体对。如果目标语句中包含目标实体对对应的两个实体,且所述目标实体对存在与所述知识图谱中,则确定所述目标语句为第一类语句。即,若所述目标语句中出现了所述本体中的实体对,但所述目标语句中出现的实体对已被收集于所述知识图谱中时,则将所述目标语句确定为所述第一类语句。

如果所述目标语句中包含目标实体对对应的两个实体,且所述目标实体对未存在与所述知识图谱中,则确定所述目标语句为第二类语句。即,若所述目标语句中出现了所述本体中的实体对,但所述目标语句中出现的实体对未被收集于所述知识图谱中时,则将所述目标语句确定为所述第二类语句。

也即,所述第一类语句中的实体对和所述第二类语句中的实体对均为所述知识图谱领域下的实体对,所述第一类语句中的实体对已被收集于所述知识图谱中,所述第二类语句中的实体对未收集于所述知识图谱中。

在一些实施例中,请参阅图7,所述步骤s24具体包括:

s241:根据所述目标实体对,在所述知识图谱中查找所述目标实体对对应的三元组。

s242:利用所述目标实体对对应的三元组标注所述第一类语句。

所述目标实体对对应的三元组为包括所述目标实体对的三元组,例如,目标实体对为“苹果”和“心脑血管病”,所述目标实体对对应的三元组为<苹果,抑制,心脑血管病>。

遍历所述知识图谱中的三元组,在所述知识图谱中查找出包括所述目标实体对的三元组,即所述目标实体对对应的三元组。

利用所述目标实体对对应的三元组标注所述第一类语句,例如,当所述目标实体对为“苹果”和“心脑血管病”时,若所述知识图谱中出现了<苹果,抑制,心脑血管病>,则将所述三元组<苹果,抑制,心脑血管病>标注为所述第一类语句对应的第一三元组。

在此实施例中,通过所述知识图谱,确定所述第一类语句中的实体对中两个实体的关系,相当于对所述待处理文本数据中的第一类句子标注了关系标签,即对样本进行了自动标注,一方面,无需人工标注样本,节约成本,另一方面,可将实体识别、关系抽取一次完成,无需预先定义关系集合和实体对集合。此外,因为所述第一类语句和所述第二类语句中的实体均属于上述关键词所在的本体中的实体,从而也无需预先定义实体抽取的模式,即无需预先定义抽取哪些类别的实体,从而,可以连接数据库构建、实体抽取、关系抽取等过程,实现自动化抽取待处理文本中的三元组。

在一些实施例中,请参阅图8,所述步骤s25具体包括:

s251:对所述第一类语句进行第一特征处理,获取特征向量样本,所述特征向量样本对应的标签为所述第一三元组中的关系。

s252:对所述特征向量样本以及所述所述特征向量样本对应的标签进行训练,以学习所述第一类语句与所述第一三元组之间的关联关系,得到所述关系识别模型。

由于算法学习是针对数值型数据进行训练,而所述第一类语句为文本数据,因此,首先需要对所述第一类语句进行第一特征处理,得到数值化的特征向量样本。其中,所述第一特征处理用于将文本数据转外为数值型的特征向量样本,包括特征提取、特征选择和特征构建这三个方面的数据处理,例如所述第一特征处理可以是通过常用的词袋模型将第一类语句(文本数据)以预设的方式转外为数值型的数据,再进行特征选择和特征构建,以获取特征向量样本。可以理解的是,所述特征选择即为选择出相关特征(和标签相关的特征),舍弃干扰特征(和标签无关的特征),所述特征构建为将相关特征进行重新构建,例如,将相关特征b1和b2进行相应的运算后构建一个新的特征。

所述特征向量样本对应的标签为所述第一三元组中的关系。例如,所述第一类语句x1“苹果可帮助高血压患者降低血压”,其标注的第一三元组为<苹果,抑制,高血压>,其特征向量样本为x1,则其标签为“抑制”。

在获取若干个特征向量样本和若干个特征向量样本对应的标签后,以若干个标注标签的所述特征向量样本为训练集,以预设算法进行训练,从而,可以得到关系识别模型。例如,将特征向量样本[x1,x2......xn]及对应的标签[y1,y2......yn]通过boostraping算法、多实施例学习的boostraping算法或基于注意力机制的远程监督算法进行训练,得到训练好的关系识别模型。

可以理解的是,所述第一类语句中某实体对的关系可能有多种,并不完全是知识图谱中的关系,例如,如图4所示的本体中水果类别和疾病类别的关系可能有“抑制”或“导致”,若所述知识图谱中苹果和高血压的关系为“抑制”,如果将“抑制”标注为第一类语句中苹果和高血压的关系则可能会出现标注错误,存在语义漂移,因为有同样实体对的第一类语句可能有多种关系。为了降低标注错误对关系识别模型的影响,在一些实施例中,请参阅图9,所述步骤s251具体包括(也即所述第一特征处理具体包括):

s2511:根据所述第一三元组,获取所述第一三元组对应的至少一个第三类语句,所述第三类语句包括所述第一三元组对应的两个实体。

s2512:对所述至少一个第三类语句进行第二特征处理,分别获取所述至少一个第三类语句各自对应的子特征向量。

s2513:组合所述子特征向量获得所述特征向量样本。

所述第三类语句为所述第一类语句中对应同一个第一三元组的语句,例如,上述表1中,标号为x1、x2和x3的第一类语句标注有相同的第一三元组<苹果,抑制,高血压>,则所述标号为x1、x2和x3的第一类语句即为第三类语句。

在此实施例中,所述特征向量样本不是单个第三类语句的子特征向量,而是由多个标注有相同的第一三元组的第三类语句的子特征向量组合而成的。具体的,从多个标注有相同的第一三元组的第三类语句中的每个句子中通过现有的句子编码器抽取词法特征、句法特征和实体特征(即第二特征处理),拼接成单个第三类语句的子特征向量,然后,将多个标注有相同的第一三元组的第三类语句的子特征向量组合,得到某第一三元组(一个样本)的特征向量。例如,首先对标注有相同的第一三元组的第三类语句x1、x2和x3进行第二特征处理,得到x1的子特征向量a1,x2的子特征向量a2,x3的子特征向量a3,在将子特征向量a1,a2和a3组合成一个特征向量样本x1,所述特征向量样本x1即为所述第一三元组<苹果,抑制,高血压>对应的特征向量样本。

在此实施例中,实际上是将所述第一三元组作为样本,所述特征向量样本是多个标注有相同的第一三元组的第三类语句的子特征向量组合而成的,是综合多个句子的特征,可以消除噪音数据的影响,从而,可以降低标注错误对关系识别模型的影响,提高关系识别模型的准确率。

进一步的,在一些实施例中,采用基于注意力的神经网络去获取所述特征向量样本,请参阅图10,所述步骤s2513具体包括:

s25131:根据所述预设数据库,获取所述第一三元组对应的两个实体的类别之间的关系。

s25132:如果所述第一三元组对应的两个实体的类别之间的关系至少存在两种,则确定所述特征向量样本为所述子特征向量的加权和。

s25133:如果第一三元组对应的两个实体的类别之间的关系有且只有一种,则确定所述特征向量样本为所述子特征向量的平均值。

例如,所述第一三元组对应的两个实体为“苹果”和“高血压”,“苹果”的类别为“水果”,“高血压”类别为“疾病”,当“疾病”与“水果”的关系有抑制和导致时,则表1中,所述第三类语句x1、x2和x3对应的特征向量样本为a1、a2和a3的加权和。其中,a1、a2和a3的权重是根据子特征向量和关系标签的匹配度而确定的,所述权重可由现有的基于注意力的神经网络计算得出,例如由论文《neuralrelationextractionwithselectiveattentionoverinstances》中的基于注意力的远程监督算法计算得出。

当“疾病”与“水果”的关系只有1种(例如只有“抑制”)时,则表1中,所述第三类语句x1、x2和x3对应特征向量样本为a1、a2和a3的平均值。

在此实施例中,根据所述第一三元组对应的两个实体的类别之间的关系,确定子特征向量的组合形式,当所述第一三元组对应的两个实体的类别之间的关系至少存在两种时,采用基于注意力的加权算法,获得特征向量样本,从而,使得特征向量样本更为准确,降低了标注错误对关系识别模型的影响。

值得注意的是,在所述步骤s26中,同样以上述第一特征处理的方式对所述第二类语句进行特征处理,获得第二类语句相应的特征向量,然后将第二类语句相应的特征向量输入所述关系识别模型,预测出所述第二类语句中的实体对中两个实体的关系,从而,将所述第二类语句中的实体对中两个实体的关系以及实体对封装成对应的第二三元组。

综上所述,本申请通过某领域的关键词,结合结构化的预设数据库,获取该领域下的实体集合,再通过所述实体集合、所述知识图谱和待处理文本数据,获取待处理文本数据中的三元组,最后,将未收集于所述知识图谱中的第二三元组添加至所述知识图谱中。从而,可以实现自动抽取该领域下的三元组,添加至所述知识图谱中,以扩充所述知识图谱。

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

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现扩充知识图谱的装置,当然也可以通过硬件实现。并且,由于装置执行的扩充知识图谱的方法与上述各个实施例所述的扩充知识图谱的方法一样,在内容不互相冲突下,装置执行的扩充知识图谱的方法的实施例可以引用上述各个实施例的内容,在此不赘述。

本发明其中一实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使电子设备执行,例如,执行以上描述的图3-图10中的方法。

本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的扩充知识图谱的方法,例如,执行以上描述的图3-图10中方法步骤。

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

通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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