CN113569057A - 一种面向本体标签知识图谱的样例查询方法 - Google Patents
一种面向本体标签知识图谱的样例查询方法 Download PDFInfo
- Publication number
- CN113569057A CN113569057A CN202110861901.XA CN202110861901A CN113569057A CN 113569057 A CN113569057 A CN 113569057A CN 202110861901 A CN202110861901 A CN 202110861901A CN 113569057 A CN113569057 A CN 113569057A
- Authority
- CN
- China
- Prior art keywords
- node
- query
- tag
- ontology
- label
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 13
- 238000001914 filtration Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 11
- 238000012216 screening Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000005457 optimization Methods 0.000 abstract description 2
- 238000013138 pruning Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000012458 free base Substances 0.000 description 4
- CYTYCFOTNPOANT-UHFFFAOYSA-N Perchloroethylene Chemical compound ClC(Cl)=C(Cl)Cl CYTYCFOTNPOANT-UHFFFAOYSA-N 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种面向本体标签知识图谱的样例查询方法,属于数据查询及查询优化领域。该方法首先利用本体标签树索引,将实体节点按照本体标签层级进行划分形成树形结构,以便快速确定查询节点候选范围,提高查询效率,更好的体现实体间语义关系及用户的查询意图;通过本体标签树索引形成一级本体标签索引以及d‑邻域信息缩小搜索空间,得到更精确的候选结果集,使查找结果更准确;接着将候选节点集合按相关性公式计算得分并降序排序,便于形成有序的答案集;最后,选取选择性最小的查询节点作为起始节点进行边标签同构匹配,以减少候选匹配代价,通过边标签同构迭代修剪子图,采用有效的双向边索引技术,不必遍历候选节点的所有邻接边即可形成有序的候选结果,提高匹配效率。
Description
技术领域
本发明属于数据查询及查询优化领域,特别涉及一种知识图谱上的查询处理方法设计,具体涉及一种面向本体标签知识图谱的样例查询方法。
背景技术
随着数据的爆发式增长,知识图谱以可视化的形式将实体以及实体之间的关系直观有效地呈现出来,能够为用户提供更加全面并且准确的信息。知识图谱越来越受到业界的广泛应用。知识图谱的查询研究主要分为基于RDF数据查询和图结构查询。对于RDF的数据查询主要是通过一些查询语言进行研究的,例如SPARQL、Cypher语言等。面向图结构的查询主要包括子图同构。例如SIGMA算法将缺失的边作为近似匹配的衡量标准,SAGA算法通过图编辑距离确定相似性。但是这些方法都没有考虑用户可能不是领域专家,对查询语言不了解的情况并且假设用户可以清晰的描述自己的查询意图,从而得到特定的答案。为了解决这些问题,样例查询应用而生,根据用户提供的查询示例捕获用户感兴趣的元素,返回与之相关的答案集合。
传统知识图谱上的样例查询主要存在两方面的问题,一是没有考虑知识图谱中每个节点的自身属性特征,不能很好的体现实体间的语义相关性。二是针对实体间的关系缺少有效的索引结构以提高查询效率。为了更好的捕获用户的查询意图,优化查询效率,方便用户操作,设计一种面向本体标签知识图谱的样例查询方法是非常有必要的。
发明内容
为了解决现有基于知识图谱上样例查询技术的不足,本发明提出一种面向本体标签知识图谱的样例查询方法,能够有效提高查询相关性,优化查询效率。
为了实现上述目的,本发明创造采用了如下技术方案:
一种面向本体标签知识图谱的样例查询方法,其特征在于,其步骤为:
步骤1:构建本体标签树索引:
定义1:本体标签知识图谱G=(VG,EG,TG,LG),其中VG表示顶点集合,EG表示边集合,TG表示顶点的本体标签集合,LG表示边标签集合;
定义2:父标签、子标签和后继子标签;一级本体标签t1和二级本体标签t11、t12之间的关系是父子关系,t1为父标签,t11、t12为t1的子标签,三级本体标签t111、t112作为二级本体标签t11的子标签,它们也都是一级本体标签t1的后继子标签;本体标签按横向划分称为本体标签层级集合记为Th[],当h=1时,Th[]中存放所有一级本体标签;h=2时,Th[]中存放所有二级本体标签;每个本体标签ti都有自己的后继子标签集合ti[];
步骤1-1将本体标签按照层级进行划分,得到Th[]集合;
步骤1-2计算每个本体标签的后继子标签集合;
步骤1-3初始化根节点的层数h=0,并将所有本体标签放入根节点中,然后调用函数BuildNode来创建其子树。在BuildNode函数中,首先更新层数,即本体标签的级数,得到Th[]集合,并获得ti[]集合后建立本体标签树节点,将此树节点加入到根节点的孩子节点并从根节点中移除此孩子节点所包含的所有本体标签;
步骤1-4最终为每个树节点创建所包含此本体标签的实体节点的倒排列表,并形成本体标签树返回;
步骤2筛选候选节点集合;
步骤2-1利用一级本体标签索引过滤候选节点集合;
步骤2-2利用d-邻域过滤候选节点;
步骤2-3将候选节点集合进行排序;
步骤3构建双向索引;
步骤4进行边标签同构匹配。
所述的步骤1-2中,具体为:
知识图谱G的本体标签集TG={t1,t2,t11,t12,t13,t14,t21,t22},首先将所有本体标签按照层级进行划分,得到Th[]集合,其中T1[]=[t1,t2],T2[]=[t11,t12,t13,t14,t21,t22];然后计算每个本体标签的父标签形成后继子标签集合ti[],从T2[]集合开始遍历标签t11、t12、t13、t14拥有共同的父标签t1,即t1[]=[t11,t12,t13,t14];标签t21、t22拥有共同的父标签t2,即t2[]=[t21,t22],遍历T1[]=[t1,t2],则最终t1[]=[t1,t11,t12,t13,t14],t2[]=[t2,t21,t22]。
所述的步骤2-1中,具体为:
采用倒排列表的结构,每个一级本体标签索引FLIndex都记录包含该本体标签的所有节点集合,FLIndex索引如(1)所示:
FLIndex{<t1>(n1,n2,...),<t2>(n1,n2,...),...,<tn>(n1,n2,...)} (1)
FLIndex中包含所有一级本体标签,每个一级本体标签中是包含该标签的节点集合,利用一级本体标签作为索引,当给定一个查询节点时,在一级本体标签索引中找到与查询节点具有相同的一级本体标签集合,将其作为此查询节点的候选节点集合。
所述的步骤2-2中,具体为:
引入d-邻域的概念,d值大小取决于知识图谱中的数据规模和用户的查询意图;
所述的步骤2-3中,具体为:
按照公式(2)计算查询节点与候选集合中的节点的相关性,并根据这个得分将候选节点降序排序,相关性公式如公式(2):
其中ns表示查询节点,a表示ns的候选节点,T(ns)表示ns的节点本体标签集合,当ns和其候选节点a本体标签相同时εj=1,否则εj=0;d'表示两个节点之间的距离,d'≤d;当每个查询节点的候选集合中的节点都按照相关性公式降序排好后,在进行边标签同构匹配时,按照顺序选择相关性高的节点先进行匹配,在进行边标签匹配的同时计算形成的子图的节点相关性得分之和,便于直接找到前k个得分最高的子图结构并返回给用户。
所述的步骤3中,具体方法为:
在本体标签知识图谱中,每个实体节点自身带有标签,实体之间通过具有属性标签的有向边相连,在进行边标签同构匹配查询之前,为知识图谱中每个实体节点创建以下双向索引:
其中ns标识节点,和分别表示节点ns的入度索引和出度索引,lx:<nm,...,nj>,ly:<nm,...,ni>分别表示入度边标签为lx和出度边标签为ly的节点集合,(countIn(ns))和countout(ns)分别表示节点ns的入度、出度节点总个数。
步骤3-1知识图谱中一个节点q,找到节点q的一个邻居节点p,如果有并且节点p,q都没有被访问过,将边标签l添加到节点q的入度索引集合In(q),并将节点p加入到集合In(q)中标签为l的节点集合Inl(q),节点q的入度索引集合中总节点数countIn(q)加一;按照相同的方法记录节点p的出度索引Out(p)集合、Outl(p)集合和countOut(p)。
步骤3-3标记节点q节点被访问过,记录q节点的双向索引Bi-directional index(q);
步骤3-4重复此过程,直到建立所有节点的双向索引。
所述的步骤4中,具体方法为:
在得到每个查询节点有序的候选节点集合后,需要按照查询样例将候选节点构建成相似的子图结构,按照边标签进行匹配形成相关答案集;
在进行边标签匹配时,利用公式(4)先计算每个查询节点选择性,以选择性最小查询节点作为起始节点进行遍历,减少匹配的迭代次数;节点的选择性用查询节点的候选节点集合基数与查询节点的入度边及出度边之和进行评估,按照公式(4):
select(ns)=(countOut(ns))+(countIn(ns))+|C(ns)| (4)
以下过程表示进行边标签同构匹配所形成的答案集:
3)遍历Can集合,从Can集合中选择节点进行匹配;
5)分别按序查找ns候选节点集合C(ns)中的节点n和ns′的候选节点集合C(ns')中的节点n1,检索Outn索引,若存在边标签为的节点集合,并且集合中的节点与集合C(ns')中的节点有交集,则将节点n并入ns的临时候选节点集C'(ns)中;检索索引,若存在边标签为的节点集合,并且集合中的节点与集合C(ns)有交集,则将节点n1并入ns′的临时候选节点集C'(ns')中;
8)分别按序查找ns候选节点集合C(ns)中的节点n和ns″的候选节点集合C(ns″)中的节点n2,检索Inn索引,若存在边标签为的节点集合,并且集合中的节点与集合C(ns″)中的节点有交集,则将节点n并入ns的临时候选节点集C'(ns)中;检索索引,若存在边标签为的节点集合,并且集合中的节点与集合C(ns)有交集,则将节点n2并入ns″的临时候选节点集C'(ns″)中;
10)将ns'和ns″加入到Can集合中,并将节点n从Can中移除,并入到Vis集合中标记已访问;
本发明创造的有益效果:本发明通过本体标签树索引,将实体节点按照本体标签层级进行划分形成树形结构,以便快速确定查询节点候选范围,提高查询效率,更好的体现实体间语义关系及用户的查询意图,提高查询结果语义相关性。根据本体标签树形成一级本体标签索引以及d-邻域信息缩小搜索空间,保证查询质量的同时提升查询速度,减少空间代价。选取选择性最小的查询节点作为起始节点进行边标签同构匹配,以减少匹配迭代次数,利用双向索引优化查询效率。
附图说明
图1为本体标签树的创建过程图;
图2为本体标签知识图谱的样例查询图;
图3为本体标签树索引图;
图4为本发明的查询处理模型图;
图5(a)为DBpedia数据集下查询响应时间与目标图规模对比图;
图5(b)为Freebase数据集下查询响应时间与目标图规模对比图;
图5(c)为DBpedia数据集下查询响应时间与查询图规模对比图;
图5(d)为Freebase数据集下查询响应时间与查询图规模对比图;
图6(a)为DBpedia数据集下查询结果精确度对比图;
图6(b)为Freebase数据集下查询结果精确度对比图;
图7为查询相关性评估结果图。
具体实施方式
下面将结合本发明创造实施例中的附图,对本发明创造实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明创造一部分实施例,而不是全部的实施例。
本发明采用的技术方案是:设计并实现了一种有效的基于本体标签知识图谱的样例查询方法。样例查询主要分为2大步骤,第一步根据用户输入的关键字确定用户查询意图,在知识图谱中标记出关键字所构成的图结构作为用户查询样例图S。第二步根据第一步中已经确定的用户查询样例图结构,找到用户可能感兴趣的其他相似结构的子图集合,根据相似性得分高低,返回给用户相似性评分更高的前k个结果。本发明主要面向第二步所解决的问题。其中,第一阶段为过滤候选节点,首先构建本体标签树,使用一级本体标签索引和查询节点的d-邻域集合为用户查询样例中每个查询节点过滤候选节点集合,缩小检索空间并将候选集合中的节点进行降序排序。阶段二通过构建双向索引,按照候选集合中的节点顺序进行边标签同构匹配,直接得到前k个结果返回给用户。
步骤如下:
步骤1构建本体标签树索引。
在本体知识图谱中,标签主要是用来描述和补充实体信息,以及实体与实体之间的关系。本体信息描述的是实体类型之间存在的层级关系,每个实体信息都有特定的类型属性。一个实体节点对应一个或多个标签,这些标签集合将构成这个节点的本体信息称作本体标签,作为对这个实体的一种语义描述。本发明提出根据节点的本体标签建立本体标签树索引,把本体标签集看作树的节点集合,为每个树节点建立包含此本体标签的实体节点的倒排列表,利用本体标签树可以直接确定查询节点的候选节点大致范围,缩小搜索空间。
定义1:本体标签知识图谱G=(VG,EG,TG,LG),其中VG表示顶点集合,EG表示边集合,TG表示顶点的本体标签集合,LG表示边标签集合。
定义2:父标签、子标签和后继子标签。一级本体标签t1和二级本体标签t11、t12之间的关系是父子关系,t1为父标签,t11、t12为t1的子标签,三级本体标签t111、t112作为二级本体标签t11的子标签,它们也都是一级本体标签t1的后继子标签。本体标签按横向划分称为本体标签层级集合记为Th[],当h=1时,Th[]中存放所有一级本体标签;h=2时,Th[]中存放所有二级本体标签。每个本体标签ti都有自己的后继子标签集合ti[]。本发明不记录ti[]为标签本身的结果(因为这些标签可以作为叶子节点)。
由定义2可以看出,后继子标签集合具有反推性,即根据子标签能够推出其父标签,所以在计算每个本体标签的后继子标签集合时,基于计算出的本体标签层级集合Th[],从最高级本体标签集Thmax[]中的每个本体标签开始计算后继子标签集合。本体标签树的创建过程如图1所示。
步骤1-1将本体标签按照层级进行划分,得到Th[]集合。
步骤1-2计算每个本体标签的后继子标签集合。
如图2所示知识图谱G的本体标签集TG={t1,t2,t11,t12,t13,t14,t21,t22},首先将所有本体标签按照层级进行划分,得到Th[]集合,其中T1[]=[t1,t2],T2[]=[t11,t12,t13,t14,t21,t22],然后计算每个本体标签的父标签形成后继子标签集合ti[],结果如表1所示,首先从T2[]集合开始遍历标签t11、t12、t13、t14拥有共同的父标签t1,即t1[]=[t11,t12,t13,t14];标签t21、t22拥有共同的父标签t2,即t2[]=[t21,t22]。遍历T1[]=[t1,t2],则最终t1[]=[t1,t11,t12,t13,t14],t2[]=[t2,t21,t22]。
表1:后继子标签集合表
步骤1-3初始化根节点的层数h=0,并将所有本体标签放入根节点中,然后调用函数BuildNode来创建其子树。在BuildNode函数中,首先更新层数,即本体标签的级数,得到Th[]集合,并获得ti[]集合后建立本体标签树节点,将此树节点加入到根节点的孩子节点并从根节点中移除此孩子节点所包含的所有本体标签。
步骤1-4最终为每个树节点创建所包含此本体标签的实体节点的倒排列表,并形成本体标签树返回。最终形成的本体标签树索引结构如图3所示。
步骤2筛选候选节点集合。
步骤2-1利用一级本体标签索引过滤候选节点集合。传统的知识图谱查询进行节点匹配时需要遍历所有节点,查询效率低下。为了解决这个问题,本发明提出通过一级本体标签索引FLIndex直接过滤掉那些与查询节点不匹配的节点,不必遍历知识图谱中所有节点,有效地缩小查询搜索空间。一级本体标签索引FLIndex可由标签树抽取出来,采用倒排列表的结构,每个一级本体标签索引FLIndex都记录包含该本体标签的所有节点集合,FLIndex索引如(1)所示:
FLIndex{<t1>(n1,n2,...),<t2>(n1,n2,...),...,<tn>(n1,n2,...)}(1)
FLIndex中包含所有一级本体标签,每个一级本体标签中是包含该标签的节点集合。利用一级本体标签作为索引,当给定一个查询节点时,在一级本体标签索引中找到与查询节点具有相同的一级本体标签集合,将其作为此查询节点的候选节点集合。
步骤2-2利用d-邻域过滤候选节点。
由于有些节点可能距离查询节点非常远甚至没有直接或间接的关联关系,为了更好地比较节点间的相关性,我们引入d-邻域的概念,考虑到知识图谱的特点距离查询节点越远的节点在语义上也相距较远,即设定距离查询节点一定距离的节点才能作为其候选节点,d值大小取决于知识图谱中的数据规模和用户的查询意图。
步骤2-3将候选节点集合进行排序。
按照公式(2)计算查询节点与候选集合中的节点的相关性,并根据这个得分将候选节点降序排序,相关性公式如公式(2):
其中ns表示查询节点,a表示ns的候选节点,T(ns)表示ns的节点本体标签集合,当ns和其候选节点a本体标签相同时εj=1,否则εj=0。d'表示两个节点之间的距离,d'≤d。当每个查询节点的候选集合中的节点都按照相关性公式降序排好后,在进行边标签同构匹配时,按照顺序选择相关性高的节点先进行匹配,在进行边标签匹配的同时计算形成的子图的节点相关性得分之和,便于直接找到前k个得分最高的子图结构并返回给用户。
步骤3构建双向索引。
在本体标签知识图谱中,每个实体节点自身带有标签,实体之间通过具有属性标签的有向边相连,为了有效提高查询效率,减少后续进行边标签同构匹配的时间开销,在进行边标签同构匹配查询之前,为知识图谱中每个实体节点创建以下双向索引:
其中ns标识节点,和分别表示节点ns的入度索引和出度索引,lx:<nm,...,nj>,ly:<nm,...,ni>分别表示入度边标签为lx和出度边标签为ly的节点集合,(countIn(ns))和countout(ns)分别表示节点ns的入度、出度节点总个数。
步骤3-1知识图谱中一个节点q,找到节点q的一个邻居节点p,如果有并且节点p,q都没有被访问过,将边标签l添加到节点q的入度索引集合In(q),并将节点p加入到集合In(q)中标签为l的节点集合Inl(q),节点q的入度索引集合中总节点数countIn(q)加一。按照相同的方法记录节点p的出度索引Out(p)集合、Outl(p)集合和countOut(p)。
步骤3-3标记节点q节点被访问过,记录q节点的双向索引Bi-directional index(q)。
步骤3-4重复此过程,直到建立所有节点的双向索引。
步骤4进行边标签同构匹配。
在得到每个查询节点有序的候选节点集合后,需要按照查询样例将候选节点构建成相似的子图结构,按照边标签进行匹配形成相关答案集。
在进行边标签匹配时,需要选择一个合适的查询节点作为起始节点进行遍历,可以有效减少匹配代价。节点的选择性用查询节点的候选节点集合基数与查询节点的入度边及出度边之和进行评估,按照公式(4):
select(ns)=(countOut(ns))+(countIn(ns))+|C(ns)| (4)
以下过程表示进行边标签同构匹配所形成的答案集。
3)遍历Can集合,从Can集合中选择节点进行匹配。
5)分别按序查找ns候选节点集合C(ns)中的节点n和ns′的候选节点集合C(ns')中的节点n1,检索Outn索引,若存在边标签为的节点集合,并且集合中的节点与集合C(ns')中的节点有交集,则将节点n并入ns的临时候选节点集C'(ns)中;检索索引,若存在边标签为的节点集合,并且集合中的节点与集合C(ns)有交集,则将节点n1并入ns′的临时候选节点集C'(ns')中。
8)分别按序查找ns候选节点集合C(ns)中的节点n和ns″的候选节点集合C(ns″)中的节点n2,检索Inn索引,若存在边标签为的节点集合,并且集合中的节点与集合C(ns″)中的节点有交集,则将节点n并入ns的临时候选节点集C'(ns)中;检索索引,若存在边标签为的节点集合,并且集合中的节点与集合C(ns)有交集,则将节点n2并入ns″的临时候选节点集C'(ns″)中。
10)将ns'和ns″加入到Can集合中,并将节点n从Can中移除,并入到Vis集合中标记已访问。
实施例1:
结合附图对本发明做进一步描述:
本发明使用2个真实数据集进行实验:Freebase和DBpedia数据集,表1为两个数据集规模大小的比较。使用java语言实现算法。开发工具使用IntelliJ IDEA,我们从AOL查询日志中抽取50个真实查询作为测试集,d值选取5。即考虑查询节点距离5以内的节点,不会占用太多内存,也不会影响实验效果。如果返回的结果集中少于k个答案,可以适当增加d值,放宽距离要求。
表2:数据集规模比较表
图4为本发明的查询处理模型。用户只需要提供自己感兴趣的关键字即可得到相关答案集。用户发出查询关键字后,在本体标签知识图谱中进行关键字匹配,得到带有本体标签的用户查询样例图,根据一级本体标签索引为每个查询节点筛选候选节点集合,得到一次候选节点集合,然后通过计算查询节点的d-邻域节点集合,在一次候选节点集合基础上进行二次过滤,得到二次候选节点集合。在进行边标签匹配验证之前,计算每个候选节点相关性得分,将候选节点按照相关性得分降序排序,这样在进行边标签匹配时按照顺序选择节点进行匹配,可以直接得到前k个相关性得分高的结果返回给用户,不必计算出所有结果后再进行排序,同时采用双向索引技术快速验证候选节点形成相关答案集合,极大提高查询效率。
验证查询性能,通过对比实验,比较查询响应时间、查询结果精确度以及该查询的相关性来评价本发明提出方法的有效性。
查询响应时间
图5(a)(b)表示分别在两种数据集上查询时间随着目标图的规模大小的变化情况,随着目标图节点的增加,3种算法查询时间都相应增加,但是明显本发明采用的算法EQOL的查询响应时间低于其他两种算法。目标图规模的增加对本查询效率影响不大。这是因为EQOL算法在进行查询时提前计算每个查询节点的候选结果集,缩小了搜索空间,并将结果集进行排序,可以直接返回用户前k个结果。而其他两种方法需要遍历目标图中所有候选结果进行匹配后,计算相关性得分,将分值高的结果返回给用户。
图5(c)(d)表示在2种数据集上查询时间随着查询图规模的大小的变化情况,查询图规模用(节点数,边数)表示,从图中可以看出,当查询图规模越大时,3种算法的查询时间都逐渐增加,但是EQOL算法增加相对缓慢且查询时间低于其他两种算法,这是因为在筛选候选节点阶段,使用本体标签树索引,对于每个查询节点,只需在其相同一级本体标签集合中过滤候选节点,极大加快筛选效率,并且使用有效的双向索引能够加快边标签匹配响应时间从而提高查询效率。
查询结果精确度对比
由于用户关心的结果大多都是前k个记录的信息是否准确,在本发明中我们通过设置不同的k值进行实验,验证结果的精确度情况。采用P@K值计算精确度,其中P@K是前k个结果集在所有结果集的百分比。对比EXQ、NeMa和EQOL算法在2种不同的数据集上进行实验,每个实验执行5次取平均值,3种算法的查询图相同,不考虑本体标签噪音。k值分别取5,10,15,20,30情况下的结果集的精确度如图6所示。从图中可以看出,在不同的数据集上,EQOL算法的平均精确度更高,由于NeMa算法只考虑节点标签和图的结构信息,忽略了边标签的重要性,EXQ既考虑了边标签有考虑的邻居节点的相关性,但是没有关注节点本身的本体信息,而EQOL既考虑节点本身,利用节点本体标签过滤候选节点,同时考虑了节点的邻居信息,考虑查询节点与候选节点之间的相关性,而且关注边标签的匹配。3种算法均在k值为5时精确度最高,随着k值增加,精确度相对下降,这是因为返回的结果均是按照相关性得分进行排序得到的,当返回的结果越多,即k值越大,结果精确度的平均值就会相对减少。
查询结果相关性
采用用户调查的方法,找到50位年龄段,文化程度不相同的用户作为调查对象评价本发明的算法。对于查询测试集中的每个查询案例,我们为用户解释查询的含义,每个用户评价5或10个查询所返回的结果,使用不相关,相关,非常相关对结果进行评估。k值取10。用户总共提供了5230个标记结果,如图7所示,约86%的结果被认为是相关的(其中大约31%的结果被认为是一般相关的,约55%的结果是非常相关的),只有14%的结果被认为是不相关的。
Claims (5)
1.一种面向本体标签知识图谱的样例查询方法,其特征在于,其步骤为:
步骤1:构建本体标签树索引:
定义1:本体标签知识图谱G=(VG,EG,TG,LG),其中VG表示顶点集合,EG表示边集合,TG表示顶点的本体标签集合,LG表示边标签集合;
定义2:父标签、子标签和后继子标签;一级本体标签t1和二级本体标签t11、t12之间的关系是父子关系,t1为父标签,t11、t12为t1的子标签,三级本体标签t111、t112作为二级本体标签t11的子标签,它们也都是一级本体标签t1的后继子标签;本体标签按横向划分称为本体标签层级集合记为Th[],当h=1时,Th[]中存放所有一级本体标签;h=2时,Th[]中存放所有二级本体标签;每个本体标签ti都有自己的后继子标签集合ti[];
步骤1-1将本体标签按照层级进行划分,得到Th[]集合;
步骤1-2计算每个本体标签的后继子标签集合;
步骤1-3初始化根节点的层数h=0,并将所有本体标签放入根节点中,然后调用函数BuildNode来创建其子树。在BuildNode函数中,首先更新层数,即本体标签的级数,得到Th[]集合,并获得ti[]集合后建立本体标签树节点,将此树节点加入到根节点的孩子节点并从根节点中移除此孩子节点所包含的所有本体标签;
步骤1-4最终为每个树节点创建所包含此本体标签的实体节点的倒排列表,并形成本体标签树返回;
步骤2筛选候选节点集合;
步骤2-1利用一级本体标签索引过滤候选节点集合;
步骤2-2利用d-邻域过滤候选节点;
步骤2-3将候选节点集合进行排序;
步骤3构建双向索引;
步骤4进行边标签同构匹配。
2.根据权利要求1所述的一种面向本体标签知识图谱的样例查询方法,其特征在于,所述的步骤1-2中,具体为:
知识图谱G的本体标签集TG={t1,t2,t11,t12,t13,t14,t21,t22},首先将所有本体标签按照层级进行划分,得到Th[]集合,其中T1[]=[t1,t2],T2[]=[t11,t12,t13,t14,t21,t22];然后计算每个本体标签的父标签形成后继子标签集合ti[],从T2[]集合开始遍历标签t11、t12、t13、t14拥有共同的父标签t1,即t1[]=[t11,t12,t13,t14];标签t21、t22拥有共同的父标签t2,即t2[]=[t21,t22],遍历T1[]=[t1,t2],则最终t1[]=[t1,t11,t12,t13,t14],t2[]=[t2,t21,t22]。
3.根据权利要求1所述的一种面向本体标签知识图谱的样例查询方法,其特征在于,所述的步骤2-1中,具体为:
采用倒排列表的结构,每个一级本体标签索引FLIndex都记录包含该本体标签的所有节点集合,FLIndex索引如(1)所示:
FLIndex{<t1>(n1,n2,...),<t2>(n1,n2,...),...,<tn>(n1,n2,...)} (1)
FLIndex中包含所有一级本体标签,每个一级本体标签中是包含该标签的节点集合,利用一级本体标签作为索引,当给定一个查询节点时,在一级本体标签索引中找到与查询节点具有相同的一级本体标签集合,将其作为此查询节点的候选节点集合。
所述的步骤2-2中,具体为:
引入d-邻域的概念,d值大小取决于知识图谱中的数据规模和用户的查询意图;
所述的步骤2-3中,具体为:
按照公式(2)计算查询节点与候选集合中的节点的相关性,并根据这个得分将候选节点降序排序,相关性公式如公式(2):
其中ns表示查询节点,a表示ns的候选节点,T(ns)表示ns的节点本体标签集合,当ns和其候选节点a本体标签相同时εj=1,否则εj=0;d'表示两个节点之间的距离,d'≤d;当每个查询节点的候选集合中的节点都按照相关性公式降序排好后,在进行边标签同构匹配时,按照顺序选择相关性高的节点先进行匹配,在进行边标签匹配的同时计算形成的子图的节点相关性得分之和,便于直接找到前k个得分最高的子图结构并返回给用户。
4.根据权利要求1所述的一种面向本体标签知识图谱的样例查询方法,其特征在于,所述的步骤3中,具体方法为:
在本体标签知识图谱中,每个实体节点自身带有标签,实体之间通过具有属性标签的有向边相连,在进行边标签同构匹配查询之前,为知识图谱中每个实体节点创建以下双向索引:
其中ns标识节点,和分别表示节点ns的入度索引和出度索引,lx:<nm,...,nj>,ly:<nm,...,ni>分别表示入度边标签为lx和出度边标签为ly的节点集合,(countIn(ns))和countout(ns)分别表示节点ns的入度、出度节点总个数。
步骤3-1知识图谱中一个节点q,找到节点q的一个邻居节点p,如果有并且节点p,q都没有被访问过,将边标签l添加到节点q的入度索引集合In(q),并将节点p加入到集合In(q)中标签为l的节点集合Inl(q),节点q的入度索引集合中总节点数countIn(q)加一;按照相同的方法记录节点p的出度索引Out(p)集合、Outl(p)集合和countOut(p)。
步骤3-3标记节点q节点被访问过,记录q节点的双向索引Bi-directional index(q);
步骤3-4重复此过程,直到建立所有节点的双向索引。
5.根据权利要求1所述的一种面向本体标签知识图谱的样例查询方法,其特征在于,所述的步骤4中,具体方法为:
在得到每个查询节点有序的候选节点集合后,需要按照查询样例将候选节点构建成相似的子图结构,按照边标签进行匹配形成相关答案集;
在进行边标签匹配时,利用公式(4)先计算每个查询节点选择性,以选择性最小查询节点作为起始节点进行遍历,减少匹配的迭代次数;节点的选择性用查询节点的候选节点集合基数与查询节点的入度边及出度边之和进行评估,按照公式(4):
select(ns)=(countOut(ns))+(countIn(ns))+|C(ns)| (4)
以下过程表示进行边标签同构匹配所形成的答案集:
3)遍历Can集合,从Can集合中选择节点进行匹配;
5)分别按序查找ns候选节点集合C(ns)中的节点n和ns′的候选节点集合C(ns')中的节点n1,检索Outn索引,若存在边标签为的节点集合,并且集合中的节点与集合C(ns')中的节点有交集,则将节点n并入ns的临时候选节点集C'(ns)中;检索索引,若存在边标签为的节点集合,并且集合中的节点与集合C(ns)有交集,则将节点n1并入ns′的临时候选节点集C'(ns')中;
8)分别按序查找ns候选节点集合C(ns)中的节点n和ns″的候选节点集合C(ns”)中的节点n2,检索Inn索引,若存在边标签为的节点集合,并且集合中的节点与集合C(ns”)中的节点有交集,则将节点n并入ns的临时候选节点集C'(ns)中;检索索引,若存在边标签为的节点集合,并且集合中的节点与集合C(ns)有交集,则将节点n2并入ns”的临时候选节点集C'(ns”)中;
10)将ns'和ns”加入到Can集合中,并将节点n从Can中移除,并入到Vis集合中标记已访问;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110861901.XA CN113569057B (zh) | 2021-07-29 | 2021-07-29 | 一种面向本体标签知识图谱的样例查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110861901.XA CN113569057B (zh) | 2021-07-29 | 2021-07-29 | 一种面向本体标签知识图谱的样例查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113569057A true CN113569057A (zh) | 2021-10-29 |
CN113569057B CN113569057B (zh) | 2024-03-22 |
Family
ID=78168774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110861901.XA Active CN113569057B (zh) | 2021-07-29 | 2021-07-29 | 一种面向本体标签知识图谱的样例查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569057B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115033595A (zh) * | 2022-08-10 | 2022-09-09 | 杭州悦数科技有限公司 | 基于超级节点的查询语句处理方法、系统、装置和介质 |
CN115080807A (zh) * | 2022-07-20 | 2022-09-20 | 北京达佳互联信息技术有限公司 | 数据查询方法、装置及电子设备 |
CN116701573A (zh) * | 2023-06-06 | 2023-09-05 | 哈尔滨理工大学 | 一种基于时序知识图谱的查询方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200320147A1 (en) * | 2019-04-05 | 2020-10-08 | Ovh | Method of and system for clustering search queries |
CN112214612A (zh) * | 2020-09-29 | 2021-01-12 | 华东师范大学 | 知识图谱标签松散场景下地理信息索引结构及检索方法 |
-
2021
- 2021-07-29 CN CN202110861901.XA patent/CN113569057B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200320147A1 (en) * | 2019-04-05 | 2020-10-08 | Ovh | Method of and system for clustering search queries |
CN112214612A (zh) * | 2020-09-29 | 2021-01-12 | 华东师范大学 | 知识图谱标签松散场景下地理信息索引结构及检索方法 |
Non-Patent Citations (1)
Title |
---|
张玲玉;尹鸿峰;: "基于OAN的知识图谱查询研究", 软件, no. 01 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115080807A (zh) * | 2022-07-20 | 2022-09-20 | 北京达佳互联信息技术有限公司 | 数据查询方法、装置及电子设备 |
CN115033595A (zh) * | 2022-08-10 | 2022-09-09 | 杭州悦数科技有限公司 | 基于超级节点的查询语句处理方法、系统、装置和介质 |
CN116701573A (zh) * | 2023-06-06 | 2023-09-05 | 哈尔滨理工大学 | 一种基于时序知识图谱的查询方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113569057B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bhattacharya et al. | Collective entity resolution in relational data | |
CN113569057A (zh) | 一种面向本体标签知识图谱的样例查询方法 | |
Gallagher | Matching Structure and Semantics: A Survey on Graph-Based Pattern Matching. | |
CN104239513B (zh) | 一种面向领域数据的语义检索方法 | |
US9183286B2 (en) | Methodologies and analytics tools for identifying white space opportunities in a given industry | |
CN108132927B (zh) | 一种融合图结构与节点关联的关键词提取方法 | |
Mahdi et al. | FR-Tree: A novel rare association rule for big data problem | |
Nargesian et al. | Data lake organization | |
CN111680205B (zh) | 一种基于事理图谱的事件演化分析方法及装置 | |
Ellis | Managing complex objects | |
Yingfan et al. | Revisiting $ k $-Nearest Neighbor Graph Construction on High-Dimensional Data: Experiments and Analyses | |
Tang et al. | Materials Science Literature-Patent Relevance Search: A Heterogeneous Network Analysis Approach | |
Sakr et al. | An overview of graph indexing and querying techniques | |
Simonini et al. | Progressive entity resolution with node embeddings | |
AU2020104033A4 (en) | CDM- Separating Items Device: Separating Items into their Corresponding Class using Iris Dataset Machine Learning Classification Device | |
Munieswari et al. | A Survey on Feature Selection Using FAST Approach to Reduce High Dimensional Data | |
Fotsoh et al. | Retrieval of complex named entities on the web: proposals for similarity computation | |
Lokoč | Tree-based indexing methods for similarity search in metric and nonmetric spaces | |
Mountantonakis et al. | Applying cross-data set identity reasoning for producing URI embeddings over hundreds of RDF data sets | |
Ding et al. | Example query on ontology-labels knowledge graph based on filter-refine strategy | |
Mutlu et al. | Improving hit ratio of ILP-based concept discovery system with memoization | |
CN117112722A (zh) | 一种基于异构图神经网络的上位法检索方法 | |
Ranjini et al. | Concept type and relationship type classification based approach for identifying and prioritizing potentially interesting concepts in ontology matching | |
Achichi | Liage de données ouvertes et hétérogènes: application au domaine musical | |
Panev | Exploring Data through Ranked Entities |
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 |