彭 薇,江 昊,劉卉芳,彭詩雅,廖 娟
(1.武漢大學 電子信息學院,湖北 武漢 430072;2.中國聯合網絡通信有限公司廣東省分公司,廣東 廣州 510627)
隨著城市中大量人口流動數據的產生,人口流動的時空數據引起了越來越多的關注,其中一個重要關注點是用戶位置預測及推薦,即根據用戶過去的移動軌跡信息,預測其即將訪問的地點。用戶位置預測對于人流量預測、位置服務推薦和人群檢測等都有重要意義。
近年來,國內外學者對用戶軌跡相關問題進行了大量研究,大多數位置預測問題需要用潛在的嵌入向量來表示位置。最直接的方法是為位置的隨機初始化向量加上全連接層,通過特定任務對其進行訓練[1],然而該方法存在過擬合問題,且無法融合位置的其他相關信息。也有基于收集到的軌跡數據以及興趣點(Point of Interest,POI)類別信息構建時空廣義知識庫,學習實體表征向量,將軌跡預測問題轉化為知識圖譜補全問題[2]。由于軌跡數據存在先后順序,許多位置嵌入模型來源于自然語言處理中的詞嵌入模型。模型POI2Vec將用戶社交媒體登陸數據的POI序列視為句子[3],TALE基于CBOW[4]模型,融合用戶訪問地點的時間信息以提高預測的準確率[5]。HIER模型利用地理位置數據中的層次結構,學習細粒度位置嵌入向量,減小了數據稀疏造成的影響[6]。CTLE模型基于位置的上下文鄰居動態計算位置的潛在嵌入向量[7]。另外,CAPE模型使用Instagram數據作為輸入,利用位置和文本信息得到POI嵌入向量[8],Geo-Teaser[9]和Place2Vec[10]結合用戶的登錄信息和附近區域信息生成嵌入向量。DRAN利用圖卷積網絡(Graph Convolutional Network,GCN)進行特征提取,采用多頭注意力對POI的各個維度進行處理,得到位置的精確表示[11]。然而,大多數位置嵌入方法沒有充分考慮用戶行為,僅僅局限于位置本身的屬性或類別信息,而沒有進一步挖掘用戶當前行為與其所處位置、前后移動軌跡有關的信息。
位置信息嵌入可以用于解決各種任務,例如下一位置預測[12]、興趣位置推薦[8]和位置分類[13]等。在用戶未來移動軌跡的預測問題中,馬爾可夫模型被廣泛使用,例如利用多個相互關聯的馬爾可夫鏈對用戶在不同時間段的不同移動行為進行建模[14],采用由用戶個人頻繁模式自適應確定動態順序的變階馬爾可夫模型,預測用戶的移動性[15]。除了馬爾可夫模型,還有基于貝葉斯概率模型的用戶移動性建模方法。Feng等[16]利用遞歸神經網絡結合注意機制對用戶移動性進行建模,DeepMove結合循環神經網絡中的注意機制,模擬未來軌跡與歷史軌跡的長期相關性[17],ST-RNN用特定時間和特定距離的過渡矩陣對每一層的局部時空上下文進行建模,構成時空遞歸神經網絡模型用于位置預測[12]。ERPP將對某個地點的訪問視為一個事件,將到達時間視為它的時間戳從而進行預測[18],門控循環單元(Gate Recurrent Unit,GRU)可以用來模擬用戶的順序移動模式,將輸出隱藏向量輸入到一個完全連接層中以預測用戶下次訪問的位置[19]。ST-LSTM通過將時間和距離值嵌入到潛在向量中,擴展了長短期記憶網絡(Long Short-Term Memory,LSTM)的輸入[1]。另外,ARNN從知識圖譜中提取語義和空間信息,結合LSTM網絡和注意力機制進行位置預測,對下一地點進行個性化推薦[20]。HMT-GRN 模型提出了緩解數據稀疏性的方法,并進行了多任務學習[21]。GETNext用GCN計算POI嵌入后,通過Transformer進行預測[22]。然而,若軌跡序列較長,在處理序列信息時更容易聚焦于短期的依賴關系,長距離依賴則難以捕獲。
用戶的移動一般存在具體目的,因此用戶行為信息、地點語義信息等均有利于理解用戶的移動軌跡,從而更好地進行預測。然而大量研究在預測位置時對于用戶行為的考慮有所欠缺,且對于長期依賴關系的學習程度有限。本文提出基于用戶行為和上下文語義的時空長短期記憶網絡分層(Hierarchical Spatiotemporal Long Short-Term Memory Based on User Behavior and Contextual Semantics,CHST-LSTM)模型,將用戶行為考慮在內,將軌跡中的位置信息與用戶行為信息、時間信息相結合,通過預訓練融合上下文語義信息,得到位置的表征向量,并將其用于ST-LSTM分層模型,根據用戶的行為狀態動態分割軌跡段,加上BiLSTM模塊,以編碼解碼的形式,對軌跡上下文信息進行建模,分別對長短期特征進行處理,從而更好地學習長距離依賴關系,提升軌跡預測的準確率。
由于用戶的行為、所處時段與其活動范圍、移動軌跡息息相關,其行為某種程度上反映了所處位置的功能,可以從用戶的行為中提取出所處位置的特征,因此將行為信息融入時空軌跡數據有利于得到更高質量的位置嵌入。為了融合到訪時間、行為模式等行為信息,提出了相關信息編碼模塊,用位置編碼融合時間編碼和行為模式編碼,將用戶行為相關信息融入位置嵌入模型中。
對于位置編碼Pli,對位置li的獨熱向量采用簡單的全連接層得到:
Pli=Ω(li)。
(1)
考慮到用戶在特定時間訪問特定位置時,其訪問時間信息與位置特征有著強相關性,因此加入時間編碼模塊。時間信息與序列順序信息類似,參考Transformer中對序列位置的編碼方式,將時間編碼設為:
Tli=[cos(ω1tli),sin(ω1tli),cos(ω2tli),sin(ω2tli),…,
cos(ωdtli),sin(ωdtli)],
(2)
式中:Tli表示用戶到達位置li時的時間編碼,維度為二維;ωk=1/10 0002k/d,tli表示用戶到達位置li的時間。
對用戶的行為模式進行編碼,Ali表示用戶行為模式的信息編碼,維度與位置編碼、時間編碼相同,ali表示用戶行為模式,對ali的獨熱向量采用全連接層:
Ali=Ω(ali)。
(3)
具體來說,根據用戶到達位置li的前后各半小時(共1 h)的通話次數、訪問工作軟件時長和移動距離數據,找到與之距離最近的模式類型即為ali。
融合位置編碼模塊、時間編碼模塊與行為模式編碼模塊,得到記錄(u,l,t,a)中位置l經過信息編碼之后的向量z′(l),其中u表示該用戶,l表示途經位置,t表示到達對應位置的時間,a表示用戶行為模式:
z′(l)=Pl+Tl+Al。
(4)
將用戶行為融入位置嵌入向量,可以為位置的特征表達提供更多的有效信息,讓所有用戶共享和學習類似的規律。
一般來說,用戶訪問特定位置均有其明確目的,其途經位置也取決于所處城區本身的固有路線,具有較強的規律性,因此可以使用自然語言處理的相關算法。用戶的軌跡類似于句子,途經的位置相當于單詞,不同位置之間的不同組合方式表達了特定的含義,每個位置的特征很大程度上取決于前后位置即上下文環境,可以采用上下文感知嵌入模型計算位置的潛在表征向量。受到BERT[23]的啟發,本文采用雙向Transformer編碼器[24],基于位置l的上下文內容C(l),通過掩碼語言模型(Masked Language Model,MLM)預訓練得到位置l的嵌入向量,如圖1所示。

