劉樂源 代雨柔 曹亞男 周 帆
1 (電子科技大學信息與軟件工程學院 成都 610054)
2 (中國科學院信息工程研究所 北京 100093)
(leyuanliu@uestc.edu.cn)
過去的十多年,在線社交網絡(online social network,OSN)平臺取得了空前的發展,每天都吸引著成千上萬的用戶加入. 據統計,Twitter 用戶人數已超5 億,每月有330 億活躍用戶,每天產生超過500億的對話;新浪微博在2020 年第2 季度的微博日活躍用戶人數也增長至2.29 億,每天發布微博的數量超過2 500 萬條,每秒可以生成785 條微博. 大量用戶生成了大量的個人數據,如心情的分享、對某件事情的評論以及在某些景點的簽到記錄. 這些用戶數據語義豐富,獲取簡單、靈活、低成本,數據的準確性和粒度有保證.
這些OSN 平臺可以分為3 類:1)通用平臺,如Twitter、新浪微博、 Instagram 和Facebook 等. 在這些平臺上,用戶可以通過文字、照片、視頻以及打卡等方式記錄自己的生活日常、參與話題討論和關注熱點事件,也可以與他人建立社交關系并分享個人喜好,如分享個人經驗心得、關注新產品的發布、討論社會熱點事件、了解最新的交通擁堵情況等. 2)基于位置服務的平臺,如Foursquare、大眾點評、Yelp 和Gowalla 等. 這些平臺需要用戶主動簽到(check-in)以記錄自己所在的位置,且可以綁定用戶的其他社交軟件;如Twitter 和Facebook 等以同步分享用戶的地理位置信息. 此外,用戶可以對地點,如電影院、餐廳等進行評價并展示給其他用戶. 3)圖片社交服務平臺,如Flickr,Pinterest,Snapchat 等圖片社交服務網站.此類平臺為用戶提供圖片的分享、管理等功能,同時可以添加聯系人,使用戶能夠結交更多的朋友,增強用戶之間的交流. 用戶可以在這3 類平臺中自由發布各種信息,其中的文本消息文本統稱為帖子.
在針對這些OSN 平臺的科學研究中,準確地預測用戶地理位置具有重要的意義:首先,預測用戶地理位置是很多下游應用開發的基礎,下游應用基于此可對社交媒體上的動態事件進行更全面的時空分析[1],提升管理部門的社會治理能力,如新冠病毒傳播預測[2-3]、政治話題檢測[4]、緊急位置識別[5]、可疑人物監測[6]、災難預警[7-9]等. 其次,準確的位置預測,可以極大地提升運營商針對用戶的個性化服務能力,提升用戶體驗,為企業帶來巨大的經濟效益,如產品營銷[1,10]、精準廣告投放、信息推薦、打車調度優化等.
已有關于OSN 的用戶位置預測研究綜述,如文獻[11?12]發表時間較為久遠,最近幾年OSN 地理位置預測技術已經有了很大發展. 例如,隨著圖神經網絡的提出,圖神經網絡的各種變形及其與其他網絡模型組合得到的方法被應用于社交網絡用戶位置預測. 此外這些綜述僅僅針對Twitter 數據總結了位置預測方法,且沒有詳細深入地討論數據信息的特征以及基礎模型的劃分. 文獻[13]是一篇關于用戶地理位置預測的綜述,但該文獻只總結了基于位置的OSN 的工作,并沒有對其他非基于位置的OSN 做出總結. 所以,現在迫切需要一個新的OSN 中用戶地理位置預測研究綜述. 與之前的關于Twitter 位置預測和基于位置的社交網絡(geolocation-based social network,GSN)的研究綜述不同,本文總結了幾乎所有的OSN數據的研究情況,同時加入了多源數據融合的分析、特征的選擇以及采用時間順序對該領域的基礎算法模型進行了總結.
本文回顧了目前OSN 數據中用戶位置預測的最新文獻,并總結了該任務面臨的4 個現實挑戰:
1) 居住在不同城市的用戶可能會用方言或特定用語來討論當地熱點事件和地點等,這時社交平臺內容的自由性和隨意性給地理位置預測帶來了一些困難.
2) 用戶經常以非常隨意的方式編寫社交動態內容,如縮略詞、漢語拼音縮寫、拼寫錯誤、特殊標記等,這讓文本內容變得嘈雜,使得很多為正式的規范化文檔內容所開發的文本處理技術在社交內容的應用上更容易出錯.
3) 用戶的注意力和關注點變化很快,很多歷史社交動態中存在大量與地理位置無關的信息,這使得對該任務而言,很多文本內容變得無用.
4) 由于OSN 用戶是隨意地手動或通過GPS 附上自己的位置,導致OSN 上的位置信息往往不完整和不準確. 以Twitter 為例,文獻[14]發現在Twitter 平臺的U.S.數據集[15]上,只有21%的用戶在個人檔案信息中提供了自己所居住的城市,5%的用戶給出了家庭住址的詳細經緯度信息.
本文以OSN 數據為重點,立足于OSN 中地理位置預測任務時關注的3 個問題:結果如何評價(標準)、數據有何特征(數據)及采用何種方法(模型),并回顧了用戶位置預測問題的研究進展,特別是近4 年的進展. 本文基于前述3 個問題對OSN 中的地理位置預測研究進行了綜述. 此外,本文還分析了當前研究中存在的主要問題,并展望了未來的研究方向.
為了更清晰地理解OSN 中地理位置預測的研究內容,本文首先介紹了位置預測的問題定義、分類以及評價指標.
用戶位置預測問題的目的是通過分析用戶在OSN 中生成的各種地理標簽,即用戶附加到各種媒體類型中的地理信息,挖掘其背后隱藏的各種地理信息、用戶移動模式和個人偏好,從而確定用戶的位置.
本文著眼于4 種類型的OSN 相關位置的預測,即居住(home)位置、文本(text)位置、提及(mentioned)位置和未來(future)位置.
1.2.1 居住位置
居住位置即OSN 用戶的長期居住地址. 根據應用程序的具體要求,居住位置可以用不同的粒度表示. 通常,居住位置的粒度有3 種:
1) 行政區域,即用戶所在的國家或城市.
2) 地理網格,即地球被劃分成面積大小相等的單元格,住址位置由用戶所在的單元格表示.
3) 地理坐標,即房屋的坐標,用它們的緯度和經度來表示. 坐標可以通過其行政區域或者單元轉換獲得.
了解OSN 用戶的居住位置可以實現許多基于此的服務,如本地內容推薦、基于位置的廣告、公共健康監測和民意調查等. 然而,在幾乎所有的OSN 中,用戶個人資料都是選填內容,其居住位置大多數情況下都是缺失或包含噪聲的,即不準確或虛假的,因此很多研究者致力于預測用戶的居住位置,且預測的粒度是城市級別.
1.2.2 文本位置
文本位置,即發送帖子的位置. 有了文本位置,即可得到更完整的用戶移動模式,也能更好地估計事件的發生位置. 不同于從用戶資料和地理標簽中收集的住址位置,文本位置通常是基于文本內容的地理標簽. 由于文本位置具有獨特的視圖,研究者們廣泛采用興趣點(points of interest,POI)或坐標作為文本位置的表示,而不是行政區域或網格.
根據文獻[16] 的分析,用戶發送帖子的主要目的是為了分享或尋找信息. 例如一個人可能會在推文或微博上說自己正在餐廳用餐. 如果餐廳的名字作為標簽與OSN 平臺有明確的關聯,這些信息將有助于推廣這家餐廳;用戶可能會在Instagram 或新浪微博上發帖說自己迷路了,在這種情況下,他/她的朋友可以在OSN 平臺的評論區或通過私信給以準確的指示. 不幸的是,用戶很少在文本中明確提及了自己的地理位置,例如,只有不到1%的Twitter 帖子帶有明確的地理標簽[17].
1.2.3 提及位置
用戶在發帖時,可能會在內容中標記或提到一些地點的名字. 例如用戶會發帖子評論餐廳、購物中心或電影院,把OSN 平臺當作一個生活記錄平臺等.當游行或災難發生時,用戶可能會發出大量包含地理標簽的帖子來通知其他人. 用戶還可以通過在帖子中提及的地點名稱來透露相關地理信息. 對位置名的預處理是為用戶和事件[18]積累信息和執行后續分析的關鍵步驟[19]. 在目前的研究中,位置預處理包括2 個步驟:1)提及位置識別,對潛在的位置信息塊進行標注提取;2)歧義消除[20],將已識別的地理位置映射到位置數據庫中的正確條目,從而確定它們所指的位置. 這2 個問題的難點在于地點實體提及的可變性和模糊性是實體識別和關聯. 可變性是指一個實體可能以不同的表面形式被提及,模糊性是指一次提及可能涉及多個實體. 不幸的是,這2 個難題因為帖子簡短和噪聲變得更具挑戰性. 由于OSN 平臺語言的固有噪聲和歧義的特點,提及地點的實況數據在很大程度上依賴于人的注釋. 對于提及位置的2個步驟,位置的粒度既涉及行政區域,又涉及POI.
1.2.4 未來位置
未來位置即用戶將來可能會去的位置. 未來位置的預測即利用用戶過去的軌跡來預測用戶將來可能會去的1 個或者多個地點,其本質是深入挖掘數據背后隱藏的時空特征、序列屬性和用戶個人偏好,然后利用基于機器學習的技術或大數據分析來整合多維信息,從而推斷用戶未來的訪問地點.
在對未來位置進行預測時,由于軌跡是在一定的時間段內生成,用戶可能只進行了少量的簽到,存在數據稀疏問題,增加了預測難度;另外,用戶的歷史移動模式會影響后續足跡,且個人簽到是復雜和個性化的行為,這導致數據有很強的復雜性. 因此,在進行此類預測時,數據存在的這些特點是學者們首要面臨的挑戰,例如復雜的序列過渡規律、高度的順序性、人類移動的多層次周期性以及收集的軌跡數據的異質性和稀疏性等.
本節回顧了文獻中用于評價最終預測結果的常用指標. 根據預測結果的表示方式,常用指標分為基于距離的度量、基于標記的度量和通用度量.
1.3.1 基于距離的度量
家庭位置預測或文本位置預測的目標是對每個用戶或文本的位置進行預測. 令h表示用戶或帖子,H為預測結果的集合,l(h) 為h的真實位置,系統可以對每個h預測其位置l′(h). 無論采用何種粒度,所有的真實位置l(h)和預測位置l′(h)都可以轉換為坐標形式.直觀地,可以使用真實位置與預測位置之間的歐氏距離來度量預測誤差距離(error distance,ED),記為ED(h). 定義如式(1)所示:
由于評估是在一組用戶或帖子上進行的,所以可以取所有誤差距離的平均值或中值,以獲得語料庫級別的誤差度量. 這就產生了平均誤差距離(mean error distance,MeanED)和中值誤差距離(median error distance,MedianED). 其定義分別如式(2)和式(3)所示:
當預測結果不準確時,MedianED通常不如MeanED敏感. 因此,大量研究常用MeanED作為評估度量. 另外,一些研究[21]使用均方誤差(mean squared error,MSE)代替MeanED. 定義如式(4)所示:
MSE和MeanED的唯一區別是前者取誤差距離的平方.
除MeanED和MedianED外,還有另一種被廣泛采用的語料庫級度量,稱為基于距離的準確度,記為Acc@d. 與精確匹配不同,Acc@d認為在一定距離誤差閾值d之內的預測結果都是“正確值”. 語料庫上的Acc@d度量被定義為可容忍正確預測的比例,如式(5)所示:
通常采用的距離閾值d是161 km (100 英里)[21].
1.3.2 基于標記的度量
與有精確地理距離度量的方法相比,基于標記的度量有更廣闊的應用場景. 對于本文1.2 節中所述的4 個地理位置預測問題,最簡單的基于標記的度量是準確率. 假設l(h) 和l′(h)分別為真實位置和預測位置. 在這種情況下,當預測與真實情況一致時,預測才被認為是正確的. 因此將準確率定義為H中正確預測的比例,記作Acc,如式(6)所示:
在某些情況下,預測結果并非是單個位置,可能是基于某種標準的排名列表L′(h). 按照準確率度量的標準,直觀地,位于列表首位的位置即為預測結果(準確率最高). 但是這種方法忽略了列表中的其他位置預測,而實際應用中,其他預測對于下游應用程序可能頗有價值. 所以,有研究者設計了基于排名的準確率度量,稱之為Top@k. 該方法認為:如果真實位置位于前k個結果Lk′(h)內,則認為預測結果是正確的. 認定一個排序列表為正確列表的計算方法如式(7)所示:
1.3.3 通用度量
在一些情況下,如提及位置消歧,系統可能無法為給定的位置找到合適的條目. 在這種情況下,采用精確率(Precision)、召回率(Recall)和F1 作為指標.h表示給定用戶、tweet 或可識別的提及位置,如果系統無法做出任何預測,則l′(h)=null.
評估語料庫H上的精確率定義為所有預測的位置中正確預測所占的比例,如式(8)所示:
召回率定義為正確預測位置占所有真實位置的比例,如式(9)所示:
F1 定義為精確率和召回率的調和均值,如式(10)所示:
最后,需要注意的是精確率、召回率和F1 在位置預測領域都是適用的,并且被廣泛采用. 另外,在某些信息提供不足的情況下,預測系統可能無法做出預測[22-24].
OSN 不斷地以極高的速度積累著大量的異構數據,這些數據也將作為后續位置預測的輸入. 按照OSN 上數據的類型,本文將其分為4 類:1)由用戶發布的簡短而嘈雜的消息文本,例如推文、微博和點評等;2)圖像數據;3)用戶在基于地理位置的社交網絡(location based social network,LBSN)上的簽到數據;4)評分數據.
文本信息是OSN 中最為普遍的一類信息類型.隨著社交平臺的日益流行,OSN 中發布的帖子數量龐大,OSN 平臺發布的內容可以描述用戶想傳遞的任何信息:發布原創的帖子、轉發他人發布的帖子,同時用戶的帖子也會被推送給關注他的用戶. 在撰寫消息文本內容時,可能存在使用特殊字符的現象,即用“#”開頭的單詞或不間隔的短語給自己發布的內容添加標簽;用戶還可能在消息文本中使用“@”來提到另一個用戶的名字,被提及的用戶將會獲得通知,用戶之間能夠以這種方式開始對話.
除了形式多樣以外,OSN 平臺上發布的內容往往有許多非標準縮寫、排印錯誤、使用的表情符號和熱門話題被稱為標簽. 這種非常規的、非結構化的文本被稱為噪音,由于標準的自然語言處理(natural language processing, NLP)工具[25]不能很好地處理這些問題,給社交網絡中的內容分析帶來了不小的挑戰.
目前,越來越多OSN 平臺的用戶將地點與圖像關聯起來. 圖像能包含更多的視覺信息,可以更好地反映用戶對位置的偏好從而預測事件發生的地點.現有位置與圖像相聯合進行位置預測的研究大多是將相關區域劃分為網格,并預測圖像所在的精確網格[26-27],或者用一個多邊形區域,例如用圓形或三角形區域來表示用戶發帖數較多的地點[28],將圖像和地點相關聯. 例如,文獻[27] 利用視覺內容將Flickr圖片映射到地球上的網格中;文獻[29]利用Instagram上基于地理位置的圖片,對病患是否遵循了COVID-19 防疫政策進行跟蹤. 這些將圖像與位置相關聯的研究表明,圖像可以用來描述位置. 但是到目前為止,基于圖像本身視覺特征的用戶位置預測工作還較少.
在LBS 中,用戶到達每個場所可以進行簽到,表明到達過這個地方. 通常,一個簽到記錄可以用一個三元組(u,p,t)定義,表示用戶u在時間t時的簽到地點為p. 在LBS 中的地點被定義為唯一標識的特定地點,如電影院、酒吧或咖啡店. 將用戶的這些簽到點按時間順序連接起來,就能得到該用戶的一條專屬軌跡,現在很多研究,如文獻[30?31],就是利用用戶的歷史軌跡來預測其將來要去的場所.
一些OSN,如Yelp、大眾點評等,允許用戶在他們訪問的地點添加評分,一般從1~5 分不等. 數字評分包含豐富的信息,可以在位置預測任務中提高預測的準確度. 從情感分析的角度來看,評分越高,表示積極情緒越高,說明用戶再次訪問該地方的可能性越大;相反,較低的評分代表消極情緒,這意味著用戶未來訪問這里的可能性較小. 在文獻[32]中,討論了情感信息對捕獲用戶簽到行為的潛在影響. 文獻[33]基于Yelp 數據集衍生的用戶POI 評級分矩陣,使用語義標簽對每個用戶的評級偏好進行建模,并將該因素納入矩陣分解框架用于下一次訪問地點預測. 文獻[34]通過計算余弦相似度來估計給定用戶在候選地點的簽到概率. 通常情況下,這種用戶場所偏好僅使用用戶配置文件中的積極評分(評分大于3.0)進行建模. 實驗結果表明,使用高評分的方法比所有只訪問過地點的方法能更好地提高用戶位置預測的準確性. 到目前為止,很少有研究考慮用戶位置預測的數字評分. 如何有效地整合這類數據來提高預測性能仍有待探索.
用戶在OSN 中發布各種公開的信息,除了帖子本身的內容類型不同以外,還有可能在帖子上附加各種信息或是在用戶的個人介紹中提及有價值的信息等. 如何使用這些不同來源的信息進行位置預測或輔助進行地理位置預測也是越來越多研究者關注的問題.
本文從地理標簽、社交網絡結構、用戶配置文件和語義信息這4 個方面,對數據信息特征的類型進行劃分. 在這4 個特征類型中,地理標簽基于直接地理坐標;語義信息和用戶配置文件需要字符串處理來提取有用的數據信息. 這些特征都能影響位置預測的精度,因此需要不同的數據分析技術,并且每種技術都面臨不同的挑戰.
3.1.1 地理標簽
現在大多數智能手機都配備了GPS 功能,能夠準確地獲知用戶的經緯度坐標信息,部分用戶也習慣于在其帖子中直接附加地理位置信息. 突發事件的目擊者,往往會在其OSN 上第一時間發布相關的內容,包括地理信息. 這些信息在時間上要早于官方媒體,且有助于估計突發事件的精確位置. 例如用戶在新浪微博或微信朋友圈發布交通事故或火災的信息并帶有地理標簽. 因此,在OSN 一條帖子中最直接和精確的位置獲取方式,即是從它的GPS 地理標簽和位置附件中獲取.
然而實際的情況卻并非如此簡單,帖子位置信息面臨著數據稀疏性問題. 文獻[35?36]報道地理標記過的帖子只占OSN 平臺中所有帖子的一小部分,其中收集帖子的方式也會對稀疏性有影響. 為了減少稀疏性帶來的影響,文獻[37]按照時間線將每個用戶發布的帖子劃分為多個集群,并將每個集群分類為一個城市級的位置類來解決此問題,但此類方法顯然無法滿足細粒度預測位置的需求. 另外,也有學者通過預測地理位置屬性來解決稀疏性,如文獻[38]描述和分析了Facebook 的大規模公共頁面的位置屬性之后,提出了一個基于廣度優先搜索(breadthfirst search, BFS)的框架,利用頁面圖的連通性來預測缺失的地理位置信息.
除了稀疏性影響,另一個問題是帶有地理標簽的帖子的可用性也會受到區域內用戶分布差異的阻礙[39-40]. 由于城市地區的人口密度遠高于農村地區,如果不進行相應的處理,使用地理標簽帖子的方法往往傾向于將人口密集的地區作為某些事情發生的地點. 為了最小化這種偏差,文獻[40]根據隨機選擇的OSN 用戶分布重新計算了算法中的權重來反映感興趣區域的人口分布. 文獻[41]將用戶可能的位置定義為聚類坐標區域,從而處理人口分布中異質性的影響. 聚類的結果顯示,人口密集的地區被小的細顆粒區域所代表,而人口稀少的地區被更大的區域定義所覆蓋.
3.1.2 社交關系網絡
除了個體發布文本內容這種行為以外,用戶也會在OSN 平臺上與他人建立多種聯系,例如關注、轉發帖子和回復社交動態等,這些社交關系構成了用戶的社交關系網絡.
用戶社交關系網絡是OSN 的重要屬性之一,研究表明有社交關系的朋友比陌生人更有可能在同一區域[42],在研究用戶個體發布的信息的同時,發現用戶之間的社交網絡關系能提供額外的信息,此種關系亦被廣泛用于用戶位置預測[43]. 例如,文獻[44]研究了Facebook 平臺上用戶在線朋友關系與用戶地理位置的關系,結果發現,任何一對用戶存在線下朋友關系的可能性會隨著地理距離的增加而單調下降.文獻[45?46]也表明,如果2 個用戶居住在同一個城市,那么他們很可能經常通信,反之亦然.
除了直接的好友關系,社交平臺上用戶之間的間接好友關系在用戶住址預測中也很有價值. 文獻[47]發現,如果用戶A和用戶B經常與多個相同的第三方用戶聯系,那么用戶A和用戶B極有可能也存在好友關系. 更具體來說,文獻[48]證實,如果2 位用戶間的共同好友都超過了他們各自全部好友數目的一半,那么這2 位用戶在現實生活中地理位置距離在10 km 以內的可能性為83%,但當共同好友占比小于10%時,其概率就下降到2.4%.
社交網絡上的朋友關系無論是單向關注還是雙向關注,與現實生活中是否具有朋友關系沒有必然聯系. 例如OSN 上的明星并不關注他/她們的絕大多數粉絲,即粉絲單向關注明星. 但是,研究者也發現生活中的朋友會經常在網上提到彼此[23,45-46,48],并且2個相距遙遠的陌生人也可能成為朋友. 在探究用戶網絡上的關聯關系對位置預測問題的影響時,本文對社交網絡用戶之間的關注和提及行為不進行區分,并將該網絡稱為社交關系網絡. 一個典型的OSN 如圖1 所示,網絡中沒有邊的用戶被稱為孤立節點,其中沒有定位標識的用戶表明不知道其地理信息. 圖2中只有單向箭頭的表示關注了箭頭指向的用戶,例如用戶10 關注了用戶1,雙向箭頭表示這些用戶之間是相互關注的關系,例如用戶8 和用戶9.

