Page 233 - 《软件学报》2020年第10期
P. 233

潘晓  等:支持 OR 语义的高效受限 Top-k 空间关键字查询技术                                              3209


         图 10 和图 11 展示了将两个数据集导入 QGIS 后,签到兴趣点 POI(point of interests)的分布情况.表 4 列出了数
         据集的统计信息,包括 POI 数量、键字数量以及每个 POI 上的平均关键字数.实验中的所有算法用 Java 实现.
         运行于 Intel(R) i5 2.30GHzCPU 处理器、4GB 内存的 Windows 8 计算机上.实验中,所有的 POI 组成被查询点集
         合.查询点集合从 POI 集合中随机抽取 10 000 个.随机抽取的点位置即查询点位置信息.查询点的文本关键字按
         照不同等级的词频随机分配.文本关键字的等级是根据关键字词频的上四分位、中位数划分的 3 个等级(即高
         频、中频和低频词).实验默认设置见表 5.
             文献[16]是第 1 篇在线性四分树上进行 Top-k 关键字查询的代表性工作,但其仅支持 AND 语义.本文提出
         的 VQuad 算法是在文献[16]中提出的基于虚拟四分树算法基础上的改进,所以在支持 OR 语义方面,实验仅对比
         了 VQuad 算法和 VGrid 算法在两个不同数据集上平均查询时间的变化情况(见第 5.2 节).为了验证两种算法在
         AND 语义方面的有效性,第 5.3 节对两种算法支持 AND 语义的实验结果进行了对比分析.实验变动参数有关键
         字个数(l)、返回结果数(k)、数据集大小等.由于文献[16]已验证了倒排线性四分树与经典索引结构的对比情况,
         这里没有再对索引结构大小等进行赘述.














                   Fig.10   LA check-in datasets                                    Fig.11   NYC check-in datasets
                     图 10   LA 签到数据集                                             图 11   NYC 签到数据集

                                        Table 4  Statistics for the dataset
                                           表 4   数据集的统计信息
                                        Property           LA        NYC
                                       POI 数量            215 614    206 416
                                       关键字数量             175 704    240 781
                                 每个对象的平均关键字数量             1.34       1.32
                                            Table 5  Default setting
                                             表 5   实验默认设置
                                    实验设置的参数           字母表示         默认值
                                每个查询点的文本关键字数             l           3
                                   查询返回的结果数              k          10
                                  空间和文本比重参数              α          0.3
                                  线性四分树划分深度              R           3
                                     空间距离约束              d      10%×空间大小
         5.2   支持OR语义的算法性能对比
             图 12 对比展示了 VQuad 和 VGird 算法在两个不同真实数据集上的查询平均处理时间.从图 12 观察到两
         种算法在 LA 和 NYC 数据集上的性能表现类似.从图 10 和图 11 可以看出,两个签到数据集 POI 分布类似且 POI
         个数接近.无论是在 LA 的数据集上还是在 NYC 的数据集上,VGird 的平均处理时间均优于 VQuad.其原因在于,
         VQuad 算法需要多次访问查询关键字对应的线性四分树.具体地,VQuad 查询过程中采用的虚拟四分树是一个
         逻辑概念上的结构,物理上并不存在.因此,每次访问到某一个层次的四分树节点时,需要进行物理上线性四分
         树存储的 Morton 码到虚拟四分树的转换(见第 4.2.1 节).同时,VQuad 算法在计算非叶子节点与查询点的空间文
         本相似性时,需要该节点下覆盖对象的查询关键字的最大权重.然而,线性四分树上存储的是虚拟四分树上叶子
   228   229   230   231   232   233   234   235   236   237   238