解决方向感知SKQ中why-not问题的方法及系统技术方案

技术编号:25185595 阅读:22 留言:0更新日期:2020-08-07 21:13
本发明专利技术公开了一种解决方向感知SKQ中why‑not问题的方法及系统,涉及空间关键字查询技术领域,本发明专利技术采用的是基于DAPC索引结构处理面向方向的增强空间关键字Top‑k查询的Why‑not问题的技术方案,根据对象的分布将整个空间分割成多个扇形和扇形圆环,对每个扇形或扇形圆环用一棵二叉树来组织该区域对象的文本和属性信息。查询处理时,根据各个遗失对象的空间位置和原查询方向得到一组新的查询方向,然后根据新的查询方向和扇形或扇形圆环的位置关系来决定是否需要检索该扇形空间或扇形圆环空间。能够有效地根据查询点与对象的位置信息来降低搜索空间,提高查询效率。

【技术实现步骤摘要】
解决方向感知SKQ中why-not问题的方法及系统
本专利技术涉及空间关键字查询
,具体涉及一种解决方向感知SKQ中why-not问题的方法及系统。
技术介绍
一个增强空间关键字Top-k查询可以返回k个既满足查询数值属性又同查询点在空间距离和文本相关性上最为相似的对象。考虑到在现实生活中,由于用户往往需要得到某个特定方向的对象,产生了面向方向的增强空间关键字Top-k查询。参见图1所示,面向方向的增强空间关键字Top-k查询所返回的k的对象既要同查询点在空间距离和文本相关性上最为相似,还要满足查询属性和查询方向的要求。然而,当用户发起了一次面向方向的增强空间关键字Top-k查询后,发现查询结果集中没有出现他所期待的对象(以下简称为遗失对象)。那么,用户可能会对查询结果产生怀疑,甚至是质疑整个查询模型的可靠性。为什么这些对象未出现在查询结果集中,是不是还有其它符合用户要求的对象也遗失了,以及如何让这些对象出现在查询结果集中等被称为Why-not问题。如图1所示,当用户在Q点发起一个面向方向的增强空间关键字Top-2查询q,其中,查询关键字为{w1,w2},查询数值属性为(A1<45)∩(A2>4.0),查询方向为图中扇形区域,可返回Top-2查询结果对象{o2,o8}。其中,对象o3因不满足查询关键字要求而被过滤,o6和o1分别因为不满足查询属性A1和A2而被过滤,其它对象如o7因不满足查询方向的要求而被过滤。表1图1中的各空间对象的相关信息>ObjectidkeywordsA1A2ObjectidkeywordsA1A2O1w1404.0O2w2384.3O3w3444.1O4w1,w2364.1O5w2,w3424.2O6w1,w3454.2O7w1,w2,w3394.3O8w1414.4O9w2503.8O10w3424.2O11w1,w2474.1O12w2,w3484.3O13w1,w3414.2O14w1,w2,w3503.8处理Why-not问题的方法有很多,查询修改、操作定位、数据修改、本体论等方法先后被提出。其中,查询修改的方法是根据遗失对象的相关信息来修改原查询条件,使得遗失对象出现在新的查询结果集中。例如,可通过调整空间距离和文本相似度的权重和查询关键字使得遗失对象出现在新的查询结果集中。而处理面向方向的增强空间关键字Top-k查询的Why-not问题的一个最基本的方法是:在精炼查询中不考虑查询方向的约束,只调整其它的原查询条件使得遗失对象出现在新的查询结果集中。其缺陷是:会有大量的无关空间被检索。因此,亟需一种高效的解决面向方向的增强空间关键字Top-k查询的Why-not问题的技术方案。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种解决方向感知SKQ中why-not问题的方法及系统,有效地根据查询点与对象的位置信息削减搜索空间,提高查询效率。为达到以上目的,本专利技术采取的技术方案是:一种解决方向感知SKQ中why-not问题的方法,包括以下步骤:获取初始查询q=(loc,doc0,B,D,k,α)和遗失对象集M;其中,q.loc为查询点坐标,q.doc0为查询关键词集合,q.B为布尔表达式,q.D为查询方向,k为原查询结果集对象的数目,α为调节空间距离与文本相似度之间的重要性的参数;构建关键字列表CKS,包括原查询关键字和遗失对象的关键字,并根据关键字的频繁程度由高到底排列;构建属性值对列表CAS,包括原查询属性和所有遗失对象的属性值对,并根据对应的遗失对象的得分从高到低排列;根据M和q.D构建查询方向列表CDS,包括所有遗失对象和原查询结果集对象的查询方向,且按照角度从小到大顺序排列;顺次抽取CKS中的关键字、CAS中的属性值对和CDS中的查询方向,分别添加至查询q′的关键字集q′.doc、属性值对q′.B′和查询方向q′.D′,形成精炼查询q′,直至CKS、CAS和CDS都为空;分别对各个精炼查询q′进行处理,具体处理包括:根据各个遗失对象的空间位置和原查询方向得到一组新的查询方向;将整个空间分割成多个扇形和扇形圆环,生成扇形和扇形圆环区域集合AL,并构建DAPC索引结构用于存储各区域对象的文本和属性信息;遍历AL,根据AL中扇形或扇形圆环与新的查询方向的位置关系,决定是否需要检索其中的扇形空间或扇形圆环空间;需要检索该扇形空间或扇形圆环空间时,根据DAPC索引结构搜索出满足查询要求的对象,并添加到结果集RRS中;对结果集对RRS中各个对象计算其相似性得分,获取前k’个高分的对象,直到所有的原始查询结果对象和所有的遗失对象均出现。在上述技术方案的基础上,根据各个遗失对象的空间位置和原查询方向得到一组新的查询方向,具体包括以下步骤:设d(m,q)代表遗失对象与查询点之间的距离,当d(m,q)>q.l且q.θ1≤m.θ≤q.θ2时,调整q.l,调整代价为其中R代表极点到空间中任一对象的距离的最大值,λ是一个介于0到1的调整查询方向角度和查询方向长度的重要性的参数;当d(m,q)≤q.l且q.θ1≤q.θ2<m.θ时,调整查询方向终边,使得所有遗失对象都在新的查询方向内,调整代价为或通过绕查询点顺时针旋转来调整查询方向始边,使得所有遗失对象都在新的查询方向内,调整代价为当d(m,q)≤q.l且m.θ<q.θ1≤q.θ2时,调整查询方向始边,调整代价为当d(m,q)>q.l且q.θ1≤q.θ2<m.θ时,调整查询方向长度并调整查询方向角;根据调整始边或者终边,调整代价分别为和当d(m,q)>q.l且m.θ<q.θ1≤q.θ2时,调整查询方向长度,并调整查询方向角,调整代价为在上述技术方案的基础上,将整个空间分割成多个扇形和扇形圆环,生成扇形和扇形圆环区域集合AL,并构建DAPC索引结构用于存储各区域对象的文本和属性信息,具体包括以下步骤:根据对象的空间位置建立一个极坐标系;以极点PO为原点,以极径R为半径画圆;对半径R进行λ等分,以极点PO为原点,以极径为半径画(λ-1)个同心圆;根据某区域中的对象的数目是否大于一个磁盘页所能容纳的对象数,判本文档来自技高网...