Fig. 1 Illustration of OSN圖1 OSN 示意圖

Fig. 2 Illustration of user profiles containing geo-information圖2 用戶資料中包含地理信息示意圖
3.1.3 個人資料
在注冊OSN 平臺賬戶時,用戶個人資料屬性中一般會有其所在位置的選填項,文獻[49] 的調查稱66%的個人資料包含有效的地理信息. 這些個人資料中的地理信息能夠幫助廣告商準確定位其目標用戶,還可以幫助應急救援人員尋找被救助者,或幫助追蹤網絡犯罪嫌疑人. 用戶個人資料中的位置屬性允許用戶在自由文本字段中指定他們的位置. 與消息文本不同的是,一些OSN 屬性有字符數的限制,如Twitter 最多包含30 個字符,大眾點評最多包含50 個字符. 由于用戶被要求在這個字段中輸入一個位置名稱,且只提供了有限的空間,所以大多數情況下都不會使用復雜的短語.
OSN 平臺個人資料中的地理信息屬性的一個特征是地理位置字段并未對用戶輸入提出約束,可以是自由文本. 部分用戶在這個文本里輸入非地理位置信息,增加了獲取其位置信息的難度. 圖2 以Twitter為例展示了用戶在OSN 平臺的個人簡介以及資料編輯時可以選擇性添加地理標簽的情形. 另一個特征是地理位置大多為粗粒度位置[35,50-51],如省級或者市1 級. 這樣會導致個人資料中的地理標簽缺乏細粒度信息,如街道名稱,在某些事件,如建筑火災或交通事故中需要對用戶進行定位時,可能無法得到滿意的預測結果.
除了直接的地理信息外,用戶的個人主頁或相關網頁也可以列在個人資料中,這些數據可以為地理位置預測提供輔助支撐. 例如用戶列出的網站由居住在其本國的提供商托管,則可能提供國家級別的信息. 但是實際上,由于信息技術全球化帶來的影響,用戶也有可能在一個地點托管他們的網站,而住在另一地點,這就導致此類信息在地理位置預測中的輔助效果不佳.
此外,如將OSN 應用程序接口(application programming interface,API),捕獲信息中的時間戳、時區和個人資料等一起作為數據源進行位置預測,可以使預測至少達到國家級別的粒度[52],從而縮小預測范圍,為下一步更精確地進行預測提供支持. 文獻[53]在進行國家層次的預測后,能進一步用國家層次的預測指導城市級的預測.
隨著多功能社交網站的普及,用戶跨越多個社交網絡擁有賬號的現象越來越普遍[54],例如大眾點評允許使用新浪微博、QQ 或微信等進行連接登錄,Foursquare 允許用戶將他們的Twitter,Instagram 等賬戶與Foursquare 貼子連接,這些貼子通常帶有地理標簽,因此即使用戶沒有在Twitter[55]上透露自己的位置信息,也可以從Foursquare 的貼子中推斷出用戶位置. 使用這種方式獲得的位置信息可以被認為是個人資料中的一種.
3.1.4 語義信息
OSN 平臺中發布的帖子的語義信息被定義為能夠涉及地理位置的信息和反映用戶情緒的信息. 由于帖子相比個人資料會包含更多的信息,因此帖子文本的語義信息構成了位置預測領域中大多數研究的主要對象. 使用自然語言處理的方法理解語義,提取其中的用戶地理信息,就可以作為地理信息預測的數據來源. 但是實際情況卻并非如此簡單. 由于用戶習慣和OSN 平臺的限制,給語義識別帶來了很多挑戰.
首先,OSN 平臺上沒有明確的寫作規則,因此帖子中會包含很多的非標準文本,并且大多數的帖子含有錯別字、長度過短等現象,這些都會干擾對用戶位置的預測. 另外,即使在帖子文本中確定了位置,也不能直接推斷其為用戶住所位置或是發帖的位置[56].如一條帖子包含了城市的名字“上海”,但這并不一定意味著用戶來自上海,或者這條推帖子就是在上海發出的.
另外,另一種與文本中地名相關的干擾是地理歧義,這是由若干具有相同名稱的不同地點造成的,如“巴黎”(Paris)有140 種不同的可能性[57]. 為了確定用戶的帖子中所指的位置,文獻[58]使用了發帖距離、個人資料中的地理距離和文本中提到的位置之間的層次包容. 文獻[57]利用某個主題,聚類所有的推文,根據該聚類中地名之間的可能解釋的關系(如地理包容、發帖距離和地理距離)來解決歧義. 在其他研究中,文獻[35]將用戶個人資料中的粗粒度位置信息與帖子中的細粒度位置名稱結合起來,以解決細粒度定義中的歧義.
除了對語義中的地理信息進行挖掘以外,對OSN平臺上的帖子語義進行情緒分析,也可以對位置預測產生積極的幫助. 情緒信息通常嵌入在用戶所發布的帖子中. 如果用戶對某地使用積極的語言表達,相應地,該地理位置重要程度就越高;否則,重要性則越低[32]. 例如在文獻[59]中假設用戶的帖子也可以作為預測其訪問地點的依據,通過分析情緒的變化趨勢,能夠捕捉到用戶的意圖和心情,并進一步確定用戶下一次最有可能訪問的地點類型. 文獻[60]只使用用戶個人資料中的積極評價來衡量用戶的地點偏好,因為積極評級比中性或負面評級更具有預測能力. 由于當前的研究集中在從帖子中的向量化詞匯和句法特征中獲取情緒特征,而沒有進一步的上下文,因此文獻[61]設計了矢量化位置信息與詞嵌入相結合以產生混合表示,從而改進了情感分類任務,即使情感分析能夠對地理位置預測起到積極的作用.
總體而言,集成語義信息可以有效地緩解數據稀疏性問題并了解用戶偏好,但是無法單獨通過情感分析去預測用戶的地理位置,大多數情況下還是作為其他方法的輔助手段存在,以便提高預測效果.現有的研究大多只考慮文本中涉及的地理位置,情感信息的影響仍有待探討.
對在線社交平臺數據的信息特征分析顯示,并不總是能從數據中獲取高質量和可靠的信息. 這意味著,應該將信息缺失和不同信息源之間的差異性考慮在內. 數據的信息特征可以根據需求和期望以不同的方式被選擇和使用.
根據位置預測算法中對特征的使用情況,本文將OSN 數據的信息特征分為“主要(primary)”和“次要(secondary)”2 種類型. 主要信息特征是首先在帖子中被檢查,并在位置預測算法中使用的特征. 實際應用中,應用程序可以選擇使用單個主要特征或多個主要特征的組合. 次要特征可以對缺乏預期效果的主要屬性的帖子起到補充作用. 例如一個應用程序可以主要使用帖子的GPS 地理標簽,對于沒有地理標簽的帖子,可以利用用戶配置文件作為次要功能來推斷用戶的位置[40]. 本文對現有文獻按照使用單一主要特征、次要特征來處理缺失的特征;使用多個特征的組合作為主要來源進行分類回顧.
1) 使用單一主要特征. 基于單一主要特征的標準確定帖子中的信息特征作為來源,并僅使用該特征進行位置估計. 例如文獻[5]僅使用帖子中的位置名稱來確定事件位置. 文獻[26]僅利用Twitter 帖子中的GPS 坐標對其進行時空聚類. 類似地,文獻[62]利用事件相關推文的GPS 坐標來研究突發關鍵詞的空間分布,以檢測事件并預測其位置. 一般來說,選作主要特征的數據,都能較容易地提取出地理位置信息,其選用的提取或預測技術往往也較少,整個預測應用設計架構相對簡單. 但采用單一的主要特征,對數據集要求較高,整個模型會受到社交網絡數據特性的影響,例如數據稀疏、縮寫簡寫等問題.
2) 使用次要特征. 由于位置預測方法可以從多個特征中獲益,如果選擇的主要特征在一個帖子中不可用(缺少數據或者存在不可用數據),其他次要特征可以用來提取帖子的位置信息. 使用次要特征的一種常見做法是利用用戶個人資料中的位置屬性來代替無地理標簽帖子的GPS 數據[63]. 這意味著,無地理標簽帖子的坐標可以從用戶個人資料中特定的位置信息推斷得出. 雖然次要特征可以在主要特征不可用時起到很好的補充作用,但作為次要特征的數據常常無法提供有效的信息,一定程度上降低了其可用性. 例如,用戶在個人資料中常常不填寫自己的準確地址.
3) 使用多種特征. 第3 種選擇是利用多個特征作為主要的信息來源. 這種方法不考慮特征之間的相互替代,相反地將它們組合在一個模型中. 例如文獻[64?65]基于GPS 地理標記、消息文本和用戶個人資料,首先為可能發生事件的位置分配基本概率,然后根據dempster-shafer 理論中的組合規則將這些概率分配到單個解決方案中. 在另一項使用多個特征的研究中,文獻[39]同時利用了微博的GPS 地理標簽、微博文本中的參考位置和用戶資料,對新浪微博檢測到的事件進行了本地化,從而提取用戶坐標. 使用多種特征既能很好地緩解單一主特征面臨的數據稀疏等問題,又能避免使用次要特征效率不高的缺陷,但這種情況下,往往需要更為復雜的模型或框架來實現預測功能,帶來更大的計算壓力.
用戶位置預測領域已經有多種方法和技術被提出,近年來也持續不斷地對已知方法改進和提出新的方法,例如,機器學習、統計學、概率學和深度學習等,取得了一定成果. 在自然語言處理領域,有一類重要的任務:命名實體識別(named entity recognition,NER)[66],該任務用于從給定的文本中識別出實體的邊界、類型(通常為人為預先確定)等內容,地理位置的識別也是其中一類重要的目標. 實際上很多研究者也將NER 技術用于帖子中地理位置的提取. 與NER 對其技術進行分類的標準類似,本文將地理位置預測的算法/模型分為3 類:使用字典的方法、使用傳統機器學習的方法和使用深度學習的方法.本文在介紹當前對應的NER,尤其是其中與地理位置預測相關內容的基礎上,還介紹了地理消歧等任務的研究現狀. 本節所總結的算法類別如圖3 所示.

