一种支持本体和数据增量更新的知识图谱构建系统及方法技术方案

技术编号:37403885 阅读:13 留言:0更新日期:2023-04-30 09:31
本发明专利技术的一个技术方案是公开了一种支持本体和数据增量更新的知识图谱构建系统。本发明专利技术的另一个技术方案是公开了一种支持本体和数据增量更新的知识图谱构建方法。本发明专利技术支持了图谱本体增量更新,用户只需在图谱管理模块中对图谱本体、绑定的数据进行设计和修改,然后执行图谱构建即可。并且,这个过程只会对发生变化的实体和关系进行局部更新,使得构建过程更加高效。本发明专利技术还支持了图谱数据增量更新,数据源的数据变化,能够通过数据库日志捕获模块及时获取,然后经过消息队列模块,由图谱构建模块处理之后进入到图数据库,保证了下游图数据库数据的实效性。同时,实现了图谱本体增量更新和数据增量更新协同工作。体增量更新和数据增量更新协同工作。体增量更新和数据增量更新协同工作。

【技术实现步骤摘要】
一种支持本体和数据增量更新的知识图谱构建系统及方法


[0001]本专利技术涉及一种同时支持处理知识图谱本体的增量变化和图谱数据的增量变化的知识图谱构建系统及方法,涉及知识图谱构建系统及方法


技术介绍

[0002]知识图谱(Knowledge Graph)以结构化的形式描述客观世界中的概念、实体及关系,将互联网上的信息表达成更接近人类认知的形式,提供了一种更好地组织、管理和理解海量复杂信息的能力。谷歌于2012年提出知识图谱,并将其成功应用于搜索引擎,促使知识图谱在更多的领域、更多的行业中使用。
[0003]知识图谱技术是知识图谱建立和应用的技术,是语义Web、自然语言处理和机器学习等交叉学科。知识图谱技术可以分为三部分:知识图谱构建技术、知识图谱查询与推理和知识图谱应用。工业界围绕知识图谱技术进行系统化、平台化建设可以整体概括为如图1所示数据流。
[0004]首先,利用相关方法进行知识的抽取,可以是利用自然语言处理算法,比如实体抽取、关系抽取、属性抽取等算法,也可以是传统的用户规则程序,将得到的结构化数据存储到数据库中,常用的比如MySQL、MongoDB数据库。
[0005]然后,基于用户的知识图谱本体设计,本体与数据源数据的对应关系,进行知识图谱构建。通过这一步,传统的关系型数据库中的数据就会被作为实体、关系及属性等知识图谱数据,存储到相应的图数据库中,供上层的知识图谱应用查询、分析和展示。
[0006]知识图谱技术在企业的实际落地应用中,特别是金融、电商、公安等领域,构建的知识图谱规模通常都非常大,可以达到十亿实体,几十亿关系,超百亿属性的规模。如此大的规模,要想完成一次知识图谱构建,通常需要花费几十个小时甚至更久的时间。一个构建好的图谱,在实际的使用过程中,会时常随着数据和业务的变化而变化,这种变化包括两种:1. 知识图谱本体的变化:用户可能增加、删除或修改了某些类型的实体和关系,也有可能增加、删除或修改了某种类型实体或关系的属性。比如在一个金融图谱中,用户可能增加了基金类的实体,或者为企业实体增加或删除了注册地址的属性等等。知识图谱本体变化反映到图数据库的问题称为知识图谱本体增量更新。
[0007]2. 知识图谱数据的变化:在一个包含企业实体金融图谱中,因为注册新的企业或者某些企业注销,或者某个企业修改了企业名称、注册地址等等,导致的图数据库中具体实例数据的变化,就是知识图谱数据的变化。知识图谱数据源数据变化反映到图数据库的问题称为知识图谱数据增量更新。
[0008]为了能够更快地将知识图谱本体和数据的变化反映到下游系统,需要知识图谱平台能够支持这两种类型的变化,并且是基于增量的方式处理这两种变化,这样才能保证系统的性能是高效的。现有的知识图谱平台,在处理知识图谱本体和数据变化时,存在以下的问题:
1. 对于知识图谱本体的变化,通常是需要用户基于修改后的新本体进行全量的重构,无法只针对变化的本体或属性的变更自动对图谱进行局部修改;2. 对于知识图谱数据的变化,现有的解决方案只是单纯考虑本体没有发生变化时的处理逻辑,没有结合知识图谱本体变化的解决方案,处理增量数据时,如果不考虑图谱本体的变化,会导致系统运行时出现逻辑错误,进而导致数据上的错误。

