本公开涉及计算机,尤其涉及一种知识图谱划分方法、装置、设备和存储介质。
背景技术:
1、随着人工智能(artificial intelligence,ai)在各个领域的快速发展,各个领域间的信息与问题相互交织,变得日益复杂且数据量庞大,需要有一套完善的数据模型来表示一切资源,知识图谱(knowledge graph)应运而生。
2、知识图谱是google于2012年提出,是图g=(v,e)的扩展形式,其中v和e是顶点和边的集合,分别表示实体和实体间的关联关系,目前知识图谱已经达到百万顶点和上亿条边的规模。rdf(resource description framework,资源描述框架)是知识图谱中运用最为广泛的一种数据类型,它采用三元组(s,p,o)的形式描述资源,其中s、p和o分别表示主语、谓语、宾语。以dbpedia(维基百科知识图谱)为例,目前已经包含超过30亿条三元组数据。由于rdf图数据的急剧增长,传统的单机数据处理已经无法满足目前的需求,分布式存储和处理大规模rdf图数据是必然选择。rdf图数据的分布式存储和查询面临的主要问题为rdf图划分,即将rdf图数据划分成多个子图,并且满足特定的要求,如跨越边少,查询效率高,通信代价低等。
3、相关技术中,用于知识图谱划分的方案主要分为两类,一类是基于分布式多级图划分算法,另一类是基于局部搜索和模拟退火的图划分算法。然而,知识图谱中的节点和边随着时间的推移而产生新增,比如应用于社交网络的知识图谱,实体以及实体间的关系会发生变化,上述这些方案并不适用于动态知识图谱,无法实时地划分知识图谱新增的节点。
技术实现思路
1、本公开实施例提供一种知识图谱划分方法、装置、设备和存储介质。
2、本公开实施例的第一方面,提供一种知识图谱划分方法,所述方法包括:
3、根据知识图谱中的节点的语义信息与所述节点之间的边的语义信息,确定所述知识图谱中的节点的权重;
4、根据所述知识图谱中的节点的权重和所述知识图谱的结构信息,对所述知识图谱进行分区划分;
5、根据所述知识图谱中的待划分节点与所述知识图谱的各分区之间的语义相似度,将所述待划分节点划分到目标分区中。
6、在一个实施例中,所述根据知识图谱中的节点的语义信息与所述节点之间的边的语义信息,确定所述知识图谱中的节点的权重,包括:
7、根据所述知识图谱中的边的语义信息,确定各所述边的初始化权重;
8、根据所述知识图谱中的节点的语义信息,确定各所述节点的初始化权重;
9、根据各所述边的初始化权重以及各所述节点的初始化权重,确定各所述节点的权重。
10、在一个实施例中,所述根据所述知识图谱中的边的语义信息,确定各所述边的初始化权重,包括:
11、根据所述知识图谱中的边的属性信息以及不同所述边之间的关联关系,确定第一语义层次结构;
12、确定各所述边在所述第一语义层次结构中的权重。
13、在一个实施例中,所述根据所述知识图谱中的节点的语义信息,确定各所述节点的初始化权重,包括:
14、根据所述知识图谱中的节点的属性信息以及所述节点之间的关联关系,确定第二语义层次结构;
15、确定各所述节点在所述第二语义层次结构中的权重。
16、在一个实施例中,所述根据各所述边的初始化权重以及各所述节点的初始化权重,确定各所述节点的权重,包括:
17、针对每一个所述节点,执行以下操作:
18、当所述节点的出边集合不为空时,根据所述节点的初始化权重、所述节点的出边的初始化权重和所述出边对应的目标节点的权重,确定所述节点的权重;
19、当所述节点的出边集合为空时,将所述节点的初始化权重确定为所述节点的权重。
20、在一个实施例中,所述根据所述知识图谱中的节点的权重和所述知识图谱的结构信息,对所述知识图谱进行分区划分,包括:
21、根据预设的分区数量以及各所述节点按照权重由高至低的排序,选取多个第一节点;
22、以各所述第一节点分别作为起始节点,结合所述知识图谱的结构信息以及预设的查询模板的结构信息,对所述知识图谱进行初始化分区;
23、针对所述知识图谱的每一个分区,在确定所述分区内的叶子节点中存在第二节点时,对所述第二节点进行重划分;其中,所述第二节点与所述分区之间的语义相似度小于相似度阈值。
24、在一个实施例中,所述针对所述知识图谱的每一个分区,在确定所述分区内的叶子节点中存在第二节点时,对所述第二节点进行重划分,包括:
25、通过分布式系统中的从节点并行计算各所述分区内的叶子节点与所述叶子节点所在分区的语义相似度,并确定各所述分区内的叶子节点中是否存在所述第二节点;
26、通过分布式系统中的主节点在接收到第一从节点发送的第二节点的节点信息时,将所述第二节点的节点信息发送给多个第二从节点,以获取所述第二节点与各第二从节点存储的分区之间的语义相似度;
27、通过所述主节点根据所述第二节点对应的多个语义相似度中的最大值,对所述第二节点进行重划分。
28、在一个实施例中,所述根据所述知识图谱中的待划分节点与所述知识图谱的各分区之间的语义相似度,将所述待划分节点划分到目标分区中,包括:
29、确定所述待划分节点与各所述分区之间的语义相似度中的最大值;
30、以多个所述语义相似度中的最大值对应的分区作为所述目标分区,将所述待划分节点划分到所述目标分区中。
31、在一个实施例中,针对所述知识图谱的任意一个所述分区,所述知识图谱中的节点与所述分区之间的语义相似度为:所述节点与所述分区内的节点的语义相似度的统计值。
32、本公开实施例的第二方面,提供一种知识图谱划分装置,所述装置包括:
33、确定模块,用于根据知识图谱中的节点的语义信息与所述节点之间的边的语义信息,确定所述知识图谱中的节点的权重;
34、划分模块,用于根据所述知识图谱中的节点的权重和所述知识图谱的结构信息,对所述知识图谱进行分区划分;
35、所述划分模块,还用于根据所述知识图谱中的待划分节点与所述知识图谱的各分区之间的语义相似度,将所述待划分节点划分到目标分区中。
36、本公开实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面任一项所述知识图谱划分方法的步骤。
37、本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述知识图谱划分方法的步骤。
38、本公开实施例提供一种知识图谱划分方法、装置、设备和存储介质,通过根据知识图谱中的节点的语义信息与节点之间的边的语义信息,确定知识图谱中的节点的权重,这样在计算节点的权重信息时由于考虑到知识图谱中的节点和边的语义信息,能够使得节点在不同领域的知识图谱中的权重不同;并且,通过根据知识图谱中的节点的权重和知识图谱的结构信息,对知识图谱进行分区划分,以及根据知识图谱中的待划分节点与知识图谱的各分区之间的语义相似度,将待划分节点划分到目标分区中,由此针对动态知识图谱,能够进行实时地划分新增的节点,提高处理效率。