CN111177410A - 基于进化R-tree的知识图谱存储和相似性检索方法 - Google Patents

基于进化R-tree的知识图谱存储和相似性检索方法 Download PDF

Info

Publication number
CN111177410A
CN111177410A CN201911382486.9A CN201911382486A CN111177410A CN 111177410 A CN111177410 A CN 111177410A CN 201911382486 A CN201911382486 A CN 201911382486A CN 111177410 A CN111177410 A CN 111177410A
Authority
CN
China
Prior art keywords
node
tree
nodes
knowledge
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911382486.9A
Other languages
English (en)
Other versions
CN111177410B (zh
Inventor
陈海波
张宸宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Zedaxin Pharmaceutical Alliance Information Technology Co Ltd
Zhejiang Sci Tech University ZSTU
Original Assignee
Hangzhou Zedaxin Pharmaceutical Alliance Information Technology Co Ltd
Zhejiang Sci Tech University ZSTU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Zedaxin Pharmaceutical Alliance Information Technology Co Ltd, Zhejiang Sci Tech University ZSTU filed Critical Hangzhou Zedaxin Pharmaceutical Alliance Information Technology Co Ltd
Priority to CN201911382486.9A priority Critical patent/CN111177410B/zh
Publication of CN111177410A publication Critical patent/CN111177410A/zh
Application granted granted Critical
Publication of CN111177410B publication Critical patent/CN111177410B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于进化R‑tree的知识图谱存储和相似性检索方法,本发明根据知识项在知识图谱中的关系,为每项构成一个特征空间的邻域,相似性越高的项其邻域的重叠度越高,每个邻域都是特征空间中的超立方体,从而使得相似性检索转变成判断立方体重叠问题,从而将相似性检索问题转换成边界值比较问题,简化了计算过程;本发明采用进化R‑tree将图的搜索问题转换成树的搜索问题,在R‑tree引入了根据查询频率进化R‑tree结构的方法,R‑tree节点根据历史查询频度完成分裂操作和重构操作,解决了R‑tree节点区域分布与实际查询分布不一致问题,从而减少访问节点数量,提高检索效率。

Description

基于进化R-tree的知识图谱存储和相似性检索方法
技术领域
本发明涉及知识图谱及检索领域,尤其涉及一种基于进化R-tree的知识图谱存储和相似性检索方法。
背景技术
基于云平台的医药知识图谱的存储、检索和推理技术是当前医药大数据智能化的关键技术,它能够满足多种应用场景的实际需要,提供包括临床辅助决策、趋势预测、易感人群检索、语义问答、疾病检查、食谱理疗等在内的多方面的综合性应用服务。
由于医药领域的知识存在大量的隐语义关联,在以某个关键词或者句子作为检索输入的时候,不仅需要检索到匹配的知识条目,还需要快速检索到与该知识条目相似的关联条目,并按照相似的程度进行排序,逐批有条理的交付检索结果,这是当前医药云知识图谱存储和检索的关键技术难点,也是行业应用亟待解决的技术问题之一。
医药知识图谱多以图数据库的形式来存储知识条目,如Neo4J、RDF4j等,以知识项为节点,以知识项语义关联为边,通过RDF语法实现知识条目的检索,这种基于图沿边检索的方法往往效率很低,需要进行大量的深度遍历和回溯,且检索结果的相似性需要在检索以外再进行量化计算,导致更低的应用效率。近年来随着图神经网络技术的成熟,知识图谱也可以采用图神经网络来完成检索,该技术为每个节点和边存储一个特征向量和一个状态,通过动态修改节点和边的特征值和状态来达到学习的目标,与传统RDF图数据库的形式相比,图神经网络更有利于进行复杂的知识推理,然而其检索技术仍旧是基于图的边缘搜索技术,检索效率仍有待提高。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于进化R-tree的知识图谱存储和相似性检索方法,该方法使用树型结构存储知识索引,并根据用户检索的特征分布逐步进化索引树结构,以达到逐步优化检索效率的目的。
本发明的目的是通过以下技术方案来实现的:一种基于进化R-tree的知识图谱存储和相似性检索方法,包括:
(1)将知识图谱记为G=<V,R>,其中V为知识项的集合,
Figure BDA0002342631480000011
是实数集,N=|V|是知识项集合的大小,P是知识项的维度,每个知识项构成P维特征空间中的点,R则是知识语义关系的集合,
Figure BDA0002342631480000021
为V的子集;为集合V中每一个知识项构建一个多维邻域;
(2)构建初始R-tree:初始R-tree共有N+1个节点,其中N个知识项作为叶节点,它们具有共同的唯一父节点,每个节点表示为六元组(id,region,index,parent,childs,fre),其中id为节点的唯一整数标识,region表示该节点所包围的特征空间区域,index为指向原知识图谱存储项的索引,patent为父节点的id,childs为子节点id的集合,fre为节点访问频率,初始值为0;对于叶节点,其region即为知识项的邻域,对于非叶节点,其region为其子节点的邻域的外接邻域;
(3)基于R-tree的检索:对于一个R-tree,第i层节点的个数记为m(i),1<i≤H+1,其中H+1为树的高度;记M为R-tree节点的最大子节点个数;给定一个检索区域W(w1,w2,...,wP),其中wi(i=1,2,...,P)表示检索区域第i维的宽度,第i层第j个节点所包围的特征空间区域Rij(rij1,rij2,...,rijP)与W相交的概率记为PRij,rijq(q=1,2,...,P)表示特征空间区域第q维的宽度;
第k层的平均节点访问个数nk为:
Figure BDA0002342631480000022
整个R-tree的平均节点访问个数F为树的每一层的节点访问个数之和;
在检索过程中,让R-tree的节点分布随着检索区域的分布动态进化,包括:
(3.1)对检索区域W,从R-tree自根节点向叶节点检索,并对所有检索到的叶节点,令其fre值加1;
(3.2)若节点的子节点数量超过M,则执行分裂操作;
(3.3)若某节点的fre值大于频率阈值FREmax
进一步地,所述步骤(1)中,所述为集合V中每一个知识项构建一个多维邻域,包括:
(1.1)对V中的任一个元素
Figure BDA0002342631480000023
构建一个多元高斯函数N(x|u,Σ),x,u,Σ分别为多元高斯函数的自变量、均值和方差;令u=v,取v邻域K个元素
Figure BDA0002342631480000024
构成v的邻域集
Figure BDA0002342631480000025
根据Φ计算Σ:
Figure BDA0002342631480000026
(1.2)根据多元高斯函数N(x|u,Σ)建立方程:
Figure BDA0002342631480000027
其中θ为超参,取值在[0.5,0.8]之间,缺省值为0.5,该方程的解为特征空间的一个椭球。
(1.3)对P维空间的每一维Pi,计算Pi的邻域长度。
进一步地,所述步骤(1.3)包括:用u1,u2,...,uP表示u的每一维的值,即u=(u1,u2,...,uP);令x=(u1,u2,...,uP)/xi,表示将ui用一个未知的变量xi替换后得到的向量(i∈{1,2,...,P}),将x代入到方程(1.2)中可解得xi(i∈{1,2,...,P}),从而(v1±x1,v2±x2,...,vp±xp)构成v的一个P维邻域。
进一步地,所述步骤(2)中,对于非叶节点,其region为其子节点的邻域的外接邻域,外接邻域的计算方法如下:对于任一个非叶节点z,有T个子节点,Ri=(ui1±xi1,ui2±xi2,...,uiP±xiP)为其第i个子节点所包围的特征空间区域,i=1,...,T,则z所包围的特征空间区域regionz为:
regionz=(uz1±xz1,uz2±xz2,...,uzP±xzP) (2.1)
其中对每一个uzt和xzt,t=1,2,...,P,计算公式如下:
Figure BDA0002342631480000031
这里大括号表示集合,min表示取集合元素的最小值,max表示取集合元素的最大值。
进一步地,所述步骤(3)中,R-tree节点的最大子节点个数M的取值与知识图谱的规模本身相关,取值在
Figure BDA0002342631480000032
之间,缺省值为
Figure BDA0002342631480000033
进一步地,所述步骤(3)中,R-tree的查询效率不仅与节点所包围的特征空间区域相关,也与节点的子节点所包围的特征空间区域分布相关:若检索区域与节点的子节点相交较少,则回溯访问操作次数也较少,因此需要减少子节点的访问个数。
进一步地,所述步骤(3.2)中,分裂的基本思想是让分裂后同一个子节点fre值相近,且子节点尽量重叠,具体包括以下子步骤:
(3.2.1)输入:待分裂节点Node;输出:分裂后的节点集Snode。
(3.2.2)Node的每个子节点集合为Childs={C1,C2,...,CT},对其中每一个子节点Ci(i∈{1,2,...,T}),计算其所包围的特征空间区域在第j维(j∈{1,2...,P})的上下边界延伸后穿越其它子节点的数量,记为
Figure BDA0002342631480000034
Figure BDA0002342631480000035
分别表示第i个子节点的第j维的下边界和上边界延伸后穿过其它子节点包围的特征空间区域的数量。
对于第j维(j∈{1,2...,P}),其全部子节点计算的穿越数集合为:
Figure BDA0002342631480000036
所有维的全部子节点计算的穿越数构成一个P×2T的矩阵:
Figure BDA0002342631480000041
(3.2.3)对公式(3.2)中的每一行,都存在一个最小值,记为Nj,min(其中j为行号,j∈{1,2,...,P})。由于矩阵中每行中取最小值的元素可能不止一个,则第j行中所有满足值等于Nj,min的元素构成一个集合,称为最小穿越集。
Figure BDA0002342631480000042
其中t1,t2,tk∈{1,2,...,T},s1,s2,...,sk∈{1,2},k≤2T,且满足Sj,min中的每一个元素,其值都等于Nj,min
(3.2.4)Sj,min(j∈{1,2,...,P})实际上对应了一个节点分裂方案:该集合中每一个元素
Figure BDA0002342631480000043
第ti个子节点的第j维的下边界(当q=1时)或上边界(当q=2时)延伸后将所有子节点分隔成两组,因此Sj,min能够将Node的T个子节点分成k+1个组,记为
Figure BDA0002342631480000044
(3.2.5)由于j∈{1,2,...,P},步骤(3.2.4)共形成P个节点分裂方案,下面根据每个子节点的fre值,计算步骤(3.2.4)划分
Figure BDA0002342631480000045
的不匹配度,并选择不匹配最小的那个方案。不匹配度是指与实际查询分布的不匹配程度,定义为:
Figure BDA0002342631480000046
Figure BDA0002342631480000047
为Node节点的第j维分组的不匹配度,Nx=|GCx|,即第x组所有子节点的数量,frei为第x组中第i个子节点的fre值。
(3.2.6)对所有的
Figure BDA0002342631480000048
选择其中不匹配最小的划分作为分裂结果,并根据此分裂结果调整R-tree。
Figure BDA0002342631480000049
进一步地,所述步骤(3.3)中,重构操作具体包括以下子步骤:
(3.3.1)从倒数第二层节点开始逐层开始向上重构,令L为当前重构的层,其初值为H。
(3.3.2)对第L层的每一对节点
Figure BDA00023426314800000410
若两者包围区域region不相交,则不进行重构。
(3.3.3)若
Figure BDA00023426314800000411
的所有子节点的fre值都不相同,也不进行重构。
(3.3.4)对
Figure BDA0002342631480000051
的所有子节点按照fre值从大到小排序,取前M个作为
Figure BDA0002342631480000052
的子节点,剩余的作为
Figure BDA0002342631480000053
的子节点,并重新计算
Figure BDA0002342631480000054
的包围特征空间区域;重构的两个节点至少有一个节点的空间利用率达到最大。该过程使得查询频度fre相近且区域有重叠的子节点被分到同一个父节点。
(3.3.5)令L=L-1,若L为0,重构结束,否则返回步骤(3.3.1)。
进一步地,所述步骤(3.3)中,频率阈值FREmax可以取一段时间内单日查询次数的均值。
本发明的有益效果是:
1、本发明根据知识项在知识图谱中的关系,为每项构成一个特征空间的邻域,相似性越高的项其邻域的重叠度越高,每个邻域都是特征空间中的超立方体,从而使得相似性检索转变成判断立方体重叠问题,从而将相似性检索问题转换成边界值比较问题,简化了计算过程。
2、本发明采用进化R-tree将图的搜索问题转换成树的搜索问题,在R-tree引入了根据查询频率进化R-tree结构的方法,R-tree节点根据历史查询频度完成分裂操作和重构操作,解决了R-tree节点区域分布与实际查询分布不一致问题,从而减少访问节点数量,提高检索效率的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中节点分裂流程示意图;
图2为本发明实施例中节点重构流程示意图;
图3为本发明实施例中节点分裂执行示例图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
本发明提供的一种基于进化R-tree的知识图谱存储和相似性检索方法,包括:
(1)令G=<V,R>为知识图谱,其中V为知识项的集合,
Figure BDA0002342631480000061
是实数集,N=|V|是知识项集合的大小,P是知识项的维度,每个知识项构成P维特征空间中的点;R则是知识语义关系的集合,
Figure BDA0002342631480000062
为V的子集。该方法首先为V中每一个知识项构建一个多维邻域,构建方法如下:
(1.1)对V中的任一个元素
Figure BDA0002342631480000063
构建一个多元高斯函数N(x|u,Σ),x,u,Σ分别为多元高斯函数的自变量、均值和方差;令u=v,取v邻域K个元素
Figure BDA0002342631480000064
构成v的邻域集
Figure BDA0002342631480000065
根据Φ计算Σ:
Figure BDA0002342631480000066
(1.2)根据多元高斯函数N(x|u,Σ)建立方程:
Figure BDA0002342631480000067
其中θ为超参,取值在[0.5,0.8]之间,缺省值为0.5,该方程的解为特征空间的一个椭球。
(1.3)对P维空间的每一维Pi,计算Pi的邻域长度:
用u1,u2,...,uP表示u的每一维的值,即u=(u1,u2,...,uP);令x=(u1,u2,...,uP)/xi,表示将ui用一个未知的变量xi替换后得到的向量(i∈{1,2,...,P}),将x代入到方程(1.2)中可解得xi(i∈{1,2,...,P}),从而(v1±x1,v2±x2,...,vp±xp)构成v的一个P维邻域。
(2)在第一步的基础上构建初始R-tree。初始R-tree共有N+1个节点,其中N个知识项作为叶节点,它们有共同的唯一父节点(根节点),每个节点可以表示为六元组(id,region,index,parent,childs,fre),id为节点的唯一整数标识,region表示该节点所包围的特征空间区域,index为指向原知识图谱存储项的索引,对于非叶节点,其值总是0,patent为父节点的id,childs为子节点id的集合,fre为节点访问频率,初始值为0。
在原有知识图谱的存储上增加对R-tree的六元组的存储。由于叶节点就是知识项,因此其region就是知识项的邻域,对于非叶节点,其region为其子节点的邻域的外接邻域,外接邻域的计算方法如下:对于任一个非叶节点z,有T个子节点,Ri=(ui1±xi1,ui2±xi2,...,uiP±xiP)为其第i个子节点所包围的特征空间区域,i=1,...,T,则z所包围的特征空间区域regionz为:
regionz=(uz1±xz1,uz2±xz2,...,uzP±xzP) (2.1)
其中对每一个uzt和xzt,t=1,2,...,P,计算公式如下:
Figure BDA0002342631480000068
这里大括号表示集合,min表示取集合元素的最小值,max表示取集合元素的最大值。
(3)初始R-tree的检索效率是比较低的,因为根节点以所有的叶节点为子节点,这使得相似性检索需要遍历所有叶节点,检查每个叶节点所包围的特征空间区域是否与检索区域相交,因此需要考虑通过增加R-tree的深度分裂节点来提高检索效率。
传统的R-tree分裂算法并不考虑实际检索区域的分布规律,而合理的R-tree节点分布应与检索区域的分布规律相关:对于一个R-tree,第i层节点的个数记为m(i),1<i≤H+1,其中H+1为树的高度。记M为R-tree节点的最大子节点个数,这里M取值与知识图谱的规模本身相关,取值在
Figure BDA0002342631480000071
之间,缺省值为
Figure BDA0002342631480000072
给定一个检索区域W(w1,w2,...,wP),其中wi(i=1,2,...,P)表示检索区域第i维的宽度,任一个R-tree节点所包围的特征空间区域Rij(rij1,rij2,...,rijP)与W相交的概率(不考虑其子节点)记为PRij,Rij表示第i层第j个节点所包围的特征空间区域,rijq,(q=1,2,...,P)表示特征空间区域第q维的宽度。
Figure BDA0002342631480000073
由此可知第k层的平均节点访问个数为:
Figure BDA0002342631480000074
而整个R-tree的平均节点访问个数F为树的每一层的节点访问个数之和(第一层根节点必然被访问):
Figure BDA0002342631480000075
公式(3.3)表明R-tree的查询效率不仅与节点所包围的特征空间区域相关,也与节点的子节点所包围的特征空间区域分布相关:若检索区域与节点的子节点相交较少,则回溯访问操作次数也较少,因此需要重新考虑如何减少子节点的访问个数。查询效率与不同检索区域出现的概率相关,因此改进的R-tree是让R-tree的节点分布随着检索区域的分布动态进化,具体由步骤(3.1)-(3.4)完成。
(3.1)对检索区域W,从R-tree自根节点向叶节点检索,并对所有检索到的叶节点,令其fre值加1。
(3.2)若节点的子节点数量超过M,则执行分裂操作,分裂的基本思想是让分裂后同一个子节点fre值相近,且子节点尽量重叠,流程示意见图1,具体包括以下子步骤:
(3.2.1)输入:待分裂节点Node;输出:分裂后的节点集Snode。
(3.2.2)Node的每个子节点集合为Childs={C1,C2,...,CT},对其中每一个子节点Ci(i∈{1,2,...,T}),计算其所包围的特征空间区域在第j维(j∈{1,2...,P})的上下边界延伸后穿越其它子节点的数量(称为穿越数),记为
Figure BDA0002342631480000081
Figure BDA0002342631480000082
分别表示第i个子节点的第j维的下边界(j1)和上边界(j2)延伸后穿过其它子节点包围的特征空间区域的数量。
对于第j维(j∈{1,2...,P}),其全部子节点计算的穿越数集合为:
Figure BDA0002342631480000083
所有维的全部子节点计算的穿越数构成一个P×2T的矩阵:
Figure BDA0002342631480000084
(3.2.3)对公式(3.5)中的每一行,都存在一个最小值,记为Nj,min(其中j为行号,j∈{1,2,...,P})。由于矩阵中每行中取最小值的元素可能不止一个,则第j行中所有满足值等于Nj,min的元素构成一个集合,称为最小穿越集。
Figure BDA0002342631480000085
其中t1,t2,tk∈{1,2,...,T},s1,s2,...,sk∈{1,2},k≤2T,且满足Sj,min中的每一个元素,其值都等于Nj,min
(3.2.4)Sj,min(j∈{1,2,...,P})实际上对应了一个节点分裂方案:该集合中每一个元素
Figure BDA0002342631480000086
第ti个子节点的第j维的下边界(当q=1时)或上边界(当q=2时)延伸后将所有子节点分隔成两组,因此Sj,min能够将Node的T个子节点分成k+1个组,记为
Figure BDA0002342631480000087
(3.2.5)由于j∈{1,2,...,P},步骤(3.2.4)共形成P个节点分裂方案,下面根据每个子节点的fre值,计算步骤(3.2.4)划分
Figure BDA0002342631480000088
的不匹配度,并选择不匹配最小的那个方案。不匹配度是指与实际查询分布的不匹配程度,定义为:
Figure BDA0002342631480000089
Figure BDA00023426314800000810
为Node节点的第j维分组的不匹配度,Nx=|GCx|,即第x组所有子节点的数量,frei为第x组中第i个子节点的fre值。
(3.2.6)对所有的
Figure BDA0002342631480000091
选择其中不匹配最小的划分作为分裂结果,并根据此分裂结果调整R-tree。
Figure BDA0002342631480000092
(3.3)若某节点的fre值大于FREmax,则执行重构操作。FREmax取30天的单日查询次数的均值,重构流程示意见图2,具体包括以下子步骤:
(3.3.1)从倒数第二层节点开始逐层开始向上重构,令L为当前重构的层,其初值为H。
(3.3.2)对第L层的每一对节点
Figure BDA0002342631480000093
若两者的包围区域region不相交,则不进行重构。
(3.3.3)若
Figure BDA0002342631480000094
的所有子节点的fre值都不相同,也不进行重构。
(3.3.4)对
Figure BDA0002342631480000095
的所有子节点按照fre值从大到小排序,取前M个作为
Figure BDA0002342631480000096
的子节点,剩余的作为
Figure BDA0002342631480000097
的子节点,并根据公式(2.1)重新计算
Figure BDA0002342631480000098
的包围特征空间区域;重构的两个节点至少有一个节点的空间利用率达到最大。该过程使得查询频度fre相近且区域有重叠的子节点被分到同一个父节点。
(3.3.5)令L=L-1,若L为0,重构结束,否则返回步骤(3.3.1)。
为了说明该方法如何提高检索效率的特点,通过一个示例说明分裂方法和重构方法对R-tree方法的改进。该示例针对医药知识图谱,为了可视化改进效果,这里假设特征维度P=2,第一维表示中药饮片药材的毒性,第二维表示中药饮片药材的发酵时间。共6个知识检索项,分别是干姜、石决明、赤芍、芒硝、栀子、生地黄,用小写字母a,b,c,d,e,f表示,每个知识项的邻接区域构成如图3所示,其中W为检索区域(毒性范围0.2-0.6,发酵时间0.6-0.7),节点分裂过程如下:
1)对第一维,计算每项左边界和右边界穿过其它节点的个数,分别为:
Figure BDA0002342631480000099
Figure BDA00023426314800000910
2)对以上排列按照从小到大的顺序排序,取得其中最小值子集,如下:
Figure BDA00023426314800000911
3)按以上排列分组,取f节点的第一维下边界,c节点的第一维上边界,b节点的第一维下边界,d节点的第一维上边界,a节点的第一维两个边界,将所有边界延伸后进行分组,结果为:{{f,e,c},{b,d},{a}};
4)若各个节点被访问的频度为{a:0,b:4,c:1,d:3,e:0,f:0},根据公式3.8计算最小值子集的不匹配度为:
Figure BDA0002342631480000101
5)对第二维,计算每项下边界和上边界穿过其它节点的个数,分别为{a:0,1;c:1,0;b:1,1;d:0,1;f:1,1;e:1,0}
Figure BDA0002342631480000102
Figure BDA0002342631480000103
6)对以上排列按照从小到大的顺序排序,取得其中最小值子集,如下:
Figure BDA0002342631480000104
7)按以上排列分组,取a节点的第二维下边界,c节点的第二维上边界,d节点的第二维下边界,e节点的第二维上边界,将所有边界延伸后进行分组,结果为:{{e,f,d},{b,c,a}};
8)根据公式3.8计算最小值子集的不匹配度为:
Figure BDA0002342631480000105
9)比较第一维和第二维匹配度,取最小的作为划分,划分结果为:{{f,e,c},{b,d},{a}};对检索区域W,采用该访问只要访问一个节点,即可以检索出b(石决明),d(芒硝)。
以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

