具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供了一种知识图谱生成任务构建方法的流程图,本实施例可适用于对知识图谱进行拆分构建图谱构建子任务的情况,该方法可以由知识图谱生成任务构建装置来执行,该知识图谱生成任务构建装置可以采用硬件和/或软件的形式实现,该知识图谱生成任务构建装置可配置于电子设备中。如图1所示,本实施例一提供的一种知识图谱生成任务构建方法,具体包括如下步骤:
S110、获取预设知识图谱本体以及知识图谱构建数据源。
在本发明实施例中,预设知识图谱本体可以理解为描述某个特定的业务场景中的事物以及事物之间关系的语义数据模型,预设知识图谱本体可以包括实体、关系和属性等内容。知识图谱构建数据源可以理解为用于构建知识图谱的数据源,知识图谱构建数据源可以包括与实际业务相关的结构化数据、半结构化数据和非结构化数据等。
具体地,可以根据实际业务需求获取相应的预设知识图谱本体以及知识图谱构建数据源,其中,预设知识图谱本体的获取方式可以包括但不限于:用户根据实际业务需求进行人工绘制、采用本体构建工具(如Protege工具等)进行本体绘制、直接采用开源的通用本体数据模型;知识图谱构建数据源的获取方式可以包括但不限于:从与业务相关的开源数据库中获取、从行业内部的业务数据库中获取、从百科类数据源(如百度百科、维基百科等)中获取、使用网络爬虫从网络上抓取。
S120、根据用户配置信息确定预设知识图谱本体与知识图谱构建数据源的映射关系。
在本发明实施例中,用户配置信息可以理解为预先配置的包含预设知识图谱本体与知识图谱构建数据源之间映射关系的信息,用户配置信息中可以包含预设知识图谱本体内的实体与知识图谱构建数据源之间的对应关系、预设知识图谱本体内的关系与知识图谱构建数据源之间的对应关系等信息。映射关系可以理解为预设知识图谱本体与知识图谱构建数据源之间的对应关系,映射关系可以包括预设知识图谱本体内的实体与知识图谱构建数据源之间的映射关系,以及预设知识图谱本体内的关系与知识图谱构建数据源之间的映射关系。
具体地,可以根据预设的用户配置信息去确定预设知识图谱本体与知识图谱构建数据源之间的映射关系,映射关系确定方式可以包括但不限于以下几种:可以根据用户配置信息中的自定义映射关系的配置项,确定预设知识图谱本体与知识图谱构建数据源之间映射关系;可以在用户配置信息中查找预设知识图谱本体中的各实体和关系的属性对应的字段名,与知识图谱构建数据源中的字段名之间的对应关系,进而确定预设知识图谱本体与知识图谱构建数据源之间映射关系。
S130、基于预设知识图谱本体和映射关系确定至少一个计算节点执行的图谱构建子任务。
在本发明实施例中,计算节点可以理解为用于执行图谱构建子任务的计算机及其配套设备,计算节点的数量可以根据实际业务需求和计算资源情况进行相应配置,本发明实施对此不进行限制。图谱构建子任务可以理解为用于构建知识图谱的子任务,图谱构建子任务的数量可以为一个或多个,图谱构建子任务的执行方式可以包括串行执行和并行执行等。
具体地,可以根据预设知识图谱本体和映射关系去构建图谱构建子任务,可以将图谱构建子任务交由计算节点去执行,其中,图谱构建子任务的构建方式可以包括但不限于以下几种:可以将预设知识图谱本体按照计算资源随机拆分成若干个知识图谱子图,根据映射关系确定每个知识图谱子图对应的知识图谱构建数据源,针对属于相同知识图谱子图的知识图谱构建数据源构建图谱构建子任务;可以将预设知识图谱本体按照计算资源以及预设知识图谱本体内的实体和关系数据量,平均拆分成若干个知识图谱子图,根据映射关系确定每个知识图谱子图对应的知识图谱构建数据源,针对属于相同知识图谱子图的知识图谱构建数据源构建图谱构建子任务;可以根据预设知识图谱本体内的实体数据量和关系数据量,并基于预设知识图谱本体与知识图谱构建数据源之间的映射关系,分别构建若干个实体构建子任务和若干个关系构建子任务,将所有的实体构建子任务和关系构建子任务共同作为图谱构建子任务。进一步地,计算节点可以选择串行和/或并行的方式去执行图谱构建子任务。
本发明实施例的技术方案,通过获取预设知识图谱本体以及知识图谱构建数据源,根据用户配置信息确定预设知识图谱本体与知识图谱构建数据源的映射关系,基于预设知识图谱本体和映射关系确定至少一个计算节点执行的图谱构建子任务。本发明实施例通过基于预设知识图谱本体和映射关系将知识图谱构建任务拆分成多个图谱构建子任务,并交由至少一个计算节点去执行,子任务的拆分过程更加简单和灵活,可以提高知识图谱的构建效率和容错率,具有较好的实用性。
实施例二
图2为本发明实施例二提供的一种知识图谱生成任务构建方法的流程图,基于上述实施方式进一步进行优化与扩展,并可以与上述实施方式中各个可选技术方案结合。如图2所示,本实施例二提供的一种知识图谱生成任务构建方法,具体包括如下步骤:
S210、采集预设知识图谱本地的本体绘制数据。
在本发明实施例中,本体绘制数据可以理解为用于绘制知识图谱本体的数据,本体绘制数据可以包括若干个实体和各实体之间的关系等。
具体地,可以采集预设知识图谱本地的本体绘制数据,其中,本体绘制数据的获取方式可以包括但不限于:用户根据业务需求进行人工绘制、采用本体构建工具(如Protege工具等)进行本体绘制、直接采用开源的通用本体数据模型。
S220、按照用户选择信息选择至少一类知识图谱构建数据源。
在本发明实施例中,用户选择信息可以理解为用于选择知识图谱构建数据源的信息,用户选择信息可以包括知识图谱构建数据源的数据库名、数据库地址和Java数据库连接(Java Database Connectivity,JDBC)等信息。
具体地,可以根据预先配置的用户选择信息去选取所需的知识图谱构建数据源,数据源的选择方式可以包括但不限于:用户可以在一个知识图谱构建数据源选择的可视化界面,根据用户选择信息,例如数据库名、数据库地址和JDBC信息等,手动选择一个或多个选择知识图谱构建数据源,进一步地,知识图谱构建数据源可以包括数据规模、数据种类和数据存储方式等属性信息;用户可以根据用户选择信息以及实际业务需求,采用数据库工具自动选择选择一个或多个选择知识图谱构建数据源。
S230、提取用户配置信息内的实体数据源关系对。
在本发明实施例中,实体可以理解为具有可区别性且独立存在的某种事物,示例性地,实体可以包括具体的人、事和物,也可以包括抽象的概念或联系等,实体是知识图谱中最基本的元素。实体数据源关系对可以理解为由实体和数据源之间映射关系组成关系集合,实体数据源关系对可以由预设知识图谱本体内的实体与知识图谱构建数据源之间的映射关系,以及预设知识图谱本体内的关系与知识图谱构建数据源之间的映射关系等进行确定。
具体地,可以从预设的用户配置信息中提取出实体数据源关系对,其中,实体数据源关系对可以由但不限于以下几项进行确定:实体数据—映射关系—数据源、关系数据—映射关系—数据源,此处的映射关系可以包括但不限于:数据库地址映射、字段映射。
S240、按照实体数据源关系为预设知识图谱本体内实体以及关系分别与知识图谱构建数据源建立映射关系。
具体地,可以按照已提取的实体数据源关系对,将知识图谱构建数据源分别与预设知识图谱本体内的实体和关系建立映射关系,其中,实体和关系建立映射关系的方式可以包括但不限于:根据实体数据源关系中的实体数据—映射关系—数据源、关系数据—映射关系—数据源等,例如可以根据实体数据到数据源的映射地址、关系数据到数据源的映射地址,对本体内的各实体和关系分别与知识图谱构建数据源建立映射关系;根据本体内的各实体的属性和关系的属性对应的字段名,分别与知识图谱构建数据源中的字段名之间建立映射关系。
S250、按照预设知识图谱本体内的实体以及关系的数据预估量将预设知识图谱本体划分为至少两个知识图谱子图,其中,各知识图谱子图内实体以及关系的数据预估量相同。
在本发明实施例中,实体以及关系的数据预估量可以理解为用于表征实体数据量和关系数据量的预估值。
具体地,可以按照预设知识图谱本体内的实体以及关系的数据预估量,对预设知识图谱本体进行划分,得到若干个知识图谱子图,每个知识图谱子图都可以理解为一个微型的知识图谱,其中,各知识图谱子图内实体以及关系的数据预估量相同,实体以及关系的数据预估量可以由知识图谱构建数据源的数据量和/或数据存储类型等进行确定。
S260、按照映射关系确定知识图谱子图内的实体以及关系分别对应的知识图谱构建数据源。
具体地,知识图谱子图内的实体以及关系可以根据映射关系,其中,映射关系可以包括但不限于:预设知识图谱本体内的实体与知识图谱构建数据源之间的映射关系、预设知识图谱本体内的关系与知识图谱构建数据源之间的映射关系,可以分别确定与各实体和各关系对应的知识图谱构建数据源。
S270、针对属于相同知识图谱子图的知识图谱构建数据源构建图谱构建子任务。
具体地,可以根据属于相同知识图谱子图的知识图谱构建数据源分别构建对应的图谱构建子任务,其中,每个知识图谱子图分别对应一个图谱构建子任务。
S280、将各图谱构建子任务分配到各计算节点。
具体地,可以将构建完成的每个图谱构建子任务分配给各计算节点进行执行,图谱构建子任务的分配方式可以包括但不限于:若计算资源不足的情况下,可以选择将各图谱构建子任务分配到一个计算节点进行依次执行;若计算资源充足的情况下,可以选择将各图谱构建子任务分配到多个计算节点进行并行执行,提高知识图谱的构建效率。
本发明实施例的技术方案,通过采集预设知识图谱本地的本体绘制数据,按照用户选择信息选择至少一类知识图谱构建数据源,提取用户配置信息内的实体数据源关系对,按照实体数据源关系为预设知识图谱本体内实体以及关系分别与知识图谱构建数据源建立映射关系,按照预设知识图谱本体内的实体以及关系的数据预估量将预设知识图谱本体划分为至少两个知识图谱子图,其中,各知识图谱子图内实体以及关系的数据预估量相同,按照映射关系确定知识图谱子图内的实体以及关系分别对应的知识图谱构建数据源,针对属于相同知识图谱子图的知识图谱构建数据源构建图谱构建子任务,将各图谱构建子任务分配到各计算节点。本发明实施例通过按照预设知识图谱本体内的实体以及关系的数据预估量将预设知识图谱本体划分为若干个知识图谱子图,并基于知识图谱子图构建对应的图谱构建子任务,子任务的构建方式具有较好的灵活性,每个子任务都可以独立地串行或者并行执行,可以提高知识图谱的构建效率,同时可以降低知识图谱构建的容错成本。
进一步地,在上述发明实施例的基础上,还可以包括:
控制计算节点按照图谱构建子任务抽取知识图谱数据;
将知识图谱数据按照预设知识图谱本体存储为知识图谱。
在本发明实施例中,知识图谱数据可以理解为根据映射关系从知识图谱构建数据源中抽取的数据。
具体地,可以控制各计算节点按照构建的图谱构建子任务根据映射关系从知识图谱构建数据源中抽取对应的数据,其中,数据抽取的过程可以包括但不限于:实体抽取、关系抽取、属性抽取,进一步地,可以采用模式匹配方法、统计机器学习方法和深度学习方法等实现数据抽取;可以按照预设知识图谱本体将抽取的相应知识图谱数据存储到预设的数据库中,其中,预设的数据库可以包括但不限于:Neo4j数据库、JanusGraph数据库、HugeGraph数据库。
进一步地,在上述发明实施例的基础上,在将知识图谱数据按照预设知识图谱本体存储为知识图谱之前,还包括:基于预设数据库将知识图谱数据规约为结构化数据。
在本发明实施例中,预设数据库可以理解为预先配置的用于处理并存储知识图谱数据的数据库,预设数据库可以包括MongoDB数据库和HarperDB数据库等。
具体地,在知识图谱构建数据源为非结构化数据和半结构化数据时,其中,非结构化数据可以包括但不限于:电子邮件、WORD、PPT、EXCEL、PDF文档,半结构化数据可以包括但不限于:日志文件、XML文档、JSON文档;可以利用预设数据库对知识图谱构建数据源进行规约并存储为结构化数据,其中,数据规约过程可以包括但不限于:字段创建、集合命名、禁用保留字、索引个数设置,预设数据库可以包括但不限于:MongoDB数据库、HarperDB数据库。
进一步地,在上述发明实施例的基础上,本发明实施例二提供了一种知识图谱的构建方法。图3为本发明实施例二提供的一种知识图谱构建方法的示例图,其中,该方法具体包括如下步骤:
S310、选择构建知识图谱的数据源。
S320、绘制知识图谱的本体,并配置本体与数据源的映射关系。
S330、以关系为基准对本体进行子图拆分,其中,每个子图对应一个子任务。
S340、开始运行构建任务,系统会自动进行子任务调度,并且每个子任务支持单独管理。
S350、子任务根据前面配置的映射关系去抽取相应数据源的数据存入MongoDB数据库,然后在图数据库中创建schema,最后将MongoDB数据库中的中间数据写入图数据库生成子图。
具体地,待全部子任务运行成功后,所有子图的结果就形成了一个完整的知识图谱。
现有知识图谱构建方法大多采用单任务的方式进行构建,如图4所示,其构建思想是把本体看作知识图谱构建的最小单位,该类方法无法小范围运行子图,容错成本较高。本发明实施例采用如图5所示的分批构建方式,可以将一个完整的知识图谱划分为多个子图,每个子图去单独构建,其中,每个子图中都会包括实体与关系数据,子图运行结束就可以基于子图执行各种推理任务,同时遇到失败的子任务单独重跑子任务即可,大幅度降低容错成本,同时子图构建任务可以根据平台计算资源而采用并行执行或者顺序依次执行的方式运行。
本发明实施例提供的知识图谱构建方法可以适用于在计算资源有限的前提下,对知识图谱进行构建的情形。图6为需要构建的知识图谱的本体。图7、图8和图9分别是将图6中的本体以关系为基准进行拆分的3个子图,3个子图可以作为三个子任务去单独运行,需要注意的是在拆分子图的时候,如果子图中包括的有关系,则必须确保此条关系的起点和终点实体数据已经在前面的任务中写入完毕或者在本子任务中写入。因为每条关系的创建都需要确保关系起始点和终点的实体数据已经写入完毕,为了提升拆分效率,本发明实施例以关系为基准对知识图谱进行子图拆分,同时在局部拆分之前,需要对最终生成的知识图谱的数据量进行一个预估,尽量保持每个子图中的数据量均衡。
图10表示的是子图任务单任务执行的一种执行顺序,需要说明的是,由于每个子图任务都是以关系为基准进行配置的,因此不需要考虑写边的时候,实体数据缺失的场景,即每个子图任务的执行顺序是可以被打乱的。由于是基于关系配置的子图,因此会存在多个子图使用同一个实体的情况,为了避免实体数据的重复抽取,在单任务顺序执行子图构建任务的时候,每个实体写入之前都会先去判断该实体是否已经写入了数据,如果存在数据则会跳过该实体数据的抽取。示例性地,基于数据均衡原则,图9中的子图3只划分的一个text实体,chapter、document、customer三个实体的数据已经在前两个子图任务运行的时候写入到了图数据库中,因此在子图3任务运行的时候实际上只会向图数据写入子图中的text实体数据和其他关系数据。同理,图8中的子图2的实体document、label已经在图7中的子图1任务运行的时候写入了图数据库,子图2任务在运行的时候只会写入除了这两个实体之外的实体和关系数据。
图11表示的是分布式并行执行构建子图任务的流程。在一些实施例中,此种以关系为基准进行的子图拆分,如果采用并行任务构建知识图谱的话,需要将每个子图视为一个单独的任务,互不依赖,每个子图构建任务都去抽取一遍实体数据,而不去考虑重复抽取的情况。在子图构建任务执行失败的情况下,可以单独运行该子图构建任务补充数据,不需要重跑整个知识图谱的构建任务。
实施例三
图12为本发明实施例三提供的一种知识图谱生成任务构建方法的流程图,基于上述实施方式进一步进行优化与扩展,并可以与上述实施方式中各个可选技术方案结合。如图12所示,本实施例三提供的一种知识图谱生成任务构建方法,具体包括如下步骤:
S410、采集预设知识图谱本地的本体绘制数据。
S420、按照用户选择信息选择至少一类知识图谱构建数据源。
S430、提取用户配置信息内的实体数据源关系对。
S440、按照实体数据源关系为预设知识图谱本体内实体以及关系分别与知识图谱构建数据源建立映射关系。
S450、提取预设知识图谱本体的实体以及关系。
具体地,可以从预设知识图谱本体中分别提取出包含的若干实体以及关系,其中,提取方式可以包括但不限于:基于光学字符识别(Optical Character Recognition,OCR)的图像识别方法、基于传统机器学习中的图像识别方法、应用较广的基于深度学习神经网络的图像识别方法,具体提取方式本发明实施不进行限制。
S460、按照对应实体的数据预估量划分实体到至少一个实体子类。
在本发明实施例中,实体子类可以理解为将本体中的各实体划分后得到的实体分组,一个实体子类可以包含一个或多个实体。
具体地,可以按照每个实体的数据预估量将本体中的实体划分至若干个实体子类,其中,一个实体子类可以包含一个或多个实体。
S470、按照映射关系确定实体子类内实体对应的知识图谱构建数据源。
具体地,可以将实体子类内的实体按照映射关系确定与之对应的知识图谱构建数据源。
S480、针对属于相同实体子类的知识图谱构建数据源构建实体提取子任务。
具体地,可以根据属于相同实体子类的知识图谱构建数据源去构建若干个实体提取子任务,其中,每个实体提取子任务分别对应一个实体子类。
S490、按照对应关系的数据预估量划分关系到至少一个关系子类。
在本发明实施例中,关系子类可以理解为将本体中的各关系划分后得到的关系分组,一个关系子类可以包含一个或多个关系。
具体地,可以按照每个关系的数据预估量将本体中的关系划分至若干个关系子类,其中,一个关系子类可以包含一个或多个关系。
S4100、按照映射关系确定关系子类内关系对应的知识图谱构建数据源。
具体地,可以将关系子类内的关系按照映射关系确定与之对应的知识图谱构建数据源。
S4110、针对属于相同关系子类的知识图谱构建数据源构建关系提取子任务。
具体地,可以根据属于相同关系子类的知识图谱构建数据源去构建若干个关系提取子任务,其中,每个关系提取子任务分别对应一个关系子类。
S4120、将各实体提取子任务以及关系提取子任务作为图谱构建子任务分配到计算节点。
具体地,可以将构建的各实体提取子任务以及关系提取子任务作为图谱构建子任务,并将图谱构建子任务分配给各计算节点进行执行,进一步地,计算节点的执行方式可以包括但不限于:各图谱构建子任务按照既定顺序串行执行、各图谱构建子任务并行执行。在一些实施例中,将可以先将构建的各实体提取子任务在分布式平台上并行执行,然后再将构建的各关系提取子任务在已得到各实体数据的基础上并行执行。
本发明实施例的技术方案,通过采集预设知识图谱本地的本体绘制数据,按照用户选择信息选择至少一类知识图谱构建数据源,提取用户配置信息内的实体数据源关系对,按照实体数据源关系为预设知识图谱本体内实体以及关系分别与知识图谱构建数据源建立映射关系,提取预设知识图谱本体的实体以及关系,按照对应实体的数据预估量划分实体到至少一个实体子类,按照映射关系确定实体子类内实体对应的知识图谱构建数据源,针对属于相同实体子类的知识图谱构建数据源构建实体提取子任务,按照对应关系的数据预估量划分关系到至少一个关系子类,按照映射关系确定关系子类内关系对应的知识图谱构建数据源,针对属于相同关系子类的知识图谱构建数据源构建关系提取子任务,将各实体提取子任务以及关系提取子任务作为图谱构建子任务分配到计算节点。本发明实施例通过按照实体的数据预估量将实体划分到至少一个实体子类,以及按照关系的数据预估量将关系划分到至少一个关系子类,并基于映射关系和知识图谱构建数据源将实体子类和关系子类确定为对应的实体提取子任务和关系提取子任务,可以根据计算资源将每个子任务进行串行或者并行执行,具有较高的图谱构建方式灵活性,同时可以支持子任务失败后重跑恢复数据,大大降低了知识图谱构建的容错成本,具有较高的图谱构建效率。
进一步地,在上述发明实施例的基础上,本发明实施例三提供了一种知识图谱的构建方法。图13为本发明实施例三提供的一种知识图谱构建方法的示例图,其中,该方法具体包括如下步骤:
S510、选择构建知识图谱的数据源。
S520、绘制知识图谱的本体,并配置本体与数据源的映射关系。
S530、基于实体和关系分别对本体进行子图拆分,先构建实体数据子图构建任务,再构建关系数据子图构建任务。
S540、开始运行构建任务,系统会自动进行子任务调度,并且每个子任务支持单独管理。
S550、子任务根据前面配置的映射关系去抽取相应数据源的数据存入MongoDB数据库,然后在图数据库中创建schema,最后将MongoDB数据库中的中间数据写入图数据库生成子图。
本发明实施例提供的知识图谱构建方法,可以适用于在计算资源充足前提下,对知识图谱进行构建的情形。本发明实施例是将知识图谱中实体与关系的数据分两批写入,每一批中的任务都可以以并行执行的方式进行,而且不存在上述发明实施例中并行执行的情况下重复抽取实体数据的情况,本发明实施例适合利用大数据分布式计算平台的算力,快速地完成对超大规模知识图谱的构建场景。
图14展示的是图6本体中的实体,这些实体是第一个批次构建的目标实体数据。可以根据平台的计算能力将9个实体划分为若干个子图构建任务,多个子图构建任务可以在分布式平台上并行运行如图11,也可以单任务顺序执行如图10。
图6中的关系数据是第二批次构建的目标数据。与第一批次的实体数据抽取一样,可以根据平台的计算能力将17条关系数据分为若干个并行任务,多个子图构建任务可以在分布式平台上并行运行如图11,当然也可以单任务顺序执行如图10,关系的子图拆分结果可以参考图7、图8、图9。
本发明实施例同样支持在子图构建任务执行失败的情况下,可以单独运行该子图构建任务补充数据,不需要重跑整个知识图谱的构建任务。不过需要注意的是,由于实体构建失败导致的关系数据抽取为空,需要先执行成功第一批次中的相应实体子图任务后,才可以运行第二批次中的关系抽取子图构建任务。
实施例四
图15为本发明实施例四提供的一种知识图谱生成任务构建装置的结构示意图。如图15所示,该装置包括:
数据获取模块41,用于获取预设知识图谱本体以及知识图谱构建数据源。
映射确定模块42,用于根据用户配置信息确定预设知识图谱本体与知识图谱构建数据源的映射关系。
任务构建模块43,用于基于预设知识图谱本体和映射关系确定至少一个计算节点执行的图谱构建子任务。
本发明实施例的技术方案,通过数据获取模块获取预设知识图谱本体以及知识图谱构建数据源,映射确定模块根据用户配置信息确定预设知识图谱本体与知识图谱构建数据源的映射关系,任务构建模块基于预设知识图谱本体和映射关系确定至少一个计算节点执行的图谱构建子任务。本发明实施例通过将知识图谱构建任务拆分成多个图谱构建子任务,并交由至少一个计算节点去执行,子任务的拆分过程简单且灵活,每个子任务都可以独立地串行或者并行执行,可以提高知识图谱的构建效率,同时知识图谱的构建过程具有较高的容错率,实用性更高。
进一步地,在上述发明实施例的基础上,数据获取模块41包括:
本体数据采集单元,用于采集预设知识图谱本地的本体绘制数据。
数据源选择单元,用于按照用户选择信息选择至少一类知识图谱构建数据源。
进一步地,在上述发明实施例的基础上,映射确定模块42包括:
关系对提取单元,用于提取用户配置信息内的实体数据源关系对。
映射关系建立单元,用于按照实体数据源关系为预设知识图谱本体内实体以及关系分别与知识图谱构建数据源建立映射关系。
进一步地,在上述发明实施例的基础上,任务构建模块43包括:
本体划分单元,用于按照预设知识图谱本体内的实体以及关系的数据预估量将预设知识图谱本体划分为至少两个知识图谱子图,其中,各知识图谱子图内实体以及关系的数据预估量相同。
第一数据源确定单元,用于按照映射关系确定知识图谱子图内的实体以及关系分别对应的知识图谱构建数据源。
子任务构建单元,用于针对属于相同知识图谱子图的知识图谱构建数据源构建图谱构建子任务。
第一子任务分配单元,用于将各图谱构建子任务分配到各计算节点。
进一步地,在上述发明实施例的基础上,任务构建模块43也可包括:
实体和关系提取单元,用于提取预设知识图谱本体的实体以及关系。
实体子类确定单元,用于按照对应实体的数据预估量划分实体到至少一个实体子类。
第二数据源确定单元,用于按照映射关系确定实体子类内实体对应的知识图谱构建数据源。
实体子任务构建单元,用于针对属于相同实体子类的知识图谱构建数据源构建实体提取子任务。
关系子类确定单元,用于按照对应所述关系的数据预估量划分所述关系到至少一个关系子类。
第三数据源确定单元,用于按照映射关系确定关系子类内关系对应的知识图谱构建数据源。
关系子任务构建单元,用于针对属于相同关系子类的知识图谱构建数据源构建关系提取子任务。
第二子任务分配单元,用于将各实体提取子任务以及关系提取子任务作为图谱构建子任务分配到计算节点。
进一步地,在上述发明实施例的基础上,还可以包括:
数据抽取模块,用于控制计算节点按照图谱构建子任务抽取知识图谱数据。
数据存储模块,用于将知识图谱数据按照预设知识图谱本体存储为知识图谱。
进一步地,在上述发明实施例的基础上,在数据存储模块之前,还可以包括:
数据规约模块,用于基于预设数据库将知识图谱数据规约为结构化数据。
本发明实施例所提供的知识图谱生成任务构建装置可执行本发明任意实施例所提供的知识图谱生成任务构建方法,具备执行方法相应的功能模块和有益效果。
实施例五
图16示出了可以用来实施本发明的实施例的电子设备50的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图16示,电子设备50包括至少一个处理器51,以及与至少一个处理器51通信连接的存储器,如只读存储器(ROM)52、随机访问存储器(RAM)53等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器51可以根据存储在只读存储器(ROM)52中的计算机程序或者从存储单元58加载到随机访问存储器(RAM)53中的计算机程序,来执行各种适当的动作和处理。在RAM 53中,还可存储电子设备50操作所需的各种程序和数据。处理器51、ROM 52以及RAM 53通过总线54彼此相连。输入/输出(I/O)接口55也连接至总线54。
电子设备50中的多个部件连接至I/O接口55,包括:输入单元56,例如键盘、鼠标等;输出单元57,例如各种类型的显示器、扬声器等;存储单元58,例如磁盘、光盘等;以及通信单元59,例如网卡、调制解调器、无线通信收发机等。通信单元59允许电子设备50通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器51可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器51的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器51执行上文所描述的各个方法和处理,例如知识图谱生成任务构建方法。
在一些实施例中,知识图谱生成任务构建方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元58。在一些实施例中,计算机程序的部分或者全部可以经由ROM 52和/或通信单元59而被载入和/或安装到电子设备50上。当计算机程序加载到RAM 53并由处理器51执行时,可以执行上文描述的知识图谱生成任务构建方法的一个或多个步骤。备选地,在其他实施例中,处理器51可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行知识图谱生成任务构建方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。