技术实现思路

[0009]本专利技术的目的是设计一种支持图谱本体增量更新的构建方法,该构建方法:1)只针对发生变化的本体进行图数据库数据的修改;2)支持数据源数据一旦发生变化,下游图数据库中的数据能同时跟着变化,同时要能够与图谱本体增量更新协同工作,保证系统整体逻辑和相关数据的正确性。
[0010]为了达到上述目的,本专利技术的技术方案是提供了一种支持本体和数据增量更新的知识图谱构建系统,其特征在于,包括:图谱管理模块,用于给用户提供知识图谱的本体设计及数据配置界面;在进行知识图谱构建时,将用户设计的知识图谱的本体及数据配置信息发送给下游的图谱构建模块;图谱构建模块,用于根据接收到的本体和数据配置信息,从数据源中读取全量数据或者从消息队列中读取数据库的增量数据库日志数据,然后将数据写入到下游的图数据库中;图数据库,用于提供图模型数据的存储和查询功能;在图数据库中,原始存储于数据表中的数据被转换为了实体、实体属性、关系及关系属性;数据源模块,作为知识图谱的数据源,数据源支持增量数据库日志,从而能够让数据库日志捕获模块实时获取数据源的变更信息,推送给下游的图谱构建模块;数据库日志捕获模块,用于实时从数据源模块中获取数据变更的数据库日志信息,这些数据库日志描述了数据源中数据发生的增、删、改变化,若发生了删、改,数据库日志还包含删、改之前的原始数据内容;这些数据库日志按照时间的先后顺序发送到消息队列模块;消息队列模块,用于保证数据库日志捕获模块发送的消息和图谱构建模块收到的消息有相同的顺序;实现作为消息生产者的数据库日志捕获模块和作为消息消费者的图谱构建模块的解耦。
[0011]优选地,在所述图谱管理模块中维护着每一个知识图谱的最新版本,不需要进行多版本管理。
[0012]本专利技术的另一个技术方案是提供了一种支持本体和数据增量更新的知识图谱构建方法,基于上述的知识图谱构建系统实现,其特征在于,包括图谱本体增量更新流程以及数据增量更新流程,其中:数据增量更新流程包括以下步骤:数据库日志捕获模块从支持日志的数据源模块中实时获取数据源数据的变更日,然后将这些数据库日志推送到消息队列模块,图谱构建模块订阅消息队列模块上对应数据库的消息,消息的处理逻辑包括如下步骤:
步骤A、为每个知识图谱创建一个独立的线程,用于处理来自消息队列模块的数据库日志数据;步骤B、从消息队列拉取消息M
G
(DB
G
,Table
G
,OP
G
,Data
G
),其中:DB
G
表示消息来自的数据库;Table
G
表示消息来自的数据表;OP
G
表示消息的类型;Data
G
是发生变化的数据本身;步骤C、从当前版本的图谱信息G
current
(S
G
,D
G
)中找到以DB
G
、Table
G
为数据源的所有实体N
current
(S
N
,D
N
)和关系E
current
(S
E
,D
E
) ,其中:S
N
表示实体本体信息,D
N
表示实体的数据配置信息,S
E
表示关系信息,D
E
表示关系的数据配置信息;步骤D、根据N
current
(S
N
,D
N
)和E
current
(S
E
,D
E
),将Data
G
封装为实体本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持本体和数据增量更新的知识图谱构建系统,其特征在于,包括:图谱管理模块,用于给用户提供知识图谱的本体设计及数据配置界面;在进行知识图谱构建时,将用户设计的知识图谱的本体及数据配置信息发送给下游的图谱构建模块;图谱构建模块,用于根据接收到的本体和数据配置信息,从数据源中读取全量数据或者从消息队列中读取数据库的增量数据库日志数据,然后将数据写入到下游的图数据库中;图数据库,用于提供图模型数据的存储和查询功能;在图数据库中,原始存储于数据表中的数据被转换为了实体、实体属性、关系及关系属性;数据源模块,作为知识图谱的数据源,数据源支持增量数据库日志,从而能够让数据库日志捕获模块实时获取数据源的变更信息,推送给下游的图谱构建模块;数据库日志捕获模块,用于实时从数据源模块中获取数据变更的数据库日志信息,这些数据库日志描述了数据源中数据发生的增、删、改变化,若发生了删、改,数据库日志还包含删、改之前的原始数据内容;这些数据库日志按照时间的先后顺序发送到消息队列模块;消息队列模块,用于保证数据库日志捕获模块发送的消息和图谱构建模块收到的消息有相同的顺序;实现作为消息生产者的数据库日志捕获模块和作为消息消费者的图谱构建模块的解耦。2.如权利要求1所述的一种支持本体和数据增量更新的知识图谱构建系统,其特征在于,在所述图谱管理模块中维护着每一个知识图谱的最新版本,不需要进行多版本管理。3.一种支持本体和数据增量更新的知识图谱构建方法,基于权利要求1所述的知识图谱构建系统实现,其特征在于,包括图谱本体增量更新流程以及数据增量更新流程,其中:数据增量更新流程包括以下步骤:数据库日志捕获模块从支持日志的数据源模块中实时获取数据源数据的变更日,然后将这些数据库日志推送到消息队列模块,图谱构建模块订阅消息队列模块上对应数据库的消息,消息的处理逻辑包括如下步骤:步骤A、为每个知识图谱创建一个独立的线程,用于处理来自消息队列模块的数据库日志数据;步骤B、从消息队列拉取消息M
G
(DB
G
,Table
G
,OP
G
,Data
G
),其中:DB
G
表示消息来自的数据库;Table
G
表示消息来自的数据表;OP
G
表示消息的类型;Data
G
是发生变化的数据本身;步骤C、从当前版本的图谱信息G
current (S
G
,D
G
)中找到以DB
G
、Table
G
为数据源的所有实体N
current (S
N
,D
N
)和关系E
current (S
E
,D
E
) ,其中:S
N
表示实体本体信息,D
N
表示实体的数据配置信息,S
E
表示关系信息,D
E
表示关系的数据配置信息;步骤D、根据N
current (S
N
,D
N
)和E
current (S
E
,D
E
),将Data
G
封装为实体实例nodes和关系实例edges;步骤E、根据OP
G
的信息,对实体实例nodes和关系实例edges执行对应的增加、删除和更新操作;在上述步骤A至步骤E执行过程中,若用户在图谱管理模块中完成知识图谱本体的设计并为设计的本体配置数据后,得到了完整图谱配置信息G
new (S
G
,D
G
),其中,S
G
为本体信息集合,D
G
为数据配置信息集合,图谱管理模块将完整图谱配置信息G
new (S
G
,D
G
) 作为图谱构建请求的一部分发送给图谱构建模块,图谱构建模块根据收到的图谱构建请求,从本地查找
同一个知识图谱的当前版本的图谱信息G
current (S
G
,D
G
),图谱构建模块通过比较G
current (S
G
,D
G
)和G
new (S
G
,D
G
),最终得到两个图谱配置信息:G
delete
(S
G
,D
G
)和更新了状态信息的G
new (S
G
,D
G
),其中,G
delete
(S
G
,D
G
)描述了当前图数据库中的哪些数据需要删除;当图谱管理模块获得了G
delete
(S
G
,D
G
)和更新了状态信息的G
new (S
G
,D
G
)后,数据增量更新流程暂停,暂停从消息队列模块中继续接收数据库日志消息,进入图谱本体增量更新流程,更新图数据库,包括以下步骤:基于G
delete
(S
G
,D
G
)的图谱信息,对当前图数据库中的数据执行删除操作;基于G
new
(S
G
,D
G
)对图数据库中的数据执行增加操作,使得最终图数据库中的数据和收到图谱构建请求的G
new
(S
G
,D
G
)保持一致;完成了图谱本体增量更新流程后,再启动数据增量更新流程,开始从消息队列模块接收消息、处理消息。4.如权利要求3所述的一种支持本体和数据增量更新的知识图谱构建方法,其特征在于,在所述步骤B中,消息的类型包括增加、删除、更新,则有:若消息的类型是更新, Data
G
要包含更新前的数据和更新后的数据;若消息的类型是增加,Data
G
只需要包含增加的数据本身;若消息的类型是删除,Data
G
只需要包含删除前的数据。5. 如权利要求3所述的一种支持本体和数据增量更新的知识图谱构建方法,其特征在于,比较G
current (S
G
,D
G
)和G
new (S
G
,D
G
)得到G
delete
(S
G
,D
G
)和更新了状态信息的G
new (S
G
,D
G
)具体包括以下步骤:步骤1、比较G
current (S
G
,D
G
)和G
new (S
G
,D
G
)绑定的数据库是否发生了变化:若绑定的数据库发生了变化,用新的数据库中的数据进行知识图谱的构建过程,则G
delete
(S
G
,D
G
)= G
current (S
G
,D
G
),并且将G
delete
(S
G
,D
G
)的操作类型属性设置为“删除数据库”,然后将G
new (S
G
,D
G
)的操作状态设置为1,表示G
new (S
G
,D
G
)的配置信息还没有被处理,获得更新了状态信息的G
new (S
G
,D
G
);若绑定的数据库没有发生变化,则进入步骤2的实体比较子过程和步骤3的关系比较子过程;步骤2、实体比较子过程:比较G
current (S
G
,D
G
)的实体集合N
current (S
N
,D
N
)和G
new (S
G
,D
G
)的实体集合N
new
(S
N
,D
N
),得到需要执行删除操作的实体信息集合N
delete (S
N
,D
N
)和更新了操作状态的N
new (S
N
,D
N
),其中,N
delete (S
N
,D
N
)属于G
current (S
G
,D
G
),S
N
表示实体信息,D
N
表示实体的数据配置信息;步骤3、关系比较子过程:比较G
current (S
G
,D
G
)的关系集合E
current
(S
N
,D
N
)和G
new (S
G
,D
G
)的关系集合E
new
(S
E
,D
E
),得到需要执行删除操作的关系信息集合E
delete
(S
E
,D
E
)和更新了操作状态的E
new
(S
E
,D
E
),其中,E
delete
(S
E
,D
E
)属于G
delete
(S
G
,D
G
),S
E
表示关系本体信息,D
E
表示关系的数据配置信息。6.如权利要求5所述的一种支持本体和数据增量更新的知识图谱构建方法,其特征在于,所述步骤2包括以下步骤:步骤201、针对实体集合N
current (S
N
,D
N
)中的每个实体node
current
(S
node
,D
node
),检查node
current
(S
node
,D
node
)是否在N
new (S
N
,D
N
)中存在,其中,S
node
表示实体的信息,D
node
表示实体的配置数据信息:
如果不存在,表示node
current
(S
node
,D
node
)需要被删除,直接把其放入到N
delete (S
N
,D
N
)中,并且把node
current
(S
node
,D
node
)的操作类型改为“删除实体”;如果存在,将N
new
(S
N
,D
N
)中与node
current
(S
node
,D
node
)对应的实体表示为node
new
(S
node
,D
node
),进入步骤202比较node
current
(S
node
,D
node
)和node
new
(S
node
,D
node
);步骤202、比较node
current
(S
node
,D
node
)和node
new
(S
node
,D
node
)的数据配置信息:若绑定的数据表发生了变更,等价于实体当前的数据完全被删除,然后加载新的数据表中的数据,写入到图数据库中,此时把node
current
(S
node
,D
node
)放到N
delete (S
N
,D
N
)中,并设置操作类型为“删除实体”,然后把node
new
(S
node
,D
node
)的状态设置为1,表示还未处理;若数据配置信息没有发生变化,进入步骤203比较node
current
(S
node
,D
node
)的属性信息P
current (S
P
,D
P
)和node
new
(S
node
,D
node
)的属性信息P
new (S
P
,D
P
),其中,S
...

【专利技术属性】
技术研发人员:朱悬宁张锐朱贾伟
申请(专利权)人:南京万得资讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1