【技术保护点】
1.一种解决方向感知SKQ中why-not问题的方法,其特征在于,包括以下步骤:/n获取初始查询q=(loc,doc

【技术特征摘要】
1.一种解决方向感知SKQ中why-not问题的方法,其特征在于,包括以下步骤:
获取初始查询q=(loc,doc0,B,D,k,α)和遗失对象集M;其中,q.loc为查询点坐标,q.doc0为查询关键词集合,q.B为布尔表达式,q.D为查询方向,k为原查询结果集对象的数目,α为调节空间距离与文本相似度之间的重要性的参数;
构建关键字列表CKS,包括原查询关键字和遗失对象的关键字,并根据关键字的频繁程度由高到底排列;
构建属性值对列表CAS,包括原查询属性和所有遗失对象的属性值对,并根据对应的遗失对象的得分从高到低排列;
根据M和q.D构建查询方向列表CDS,包括所有遗失对象和原查询结果集对象的查询方向,且按照角度从小到大顺序排列;
顺次抽取CKS中的关键字、CAS中的属性值对和CDS中的查询方向,分别添加至查询q′的关键字集q′.doc、属性值对q′.B′和查询方向q′.D′,形成精炼查询q′,直至CKS、CAS和CDS都为空;
分别对各个精炼查询q′进行处理,具体处理包括:
根据各个遗失对象的空间位置和原查询方向得到一组新的查询方向;将整个空间分割成多个扇形和扇形圆环,生成扇形和扇形圆环区域集合AL,并构建DAPC索引结构用于存储各区域对象的文本和属性信息;遍历AL,根据AL中扇形或扇形圆环与新的查询方向的位置关系,决定是否需要检索其中的扇形空间或扇形圆环空间;
需要检索该扇形空间或扇形圆环空间时,根据DAPC索引结构搜索出满足查询要求的对象,并添加到结果集RRS中;对结果集对RRS中各个对象计算其相似性得分,获取前k’个高分的对象,直到所有的原始查询结果对象和所有的遗失对象均出现。


2.如权利要求1所述的解决方向感知SKQ中why-not问题的方法,其特征在于:根据各个遗失对象的空间位置和原查询方向得到一组新的查询方向,具体包括以下步骤:
设d(m,q)代表遗失对象与查询点之间的距离,
当d(m,q)>q.l且q.θ1≤m.θ≤q.θ2时,调整q.l,调整代价为其中R代表极点到空间中任一对象的距离的最大值,λ是一个介于0到1的调整查询方向角度和查询方向长度的重要性的参数;
当d(m,q)≤q.l且q.θ1≤q.θ2<m.θ时,调整查询方向终边,使得所有遗失对象都在新的查询方向内,调整代价为或通过绕查询点顺时针旋转来调整查询方向始边,使得所有遗失对象都在新的查询方向内,调整代价为
当d(m,q)≤q.l且m.θ<q.θ1≤q.θ2时,调整查询方向始边,调整代价为
当d(m,q)>q.l且q.θ1≤q.θ2<m.θ时,调整查询方向长度并调整查询方向角;根据调整始边或者终边,调整代价分别为和
当d(m,q)>q.l且m.θ<q.θ1≤q.θ2时,调整查询方向长度,并调整查询方向角,调整代价为


3.如权利要求1所述的解决方向感知SKQ中why-not问题的方法,其特征在于:将整个空间分割成多个扇形和扇形圆环,生成扇形和扇形圆环区域集合AL,并构建DAPC索引结构用于存储各区域对象的文本和属性信息,具体包括以下步骤:
根据对象的空间位置建立一个极坐标系;
以极点PO为原点,以极径R为半径画圆;
对半径R进行λ等分,以极点PO为原点,以极径为半径画(λ-1)个同心圆;
根据某区域中的对象的数目是否大于一个磁盘页所能容纳的对象数,判断是否需要对同心圆和同心圆环进行划分,形成多个扇形和扇形圆环的集合AL;
根据生成的多个扇形和扇形圆环构建DAPC索引结构,所述DAPC索引结构包括数组和多个二叉树的结点以及二叉树的每个结点链接的关键字倒排文件;其中所述数组用于保存同心圆和同心圆环的相关信息;二叉树的各个结点用于保存扇形区域和扇形圆环区域内的对象信息。


4.如权利要求3所述的解决方向感知SKQ中why-not问题的方法,其特征在于:所述数组的每个元素包括一个二元组<oi.R,oi.Address);
其中oi代表同心圆或同心圆环;oi.R为同心圆或同心圆环的极径范围,即oi.Address为某数组元素所指向的二叉树的地址。