Fig. 3 Illustration of basic algorithms and models圖3 基礎算法及模型示意圖
地名詞典是收錄特定范圍內地理實體的專有名詞的詞典. 一般提供自然、經濟、人文和歷史這些方面的信息,并對其進行說明. 地理數據庫類似地名詞典,也能很好地應用于這項研究,使用的一些數據庫工具包括GeoNames,GeoNet,OpenStreetMap,WikiMapia 等,這些工具允許以任何數據格式下載許多國家的空間定義[67],如城市、城鎮、街道、建筑、山脈、河流等. 基于地名詞典的方法,其基本思路是提取帖子中的地點與地名詞典中的地點進行匹配. 因此,此類方法的重點是地點(實體)提取.
許多研究者采用NER 的方法來識別各個地點實體,該實體可以是基于段的表示,也可以是基于詞的表示[55]. 前者在識別帖子中的地點方面表現出更高的效率,這種技術廣泛使用的工具是Standford NER.但文獻[68] 發現,在OSN 平臺的帖子中使用Stanford NER 并不能準確地檢測出包括地名在內的實體,特別是實體被縮寫時,會有更高的概率識別錯誤. 因此,文獻[69]重新訓練了Stanford NER,OpenNLP,Twitter-NLP 等工具對2 878 條與災難相關的推文進行了10倍交叉驗證,發現經過再次訓練的Stanford NER 的表現優于其他之前的方法. 文獻[70]采用了一種混合方法,位置實體被提取并解析成地名詞典,以準確地對推文中提到的地名進行地理編碼.
基于字典的NER 方法雖然在小數據集上可達到較高的準確率,但面對大量的數據集以及未知地點(不在字典內的地點),這種方式變得不再適用. 因此,文獻[71?72]使用GeoNames,用地名詞典來替代傳統的基于字典的NER 的方法,并認為地名詞典更適合于有噪聲的消息文本. 文獻[55]也采用基于地名詞典的方法,利用OSN 帖子中的各種元數據信息來推斷地理位置.
由于文本表達的信息的多樣性,會產生“歧義”現象,即在帖子中發現的地理信息文本,通過聯系該文本的上下文也可能表示其他非地理意義. 例如“England”既可以指代英國,也可以表示英國人[65]. 為了解決這種地理/非地理的歧義,文獻[73]探索了在有歧義的術語之前是否存在一個空間指標,如“在”“位于”等,使用PipePOS 標記器和USGS 位置數據庫推斷用戶的當前位置,從而解析不明確的位置名稱.文獻[65]開發了一種啟發式方法,該方法在其他消息文本中尋找與本事件相關的位置名稱,以消除這種歧義.
雖然地名詞典很容易實現,且無需訓練數據,但此類方法面臨著諸多質疑:1)其處理速度慢[21],無法簡單通過縮小數據集的方法來提升其速度. 文獻[43]發現,通過增加好友/粉絲關系的深度來改變OSN 數據集的大小,并不會影響使用地名詞典方法計算和檢測用戶位置所花費的時間.2)盡管基于地名詞典的方法將語言依賴性最小化,但對語法的完全忽視可能會限制地名解析的性能. 例如使用諸如“A 在北京,B 在距A 約100 km 的城市”這樣的短語,要得到準確可用的預測地點,需要分析完整的句子結構,不能通過簡單地在數據庫中查找地名來確定地點.3)由于這類句子在OSN 平臺上很少被觀察到[74],是否值得對這些短語進行深入分析也很有爭議.
隨著機器學習研究的興起,數據挖掘和傳統機器學習方法同樣被應用于檢測OSN 平臺的用戶位置預測中,并且已經被證明是一類很有效的用戶位置預測方法[75],如k-鄰近分類、模糊匹配[43]、樸素貝葉斯模型[76-77]、條件隨機場(CRF)、矩陣分解以及馬爾可夫模型等.
4.2.1 概率方法
概率方法的目的是根據觀察,以概率來確定預測地點最可能的位置. 在本節中,將解釋概率方法的4 種主要實現:第1 種方法采用最大似然估計(maximum likelihood estimation,MLE);第2 種方法采用期望最大化(expectation maximiation,EM)[78];第3種方法基于貝葉斯濾波器給出2 種實現,即卡爾曼濾波器(Kalman filters)和粒子濾波器(particle filters);第4 種是使用較為廣泛的馬爾可夫模型.
1) 最大似然估計
這種概率技術是基于學習帖子中的單詞在一系列地點X上的概率分布. 例如一個國家的城市,使用與地點相關帖子中的單詞計算某地點屬于城市x∈X的后驗概率. 然后,選擇后驗概率最大的城市作為預測地點位置.
在文獻[78]中,最大似然估計是作為地點定位的基準方法. 文獻[65]中也提出了一種類似的方法作為監督的基準方法. 文獻[79]提出了一個半監督框架,使用最大似然估計來估計用戶的位置. 文獻[80]用最大似然估計算法識別城市的本地居民. 極大似然估計要求定義一組表示可能的地點位置和這些位置上的注釋已進行訓練的選擇. 因此,準確性可能會隨訓練數據的質量而改變. 雖然基于最大似然估計的方法具有簡單易實現的特點,但其求解參數的方式決定了在面對參數較多的情況下難以求解.
2) EM 算法
EM 算法是一種迭代算法,用于含有隱變量的概率參數模型的最大似然估計或極大后驗概率的參數估計. 該算法在面臨參數多、一次性求解計算開銷大的情況下具有優勢. 但EM 算法對需要初始化的參數初始值敏感,即參數的選擇直接影響收斂效率以及是否能夠的到全局最優解.
部分研究者基于熱點話題和位置的不同組合作為潛在變量,提出了不同的概率模型,并使用基于EM 等變分推理方法來預測位置. 文獻[81]在整個美國的Twitter 數據集上用用MeanED 和MedianED 報告了494 km 的預測結果. 文獻[82]通過考慮用戶的話題傾向性,對文獻[81]的方法進行了擴展,并通過假設每個用戶有多個位置開發了一個概率模型. 文獻[43]使用了額外的地理編碼過程,對檢測到的命名實體提取其位置引用. 該方法首先對事件在開始處近似局部化;其次采用基于EM 的預測技術,利用模型中實體的位置關系密切度來更新和增強這些初始預測;最后,對位置層次結構中的每個層次,如國家、州、城市和街道級別分別執行預測. 這些解決方案在其預測模型中將位置視為一個連續變量. 因此,當涉及到更大的地理區域,如國家或大洲時,它們就會表現出擴展性問題.
3) 濾波器
除了上述方法外,濾波器也常用于位置預測任務中. 其中貝葉斯濾波雖然可以有效濾除噪聲,得到比較精準的狀態估計,但是在計算期望的時候,需要做無窮積分,大多數情況下沒有解析解(精確解). 使用較多的方法是卡爾曼濾波器和粒子濾波器.
①卡爾曼濾波器. 卡爾曼濾波器[83-84]是以最小均方誤差為估計的最佳準則來尋求一套遞推估計的模型,其基本思想是:采用信號與噪聲的狀態空間模型,基于先前的估計和最近觀察的位置更新來預測對象的位置,它表示坐標分布的均值和協方差值的不確定性. 卡爾曼濾波器包含2 種更新規則:用于預測的時間更新和用于校正的測量更新. 卡爾曼濾波器適合于實時處理和計算機運算. 文獻[85]使用卡爾曼濾波器在Twitter 中檢測地震震中. 在估計檢測值時,假設沒有出現時間轉換的誤差,因此只使用了測量更新規則. 文獻[85]指出:卡爾曼濾波器在線性高斯環境中工作得更好,由于Twitter 帖子或微博動態不一定是線性的,并且從遙遠的位置發布的消息文本可能會對方差產生負面影響,因此在預測地點時使用卡爾曼濾波器的可能性能不佳. 在這種情況下,粒子濾波器被認為比卡爾曼濾波器更合適.
②粒子濾波器. 通過尋找一組在狀態空間中傳播的隨機樣本來近似表示概率密度函數,用樣本均值代替積分運算,進而獲得系統狀態的最小方差估計的過程. 這些樣本被形象地稱為“粒子”,故而叫粒子濾波. 為了預測OSN 中的位置,文獻[86]描述了一種使用順序重要性采樣方法的粒子濾波器實現. 在實現中,隨機分布在感興趣區域的粒子是在初始生成階段產生的. 提供與預測地點相關的消息文本中的經緯度值,算法迭代地重新采樣粒子,通過更新它們的位置、速度和加速度來預測粒子的下一個狀態,并根據它們與最近觀察的距離為粒子分配權重. 最終確定事件的估計位置為粒子坐標的平均值. 文獻[61]認為,為了提高位置估計方法的準確率,發布事件相關消息文本的用戶應該是獨立同分布的,即關于事件的信息不應該在Twitter 中傳播太多. 該文獻解決了OSN 用戶地理分布差異帶來的偏差問題,并提出了一種粒子濾波器的改進方法. 該方法基于隨機抽樣的消息文本集,考慮傳感器分布,為粒子分配權重. 文獻[65]中還采用了卡爾曼濾波和粒子濾波的實現作為基準的位置預測方法.
雖然實驗證明了粒子濾波器在事件地點預測方面的估計精度優于卡爾曼濾波器,由于使用的粒子數量具有不確定性,所以粒子濾波器的執行時間并不一定適合對實時性有要求的任務.
4) 馬爾可夫模型
在OSN 最初的位置預測中,許多研究者選擇研究基于馬爾可夫模型的各種地點預測情況,如住所位置預測、Text 位置預測、下一個位置的預測等. 文獻[87]提出了一種基于馬爾可夫鏈的預測模型. 文獻[55]使用隱馬爾可夫模型(hidden Markov model,HMM)來建立用戶在給定時間段內訪問的不同地點之間的關系,并預測用戶訪問的下一個位置. 在文本的位置預測中,文獻[88]提出了一個馬爾可夫隨機場概率模型,根據用戶的消息文本內容和他們的社交網絡來推斷用戶的位置.
由于馬爾可夫鏈(additive Markov chain)在序列數據建模方面具有天然的優勢,有研究者將基于馬爾可夫鏈的方法應用于用戶地理位置軌跡,如GSN中用戶歷史軌跡具有明顯的序列特性的預測中. 此類算法的基本思想是:根據用戶過去的連續行為預測用戶的下一個行為. 文獻[89?91]基于過去的行為建立一個估計的轉移矩陣來表示一個行為的概率,并使用馬爾可夫鏈框架來建模POI 之間的順序影響.文獻[91]利用了只考慮用戶訪問序列中最后一個位置的1 階馬爾可夫鏈來預測對序列的影響.
由于n階馬爾可夫鏈的復雜度隨n的增加呈指數級增長,而經驗實驗表明1 階馬爾可夫鏈的有效性,因此大多數文獻都假設下一次訪問的概率僅依賴于當前訪問的概率[92]. 然而,在現實中,用戶簽到行為可能不僅依賴于最新的地點,還依賴于用戶最早訪問的地點. 部分研究者也將用戶過去訪問地點的影響考慮到地理位置預測中. 文獻[89]通過添加馬爾可夫鏈來預測用戶下一次訪問的地點. 由于最近簽入時間戳的位置通常比包含舊時間戳的位置具有更大的影響力,它們根據具有最近簽入時間戳的位置,為以前的位置手動設置衰減率參數. 文獻[90]結合馬爾可夫鏈和人類活動的規律性進行了更復雜的研究. 該文獻將移動規律和馬爾可夫模型無縫地結合到一個用于位置預測的隱馬爾可夫模型框架中,在該框架中,登記場所作為隱藏狀態,其他信息作為觀察. 文獻[93]提出MDC-MCM 的模型,該模型將簽到周期、空間距離和其他影響位置預測的因素進行線性加權,并與n階馬爾可夫鏈預測結果相融合,使用Brightkite 數據集的驗證實驗表明該模型有更好的預測結果.
有研究者使用基于馬爾可夫模型的方法進行地理位置消歧,提高預測精度. 文獻[94] 使用最大熵馬爾可夫模型(maximum mentropy Markov models,MEMM)來查找位置和一組規則來消除地理位置的歧義. 據報道,該模型在多個新聞報道數據集上的總體精度為93.8%.
作為傳統馬爾可夫鏈的擴展,FPMC(factorizing personalized Markov chain)[95]結合通用馬爾可夫鏈模型成功地應用于用戶位置預測. 然而FPMC 假設所有的序列行為都是線性組合的,因素間存在很強的獨立性,并且FPMC 不能用于建模多個組件之間的關系(例如給定a→b,b→c,由于a和c都與b有密切的關系,因此可以直觀地認為存在a→c的轉移,但由于FPMC 具有很強的獨立性假設,無法捕捉到這種轉移).
文獻[96]提出了ComPredict 的方法,該方法集成了動態馬爾可夫模型(dynamic Markov model,DMM)和從社交網絡用戶評論中挖掘的移動意圖,用于實現用戶位置預測. 該方法首先使用基于滑動時間窗口的PrefixSpan 算法,對打卡軌跡中的頻繁模式進行挖掘,同時通過多階馬爾可夫模型在軌跡前綴樹中確定模型的正確的階數;其次為了提升方法的效率,基于用戶語義相似性和簽到頻率將用戶聚類為不同的組,用鄰接簇的信息避免直接降階,根據用戶當前軌跡序列和其歷史軌跡模式,可以得到語義位置預測軌跡集合(semantic location prediction trajectory set,SLPset);最后,將用戶訪問過的地點的SLPset 映射到位置類別層次語義軌跡前綴樹,算法在SLPset 的用戶評論信息和群組位置中進行挖掘,進而將其細分為不同類別.
除了上述4 類方法以外,還有綜合采用多種概率模型用于位置預測的研究. 文獻[81]采用多種概率模型,將用戶使用的地點詞合并在一起,利用其朋友的地點詞解決未提及足夠地點詞的用戶的位置推斷問題.
4.2.2 聚類技術
聚類方法的目的是將具有相似空間屬性的對象分組成簇[97]. 在本節中,將基于聚類對OSN 中實現位置預測聚的技術分為3 類:1)空間聚類;2)具有噪聲的基于密度的聚類算法DBSCAN (density-based spatial clustering of applications with noise);3)概率密度函數.
1) 空間聚類
空間聚類,是對消息文本中的關鍵詞生成空間簽名,通過計算向量相似度[62]對關鍵詞進行增量聚類的方法. 在對OSN 位置進行預測的方法中,多種聚類算法都有使用.
文獻[62]中將感興趣區域建模為具有預定帶寬的網格,消息文本在基于時間的滑動窗口中處理,地理標記的消息文本根據它們的坐標分配給網格單元.根據歷史使用值識別當前時間窗口中的突發關鍵字,生成該關鍵字的空間簽名. 該文獻指出,與同一事件相關的關鍵字應該具有相似的空間簽名[62]. 基于此,文獻[97]采用了一種類似于BIRCH 的單程聚類算法,可以增量地維護和更新在先前時間窗口中檢測到的聚類,而無需提前獲取整個數據集. 為了將事件集群與事件無關的事件集群區分開來,還應用了集群評分方案,并在單元大小等于體育場大小的網格系統在足球比賽的定位上驗證其算法.
在另一項采用類似方法的研究中,文獻[26]根據城市的GPS 坐標將推文分配給網格單元,并使用內容中的網格、事件位置術語以及發布時間為每條推文定義特征向量. 然后根據空間、時間和主題一致性對這些特征向量進行聚類.
另外,文獻[98] 采用與POI 相關的語義連貫的軟聚類來預測用戶未來的簽到位置. 文獻[99]開發了一個基于社交關系強度的解決方案,使用局部聚類系數(共同朋友的數量)加權關系. 文獻[100]的方法首先聚類地理標簽,帖子數量最多的組被認為是“住所集群”,并以集群中各點的幾何中值作為住所坐標. 采用幾何中值的方法避免了簡單采用中位數作為居住地點而忽略了用戶多個活躍區域的問題. 文獻[101]采用k-means 聚類算法對相關帖子進行信息特征的分組,考慮用戶文本內容等多種因素,但更重要的是考慮其時空細節. 文獻[102]提出了一種基于模糊C-均值聚類算法和自組織映射方法的地理位置預測方法PredicTour,該方法可以依據一定時間間隔下的用戶打卡歷史記錄及其個人檔案信息形成的用戶行為模式,對用戶未來可能訪問的國家進行預測.
2) DBSCAN
DBSCAN 可以將空間項分組成任意形狀的聚類以找到高密度區域[30,103].DBSCAN 根據它們彼此之間的距離對條目進行聚類[104]. 文獻[105]利用DBSCAN對Twitter 帖子的地理距離進行聚類,并檢測帖子密度較高的區域的聚類. 給出了Twitter 帖子流中檢索到的帖子列表,通過分析,確認包含相同單詞的帖子是否在空間上彼此接近. 由此產生的帖子集群包含特定的一組單詞,并在一個地區具有高密度. 在識別出空間集群作為潛在的地點區域之后,該文獻選擇了與某一地點事件相關的區域和詞匯,這些區域和詞匯在一定時間內始終保持活躍狀態.
文獻[106]提出了基于DBSCAN 的擴展,稱為基于密度的時空聚類,該算法可以識別消息文本以時間劃分的簇和以空間劃分的簇,如果2 條消息文本的地理距離(從GPS 坐標中獲得)和發布時間的差值在指定的閾值范圍內,則認為它們在規定的鄰域內,從而從大量的地理參考文檔中提取熱點區域. 文獻[107]關注帶有地理標簽的Twitter 帖子,進一步擴展了基于密度的時空聚類算法,以支持增量和實時執行. 當接收到新的消息文本時,并不是從頭開始執行整個聚類算法,而是通過部分重新聚類和合并的過程來更新受影響的集群. 其算法可以提取熱點區域和觀測緊急事件的話題.
3) 概率密度函數
概率密度函數是基于過去的觀測結果,用來估計給定點的連續隨機變量的概率密度[108-109]. 此類方法在文本和離散的預定義的區域之間建立映射,即可通過特定的文本去預測其地理位置,但此類方法一般只能將預測精確到訓練前指定的范圍較大的區域,例如國家或城市. 高斯混合模型(Gaussian mixture model,GMM)和核密度估計(kernel density estimation,KDE)是2 種成熟而廣泛應用的概率密度估計技術.
GMM 是用高斯概率密度函數(正態分布曲線)精確地量化事物,它是一個將事物分解為若干的基于高斯概率密度函數(正態分布曲線)形成的模型.
文獻[21] 提出了統一的判別影響模型,該模型基于社交關系的概率算法,使用高斯分布來捕捉節點的影響. 文獻[110]根據用戶的興趣對不同的地理位置進行表征并通過在地理坐標上應用雙變量高斯分布來模擬Twitter 數據,文中提出當文本信息與位置信息結合時可以提供有價值的模式. 文獻[111]將用戶的影響建模為以用戶所在位置為中心的高斯分布,將分布的方差解釋為用戶的影響范圍,并將家庭位置預測擴展到多個位置分析. 文獻[84]在預測用戶的家庭位置問題上使用GMM 來適應空間單詞的使用,該模型為了緩解以詞為中心的家庭預測方法的數據稀疏性,使用高斯或GMM 實現單詞使用分布的平滑. 同樣,文獻[112]也采用了GMM 進行Twitter帖子的位置預測. 文獻[24]也利用高斯模型對空間NGram 進行建模. 最近,文獻[113]提出了一種結合文本特征和網絡特征的GMM 定位預測混合方法. 文獻[1]先使用基于GCN 和注意力機制的方法對推文中的命名實體進行平滑嵌入,之后采用基于GMM 的模型對用戶發布Twitter 帖子的位置進行預測,與其他工作不同,其輸出一個二元高斯分布的混合,并非以前工作的坐標.
由于高斯分量的數量可能在不同的數據集上有很大的差異,確定高斯分量的數量和調整高斯分量的混合權重可能會帶來額外的挑戰. 因此,在估計概率密度時,KDE 通常被認為是GMM 的有力替代.
KDE 是一種統計分析工具,用于生成非參數概率密度函數估計. KDE 是局部核密度估計的線性組合,其中內核的平滑度由以緯度/經度為單位的帶寬參數集 θ控制. 核密度估計[109,114]是OSN 在地點預測過程中廣泛使用的密度估計技術之一.
KDE 對觀測數據的分布做了不嚴格的假設,這使得它更適合于任意的數據分布[109]. 文獻[115?116]廣泛討論了KDE 相對于GMM 的優點. 文獻[115]開發了一種混合KDE 方法,根據活動歷史預測個體的位置. 該文獻計算了個體水平、區域水平和人口水平3 種密度分布的加權組合,并使用驗證數據集調整方法中的參數,為所有用戶應用所選值. 文獻[116]利用KDE 建模用戶訪問地點的地理分布,以便在基于位置的社交網絡中提出建議. 文獻[109]解決了基于網格的文本定位模型中的數據稀疏性問題,并應用KDE 平滑區域內的文檔和單詞計數,以提高估計的準確性. 文獻[28] 提出了一種利用KDE 對Flickr 照片和維基百科文章進行地理標記的特征選擇技術,該技術使用核KDE 將每個術語建模為地球表面上的2 維概率分布,并在文獻[117]中描述的魯棒擴散KDE 方法上進行了擴展. 在文獻[114] 將KDE 用在地圖上生成可視化圖形. 文獻[28]在基于內容的微博定位問題中,提出了一個本地化KDE,它使用信息理論度量,并且不需要對這些設置進行任何參數調優,此方法會根據每個詞的局部強度分別自動確定核帶寬和權值. 文獻[118]提出了一種基于KDE 的混合框架用于完成社交網絡用戶賬戶連接任務,并通過對該框架的擴展,實現了對用戶地理位置的預測.文獻[119]提出了一種基于加權距離KDE 和張量分解的2 階段從粗到精的POI 推薦算法,第1 階段同時考慮序列上下文的長期偏好和人群的偏好來估計粗粒度的用戶類別興趣,第2 階段設計一個考慮空間距離的加權KDE 來確定細粒度的用戶位置興趣.
4.2.3 矩陣分解
矩陣分解是用戶位置預測任務的一種常用技術,其基本思路是將1 個用戶位置矩陣分解成2 個低秩矩陣,分別代表用戶或位置的潛在因素,然后利用2個向量的內積擬合用戶對候選位置的偏好,從而實現位置預測.
已有研究者提出了基于矩陣因子分解,利用用戶的明確反饋(例如評級)來建模用戶的偏好,從而有效地預測用戶未來訪問地點的方法. 文獻[120]從2 維核密度估計的角度捕捉空間聚類現象,并將空間聚類現象無縫地融合到加權矩陣分解框架中,這樣用戶對POI 的偏好就被建模為在向量空間中的內積.在此基礎上,文獻[121] 進一步提出了一個可擴展、靈活的聯合地理建模和基于隱式反饋的矩陣分解框架. 文獻[60,122]充分利用用戶文本評論,提出了一種新的基于矩陣分解的方法來聯合建模用戶偏好和場地特征. 在文獻[123]將地理影響量化為用戶和場所之間的簽到概率,然后運用矩陣分解模型得到用戶和場所的向量表示. 文獻[124]在早期地理貝葉斯非負矩陣分解(geographical Bayesian non-negative matrix factorization,Geo-BNMF)構想[125]的基礎上,進一步開發了Geo-PFM 框架,以捕捉地理對用戶簽到行為的影響,并有效地模擬用戶移動模式,文中證明,當用戶簽到數據有偏差時其方法依然有效.
矩陣分解模型聯合建模多個實體方面也被證明是有效的. 文獻[126]聯合對用戶內容偏好矩陣、用戶空間偏好矩陣和POI 特征矩陣進行矩陣分解,提取用戶和POI 影響中的層次結構,以實現細粒度用戶位置預測.
近年來,也有研究人員對矩陣分解模型擴展了其適用場景. 其中文獻[127?128]中的3 階張量分解模型和文獻[129]中的跨區域矩陣分解模型具有代表性.
基于矩陣分解的模型可以獲得最好的預測精度.然而,基于矩陣分解的模型通常難以處理訓練數據中的新用戶或新位置,換言之,它們在冷啟動(coldstart)場景[130]中不夠靈活.
近年來,人工智能技術和計算機硬件水平不斷發展:一方面,隨著自然語言處理方法的不斷改進(如詞嵌入),給OSN 位置預測問題帶來了新的工具;另一方面,隨著硬件能力的提升,使深度神經網絡模型的訓練時間大大縮短,其實用性大大增強. 因此,越來越多的研究者嘗試使用深度神經網絡模型來解決OSN 的位置預測問題. 本節將分別介紹傳統神經網絡結構、典型詞嵌入以及深度神經網絡(deep neural network,DNN)模型和基于圖神經網絡等模型在OSN 用戶位置預測上的應用.
通常用于從文本中提取地名的文本挖掘技術是NER 的任務之一. 此類方法基于詞性標注對文本進行分析,將某一組詞語標注為人、組織或位置等實體類別. 深度學習的出現同時也使NER 的研究重點轉向DNN.
4.3.1 傳統神經網絡
傳統神經網絡的特點是網絡層數量少,往往只有輸入輸出層以及中間的幾個全連接層,導致模型的擬合度低. 文獻[131]使用了一個簡單的神經網絡結構,其包含完全連接的層和平均池化過程,將一個帖子或一個用戶分類到一個城市. 文獻[132]使用帶有一個隱含層的多層感知器(multilayer perceptron,MLP)來分類用戶的家庭位置. 文獻[133]利用神經網絡模型和混合密度網絡將2 維地理標簽轉換為連續向量空間輸入. 文獻[134]將用戶友誼信息編碼成神經網絡模型. 與其他研究不同的是,該文獻將聯網的用戶和他們所在的城市分開,分別分配用戶嵌入和城市嵌入. 采用注意力機制添加用戶和城市嵌入信息,以獲得對家庭位置預測的有用信息. 文獻[135]提出基于神經網絡的命名實體識別方法,該方法在大量未標記的訓練數據上學習內部表示,同時該方法中每個單詞具有固定大小的窗口,但沒有考慮長距離單詞之間的有效信息.
還有研究者將傳統神經網絡模型與其他技術相結合對用戶位置進行預測. 文獻[136]采用神經網絡模型預測文本的位置,結合GMM,利用由消息文本內容提供的卷積混合密度網絡來估計GMM 的參數,并將估計的密度的模態值作為文本位置的預測坐標,文中還指出不同的損失函數確實會影響模型的性能.
4.3.2 典型詞嵌入模型
詞嵌入(word embedding)就是將詞匯表示嵌入到一個低維空間中,便于計算機理解和處理. 其優勢之一是它在識別非常規詞匯方面的靈活性(這在OSN上很常見),因為單詞之間的相似性檢查可以用來識別關鍵詞列表中列出的實體[56]. 目前的研究表明,詞嵌入技術,特別是Word2Vec[136]和Doc2Vec[137]等詞嵌入技術被證明能夠有效地捕捉到項目,如句子中的詞、軌跡序列中的軌跡點等之間相互作用的語言規律. 受最近自然語言處理和文本挖掘中詞匯嵌入的成功案例的啟發,許多研究嘗試應用詞嵌入模型來推斷位置嵌入,即OSN 中位置的向量表示[132,138].
文獻[132]采用對給定用戶的推文內容的l2標準化詞袋(bag of words)表示作為輸入,輸出是由k-d 樹或k-means 生成的預定義離散化區域. 文獻[139]采用基于自然語言處理的混合詞嵌入模型進行語義理解,并結合余弦相似度和Jaccard 相似度度量進行特征向量提取和降維. 文獻[140]介紹了用于分析任何語言文本的Unicode 卷積神經網絡,并在字符級卷積神經網絡中加入了一種新的字符嵌入和語言估計器.文獻[141]采用Word2Vec 技術中流行的Skip-gram 模型,通過將采樣序列中的每個地點作為一個單詞來學習低維向量空間中的位置嵌入. 文獻[53]采用字符感知的詞嵌入層處理噪聲文本并捕獲詞匯表外的詞,并利用變分器編碼器,學習了不同特征字段之間的相關性. 文獻[138]測試了單詞嵌入、字符嵌入等特征對分類結果的影響,提出了一種帶有條件隨機場(conditional random fields,CRF)層的雙向長短期記憶神經網絡來識別社交媒體信息中的地理實體,特別是很少知道的局部位置,并探索了使用正字法、語義和句法特征來獲得最佳性能的方法. 文獻[20]提出了一個新的隱含表示模型POI2Vec,該方法能夠結合地理影響,并聯合建模用戶偏好和POI 順序轉移影響的方法,以預測特定POI 的潛在訪問者.
典型詞嵌入模型雖然被廣泛研究,但也存在一定的缺陷. 現有的詞嵌入模型不能很好地對本地時間上下文進行建模;另外,由于典型詞嵌入模型中的參數數量通常非常大,框架通常是不可分割的,即使采用隨機梯度下降(stochastic gradient descent,SGD)優化,依然存在計算成本較高的問題.
4.3.3 深度神經網絡
傳統的機器學習模型的輸出和輸入之間只能學習到一個線性關系,因此只能用于2 元分類,且無法學習比較復雜的非線性模型,因此在實際應用中可用性不強. 而深度神經網絡模型則在感知機的基礎上做了擴展,加入了隱藏層,多層的好處是可以用較少的參數表示復雜的函數,同時輸出層的神經元也可以有多個輸出. 近幾年,在OSN 用戶位置預測領域,深度學習取得了有效的發展. 文獻[142]使用深層回歸神經網絡(deep neural network for regression,DNN-R),負責從多個位置記錄中選擇一個用戶家庭位置軌跡;深層神經網絡分類(deep neural network for classification,DNN-C),用于選擇批準或拒絕選擇記錄,從而控制預測家庭位置的數據子集.
1) 基于RNN 及其變體的方法
循環神經網絡(recurrent neural network, RNN)是一種適合序列分類的方法,能夠將一個節點的輸出傳遞給它的后繼節點,這可以理解為一個單詞對后續單詞的影響. 與傳統方法相比,RNN 在自然語言處理中表現出了更好的性能,一些研究成功地將基于RNN 的模型應用于用戶位置預測[134,138]. 文獻[134]擴展了文獻[131]中的方法,按時間順序對用戶的消息進行排序,并應用序列RNN 模型對內容進行編碼.
RNN 中的過去輸入與當前輸入一起處理,以產生一種臨時記憶形式,這種形式在處理順序信息時有效. 然而RNN 由于短時記憶難以處理長序列、反向傳播過程中的梯度消失等缺點,研究人員開發了更多的RNN 變體,其中就包括LSTM.自然地,研究者也在進行將LSTM 應用于用戶地理位置預測的任務中.
LSTM 是一種特殊的RNN,它在長序列上表現得更好. LSTM 采用一種門機制來控制神經網絡中的信息流. 因此,文獻[138]提出了一種帶有條件隨機場層的雙向長短時記憶神經網絡模型(bidirectional -long short-term memory,BiLSTM)來識別社交媒體信息中的地理實體,特別是很少被人知道的局部位置.文獻[53]利用BiLSTM 模型學習了不同特征字段之間的相關性,并輸出了2 種分類表示,分別用于國家和城市的預測. 該模型首先計算國家層面的預測,并進一步用于指導城市層面的預測. 文獻[37]使用卷積LSTM 模型將用戶生成的內容及其相關位置視為序列,采用雙向LSTM 和卷積運算進行位置推斷. 文獻[143]采用了帶有條件隨機場輸出層的雙向長短時記憶(BiLSTM-CRF)訓練POI 識別器,用于微博中的細粒度位置識別和鏈接. 文獻[144] 首先使用了HiSpatialCluster 算法從打卡地點中識別出CA(clustering areas),再使用LINE(large-scale information network embedding)取得CA 的向量表示,最后使用BiLSTMCNN(convolutional neural network)進行地理位置預測.文獻[145]提出了基于LSTM 的人類地理位置預測模型,該模型在社交網絡中,依據社交關系預測其位置,并將結果用于移動城市傳感器網絡的路由協議設計中. 文獻[146]提出了一種基于BiLSTM-CNN 的架構,可以自動檢測單詞和字符級別的特征. 該技術在結構化良好的句子和知名地點上表現良好,但OSN 中帖子的文本通常以非正式或隨機的格式寫入,產生地理或非地理歧義,從而導致NER 的方法在從社交媒體中提取地理實體上表現不佳.
2) 基于CNN 的方法
由于RNN 適用于順序或長文本數據. 而OSN 的消息文本中有短句,這有利于使用CNN 而不是RNN.使用CNN 的原因是卷積層可以自動學習輸入數據的更好表示,然后全連接層可以利用這些輸入表示來識別位置.
文獻[147]訓練了一個基于CNN 的系統,將消息文本表示為正常的句子,并突出顯示包含位置信息的單詞并將之提取. 文獻[148]使用CNN 將文本和用戶資料信息元數據集成到單個模型中,實驗顯示其優于堆疊樸素貝葉斯分類器的性能. 字符級卷積神經網絡目前已經成功應用于只包含英語或有限數量的歐洲語言的文本語料中,但不能直接應用于可能出現多種語言的OSN 平臺文字分析中.
統一字符編碼標準的卷積神經網絡(Unicode-CNN)用于分析多語言社交媒體的文本. 該模型直接從輸入文本中的Unicode 字符生成特性,不需要標記、詞干提取或其他預處理. 文獻[140] 探索了Unicode-CNN 在Twitter 帖子內容的地理定位任務中的有效性,提出的UnicodeCNN 可以將任何Unicode 字符串作為輸入,理論上能用于所有語言.
3) 注意力機制
基于CNN 方法的主要思想是通過使用許多不同長度的過濾器來捕獲一些特定的的文本. 但由于卷積核濾波器的長度限制,CNN 只善于處理局部信息建模. 為了捕獲更全面的信息,一些研究者們開始采用注意力機制[149]來實現OSN 的用戶位置預測. 注意力機制同時擁有RNN 和CNN 的優點,可以對所有文本進行并行計算.
文獻[103] 在文獻[150] 的基礎上,將注意力機制改為變分注意力,同時使用軌跡CNN 來學習歷史移動性,與經常使用的RNN 相比,效率得到了更多的提升. 文獻[53]從文本嵌入向量中提取位置特征之后,使用單詞級的注意層來生成這些文本字段的表示向量. 文獻[151]提出了一個用于文本表示的多頭自注意力模型,為了進一步提高對非正式語言的識別效果,其將子詞(subword)作為模型的一個特征.然后,該模型將城市和鄉村數據聯合用于訓練,以整合來自不同標簽的信息. 文獻[152]提出了一種基于注意力機制的聯合深度學習算法,該算法可在用戶及與其有交互的節點組成的異構網絡中捕捉語義元路徑,以進行細粒度的位置信息預測,特別地,文中還采用了Pairwise Learning 的方法對預測過程進行了優化. 文獻[153]設計了一種時空自注意力網絡,基于自注意力機制,結合用戶軌跡的時空信息實現對用戶的動態軌跡進行預測. 該模塊由3 個部分構成:地點注意力模塊,通過自注意力機制捕捉位置序列遷移;空間注意力模塊,捕捉用戶對地理位置的偏好;時間注意力模塊,捕獲用戶活動時間偏好. 最終通過真實世界的社交網絡打卡數據集,驗證了時空信息確實能夠顯著提升模型的性能. 文獻[154]提出了一種基于注意力機制的雙向門控循環單元模型,該模型可以用于預測POI 種類而非預測精確的POI,文中提出模糊的POI 種類比精確的POI 更能反映用戶的興趣,實驗證明該模型能夠減輕數據系數問題并保護用戶的位置隱私. 另外,由于引入了注意力機制有選擇地關注歷史打卡記錄,也使得模型的可解釋性得到了改進.
4.3.4 圖神經網絡
真實生活中,非結構化的數據結構普遍存在,例如,社交網絡拓撲結構、化學分子結構和知識圖譜等. 語言文本的內部實際上是復雜的樹狀結構,它也是一種圖結構,而RNN 和CNN 很難有效處理此類型的數據. 最近2 年,隨著圖神經網絡(graph neural network,GNN)日益發展,用GNN 來處理位置預測的方法也逐漸顯露頭角[155-156]. 基于GNN 的熱度與重要性,本節將基于GNN 的方法單獨進行介紹.
文獻[157]提出了一種新的基于GNN 并使用多方注意力機制的圖神經網絡(multiple-aspect attention graph neural network, MAGNN). MAGNN 是一個多視圖的用戶地理位置(user geolocation,UG)模型,為可解釋的地理定位捕獲語言和交互信息. 該模型將文本內容和社交網絡統一起來,其注意機制能夠從多個來源的數據中獲取多方面的信息,這使得MAGNN易于歸納,適應少數標簽的場景. 為了解決過去方法進行地理位置檢測時的網絡表示學習中的位置不可知以及使用平面圖嵌入時的噪聲和不穩定的用戶關系融合問題,文獻[158]提出了一種層次化圖神經網絡方法HGNN. 該方法將結構和區域特征使用層次圖學習進行編碼,結合了用戶的地理位置信息和區域聚集效應,并且在保持其相對位置的同時捕捉了拓撲關系;不僅利用了以前方法中無用的孤立節點的信息,而且還捕獲了未標記節點和標記子圖之間的關系;還提出了一種魯棒的統計方法,使其模型的行為和輸出具有可解釋性,克服了以往的模型將用戶地理定位看成一個“黑盒子”而無法解釋的缺陷.
文獻[159] 提出了一種基于圖卷積神經網絡(graph convolutional network,GCN)[155]的模型,并同時使用了文本特征和網絡特征用于預測,提升了預測精度. 文獻[6]采用了圖卷積神經網絡來學習用戶在一段時間內關于用戶已知和未知地理位置的模型,從而預測其位置. 文獻[39]利用GCN 中的卷積和池化操作來學習社交網絡的結構表示,從而實現了最佳的地理定位性能. 興趣相似的異地用戶也可以互相提及或關注,大多數現有的方法都沒有完全過濾與用戶地理屬性無關的用戶關系,而這些關系可能會影響位置推斷的準確性. 因此,文獻[160]提出了一種基于表示學習和標簽傳播的Twitter 用戶位置預測方法. 該方法充分結合了異構關系,有效過濾了與用戶地理屬性無關的關系,并學習了準確表示用戶地理屬性特征的向量. 文獻[1]提出了一種對Twitter用戶地理位置進行預測的框架EDGE,該框架對推文中提及的命名實體,提出了一種基于GCN 的實體擴散機制(entity diffusion mechanism),對從用戶自我中心網絡上提取的稱之為entity2vec 的實體嵌入進行了平滑處理,從而輸出準確性高且可解釋的預測結果.文獻[161] 提出了一種在聯合模型中兼顧個體偏好和群體決策的新方法預測模型. 該模型利用GCN 和注意力機制構建了一個混合深度架構,提取群體偏好和個人偏好之間的聯系,然后分別捕捉每個用戶對群體決策的影響.
文獻[162]提出了一種基于層次結構化的Transformer 網絡,用來進行細粒度的空間事件預測,有研究者認為Transformer 是一種圖神經網絡模型[163],可克服傳統方法帶來的性能低問題.
總的來說,采用深度學習的方法,特別是神經嵌入的方法,由于非線性轉換和注意機制,該方法提供了相對更好的性能. 雖然研究者可以定量地衡量各種模型的預測能力,甚至可以根據預測性能對模型進行定性的排序,但這些模型之間的數值差異不是很大. 另外,并不是所有的深度學習模型都能實現比傳統方法更有效的預測結果.
為了與前述章節在邏輯上保持一致,本節分別從論文對應的預測粒度、輸入數據類型、任務類型、數據集、數學模型和評價指標6 個方面對每篇文獻進行闡述. 對于預測粒度,本文使用POI、坐標或城市等來表示文獻所針對的粒度.
與文獻[12]中的分類方法不同,本文將OSN 用戶位置預測劃分為地名詞典方法、傳統機器學習的方法以及現在基于深度神經網絡的方法,并且本文加入了最近幾年新興的模型和訓練思路,例如,圖卷積神經網絡、多頭注意力機制以及自然語言中最新的嵌入處理等.
在使用的模型中,最早使用的是基于地名詞典的方法,使用地名詞典的方法對語法的完全忽視可能會限制地理解析的性能. 隨后興起的是傳統機器學習方法,其利用一系列概率方法和聚類技術在位置預測中取得了良好的結果.
在使用概率的方法中,第1 種是最大似然估計,通過利用訓練數據計算后驗概率來選擇一組選項中的一個位置,該算法依賴于文本處理技術來識別推文中提到的位置名稱. 第2 種是基于EM 的位置預測技術,該方法額外利用事件、用戶和地標之間的密切關系來抵抗信息擴散和人口異質性的影響. 第3 種是基于濾波器的預測方法,該方法使用推文中的經緯度信息并將位置預測為一個點. 這種方法不需要訓練、人工監督、文本分析或有關該區域的先驗信息.第4 種是基于馬爾可夫模型進行位置預測.FPMC 作為馬爾可夫鏈的延伸,假設因素間存在很強的獨立性,且FPMC 不能用于建模多個組件之間的關系,所以難以捕捉到因素之間的聯系.
在聚類技術中,信息特征的聚類是將區域建模為網格,預測結果表示為網格中的一個單元格. 該技術使用帖子與在一段時間內收集的坐標來生成空間特征,因此可以認為它對在線執行有一定的支持能力;另外,該技術還需要適度的監督來確定算法中的閾值,它不需要關于位置的廣泛知識庫,但應該事先知道感興趣的區域并將其建模為網格. 另一種空間聚類技術DBSCAN 需要適度的監督來設置閾值. 每次從在線的推文流中收到新推文時,運行DBSCAN可能不切實際,但DBSCAN 可能會定期執行以實現最近實時的位置預測. 核密度估計通常是對帖子進行回顧性地分析,以獲得推文在感興趣區域分布的平滑可視化,根據興趣區域和目標事件類型定義帶寬 θ和核函數H.
近年來,基于地名詞典的方法仍然被使用,如文獻[3]使用基于地名詞典的方法來推斷2019 年出現冠狀病毒(COVID-19)的地理位置,從而可以統計各個地方疫情的嚴重程度,同時減少人們去疫情暴發地區的風險. 隨著深度學習的流行,命名實體識別從最初的基于字典到方法到現在基于深度學習的方法得到了全新的發展,例如文獻[164] 使用BiLSTMCNN 的架構對實體進行提取,使命名實體識別的效果得到了很大的提升,BiLSTM-CNN 提取了地名實體之后首先要解決的是地理實體消歧,因為有的名詞指代的可能是人名,也有可能是地名. 文獻[165]利用SVM 來聯合優化提及地理位置的識別和歧義消除,識別特征(例如大小寫)和消歧特征(例如實體流行度)都被集成來訓練SVM.另外,用戶之間的友誼、上下文信息以及時間戳也可以用來消除歧義,文獻[166]采用了一種增量消歧的方法,該方法以文獻[167]為基礎系統地對大量推文進行預處理,這種預處理能夠預測基于OSN 的用戶感興趣的實體. 文獻[72]在研究中利用時間戳來消除歧義,并觀察到工作日的凌晨2 點至凌晨5 點之間的Twitter 帖子流量最低,當有多個候選位置(如悉尼、東京)時,會仔細選擇一個地點以避免將時間戳放在低流量窗口中的時區. 同時對獲取到的數據采用詞嵌入的方式進行降維處理,能更好地提取到詞與詞之間不同的特征.
在深度學習的方法中,早期方法使用基于RNN的模型來預測地理位置[168-169],但RNN 由于短時記憶的特點而難以處理長序列信息,且存在消失梯度問題,因此研究人員開發了RNN 變體,如GRU,BRNN,LSTM,并取得了一定的效果. 在實際情況下,OSN 帖子中文本有短句的特點,而這3 個RNN 模型適用于順序或長文本數據,因此有的學者利用CNN 來學習輸入數據的表示,因為好的表示學習對后續的位置預測更有利. 但由于卷積核濾波器的長度限制,CNN在全局信息建模方面效果不佳. 為了捕獲更全面的信息,一些研究者們開始采用注意力機制[149]來實現用戶的位置預測. 同時,社交媒體數據中的非結構化特點以及GNN 對非結構化數據處理的優勢促使研究者基于GNN 解決OSN 中的位置預測問題. GNN也有很多經過改進的模型,例如,簡化的圖神經網絡(simplifying graph convolutional networks,SGC)、GCN和MAGNN 等被應用于位置預測研究中.
從模型算法的應用角度,本文所綜述的文章可以分為5 個主要的應用領域:
1) 基于位置的推薦及個性化廣告推送
通過預測用戶發出的帖子的位置,估計其喜好,從而對其進行個性化廣告推送以及地點的推送,例如推薦的餐館等. 文獻[32]基于LBSNs 上的用戶發布的內容對其進行POIs 推薦. 文獻[37] 提出對Tweeter 時間線上的非地理標記推文進行位置推理,其結果可以為諸如位置感知推薦系統和本地具有影響力的用戶搜索提供支持. 文獻[170]中指出通過準確預測用戶的精確場所,可提升基于位置廣告推薦的準確程度. 文獻[171]指出,在LBSNs 中對用戶的下一步位置進行預測可以提升定向營銷的效果,例如用戶下一步可能去電影院,那么向其推薦電影票將大概率會取得效果. 此類應用也是位置預測的主要應用場景.
2) 事件動力學分析
通過對特定關鍵詞或標記過的帖子信息進行研究,推斷與之相關的位置來研究特定事件的傳播過程,可為有效控制事件傳播提供支持. 基于社交媒體內容的位置預測,是人類動力學分析研究的重要部分[133]. 文獻[1] 提出EDGE 模型,并根據特定沒有地理位置標簽的推文(Twitter 用戶發布的帖子)的混合概率分布預測其位置;通過預測一組不含地理位置標簽的特定推文的可能位置,從而以實時的方式研究事件發展的動態性.
3) 災難應急響應的資源調度
通過對社交網絡上的實時事件信息,如對地震、傳染病流行[132]進行監測[88,134],對推文相關的地理位置進行預測,管理機構可以在第一時間得知發生自然災害或災難事件的地理位置,從而在第一時間有目的性地對救災資源進行調配[172-173]. 在這種情況下,往往不需要細粒度的預測方法. 文獻[174]提出通過一個用戶的多條推文的文本內容對用戶進行城市級的位置預測,其預測結果可為災難應急響應的物資調度提供幫助.
4) 人類移動模式研究
文獻[150]提出的DeepMove 模型可以對長而稀疏的移動軌跡進行預測并提供了直觀解釋,有助于可解釋地理解人類的移動模式預測,并提出其預測結果是智能交通、城市規劃和資源管理等下游應用的重要基礎. 文獻[128]對社交網絡的用戶時空特性進行建模,達到理解個人或特定用戶群組行為特征的目的,最終可以應用于基于POI 的推薦系統中. 文獻[175]提出,通過對一系列位置感知服務產生的數據(GPS 軌跡、WiFi 記錄、移動電話日志等數據)進行挖掘,從而對用戶行為預測,為研究人類移動行為帶來了“前所未有”的可能. 文獻[96]指出移動位置預測隨著LBSNs 的普及,成為了研究人類移動模式的重要手段;而這些人類行為模式,亦可應用于好友推薦、基于位置的廣告、城市規劃、公共交通系統規劃管理和通用導航服務等領域.
5) 本地化搜索及事件檢測
文獻[27]提出了在基于圖片的社交媒體中對用戶的地理位置進行預測,并指出此類任務對社交系統上“感知位置的圖片搜索”(location-aware image search)至關重要. 文獻[176]中提到地理位置預測是支持本地化搜索及本地化事件檢測的重要應用,并提出了基于地點標識詞檢測的方法.
在本節中,對基于OSN 數據的用戶位置預測的現有方法進行了歸納整理,如表1 所示.