圖1 位置嵌入預訓練模型Fig.1 Pre-trained model for location embedding
在時空軌跡數據中,某用戶的軌跡s可表示為s={(u,l1,t1,a1),(u,l2,t2,a2),…,(u,ln,tn,an)},即時空點序列。每個時空點都是用戶到達某一位置時所涉及到的相關信息的元組,通過Transformer編碼器可以得到位置li的嵌入向量z′(li):
(5)


(6)
式中:Θ表示模型中涉及的參數,通過最大化位置lm與其所在軌跡前后位置的關聯關系計算得到,繼而可以得到各個位置的嵌入向量。

(7)

(8)
最終整個預訓練模型的目標為:
Θ=ΘML+ΘMT+ΘMA。
(9)
由于用戶行為模式與所處位置相關性較強,因此將位置信息、到訪時間信息和行為模式信息均作為預訓練的目標,有利于得到更高質量的位置表征向量。有著相似上下文環境的位置由于涉及信息相似,其嵌入向量也會更加接近,高質量的嵌入向量有利于提升對用戶下一位置預測的準確率。
在預測人類行為時,僅僅考慮軌跡序列顯然是不夠的,考慮到用戶的行為信息對于位置預測的意義,采用上文中融合了用戶行為的位置嵌入作為特征向量,在此基礎上提出CHST-LSTM模型。
為了處理時空關系,采用ST-LSTM作為基本單元,該算法在原本的LSTM模塊中引入時空因素進行學習。為了更好地計算長距離依賴,以編解碼器的形式基于ST-LSTM進行分層擴展,將用戶在其所在地的行為考慮在內,根據行為語義動態劃分訪問階段,對訪問記錄按照停留時間進行靈活切割,以學習用戶移動行為的內在含義。ST-LSTM作為編碼器對序列的短期特征進行建模,BiLSTM對序列的長期特征進行雙向融合,如圖2所示。

