哈尔滨工业大学学报  2019, Vol. 51 Issue (11): 1-7  DOI: 10.11918/j.issn.0367-6234.201902039
0

引用本文 

郭茂祖, 王鹏跃, 赵玲玲. 基于深度学习的出行模式识别方法[J]. 哈尔滨工业大学学报, 2019, 51(11): 1-7. DOI: 10.11918/j.issn.0367-6234.201902039.
GUO Maozu, WANG Pengyue, ZHAO Lingling. Research on recognition method of transportation modes based on deep learning[J]. Journal of Harbin Institute of Technology, 2019, 51(11): 1-7. DOI: 10.11918/j.issn.0367-6234.201902039.

基金项目

国家自然科学基金(61871020, 61305013);北京市教委科技计划重点项目(KZ201810016019);北京市属高校高水平创新团队建设计划项目(IDHT20190506)

作者简介

郭茂祖(1966—),男,教授,博士生导师

通信作者

赵玲玲,zhaoll@hit.edu.cn

文章历史

收稿日期: 2019-02-18
基于深度学习的出行模式识别方法
郭茂祖1,2, 王鹏跃1,2, 赵玲玲3     
1. 北京建筑大学 电气与信息工程学院,北京 100044;
2. 建筑大数据智能处理方法研究北京市重点实验室(北京建筑大学),北京 100044;
3. 哈尔滨工业大学 计算机科学与技术学院,哈尔滨 150001
摘要: 居民出行信息可体现居民活动规律、反映城市交通问题,是制定交通规划与管理的重要依据.利用GPS获取的轨迹数据虽具有大量时空信息但不能直接表达出行模式,需要数据处理和挖掘算法提取隐藏知识来识别出行模式.由于居民出行模式具有高度的非线性和复杂性,识别具有很大挑战.本文利用深度学习方法的特征学习表征优势,解决特征提取的繁琐计算或漏提特征等弊端,通过对轨迹进行去野和划分等预处理后,计算轨迹片段的运动学特征构成输入数据,提出基于卷积神经网络与门控循环单元相结合的识别出行模式方法,利用卷积神经网络的深层特征表征优势和门控循环单元的时序特性挖掘能力,提高对非线性分类问题的学习能力和识别出行模式的准确性.为验证所提出方法的有效性,还设计单独的卷积神经网络和门控循环单元等模型,在Geolife数据集上进行测试和对比.实验结果表明,本文方法虽仅计算4个特征量仍具有较好的识别效果,并且优于单独采用卷积神经网络等分类方法的识别性能.
关键词: 出行模式识别     卷积神经网络     门控循环单元     语义挖掘     GPS轨迹数据    
Research on recognition method of transportation modes based on deep learning
GUO Maozu1,2, WANG Pengyue1,2, ZHAO Lingling3     
1. School of Electrical and Information Engineering, Beijing University of Civil Engineering and Architecture, Beijing 100044, China;
2. Beijing Key Laboratory of Intelligent Processing for Building Big Data(Beijing University of Civil Engineering and Architecture), Beijing 100044, China;
3. School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China
Abstract: Resident travel information can reflect the activity routines of residents and urban traffic problems, which is an important basis for formulating transportation planning and management. Although the trajectory information acquired by GPS has a lot of spatio-temporal information, it cannot directly express transportation modes. Data processing and mining algorithms are needed to extract hidden knowledge to infer transportation modes, while recognition has great challenges due to the high degree of non-linearity and complexity of residents' travel patterns. In this study, the advantages of deep learning were utilized to solve difficult calculation features or missing extraction features. After pre-processing of the trajectory information, kinematic features of the trajectory segments were calculated to form the input data. A method that combines convolutional neural network with gate recurrent unit was proposed to recognize transportation modes. By utilizing the advantages of convolutional neural networks, the deep features and the ability of gate recurrent unit were characterized to mine time series characteristics, improve the learning ability of nonlinear classification problems, and increase the accuracy of transportation modes recognition. In order to verify the effectiveness of the proposed method, separate convolutional neural network and gate recurrent unit were designed, which was tested and compared on the published GeoLife dataset. Experimental results show that although the proposed method only used four features, it still received well recognition results. Besides, the proposed method had better recognition performance than using a convolutional neural network and other classification methods.
Keywords: transportation modes recognition     convolutional neural network     gate recurrent unit     semantic mining     GPS trajectory data    