表1(續)
本文回顧了目前提出的用于OSN 用戶位置預測技術的最新進展. 這些技術可以應用于許多領域,包括市場營銷、消費者用戶分析和廣告定位等. 雖然現有的方法取得了一定的成果,但并未解決所有的問題. 未來可以在數據融合挖掘、復合模型、因果推斷的結合3 個方向進行改進.
目前大多數的預測方法主要側重于挖掘單一平臺的單一類型數據,如只在Twitter 上進行數據挖掘,或只針對文本數據或簽到數據進行數據分析等. 而在真實世界中,LBSN 中的數據面臨嚴重的數據稀疏問題,導致位置預測效果不佳. 此外,基于位置的在線社交網絡的用戶生成數據是一種隱式反饋,這意味著在實踐中可能只有正樣本可用. 比如:用戶在某些位置沒有記錄并不一定意味著他/她不喜歡這些位置,有可能是用戶不知道該位置,這對從隱式數據中進行學習提出了挑戰. 在最近的研究中,已有研究者對不同社交平臺的同一用戶數據或使用同一社交平臺中進行同一用戶的不同類型數據進行挖掘. 實驗結果表明這種數據融合能緩解數據稀疏問題,而進一步挖掘隱式數據能提升預測性能.
1)跨平臺數據融合
大多數研究只使用單一數據源(如Twitter,Foursquare,Gowalla,Yelp 等)來挖掘用戶行為模式. 不過隨著多功能異構社交網站的普及,用戶跨越多個社交網絡[54]擁有賬號的現象越來越普遍. 一般相同的用戶在不同的社交平臺上會展現出一致的行為模式,因此如果能夠整合同一用戶不同平臺的多源數據,便可以很好地緩解數據稀疏性問題,并提升預測的準確度. 目前,越來越多的研究開始對跨平臺的多源數據進行挖掘. 在文獻[186]中,Foursquare 的簽到數據和Twitter 的每日狀態被集合在一起,以增強用戶生成內容的可用性.
2) 同平臺多類型數據融合
由于地理標記過的OSN 數據只占所有數據的一小部分,除了利用跨平臺的不同數據源以外,在同一社交網絡內不同類型的數據(例如用戶屬性信息、所在時區、個人檔案甚至圖片等)也可以進行聯合分析,補償由于地理標記OSN 數據稀疏性而導致的數據缺失,利用DNN 來融合分析用戶發布的內容,更精確地進行位置預測. 例如文獻[168]利用Node2Vec[83]來學習用戶表示,并結合 Doc2Vec 學習到的文本表示來預測用戶的位置. 文獻[187]利用GCN 中的卷積和池化操作來學習社交網絡結構的表示,實現了當時最佳的地理定位性能.
在大數據時代,通過分析多源數據,可以很好地分析跨多個社交網站的用戶屬性,有效地揭示社交網絡數據的潛在價值,研究者通過設計更具可解釋性的模型,進一步提高用戶位置預測的性能.
目前的大多數方法假設數據是獨立的特征,并將這些數據以線性方式組合,但沒有將數據聯合起來學習更有效的表示. 在實際的應用中,為了提高對用戶位置預測的精確度與模型的實用性,很多預測方法都聯合使用了多種模型. 已經有研究者進行多種方法相結合的嘗試. 例如,一些學者結合用戶歷史軌跡與最近移動狀態來研究用戶位置預測問題,文獻[150]使用RNN 和注意力機制來共同對軌跡隱含的特征進行提取. 文獻[30] 在原始生成模型(包含GRU、CNN 和注意力機制等模塊)的基礎上對數據進行增強,利用自監督的方式訓練模型來預測用戶的下一個可能被訪問的POI.
在現有的研究中,已經證明數據集之間存在著關聯關系,通過對這種關聯關系進行挖掘及利用,可以進一步提升位置預測的準確性. 而因果關系作為一種比關聯更強的關系,普遍存在于社交網絡的數據中. 例如,用戶在社交網絡上發布帖子,表示自己“餓了”,那么其下一步很有可能前往餐廳就餐;用戶歷史訪問地點的位置序列(軌跡)的先后順序也包含了一定的因果關系,未來訪問的地點就可以利用這種因果關系進行推斷. 如果能挖掘并利用這種因果關系,勢必能彌補現有方法的不足,顯著提升位置預測的準確度.
作者貢獻聲明:劉樂源設計論文框架,撰寫及修訂論文;代雨柔調研、整理文獻,撰寫論文;曹亞男對論文的組織結構和部分內容提供了重要的指導意見;周帆對本文選題、組織結構和文章寫作提供了關鍵性的指導意見.