【技术实现步骤摘要】
一种支持本体和数据增量更新的知识图谱构建系统及方法
[0001]本专利技术涉及一种同时支持处理知识图谱本体的增量变化和图谱数据的增量变化的知识图谱构建系统及方法,涉及知识图谱构建系统及方法
技术介绍
[0002]知识图谱(Knowledge Graph)以结构化的形式描述客观世界中的概念、实体及关系,将互联网上的信息表达成更接近人类认知的形式,提供了一种更好地组织、管理和理解海量复杂信息的能力。谷歌于2012年提出知识图谱,并将其成功应用于搜索引擎,促使知识图谱在更多的领域、更多的行业中使用。
[0003]知识图谱技术是知识图谱建立和应用的技术,是语义Web、自然语言处理和机器学习等交叉学科。知识图谱技术可以分为三部分:知识图谱构建技术、知识图谱查询与推理和知识图谱应用。工业界围绕知识图谱技术进行系统化、平台化建设可以整体概括为如图1所示数据流。
[0004]首先,利用相关方法进行知识的抽取,可以是利用自然语言处理算法,比如实体抽取、关系抽取、属性抽取等算法,也可以是传统的用户规则程序,将得到的结构化数据存储到数据库中,常用的比如MySQL、MongoDB数据库。
[0005]然后,基于用户的知识图谱本体设计,本体与数据源数据的对应关系,进行知识图谱构建。通过这一步,传统的关系型数据库中的数据就会被作为实体、关系及属性等知识图谱数据,存储到相应的图数据库中,供上层的知识图谱应用查询、分析和展示。
[0006]知识图谱技术在企业的实际落地应用中,特别是金融、电商、公安等领域,构 ...
【技术保护点】
【技术特征摘要】
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
...
【专利技术属性】
技术研发人员:朱悬宁,张锐,朱贾伟,
申请(专利权)人:南京万得资讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。