随着城市化进程加快,城市交通拥堵问题日益突出,需要制定科学合理的交通规划与管理方案来解决,制定的依据主要来自于居民日常出行信息.出行方式作为出行信息中最基本的属性,体现了居民的出行特征和活动规律,是构建交通模型、缓解城市问题所必不可少的数据.随着全球定位系统(Global Positioning System,GPS)的发展[1],居民出行信息中的起止时间、轨迹等信息都可以通过GPS数据还原,但是,这些按时间顺序排列的GPS点并不能直接表达出交通方式、出行目的等人们可以理解的语义信息[2].因此,如何从这些无直接意义的GPS轨迹数据中挖掘隐藏信息来识别出行模式成为研究的重点和难点.

居民出行活动是高度的非线性和复杂性问题,若采用经典机器学习算法,从现有文献看,采用的特征虽不完全相同,但大部分都为速度、加速度及各种统计量,Xiao等[3]使用统计方法使提取的特征数量达到百位级.这就导致3个问题:一是难以确定是否有遗漏的特征;二是依赖于人为经验的特征可能会限制机器学习的能力[4];三是增加统计量的个数可能会遇到维数灾难等问题.

近年来,深度学习在计算机视觉[5]、自然语言处理[6]、文本处理[7]等领域取得了一定的成功,表明其具有较强的特征学习表示能力.Endo等[8]最早将深度神经网络(Deep Neural Network,DNN)用于出行模式的识别,但仅使用时间信息,无任何运动学特征.Wang等[9]将点特征转换为深度特征输入到DNN中,由于特征间高度线性相关,降低了质量.Song等[10]利用城市中异构数据搭建长短时记忆网络(Long Short-Term Memory Network,LSTM)[11]来模拟、预测全市范围内的人员流动.Liang等[12]和Dabiri等[13]均设计卷积神经网络(Convolutional Neural Network,CNN)来有效识别交通模式,但二者均未考虑到出行轨迹数据的时序性.上述研究表明,采用深度学习识别交通模式,既可降低人为干预,又可提高对非线性问题的学习能力和识别准确度,为城市中各类服务提供决策依据,但上述研究都只是单从空间角度或单从时间角度出发,对隐藏信息挖掘不够.

本文考虑到人工构造大量特征的繁琐和弊端,采用深度学习方法,利用CNN层对轨迹中隐含的深层特征进行提取,为更好地挖掘轨迹时序特性,加入双向门控循环单元(Bi-direction Gate Recurrent Unit,Bi-GRU)[14],建立CNN-BiGRU模型,从时空上对出行轨迹数据进行挖掘,提高识别准确性.

1 数据准备

GPS轨迹数据需要经过前期的数据准备才可输入到网络中,数据准备主要分为两部分:一是数据预处理.轨迹数据需要经过去野、切分等处理,将混合方式的出行轨迹数据划分为固定长度的单方式轨迹片段(每个轨迹片段只包含一种出行模式).二是特征提取.本文对切分好后的轨迹片段提取速度、加速度、加加速度和方位变化角等运动学特征,构建输入数据,输入到网络中.

1.1 数据预处理

GPS采集到的GPS点必须包含3个最基本的信息,即纬度、经度和时间信息,才能进行分析,缺一不可.数据集中也必须包含出行方式的标签,用于验证识别结果的准确性.数据预处理主要处理两方面的问题:轨迹划分和去除异常点.

1.1.1 轨迹划分

本文按不同出行目的来划分不同的出行行程,即根据停留点进行划分,按两点间时间间隔超过时间阈值Tth=10 min来划分为不同的出行行程.再按照数据集所给的标签将多方式轨迹段进一步划分为单方式轨迹,整个过程见图 1.

图 1 划分单方式出行轨迹过程 Fig. 1 Division of travel trajectory process

为保证输入到模型中的数据大小一致,需要对单方式轨迹片段继续做切片.以固定数据点个数N来划分,不够N个点的在最后用零来填充.

1.1.2 识别异常点

