CN107451302B - 滑动窗口下基于位置top-k关键词查询的建模方法及系统 - Google Patents
滑动窗口下基于位置top-k关键词查询的建模方法及系统 Download PDFInfo
- Publication number
- CN107451302B CN107451302B CN201710864295.0A CN201710864295A CN107451302B CN 107451302 B CN107451302 B CN 107451302B CN 201710864295 A CN201710864295 A CN 201710864295A CN 107451302 B CN107451302 B CN 107451302B
- Authority
- CN
- China
- Prior art keywords
- data
- quadtree
- node
- sliding window
- counters
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000008569 process Effects 0.000 claims abstract description 39
- 238000003780 insertion Methods 0.000 claims abstract description 21
- 230000037431 insertion Effects 0.000 claims abstract description 21
- 230000002776 aggregation Effects 0.000 claims abstract description 18
- 238000004220 aggregation Methods 0.000 claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000009966 trimming Methods 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000006116 polymerization reaction Methods 0.000 claims 2
- 238000002474 experimental method Methods 0.000 description 19
- 238000013459 approach Methods 0.000 description 8
- 238000007430 reference method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 241001523858 Felipes Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000002123 temporal 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/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/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/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关键词查询的建模方法及系统,包括如下步骤:步骤一,确定四叉树覆盖的地理范围以及节点分裂规则;步骤二,接受数据流,向节点中插入数据;步骤三,符合步骤一节点分裂规则的节点分裂,数据插入不断生成完整的四叉树;步骤四,对每一个叶节点,统计其词频,存储倒排索引;步骤五,对每一个非叶节点,存储其所有子节点的MG聚合摘要信息;步骤六,针对步骤四和步骤五两步的数据插入过程中,在这个过程中需要维护滑动窗口的大小,删掉具有最旧时间戳的数据项,添加最新的数据,调整四叉树的索引结构。本发明能有效降低成本、提升查询速度,且能处理具有高到达率的地理文本数据流。
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关键词查询的建模方法,包括如下步骤:
步骤一,确定四叉树覆盖的地理范围以及节点分裂规则;
步骤二,接受数据流,向节点中插入数据;
步骤三,符合步骤一节点分裂规则的节点分裂,数据插入不断生成完整的四叉树;
步骤四,对每一个叶节点,统计其词频,存储倒排索引;
步骤五,对每一个非叶节点,存储其所有子节点的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)复杂度的摘要扫描的情况下完成。
作为本发明优选的技术方案,步骤六中,如果滑动窗口还没有满,当一个新的信息到来,被插入到四叉树的叶子节点中,那么这个节点的摘要也会随之更新;接着,它的父节点也会更新其合并的摘要;这个过程将会一直向上迭代,直到四叉树的根节点获得最新的聚合摘要信息;如果滑动窗口已经满了,当数据流中来了一个新的信息,也被插入了,那么有着最旧时间戳的信息将被删掉;接着,索引更新的过程就与滑动窗口未满时候的情况一样了。
此外,本发明还提供一种滑动窗口下基于位置top-k关键词查询的建模系统,包括四叉树地理范围及分裂规则确定单元、数据插入单元和四叉树调整单元;
所述四叉树地理范围及分裂规则确定单元用于确定四叉树覆盖的地理范围以及节点分裂规则;所述数据插入单元用于接受数据流并向节点中插入数据,符合所述节点分裂规则的节点分裂,数据插入不断生成完整的四叉树;所述数据插入单元包括叶节点存储倒排索引、非叶节点存储其子节点的MG聚合摘要;所述四叉树调整单元包括滑动窗口插入新数据、删掉具有最旧时间戳的数据。
与现有技术相比,本发明具有以下有益效果:
1、本发明定义了一个处理LkTQ通过考虑地理文本数据集的词频和位置邻近度来查找top-k局部最流行的关键词的新问题。
2、本发明提出了一种具有低存储和更新成本的混合四叉树索引结构,使得能够实现快速准确的top-k关键词搜索。特别地,由于不可能将每个消息存储在巨大的流数据中,本发明在四叉树的每个节点上增加了一个总结文件用来存储词频的总结。非叶子节点通过存储其子节点的合并摘要来维护一个上限错误。此外,本发明在四叉树结点中存在着大量的合并操作,采用MG摘要的合并操作是轻量级的,并且对于频率的准确性有保证。本发明能有效降低成本、提升查询速度,且能够处理具有高到达率的地理文本数据流。
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值后的时间成本对比结果示意图。
图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.]也是一个具有代表性的基于草图的方法。
基于草图的方法由于哈希碰撞,相比于基于计数器的方法而言精度更低,对于频率估计也无法提供可靠保证。此外,它们不能在连续的流中提供保持相对顺序的保证。因此,我们在这个工作中使用的是基于计数器的方法。
三、本发明方法具体流程
为了更快地索引,本发明使用了一个基于四叉树的索引结构来存储流中搜索的地理文本信息。四叉树的基本思想是将底层空间分成不同层次的单元。也别的,它迭代地将空间分成4个全等的子空间,直到这棵树达到一定的深度或者达到一定的停止条件。四叉树广泛应用于图像处理、空间数据索引、二维环境中的快速碰撞检测、稀疏数据等。本发明四叉树的索引模型的基本结构见图3。需要提醒的是,节点的不同形状标识对应右侧矩形中的各个以相同形状为中心点分裂为四个相同的四分单元(每一个四分单元中的每一个为一个节点),根节点(图中三角形节点)代表整个矩形区域。在叶子节点中存储的是倒排索引,非叶子节点中存储是的合并的摘要。
四叉树有一个非常简单的结构,当空间文本信息分布相对一致的时候,它有着相对高的插入和更新效率。图3中黑色的点是它们被准确发布的位置上的信息。在我们的算法中,我们设置M为一个叶子节点中存储信息的最大条数。换句话说,如果存储在一个叶子节点的信息的数目超过了M,该节点将会变成一个非叶子节点,并分裂成四个有着相同尺寸大小的叶子节点单元。
如图2所示,本发明一种滑动窗口下基于位置top-k关键词查询的建模方法,包括如下步骤:
(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个关键词。如果滑动窗口还没有满,当一个新的信息到来,被插入到四叉树的叶子节点中,那么这个节点的摘要也会随之更新。接着,它的父节点也会更新其合并的摘要。这个过程将会一直向上迭代,直到四叉树的根节点获得最新的合并摘要信息。如果滑动窗口已经满了,当数据流中来了一个新的信息,也被插入了,那么有着最旧时间戳的信息将被删掉。接着,索引更新的过程就与滑动窗口未满时候的情况一样了。
四、本发明系统
如图4所示,本发明一种滑动窗口下基于位置top-k关键词查询的建模系统,包括四叉树地理范围及分裂规则确定单元、数据插入单元和四叉树调整单元;
所述四叉树地理范围及分裂规则确定单元用于确定四叉树覆盖的地理范围以及节点分裂规则;所述数据插入单元用于接受数据流并向节点中插入数据,符合所述节点分裂规则的节点分裂,数据插入不断生成完整的四叉树;所述数据插入单元包括叶节点存储倒排索引、非叶节点存储其子节点的MG聚合摘要;所述四叉树调整单元包括滑动窗口插入新数据、删掉具有最旧时间戳的数据。
五、实验与分析
我们通过实验来验证我们的解决方案并与其余的可行方法进行对比。所有的实验都是在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)。此外,随着数据集的大小变大,结果的趋势就变得愈发明显。
5与基准方法对比精确
准确度是用户关心的一个重要因素。本发明算法与基准方法之间的精确度对比结果见图8。我们针对不同的数据集的大小衡量了我们算法返回的正确的top-k关键词的比例。因为基准方法有非常低效的运行速度,我们选择了相对较小的数据集,然而,并不会影响本发明算法的高性能。当目标k设置在一个较小的数值,本发明算法有很精确的结果,可以保证80%的准确度。随着目标k变大,准确度会有一点点下降。然而,最低的准确度也是在0.39之上,并且是当目标k的值是100,能够满足绝对多数用户的需求。
6、改变参数α
α是一个平衡分值计算公式中的权重参数。改变α的值实质上就是调整距离和词频的影响程度。这决定于用户的偏好。通过实验可以证明我们算法的结果对于α在(0.9,1.0)的区间范围内是敏感的。当然,当α被设置为0或者1,那么结果就代表了距离或者词频单方面的影响。特别地,α的敏感范围是由数据集的分布所影响的。然而,我们的实验结果证明通过改变α,算法是对结果敏感的,因此可以满足用户的偏好需求。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (6)
1.一种滑动窗口下基于位置top-k关键词查询的建模方法,其特征在于,包括如下步骤:
步骤一,确定四叉树覆盖的地理范围以及节点分裂规则;
步骤二,接受数据流,向节点中插入数据;
步骤三,符合步骤一节点分裂规则的节点分裂,数据插入不断生成完整的四叉树;
步骤四,对每一个叶节点,统计其词频,存储倒排索引;
步骤五,对每一个非叶节点,存储其所有子节点的MG聚合摘要信息;所述MG聚合摘要信息的聚合过程为:首先产生最多2k个计数器;接着是一个修剪操作:将这2k个计数器中的值按照从小到大的顺序排列,取出第(k+1)个计数器,并从所有的计数器中减去这个计数器的值;最后,移除所有非正数的计数器;所述聚合过程在常数次数的排序操作,并在有O(k)复杂度的摘要扫描的情况下完成;
步骤六,针对步骤四和步骤五两步的数据插入过程中,在这个过程中需要维护滑动窗口的大小,删掉具有最旧时间戳的数据项,添加最新的数据,调整四叉树的索引结构。
2.如权利要求1所述的方法,其特征在于,步骤一中,所述确定四叉树覆盖的地理范围是给定左上角和右上角的纬度坐标经。
3.如权利要求1所述的方法,其特征在于,步骤一中,所述确定节点分裂规则为:设置每一个叶节点中的数据项不超过某个设定的阈值M,如果超过了则进行分裂为四个叶子节点;或者直接限定树的深度。
4.如权利要求1所述的方法,其特征在于,步骤四中,所述每一个叶子节点存储包含的讯息中所有文本信息的摘要;该步骤采用MG摘要信息的计算过程算法为:
给定一个参数k,k表示用户可指定的结果关键词的个数,一个MG摘要存储k-1个<项,数目>对,针对数据流中的每一个新进的项i有以下三种情况分别进行处理:
1)如果i已经在当前的计数器中被保存,那么给它的计数器值增加1;
2)如果i不在管理集中,计数器的数目还没有达到k个,那么将i插入到摘要中,并将其计数器值设为1;
3)如果i不在管理集中,并且摘要已经保存了k个计数器,我们将管理中的信息的计数器值都减去1,并移除掉所有计数器值为0的信息。
5.如权利要求1所述的方法,其特征在于,步骤六中,如果滑动窗口还没有满,当一个新的信息到来,被插入到四叉树的叶子节点中,那么这个节点的摘要也会随之更新;接着,它的父节点也会更新其合并的摘要;这个过程将会一直向上迭代,直到四叉树的根节点获得最新的聚合摘要信息;如果滑动窗口已经满了,当数据流中来了一个新的信息,也被插入了,那么有着最旧时间戳的信息将被删掉;接着,索引更新的过程就与滑动窗口未满时候的情况一样了。
6.一种滑动窗口下基于位置top-k关键词查询的建模系统,其特征在于,包括四叉树地理范围及分裂规则确定单元、数据插入单元和四叉树调整单元;
所述四叉树地理范围及分裂规则确定单元用于确定四叉树覆盖的地理范围以及节点分裂规则;所述数据插入单元用于接受数据流并向节点中插入数据,符合所述节点分裂规则的节点分裂,数据插入不断生成完整的四叉树;所述数据插入单元包括叶节点存储倒排索引、非叶节点存储其子节点的MG聚合摘要;所述MG聚合摘要的聚合过程为:首先产生最多2k个计数器;接着是一个修剪操作:将这2k个计数器中的值按照从小到大的顺序排列,取出第(k+1)个计数器,并从所有的计数器中减去这个计数器的值;最后,移除所有非正数的计数器;所述聚合过程在常数次数的排序操作,并在有O(k)复杂度的摘要扫描的情况下完成;所述四叉树调整单元包括滑动窗口插入新数据、删掉具有最旧时间戳的数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710864295.0A CN107451302B (zh) | 2017-09-22 | 2017-09-22 | 滑动窗口下基于位置top-k关键词查询的建模方法及系统 |
PCT/CN2017/113479 WO2019056568A1 (zh) | 2017-09-22 | 2017-11-29 | 滑动窗口下基于位置top-k关键词查询的建模方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710864295.0A CN107451302B (zh) | 2017-09-22 | 2017-09-22 | 滑动窗口下基于位置top-k关键词查询的建模方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107451302A CN107451302A (zh) | 2017-12-08 |
CN107451302B true CN107451302B (zh) | 2020-08-28 |
Family
ID=60496980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710864295.0A Expired - Fee Related CN107451302B (zh) | 2017-09-22 | 2017-09-22 | 滑动窗口下基于位置top-k关键词查询的建模方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107451302B (zh) |
WO (1) | WO2019056568A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897119B (zh) * | 2017-02-28 | 2021-04-23 | 郑州云海信息技术有限公司 | 一种虚拟化平台中磁盘树优化方法及系统 |
CN109376295B (zh) * | 2018-08-24 | 2021-08-13 | 北京达佳互联信息技术有限公司 | 一种热词汇集推送方法、装置及网络服务器 |
CN109783520A (zh) * | 2018-12-26 | 2019-05-21 | 东华大学 | 基于滑动窗口的可伸缩的大规模流数据顺序特征维持方法 |
GB2592421B (en) | 2020-02-27 | 2022-03-02 | Crfs Ltd | Real-time data processing |
CN113407669B (zh) * | 2021-06-18 | 2022-11-11 | 北京理工大学 | 一种基于活动影响力的语义轨迹查询方法 |
CN114756544A (zh) * | 2022-03-22 | 2022-07-15 | 阿里云计算有限公司 | 一种热点识别方法及一种限流方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100492366C (zh) * | 2007-06-28 | 2009-05-27 | 腾讯科技(深圳)有限公司 | 摘要提取方法以及摘要提取模块 |
CN101789028B (zh) * | 2010-03-19 | 2012-03-21 | 苏州广达友讯技术有限公司 | 地理位置搜索引擎及其构建方法 |
CN101950302B (zh) * | 2010-09-29 | 2011-12-21 | 李晓耕 | 基于移动设备的海量音乐库管理方法 |
CN102289507B (zh) * | 2011-08-30 | 2015-05-27 | 王洁 | 一种基于滑动窗口的数据流加权频繁模式挖掘方法 |
CN102890713B (zh) * | 2012-09-20 | 2015-08-12 | 浙江大学 | 一种基于用户当前地理位置和物理环境的音乐推荐方法 |
US9047847B2 (en) * | 2013-02-05 | 2015-06-02 | Facebook, Inc. | Displaying clusters of media items on a map using representative media items |
CN104820684B (zh) * | 2015-04-21 | 2017-12-15 | 武大吉奥信息技术有限公司 | 一种基于空间位置的快速联机分析处理方法 |
CN105069094B (zh) * | 2015-08-06 | 2018-08-07 | 苏州大学 | 一种基于语义理解的空间关键字索引方法 |
-
2017
- 2017-09-22 CN CN201710864295.0A patent/CN107451302B/zh not_active Expired - Fee Related
- 2017-11-29 WO PCT/CN2017/113479 patent/WO2019056568A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2019056568A1 (zh) | 2019-03-28 |
CN107451302A (zh) | 2017-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107451302B (zh) | 滑动窗口下基于位置top-k关键词查询的建模方法及系统 | |
CN107506490B (zh) | 滑动窗口下基于位置top-k关键词查询的优先查询算法及系统 | |
CN107633068B (zh) | 滑动窗口下基于位置top-k关键词查询的快速索引方法及系统 | |
US11580104B2 (en) | Method, apparatus, device, and storage medium for intention recommendation | |
CN108304444B (zh) | 信息查询方法及装置 | |
CN108932347B (zh) | 一种分布式环境下基于社会感知的空间关键字查询方法 | |
Zhong et al. | Location-aware instant search | |
US10657133B2 (en) | Indexing dynamic hierarchical data | |
Tiakas et al. | Skyline queries: An introduction | |
Cheema et al. | A safe zone based approach for monitoring moving skyline queries | |
Mahmood et al. | FAST: frequency-aware indexing for spatio-textual data streams | |
Chen et al. | Spatio-temporal top-k term search over sliding window | |
Xu et al. | Location-based top-k term querying over sliding window | |
Gao et al. | On processing reverse k-skyband and ranked reverse skyline queries | |
Adamu et al. | A survey on big data indexing strategies | |
Xiao et al. | Probabilistic top-k range query processing for uncertain databases | |
Zheng et al. | Searching activity trajectory with keywords | |
Alamri et al. | Tracking moving objects using topographical indexing | |
Vouzoukidou et al. | Processing continuous text queries featuring non-homogeneous scoring functions | |
Gulzar et al. | D-SKY: A framework for processing skyline queries in a dynamic and incomplete database | |
Arseneau et al. | STILT: Unifying spatial, temporal and textual search using a generalized multi-dimensional index | |
Wang et al. | Efficient identification of local keyword patterns in microblogging platforms | |
Yan et al. | RDF knowledge graph keyword type search using frequent patterns | |
Metre et al. | Efficient processing of continuous spatial-textual queries over geo-textual data stream | |
Wang et al. | Efficient top/bottom-k fraction estimation in spatial databases using bounded main memory |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200828 |