基于地理位置的社交网络和云计算在智慧城市中的应用
2014-12-02陈辰
陈 辰
同济大学软件学院,上海 201804
0 引言
近些年,IBM 提出智慧地球的概念,相应的智慧城市也成为一个非常热的概念词汇。智慧城市是一种在信息技术支撑下的新一代高级形态。智慧城市基于物联网、云计算等新一代的技术,利用新一代的信息技术和科技手段整合社会资源、为市民提供新型服务方式,提高资源的利用率,使市民的生活更加的高效、绿色和智能。在智慧城市的相关研究和课题中,交通问题是一个大的研究方向。为了解决人们出行的移动信息提供、交通资源优化和行程时间安排等问题,现有利用城市规划、基础设施建设和城市遥感等方案。然而使用信息技术来解决交通问题是一个值得思考和投资的方向。
在解决智慧城市交通问题当中,摒弃传感器等设备带来的大量资源消耗和成本问题,可以利用当今的ICT(information and communication technology)技术来做到人流的跟踪和城市流动信息数据的收集。ICT 技术改变了人们交流的方式,人们开始使用PC 网络、移动设备进行在线的交流、交友,甚至是举办各式各样的活动。在社交网络和智能手机的帮助下,线上交流的模式开始转换成基于地理位置的交流。比如,寻找临近的活动、与临近的陌生人进行线上交谈都成为了可能。尤其是这能手机和手机网络的使得这种应用变得随时随地。根据2012 年的调查[1],在使用智能手机的用户当中,有18%的用户使用地理定位功能对某些特定地点进行定位;33%的智能手机用户使用基于地理位置的广告信息来得到帮助信息。配合智能手机用户增长的使用量来看,大量的地理位置信息被各个产品以不同目的和形式来用来服务于用户。
利用现在社交网络平台的大热和一些社交网络提供的公共API(application programming interface),我们可以随时抓取社交网络信息,在大数据时代和云计算技术的发展支持下,我们完全可以分析和利用这些来自社交网络的大量数据,将这些数据运用到智慧城市的建设当中去。
1 数据源
在本文中,我们只关注于来自社交网络的地理位置的数据源。由于整个实验环境我们设定在意大利都灵,因此我们会在国外较为流行的社交网络平台来作对比和选择。
Twitter 是一种被广泛使用的短文本实时分享平台。利用Twitter 向外发布的短文本内容被称为推文。Twitter 的使用和智能手机的使用呈现出相同的上升曲线,确实Twitter 在智能手机上被使用的非常频繁。得益于Twitter 的使用便捷和推文的短小,人们往往在各种活动中迫不及待的使用推文进行实况分享,这也符合当今快速阅读时代人们对于阅读和信息的态度。同时因为Twitter 提供地理位置标注的服务,这些都使得Twitter 当中的数据有很高的时间和空间覆盖度[1]。Twitter提供了一个免费的实时流的API,通过它可以检索到所有推文的样本。该API 提供了过滤器,可以设置这些数据流捕捉到一个地理区域内,只含有某些条款的推文。然而,数据流只能得到有限到推文总量的1% 。所以,只有一个推文总量的子集可以作为实验数据。
Foursquare 是一个基于位置的社交网络,用户可以在不同的位置做”check in”标记,并与Foursquare 上或其他社交网络的朋友分享这些标记信息。用户可以上传图片到某一地点或在某一点上留下‘tips’(例如,用户可以'check in'某酒店,并留下'tips'服务是多么糟糕)[2]。Foursquare的数据不能直接访问:但是,用户通常会使用插件在Twitter上公开分享Foursquare 信息,所以这些信息可以通过Twitter 的streaming API 检索到。
其他的一些论文研究有使用公开的数据集代替真实的社交网络数据做研究实验。一部分其原因在于所选择的社交网络没有公开的API 或者有些社交网络已经停止服务。例如,BrightKite 是一个社交网站,用户可以分享自己的位置,要发表的笔记和上传照片。通过“签入”,用户可以看到附近的人。现在,该社交网络数据只有已收集的数据集[3]。
其他可用的服务有Momo 和Flickr 。然而,还有一个问题可能:为什么不使用Facebook?主要的原因是,Facebook的API 仅可以用来检索授权的用户数据,因此它是不向公众公开的。
2 设计目标
通过以上的这些信息的收集,最终确定在时间和空间上都具有优势的Twitter 作为分析的数据来源。使用Twitter 的Sreaming API 和它所提供的过滤功能,对选定地区内带有地理位置信息的推文数据进行检索和收集,以用于更多的分析。我们希望通过对这些数据所反映的人员流动信息和公交车实时情况对比分析,可以得到一个资源优化的建议。
3 解决方案
3.1 可视化公交模拟
为了验证我们的方法,首先,我们开发了一个模拟器的可视化工具,可以显示每个公交车在一个特定的时间(图1 中的每一个动点)的规划位置,我们选取都灵(意大利)的公开时刻表作为每个公交车的时刻位置信息源。我们的具体问题是:“如何关联交通规划和城市活动区?”从基于位置的社交网络数据分析中得到信息是一个可行的方案。
图1 公交模拟器视图
为了简化案例研究,我们选择意大利城市都灵作为定义的活动区域。保持地图的比例尺不变,分析一定时间内活动区域内的社交网络信息密度,以此作为模型,来衡量在活动区域内的人群密度。我们利用了Twitter 的Sreaming API,收集在都灵地区的具有实时地理定位的数据,并聚集在地图上显示出来。(检索的数据间隔为1 小时)。
3.2 Twitter 数据处理
我们使用云服务提供的大数据解决方案,选取了Amazon的AWS(Amazon Web Services)服务作为实验的平台。AWS 是亚马逊提供的一系列云服务。它允许程序通过网络访问亚马逊的计算机基础设施,同时提供一系列的应用程序,使得用户可以在云上部署运行自己的程序[5][6]。如图 2 给出了整个在亚马逊云端上构建的twitter 数据收集、整理和聚类的架构。
图2 数据流架构
在AWS 服务当中,我们选择使用亚马逊的EC2 虚拟机,在云端虚拟机上使用Node.js 异步机制语言来构建twitter 信息检索服务器。将该服务器建设在云端虚拟机上,减少了实验的设备成本,并且可以保证服务器运行的持续性,而无需消耗本地的基础设施和网络资源。使用Twitter 提供的Streaming API 对信息进行地理位置的过滤,仅对在都灵的Bounding box范围内的数据进行抓取和存储。
抓取得到的twitter 数据是JSON 格式的非结构化数据,数据中包含很多的域,我们对数据进行过滤和选择,仅保留需要的域。我们将简化后的数据存入Amazon 的NoSQL 数据库DynamoDB。该数据库的表样式非常灵活,除了预设的hash key 和rang 不可更改,对数据项中的属性可以进行灵活的删除和增加操作。该数据库提供完整的API 功能,良好的扩展性可以和EC2 做到无缝扩展,非常适合用来存储和处理大型数据[7]。
至此,在DynamoDB 中存储的是原始的信息含量相对较大的数据,考虑到数据的复用性即数据可被不同的服务使用,我将符合条件的一部分数据再次的筛选入小型的数据集中。为了显示一段时间内、地域内的人群密度问题,我们仅选取坐标点、时间和用户账号三个字段,将数据收集到同样也是部署在EC2上的PostSQL 数据库中。最终我们对PostSQL 中的时段数据进行坐标聚类,从而得到了模拟的人群密度结果,并显示在地图上。
图3 显示我们原型实验的早期结果。其中显示的数据是来自2013 年7 月10 日早上8 点到早上9 点的在都灵被发出的推文。图中不同的色块代表了在这一小时内推文的密度。最终整合人群密度的模型和公交模拟的模型,我们可以得到一个在高峰时期公交与人流之间的平衡问题和改进方案的思路。
图3 都灵的推文分布
4 结论
通过对相关数据挖掘和社交网络数据分析的相关工作调研显示,大部分的相关工作都关注于数据挖掘技术手段和算法改进等工作。本文则对基于地理位置的社交网络信息的数据挖掘工作给出了一个实际且符合当前智慧城市发展趋势的应用。
文中提到的实验完成了模型的初级阶段,仅仅是实现了在智慧城市建设中使用社交网络数据挖掘的的一个简单构想。接下来的工作应该关注于如何扩大这种应用,将这种虚拟的数据应用的现实世界的建设中来。例如可以对twitter 中取得的数据内容做语义分析或者情感分析,将肥西的结果用到城市管理建设中去。通过发现更多的应用实例,将技术充分的应用到时间中。
另外对于模型中对数据进行处理的各个阶段,相关的技术优化和性能优化也要做相应的研究,使得数据的可用性更高。最终将数据做为一种服务,使用同样的数据服务于不同的应用和场景。
[1]Kathryn Zickuhr,”Three-quarters of smartphone owners use location-based services”.Pew Internet&American Life Project,May 11,2012,[2]http://pewinternet.org/Reports/2012/Location-based-services.aspx,accessed on March 20,2013
[3]Mai,E.,&Hranac,R.(2013,January).Twitter Interactions as a Data Source for Transportation Incidents.In Transportation Research Board 92nd Annual Meeting (No.13-1636).
[4]Cheng,Z.,Caverlee,J.,Lee,K.,&Sui,D.Z.(2011).Exploring Millions of Footprints in Location Sharing Services.ICWSM,2011,81-88.
[5]Li,N.,&Chen,G.(2009,August).Analysis of a location-based social network.IEEE International Conference on CSE'09 (Vol.4,pp.263-270)..
[6]Jackson K R,Muriki K,Ramakrishnan L,et al.Performance and cost analysis of the Supernova factoryon the Amazon AWS cloud[J].Scientific Programming,2011,19(2):107-119.
[7]Li A,Yang X,Kandula S,et al.CloudCmp:shopping for a cloud made easy[J].USENIX HotCloud,2010.
[8]Brunozzi S.Big data and nosql with amazon dynamodb[C]//Proceedings of the 2012 workshop on Management of big data systems.ACM,2012:41-42.