圖2 CHST-LSTM預測模型Fig.2 CHST-LSTM prediction model
用戶移動軌跡具有一定的周期性及規律性,當軌跡序列粒度較細時,用戶的訪問序列很長。如果按固定時長劃分階段,范圍較大則序列過長,范圍較小則難以對用戶行為階段進行完整分析。考慮到用戶在每個地點的停留時間可以在某種程度上反映該地點對于該用戶的意義,本文基于停留時長對用戶軌跡序列進行劃分,將用戶的訪問長序列分為若干訪問階段。考慮到用戶特性,選擇將停留時長大于1 h的地點作為序列切割點。訪問階段劃分如圖3所示,將用戶u的軌跡劃分為一系列的訪問階段{S1,S2,…,Sn},其中Si={l1,l2,…,lm},表示階段Si內的途經位置軌跡,用戶在訪問階段Si內的最后一個停留位置lm的停留時長大于1 h。

圖3 訪問階段劃分Fig.3 Sessions of access stage

接著通過解碼器幫助預測用戶接下來的訪問位置,利用ST-LSTM模塊進行解碼。假定解碼器輸出的隱藏層包含了過去途經位置和用戶行為的相關信息,能夠表達用戶未來的移動意圖,通過softmax函數計算用戶接下來到達不同位置的概率,得到最有可能被訪問的下一位置。
伴隨移動互聯網的發展以及城市化帶來的人群聚集現象,下單外賣逐漸成為一種流行的新點餐方式,外賣配送服務大大便利了人們的生活。在送餐過程中,外賣員可以自行選擇送餐順序和路線,根據外賣員的行為特征對其進行下一位置預測,有利于互聯網平臺優化派單情況、規劃推薦路徑。本文將提出的算法應用于外賣員群體。
軌跡數據是通過對用戶移動過程進行采樣而獲取的數據信息,用于反映用戶在采樣時間點的位置。現有的用戶位置預測研究大都基于社交媒體簽到數據,而該數據的個體時空軌跡往往比較稀疏。本文使用的數據集為我國南方某運營商的用戶上網和通話數據,時長一共兩周,時間為2021-06-01—2021-06-14。上網日志中包含用戶ID、訪問時間、訪問時長、統一資源定位符(Uniform Resource Locator,URL)和接入基站等信息,關鍵字段如表1所示,經緯度為接入基站的位置。通話數據中包含用戶ID、聯系人ID、通話時間和通話時長等信息,如表2所示。用戶通話或上網時,數據流向城市中密布的基站,基站的位置即可作為用戶所在地的近似位置。不同于POI簽到數據,蜂窩移動通信數據中的軌跡序列粒度較小。

