一种路网中位置点查询方法及装置的制造方法_4

文档序号:8361597阅读:来源:国知局
案可知,本发明提供的一种路网中位置点查询装置实施例五,通过对路网中每个位置点的空间位置信息及位置属性信息进行条件判断,来确定路网中位置属性信息与查询请求中查询关键字之间的对应关系满足第一条件且空间位置信息与查询位置点的位置信息之间的对应关系满足第二条件的位置点,这些位置点即为符合用户的查询请求的目标位置点。本实施例通过对路网中各个位置点与查询位置点之间的空间位置信息及位置属性信息进行条件判断,进而确定符合用户查询请求的目标位置点,避免现有技术中返回空或大量的位置点使得查询结果不准确的情况,由此提高查询结果的准确率。
[0144]需要说明的是,所述第一条件与所述第二条件可以由用户进行设定,以提高查询的灵活性。
[0145]在具体实现中,所述第一条件可以为:位置点的位置属性信息与查询关键字之间的文本相关性属性值大于或等于预设第一阈值,而所述第二条件可以为:位置点的空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值。
[0146]也就是说,本实施例中所查询到的位置点与查询位置点之间的关键字文本相关性满足第一条件,即其相关性属性值大于或等于第一阈值,且目标位置点与查询位置点之间的位置距离损耗值满足第二条件,即距离最近的K个位置点为目标位置点。
[0147]参考图8,为本发明提供的一种路网中位置点查询装置实施例六中所述目标确定单元702的结构示意图,其中,所述目标确定单元702可以包括以下结构:
[0148]候选确定子单元721,用于确定所述路网中位置属性信息与所述查询关键字之间的文本相关性属性值大于或等于预设第一阈值的位置点为候选位置点。
[0149]目标确定子单元722,用于确定所述候选位置点中空间位置信息与所述查询位置点的位置信息之间的位置距离损耗值由小到大排列序号值小于或等于预设第二阈值的位置点为目标位置点。
[0150]也就是说,所述路网中以本实施例中的方案进行位置点查询,简称TK-SK查询,是根据一个给定的查询请求,包括查询位置点及查询关键值,以Qn表示,本实施例的目标在于找到k(第二阈值)个距离查询位置比较近且他们的文本相关性得分(文本相关性属性值)高于一个给定阈值(第一阈值,用户设置,能够灵活改变的阈值)的位置点。
[0151]此时,01<有4个组成部分,可表示为〈9.1,9.(1,9.1(,9.1'>。其中q.1表示查询的空间地理位置(包括经度和维度),q.d表示一组查询关键字,q.K表示最大返回结果的个数(第二阈值),以及q.T表不文本相关性得分阈值(第一阈值)。每个位置点POI (用P表示),正如前文中所说的,都会依附于路网中的一个结点。本实施例给定一个查询Qn、路网G以及POI数据集P。Qn根据得分函数τ以得分降序的顺序返回k个Ρ0Ι。得分函数τ与文本相关性成正相关,与距离消耗成负相关,定义如下:
[0152]τ (P) = f ( Θ (p.d, q.d) - T ) / δ (p.1, q.1)
[0153]其中,得分f是一个特殊的布尔满足表达函数。Θ (p.d,q.d)代表着p.d与查询关键字q.d的文本相关性得分(介于0-1)。T是一个文本相关性阈值。这个阈值是文本限制用来决定一个POI P是否满足查询的文本需求。比如,一个POI p,如果Θ (q.d, p.d)彡T,则认为P满足查询q的文本需求。换而言之,f ( Θ (p.d,q.d)-T)是用来决定查询q是否得到满足。如果 q 得到满足,,则 f( Θ (P.d, q.d) - T ) = 1,否则 f ( Θ (p.d, q.d) - T ) = O。δ (p.1, q.1)代表着查询位置(q.1)与POI位置(p.1)路网邻近程度。也就是说,POI p与查询位置(q.1)的最短路径成本,可以定义为:
[0154]δ (P.1,q.1) = I I P.1,q.1 I I
[0155]其中,本发明实施例可以基于迪杰斯特拉算法的baseline方案实现在路网中进行TK-SK查询,具体实现可以参考前文中相应方法实施例内容,此处不再详述。
[0156]在实际应用中,可以预先获取路网的关键字倒排文件来实现上述技术方案,以降低1操作的消耗。也就是说,所述路网具有关键字倒排文件,所述关键字倒排文件可以包括多个倒排列表,每个所述倒排列表对应所述路网中所有关键字中的一个倒排关键字,每个所述倒排列表中包括多个具有所述倒排关键字的位置点,所述位置点对应其重要性属性值及其所属路网结点,每个所述倒排列表中的位置点依据其各自的重要性属性值的大小顺序排列,如图2c中的关键字Chinese、hotel、music各自的倒排列表所示。
[0157]也就是说,倒排文件是由一系列关键字表示的列表组成的。每个倒排列表保存的POI都包含同一个关键字。对于每一个POI P,该列表保存P所关联的结点和该列表所对应的的关键字的ti在P中的得分,并且按得分降序排序。如图2c所示,由“Hotel”确定的倒排列表中,第一个位置是POI P2的相关信息,数值0.7171表示P 2的重要性得分,而v9表示P2所在的边。
[0158]而在本实施例中可以引入G-tree路网索引方案,在本方案中,G-tree是一个基于树地以一种有效地方式保存空间结构的路网索引结构,能有效地处理路网中的KNN查询。本实施例利用其来找到路网中最近的k个候选POIs。根据图2b的信息,图2d表示G-tree图划分,而图2e则表示G-tree路网结构。距离矩阵保存一个边到另外一个边/结点(非叶子结点/叶子节点(等同于“结点”))的最短路径。非叶子结点的距离矩阵保存其孩子结点的边界之间的最短路径距离,而叶子结点的距离矩阵保存其包含的路网结点到边界的最短路径距离。因此,两个结点之间(路网中的结点)最短路径长度计算的复杂度较小。
[0159]此时,基于前文中所述内容,参考图9,为本发明提供的一种路网中位置点查询装置实施例七中所述候选确定子单元721的结构示意图,其中,所述候选确定子单元721可以包括以下结构:
[0160]当前确定模块901,用于将每个所述倒排列表中排序第一位的位置点作为当前位置点;
[0161]位置点设置模块902,用于将所述当前位置点置于预设候选集合中;
[0162]上界获取模块903,用于对所述候选集合中的当前位置点的重要性属性值进行加和,得到所述当前位置点对应的上界数值;
[0163]上界判断模块904,用于判断所述上界数值是否小于所述第一阈值,如果是,结束当前处理,否则,触发当前更新模块905 ;
[0164]当前更新模块905,用于将每个所述倒排列表中所述当前位置点的下一个位置点更新为当前位置点,返回触发所述位置点设置模块903将所述当前位置点置于预设候选集合中,直到所述当前位置点对应的上界数值是否小于所述第一阈值,结束当前处理;
[0165]位置点删除模块906,用于删除所述候选集合中文本相关性属性值小于所述第一阈值的位置点;
[0166]候选点确定模块907,用于确定所述候选集合中剩余的位置点为候选位置点。
[0167]也就是说,上述结构用来找到所有的候选POIs P’(P e P’,Θ (p.d, q.d)彡T)。其具体实现方案及举例可以参考前文中相应方法实施例内容,此处不再详述。
[0168]相应的,参考图10,位本发明实施例七中所述目标确定子单元722的结构示意图,其中,所述目标确定子单元722可以包括以下结构:
[0169]目标集合确定模块1001,用于基于所述候选集合中的各个候选位置点,确定目标结点集合,所述目标结点集合包括每个所述候选位置点在所述路网上对应的路网结点。
[0170]基于前文中描述内容,本实施例中将候选集合中剩下的POIs关联的结点保存到结点集合N。最终得到了满足要求的候选POI集合C以及相应的结点N,其中,结点集合N是POI集合C中的POI所关联的路网中结点去重集合,因为存在多个POI关联同一个结点的情况。
[0171]候选集合确定模块1002,用于基于所述查询位置点,确定所述目标结点集合中与所述查询位置点之间的距离损耗值由小到大排列序号值小于或等于所述第二阈值的结点,以组成候选结点集合。
[0172]位置点筛选模块1003,用于将所述候选位置点中其对应结点未出现在所述候选结点集合中的位置点删除。
[0173]目标点确定模块1004,用于确定剩余的候选位置点为目标位置点。
[0174]也就是说,本实施例在得到候选POIs集合C以及相关的结点集合N之后,本实施例通过步骤用来找到最近的k个POI。首先,根据集合N,生成相应的(结点)出现列表0,队列H初始化为{〈root,0>},然后找到最近的k个结点集合R。根据集合R,重新评估POIs集合C,对于那些C中POI,其关联的结点不在R中则将其从C中删除,最后返回C作为最后的结果,C中的位置点即为目标位置点。
[0175]另外,本发明中也可以通过分层次索引IG-tree来实现明白位置点的确定。这种方案中,IG-tree结构将倒排文件和G-tree路网整合在一起,并且以倒排文件关在G-tree树结点的形式组织起来。IG-tree是从下往上的方式构建起来的。具体来说,IG-tree结点的倒排文件构建是先于其父节点的倒排文件构建。除根结点以外的结点都关联一个倒排文件。路网中的结点表示为IG-tree中的叶子节点,其倒排文件保存关联的POIs的文本详细信息。
[0176]而非叶子结点保存其容纳的POIs所包含的关键字的对应的最大得分,例如,最大得分如上一示例中,非叶子节点的某个关键字的最大得分是其所有孩子结点中该关键字得分的最大值。如图2f中索引结构所示。
[0177]具体的,参考图11,为本发明提供的一种路网中位置点查询装置实施例八中所述目标确定单元702的结构示意图,其中,所述目标确定单元702可以包括以下结构:
[0178]当前结点确定子单元1101,用于将所述路网中的根结点确定为当前节点。
[0179]当前结点插入子单元1102,用于将所述当前节点插入预设的候选队列中,所述候选队列中的结点按照其与所述查询位置点之间的位置距离损耗值由小到大排列。
[0180]叶子结点判断子单元1103,用于判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,如果是,触发阈值判断子单元1104,否则,触发当前节点更新子单元1105ο
[0181]阈值判断子单元1104,用于判断所述目标结点对应的位置点的位置属性信息与所述查询关键字之间的文本相关性属性值是否大于或等于所述第一阈值,如果是,触发位置点确定子单元1106,否则,触发结点删除子单元1107 ;
[0182]位置点确定子单元1106,将所述目标结点对应的位置点确定为目标位置点,触发结点删除子单元1107 ;
[0183]结点删除子单元1107,用于删除所述候选队列中的目标结点,返回触发所述叶子结点判断子单元1103判断所述候选队列中的排列序号值最小的目标结点是否为叶子结点,直到所述候选队列为空或者所述目标位置点的数量大于或等于所述第二阈值,结束当前处理;
[0184]当前节点更新子单元1105,用于确定所述目标节点的子结点,删除所述候选队列中的目标结点并将所述目标结点的子节点中与所述查询关键字的文本相关性属性值大于或等于所述第一阈值的子结点确定为当前结点,返回触发当前结点插入子单元1102将所述当前结点插入所述候选队列
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1