一种基于模式匹配的知识图谱检索方法与系统

文档序号:37448929发布日期:2024-03-28 18:32阅读:12来源:国知局
一种基于模式匹配的知识图谱检索方法与系统

本发明涉及知识图谱检索领域,具体涉及一种基于模式匹配的知识图谱检索方法与系统。


背景技术:

1、随着工业物联网、云计算和大数据等技术的迅猛发展,大数据时代已到来,数据呈现出高量、多样、低价值密度、高速、高时效等特点。在这一背景下,有效地从海量信息中提取有价值信息至关重要,因此知识图谱应运而生。知识图谱是一种以图模型描述知识和物体关系的技术,由节点和边构成,能结构化地表达人类知识,解决数据语义融合问题。本发明关注知识图谱中的非结构化查询方式,其中关键词和自然语言查询方式具有直接性,但存在表达限制、语义映射困难等问题。特别是在领域知识图谱中,查询更为复杂,需求对领域知识有高要求。为解决这些问题,本研究关注智能、灵活、用户友好的领域知识图谱查询方式,以满足复杂需求并挖掘深层知识。此外,知识图谱可视化技术得到迅速发展,为辅助查询提供图形化支持。当前主流的查询方式难以满足复杂需求,因此需要研究一种智能高效的子图匹配查询方法,以满足领域知识图谱的需求。

2、通过实际应用场景分析,领域知识图谱常需要能够表达复杂查询条件并提取领域知识的查询方法。这些查询通常包含有价值的领域专业知识,可多次应用。然而,现有基于关键词和自然语言的非结构化查询方式难以满足这些要求。同时,随着领域知识图谱数据规模的增长,查询时间延长影响用户体验。因此,需要智能、高效的模式匹配查询方法,以满足领域知识图谱的复杂查询需求并挖掘更多领域知识,这对知识图谱应用至关重要。

3、知识图谱查询包括查询表达、查询执行和结果显示三个阶段。针对知识图谱查询问题,本发明从以下两个主要方面进行探讨:

4、(1)查询条件表达问题:在领域知识图谱查询条件表达阶段,关注如何设计查询条件构建方法,以便在表达复杂领域查询条件的同时,理解用户的查询意图,增强知识图谱的语义表达能力。现有查询方式常使用关键词或自然语言表达,然而,这样的方式在复杂场景下语义能力受限,机器理解用户意图的准确性有待提高。因此,研究如何改进知识图谱查询方式,让用户以可视化、简洁且可复用的方式表达领域复杂查询条件,进一步提升语义表达能力。此外,针对对领域知识了解有限的用户,提出改进方案,使普通用户能够有效查询领域知识图谱。

5、(2)查询执行问题:在知识图谱查询执行阶段,面对大规模数据,关注如何设计适宜的图数据库存储方案和算法,以有效支持查询的执行。大规模知识图谱包含数量庞大的实例、属性和关系信息。现有大规模知识图谱如dbpedia、yago、cn-dbpedia等,建模为子图匹配问题,支持复杂查询条件。本研究特别关注带有约束的子图匹配问题。为提高查询响应速度,提出基于约束的剪枝策略,如属性约束,以减少搜索空间。并行化处理可加速模式匹配算法,提高效率。合理的存储设计方案对查询效率影响显著。因此,研究如何优化知识图谱模式匹配算法,设计高效的存储方案,以快速读取数据和提高查询效率。

6、综上所述,本研究致力于设计领域知识图谱复杂查询条件的表达方法,让领域知识掌握较少的用户也能理解查询表达方式,并提升查询语义表达能力。另外,该研究着重于选择适宜的图数据库存储方式,以及设计高效的模糊匹配算法,以应对大规模知识图谱查询的需求。


技术实现思路

1、针对现有技术中存在的缺陷,本发明的目的在于提供一种基于模式匹配的知识图谱检索方法与系统,可以让领域知识掌握较少的用户也能理解查询表达方式,并提升查询语义表达能力,满足领域知识图谱复杂查询的需求并发掘更多领域知识。

2、为实现上述目的,本发明采用的技术方案如下:

3、一种基于模式匹配的知识图谱检索方法,其步骤包括:

4、对基于模式匹配的图谱查询流程进行优化,所述图谱查询流程包括顺序执行的三个阶段:查询表达、查询执行以及结果显示;其中,

5、对所述查询表达进行优化的方法为:根据用户的输入信息查询是否存在历史查询模板/记录,如果存在历史查询模板/记录,则将其反馈给该用户,并提示该用户是否采用或对该历史查询模板/记录进行调整,如果调整则进入查询图编辑步骤;如果不存在历史查询模板/记录,或该用户不采用该历史查询模板/记录,则为该用户创建新的查询图并进入查询图编辑步骤;所述查询图编辑步骤中,根据该用户添加的节点、边生成查询涉及的概念、关系和属性,然后对该用户添加的节点和边添加约束,生成该用户的查询图;

6、对所述查询执行进行优化的方法为:根据该用户的查询图运用模式匹配算法在知识图谱中进行匹配处理,获取与该用户的查询图拓扑结构匹配的子图结果;

7、对所述结果显示进行优化的方法为:设定多种视图模式进行呈现,用于对所述子图结果进行展示,并根据用户选取的视图模式将所述子图结果展示给该用户。

8、进一步的,所述节点包括模糊节点,所述模糊节点代表不确定类型的节点。

9、进一步的,使用dgraph存储所述知识图谱的拓扑结构,使用mongodb存储所述知识图谱中各个节点和边的属性信息。

10、进一步的,所述mongodb中使用mongoconcept存储概念、属性、关系,所述mongoconcept的数据结构包括nodeid字段、name字段、parent字段、types字段、nodelabel字段和judgeparent字段;其中,nodeid字段用于存储概念的节点id,name字段用于存储概念的名称,parent字段用于存储概念的父节点id,types字段用于存储父节点的名称,nodelabel字段用于存储节点的标签,judgeparent字段用于表示概念是否有子节点。

11、进一步的,所述mongodb中使用mongoinstance存储实例,所述mongoinstance的数据结构包括nodeid字段、name字段、concept字段、types字段、properties字段和nodelabel字段;其中,nodeid字段用于存储概念实例的节点id,name字段用于存储概念实例的名称,concept字段用于存储概念的所属概念id,types字段用于存储实例所属概念名称,properties字段用于实例的属性,nodelabel字段用于节点的标签。

12、进一步的,所述mongodb中使用mongoedge存储实例之间的边,所述mongoedge的数据结构包括edgeid字段、fromid字段、toid字段、clusterid字段、edgelabel字段和properties字段;其中,edgeid字段用于存储边的节点id,fromid字段用于存储边的起始节点id,toid字段用于存储边的终止节点id,clusterid字段用于存储簇的id,edgelabel字段用于存储边的标签,properties字段用于存储边的属性。

13、进一步的,生成该用户的查询图的方法为:

14、1)用户从所述知识图谱的本体模型的概念树中选择需要添加的节点作为模式顶点;

15、2)用户通过拖拽方式为存在关系的模式顶点添加模式边,进行模式图的构建;

16、3)用户为模式顶点或模式边添加属性约束,并进行逻辑组合,构造查询图的逻辑约束图,完成该用户的查询图构造。

17、进一步的,得到所述子图结果的方法为:首先对所述模式图中所有模式顶点进行并查集初始化;然后依次对模式图中的模式边调用union操作,从而得到模式图的连通分量情况;然后选取模式图中的最大连通子图作为查询输入,并通过子图模式匹配算法在所述知识图谱上进行查询处理,得到所述子图结果。

18、本发明基于模式匹配的知识图谱检索方法,包括:

19、s100、基于模式匹配的图谱查询流程与方法,分别对图谱查询的三个阶段进行了流程的优化,包括查询表达、查询执行以及结果显示,旨在解决大规模知识图谱复杂查询条件表达困难、用户查询意图表达不准确与查询速度慢的问题。

20、s200、基于知识图谱的复杂查询可视化定义方法,首先对用户进行查询模板/记录推荐,而后用户可以根据需求,选择是否使用模板/记录。对于普通用户,使用查询模板/记录较为方便,不需要用户掌握太多的领域知识,可以直接使用查询图,或者在原有查询图的基础上,对模式查询图和逻辑约束图进行相应编辑;如果用户对该领域知识掌握程度较高,还以自行创建查询图进行查询操作。

21、s300、面向大规模图谱的模式匹配方法,与子图匹配相结合,按照匹配的精度,子图匹配问题可以分为子图同构匹配和子图近似匹配两类,本发明主要关讨论图谱查询中的子图同构匹配问题,子图匹配即指子图同构匹配问题。子图匹配是指在一个图中寻找与另一图中给定的子图同构的过程,即两个图在节点和边的连接方式上完全相同,子图匹配已被证明为np-hard问题。

22、进一步,如上所述的方法,s200包括:

23、(1)查询模版复用机制:在用户每次进行条件查询时引入查询模版复用机制,提高查询效率,减少用户每次查询时进行可视化表达构建的时间成本,另外使用查询模版可以降低对领域知识图谱的专业能力要求,提高系统的用户友好性。

24、(2)模糊节点表示:模糊节点代表不确定类型的节点,模糊节点的引入对于知识图谱查询的表示有着极大的改进。如在水利知识图谱中,我们需要查询“运营单位a”的相关信息,此时可以通过关键词查询方式很快找到目标节点“张xx”,同时进行“张xx”关联节点的展开操作,即可获得“运营单位a”的相关信息。

25、在构建查询图时,通常需要用户对相关领域的知识有一定的了解,以构建更为准确的查询图。然而,如果用户对领域知识图谱不了解,他们可能会面临构建查询图的困难。为了提高工具的用户友好性,我们可能需要提供一些工具,以帮助用户更好地理解相关领域的知识,并构建准确、全面的查询图。本文提出了“模糊节点”的概念,这将有助于用户更好地使用图谱工具进行查询操作,即使用户对领域知识掌握不完全,也能够构建查询图并得到较好的查询结果。

26、在知识图谱中,模糊节点代表不确定类型的节点,我们可以指定模糊节点的概念类型和层数,模糊节点的引入对于知识图谱查询的表示有着极大的改进。如在水利知识图谱中,我们需要查询“运营单位a”的相关信息,此时可以通过关键词查询方式很快找到目标节点“张xx”,同时进行“张xx”关联节点的展开操作,即可获得“运营单位a”的相关信息。但由于我们不知道“运营单位a”的关联概念节点是什么,我们无法仅依靠模式图和约束图的拓展进行表达,因此我们引入了模糊节点。如图10(a)所示,节点“运营单位a”与模糊节点连接后进行查询,此时模糊节点并未进行类型设定,默认为1层节点,相当于对该节点进行周围关系展开。

27、若希望对特定类型的节点展开,则可以通过对模糊节点的类型进行限制实现。对与节点“运营单位a”相连接的模糊节点进行类型限制,假设类型定位“水坝”,查询结果如图10(b)所示。

28、对模糊节点的定义进行了拓展,支持对模糊节点的层数的定义。对于模糊节点,可以定义其展示的层数,如设定为2层,使用图谱工具进行查询时,展示结果如图10(c)所示,其可以支持对于多层级的展示,在知识图谱中先进行模式匹配操作,同时图谱工具可以进行模式匹配结果汇聚展示。

29、通过引入模糊节点,即使用户对领域知识掌握程度较低,也可以更轻松地构建知识图谱查询图,从而提高工具的可用性。此外,模糊节点的引入也为发现知识图谱中的关联关系提供了一种有效的手段。

30、进一步,如上所述的方法,s300包括:

31、(1)图数据的混合存储:使用dgraph存储知识图谱的拓扑结构,使用mongodb存储知识图谱中各个节点和边的属性信息,结合节点和边的id进行统一存储。

32、(2)基于混合存储的多路连接算法:首先对模式图中所有模式顶点进行并查集初始化,接着依次对模式图中的模式边调用union操作,从而得到模式图的连通分量情况。之后,选取模式图中的最大连通子图作为查询输入,并通过子图模式匹配算法进行查询处理。针对于已经给定的查询子图,使用mongodb进行multi-way join的算法中join操作,mongodb中的边集使用collection表示。

33、一种基于模式匹配的知识图谱检索系统,包括:查询表达模块、查询执行模块以及结果显示模块;

34、所述查询表达模块,用于根据用户的输入信息查询是否存在历史查询模板/记录,如果存在历史查询模板/记录,则将其反馈给该用户,并提示该用户是否采用或对该历史查询模板/记录进行调整,如果调整则进入查询图编辑步骤;如果不存在历史查询模板/记录,或该用户不采用该历史查询模板/记录,则为该用户创建新的查询图并进入查询图编辑步骤;所述查询图编辑步骤中,根据该用户添加的节点、边生成查询涉及的概念、关系和属性,然后对该用户添加的节点和边添加约束,生成该用户的查询图;

35、所述查询执行模块,用于根据该用户的查询图运用模式匹配算法在知识图谱中进行匹配处理,获取与该用户的查询图拓扑结构匹配的子图结果;

36、所述结果显示模块,包括多种视图模式,用于根据用户选取的视图模式将所述子图结果展示给该用户。

37、本发明基于模式匹配的知识图谱可视化查询工具整体由四层组成,自底向上分别为数据存储层、访问层、功能层、前端展示层。

38、数据存储层:管理和访问系统使用的数据存储,图谱可视化查询工具主要使用了关系型数据库(mysql)、图数据库(dgraph)、文档型数据库(mongodb)三种数据库。

39、访问层:搭建起功能层与数据存储层的桥梁,负责数据的获取与处理,将数据传递从数据存储层提供至访问层。

40、功能层:为整个图谱可视化查询工具的功能逻辑设计,包括查询条件定义、查询模板复用、查询结果获取、查询算法实现。

41、前端展示层:可视化查询工具的前端展示界面,包括领域知识图谱规则可视化查询及查询结果可视化的结果展示。

42、进一步,如上所述的系统,工具的前端选择vue.js前端框架,vue.js具有简单易用、轻量级、高效的特点,采用了mvvm(model-view-viewmodel)架构模式,可以帮助开发者快速进行交互界面的构建。vue.js采用了响应式数据绑定,当数据发生变化时,ui会自动进行更新,不需要手动去操作dom。此外vue.js采用组件化开发模式,开发人员可以将页面分解成多个小型可复用的组件,有利于开发人员进行高效开发。vue.js生态系统丰富,拥有大量的插件、组件,可以帮助开发人员快速构建前端界面。

43、进一步,如上所述的系统,前端的组件库主要使用element-ui组件库,可视化引擎选择了antv的g6和x6。element-ui是基于vue.js的业界知名的组件库,为开发者提供大量的ui组件和工具,可以帮助开发者快速完成页面的开发。作为专业的图可视化引擎,g6有着优越的性能、便捷的组件和强大的渲染交互能力,同时g6对于元素、交互、布局都有着高可扩展的自定义机制,开发者能通过g6对于图数据进行优异的可视化展示。antv研发的x6是基于html和svg的图编辑引擎,便于用户快速搭建dag图、er图、流程图等应用。

44、进一步,如上所述的系统,工具的后端选择了spring boot技术框架,spring boot继承自spring4.0,是一个功能强大、易于使用的框架。spring boot优点首先是其提供了很多的组件和库便于开发人员快速开发应用程序,节约开发资源,其次spring boot可以自动配置应用程序,减少开发人员对配置的时间投入,使得开发人员可以更专注于业务逻辑的实现。同时spring boot作为广泛流行的java框架,有着庞大的社区支持和技术资源,在遇到问题时候,可以更快速的找到解决方案。

45、进一步,如上所述的系统,知识图谱底层选择混合存储方式,图数据库dgraph用来存储知识图谱的拓扑结构,文档型数据库mongodb存储知识图谱的详细信息。关系型数据库mysql用来对用户信息进行存储。

46、本发明的有益效果在于:

47、本发明实现了一种基于模式匹配的知识图谱可视化查询工具,其具有高效、灵活、可定制化的特点,能够有效的表达领域知识图谱复杂查询条件,帮助用户进行高效的数据分析,提高了知识图谱查询工具的可用性。本发明主要解决领域知识图谱在复杂条件查询应用场景中的问题,并提出相应解决方案。在查询表达阶段,针对知识图谱查询表达方式的局限性,我们设计了一种可视化表示方案,以便更清晰地展示复杂查询条件。在查询处理阶段,为了提高查询效率,我们采用了高效的知识图谱存储方法,并实现了一种适用于大规模知识图谱的高效查询算法。本发明为解决领域知识图谱复杂查询中的表达与处理问题提供了有效解决方案。

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