表1 用戶上網詳單數據關鍵字段Tab.1 Key fields of dataset about Internet log

表2 用戶通話數據關鍵字段Tab.2 Key fields of dataset about user’s calling
由于外賣員接單需要訪問特定的應用軟件,根據用戶上網日志中的URL信息,利用關鍵字篩選出訪問了外賣配送App的用戶,考慮到外賣員工作需要撥打電話、訪問外賣配送相關App和移動送貨,根據通話次數、訪問外賣配送相關App時長和移動距離等信息對其進一步篩選,共計3 163人,篩選后的外賣員軌跡數據集如表3所示。被篩選出的外賣員群體兩周內共有5 497個位置點和4 953 858條記錄,位置信息包含在上網記錄中,相當于4 953 858個不規則(非定時采樣)的軌跡采樣點,平均每個用戶的軌跡點數為1 566,用戶軌跡序列較長。

表3 外賣員群體軌跡數據集Tab.3 Trajectory dataset of deliverymen
為了直觀展示用戶軌跡數據,繪制了用戶A某天內途經的基站(上網過程中接入的基站),如圖4所示,根據用戶接入的不同基站可以大致還原用戶A在這一天內的位置路線。

圖4 用戶A軌跡Fig.4 Trajectory of user A
外賣員群體在送餐過程中,需要先通過手機訪問外賣類App進行接單以及查看商家位置、訂單內容和客戶位置等信息,到達商家后進行取餐,取餐后需要前往客戶所在地進行配送,到達后需要通過撥打電話聯系客戶進行告知。因此外賣員的工作狀態與其通話行為、移動行為和訪問App行為等密切相關,下面對外賣員的行為進行分析。
外賣員的通話次數可以反映工作狀態,對外賣員群體1 d內每小時的通話次數進行聚類,類中心如圖5所示,圖例表示不同類型。可以看出,外賣員群體于中餐時段、下午茶時段、晚餐時段和宵夜時段均有較多通話記錄,不同外賣員的工作模式稍有不同,有些外賣員傾向于中午工作,有些則傾向于晚上工作。

圖5 通話次數類中心Fig.5 Cluster centers of the number of calls
假設用戶上網時手機接入的基站位置近似為用戶所在位置,在已知用戶接入基站經緯度信息的前提下,用戶移動軌跡的距離信息可由其接入基站的位置變化進行計算。同樣,對外賣員群體1 d內每小時的移動距離進行聚類,類中心如圖6所示,可以看出,外賣員群體遠距離移動行為同樣集中于中午、下午和晚間的用餐時段,正是其送單行為的體現。

圖6 移動距離類中心Fig.6 Cluster centers of moving distance
觀察數據發現,大多數外賣員的工作有著較強的時間規律性,另外,由于外賣員移動路線取決于各個位置本身的功能,固定的商家和客戶位置分布情況以及固有的城市路徑決定了整個外賣員群體的工作路線會較為穩定。一般來說,該群體工作區域較為固定,這些因素均為外賣員軌跡預測問題提供了良好的基礎條件。
不同的位置在外賣員送餐過程中有著不同的角色,外賣員自身的工作狀態往往與所處位置息息相關,例如,處于商圈、辦公區和住宅區的外賣員工作行為一般也不同。因此,外賣員群體的移動行為和工作行為能夠反映出位置的功能,分析外賣員的歷史軌跡和行為模式有利于得到詳盡的位置功能信息,從而能夠更好地實現下一位置的預測。
基于前述用戶行為分析,認為外賣員工作行為主要可以由通話行為、工作時長和移動距離進行描述。對用戶統計每小時通話次數、訪問外賣類App的時長(s)、移動距離(km)數據以及兩周內所有用戶的三元數據進行聚類,當聚類數為8時,聚類輪廓系數超過0.6,可以得到8組小時制工作模式,中心點如表4所示。