5.如权利要求3所述的解决方向感知SKQ中why-not问题的方法,其特征在于:所述每个二叉树的结点包括一个四元组<Ri.id,Ri.loc,Ri.S,Ri.Address>;
其中Ri.id为树结点编号,用于唯一标识该结点;Ri.loc为该结点所对应的扇形或扇形圆环的空间信息,由该区域的始边和终边同极轴的两个夹角所构成;Ri.S为该结点所包含的所有对象的属性值对的并集,若Ri为该树的非叶结点,则Ri.Address为其子结点的地址;若Ri为该树的叶结点,则Ri.Address为其所包含的所有对象的地址。


6.如权利要求3所述的解决方向感知SKQ中why-not问题的方法,其特征在于:根据新的查询方向与扇形或扇形圆环的位置关系,遍历AL决定是否需要检索其中的扇形空间或扇形圆环空间,具体包括:
设扇形的区域是[α1,α2),扇形圆环的极径范围和区域分别为其中k为常数,且q.l长度不受限;
(1)当时,
若q.θ∈[0,α1),当点在查询方向内,需要访问该扇形;
若q.θ∈[α1,α2)时,无论查询方向角度为多少,该扇形都需要被访问;
若q.θ∈[α2,α1+π],当点在查询方向内时,需要访问该扇形;
若q.θ∈[α1+π,α2+π),当点或点在查询方向内时,需要访问该扇形;
若q.θ∈[α2+π,2π),当点在查询方向内时,需要访问该扇形;
(2)当时,
若q.θ∈[0,π-α2),无论查询方向角度为多少,该扇形都需要被访问;
若q.θ∈[π-α2,α1+π],当点在查询方向内时,需要访问该扇形;
若q.θ∈[α1+π,α2+π),当点或点在查询方向内时,需要访问该扇形;
若q.θ∈[α2+π,2π),当点在查询方向内时,需要访问该扇形;
(3)当时,
若q.θ∈[0,α1),当点在查询方向内时,需要访问该扇形圆环;
若q.θ∈[α1,α2)且时,无论查询方向角度为多少,该扇形圆环都需要被访问;
若q.θ∈[α1,α2)且时,当点或点在查询方向内时,需要访问该扇形圆环;
若q.θ∈[α2,α1+π],当点在查询方向内时,需要访问该扇形圆环;
若q.θ∈[α1+π,α2+π),当点或点在查询方向内时,需要访问该扇形圆环;
若q.θ∈[α2+π,2π),当点在查询方向内时,需要访问该扇形圆环;
(4)当时,
若q.θ∈[0,π-α2),无论查询方向角度为多少,该扇形圆环都需要被访问;
若q.θ∈[π-α2,α1+π],当点在查询方向内时,需要访问该扇形圆环;
若q.θ∈[α1+π,α2+π),当点或点在查询方向内时,需要访问该扇形圆环;
若q.θ∈[α2+π,2π),当点在查询方向内时,需要访问该扇形圆环。