大气扰动、建筑物遮挡、卫星分布等会导致原始数据中存在漂移、缺失等质量问题,会对后续算法识别产生干扰,影响算法的有效性,因此,需要对异常点进行识别和滤除.本文采用阈值的方法来识别无效GPS点,计算简单,此外,较高的采样率也可弥补误删所带来的损失.

1) 异常点的识别与滤除

表 1中设定的最大速度和加速度阈值[13]将不切实际的无效GPS点丢弃.

表 1 不同出行方式的最大阈值 Tab. 1 Maximum thresholds of different transportation

2) 异常轨迹的去除

在移除无效GPS点后,考虑到任何的出行方式都要持续一定的时间,因此将GPS点个数小于10个点的轨迹段识别为异常轨迹,将其丢弃.

1.2 特征提取

在特征向量构造时,本文只计算与运动相关的特征,不选取均值、方差等统计量,最大程度地避免人为经验干扰.任意采样点P的特征均需要通过该点与相邻点的时间和经纬度信息计算得出.两个相邻点P1, P2之间的间隔时间为Δt.令T1为轨迹点P1的采样时刻,E1P1的经度,N1P1的纬度;T2为轨迹点P2的采样时刻,E2P2的经度,N2P2的纬度.其中两点间距离采用测地距离(Vincenty)计算,测地距离是假设地球的形状是扁球体,比假定球形地球的方法(如大圆距离)更加准确,可以直接调用geopy.distance库的Vincenty函数计算.各项特征计算方法见式(1)~(3):

$ V_{\mathrm{p} 1}=\frac{\text { Vincenty }\left(p_{1}, p_{2}\right)}{\Delta t}, $ (1)
$ A_{\mathrm{p}_{1}}=\frac{V_{\mathrm{P}_{2}}-V_{\mathrm{P}_{1}}}{\Delta t}, $ (2)
$ J_{\mathrm{p}_{1}}=\frac{A_{\mathrm{P}_{2}}-A_{\mathrm{P}_{1}}}{\Delta t}. $ (3)

式中:Vp, Ap, Jp分别为速度,加速度,加加速度.

不同出行方式的前进方向角变化不同,见图 2.例汽车和公交车只能沿着街道行驶,而步行或自行车则可任意改变前进方向[15].为了量化不同模式之间的差异,引入方位变化角作为第4个特征.方位角(Bearing)为连接两个连续GPS点的线与参考线之间角度,见图 3.

图 2 不同出行方式的前进方向变化 Fig. 2 Heading change rate of different modes
图 3 相邻GPS轨迹点之间的方位角 Fig. 3 Bearing between two consecutive GPS points

方位变化角是两个连续点的方位角的绝对差值,计算方法见公式(4)~(7):

$ y=\sin \left(\frac{E_{2}-E_{1}}{180}\right) \cdot \cos \frac{N_{2} \cdot \pi}{180}, $ (4)
$ x=\cos \frac{N_{1} \cdot \pi}{180} \cdot \sin \frac{N_{2} \cdot \pi}{180}-\\ \sin \frac{N_{1} \cdot \pi}{180} \cdot \cos \frac{N_{2} \cdot \pi}{180} \cos \left(\frac{E_{2}-E_{1}}{180}\right), $ (5)
$ \text { Bearing }_{(\mathrm{p} 1)}=\arctan (y, x), $ (6)
$ \mathrm{BR}_{\left(\mathrm{p}_{1}\right)}=| \mathrm{Bearing}_{\left(\mathrm{p}_{2}\right)}-\mathrm{Bearing}_{\left(\mathrm{p}_{1}\right)}|. $ (7)

式中:Bearing(P), BR(P)分别为方位角和方位变化角.

本文在切分好的各单方式轨迹段中随机抽取轨迹段,计算每段的速度、速度测量的相对误差、相对距离、加速度、加速度测量的相对误差、加加速度以及方位变化角共7个特征,绘制特征分析图见图 4.

图 4 各单方式轨迹段的特征分析 Fig. 4 Characteristic analysis of each single-mode segment

图 4的特征分析图可以看出,速度和方位变化角为区分度最好的特征,相对距离,速度测量的相对误差和加速度测量的相对误差的重叠覆盖范围过大,不利于区分不同的交通方式.速度、加速度、加加速度和方位变化角的区分度较好,选作特征.

2 识别出行模式的网络构建