表4 小時制工作模式(k=8)
由表4可以看出,外賣員在不同時間、不同地點的工作狀態可能處于不同模式下,例如夜間大部分外賣員處于模式1狀態,而用餐時間工作于不同區域的外賣員工作模式存在差異,在商家及客戶密集區,外賣員工作效率(單位時間送單量/通話次數)一般更高。為了使用更精細的用戶工作模式信息,本文設置k=50,將用戶的工作行為模式分為50類,這里不詳細列出具體數據。
在實驗過程中,選擇前8 d的軌跡進行訓練,最后3 d進行測試,中間3 d進行評估。位置嵌入向量維度為128,Transformer編碼器為4層,含8個注意力頭。
為了評估模型的預測效果,對比CHST-LSTM模型與其他常見的5種預測算法在本數據集上的表現,實驗模型如下:
① ST-RNN[12]:時空循環神經網絡模型,在遞歸傳播中通過特定的時間和距離轉換矩陣融合了空間和時間的相關性。
② ST-LSTM[1]:時空長短期記憶網絡模型,將時間和距離信息嵌入潛在向量。
③ GRU[19]:門控循環單元,構成網絡用于模擬用戶的歷史軌跡。
④ DeepMove[16]:多模塊注意力循環網絡,利用注意力機制模擬移動的多層次周期性。
⑤ HST-LSTM[1]:分層時空長短期記憶網絡, ST-LSTM作為編解碼器。
比較結果如表5所示,用top-N準確率(N取1,5,10)對位置預測的性能進行評估,本文提出的基于用戶行為的分層模型CHST-LSTM取得了最好的預測效果。

表5 預測模型效果比較Tab.5 Comparison among different prediction models
為了驗證ST-LSTM分層架構的作用,本文設計了幾組由ST-LSTM作為基本單元構成的預測模型變體,位置的嵌入向量均采用融合了用戶行為信息的上下文感知向量,通過對比實驗進行分析,模型如下:
① ST-LSTM:時空長短期記憶網絡模型;
② 分層ST-LSTM:分層時空長短期記憶網絡,ST-LSTM作為編解碼器,軌跡按固定時長劃分階段;
③ 分層ST-LSTM+LSTM:分層時空長短期記憶網絡,ST-LSTM作為編解碼器,用LSTM處理長周期變化,軌跡按固定時長劃分階段,HST-LSTM方法;
④ 分層ST-LSTM+BiLSTM:分層時空長短期記憶網絡,ST-LSTM作為編解碼器,用BiLSTM處理長周期變化,軌跡按固定時長劃分階段;
⑤ 動態分層ST-LSTM+BiLSTM:分層時空長短期記憶網絡,ST-LSTM作為編解碼器,用BiLSTM處理長周期變化,軌跡按用戶狀態劃分階段,本文方法。
相比于ST-LSTM,以編解碼器的形式進行序列信息處理能夠更好地捕獲長短期變化特征,如圖7所示;在此基礎之上通過LSTM、BiLSTM處理全局上下文信息,對于位置預測能起到更好的效果;根據用戶停留時長進行動態劃分后,又進一步提升了預測性能。另外,分層ST-LSTM+LSTM方法相當于在表5的HST-LSTM模型的基礎上使用位置的上下文感知向量,對比二者結果可以證明位置的上下文語義對于位置預測的意義。可見基于用戶狀態動態分層、考慮上下文信息等處理對于捕獲序列長距離依賴的意義,這些方法能夠提升下一位置預測的準確率。