7.如权利要求1所述的解决方向感知SKQ中why-not问题的方法,其特征在于:需要检索该扇形空间或扇形圆环空间时,根据DAPC索引结构搜索出满足查询要求的对象,并添加到结果集RRS中,具体包括以下步骤:
计算精炼查询对原查询的查询修改代价,在确保当前的精炼查询的代价低于上一个精炼查询代价的基础上,通过比对查询属性和结点属性、查询方向和结点位置信息,将不满足查询要求的结点剪枝;
比对查询关键字与结点链接的倒排文件关键字,确定是否需要访问该结点的某个子结点;
对于需要访问的子结点,通过判断查询和对象是否满足综合匹配,决定是否需要将该对象添加到结果集RRS中。


8.如权利要求7所述的解决方向感知SKQ中why-not问题的方法,其特征在于:判断查询和对象是否满足综合匹配的标准是:查询q同对象o同时满足关键字匹配、属性匹配和方向匹配;其中,查询q同对象o方向匹配需满足:
0≤q.θ1≤q.θ2<q.θ时,查询q同对象o方向匹配当且仅当
当时,查询q同对象o方向匹配当且仅当
当时,查询q同对象o方向匹配当且仅当
当时,查询q同对象o方向匹配当且仅当


9.如权利要求7所述的解决方向感知SKQ中why-not问题的方法,其特征在于:计算精炼查询对原查询的查询修改代价,其计算公式为:



其中,β1、β2、β3、β4和β5为调节k值、关键字、属性种类、属性值和查询方向的变化对查询的影响的重要性的参数;且Δdoc为精炼查询相对原查询中关键字调整的数目;|q.doc0∪M.doc|为原查询关键字集和遗失对象关键字集的并集的关键字数目;ΔAk为精炼查询相对于原查询的属性种类调整的数目;为原查询属性种类和遗失对象的属性种类的并集的属性种类数目;|vi′-vi|为精炼查询相对于原查询的属性Ai的属性值的正差值;Δvi是属性Ai的众多属性值中的最大值和最小值的正差值;Δρ为新查询方向长度同原查询方向长度的正差值;Δθ为新查询方向角度同原查询方向角度的正差值。


10.如权利要求1所述的解决方向感知SKQ中why-not问题的方法,其特征在于:
对结果集RRS中对象计算其相似性得分,计算公式为:



其中,α∈[0,1],d(q.loc,o.loc)是查询q和对象o之间的欧氏距离,dmax(q.loc,O.loc)代表着查询q和对象集O中的所有对象的欧氏距离的最大值。


11.一种解决方向感知SKQ中why-not问题的系统...

【专利技术属性】
技术研发人员:李艳红张望
申请(专利权)人:中南民族大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1