Claims (9)

1.一种基于进化R-tree的知识图谱存储和相似性检索方法,其特征在于,包括:
(1)将知识图谱记为G=<V,R>,其中V为知识项的集合,
Figure FDA0002342631470000011
Figure FDA0002342631470000012
是实数集,N=|V|是知识项集合的大小,P是知识项的维度,每个知识项构成P维特征空间中的点,R则是知识语义关系的集合,
Figure FDA0002342631470000013
Figure FDA0002342631470000014
为V的子集;为集合V中每一个知识项构建一个多维邻域。
(2)构建初始R-tree:初始R-tree共有N+1个节点,其中N个知识项作为叶节点,它们具有共同的唯一父节点,每个节点表示为六元组(id,region,index,parent,childs,fre),其中id为节点的唯一整数标识,region表示该节点所包围的特征空间区域,index为指向原知识图谱存储项的索引,patent为父节点的id,childs为子节点id的集合,fre为节点访问频率,初始值为0;对于叶节点,其region即为知识项的邻域,对于非叶节点,其region为其子节点的邻域的外接邻域。
(3)基于R-tree的检索:对于一个R-tree,第i层节点的个数记为m(i),1<i≤H+1,其中H+1为树的高度;记M为R-tree节点的最大子节点个数;给定一个检索区域W(w1,w2,...,wP),其中wi(i=1,2,...,P)表示检索区域第i维的宽度,第i层第j个节点所包围的特征空间区域Rij(rij1,rij2,...,rijP)与W相交的概率记为PRij,rijq(q=1,2,...,P)表示特征空间区域第q维的宽度;
第k层的平均节点访问个数nk为:
Figure FDA0002342631470000015
整个R-tree的平均节点访问个数F为树的每一层的节点访问个数之和;
在检索过程中,让R-tree的节点分布随着检索区域的分布动态进化,包括:
(3.1)对检索区域W,从R-tree自根节点向叶节点检索,并对所有检索到的叶节点,令其fre值加1;
(3.2)若节点的子节点数量超过M,则执行分裂操作;
(3.3)若某节点的fre值大于频率阈值FREmax,则执行重构操作。
2.根据权利要求1所述的一种基于进化R-tree的知识图谱存储和相似性检索方法,其特征在于,所述步骤(1)中,所述为集合V中每一个知识项构建一个多维邻域,包括:
(1.1)对V中的任一个元素
Figure FDA0002342631470000016
构建一个多元高斯函数N(x|u,Σ),x,u,Σ分别为多元高斯函数的自变量、均值和方差;令u=v,取v邻域K个元素
Figure FDA0002342631470000017
构成v的邻域集
Figure FDA0002342631470000021
根据Φ计算Σ:
Figure FDA0002342631470000022
(1.2)根据多元高斯函数N(x|u,Σ)建立方程:
Figure FDA0002342631470000023
其中θ为超参,取值在[0.5,0.8]之间,缺省值为0.5,该方程的解为特征空间的一个椭球。
(1.3)对P维空间的每一维Pi,计算Pi的邻域长度。
3.根据权利要求1所述的一种基于进化R-tree的知识图谱存储和相似性检索方法,其特征在于,所述步骤(1.3)包括:用u1,u2,...,uP表示u的每一维的值,即u=(u1,u2,...,uP);令x=(u1,u2,...,uP)/xi,表示将ui用一个未知的变量xi替换后得到的向量(i∈{1,2,...,P}),将x代入到方程(1.2)中可解得xi(i∈{1,2,...,P}),从而(v1±x1,v2±x2,...,vp±xp)构成v的一个P维邻域。
4.根据权利要求1所述的一种基于进化R-tree的知识图谱存储和相似性检索方法,其特征在于,所述步骤(2)中,对于非叶节点,其region为其子节点的邻域的外接邻域,外接邻域的计算方法如下:对于任一个非叶节点z,有T个子节点,Ri=(ui1±xi1,ui2±xi2,...,uiP±xiP)为其第i个子节点所包围的特征空间区域,i=1,...,T,则z所包围的特征空间区域regionz为:
regionz=(uz1±xz1,uz2±xz2,...,uzP±xzP) (2.1)
其中对每一个uzt和xzt,t=1,2,...,P,计算公式如下:
Figure FDA0002342631470000024
这里大括号表示集合,min表示取集合元素的最小值,max表示取集合元素的最大值。
5.根据权利要求1所述的一种基于进化R-tree的知识图谱存储和相似性检索方法,其特征在于,所述步骤(3)中,R-tree节点的最大子节点个数M的取值与知识图谱的规模本身相关,取值在
Figure FDA0002342631470000025
之间,缺省值为
Figure FDA0002342631470000026
6.根据权利要求1所述的一种基于进化R-tree的知识图谱存储和相似性检索方法,其特征在于,所述步骤(3)中,R-tree的查询效率不仅与节点所包围的特征空间区域相关,也与节点的子节点所包围的特征空间区域分布相关:若检索区域与节点的子节点相交较少,则回溯访问操作次数也较少,因此需要减少子节点的访问个数。
7.根据权利要求1所述的一种基于进化R-tree的知识图谱存储和相似性检索方法,其特征在于,所述步骤(3.2)中,分裂的基本思想是让分裂后同一个子节点fre值相近,且子节点尽量重叠,具体包括以下子步骤:
(3.2.1)输入:待分裂节点Node;输出:分裂后的节点集Snode。
(3.2.2)Node的每个子节点集合为Childs={C1,C2,...,CT},对其中每一个子节点Ci(i∈{1,2,...,T}),计算其所包围的特征空间区域在第j维(j∈{1,2...,P})的上下边界延伸后穿越其它子节点的数量,记为
Figure FDA0002342631470000031
Figure FDA0002342631470000032
Figure FDA0002342631470000033
分别表示第i个子节点的第j维的下边界和上边界延伸后穿过其它子节点包围的特征空间区域的数量。
对于第j维(j∈{1,2...,P}),其全部子节点计算的穿越数集合为:
Figure FDA0002342631470000034
所有维的全部子节点计算的穿越数构成一个P×2T的矩阵:
Figure FDA0002342631470000035
(3.2.3)对公式(3.2)中的每一行,都存在一个最小值,记为Nj,min(其中j为行号,j∈{1,2,...,P})。由于矩阵中每行中取最小值的元素可能不止一个,则第j行中所有满足值等于Nj,min的元素构成一个集合,称为最小穿越集。
Figure FDA0002342631470000036
其中t1,t2,tk∈{1,2,...,T},s1,s2,...,sk∈{1,2},k≤2T,且满足Sj,min中的每一个元素,其值都等于Nj,min
(3.2.4)Sj,min(j∈{1,2,...,P})实际上对应了一个节点分裂方案:该集合中每一个元素
Figure FDA0002342631470000037
第ti个子节点的第j维的下边界(当q=1时)或上边界(当q=2时)延伸后将所有子节点分隔成两组,因此Sj,min能够将Node的T个子节点分成k+1个组,记为
Figure FDA0002342631470000038
(3.2.5)由于j∈{1,2,...,P},步骤(3.2.4)共形成P个节点分裂方案,下面根据每个子节点的fre值,计算步骤(3.2.4)划分
Figure FDA0002342631470000039
的不匹配度,并选择不匹配最小的那个方案。不匹配度是指与实际查询分布的不匹配程度,定义为:
Figure FDA00023426314700000310
Figure FDA00023426314700000311
为Node节点的第j维分组的不匹配度,Nx=|GCx|,即第x组所有子节点的数量,frei为第x组中第i个子节点的fre值。
(3.2.6)对所有的
Figure FDA0002342631470000041
选择其中不匹配最小的划分作为分裂结果,并根据此分裂结果调整R-tree。
Figure FDA0002342631470000042
8.根据权利要求1所述的一种基于进化R-tree的知识图谱存储和相似性检索方法,其特征在于,所述步骤(3.3)中,重构操作具体包括以下子步骤:
(3.3.1)从倒数第二层节点开始逐层开始向上重构,令L为当前重构的层,其初值为H。
(3.3.2)对第L层的每一对节点
Figure FDA0002342631470000043
若两者包围区域region不相交,则不进行重构。
(3.3.3)若
Figure FDA0002342631470000044
的所有子节点的fre值都不相同,也不进行重构。
(3.3.4)对
Figure FDA0002342631470000045
的所有子节点按照fre值从大到小排序,取前M个作为
Figure FDA0002342631470000046
的子节点,剩余的作为
Figure FDA0002342631470000047
的子节点,并重新计算
Figure FDA0002342631470000048
的包围特征空间区域;重构的两个节点至少有一个节点的空间利用率达到最大。该过程使得查询频度fre相近且区域有重叠的子节点被分到同一个父节点。
(3.3.5)令L=L-1,若L为0,重构结束,否则返回步骤(3.3.1)。
9.根据权利要求1所述的一种基于进化R-tree的知识图谱存储和相似性检索方法,其特征在于,所述步骤(3.3)中,所述频率阈值FREmax可以取一段时间内单日查询次数的均值。
CN201911382486.9A 2019-12-27 2019-12-27 基于进化R-tree的知识图谱存储和相似性检索方法 Active CN111177410B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911382486.9A CN111177410B (zh) 2019-12-27 2019-12-27 基于进化R-tree的知识图谱存储和相似性检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911382486.9A CN111177410B (zh) 2019-12-27 2019-12-27 基于进化R-tree的知识图谱存储和相似性检索方法