本文对数据集进行划分,将其中90%作为训练集,10%作为测试集,利用训练集来训练模型,再计算在测试集上的精度.本文构建CNN-BiGRU深度学习网络,利用CNN层提取深层特征,再输入到Bi-GRU层提取相关时序特征,最后通过Softmax层得到识别结果.为验证本文所提出网络结构的优越性,采用相同的数据处理办法并将CNN模型、GRU模型、GRU-CNN模型等不同的深度学习模型与本文提出的网络结构作对比.

2.1 输入层

按特征计算方法得到速度、加速度、加加速度和方位变化角,再将其构成输入数据见图 5.

图 5 输入数据 Fig. 5 Data input
2.2 CNN层

考虑到卷积神经网络的深度特征学习能力,采用卷积神经网络来提取轨迹的深层信息.卷积层中的局部连接与权值共享,可减少参数个数,同时增加网络的鲁棒性.此外,局部连接和权值共享对识别出行模式具有重要意义.轨迹数据具有局部相关性,靠得越近的数值越相关,而相距较远的元素关联较小,局部连接恰好抓住这一特性.权值共享即每个神经元连接的权重是固定的,每个神经元只关注一个特征,相同的权重矩阵可以检测出不同位置的相同特征,在公交车的片段中,停车特征的位置总是不同的,权值共享适用于这种情况.

2.3 Bi-GRU网络

CNN模型具有特征学习表征优势,但考虑到出行轨迹的时序性,在CNN层后加入GRU层来提取轨迹中的时序特征.GRU模型是LSTM模型的一种变体,是一种递归神经网络,可以记住之前感知到的内容,克服RNN无法很好处理远距离依赖,非常适合处理未知持续时间的重要事件.GRU模型只有更新门和重置门两个门.更新门用于控制前一时刻的状态信息被带入到当前状态中的程度.重置门用于控制忽略前一时刻的状态信息的程度.GRU模型更为简单,参数更少,更易训练,可减轻过拟合.双向GRU网络就是在正向传播的基础上再进行一次反向传播,且这两个都连接在同一个输出层上,这样不仅可以学习正向规律还可学习反向规律,将正向和反向进行结合,在时序上会比单向GRU网络具有更高的拟合度,提高识别精度,整体结构见图 6.

图 6 整体网络结构 Fig. 6 Overall network structure
3 实验结果与分析

本实验的GPS轨迹数据来源于微软亚洲研究院Geolife项目中公开的数据集[16-18],其中带出行标签的数据集由69名志愿者,共14 718条轨迹,12 517 364个点组成.数据集所含的标签类别包括步行、自行车等常见的交通方式.虽然具有多种出行方式,但本实验只考虑地面出行模式.将出租车和汽车全部整合为汽车.将所有基于轨道的交通出行模式整合为列车.因此,最终为步行、自行车、公交车、汽车和列车共5种方式.

3.1 数据预处理

考虑到输入CNN的数据大小一致性,在前期数据处理中,切片数目N要满足大部分的方式段,因此绘制各单方式轨迹段的长度分析图见图 7.切片数目N的确定需要满足两个条件:一是保证大部分的轨迹点个数都大于N;二是保证划分后的轨迹片段仍具有一定的时间长度,可以对其进行分析.由图 7可知80%的片段长度大于107个点.因此,为便于计算,对其取整,确定切分数目N=100.这样既满足80%的轨迹都大于100个点,又具有一定的时间长度.此时切分后的各交通方式的轨迹片段数量见表 2.

图 7 单方式轨迹段的长度 Fig. 7 Length of single-mode trajectory
表 2 各交通方式的轨迹片段数量 Tab. 2 Number of different modes
3.2 实验结果

将切分好的轨迹片段按式(1)~(7)的计算方法提取特征,构建输入数据.分别确定CNN层和Bi-GRU层的最佳结构,再将CNN网络和Bi-GRU网络结合,构建最佳CNN-BiGRU网络模型,与单独的CNN、GRU网络和BiGRU-CNN模型等几种深度学习模型作对比.

其中CNN层,本文从浅层网络开始,逐渐增加层数,来选择最佳CNN结构.其中卷积核均设置为1*3,激活函数选择ReLU,池化层的卷积核选择为1*2.测试三种不同的CNN网络结构,具体结构见表 3.为提高精度,还在其中加入dropout等办法,降低过拟合风险.