圖7 CHST-LSTM成分分析Fig.7 Component analysis of CHST-LSTM
對于嵌入方法,本文選取了5種嵌入模型,對得到的位置嵌入向量利用本文的動態分層ST-LSTM預測,進行對比實驗,嵌入方法包括Skip-gram[4]、POI2Vec[3]、TALE[5]、HIER[6]和CTLE[7]。表6顯示了本文嵌入模型與5種對比嵌入方法的性能評估結果。

表6 嵌入模型效果比較Tab.6 Comparison among different embedding methods
表6結果顯示融合了用戶行為的位置嵌入向量質量更高,模型在下一位置預測中表現更佳。在這些方法中,Skip-gram沒有考慮到訪問時間、位置的地理信息,僅僅從上下文中提取信息,POI2Vec引入了空間信息,但位置屬性與實際地理位置未必強相關,TALE和HIER雖然考慮了訪問時間,但無法學習相對時間差,CTLE考慮了訪問時間差,也可以區分特定上下文環境中位置的不同功能,但是僅有此信息無法關聯上用戶行為。用戶處于不同位置的不同行為可以反映出所處地的特征,外賣員作為各個位置之間的穿梭者,其工作行為很大程度上反映了所處的位置,本文模型在考慮上下文信息的同時,將外賣員工作模式、訪問時間納入其中,能夠進一步提升位置的嵌入質量,從而對用戶下一位置預測帶來性能提升。
為了進一步研究用戶行為相關信息的有效性,設計了CHST-LSTM模型的變體進行比較,實驗模型如下:
①Trans:該模型使用Transformer的位置編碼,并且僅使用MLM目標進行預訓練;
②Trans+Time:該模型用時間編碼取代基本模型Trans中的位置編碼;
③Trans+Time+Mode:該模型在使用時間編碼的基礎上加上了用戶行為模式編碼;
④Trans+MT:該模型使用Transformer位置編碼,但在預訓練期間加入時間掩碼訓練目標,與MLM目標結合;
⑤Trans+MT+MA:該模型使用Transformer位置編碼,在預訓練期間同時加入時間掩碼和模式掩碼訓練目標;
⑥Trans+Time+Mode+MT+MA:本文方法。
在外賣員群體的數據集上,將這幾種變體模型與CHST-LSTM模型預測位置的準確率進行比較,如圖8所示。

圖8 嵌入方法分析Fig.8 Analysis of the embedding methods
與其他位置嵌入方法相比,利用Transformer編碼器進行訓練已經具有一定的性能優勢,這表明更好地學習上下文語義能夠得到更高質量的位置特征表達,應用于位置預測任務能夠達到更好的效果。加入時間編碼模塊、預測掩碼時間等方法都能將時間信息融合到模型中,能夠提高基本模型的預測性能。在此基礎之上,加入用戶行為模式編碼模塊、預訓練時加入掩碼行為模式的預測都能進一步提升預測效果。由此可見,用戶到達某位置的時間、在某位置的行為模式都能為位置的嵌入表征提供有效信息,因此將其加入模型中以提升預測性能。
針對位置預測問題,本文將用戶行為納入考慮,設計了CHST-LSTM模型。為了處理用戶行為信息,將用戶訪問時間、行為模式與訪問地點共同編碼,經上下文感知嵌入模型,通過掩碼預訓練得到位置的嵌入向量。為了更好地處理序列的長短期依賴問題,將位置嵌入向量用于基于用戶狀態劃分的動態ST-LSTM分層模型,通過編解碼器和BiLSTM提取長短期移動特征,共同構成CHST-LSTM預測模型。在對外賣員群體進行實驗時,融合了訪問時間、工作模式信息,得到了更高質量的位置嵌入表示,通過動態ST-LSTM分層模型使得外賣員下一位置預測更加準確,驗證了CHST-LSTM模型對于軌跡預測的性能提升。在后續的工作中將考慮處理更復雜的用戶行為信息,并將之應用于位置預測。