Publications (2)

Publication Number Publication Date
CN111177410A true CN111177410A (zh) 2020-05-19
CN111177410B CN111177410B (zh) 2021-01-12

Family

ID=70648992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911382486.9A Active CN111177410B (zh) 2019-12-27 2019-12-27 基于进化R-tree的知识图谱存储和相似性检索方法

Country Status (1)

Country Link
CN (1) CN111177410B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214612A (zh) * 2020-09-29 2021-01-12 华东师范大学 知识图谱标签松散场景下地理信息索引结构及检索方法
CN112486568A (zh) * 2020-12-02 2021-03-12 浙江理工大学 一种基于知识图谱的程序自动修正方法
CN116304213A (zh) * 2023-03-20 2023-06-23 中国地质大学(武汉) 基于图神经网络的rdf图数据库子图匹配查询优化方法
CN116957300A (zh) * 2023-09-19 2023-10-27 天津万事达物流装备有限公司 一种基于无人仓库穿梭车的物流数据管理方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101299213A (zh) * 2008-06-17 2008-11-05 中国地质大学(武汉) N维聚类排序记录树空间索引方法
KR20120128022A (ko) * 2011-05-16 2012-11-26 (유) 삼일프라이스워터하우스쿠퍼스어드바이저리 컨설팅 지식 체계화 장치 및 방법
CN107943998A (zh) * 2017-12-05 2018-04-20 竹间智能科技(上海)有限公司 一种基于知识图谱的人机对话控制系统及方法
CN108388580A (zh) * 2018-01-24 2018-08-10 平安医疗健康管理股份有限公司 融合医学知识及应用病例的动态知识图谱更新方法
CN109359178A (zh) * 2018-09-14 2019-02-19 华南师范大学 一种检索方法、装置、存储介质及设备
CN110059271A (zh) * 2019-06-19 2019-07-26 达而观信息科技(上海)有限公司 运用标签知识网络的搜索方法及装置
US20190266286A1 (en) * 2018-02-28 2019-08-29 Jordi Torras Method and system for a semantic search engine using an underlying knowledge base
KR102006283B1 (ko) * 2019-02-26 2019-10-01 가천대학교 산학협력단 패스트맵을 이용한 데이터셋의 m-트리 적재방법
CN110413848A (zh) * 2019-07-19 2019-11-05 上海赜睿信息科技有限公司 一种数据检索方法、电子设备和计算机可读存储介质
US20190354689A1 (en) * 2018-05-18 2019-11-21 Deepmind Technologies Limited Deep neural network system for similarity-based graph representations

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101299213A (zh) * 2008-06-17 2008-11-05 中国地质大学(武汉) N维聚类排序记录树空间索引方法
KR20120128022A (ko) * 2011-05-16 2012-11-26 (유) 삼일프라이스워터하우스쿠퍼스어드바이저리 컨설팅 지식 체계화 장치 및 방법
CN107943998A (zh) * 2017-12-05 2018-04-20 竹间智能科技(上海)有限公司 一种基于知识图谱的人机对话控制系统及方法
CN108388580A (zh) * 2018-01-24 2018-08-10 平安医疗健康管理股份有限公司 融合医学知识及应用病例的动态知识图谱更新方法
US20190266286A1 (en) * 2018-02-28 2019-08-29 Jordi Torras Method and system for a semantic search engine using an underlying knowledge base
US20190354689A1 (en) * 2018-05-18 2019-11-21 Deepmind Technologies Limited Deep neural network system for similarity-based graph representations
CN109359178A (zh) * 2018-09-14 2019-02-19 华南师范大学 一种检索方法、装置、存储介质及设备
KR102006283B1 (ko) * 2019-02-26 2019-10-01 가천대학교 산학협력단 패스트맵을 이용한 데이터셋의 m-트리 적재방법
CN110059271A (zh) * 2019-06-19 2019-07-26 达而观信息科技(上海)有限公司 运用标签知识网络的搜索方法及装置
CN110413848A (zh) * 2019-07-19 2019-11-05 上海赜睿信息科技有限公司 一种数据检索方法、电子设备和计算机可读存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CÉDRIC DU MOUZA等: "Dynamic storage balancing in a distributed spatial index", 《GIS "07: PROCEEDINGS OF THE 15TH ANNUAL ACM INTERNATIONAL SYMPOSIUM ON ADVANCES IN GEOGRAPHIC INFORMATION SYSTEMS》 *
XIAOBING XUE等: "Generating reformulation trees for complex queries", 《SIGIR "12: PROCEEDINGS OF THE 35TH INTERNATIONAL ACM SIGIR CONFERENCE ON RESEARCH AND DEVELOPMENT IN INFORMATION RETRIEVAL》 *
白鹏伟: "改进的空间索引算法在海量遥感数据存储平台上的研究与应用", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)2018年》 *
陈海波等: "《R-tree 的查询代价模型分析及算法改进》", 《计算机辅助设计与图形学学报》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214612A (zh) * 2020-09-29 2021-01-12 华东师范大学 知识图谱标签松散场景下地理信息索引结构及检索方法
CN112214612B (zh) * 2020-09-29 2022-09-30 华东师范大学 知识图谱标签松散场景下地理信息索引系统及检索方法
CN112486568A (zh) * 2020-12-02 2021-03-12 浙江理工大学 一种基于知识图谱的程序自动修正方法
CN112486568B (zh) * 2020-12-02 2022-06-28 浙江理工大学 一种基于知识图谱的程序自动修正方法
CN116304213A (zh) * 2023-03-20 2023-06-23 中国地质大学(武汉) 基于图神经网络的rdf图数据库子图匹配查询优化方法
CN116304213B (zh) * 2023-03-20 2024-03-19 中国地质大学(武汉) 基于图神经网络的rdf图数据库子图匹配查询优化方法
CN116957300A (zh) * 2023-09-19 2023-10-27 天津万事达物流装备有限公司 一种基于无人仓库穿梭车的物流数据管理方法及系统
CN116957300B (zh) * 2023-09-19 2023-12-01 天津万事达物流装备有限公司 一种基于无人仓库穿梭车的物流数据管理方法及系统

