掌桥专利:专业的专利平台
掌桥专利
首页

知识图谱流畅展示方法、装置

文献发布时间:2023-06-19 09:32:16


知识图谱流畅展示方法、装置

技术领域

本申请涉及互联网技术领域,特别是涉及知识图谱流畅展示方法、装置、计算机设备和计算机可读存储介质。

背景技术

知识图谱中一般分为实体和关系,所有的实体通过关系连接起来,一批节点通过关系完全联通组成知识图谱的连通子图。如果另一批节点和该批节点没有路径相通,则为另一个连通子图。在知识图谱的页面展示中,经常因为展示的数据(节点+关系)数量巨大,而导致无法展示,甚至浏览器崩溃。如,已知播放一个1080P的电影就足以使很多性能一般的电脑卡顿,卡顿的原因是画面复杂,像素点多。像素比例为1080*1920的像素画面就满屏了。以上仅以像素点为例,实际上知识图谱的复杂量级更高。

随着知识图谱规模的迅速增长,在有限空间显示器上可视化整个知识图谱或大量信息变得困难,容易造成视觉混乱使用户无法快速聚焦有用信息,而且大规模图的绘制效率较低,影响人机交互流畅性。在页面展示的时候,需要一定时间的延迟才能进行缓慢加载和缓慢渲染,从而进行更大数据量的展示。

现有的解决方案一般通过以下步骤:根据需要展示的数据进行渲染展示,配置阈值,如果实体关系数量超过阈值,则系统直接提示不能展示。显然,这样的情况并没有从根本解决大规模图的渲染显示效果,而且,当数据量超限后,比较依赖前端框架能力,后台的算法没有针对大数据进行智能化的处理。如果数量大,会出现等待时间过长或者无法展示的问题,速度也更加缓慢,导致产品体验特别差。

发明内容

本申请实施例提供了一种知识图谱流畅展示方法、装置、计算机设备和计算机可读存储介质,以至少解决相关技术中展示万级别点边数据量会出现卡顿,甚至浏览器崩溃的情况,实现流畅展示知识图谱中节点和关系。

第一方面,本申请实施例提供了一种知识图谱流畅展示方法,包括:

知识图谱获取步骤,用于获取一知识图谱;

连通子图获取步骤,用于获取所述知识图谱中的非孤立节点并通过计算所述非孤立节点及其连通节点得到所述知识图谱的多个连通子图;

实体评分步骤,用于通过获取多个所述连通子图中实体的图空间属性并将所述图空间属性利用一重要度模型进行预测,得到所述连通子图中实体的得分;

实体分级步骤,用于根据所述连通子图中实体的得分及所述实体之间的关系将所述实体进行分层,得到不同层级的实体;

知识图谱显示步骤,用于根据所述层级进行所述知识图谱中实体的展示渲染。具体的,按照层级对所述实体进行层次计算,设跨层级的高度为h,层级内部的实体自动换行展示,高度为h/3,以便于清晰区分所述实体是否在同一层级。

通过上述步骤,基于知识图谱和人工智能进行数据处理,实现实体智能分层,根据实体层级实现知识图谱的流畅展示效果。

在其中一些实施例中,所述连通子图获取步骤进一步包括:

非孤立节点获取步骤,用于获取并标记所述知识图谱中待展示的非孤立节点;假设所有非孤立节点表示为集合M,则M={M

连通子图标记步骤,用于在所述待展示的非孤立节点中随机选择一节点,通过循环遍历搜索得到所述节点的连通节点,得到并标记所述节点及其连通节点;

标记循环步骤,用于重复上述连通子图标记步骤,直至每一所述待展示的非孤立节点均标记完毕,完成连通子图的计算,得到所述知识图谱的连通子图。

在其中一些实施例中,连通子图获取步骤后还包括,分别统计每个连通子图的实体关系数量;若所述连通子图数量小于或等于一数量阈值,则直接实现对数据进行图形展示即可,该数量阈值满足大多数浏览器可以流畅展示;若数量大于所述数量阈值,可根据本申请基于层级的知识图谱显示方式实现超大子图的流畅展示;上述实现了根据不同的连通子图数量阈值利用不同的方式进行展示,进一步优化展示效率,减小数据处理量。

在其中一些实施例中,所述实体评分步骤进一步包括:

图空间属性获取步骤,用于通过计算获得每一连通子图中实体的图空间属性,所述图空间属性包括:度中心性、紧密度中心性、中介中心性、聚集系数、PageRank图算法;其中,度中心性,又称为Degree Centrality,是在网络分析中刻画节点中心性的最直接度量指标;紧密度中心性,也称接近中心度,Closeness centrality,考量每个节点到其它节点的最短路的平均长度;中介中心性,又称为betweenness centrality,是指一个节点担任其它两个节点之间最短路的桥梁的次数;聚集系数,又称为Clustering coefficient,也称集聚系数、集群系数,是用来描述一个图中的顶点之间结集成团的程度的系数。

实体得分获取步骤,用于将所述实体的图空间属性按照平均权重分布,经LR模型(Logistic Regression,简称LR)进行特征重要性排序预测得到每一实体的得分。

在其中一些实施例中,所述实体分级步骤进一步包括:

重要实体获取步骤,用于通过一设定阈值判断所述实体中的重要实体,具体的,若所述实体的得分大于或等于所述设定阈值,则为实体添加重要标签,用于表示该实体为重要实体;

实体层级获取步骤,用于根据重要实体遍历所述重要实体的N度关系节点,并设置所述N度关系节点的层级为N,所述N为大于零的自然数,具体的,与所述重要实体具有一度关系的实体设置层级为1,与所述重要实体具有二度关系的实体设置层级为2……,依次类推,不再赘述。

在其中一些实施例中,若所述重要实体获取步骤根据所述设定阈值无法得到重要实体,则以当前连通子图中得分最高的实体为重要实体。

在其中一些实施例中,所述知识图谱显示步骤中,进行展示渲染时,所述实体之间所有关系进行动态加载,可以一次性渲染展示所述实体和所述实体之间的关系,也可以待所述实体加载完成后通过交互按需加载所述实体之间的关系。

第二方面,本申请实施例提供了一种知识图谱流畅展示装置,包括:

知识图谱获取模块,用于获取一知识图谱;

连通子图获取模块,用于获取所述知识图谱中的非孤立节点并通过计算所述非孤立节点及其连通节点得到所述知识图谱的多个连通子图;

实体评分模块,用于通过获取多个所述连通子图中实体的图空间属性并将所述图空间属性利用一重要度模型进行预测,得到所述连通子图中实体的得分;

实体分级模块,用于根据所述连通子图中实体的得分及实体之间的关系将所述实体进行分层,得到不同层级的实体;

知识图谱显示模块,用于根据所述层级进行所述知识图谱中实体的展示渲染。具体的,按照层级进行层次计算,设跨层级的高度为h,层级内部实体自动换行展示,高度为h/3,以便于清晰区分实体是否在同一层级。

通过上述结构,基于知识图谱和人工智能进行数据处理,实现实体智能分层,根据实体层级实现知识图谱的流畅展示效果。

在其中一些实施例中,所述连通子图获取模块进一步包括:

非孤立节点获取模块,用于获取并标记所述知识图谱中待展示的非孤立节点;假设所有非孤立节点表示为集合M,则M={M

连通子图标记模块,用于在所述待展示的非孤立节点中随机选择一节点,通过循环遍历搜索得到所述节点的连通节点,得到并标记所述节点及其连通节点;

标记循环模块,用于重复上述连通子图标记模块的操作,直至每一所述待展示的非孤立节点均标记完毕,完成连通子图的计算,得到所述知识图谱的连通子图。

在其中一些实施例中,连通子图获取模块还包括,分别统计每个连通子图的实体关系数量;若所述连通子图数量小于或等于一数量阈值,则直接实现对数据进行图形展示即可,该数量阈值满足大多数浏览器可以流畅展示;若数量大于所述数量阈值,可根据本申请基于层级的知识图谱显示方式实现超大子图的流畅展示;上述实现了根据不同的连通子图数量阈值利用不同的方式进行展示,进一步优化展示效率,减小数据处理量。

在其中一些实施例中,所述实体评分模块进一步包括:

图空间属性获取模块,用于通过计算获得每一连通子图中实体的图空间属性,所述图空间属性包括:度中心性、紧密度中心性、中介中心性、聚集系数、PageRank图算法;

实体得分获取模块,用于将所述实体的图空间属性按照平均权重分布,经LR模型进行特征重要性排序预测得到每一实体的得分。

在其中一些实施例中,所述实体分级模块进一步包括:

重要实体获取模块,用于通过一设定阈值判断所述实体中的重要实体,具体的,若所述实体的得分大于或等于所述设定阈值,则为实体添加重要标签,用于表示该实体为重要实体;

实体层级获取模块,用于根据重要实体遍历所述重要实体的N度关系节点,并设置所述N度关系节点的层级为N,所述N为大于零的自然数,具体的,与所述重要实体具有一度关系的实体设置层级为1,与所述重要实体具有二度关系的实体设置层级为2……,依次类推,不再赘述。

在其中一些实施例中,若所述重要实体获取模块根据所述设定阈值无法得到重要实体,则以当前连通子图中得分最高的实体为重要实体。

在其中一些实施例中,所述知识图谱显示模块进行展示渲染时,所述实体之间所有关系进行动态加载,可以一次性渲染展示所述实体和所述实体之间的关系,也可以待所述实体加载完成后通过交互按需加载所述实体之间的关系。

第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的知识图谱流畅展示方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的知识图谱流畅展示方法。

相比于相关技术,本申请实施例提供的知识图谱流畅展示方法、装置、计算机设备和计算机可读存储介质,通过基于知识图谱和人工智能进行数据处理,实现实体智能分层,并根据实体层级实现知识图谱的超大连通子图流畅展示效果。通过本申请实施例解决了传统方式展示万级别点边数据量会出现卡顿,甚至浏览器崩溃的情况,采用优化展示方法提高产品体验;本申请实施例可以通过后台算法实现上述数据处理、智能分层等处理来保证超大连通子图的展示效果。

本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的知识图谱流畅展示方法的流程图;

图2是根据本申请实施例的知识图谱流畅展示方法步骤S2的分步骤流程图;

图3是根据本申请实施例的知识图谱流畅展示方法步骤S3的分步骤流程图;

图4是根据本申请实施例的知识图谱流畅展示方法步骤S4的分步骤流程图;

图5是根据本申请实施例的知识图谱流畅展示装置的结构框图。

附图说明:

1、知识图谱流畅展示装置;11、知识图谱获取模块;

12、连通子图获取模块;13、实体评分模块;14、实体分级模块;

15、知识图谱显示模块;

121、非孤立节点获取模块;122、连通子图标记模块;

123、标记循环模块;131、图空间属性获取模块;

132、实体得分获取模块;141、重要实体获取模块;

142、实体层级获取模块。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

本实施例还提供了一种知识图谱流畅展示方法。图1-4是根据本申请实施例的知识图谱流畅展示方法的流程图,参考图1-4所示,该流程包括如下步骤:

知识图谱获取步骤S1,用于获取一知识图谱;

连通子图获取步骤S2,用于获取知识图谱中的非孤立节点并通过计算非孤立节点及其连通节点得到知识图谱的多个连通子图;

实体评分步骤S3,用于通过获取多个连通子图中实体的图空间属性并将图空间属性利用一重要度模型进行预测,得到连通子图中实体的得分;

实体分级步骤S4,用于根据连通子图中实体的得分及实体之间的关系将实体进行分层,得到不同层级的实体;

知识图谱显示步骤S5,用于根据层级进行知识图谱中实体的展示渲染,进行展示渲染时,对实体之间所有关系进行动态加载,可以一次性渲染展示实体和实体之间的关系,也可以待实体加载完成后通过交互按需加载实体之间的关系。具体的,按照层级对实体进行层次计算,设跨层级的高度为h,层级内部的实体自动换行展示,高度为h/3,以便于清晰区分实体是否在同一层级。

其中,连通子图获取步骤S2进一步包括:

非孤立节点获取步骤S201,用于获取并标记知识图谱中待展示的非孤立节点;假设所有非孤立节点表示为集合M,则M={M

连通子图标记步骤S202,用于在待展示的非孤立节点中随机选择一节点,通过循环遍历搜索得到节点的连通节点,得到并标记节点及其连通节点;

标记循环步骤S203,用于重复上述连通子图标记步骤S202,直至每一待展示的非孤立节点均标记完毕,完成连通子图的计算,得到知识图谱的连通子图。

实体评分步骤S3进一步包括:

图空间属性获取步骤S301,用于通过计算获得每一连通子图中实体的图空间属性,图空间属性包括:度中心性、紧密度中心性、中介中心性、聚集系数、PageRank图算法;

实体得分获取步骤S302,用于将实体的图空间属性按照平均权重分布,经LR模型进行特征重要性排序预测得到每一实体的得分;其中,LR模型,作为一个简单的常用的模型,模型简单,容易实现分布式,可解释性好。

实体分级步骤S4进一步包括:

重要实体获取步骤S401,用于通过一设定阈值判断实体中的重要实体,具体的,该设定阈值为0.5,若实体的得分大于或等于0.5,则为实体添加重要标签,用于表示该实体为重要实体;若步骤S401根据设定阈值无法得到重要实体,则以当前连通子图中得分最高的实体为重要实体。

实体层级获取步骤S402,用于根据重要实体遍历重要实体的N度关系节点,并设置N度关系节点的层级为N,所述N为大于零的自然数,具体的,与重要实体具有一度关系的实体设置层级为1,与重要实体具有二度关系的实体设置层级为2……,依次类推,不再赘述。

通过上述步骤,基于知识图谱和人工智能进行数据处理,实现实体智能分层,根据实体层级实现知识图谱的流畅展示效果,也为后台算法针对知识图谱进行智能化处理提供数据基础。

在其中一些实施例中,连通子图获取步骤后还包括,分别统计每个连通子图的实体关系数量;若连通子图数量小于或等于一数量阈值为5000,则直接实现对数据进行图形展示即可,该数量阈值满足大多数浏览器可以流畅展示;若数量大于5000,可根据本申请基于层级的知识图谱显示方式实现超大子图的流畅展示;上述实现了根据不同的连通子图数量阈值利用不同的方式进行展示,进一步优化展示效率,减小数据处理量,为步骤S5选择不同的展示渲染加载方式提供基础。

下面通过优选实施例对本申请实施例进行描述和说明。

参考图1-4,通过步骤S1获取一知识图谱;

然后根据步骤S2,排除孤立节点,把待展示的节点统一标记为0;此时,M={M

根据步骤S3,针对计算好的连通子图,计算其图空间属性,包括度中心性、紧密度中心性、中介中心性、聚集系数、PageRank图算法,得到为每一个实体的5个图空间属性作为特征属性;针对5个特征属性按照平均权重分布,使用LR模型预测每个实体的得分。

完成步骤S3后,分别统计每个连通子图的实体关系数量,如果连通子图数量小于等于5000,直接对这批数据进行图形展示,大多数浏览器可以流畅展示;如果连通数量大于5000,则为超大子图的知识图谱,执行如下步骤:

根据步骤S4,针对得分大于等于0.5的实体设置一重要实体标签,表示该实体为重要实体;将包含有重要度标签的实体设置为层级1,其中,如果当前连通子图中没有包含标签数据,那么寻找分数最高的实体;遍历所有和层级1实体有一度关系的实体,针对这些实体递增设置层级为2;针对剩下的数据同样进行上述层级设置步骤,重复上述步骤直至实体均设置层级;

最后根据步骤S5进行超大子图的知识图谱的展示渲染,展示渲染的时候,按照层级进行层次计算,跨层级的高度为h,层级内部实体自动换行展示,高度为h/3,以清晰区分是否在一个层级内的实体;实体间所有关系进行动态加载,可以和实体一次性全部渲染,也可以等实体加载后通过交互按需加载关系。

需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本实施例还提供了一种知识图谱流畅展示装置,该装置用于实现上述实施例及优选实施方式。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图5是根据本申请实施例的用户终端的结构框图。参考图5所示,该知识图谱流畅展示装置1包括:知识图谱获取模块11、连通子图获取模块12、实体评分模块13、实体分级模块14及知识图谱显示模块15等结构。本领域技术人员可以理解,图1中示出的知识图谱流畅展示装置结构并不构成对知识图谱流畅展示装置1的限定,可以包括比图示更多或更少的结构,或者组合某些结构,或者不同的结构布置。

下面结合图1对知识图谱流畅展示装置的各个构成进行具体的介绍:

知识图谱获取模块11,用于获取一知识图谱;

连通子图获取模块12,用于获取知识图谱中的非孤立节点并通过计算非孤立节点及其连通节点得到知识图谱的多个连通子图;

实体评分模块13,用于通过获取多个连通子图中实体的图空间属性并将图空间属性利用一重要度模型进行预测,得到连通子图中实体的得分;

实体分级模块14,用于根据连通子图中实体的得分及实体之间的关系将实体进行分层,得到不同层级的实体;

知识图谱显示模块15,用于根据层级进行知识图谱中实体的展示渲染。具体的,按照层级进行层次计算,设跨层级的高度为h,层级内部实体自动换行展示,高度为h/3,以便于清晰区分实体是否在同一层级;知识图谱显示模块15进行展示渲染时,实体之间所有关系进行动态加载,可以一次性渲染展示实体和实体之间的关系,也可以待实体加载完成后通过交互按需加载实体之间的关系。

其中,连通子图获取模块12进一步包括:非孤立节点获取模块121,用于获取并标记知识图谱中待展示的非孤立节点;连通子图标记模块122,用于在待展示的非孤立节点中随机选择一节点,通过循环遍历搜索得到节点的连通节点,得到并标记节点及其连通节点;标记循环模块123,用于重复上述连通子图标记模块122的操作,直至每一待展示的非孤立节点均标记完毕,完成连通子图的计算,得到知识图谱的连通子图。实体评分模块13进一步包括:图空间属性获取模块131,用于通过计算获得每一连通子图中实体的图空间属性,图空间属性包括:度中心性、紧密度中心性、中介中心性、聚集系数、PageRank图算法;实体得分获取模块132,用于将实体的图空间属性按照平均权重分布,经LR模型进行特征重要性排序预测得到每一实体的得分。实体分级模块14进一步包括:重要实体获取模块141,用于通过一设定阈值判断实体中的重要实体,具体的,若实体的得分大于或等于设定阈值,该设定阈值默认为0.5,则为实体添加重要标签,用于表示该实体为重要实体,若重要实体获取模块根据设定阈值无法得到重要实体,则以当前连通子图中得分最高的实体为重要实体;实体层级获取模块142,用于根据重要实体遍历重要实体的N度关系节点,并设置N度关系节点的层级为N,具体的,与重要实体具有一度关系的实体设置层级为1,与重要实体具有二度关系的实体设置层级为2……,依次类推,不再赘述。

在其中一些实施例中,连通子图获取模块12还包括,分别统计每个连通子图的实体关系数量;若连通子图数量小于或等于一数量阈值为5000,则直接实现对数据进行图形展示即可,该数量阈值满足大多数浏览器可以流畅展示;若数量大于5000,可根据本申请基于层级的知识图谱显示方式实现超大子图的流畅展示;上述实现了根据不同的连通子图数量阈值利用不同的方式进行展示,进一步优化展示效率,减小数据处理量。

需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。

另外,结合图1-4描述的本申请实施例知识图谱流畅展示方法可以由计算机设备来实现,该计算机设备可以包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序指令。其中,存储器可以包括用于数据或指令的大容量存储器,用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器所执行的可能的计算机程序指令;处理器通过读取并执行存储器中存储的计算机程序指令,以实现上述实施例中的任意一种知识图谱流畅展示方法。

另外,结合上述实施例中的知识图谱流畅展示方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种知识图谱流畅展示方法。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 知识图谱流畅展示方法、装置
  • 知识图谱的展示方法、装置、计算机装置和可读存储介质
技术分类

06120112206808