陳 辰
同濟大學軟件學院,上海 201804
近些年,IBM 提出智慧地球的概念,相應的智慧城市也成為一個非常熱的概念詞匯。智慧城市是一種在信息技術支撐下的新一代高級形態(tài)。智慧城市基于物聯(lián)網(wǎng)、云計算等新一代的技術,利用新一代的信息技術和科技手段整合社會資源、為市民提供新型服務方式,提高資源的利用率,使市民的生活更加的高效、綠色和智能。在智慧城市的相關研究和課題中,交通問題是一個大的研究方向。為了解決人們出行的移動信息提供、交通資源優(yōu)化和行程時間安排等問題,現(xiàn)有利用城市規(guī)劃、基礎設施建設和城市遙感等方案。然而使用信息技術來解決交通問題是一個值得思考和投資的方向。
在解決智慧城市交通問題當中,摒棄傳感器等設備帶來的大量資源消耗和成本問題,可以利用當今的ICT(information and communication technology)技術來做到人流的跟蹤和城市流動信息數(shù)據(jù)的收集。ICT 技術改變了人們交流的方式,人們開始使用PC 網(wǎng)絡、移動設備進行在線的交流、交友,甚至是舉辦各式各樣的活動。在社交網(wǎng)絡和智能手機的幫助下,線上交流的模式開始轉(zhuǎn)換成基于地理位置的交流。比如,尋找臨近的活動、與臨近的陌生人進行線上交談都成為了可能。尤其是這能手機和手機網(wǎng)絡的使得這種應用變得隨時隨地。根據(jù)2012 年的調(diào)查[1],在使用智能手機的用戶當中,有18%的用戶使用地理定位功能對某些特定地點進行定位;33%的智能手機用戶使用基于地理位置的廣告信息來得到幫助信息。配合智能手機用戶增長的使用量來看,大量的地理位置信息被各個產(chǎn)品以不同目的和形式來用來服務于用戶。
利用現(xiàn)在社交網(wǎng)絡平臺的大熱和一些社交網(wǎng)絡提供的公共API(application programming interface),我們可以隨時抓取社交網(wǎng)絡信息,在大數(shù)據(jù)時代和云計算技術的發(fā)展支持下,我們完全可以分析和利用這些來自社交網(wǎng)絡的大量數(shù)據(jù),將這些數(shù)據(jù)運用到智慧城市的建設當中去。
在本文中,我們只關注于來自社交網(wǎng)絡的地理位置的數(shù)據(jù)源。由于整個實驗環(huán)境我們設定在意大利都靈,因此我們會在國外較為流行的社交網(wǎng)絡平臺來作對比和選擇。
Twitter 是一種被廣泛使用的短文本實時分享平臺。利用Twitter 向外發(fā)布的短文本內(nèi)容被稱為推文。Twitter 的使用和智能手機的使用呈現(xiàn)出相同的上升曲線,確實Twitter 在智能手機上被使用的非常頻繁。得益于Twitter 的使用便捷和推文的短小,人們往往在各種活動中迫不及待的使用推文進行實況分享,這也符合當今快速閱讀時代人們對于閱讀和信息的態(tài)度。同時因為Twitter 提供地理位置標注的服務,這些都使得Twitter 當中的數(shù)據(jù)有很高的時間和空間覆蓋度[1]。Twitter提供了一個免費的實時流的API,通過它可以檢索到所有推文的樣本。該API 提供了過濾器,可以設置這些數(shù)據(jù)流捕捉到一個地理區(qū)域內(nèi),只含有某些條款的推文。然而,數(shù)據(jù)流只能得到有限到推文總量的1% 。所以,只有一個推文總量的子集可以作為實驗數(shù)據(jù)。
Foursquare 是一個基于位置的社交網(wǎng)絡,用戶可以在不同的位置做”check in”標記,并與Foursquare 上或其他社交網(wǎng)絡的朋友分享這些標記信息。用戶可以上傳圖片到某一地點或在某一點上留下‘tips’(例如,用戶可以'check in'某酒店,并留下'tips'服務是多么糟糕)[2]。Foursquare的數(shù)據(jù)不能直接訪問:但是,用戶通常會使用插件在Twitter上公開分享Foursquare 信息,所以這些信息可以通過Twitter 的streaming API 檢索到。
其他的一些論文研究有使用公開的數(shù)據(jù)集代替真實的社交網(wǎng)絡數(shù)據(jù)做研究實驗。一部分其原因在于所選擇的社交網(wǎng)絡沒有公開的API 或者有些社交網(wǎng)絡已經(jīng)停止服務。例如,BrightKite 是一個社交網(wǎng)站,用戶可以分享自己的位置,要發(fā)表的筆記和上傳照片。通過“簽入”,用戶可以看到附近的人?,F(xiàn)在,該社交網(wǎng)絡數(shù)據(jù)只有已收集的數(shù)據(jù)集[3]。
其他可用的服務有Momo 和Flickr 。然而,還有一個問題可能:為什么不使用Facebook?主要的原因是,F(xiàn)acebook的API 僅可以用來檢索授權(quán)的用戶數(shù)據(jù),因此它是不向公眾公開的。
通過以上的這些信息的收集,最終確定在時間和空間上都具有優(yōu)勢的Twitter 作為分析的數(shù)據(jù)來源。使用Twitter 的Sreaming API 和它所提供的過濾功能,對選定地區(qū)內(nèi)帶有地理位置信息的推文數(shù)據(jù)進行檢索和收集,以用于更多的分析。我們希望通過對這些數(shù)據(jù)所反映的人員流動信息和公交車實時情況對比分析,可以得到一個資源優(yōu)化的建議。
為了驗證我們的方法,首先,我們開發(fā)了一個模擬器的可視化工具,可以顯示每個公交車在一個特定的時間(圖1 中的每一個動點)的規(guī)劃位置,我們選取都靈(意大利)的公開時刻表作為每個公交車的時刻位置信息源。我們的具體問題是:“如何關聯(lián)交通規(guī)劃和城市活動區(qū)?”從基于位置的社交網(wǎng)絡數(shù)據(jù)分析中得到信息是一個可行的方案。
圖1 公交模擬器視圖
為了簡化案例研究,我們選擇意大利城市都靈作為定義的活動區(qū)域。保持地圖的比例尺不變,分析一定時間內(nèi)活動區(qū)域內(nèi)的社交網(wǎng)絡信息密度,以此作為模型,來衡量在活動區(qū)域內(nèi)的人群密度。我們利用了Twitter 的Sreaming API,收集在都靈地區(qū)的具有實時地理定位的數(shù)據(jù),并聚集在地圖上顯示出來。(檢索的數(shù)據(jù)間隔為1 小時)。
我們使用云服務提供的大數(shù)據(jù)解決方案,選取了Amazon的AWS(Amazon Web Services)服務作為實驗的平臺。AWS 是亞馬遜提供的一系列云服務。它允許程序通過網(wǎng)絡訪問亞馬遜的計算機基礎設施,同時提供一系列的應用程序,使得用戶可以在云上部署運行自己的程序[5][6]。如圖 2 給出了整個在亞馬遜云端上構(gòu)建的twitter 數(shù)據(jù)收集、整理和聚類的架構(gòu)。
圖2 數(shù)據(jù)流架構(gòu)
在AWS 服務當中,我們選擇使用亞馬遜的EC2 虛擬機,在云端虛擬機上使用Node.js 異步機制語言來構(gòu)建twitter 信息檢索服務器。將該服務器建設在云端虛擬機上,減少了實驗的設備成本,并且可以保證服務器運行的持續(xù)性,而無需消耗本地的基礎設施和網(wǎng)絡資源。使用Twitter 提供的Streaming API 對信息進行地理位置的過濾,僅對在都靈的Bounding box范圍內(nèi)的數(shù)據(jù)進行抓取和存儲。
抓取得到的twitter 數(shù)據(jù)是JSON 格式的非結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)中包含很多的域,我們對數(shù)據(jù)進行過濾和選擇,僅保留需要的域。我們將簡化后的數(shù)據(jù)存入Amazon 的NoSQL 數(shù)據(jù)庫DynamoDB。該數(shù)據(jù)庫的表樣式非常靈活,除了預設的hash key 和rang 不可更改,對數(shù)據(jù)項中的屬性可以進行靈活的刪除和增加操作。該數(shù)據(jù)庫提供完整的API 功能,良好的擴展性可以和EC2 做到無縫擴展,非常適合用來存儲和處理大型數(shù)據(jù)[7]。
至此,在DynamoDB 中存儲的是原始的信息含量相對較大的數(shù)據(jù),考慮到數(shù)據(jù)的復用性即數(shù)據(jù)可被不同的服務使用,我將符合條件的一部分數(shù)據(jù)再次的篩選入小型的數(shù)據(jù)集中。為了顯示一段時間內(nèi)、地域內(nèi)的人群密度問題,我們僅選取坐標點、時間和用戶賬號三個字段,將數(shù)據(jù)收集到同樣也是部署在EC2上的PostSQL 數(shù)據(jù)庫中。最終我們對PostSQL 中的時段數(shù)據(jù)進行坐標聚類,從而得到了模擬的人群密度結(jié)果,并顯示在地圖上。
圖3 顯示我們原型實驗的早期結(jié)果。其中顯示的數(shù)據(jù)是來自2013 年7 月10 日早上8 點到早上9 點的在都靈被發(fā)出的推文。圖中不同的色塊代表了在這一小時內(nèi)推文的密度。最終整合人群密度的模型和公交模擬的模型,我們可以得到一個在高峰時期公交與人流之間的平衡問題和改進方案的思路。
圖3 都靈的推文分布
通過對相關數(shù)據(jù)挖掘和社交網(wǎng)絡數(shù)據(jù)分析的相關工作調(diào)研顯示,大部分的相關工作都關注于數(shù)據(jù)挖掘技術手段和算法改進等工作。本文則對基于地理位置的社交網(wǎng)絡信息的數(shù)據(jù)挖掘工作給出了一個實際且符合當前智慧城市發(fā)展趨勢的應用。
文中提到的實驗完成了模型的初級階段,僅僅是實現(xiàn)了在智慧城市建設中使用社交網(wǎng)絡數(shù)據(jù)挖掘的的一個簡單構(gòu)想。接下來的工作應該關注于如何擴大這種應用,將這種虛擬的數(shù)據(jù)應用的現(xiàn)實世界的建設中來。例如可以對twitter 中取得的數(shù)據(jù)內(nèi)容做語義分析或者情感分析,將肥西的結(jié)果用到城市管理建設中去。通過發(fā)現(xiàn)更多的應用實例,將技術充分的應用到時間中。
另外對于模型中對數(shù)據(jù)進行處理的各個階段,相關的技術優(yōu)化和性能優(yōu)化也要做相應的研究,使得數(shù)據(jù)的可用性更高。最終將數(shù)據(jù)做為一種服務,使用同樣的數(shù)據(jù)服務于不同的應用和場景。
[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.