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