表 3 不同CNN结构的实验结果 Tab. 3 Experimental results of different CNN structures

表 3可知,具有卷积核为32个的卷积层2层、卷积核为64个的卷积层2层以及卷积核为128个的卷积层2层(32*2-64*2-128*2)的CNN结构识别效果最好.若继续加入2层带有256个卷积核的卷积层,虽然结构变得更深,但是在测试集的精度并没有提高,反而增加计算量.因此选用32*2-64* 2-128*2结构为最佳的CNN层.

在GRU实验中测试具有不同节点数目的单层单向GRU与单层双向GRU结构,运行结果见表 4.

表 4 具有不同节点的Bi-GRU的实验结果 Tab. 4 Results of Bi-GRU structures with different number of units

表 4可知,双向GRU精度均比单向GRU精度更高,其中节点数目为64的单层双向GRU的识别效果最好.当节点数目增加为128时,精度并未提高,反而增加计算负担.因此,在之后的实验中Bi-GRU层选用64个节点.

由于出行轨迹是典型的时空数据,可以利用CNN模型提取更深层的特征,利用GRU模型提取时序特性,结合利用两者的优点来提高识别精度.本文采用了相同的数据处理办法,对比了不同的网络结构,识别精度见表 5,由实验结果表明本文所提出的CNN-BiGRU模型的精度最高,不仅优于BiGRU-CNN、CNN-GRU,还优于单独的CNN模型和单独的Bi-GRU模型.这表明CNN-BiGRU网络结构的优越性,此时最佳网络的结构见表 6.

表 5 不同结构的实验结果 Tab. 5 Experimental results of different structures
表 6 最佳CNN-BiGRU网络结构 Tab. 6 Optimal CNN-BiGRU structures

最佳CNN-BiGRU网络的详细信息见表 7,包括混淆矩阵以及各种交通方式的查准率和查全率.该网络模型的查准率和查全率均大于79%,证明了该网络的有效性,其中,步行方式段的查全率高达94%,而汽车的查全率最低为70%,这是由于汽车的各项特征易受交通环境影响,较难预测.公交车和列车都遵循着特定的时间,特定的轨迹出行,较易识别,可以预测.

表 7 最佳网络的混淆矩阵、查全率和查准率 Tab. 7 Confusion matrix, recall, and precision of the optimal model

与同样使用Geolife数据集进行出行方式研究的结果进行公平对比,结果见表 8.对比使用经典机器学习方法做出卓越成果的郑宇等[15]研究成果,Endo等[8]最早运用深度学习识别出行模式的研究成果,但仅使用时间信息,无运动特征信息,识别结果比郑宇等采用机器学习方法的精度低,还有Dabiri等[13]运用单CNN模型进行识别的研究成果.

表 8 相关工作的研究结果对比 Tab. 8 Performance comparison with related work

表 8可知,本文模型精度与上述相关模型精度分别高6.4%,17.7%,2.8%,验证本文所提模型从时空上挖掘出行轨迹隐藏信息的可行性以及优越性.

4 结论

运用深度学习模型对出行模式识别,省去人工设计大量特征的繁琐过程,并且尽可能降低人为经验的干扰.本文通过数据预处理,将出行轨迹数据进行切分,再从轨迹片段中提取运动学特征,输入到本文提出的CNN-BiGRU网络中,运用CNN来提取深层特征,运用Bi-GRU提取时序特性,结合两者的优势,从时空上挖掘出行轨迹的隐藏信息,提高识别出行模式的准确度.经验证,CNN-BiGRU网络较单独的CNN模型等分类方法具有更高的识别精度.

但本文在数据处理时需要先把数据划分为单方式后再进行识别,这限制了在实际中的应用,因为这要求数据必须带有标签,对数据有更严格的要求.这也就对下一步的研究指出方向,即如何识别转换点的研究.

参考文献
[1]
MURAKAMI E, WAGNER D. Can using global positioning system (GPS) improve trip reporting?[J]. Transportation Research Part C: Emerging Technologies, 1999, 7(2): 149-165. DOI:10.1016/S0968-090X(99)00017-0
[2]
LI Xiaolei, HAN Jiawei, KIM S, et al. Roam: Rule-and motif-based anomaly detection in massive moving object data sets[C]//Proceedings of the 2007 SIAM International Conference on Data Mining. Philadelphia, PA: SIAM, 2007: 273-284. DOI: 10.1137/1.9781611972771.25
[3]
XIAO Zhibin, WANG Yang, FU Kun, et al. Identifying different transportation modes from trajectory data using tree-based ensemble classifiers[J]. ISPRS International Journal of Geo-Information, 2017, 6(2): 57. DOI:10.3390/ijgi6020057
[4]
DONG Weishan, LI Jian, YAO Renjie, et al. Characterizing driving styles with deep learning[EB/OL]. (2016-07-13). https://arxiv.org/abs/1607.03611
[5]
KRIZHEVSKY A, SUTSKEVER I, HINTON G. Imagenet classification with deep convolutional neural networks[C]//Advances in Neural Information Processing Systems. Cambridge, MA: MIT Press, 2012: 1097-1105 https://www.mendeley.com/catalogue/imagenet-classification-deep-convolutional-neural-networks/
[6]
HINTON G, DENG Li, YU Dong, et al. Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups[J]. IEEE Signal Processing Magazine, 2012, 29(6): 82-97. DOI:10.1109/MSP.2012.2205597
[7]
YU Bo, XU Zongben, LI Chenghua. Latent semantic analysis for text categorization using neural network[J]. Knowledge-Based Systems, 2008, 21(8): 900-904. DOI:10.1016/j.knosys.2008.03.045
[8]
ENDO Y, TODA H, NISHIDA K, et al. Deep feature extraction from trajectories for transportation mode estimation[C]//Pacific-Asia Conference on Knowledge Discovery and Data Mining. Berlin, German: Springer, 2016: 54-66 https://link.springer.com/chapter/10.1007%2F978-3-319-31750-2_5
[9]
WANG Hao, LIU Gaojun, DUAN Jianyong, et al. Detecting transportation modes using deep neural network[J]. IEICE Transactions on Information and Systems, 2017, 100(5): 1132-1135. DOI:10.1587/transinf.2016EDL8252
[10]
SONG Xuan, KANASUGI H, SHIBASAKI R. DeepTransport: prediction and simulation of human mobility and transportation mode at a citywide level[C]//Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence. San Francisco, CA: Morgan Kaufmann, 2016: 2618-2624
[11]
HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780. DOI:10.1162/neco.1997.9.8.1735
[12]
LIANG Xiaoyuan, WANG Guiling. A convolutional neural network for transportation mode detection based on smartphone platform[C]//Proceedings of the 2017 IEEE 14th International Conference on Mobile Ad Hoc and Sensor Systems. Piscataway, NJ: IEEE, 2017: 338-342. DOI: 10.1109/MASS.2017.81
[13]
DABIRI S, HEASLIP K. Inferring transportation modes from GPS trajectories using a convolutional neural network[J]. Transportation Research Part C: Emerging Technologies, 2018, 86(1): 360-371. DOI:10.1016/j.trc.2017.11.021
[14]
CHO K, VAN M B, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[EB/OL]. (2014-06-03). https://arxiv.org/abs/1406.1078
[15]
ZHENG Yu, ZHANG Lizhu, XING Xie, et al. Mining interesting locations and travel sequences from GPS trajectories[C]//Proceedings of the 18th International Conference on World Wide Web. New York, NY: ACM, 2009: 791-800. DOI: 10.1145/1526709.1526816
[16]
ZHENG Yu, LI Quannan, CHEN Yukun, et al. Understanding mobility based on GPS data[C]//Proceedings of the 10th International Conference on Ubiquitous Computing. New York, NY: ACM, 2008: 312-321. DOI: 10.1145/1409635.1409677
[17]
ZHENG Yu, XIE Xing, MA Weiying, et al. Geolife: A collaborative social networking service among user, location and trajectory[J]. IEEE Data Engineering Bulletin, 2010, 33(2): 32-39.
[18]
ZHENG Yu, LIU Like, WANG Longhao, et al. Learning transportation mode from raw GPS data for geographic applications on the web[C]//Proceedings of the 17th International Conference on World Wide Web. New York, NY: ACM, 2008: 247-256. DOI: 10.1145/1367497.1367532