范海林,梁 明,李 佳,段 平,王姍姍,王 彤
(1. 廣東繪宇智能勘測科技有限公司,廣東 廣州 510665; 2. 安徽大學(xué)資源與環(huán)境工程學(xué)院,安徽 合肥 230601; 3. 云南師范大學(xué)旅游與地理科學(xué)學(xué)院,云南 昆明 650500)
旅游活動是重要的人類活動行為之一。隨著移動互聯(lián)網(wǎng)的發(fā)展,對用戶的旅游軌跡獲取已經(jīng)變得越發(fā)便捷。如何深度挖掘旅游軌跡及其他旅游行為數(shù)據(jù)中的價值,已經(jīng)成為智慧旅游的重要議題[1]。對旅游軌跡的停留點(diǎn)進(jìn)行語義標(biāo)注,既可以作為智慧旅游個性化路線推薦的依據(jù),也是開展軌跡數(shù)據(jù)挖掘的重要基礎(chǔ)[2]。
軌跡數(shù)據(jù)作為典型的時空大數(shù)據(jù),受到了廣泛的關(guān)注。近年來,對軌跡數(shù)據(jù)的壓縮、聚類等針對軌跡數(shù)據(jù)挖掘的研究[3-5],以及對軌跡數(shù)據(jù)的停留點(diǎn)和Move/Stop模式的識別研究越來越多[6-7]。軌跡語義的挖掘,特別是對軌跡停留點(diǎn)進(jìn)行語義標(biāo)注,不僅有利于刻畫軌跡的特征,也是對軌跡行為模式進(jìn)行深度挖掘的基礎(chǔ)[8]。但是目前對軌跡數(shù)據(jù)研究主要聚焦于軌跡數(shù)據(jù)的幾何和空間特征,而較少顧及語義特征。因此,本文選擇旅游軌跡停留點(diǎn)的語義標(biāo)注為本文的主要研究內(nèi)容。
如何高效自動地識別和標(biāo)注軌跡的停留點(diǎn),主要涉及3個關(guān)鍵問題:①如何從用戶軌跡中發(fā)現(xiàn)和提取停留點(diǎn)?②如何對停留點(diǎn)周邊的POI進(jìn)行自動分類?③如何利用停留點(diǎn)的地理語境(周邊的POI類型及其分布特征)對停留點(diǎn)進(jìn)行語義標(biāo)注?
軌跡停留點(diǎn),又被稱為軌跡的重要地點(diǎn)、重要區(qū)域,通常并不是指某一個單純的GPS位置,而是指用戶花費(fèi)較長時間駐留或較頻繁次數(shù)到訪的區(qū)域[6]。軌跡中停留點(diǎn)的提取是進(jìn)行頻繁位置的發(fā)現(xiàn)、POI的挖掘、語義標(biāo)注等的基礎(chǔ),在軌跡分析中起著重要作用[9]。
停留點(diǎn)的識別通常以時間和距離閾值為條件,又或兼顧軌跡的速度和方向[10]。在具體算法上,停留點(diǎn)識別以基于密度的聚類方法效果較為突出。相關(guān)學(xué)者通過以時間代替DBSCAN中點(diǎn)數(shù)量閾值,以消除軌跡點(diǎn)缺失的影響來開展軌跡停留點(diǎn)識別[11];或通過增加軌跡距離和軌跡鄰域兩個概念判斷核心點(diǎn)的方式進(jìn)行基于密度的聚類方式發(fā)掘軌跡停留點(diǎn)[12]。諸多停留點(diǎn)識別的方法目前已經(jīng)取得了較好的效果。
軌跡停留點(diǎn)的語義標(biāo)注,又被稱為地點(diǎn)命名[8],可以從兩種不同的思路出發(fā):一是充分利用用戶活動行為進(jìn)行標(biāo)注[13];二是利用停留點(diǎn)的地理語境進(jìn)行標(biāo)注[14]。前者便于發(fā)現(xiàn)用戶在停留點(diǎn)的獨(dú)特行為模式,而后者通常更注重用戶的共有行為模式或狀態(tài)。反映停留點(diǎn)地理語境最典型的方法是其周圍POI的類型和分布。
POI名稱通常是一種典型的短文本。對于短文本分類問題,由于其具有特征少、領(lǐng)域相關(guān)性強(qiáng)等特點(diǎn)而無法直接復(fù)用業(yè)已成熟的文本分類方法,是文本分類的難點(diǎn)和研究熱點(diǎn)。針對其特征稀疏的特點(diǎn),最常見的思路是進(jìn)行特征擴(kuò)展,通常可以采用維基百科擴(kuò)展、WordNet擴(kuò)展等方法[15-16];針對領(lǐng)域相關(guān)性強(qiáng)的特點(diǎn),常采用面向主題分類、LDA等方法[15-16]。雖然以上相關(guān)研究在微博消息分類、短信分類等領(lǐng)域取得了一定的進(jìn)展,但是相較于微博等百余字左右的文本對象而言,POI文本更加簡短,這就要求針對POI短文本的特點(diǎn),發(fā)展更具針對性的算法。
短文本分類問題的根源主要在于其特征的稀疏性。一個POI數(shù)據(jù)的樣本特征極為稀疏,語義表達(dá)能力弱。同一類的POI數(shù)據(jù)近義詞和同義詞現(xiàn)象頻繁出現(xiàn),常使用不同的語言載體來表示相同的意思,沒有直接歸為同一類的特征依據(jù),使自動分類難度加大。依據(jù)POI數(shù)據(jù)特征之一即關(guān)鍵詞后置,將每一條預(yù)處理后的POI最后一個詞作為關(guān)鍵詞,通過《同義詞詞林》進(jìn)行特征擴(kuò)展。主要步驟如下:
(1) 提取數(shù)據(jù)預(yù)處理后的POI數(shù)據(jù)的關(guān)鍵詞,將每個POI提取出的關(guān)鍵詞按順序存儲,得到對應(yīng)的關(guān)鍵詞集K={k1,k2,…,km}。
(2) 將《同義詞詞林》中所有詞條的第一個詞設(shè)置為索引詞,并以詞條為單位,以同一行的其余詞與該行索引詞的關(guān)聯(lián)程度為依據(jù),按照關(guān)聯(lián)程度依次降低的順序進(jìn)行排列。
(3) 將一個POI的關(guān)鍵詞集K中的第i個關(guān)鍵詞與《同義詞詞林》的索引詞進(jìn)行一一匹配。
(4) 如果匹配成功,將該索引詞所在詞條中的所有詞按照權(quán)重依次遞減的規(guī)則加入到第i個關(guān)鍵詞對應(yīng)的POI中。
(5) 如果匹配不成功,不對該P(yáng)OI進(jìn)行任何操作。
(6) 直至關(guān)鍵詞集K全部搜索完畢。
(7) 對下一個未進(jìn)行特征擴(kuò)展的POI的關(guān)鍵詞集K進(jìn)行匹配處理,重復(fù)步驟(3)—步驟(6)。
(8) 直至所有POI的關(guān)鍵詞集均處理完畢。
除了特征高度稀缺的問題,現(xiàn)有成熟的文本分類算法不能較好適用于POI分類原因還在于:①POI文本中同一類別的關(guān)鍵詞往往較為集中。一個POI文本常由幾個詞組成,實(shí)際場景中為了用最精簡的文本體現(xiàn)最直觀的描述,體現(xiàn)其特征的關(guān)鍵詞通常直接放入POI文本,如“百好樂比薩”“老山西刀削面”“四方烤肉”等餐飲類POI,其中關(guān)鍵詞“比薩”“刀削面”“烤肉”都是餐飲類標(biāo)志特征詞,因此POI數(shù)據(jù)中同一類別的POI關(guān)鍵詞常具有高度的集中性和相似性。②不同類別間混淆詞分散。POI文本中除了關(guān)鍵詞,常有混淆詞出現(xiàn),這類混淆詞對分類貢獻(xiàn)不高,大多由人名、地名等組成,如“張記面館”“張記商鋪”和“張記藥房”,分別是餐飲類、購物類和醫(yī)療類,雖類別不同但都包含同樣的混淆詞“張記”,是自動分類主要障礙之一。③關(guān)鍵詞后置。POI數(shù)據(jù)中體現(xiàn)其特征的關(guān)鍵詞以后置情況為主,如“八大鍋餐廳”“平方超市”“雙語幼兒園”等是現(xiàn)代漢語常用語法結(jié)構(gòu)。針對POI短文本的以上不足,本文提出了基于改進(jìn)的TF-IDF特征權(quán)重算法進(jìn)行POI自動分類。
借鑒TF-IDF對POI分類,主要從以下幾個方面考慮:①某個詞集中出現(xiàn)在一個類別中次數(shù)越多,越能提高該類別與其余類別的區(qū)分度;②統(tǒng)計(jì)詞頻TF能提高某一類別中關(guān)鍵詞的權(quán)重,強(qiáng)化模型對類別內(nèi)部特征的表達(dá);③統(tǒng)計(jì)某個詞在各個類別中的詞頻,詞頻間方差越小,該詞對某一類別與其余類別的區(qū)分度貢獻(xiàn)程度越低。計(jì)算逆文本頻率指數(shù)IDF降低不同類別間混淆詞的權(quán)重,加強(qiáng)不同類別間特征項(xiàng)的區(qū)分度。鑒于POI數(shù)據(jù)體現(xiàn)其特征的關(guān)鍵詞多以后置情況為主,以一個POI文本數(shù)據(jù)為單位,按照內(nèi)部關(guān)鍵詞的排放順序賦予不同位置權(quán)重W,位置越靠后其權(quán)重越高。基于改進(jìn)的TF-IDF特征權(quán)重分類算法如下:
(1) 假定有m個類C1,C2,…,Cm,對于一個未知分類的POI數(shù)據(jù)樣本X,X由關(guān)鍵詞{x1,x2,…,xn}組成。計(jì)算關(guān)鍵詞xi在Cj中的詞頻TFi,j、逆文本頻率指數(shù)IDFi、位置權(quán)重Wi
(1)
(2)
式中,|{j:xi∈Cj}|為包含關(guān)鍵詞xi的類別數(shù)目(如果所有類別中均不包含關(guān)鍵詞xi,則分母為1)。
(3)
(2) 計(jì)算xi對未知分類的數(shù)據(jù)樣本X劃分為類別Cj的共享程度Hi,j
Hi,j=TFi,j×Wij∈[1,m]
(4)
(3) 計(jì)算x1,x2,…,xn的共享程度Hi,j之和
(5)
(4) 分類器將POI數(shù)據(jù)樣本X分類到Sj最大時所對應(yīng)的類別Cj。
停留點(diǎn)是軌跡的重要語義單元,也是用戶行為模式的重要外部特征。旅游軌跡中的停留點(diǎn)是用戶行為的重要特征。停留點(diǎn)的語義與其所處位置的地理語境密不可分。因此,本文以停留點(diǎn)所處位置周邊的POI的類型和分布特征作為度量停留點(diǎn)地理語境的依據(jù),開展停留點(diǎn)的語義標(biāo)注研究。
在旅游軌跡中,停留點(diǎn)通常意味著用戶下車休憩、駐足觀賞、瀏覽拍照、用餐、購物等旅游行為模式。這些行為模式僅僅從軌跡數(shù)據(jù)本身出發(fā)是很難挖掘出來的,通常需要結(jié)合軌跡停留點(diǎn)的環(huán)境背景或停留行為的地理語境,可以采用軌跡停留點(diǎn)周圍的眾多POI的類型、密度和分布特征等作為軌跡停留點(diǎn)的地理語境特征。如商店、賣場密集的區(qū)域,可能是游客購物的場所;而美食密集的地方,則可能是用戶休憩進(jìn)餐的位置。停留點(diǎn)周邊的少量POI可能具有一定的偶然性或隨機(jī)性,選擇停留點(diǎn)周邊較多的POI并用它們統(tǒng)計(jì)特征作為停留點(diǎn)語義標(biāo)注的特征,是剔除這種偶然性影響的有效手段。
本文首先選擇停留點(diǎn)周邊最近鄰的K個POI;其次,利用改進(jìn)的TF-IDF方法對POI進(jìn)行自動分類;再次,分別統(tǒng)計(jì)停留點(diǎn)最近鄰的K個POI中各類POI的個數(shù),以及到達(dá)停留點(diǎn)距離;最后以這些不同類的POI的個數(shù)代表密度、距離表征遠(yuǎn)近,作為停留點(diǎn)的不同維度特征,構(gòu)造當(dāng)前停留點(diǎn)的特征向量。剩下的工作即使用Native Bayes分類器對軌跡停留點(diǎn)進(jìn)行語義分類。Native Bayes具有不確定性的知識表達(dá)形式、豐富的概率表達(dá)能力、綜合先驗(yàn)知識的增量學(xué)習(xí)特性,在自然語言處理和語義分析等領(lǐng)域有著廣泛的應(yīng)用。Native Bayes分類器核心思想可以描述為:①假設(shè)目標(biāo)分類的類別集合C={y1,y2,…,yn};②x={a1,a2,…,am}為待分類項(xiàng),而每個a為x的一個特征屬性;③計(jì)算P(y1|x),
P(y2|x),…,P(yn|x);④ 如果P(yk|x)=max{P(y1|x),
P(y2|x),…,P(yn|x)},則x∈yk。
其中,最為關(guān)鍵的是如何計(jì)算上述步驟③中的各個條件概率,可以按以下步驟實(shí)現(xiàn):
(1) 找到一個已知分類的待分類項(xiàng)集合,即訓(xùn)練樣本集。
(2) 統(tǒng)計(jì)得到在各類別下各個特征屬性的條件概率估計(jì),即計(jì)算P(ai|yi)。
(3) 如果各個特征屬性條件獨(dú)立,則根據(jù)貝葉斯定理推導(dǎo)如下
(6)
(4) 計(jì)算所有假設(shè)的概率,并選擇概率最大的假設(shè)作為分類的結(jié)果。
對于軌跡停留點(diǎn)的識別方法較多,其中ITBCA算法能夠自動確定重要位置的個數(shù),并且對偏移點(diǎn)等異常點(diǎn)并不敏感。ITBCA算法基于時間和距離閾值,能夠過濾掉那些用戶只是經(jīng)過但沒有長時間逗留的地點(diǎn),可以將靜態(tài)停留點(diǎn)和動態(tài)停留點(diǎn)識別出來,因此,本文選用ITBCA算法識別軌跡的停留點(diǎn)。本文討論重點(diǎn)為停留點(diǎn)的語義標(biāo)注,具體算法請參考文獻(xiàn)[19]。
本文共選取了中國POI數(shù)據(jù)網(wǎng)提供的25 976個已分類POI作為總樣本,類別包括餐飲、購物、交通設(shè)施、教育、金融、醫(yī)療和政府機(jī)構(gòu)。將POI數(shù)據(jù)集分成兩個子集:一個用于訓(xùn)練改進(jìn)TF-IDF分類器,即訓(xùn)練集;另一個用于對分類器進(jìn)行評估測試,即測試集。從總樣本中隨機(jī)抽取20 784個POI作為訓(xùn)練集,其中各類樣本容量為:餐飲6376個、購物4941個、交通設(shè)施2723個、教育1881個、金融1992個、醫(yī)療1411個、政府機(jī)構(gòu)1460個。其余5192個POI作為測試集。針對POI的短文本特征,本文選用了由哈爾濱工業(yè)大學(xué)信息檢索實(shí)驗(yàn)室擴(kuò)展和維護(hù)的《同義詞詞林》對文本特征進(jìn)行擴(kuò)展。該《同義詞詞林》每條詞條中的詞語語義相同或具有很強(qiáng)的相關(guān)性,所有收錄到的詞條按照樹狀的層次結(jié)構(gòu)組織到一起。結(jié)果(見表1)表明,基于改進(jìn)TF-IDF的方法實(shí)現(xiàn)的POI自動分類,其分類精度達(dá)到83%。
表1 基于改進(jìn)TF-IDF特征權(quán)重分類算法自動分類POI的混淆矩陣
其次,在POI自動分類的基礎(chǔ)上,開展旅游軌跡停留點(diǎn)語義標(biāo)注。本文將停留點(diǎn)分為以下5種語義類型:購物、用餐、拍照游覽、中轉(zhuǎn)交通和休憩入住。用戶的旅游軌跡數(shù)據(jù)部分來源于OpenStreetMap中云南地區(qū)用戶共享的GPX軌跡;另外一部分來自筆者所在團(tuán)隊(duì)師生在云南自行采集的軌跡樣本。接著篩選了783個軌跡停留點(diǎn)樣本,并人工對這些停留點(diǎn)樣本作語義標(biāo)注。然后以這783個樣本為基礎(chǔ),以其中的一部分樣本(90%)作訓(xùn)練,以另外一部分樣本作校驗(yàn),開展10折交叉校驗(yàn)。結(jié)果顯示,采用Native Bayes停留點(diǎn)語義分類精度為74%。
圖1中,?表示“休憩入住”,□表示“觀光游覽”。從圖1可以清晰地看出用戶在大理市整個旅游過程的宏觀語義路徑。該用戶先在大理市區(qū)“中轉(zhuǎn)交通”(很可能用戶從昆明等外地趕到大理);稍作停留后,便前往大理古城“休憩入住”;然后到喜洲古鎮(zhèn)“拍照游覽”。由此可見,本文方法對于時空數(shù)據(jù)的挖掘,提升用戶對海量軌跡數(shù)據(jù)的語義認(rèn)知具有積極意義。
本文針對POI自然語言描述中的特征高度稀缺的特點(diǎn),提出了基于《同義詞詞林》擴(kuò)展的方法;針對反映地理語境特征的POI的分類問題,提出了改進(jìn)TF-IDF的POI自動分類方法;針對旅游軌跡中停留點(diǎn)語義標(biāo)注的問題,提出了顧及停留點(diǎn)地理語境的Native Bayes語義標(biāo)注方法。研究結(jié)果表明,采用語義擴(kuò)展后的TF-IDF方法能夠較好地實(shí)現(xiàn)POI的自動分類;同時,通過充分顧及停留點(diǎn)周邊最近鄰的K個POI的類型、距離等特征的Native Bayes分類器,能夠?qū)崿F(xiàn)對停留點(diǎn)的自動語義標(biāo)注,并獲得較高的精度。本文研究對軌跡數(shù)據(jù)時空特征挖掘,特別是旅游軌跡挖掘具有一定的參考價值;同時也為POI的自動分類提供了一個獨(dú)特的視角。
本文對停留點(diǎn)的語義標(biāo)注,主要是考察停留點(diǎn)的地理語境,并沒有充分發(fā)掘用戶停留行為自身的特征。如同樣的一個地理位置,不同的用戶停留時間可能反映的是用戶停留行為的差異,長時間的停留可能是休憩和購物,而短時間的停留可能是等待或中轉(zhuǎn)。之所以沒有將用戶的停留時間等行為特征考慮進(jìn)去,主要是受制于樣本的限制。
本文通過時空聚類的方式獲取了用戶的停留點(diǎn),但是對于樣本中停留點(diǎn)語義類別的標(biāo)注是基于筆者的主觀判斷,并沒有用戶行為的實(shí)際記錄。因此,樣本中軌跡停留點(diǎn)的語義類別并不能完全表征用戶的實(shí)際行為,該問題需要在以后的研究中加以改進(jìn)。