Also Published As

Publication number Publication date
CN111177410B (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
CN111177410B (zh) 基于进化R-tree的知识图谱存储和相似性检索方法
Wang et al. Learned index for spatial queries
CN107066553B (zh) 一种基于卷积神经网络与随机森林的短文本分类方法
CN109166615B (zh) 一种随机森林哈希的医学ct图像存储与检索方法
Ferragina et al. Learned data structures
CN106874425B (zh) 基于Storm的实时关键词近似搜索算法
Gao et al. Efficient k-closest pair queries in general metric spaces
Drakopoulos et al. Higher order graph centrality measures for Neo4j
CN104933143A (zh) 获取推荐对象的方法及装置
CN110580252B (zh) 多目标优化下的空间对象索引与查询方法
Cordova et al. Simple and efficient fully-functional succinct trees
CN113220820B (zh) 基于图的高效sparql查询应答方法、装置和设备
Papadias et al. Constraint-based processing of multiway spatial joins
Chowdary et al. Decision Tree Induction Approach for Data Classification Using Peano Count Trees
Albahli et al. ohStore: Ontology hierarchy solution to improve RDF data management
CN115238075A (zh) 一种基于超图池化的文本情感分类方法
CN114722304A (zh) 异质信息网络上基于主题的社区搜索方法
Du et al. A novel knn join algorithms based on hilbert r-tree in mapreduce
Song et al. Research on partition block-based multi-source knowledge fusion for knowledge graph construction
CN113407669A (zh) 一种基于活动影响力的语义轨迹查询方法
Yingfan et al. Revisiting $ k $-Nearest Neighbor Graph Construction on High-Dimensional Data: Experiments and Analyses
Zou et al. Combining tensor decomposition and word embedding for asymmetrical relationship prediction in knowledge graphs
Lin et al. A rapid incremental frequent pattern mining algorithm for uncertain data
Navarro Compact data structures meet databases (invited talk)
Han et al. A random walk tensor model for heterogeneous network entity classification

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant