智能设备(如智能手机、互联可穿戴设备)的使用呈指数级的增长。据统计,80%的互联网用户拥有智能手机[1],而移动应用程序的使用每年以6%的速度增长,这创造了大量的信息,并带来了大量的研究和商业机会,如智能城市建设、个性化推荐系统等。根据MIT 的技术研究[2],从手机中收集的GPS位置信息可以洞察出用户的行为习惯,那么我们如何利用这些GPS位置信息去挖掘出用户个体和群体的行为和习惯呢?
本文将介绍在IEEE ASONAM 2018上发表的论文《Extracting user habits from Google Maps history logs》,文章使用Google Maps收集的位置信息,建立清晰的处理和分析框架,从驻留点和轨迹这两个角度出发,按照信息提取、信息增强和信息抽象这三个连贯的步骤,有效地提取出用户的行为习惯。
一、问题背景 目前有很多研究与GPS信息挖掘有关。在早期研究工作中,研究者们利用GPS信息挖掘有趣的地理位置和旅行序列、利用用户位置历史信息来衡量用户之间的相似度、利用用户位置和轨迹信息去建立基于位置的社交网络等,可应用在POI推荐、个性化广告定制等众多场景中。在最近的研究工作中,研究者们关注到用户位置历史记录和用户态度和兴趣等信息,不断提高用户行为和位置的匹配程度,推荐用户感兴趣的POI。与已用的研究有所不同,这篇论文关注用户的潜在行为模式,侧重于用户行为的时间模式。考虑GPS信息中提取的两种不同类型的信息,分别是代表用户访问的位置信息和代表用户移动的轨迹信息。通过这两类信息去挖掘用户的三类行为习惯,包括频繁访问的POI及POI类型、频繁的移动行为及过渡方式和与用户偏好联系的时间模式。
二、系统框架本文的流程框架如图1,整体分为信息提取、信息增强和信息抽象三个模块。系统以GPS信息为中心,遵循循序渐进的原则,首先从原始的GPS数据出发检测用户驻留点和轨迹,再为驻留点和轨迹增加语义注释,最后再通过相关算法,检测频繁的驻留点和轨迹以挖掘用户行为习惯。图1 系统基本框架下面将分别介绍这三个模块。1、信息提取:原始的GPS数据是一系列带有时间戳的地理位置集合,缺乏真实地理位置的语义信息,比如用户的停留位置,用户的移动顺序,而这两者恰能反映出一部分用户的行为习惯,所以为了更好地分析用户行为习惯,该系统提取出驻留点和轨迹。2、信息增强:实际上,对于提取后的驻留点和轨迹信息,用户只能感知其自带的属性,而对于驻留点停留的意图、轨迹移动的目的和方式依然是个黑盒。为了解决这个问题,该系统分别扩充驻留点和轨迹的语义信息。3、信息抽象:该模块首先检测频繁的驻留点和轨迹,并将两者融合起来,从时间模式的维度上,提取出用户的习惯,如用户在周末最常访问的POI类型。
三、系统实现下面将详细介绍信息提取、信息增强、信息抽象这三个模块的实现方式。1、信息提取:驻留点的提取。提取的流程如图2。采用DBSCAN这种基于密度的聚类算法,它使用范围阈值eps和在此范围内的最小点数Minpts作为参数来聚合GPS点。在这里对原始的DBSCAN算法进行扩展,原始的DBSCAN算法仅仅考虑各GPS点的空间位置关系,可用于记录点比较密集的区域或用户快速通过的区域,但无法区分真实停留区域以及用户按照时间间隔多次经过的区域,考虑到用户行为的准确性,该系统将时间距离融入到该聚类算法的距离度量中。图2 驻留点的提取流程轨迹的提取。轨迹的提取依赖于驻留点的提取,直接定义为两个连续驻留点之间的GPS点集。2、信息增强:驻留点的语义信息。用户的每一次停留都会具有一定的语义信息,如休息、运动和购物等。该系统使用驻留点的GPS位置坐标作为边界框的中心,搜索在此边界框内里最接近的POI名称和类别来描述此驻留点。轨迹的语义信息。用户的每一次移动,都会对应一条轨迹数据,那么用户的移动方式究竟是步行还是驾驶,这就需要提取出这条轨迹对应的语义信息。该系统使用一组直接(经度、纬度和时间戳)和间接特征(速度、速度变化和与POI类型为公交、地铁的距离)输入到一个预先训练的分类模型[3]中,去描述轨迹的移动方式,如驾驶、步行等。图3 驻留点和轨迹数据语义信息表示示例3、信息抽象:在得到用户驻留和移动的语义信息后,需要进一步去挖掘用户的习惯,比如用户最常访问的POI类别,用户最常使用的出行方式,用户本月访问火车站的次数等,面对这些离散的驻留和移动信息,该系统从主要从聚类的角度对这些信息进行抽象。驻留点的抽象。在驻留点的属性中,会有时间戳表示驻留的开始时间和结束时间,该系统将此时间戳抽象为工作日、周末、上午或下午等,以一种易于理解的方式,去描述用户个体或群体的停留画像。轨迹的抽象。在对用户轨迹的分析中,会优先关注用户经常选择的移动路径和移动方式。该系统选择一种基于买QQ号码地图聚类的序列挖掘算法(CBM)[4],输出用户最频繁的轨迹集。该算法的流程如图4。图4CBM算法在该系统中,算法的输入是用户频繁访问的停留点和两个参数s和k。参数s表示聚类的二维区域大小,参数k为每个区域对应的最小点数,超过一定的点数才被视为一次活动。
四、案例展示该系统最终以一个应用的形式展现,如图5。图5 应用页面展示该应用可以较有效地展示出一个用户在特定周期时间内的出行习惯,如图6,表示一个用户有周日和周一晚上去访问“Baron cafe”的习惯。图6 用户案例
五、小结本文通过解读一篇论文,展示了从原始GPS信息到用户行为信息的全部过程,即GPS信息、驻留点和轨迹信息、带有语义的驻留点和语义信息、抽象后的行为习惯信息,可以看出GPS信息背后蕴含了丰富的信息,利用这类时空数据,可以分析单个移动对象的行为去辅助监管和个性化推荐,挖掘用户群体的行为习惯去辅助城市规划和建设。作为时空数据引擎,JUST平台[5]具有强大的时空数据分析和挖掘能力,对于一份原始的GPS信息,它可以有效且准确地提取出轨迹信息、驻留点信息,并可以实现聚类、k近邻等挖掘能力,帮助我们从海量GPS数据挖掘出有趣的用户行为信息。