CN107506490A - 滑动窗口下基于位置top‑k关键词查询的优先查询算法及系统 - Google Patents
滑动窗口下基于位置top‑k关键词查询的优先查询算法及系统 Download PDFInfo
- Publication number
- CN107506490A CN107506490A CN201710864389.8A CN201710864389A CN107506490A CN 107506490 A CN107506490 A CN 107506490A CN 201710864389 A CN201710864389 A CN 201710864389A CN 107506490 A CN107506490 A CN 107506490A
- Authority
- CN
- China
- Prior art keywords
- word
- node
- score value
- information
- result
- 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
- 238000010845 search algorithm Methods 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 claims description 89
- 239000012141 concentrate Substances 0.000 claims description 9
- 238000006116 polymerization reaction Methods 0.000 claims description 8
- 238000003780 insertion Methods 0.000 claims description 7
- 230000037431 insertion Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 2
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 21
- 238000002474 experimental method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 235000013399 edible fruits Nutrition 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013138 pruning Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011295 pitch Substances 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
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/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/319—Inverted lists
-
- 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/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
- G06F16/3323—Query formulation using system suggestions using document space presentation or visualization, e.g. category, hierarchy or range presentation and selection
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)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种滑动窗口下基于位置top‑k关键词查询的优先查询算法及系统,包括如下步骤:第一步,输入构建好的四叉树索引模型和查询节点以及k,初始化结果集;第二步,进行剪枝操作,得到候选结果集;第三步,使用一个最大堆C存储候选结果集中的每个词语以及其分值;第四步,当结果集的大小小于k时,依次取出C中的队列头的词语,从根节点遍历到叶节点找到其精确分值,放入队列;第五步,循环第四步,当队列头的词语的分值等于该词在叶节点的精确分值,放入结果集中;第六步,当结果集的大小等于k时,返回结果集。本发明能根据词频和位置邻近度有效修剪搜索空间,在保证不会遗失任何候选词的情况下能避免不必要的计算,大大降低了计算成本,提升查询速度。
Description
技术领域
本发明属于计算机领域,具体涉及查询算法,尤其涉及一种适用于滑动窗口下基于位置top-k关键词查询的优先查询算法。此外,本发明还涉及一种滑动窗口下基于位置top-k关键词查询的优先查询系统。
背景技术
随着社交媒体、云存储和基于位置的服务的激增,包含文本和地理信息的讯息(例如,地理标签的推文)数量飙升。这样的消息,可以被建模为地理文本数据流通常能够为不同类型和规模的各种本地时间提供第一手信息,包括一个地区的新闻故事,城市灾难,当地商业促销以及城市中公众关注的热门话题等。
基于位置的社交媒体的数据流具有以下性质:(1)突发性质—如果用户不够快速地发现数据,一些关于特定主题的讯息会被很快深埋到数据流中[Ozsoy,Makbule Gulcin,Kezban Dilek Onal,and Ismail Sengor Altingovde.Result diversification fortweet search.In WISE,2014.];(2)局部意向的本质—来自不同地点的用户可能会发布与不同话题相关的讯息[Kaiqi Zhao,Lisi Chen,and Gao Cong.Topic exploration inspatio-temporal document collections.In SIGMOD,2016.]。每一秒钟基于位置的社交媒体生成的讯息成千上万条,因此维护占据用户心目中的总结非常重要。
为了解决这个问题,现有的提案[A.Skovsgaard,D.Sidlauskas,C.S.Jensen.Scalable top-k spatio-temporal term querying.In ICDE,2014.]旨在在用户指定的时空区域内找到内容中局部最流行的前k个关键词。然而,在大多数情况下,用户在空间域上指定举行区域是困难的。相反,一个用户也许更倾向同时考虑词频和位置邻近度的排序列表。
基于用户需求,本发明考虑了一种新型的top-k查询,基于位置的top-k关键词查询(LkTQ),通过考虑在滑动窗口上的地理文本数据的词频和位置邻近度来返回top-k局部最流行的关键词。
图1提供了LkTQ的一个简单例子。我们考虑在中国地图上的10个带有地理标签的推文。如图1(a)所示,带有正方形标签的点代表查询位置。带有圆圈标签的点是推文的地址位置,也就是地理文本消息。对于每个地理文本信息,我们标出了其文本信息及其到查询点的距离。LkTQ的结果是基于位置感知频率分值的前k个局部最流行的关键词,如图1(b)所示。一个词的分值是通过关键词频率与包含该词的消息与查询点之间的距离邻近度的线性组合来计算的。
解决LkTQ问题的一个直接方法是评估当前滑动窗口内消息的所有词。具体来说,对于每一个这样的词,我们计算其余查询点之间的位置感知频率分值。然而,这种方法对于大量的地理文本消息将是非常昂贵的。为了有效地处理LkTQ,我们需要应对以下挑战。首先,返回LkTQ的确切结果在计算上是非常昂贵的。因此,我们需要寻求高精度的近似解。第二,位置感知频率分值以连续的方式衡量词频和位置邻近度。因此,提出一种混合索引结构及其对应的算法,使得可以同时根据词频和位置邻近度有效地修剪搜索空间是非常有意义的。第三,由于LkTQ的滑动窗口场景,索引机制必须能够处理具有高到达率的地理文本数据流。
现有的top-k空间关键词查询(比如[G.Cong,C.S.Jensen,D.Wu.E_cientretrieval of the top-k most relevant spatial web objects.PVLDB,2009.]、[I.D.Felipe,V.Hristidis,and N.Rishe.Keyword search on spatial databases.InICDE,2008.]等)通过考虑(到查询位置)位置邻近度和(到查询关键字)文本相似度返回k个最相关的控件文本对象。混合索引被用来存储对象的位置和文本信息,在查询过程中使用位置信息和文本信息来修剪搜索空间。大多数这样的索引分别将空间索引(比如,R树,四叉树)与存储位置和文本信息的倒排文件结合起来。然而,这些研究都旨在检索top-k空间文本对象,与检索top-k关键词的问题不同。
现在也出现了一些使用相关技术来开发的系统。Skovsgaard[A.Skovsgaard,D.Sidlauskas,C.S.Jensen.Scalable top-k spatio-temporal term querying.In ICDE,2014.]设计了一个支持索引、更新和查询操作的框架,能够返回在一个用户定义的时空区域内的top-k个关键词。这个额系统叫做可适应的频繁项聚合器(AFIA)。这个系统是通过多层的网格将空间分成多粒度来实现的。在每一个网格单元中会保存一个预先计算的摘要。该系统还使用了一个检查点来防止一个计数器与它的误差一起进入top-k计数器的情况。因为独立系统利用了时空索引。
BlogScope[N.Bansal and N.Koudas.Blogscope:a system for onlineanalysis of high volume text streams.In VLDB,2007.]是一个手机新闻、邮件列表、博客等信息的系统。它支持发现和跟踪现实世界的实体(故事、事件等)。监控大多数热门关键词以及时间或者空间的突发。BlogScope的最大的缺陷是它不能根据用户指定时空区域来聚合关键词。此外,它有很弱的时效性,通常只能支持几分钟内的搜索。
NewsStand[B.E.Teitler,M.D.Lieberman,D.Panozzo,J.Sankaranarayanan,H.Samet,and J.Sperling.Newsstand:a new view on news.In GIS,2008.]和TwitterStand[J.Sankaranarayanan,H.Samet,B.E.Teitler,M.D.Lieberman,andJ.Sperling.Twitterstand:news in tweets.In GIS,2009.]是两个相似的系统。NewsStand是一个空间文本数据的新闻聚合器,摘录来自RSS种子的地理内容到故事集中。用户被期望搜索和查找在地理区域内与查询关键词相关的一些故事。NewsStand和TwitterStand的区别在于TwitterStand是使用推文作为数据来源,而不是RSS种子。它们都采用了一个空间文本搜索引擎,支持在一个小型ProMED数据集上不长时间的时空搜索。然而,两个系统都没有很好的更新速率。
因此,亟需研发一种能解决上述技术问题的滑动窗口下基于位置top-k关键词查询的优先查询算法及系统。
发明内容
本发明要解决的技术问题在于提供一种滑动窗口下基于位置top-k关键词查询的优先查询算法,其能有效降低成本、提升查询速度,可以同时根据词频和位置邻近度有效地修剪搜索空间,且能够处理具有高到达率的地理文本数据流。为此,本发明还提供该滑动窗口下基于位置top-k关键词查询的优先查询系统。
为解决上述技术问题,本发明采用如下技术方案:
本发明提供一种滑动窗口下基于位置top-k关键词查询的优先查询算法,包括如下步骤:
第一步,输入构建好的四叉树索引模型和查询节点以及k,建立一个列表作为结果集,初始化为空;k表示用户可指定的结果关键词的个数;
第二步,根据构建好的四叉树的根节点的MG摘要以及k进行剪枝操作,得到候选结果集;
第三步,使用一个最大堆C存储候选结果集中的每个词语以及其分值;C是存储所有候选词的一个优先队列;
第四步,当结果集的大小小于k时,依次取出C中的队列头的词语,从根节点遍历到叶节点,每遍历一层得到比原来的分值小的值就替换原始值,直到遍历到叶节点找到该词语的精确分值,放入队列;
第五步,循环第四步,当队列头的词语的分值等于该词在叶节点的精确分值,放入结果集中;
第六步,当结果集的大小等于k时,返回结果集。
作为本发明优选的技术方案,第一步中,所述四叉树索引模型的构建方法包括如下步骤:
步骤一,确定四叉树覆盖的地理范围以及节点分裂规则;
步骤二,接受数据流,向节点中插入数据;
步骤三,符合步骤一节点分裂规则的节点分裂,数据插入不断生成完整的四叉树;
步骤四,对每一个叶节点,统计其词频,存储倒排索引;
步骤五,对每一个非叶节点,存储其所有子节点的MG聚合摘要信息;
步骤六,针对步骤四和步骤五两步的数据插入过程中,在这个过程中需要维护滑动窗口的大小,删掉具有最旧时间戳的数据项,添加最新的数据,调整四叉树的索引结构。
作为本发明优选的技术方案,步骤一中,所述确定四叉树覆盖的地理范围是给定左上角和右上角的纬度坐标经;所述确定节点分裂规则为:设置每一个叶节点中的数据项不超过某个设定的阈值M,如果超过了则进行分裂为四个叶子节点;或者直接限定树的深度。
作为本发明优选的技术方案,步骤四中,所述每一个叶子节点存储包含的讯息中所有文本信息的摘要;该步骤采用MG摘要信息的计算过程算法为:
给定一个参数k,k表示用户可指定的结果关键词的个数,一个MG摘要存储k-1个<项,数目>对,针对数据流中的每一个新进的项i有以下三种情况分别进行处理:
1)如果i已经在当前的计数器中被保存,那么给它的计数器值增加1;
2)如果i不在管理集中,计数器的数目还没有达到k个,那么将i插入到摘要中,并将其计数器值设为1;
3)如果i不在管理集中,并且摘要已经保存了k个计数器,我们将管理中的信息的计数器值都减去1,并移除掉所有计数器值为0的信息。
作为本发明优选的技术方案,步骤五中,所述MG聚合摘要信息的聚合过程为:
首先产生最多2k个计数器;接着是一个修剪操作:将这2k个计数器中的值按照从小到大的顺序排列,取出第(k+1)个计数器,并从所有的计数器中减去这个计数器的值;最后,移除所有非正数的计数器;所述聚合过程在常数次数的排序操作,并在有O(k)复杂度的摘要扫描的情况下完成。
作为本发明优选的技术方案,步骤六中,如果滑动窗口还没有满,当一个新的信息到来,被插入到四叉树的叶子节点中,那么这个节点的摘要也会随之更新;接着,它的父节点也会更新其合并的摘要;这个过程将会一直向上迭代,直到四叉树的根节点获得最新的聚合摘要信息;如果滑动窗口已经满了,当数据流中来了一个新的信息,也被插入了,那么有着最旧时间戳的信息将被删掉;接着,索引更新的过程就与滑动窗口未满时候的情况一样了。
作为本发明优选的技术方案,第二步中,所述剪枝操作过程如下:从用户输入得到确切的k值之后,重新计算第k个词的分值,将该分值中的“距离部分”设置为0算出的分值作为一个下界;接着,从根节点摘要中的第(k+1)个词开始,重新计算这些词的“距离部分”,使用最大的距离进行计算作为上界;当第i(i>k)个词的上界分值仍然小于第k个词的下界分值,那么认定第i个之后的词在不久的未来k次操作也不能到达优先队列的顶部。
作为本发明优选的技术方案,第三步中,所述分值按以下步骤计算:
(1)利用每一个节点中存储的摘要来计算分值:等式(1)定义了计算分值的公式,
令D为一个二维的欧式空间,W为滑动窗口,S是在D和W内的一系列地理文本信息的集合;每一个地理文本信息表示为o=(pos,text),其中pos是D中的一个位置点,text是文本信息;定义滑动窗口W中一个词t的位置感知词频分值:
其中,freq(t)是包含词t的信息的数目,|W|是在滑动窗口中的信息的总数目,d(q,Wt)是查询点q与窗口W中包含t的信息的距离之和,ddiag是矩形区域R的对角线长度,|Wt|表示的是W中包含词t的信息的数目,α是平衡在词频与位置邻近度之间的权重的参数,该分值实质是W中的词的词频和该词与查询点q之间的距离的线性组合;将分数的计算公式分为“频率部分”和“距离部分”由于MG摘要在最多误差为n/(k+1)的情况下估算任意项的频率,n是所有讯息的数目,将这个最大的误差加到freq来计算“频率部分”;d(q,Wt)是包含词t的信息与查询点之间的距离之和,使用查询点到包含这个词的节点的四条边的最小距离来作为一个上界;“距离部分”计算要考虑对于同一个词的冗余计算,包含了对一个节点中同一个词出现的信息数目的一个除法操作,以及通过一个线性权重参数α计算两部分的和,将其归一化到[0,1]的区间;
(2)在得到每一个节点内每一个词的分值后,词的分值需要被整合来计算该词在整棵树中的分值;该步通过将某些节点中该词的分值相加,使得该分值尽可能地大,在这个过程中,必须遵守一个规则是这些节点必须要覆盖整棵四叉树。
作为本发明优选的技术方案,第四步中,所述C中的队列头的词语是当前有着最大score的词语。
此外,本发明还提供一种滑动窗口下基于位置top-k关键词查询的优先查询系统,包括初始化结果集单元、剪枝操作单元和优先队列存储结果单元;所述初始化结果集单元用于输入构建好的四叉树和查询节点以及k,建立一个列表作为结果集,初始化为空,k表示用户可指定的结果关键词的个数;所述剪枝操作单元用于根据构建好的四叉树的根节点的MG摘要以及k进行剪枝操作,得到候选结果集,剪枝操作包括根据分值计算的距离部分上限的计算替代,缩小计算范围,确保能返回k个关键词;所述优先队列存储结果单元包括优先队列中取最大分值的词开始计算,从根节点开始遍历直到在叶节点找到其精确分值,精确值放入队列,重复直到优先队列前k个词不再变化。
与现有技术相比,本发明具有以下有益效果:
1、本发明定义了一个处理LkTQ通过考虑地理文本数据集的词频和位置邻近度来查找top-k局部最流行的关键词的新问题。
2、本发明提出了一种具有低存储和更新成本的四叉树索引结构和具有有效剪枝策略的优先查询算法,使得能够实现快速准确的top-k关键词搜索。特别地,本发明的有效剪枝策略,在保证不会遗失任何候选词的情况下能够避免不必要的计算,大大降低了计算成本。本发明能有效降低成本、提升查询速度,可以同时根据词频和位置邻近度有效地修剪搜索空间,且能够处理具有高到达率的地理文本数据流。
3、经实验验证,本发明方法比现有基准方法更加有效,查询速度更快;当一个结点中的信息数目达到M,M的范围从100到2000,我们的方法比基准方法快很多。当M在300到500的范围内,时间消耗有一点点下降。在这个范围内,有最好的性能。
4、经实验验证,本发明方法比现有基准方法的准确度更高。当目标k设置在一个较小的数值,我们的算法有很精确的结果,可以保证80%的准确度。
5、经实验验证,本发明方法可以满足用户的偏好需求。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是基于位置的top-k关键词查询(LkTQ)在中国区域的一个查询实例示意图;其中,图1(a)表示信息和距离;图1(b)表示标签云。
图2是本发明滑动窗口下基于位置top-k关键词查询的优先查询算法的流程图。
图3是本发明四叉树的索引模型的基本结构示意图。
图4是本发明滑动窗口下基于位置top-k关键词查询的优先查询系统的框架示意图;
图5是本发明实验中在不同数据量下更新索引的时间消耗结果对比示意图;
图6是本发明实验中改变四叉树叶节点中的信息容量的结果对比示意图;其中,图6(a)是当数据集数目是10,000时的时间成本对比结果示意图;图6(b)是改变滑动窗口中数据量大小的时间成本结果对比示意图。
图7是本发明实验中改变目标k值的结果对比示意图;其中,图7(a)是基准方法与本发明优选方法在时间成本上的对比结果示意图;图7(b)是改变滑动窗口下针对不同数据量大小改变k值后的时间成本对比结果示意图;图7(c)是滑动窗口不同数据量下针对k值剪枝前后候选词数目的对比结果示意图;
图8是本发明实验中本发明优选方法与基准方法之间的精确度对比结果示意图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
一、问题定义
令D为一个二维的欧式空间,W为滑动窗口,S是在D和W内的一系列地理文本信息的集合。每一个地理文本信息表示为o=(pos,text),其中pos是D中的一个位置点,text是文本信息。一个LkTQ q由一个元组(loc,k),其中loc表示查询位置点,k表示用户可指定的结果关键词的个数。最后返回在W内信息中的k个有着最高位置感知词频分值的关键词。
滑动窗口W中的一个词t的位置感知词频分值被定义为W中的词的词频和该词与查询点q之间的距离的线性组合:
其中,freq(t)是包含词t的信息的数目,|W|是在滑动窗口中的信息的总数目,d(q,Wt)是查询点q与滑动窗口W中包含t的信息的距离之和,ddiag是矩形区域R的对角线长度,|Wt|表示的是W中包含词t的信息的数目,α是平衡在词频与位置邻近度之间的权重的参数。
二、频繁项计算
在数据流处理中,聚合是一个被广泛研究的问题。现有的聚合技术可以被分为基于计数器的方法和基于草图的方法。
基于计数器的方法使用一个带有固定大小的计数器来存储所有项,每一条讯息都存储在作为S的子集的独立计数器中。当在管理集中的一项又出现,它的计数器被更新。如果这一项没有在管理集中而且计数器已经满了,那么在不同算法中会对这种情况进行不同的处理。比如,Space-Saving算法会找到有着最小计数器值的项,用新项替代它,然后将该新项的计数器加1。
另外一个很流行的算法—MG摘要实现起来也非常简单。给定一个参数k,一个MG摘要存储k-1个(项,数目)对,针对数据流中的每一个新进的项i有以下三种情况分别进行处理:
(1)如果i已经在当前的计数器中被保存,那么给它的计数器值增加1;
(2)如果i不在管理集中,计数器的数目还没有达到k个,那么将i插入到摘要中,并将其计数器值设为1;
(3)如果i不在管理集中,并且摘要已经保存了k个计数器,我们将管理中的信息的计数器值都减去1,并移除掉所有计数器值为0的信息。
其他显著的基于计数器的算法包括LossyCounting[G.S.Manku andR.Motwani.Approximate frequency counts over data streams.In VLDB,2002.]和Frequent[E.D.Demaine,A.L_opez-Ortiz,and J.I.Munro.Frequency estimation ofinternet packet streams with limited space.In AlgorithmsESA,2002.,R.M.Karp,S.Shenker,and C.H.Papadimitriou.A simple algorithm for finding frequentelements in streams and bags.TODS,2003.]。
基于草图的方法通过哈希方法管理所有的信息集合而不是仅仅管理信息的子集。信息被哈希到计数器空间中,哈希过的计数器将在每一个对应项被击中的时候被更新。CountSketch算法[M.Charikar,K.Chen,and M.Farach-Colton.Finding frequent itemsin data streams.In ICALP,2002.]解决有1-δ成功概率找到近似top的关键词的问题。GroupTest算法[G.Cormode and S.Muthukrishnan.What's hot and what's not:tracking most frequent items dynamically.TODS,2005.]旨在搜索关于频繁项的查询,并实现一个常数概率δ的失败。事实上它一般情况下是精准的。Count-Min Sketch[G.Cormode and S.Muthukrishnan.An improved data stream summary:the count-minsketch and its applications.Journal of Algorithms,2005.]也是一个具有代表性的基于草图的方法。
基于草图的方法由于哈希碰撞,相比于基于计数器的方法而言精度更低,对于频率估计也无法提供可靠保证。此外,它们不能在连续的流中提供保持相对顺序的保证。因此,我们在这个工作中使用的是基于计数器的方法。
三、本发明方法具体流程
如图2所示,本发明滑动窗口下基于位置top-k关键词查询的优先查询算法,包括如下步骤:
(一)输入构建好的四叉树索引模型和查询节点以及k,建立一个列表作为结果集,初始化为空;
为了更快地索引,本发明使用了一个基于四叉树的索引结构来存储流中搜索的地理文本信息。四叉树的基本思想是将底层空间分成不同层次的单元。也别的,它迭代地将空间分成4个全等的子空间,直到这棵树达到一定的深度或者达到一定的停止条件。四叉树广泛应用于图像处理、空间数据索引、二维环境中的快速碰撞检测、稀疏数据等。本发明四叉树的索引模型的基本结构见图3。需要提醒的是,节点的不同形状标识对应右侧矩形中的各个以相同形状为中心点分裂为四个相同的四分单元(每一个四分单元中的每一个为一个节点),根节点(图3中三角形节点)代表整个矩形区域。在叶子节点中存储的是倒排索引,非叶子节点中存储是的合并的摘要。
四叉树有一个非常简单的结构,当空间文本信息分布相对一致的时候,它有着相对高的插入和更新效率。图3中黑色的点是它们被准确发布的位置上的信息。在我们的算法中,我们设置M为一个叶子节点中存储信息的最大条数。换句话说,如果存储在一个叶子节点的信息的数目超过了M,该节点将会变成一个非叶子节点,并分裂成四个有着相同尺寸大小的叶子节点单元。
本发明所述四叉树索引模型可以采用传统常规方法,即使用每一次滑动窗口中有新的数据就进行精确计算的基准方法,也可以采用如下优选的方法,包括如下步骤:
(1)首先需要确定四叉树覆盖的地理范围(一般是给定左上角和右上角的纬度坐标经),以及节点分裂规则,目的在于控制整棵四叉树的深度,例如,本发明采用的是设置每一个叶节点中的数据项不超过某个设定的阈值M,如果超过了则进行分裂为四个叶子节点,也可以直接限定树的深度;
(2)接受数据流,向节点中插入数据;
(3)达到阈值的节点分裂,数据插入不断生成完整的四叉树;
(4)对每一个叶节点,统计其词频,存储倒排索引;
四叉树的每一个叶子节点(即叶节点)存储包含的讯息中所有文本信息的摘要。MG摘要信息的计算过程算法(称为算法1)为:
给定一个参数k,k表示用户可指定的结果关键词的个数,一个MG摘要存储k-1个<项,数目>对,针对数据流中的每一个新进的项i有以下三种情况分别进行处理:
1)如果i已经在当前的计数器中被保存,那么给它的计数器值增加1;
2)如果i不在管理集中,计数器的数目还没有达到k个,那么将i插入到摘要中,并将其计数器值设为1;
3)如果i不在管理集中,并且摘要已经保存了k个计数器,我们将管理中的信息的计数器值都减去1,并移除掉所有计数器值为0的信息。
(5)对每一个非叶节点,存储其所有子节点的MG聚合摘要信息;
在这个MG摘要算法中,叶子节点和非叶子节点都存储了讯息的摘要。在叶子节点中,摘要是通过以上算法1中的过程来计算的,但是在非叶子节点(即非叶节点)中,摘要就来自于MG摘要合并的方法合并出来的。[P.K.Agarwal,G.Cormode,Z.Huang,J.Phillips,Z.Wei,and K.Yi.Mergeable summaries.In PODS,2012.]证明了MG摘要和SS摘要是同构的,SS摘要可以通过MG摘要转化而来。由于MG摘要的合并操作非常地简单有效,并且在四叉树中有许多的合并操作,因此本发明采用MG摘要而不是SS摘要。合并MG摘要的过程也是非常简单的。MG摘要信息的聚合过程为:
这一步将会产生最多2k个计数器。接着是一个修剪操作:将这2k个计数器中的值按照从小到大的顺序排列,取出第(k+1)个计数器,并从所有的计数器中减去这个计数器的值。最后,我们移除所有非正数的计数器。明显这是一个很高效的过程:这一个聚合过程可以在常数次数的排序操作,并有O(k)复杂度的摘要的扫描的情况下完成。
(6)针对(4)(5)两步的数据插入过程中,在这个过程中需要维护滑动窗口的大小,删掉具有最旧时间戳的数据项,添加最新的数据,调整四叉树的索引结构。
与基于区域的关键词查询[A.Skovsgaard,D.Sidlauskas,C.S.Jensen.Scalabletop-k spatio-temporal term querying.In ICDE,2014.]不同,LkTQ的位置是一个点而不是一个特定的空间区域。我们想要找到综合考虑位置邻近度和词频的情况下局部最流行的k个关键词。如果滑动窗口还没有满,当一个新的信息到来,被插入到四叉树的叶子节点中,那么这个节点的摘要也会随之更新。接着,它的父节点也会更新其合并的摘要。这个过程将会一直向上迭代,直到四叉树的根节点获得最新的合并摘要信息。如果滑动窗口已经满了,当数据流中来了一个新的信息,也被插入了,那么有着最旧时间戳的信息将被删掉。接着,索引更新的过程就与滑动窗口未满时候的情况一样了。
(二)根据构建好的四叉树的根节点的MG摘要以及k进行剪枝操作,得到候选结果集;
α是一个用来平衡位置邻近度和词频的参数。C是存储所有候选词的一个优先队列。为了得到候选词,我们提取四叉树的根节点的摘要。然而,如果候选词在许多节点中都有存储,数目很大,但是用户指定的k值又是一个很小的数目的话,那么大量的计算无用结果的词语分值将会引发额外大量的时间成本。因此,我们想出了一个剪枝策略,在保证不会遗失任何候选词的情况下能够避免不必要的计算。
剪枝操作过程如下:我们从用户输入得到确切的k值之后,我们重新计算第k个词的分值,将该分值中的“距离部分”设置为0算出的分值作为一个下界。接着,从根节点摘要中的第(k+1)个词开始(因为摘要是已经排好序的),我们重新计算这些词的“距离部分”,使用最大的距离进行计算作为上界。当第i(i>k)个词的上界分值仍然小于第k个词的下界分值,那么我们认定第i个之后的词在不久的未来k次操作算法2中的4-13行的过程中也不能到达优先队列的顶部。
(三)使用一个最大堆C存储候选结果集中的每个词语以及其score;C是存储所有候选词的一个优先队列。
令D为一个二维的欧式空间,W为滑动窗口,S是在D和W内的一系列地理文本信息的集合。每一个地理文本信息表示为o=(pos,text),其中pos是D中的一个位置点,text是文本信息。我们首先定义滑动窗口W中一个词t的位置感知词频score:
其中,freq(t)是包含词t的信息的数目,|W|是在滑动窗口中的信息的总数目,d(q,Wt)是查询点q与窗口W中包含t的信息的距离之和,ddiag是矩形区域R的对角线长度,|Wt|表示的是W中包含词t的信息的数目,α是平衡在词频与位置邻近度之间的权重的参数。该score实质是W中的词的词频和该词与查询点q之间的距离的线性组合。
给定一个词,我们需要两个步骤来获得它的score:
(1)首先,我们需要利用每一个节点中存储的摘要来计算分值。等式(1)定义了计算分值的公式。为了方式计算,我们将分数的计算公式分为“频率部分”和“距离部分”从本质上来说,这个分值是这两个部分的一个线性组合。由于MG摘要在最多误差为n/(k+1)的情况下估算任意项的频率(n是所有讯息的数目),我们将这个最大的误差加到freq来计算“频率部分”。d(q,Wt)是包含词t的信息与查询点之间的距离之和,这里,我们使用查询点到包含这个词的节点的四条边的最小距离来作为一个上界。
由于一个词在一个节点内可能会出现不止一次,我们需要考虑在距离计算当中对于同一个词的冗余计算。接着,“距离”部分包含了对一个节点中同一个词出现的信息数目的一个除法操作。最后,我们通过一个线性权重参数α计算两部分的和,将其归一化到[0,1]的区间。
(2)在我们得到每一个节点内每一个词的分值后,词的分值需要被整合来计算该词在整棵树中的分值。这一步通过将某些节点中该词的分值相加,使得该分值尽可能地大。在这个过程中,必须遵守一个规则是这些节点必须要覆盖住整个给定的区域(整棵四叉树)。
(四)当结果集的大小小于k时,依次取出C中的队列顶端的词语(当前有着最大score的词),从根节点遍历到叶节点,每遍历一层得到比原来的score小的值就替换原始值,直到遍历到叶节点找到该词语的精确score(因为叶节点中存放的倒排索引才是真实统计的词频),放入队列;
(五)循环步骤(四),当队列头的词语的score等于该词在叶节点的精确score,放入结果集中;
找到一个词的精确分值的过程。对于每一个从优先队列顶端弹出的候选词,我们从根部到叶子节点遍历整棵树。如果我们在一个子节点中找到比父节点中更小的分值,我们将较小的分值替换掉当前的分值,并将这个新的分值插入到优先队列中,直到我们得到一个足够小的分值与优先队列中的头部元素相等。接着,这个有着精确分值的词将会被加入到我们的结果集中。
(六)当结果集的大小等于k时,返回结果集。
四、本发明系统
如图4所示,本发明一种滑动窗口下基于位置top-k关键词查询的优先查询系统,包括初始化结果集单元、剪枝操作单元、优先队列存储结果单元;所述初始化结果集单元用于输入构建好的四叉树和查询节点以及k,建立一个列表作为结果集,初始化为空,k表示用户可指定的结果关键词的个数;所述剪枝操作单元用于根据构建好的四叉树的根节点的MG摘要以及k进行剪枝操作,得到候选结果集,剪枝操作包括根据分值计算的距离部分上限的计算替代,缩小计算范围,确保能返回k个关键词;所述优先队列存储结果单元包括优先队列中取最大分值的词开始计算,从根节点开始遍历直到在叶节点找到其精确分值,精确值放入队列,重复直到优先队列前k个词不再变化。
五、实验与分析
我们通过实验来验证我们的解决方案并与其余的可行方法进行对比。所有的实验都是在Intel(R)Xeon(R)CPU E5-2643 0@3:30GHz配置和64GB内存的64位Windows操作系统的工作站上实现的。整个框架是使用Java来实现的。
包含推文的数据集是在美国区域采集的。一共有20,000,000条数据,其中的每一条数据包含一个时间戳,一个词语列表以及推文发布的经度和纬度(也就是,用户设定的地理标签)。注意每一个实验的结果都是通过对不同的查询输入进行了超过10次不同实验取的平均值。
1、基准
我们使用每一次滑动窗口中有新的数据就进行精确计算的算法作为基准方法来与本发明优选方法进行对比和验证。基准方法中使用的索引结构也是基于四叉树的。特别地,在四叉树的每一个叶子节点中,我们存储的是每一个词的精确频率。当一条信息到达,我们更新对应节点中的频率表。为了得到一个非叶子节点的频率信息,我们需要迭代遍历整个节点直到到达叶子节点。这个方法可以返回一个LkTQ的精确结果。因此,它被用来在我们的后续实验中用于对查询结果精确度的一个衡量标准。
2、四叉树的索引更新
首先,我们做了一个实验来评估当在滑动窗口中插入和删除一条信息的性能。因为我们只在找到一个滑动窗口中的top-k关键词,当滑动窗口已经满了,每一次一条新的信息到达,一条旧的信息就应该被删除。
我们发现在基准方法和本发明方法中的两个操作其实几乎不怎么消耗时间的,因为是基于一个已经构建好的四叉树上。因此,我们做了另外的一个实验来了解构建一颗四叉树包含词频计算和索引更新的过程的时间消耗。实验结果在图5中,其中baseline代表基准方法,LkTQ代表本发明方法。
特别地,对于基准方法,构建四叉树包含计算和合并所有的词频,对于本发明方法,构建过程包含计算四叉树中所有节点的MG摘要。正如我们可以看到的,本发明方法的构建四叉树的过程时间消耗比基准方法大很多。然而,我们做了更多实验来证明,即使是在这样的情况下,本发明方法仍然比基准方法更加有效。
3、改变四叉树叶节点中的信息容量
之前提到当我们创建一颗四叉树来索引所有信息时,我们会有一个条件来决定我们何时分裂节点和生成新的子节点。这个条件就是当一个节点中的信息数目达到M,然后这个节点就变成一个父节点然后分裂。我们做了实验来改变一个叶节点中村存储的最大信息数目,这样我们可以找到哪个M可以获得更好的性能,是否对实验结果有影响。其余的参数设置为:k=20,α=0.7,MG摘要中的计数器的数目为500.特别地,计数器的数目设为500主要是针对大的数据集时可以减少摘要的误差。
图6给出了结果。图6(a)是当数据集数目是10,000时的对比结果。M的范围从100到2000。本发明方法(LkTQ)比基准方法(baseline)快很多。改变M有一点的波动。在基准方法中,四叉树的叶节点的信息容量对于性能而言并没有非常明显的影响。一旦固定了M,这棵树就固定了,所有的分值就可以被计算。然而,在我们的算法中,M是影响性能的。理论上,M越大,四叉树的深度就越小。因为,当计算每一个节点的分值时,我们在计算“距离部分”时使用了到查询点最近的边,如果这棵树越深,那么这个距离将会越小,叶节点的数目将会越大。从图6(b)中可以看出,当M增大,时间消耗越大。当M变得越来越大,分裂的成本就越大。当M在300到500的范围内,时间消耗有一点点下降。在这个范围内,有最好的性能。
4、改变k
在这个实验中,我们改变目标k值。这个目标k值实际上是用户指定的,其余的固定参数设置为:α=0.7,每个叶子节点中的信息的最大数目M为1000,MG摘要中的计数器数目为100。尽管M在300到500的范围内有最好的性能,选择1000是为了控制四叉树的深度,得到更加精确的结果。因为,实验证明,当M接近1000的时候,当其余参数改变的时候得到的结果是一致的。
图7给出了结果。目标k的范围是根据用户的普通需求来设定的。本发明算法的性能比一个一个计算的基准方法显著好很多(见图7(a))。图7(a)中的数据集大小是10,000,然而,基准方法大约需要7分钟返回结果。基准方法的时间消耗在大约400,000ms的稳定和效率低的水平上。对于更大的数据集,基准方法有着更慢的运行速度,比如,处理5,000条信息,他需要将近1200万毫秒,处理100,000条信息需要将近6千万毫秒,效率非常低。因此我们不再比较没有可比性的结果。
事实上,正如预期,本发明算法时间消耗随着目标k增加而增大。在图7(a)上的刻度标签上不是非常能够明显看到时间成本的巨大差异。因此,我们的另外一个实验来证明这一差异,结果如图7(b)。此外,随着数据集的大小变大,结果的趋势就变得愈发明显。特别地,为了找到运行速度快的根源,我们做了另外一个实验来了解使用我们根据k的修剪(剪枝)算法之后,实际候选集的数目与k是很接近的。该结果在图7(c)中。从图7(c)中体现了剪枝操作对于候选词的计算已经有非常大的压缩,通过k剪枝后可以只需要计算稍大于k数量的候选词,如果没有这一步剪枝操作,将需要计算根节点中所有的候选词,这个数目在窗口并不很大的情况下通常也是成千上万的。如果指定的查询k值很小,不必要的计算成本就相当高。可见,本发明方法中的有效剪枝操作步骤,在保证不会遗失任何候选词的情况下能够避免不必要的计算,大大降低了计算成本。
5与基准方法对比精确
准确度是用户关心的一个重要因素。本发明算法与基准方法之间的精确度对比结果见图8。我们针对不同的数据集的大小衡量了我们算法返回的正确的top-k关键词的比例。因为基准方法有非常低效的运行速度,我们选择了相对较小的数据集,然而,并不会影响本发明算法的高性能。当目标k设置在一个较小的数值,本发明算法有很精确的结果,可以保证80%的准确度。随着目标k变大,准确度会有一点点下降。然而,最低的准确度也是在0.39之上,并且是当目标k的值是100,能够满足绝对多数用户的需求。
6、改变参数α
α是一个平衡分值计算公式中的权重参数。改变α的值实质上就是调整距离和词频的影响程度。这决定于用户的偏好。通过实验可以证明我们算法的结果对于α在(0.9,1.0)的区间范围内是敏感的。当然,当α被设置为0或者1,那么结果就代表了距离或者词频单方面的影响。特别地,α的敏感范围是由数据集的分布所影响的。然而,我们的实验结果证明通过改变α,算法是对结果敏感的,因此可以满足用户的偏好需求。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (10)
1.一种滑动窗口下基于位置top-k关键词查询的优先查询算法,其特征在于,包括如下步骤:
第一步,输入构建好的四叉树索引模型和查询节点以及k,建立一个列表作为结果集,初始化为空;k表示用户可指定的结果关键词的个数;
第二步,根据构建好的四叉树的根节点的MG摘要以及k进行剪枝操作,得到候选结果集;
第三步,使用一个最大堆C存储候选结果集中的每个词语以及其分值;C是存储所有候选词的一个优先队列;
第四步,当结果集的大小小于k时,依次取出C中的队列头的词语,从根节点遍历到叶节点,每遍历一层得到比原来的分值小的值就替换原始值,直到遍历到叶节点找到该词语的精确分值,放入队列;
第五步,循环第四步,当队列头的词语的分值等于该词在叶节点的精确分值,放入结果集中;
第六步,当结果集的大小等于k时,返回结果集。
2.如权利要求1所述的算法,其特征在于,第一步中,所述四叉树索引模型的构建方法包括如下步骤:
步骤一,确定四叉树覆盖的地理范围以及节点分裂规则;
步骤二,接受数据流,向节点中插入数据;
步骤三,符合步骤一节点分裂规则的节点分裂,数据插入不断生成完整的四叉树;
步骤四,对每一个叶节点,统计其词频,存储倒排索引;
步骤五,对每一个非叶节点,存储其所有子节点的MG聚合摘要信息;
步骤六,针对步骤四和步骤五两步的数据插入过程中,在这个过程中需要维护滑动窗口的大小,删掉具有最旧时间戳的数据项,添加最新的数据,调整四叉树的索引结构。
3.如权利要求2所述的方法,其特征在于,步骤一中,所述确定四叉树覆盖的地理范围是给定左上角和右上角的纬度坐标经;所述确定节点分裂规则为:设置每一个叶节点中的数据项不超过某个设定的阈值M,如果超过了则进行分裂为四个叶子节点;或者直接限定树的深度。
4.如权利要求2所述的方法,其特征在于,步骤四中,所述每一个叶子节点存储包含的讯息中所有文本信息的摘要;该步骤采用MG摘要信息的计算过程算法为:
给定一个参数k,k表示用户可指定的结果关键词的个数,一个MG摘要存储k-1个<项,数目>对,针对数据流中的每一个新进的项i有以下三种情况分别进行处理:
1)如果i已经在当前的计数器中被保存,那么给它的计数器值增加1;
2)如果i不在管理集中,计数器的数目还没有达到k个,那么将i插入到摘要中,并将其计数器值设为1;
3)如果i不在管理集中,并且摘要已经保存了k个计数器,我们将管理中的信息的计数器值都减去1,并移除掉所有计数器值为0的信息。
5.如权利要求2所述的方法,其特征在于,步骤五中,所述MG聚合摘要信息的聚合过程为:
首先产生最多2k个计数器;接着是一个修剪操作:将这2k个计数器中的值按照从小到大的顺序排列,取出第(k+1)个计数器,并从所有的计数器中减去这个计数器的值;最后,移除所有非正数的计数器;所述聚合过程在常数次数的排序操作,并在有O(k)复杂度的摘要扫描的情况下完成。
6.如权利要求2所述的方法,其特征在于,步骤六中,如果滑动窗口还没有满,当一个新的信息到来,被插入到四叉树的叶子节点中,那么这个节点的摘要也会随之更新;接着,它的父节点也会更新其合并的摘要;这个过程将会一直向上迭代,直到四叉树的根节点获得最新的聚合摘要信息;如果滑动窗口已经满了,当数据流中来了一个新的信息,也被插入了,那么有着最旧时间戳的信息将被删掉;接着,索引更新的过程就与滑动窗口未满时候的情况一样了。
7.如权利要求1所述的方法,其特征在于,第二步中,所述剪枝操作过程如下:从用户输入得到确切的k值之后,重新计算第k个词的分值,将该分值中的“距离部分”设置为0算出的分值作为一个下界;接着,从根节点摘要中的第(k+1)个词开始,重新计算这些词的“距离部分”,使用最大的距离进行计算作为上界;当第i(i>k)个词的上界分值仍然小于第k个词的下界分值,那么认定第i个之后的词在不久的未来k次操作也不能到达优先队列的顶部。
8.如权利要求1所述的方法,其特征在于,第三步中,所述分值按以下步骤计算:
(1)利用每一个节点中存储的摘要来计算分值:等式(1)定义了计算分值的公式,
令D为一个二维的欧式空间,W为滑动窗口,S是在D和W内的一系列地理文本信息的集合;每一个地理文本信息表示为o=(pos,text),其中pos是D中的一个位置点,text是文本信息;定义滑动窗口W中一个词t的位置感知词频分值:
其中,freq(t)是包含词t的信息的数目,|W|是在滑动窗口中的信息的总数目,d(q,Wt)是 查询点q与窗口W中包含t的信息的距离之和,ddiag是矩形区域R的对角线长度,|Wt|表示的是W中包含词t的信息的数目,α是平衡在词频与位置邻近度之间的权重的参数,该分值实质是W中的词的词频和该词与查询点q之间的距离的线性组合;将分数的计算公式分为“频率部分”和“距离部分”由于MG摘要在最多误差为n/(k+1)的情况下估算任意项的频率,n是所有讯息的数目,将这个最大的误差加到freq来计算“频率部分”;d(q,Wt)是包含词t的信息与查询点之间的距离之和,使用查询点到包含这个词的节点的四条边的最小距离来作为一个上界;“距离部分”计算要考虑对于同一个词的冗余计算,包含了对一个节点中同一个词出现的信息数目的一个除法操作,以及通过一个线性权重参数α计算两部分的和,将其归一化到[0,1]的区间;
(2)在得到每一个节点内每一个词的分值后,词的分值需要被整合来计算该词在整棵树中的分值;该步通过将某些节点中该词的分值相加,使得该分值尽可能地大,在这个过程中,必须遵守一个规则是这些节点必须要覆盖整棵四叉树。
9.如权利要求1所述的方法,其特征在于,第四步中,所述C中的队列头的词语是当前有着最大score的词语。
10.一种滑动窗口下基于位置top-k关键词查询的优先查询系统,其特征在于,包括初始化结果集单元、剪枝操作单元和优先队列存储结果单元;所述初始化结果集单元用于输入构建好的四叉树和查询节点以及k,建立一个列表作为结果集,初始化为空,k表示用户可指定的结果关键词的个数;所述剪枝操作单元用于根据构建好的四叉树的根节点的MG摘要以及k进行剪枝操作,得到候选结果集,剪枝操作包括根据分值计算的距离部分上限的计算替代,缩小计算范围,确保能返回k个关键词;所述优先队列存储结果单元包括优先队列中取最大分值的词开始计算,从根节点开始遍历直到在叶节点找到其精确分值,精确值放入队列,重复直到优先队列前k个词不再变化。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710864389.8A CN107506490B (zh) | 2017-09-22 | 2017-09-22 | 滑动窗口下基于位置top-k关键词查询的优先查询算法及系统 |
PCT/CN2017/113480 WO2019056569A1 (zh) | 2017-09-22 | 2017-11-29 | 滑动窗口下基于位置top-k关键词查询的优先查询算法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710864389.8A CN107506490B (zh) | 2017-09-22 | 2017-09-22 | 滑动窗口下基于位置top-k关键词查询的优先查询算法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107506490A true CN107506490A (zh) | 2017-12-22 |
CN107506490B CN107506490B (zh) | 2020-08-11 |
Family
ID=60698164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710864389.8A Expired - Fee Related CN107506490B (zh) | 2017-09-22 | 2017-09-22 | 滑动窗口下基于位置top-k关键词查询的优先查询算法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107506490B (zh) |
WO (1) | WO2019056569A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633068A (zh) * | 2017-09-22 | 2018-01-26 | 深圳大学 | 滑动窗口下基于位置top‑k关键词查询的快速索引方法及系统 |
CN108063731A (zh) * | 2018-01-03 | 2018-05-22 | 烟台大学 | 一种分布式数据流中基于数据分布的负载均衡分发方法 |
CN108717447A (zh) * | 2018-05-17 | 2018-10-30 | 电子科技大学 | 一种交互式多用户空间关键词查询方法 |
CN111081226A (zh) * | 2018-10-18 | 2020-04-28 | 北京搜狗科技发展有限公司 | 语音识别解码优化方法及装置 |
CN111488496A (zh) * | 2020-04-30 | 2020-08-04 | 湖北师范大学 | 一种基于滑动窗口的Tango树构建方法及系统 |
CN111506797A (zh) * | 2020-03-27 | 2020-08-07 | 中南民族大学 | 解决方向感知SKQ中why-not问题的方法及系统 |
CN113407669A (zh) * | 2021-06-18 | 2021-09-17 | 北京理工大学 | 一种基于活动影响力的语义轨迹查询方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789028A (zh) * | 2010-03-19 | 2010-07-28 | 苏州广达友讯技术有限公司 | 地理位置搜索引擎及其构建方法 |
CN102214215A (zh) * | 2011-06-07 | 2011-10-12 | 陆嘉恒 | 一种基于文本信息的快速反近邻查询方法 |
US20120166446A1 (en) * | 2010-12-23 | 2012-06-28 | Ianywhere Solutions, Inc. | Indexing spatial data with a quadtree index having cost-based query decomposition |
CN105069071A (zh) * | 2015-07-30 | 2015-11-18 | 清华大学 | 微博数据的地理位置信息提取方法 |
CN105373633A (zh) * | 2015-12-23 | 2016-03-02 | 江苏省现代企业信息化应用支撑软件工程技术研发中心 | 位置感知订阅/发布系统的top-k订阅查询匹配方法 |
US20160357777A1 (en) * | 2014-01-02 | 2016-12-08 | Frank Eichinger | Efficiently Query Compressed Time-Series Data in a Database |
US20170069123A1 (en) * | 2013-02-05 | 2017-03-09 | Facebook, Inc. | Displaying clusters of media items on a map using representative media items |
CN107145545A (zh) * | 2017-04-18 | 2017-09-08 | 东北大学 | 一种基于位置的社交网络中Top‑k区域用户文本数据推荐方法 |
-
2017
- 2017-09-22 CN CN201710864389.8A patent/CN107506490B/zh not_active Expired - Fee Related
- 2017-11-29 WO PCT/CN2017/113480 patent/WO2019056569A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789028A (zh) * | 2010-03-19 | 2010-07-28 | 苏州广达友讯技术有限公司 | 地理位置搜索引擎及其构建方法 |
US20120166446A1 (en) * | 2010-12-23 | 2012-06-28 | Ianywhere Solutions, Inc. | Indexing spatial data with a quadtree index having cost-based query decomposition |
CN102214215A (zh) * | 2011-06-07 | 2011-10-12 | 陆嘉恒 | 一种基于文本信息的快速反近邻查询方法 |
US20170069123A1 (en) * | 2013-02-05 | 2017-03-09 | Facebook, Inc. | Displaying clusters of media items on a map using representative media items |
US20160357777A1 (en) * | 2014-01-02 | 2016-12-08 | Frank Eichinger | Efficiently Query Compressed Time-Series Data in a Database |
CN105069071A (zh) * | 2015-07-30 | 2015-11-18 | 清华大学 | 微博数据的地理位置信息提取方法 |
CN105373633A (zh) * | 2015-12-23 | 2016-03-02 | 江苏省现代企业信息化应用支撑软件工程技术研发中心 | 位置感知订阅/发布系统的top-k订阅查询匹配方法 |
CN107145545A (zh) * | 2017-04-18 | 2017-09-08 | 东北大学 | 一种基于位置的社交网络中Top‑k区域用户文本数据推荐方法 |
Non-Patent Citations (2)
Title |
---|
杨蓓: "数据流top-K频繁模式挖掘算法研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
罗昌银: "位置及文本相关查询处理及验证策略研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633068B (zh) * | 2017-09-22 | 2020-04-07 | 深圳大学 | 滑动窗口下基于位置top-k关键词查询的快速索引方法及系统 |
CN107633068A (zh) * | 2017-09-22 | 2018-01-26 | 深圳大学 | 滑动窗口下基于位置top‑k关键词查询的快速索引方法及系统 |
WO2019056570A1 (zh) * | 2017-09-22 | 2019-03-28 | 深圳大学 | 滑动窗口下基于位置top-k关键词查询的快速索引方法及系统 |
CN108063731A (zh) * | 2018-01-03 | 2018-05-22 | 烟台大学 | 一种分布式数据流中基于数据分布的负载均衡分发方法 |
CN108717447B (zh) * | 2018-05-17 | 2022-02-11 | 电子科技大学 | 一种交互式多用户空间关键词查询方法 |
CN108717447A (zh) * | 2018-05-17 | 2018-10-30 | 电子科技大学 | 一种交互式多用户空间关键词查询方法 |
CN111081226A (zh) * | 2018-10-18 | 2020-04-28 | 北京搜狗科技发展有限公司 | 语音识别解码优化方法及装置 |
CN111081226B (zh) * | 2018-10-18 | 2024-02-13 | 北京搜狗科技发展有限公司 | 语音识别解码优化方法及装置 |
CN111506797A (zh) * | 2020-03-27 | 2020-08-07 | 中南民族大学 | 解决方向感知SKQ中why-not问题的方法及系统 |
CN111506797B (zh) * | 2020-03-27 | 2023-06-06 | 中南民族大学 | 解决方向感知SKQ中why-not问题的方法及系统 |
CN111488496A (zh) * | 2020-04-30 | 2020-08-04 | 湖北师范大学 | 一种基于滑动窗口的Tango树构建方法及系统 |
CN111488496B (zh) * | 2020-04-30 | 2023-07-21 | 湖北师范大学 | 一种基于滑动窗口的Tango树构建方法及系统 |
CN113407669A (zh) * | 2021-06-18 | 2021-09-17 | 北京理工大学 | 一种基于活动影响力的语义轨迹查询方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2019056569A1 (zh) | 2019-03-28 |
CN107506490B (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107506490A (zh) | 滑动窗口下基于位置top‑k关键词查询的优先查询算法及系统 | |
CN107633068A (zh) | 滑动窗口下基于位置top‑k关键词查询的快速索引方法及系统 | |
US11132388B2 (en) | Efficient spatial queries in large data tables | |
CN107451302A (zh) | 滑动窗口下基于位置top‑k关键词查询的建模方法及系统 | |
Zheng et al. | Approximate keyword search in semantic trajectory database | |
Samet et al. | Scalable network distance browsing in spatial databases | |
Yiu et al. | Reverse nearest neighbors in large graphs | |
Nguyen-Dinh et al. | Spatio-temporal access methods: Part 2 (2003-2010) | |
Li et al. | G*-tree: An efficient spatial index on road networks | |
CN108932347B (zh) | 一种分布式环境下基于社会感知的空间关键字查询方法 | |
US8744770B2 (en) | Path oracles for spatial networks | |
CN106503196B (zh) | 云环境下可扩展存储索引结构的构建和查询方法 | |
US8880511B2 (en) | Database query optimization and cost estimation | |
Balasubramanian et al. | A state-of-art in R-tree variants for spatial indexing | |
CN103377237B (zh) | 高维数据的近邻搜索方法以及快速近似图像搜索方法 | |
Xu et al. | Location-based top-k term querying over sliding window | |
CN104346444B (zh) | 一种基于路网反空间关键字查询的最佳选址方法 | |
Chen et al. | Spatio-temporal top-k term search over sliding window | |
Zhang et al. | Effectively indexing the uncertain space | |
Chen et al. | Indexing metric uncertain data for range queries and range joins | |
Cho et al. | A GPS trajectory map-matching mechanism with DTG big data on the HBase system | |
Xu et al. | Continuous k nearest neighbor queries over large multi-attribute trajectories: a systematic approach | |
Chen et al. | Indexing metric uncertain data for range queries | |
CN113407669B (zh) | 一种基于活动影响力的语义轨迹查询方法 | |
Jin et al. | Indexing mixed types for approximate retrieval |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200811 |
|
CF01 | Termination of patent right due to non-payment of annual fee |