在學校時關注基於地理信息的數據挖掘已久,畢業后幾無涉足。本文小結當時的一些工作——基於帶地理信息的圖片的旅行路線還原,也就是通過人們分享的少量圖片,還原出用戶旅行時的完整的旅行路線。主要方法是先基於HMM的Viterbi算法,解碼出用戶旅行時的景點路線,之后通過景點間選取均值的方法,還原出用戶完整的旅行路線。內容比較實用有趣,感興趣的同學可以更多探索。
隨着信息技術的發展和人們生活水平的提高,使得旅游業爆炸式發展,個性化的和自助式的旅游越來越得到人們的歡迎,在線旅游服務(Online Travel Service, OTS)也已經成為旅游業發展的一個趨勢,在發達國家,OTC占整個旅游收益的40%左右,國內也超過5%,而且正以非常迅猛的速度增長。然而OTC本應是食、住、行、游、購、娛等的組合體,目前OTC企業(如Expedia,Qunar等)都着重於“住”和“行”之上的在線旅游預訂方面,雖然仍然提供淺顯的旅行攻略與檢索,但是均無法與位置結合,也難以滿足個性化的需求,均十分缺少創新的內容。
在另一方面,由於GPS的發展和普及,特別是GPS在各種手持終端(如手機、PDA、數碼相機等)上的應用,業界通過UGC的方法獲取大量蘊含地理信息共享資源,例如Google latitude和Foooooot上共享的GPS路線,Flickr、Panoramio等的帶GPS信息的圖片。在Geo圖片共享方面,Geo圖片與地理位置的結合既能便於平台的數據維護,也有益於增強用戶體驗,導致各大網站上的Geo圖片增長速度非常快,其Geo圖片量都數以億計,同時也給這些圖片共享網站帶來了新的活力,對於Qzone、Weibo和Facebook上更為便捷的圖片分享,其量更難以估量。由於Geo圖片所攜帶的Geo信息都是攝影者的拍照構圖時所選的位置,而且共享到網站上的圖片大都經過了人們的篩選,這樣,可以認為這些共享的圖片Geo信息均為生活或旅行中的興趣點(Interest of Point, POI),圖1中左圖為人們在Flickr上共享的位於北京市的24多萬張Geo圖片(2008年至2010年)的Geo點位圖,圖1中右圖為Flickr上共享的位於頤和園內的10498張Geo圖片(2008年到2011年)的Geo點位圖,可以非常清晰地看出:絕大部分圖片都是在旅游景區中拍攝的,在具體的景區中,圖片又朝熱門景點集聚。
圖1. 北京市內的Geo圖片和頤和園內的Geo圖片的位置圖
1 景點聚類
1.1數據清洗
在Flickr上,為了更好地組織數據結構,都建議用戶共享帶Geo信息的圖片,但圖片中的Geo信息都是由硬件設備(如嵌GPS芯片的智能手機和數據相機)帶來的,對於本身不帶Geo信息的圖片,官方提供地圖接口,可以自定義地理位置。而對於用戶來說,自定義地理標注能使其圖片更容易被搜索,也能提高交互的感覺,因而大多數用戶都願意標注地理信息。然而,這些自標注的Geo信息並不滿足旅行路線還原的精度,嚴重影響實驗結果。人們在標注地理信息時,大都是將同一相冊中的大量圖片標注在同一個地點上,因而我們可以根據相冊圖片的地理坐標含信息量的多少進行判斷。信息論中的“信息熵”能表示變量不確定性的大小,如下公式所示,隨機變量P(x)越離散,信息商H(X)將越大,進一步可將H(X)歸一化成U(X)。通過一定的閾值控制,可對自標注圖片進行篩選。
1.2景點聚類
絕大部分圖片都是隨人的主觀意志拍攝的,雖然人們存在喜好不同,但都有對美的追求,景區中的好的景致(景點)總能吸引到大家的駐足留影,對於平淡的景致,自然游客就十分稀寥,留下的圖片也就少了。而且某處照片的多少,用戶的多少都能比較好地反映人們對此景點的興趣度。從圖1中,可以明顯地看出頤和園內游客基本上聚在東北宮廷建築區域,在廣闊的耕織園區和蘇堤之上,游客比較稀少,同時也可以看出,圖片明顯地聚集於各景點。
圖2. 頤和園內的景點聚類圖
密度聚類算法(Density-Based Spatial Clustering of Applacations with Noise, DBSCAN)能把具有足夠高密度的Geo點的區域划分出來,並可以在帶有噪聲的空間數據集中發現任意形狀的聚類,因而DBSCAN十分契合從景區Geo圖片中抽取景點。同時不同的密度參數,可以抽取出不同粒度的景點(或景區)。圖2中的黃點便是通過DBSCAN在頤和園內聚類出的景點信息。
2 路線還原
2.1景點路線識別
HMM是一種用於描述隨機過程統計特性的概率模型。它是一個雙重隨機過程,即由馬爾可夫鏈和一般隨機過程兩個部分組成。其中馬爾可夫鏈用來描述狀態的遷移,用遷移概率描述;一般隨機過程用來描述狀態與觀察序列間的關系,用觀察值概率描述。其形式化定義是:HMM是一個五元組 μ=(S, K, P, A, B) ,其中 S是狀態的集合,K是輸出字符的集合,P是初始狀態的概率,A是狀態轉移的概率。B是輸出字符的概率分布。
在此,將聚類出的景點當成隱含狀態S,K為Geo圖片點,B可通過Geo點距離景點中心遠近刻畫,(P、A不述),通過HMM的Viterbi算法,便可以由用戶的Geo圖片序列——觀測序列,解碼出用戶旅行時的景點序列。
2.2 均值還原
由於用戶上傳的Geo圖片十分有限,從而通過HMM的Viterbi算法得出的景點路線序列也是十分粗糙。Mean值能反映整體樣本的傾向特征,體現某一樣本空間中期望的取值。其算法思想如圖3所示,在Sight A和Sight B間進行旅行路線還原,先求AB為直徑的圓內的所有Geo點的Mean值(以AB為直徑圓可以理解為給定起始位置后,人們的主要活動范圍),如果滿足閾值條件,路線還原結束,否則將此Mean值點當成還原點C,這樣在圖3中將路線AB擬合成ACB,再將ACB擬合成ADCEB,顯然,通過擬合后,路線更加平滑,由Mean值的物理意義,可以知道,還原后的路線正是大眾路線的方向。
圖4為頤和園內某用戶的旅行路線還原圖,旗幟外為該用戶共享Geo的圖片點,共7張Geo圖片,通過景點還原,還原出的路線如綠線所示,通過Mean值還原,路線如紅線所示。景點路線能賦予旅行路線更多的意義,均值還原的路線可以使路線更符合用戶的感觀。
圖4. 頤和園內某用戶旅行路線還原圖
3 實驗分析
對於提出的基於Geo圖片的路線還原方法,最難的在於方法評估,客觀數據中,基本不存在既有人們旅行時的完整旅行Gps路線記錄,同時又拍攝對應的Geo圖片分享的數據,從而十分難以衡量路線還原方法的好壞。在此通過對個人GPS軌跡進行關鍵區域(Significant Region, SR)識別,用以模擬Geo圖片,用於分析評估路線還原方法。
在旅行時,人們在SR處,例如景致美觀的地方,人們行走的速率將會減小,甚至停下來觀賞,在某些景點處,人們甚至會回環着觀賞,因而SR的識別中,速率v的變化和角度q的變化將是十分重要的,在此引入長角率(Length Angle Ratio, LAR)來衡量SR與v和q的關系,LAR的定義如下公式所示,這樣,LAR值越大,說明此處越重要,通過對LAR進行域值限定,便可得到重要區域路線(Significant Region Route, SRR),如圖5所示,便為一條GPS軌跡的SR識別過程,左圖為完整的GPS軌跡,右圖為通過LAR計算后,滿足閾值的LAR點組成的SRR。對於Geo點,大都是人們停下來時拍攝的,其中還伴隨着人們對圖片選景、角度等的斟酌和焦距、曝光度等的調節,因而如果同時記錄下了完整的GPS軌跡時,絕大部分Geo點的LAR值都十分大,當將LAR閾值設定足夠大時,識別出來的SRR完全可以當成是一個用戶的Geo圖片序列S,而且對SRR應用我們提出的路線還原方法的,得到的還原路線與原GPS路線進行比較,便可以判斷還原路線的好壞。
圖5. 個人GPS的SRR識別
在實驗評測中,將由比較SRR還原出來的路線和原GPS路線,通過刻畫兩者的相似關系來對衡量方法的好壞。
由圖6左圖所示,Router1和Route2為地理空間中的兩條軌跡,直觀地說,如果Route1和Route2的之間的面積越小(也就是圖中陰影部分面積越小),Route1和Route2越相似。在圖6右圖中給出了相似度(Sim)的定義,圖中綠線為GPS路線,紅線為還原路線,Sim定義為1-(路線間的面積和AB圓域面積的比值),也就是如圖中陰影部分的面積比上以AB為直徑的圓域面積,這樣Sim越大,兩路線越相似。通過對41條完整的GPS軌跡進行實驗測試,最后的平均相似度達82.3%。
----------------------