Categories
程式開發

深度學習在高德POI鮮活度提升中的演進


1.導​​讀

高德地圖擁有著數千萬的POI(Point of Interest)興趣點,如學校、酒店、加油站、超市等。其中伴隨著眾多POI創建的同時,會有大量的POI過期,如停業、拆遷、搬遷、更名。這部分POI對地圖鮮活度和用戶體驗有著嚴重的負面影響,需要及時有效地識別並處理。

深度學習在高德POI鮮活度提升中的演進 1

由於實地採集的方式成本高且時效性低,挖掘算法則顯得格外重要。其中基於趨勢大數據的時序模型,能夠覆蓋大部分挖掘產能,對POI質量提升有著重要意義。

過期POI識別本質上可以抽象為一個數據分佈非對稱的二分類問題。項目中以多源趨勢特徵為基礎,並在迭代中引入高維度稀疏的屬性、狀態特徵,構建符合業務需求的混合模型。

本文將對深度學習技術在高德地圖落地的過程中遇到的業務難點,和經過實踐檢驗的可行方案進行系統性的梳理總結。

2.特徵工程

過期挖掘的實質是感知伴隨POI過期而發生的變化,進行事後觀測式挖掘,一般都會伴隨著POI相關活躍度的下降。因此時序模型的關鍵是構建相關聯的特徵體系。同時在實踐中我們也構造了一些有效的非時序特徵進行輔助校正。

2.1時序特徵

時序特徵方面,建立了POI和多種信息的關聯關係,並分別整合為月級的統計值,作為時序模型的輸入;時間序列窗口方面,考慮到一些週期性的規律的影響,需要兩年以上的序列長度來訓練模型。

2.2輔助特徵

輔助特徵方面,首先是將人工核實歷史數據進行有效利用。方式是構造一個時間序列長度的One-Hot向量,將最後一次人工核實存在的月份標記為1,其他月份為0。人工核實存在表示該時間結點附近過期概率較低,若人工更新在趨勢下降之後,說明趨勢表徵過期的概率不高。

其次,調研發現不同行業類型的POI有著不同的過期概率,如餐飲和生活服務類過期概率較高,而地名或公交站點等類型則相對低很多。因此將行業類型編號構建為一個時間序列長度的等值向量,作為靜態輔助特徵。

第三種輔助特徵是在分析業務中的漏召回問題時總結構造的。發現有相當部分的新誕生POI,其入庫創建後至今的時長短於序列長度。意味著這部分序列前期存在較多數值為零的偽趨勢,會對尾部的真實下降趨勢造成乾擾從而誤判。對此提出了兩種優化思路:

  • 採用可變長度的RNN模型,只截取POI創建時間之後部分的序列作為輸入。
  • 序列長度不變,添加一維“門”序列特徵,序列在POI創建時間之前的部分數值為0,之後為1。如圖所示。

深度學習在高德POI鮮活度提升中的演進 2

對比採用第二種方案效果更優。考慮到我們只有POI的入庫創建時間信息,而不了解門店的具體誕生時間,直接按入庫時間截取序列,會造成門店誕生和POI創建時間段內的特徵信息損失;而添加“門”序列則可以在保持信息完備的同時約束高可信區間。最後構建的混合特徵示意圖如下所示。

深度學習在高德POI鮮活度提升中的演進 3

3.RNN階段

循環神經網絡(RNN, Recurrent Neural Network)憑藉強大的表徵能力在序列建模問題上有非常突出的表現,業務中採用了其變種模型LSTM。

3.1RNN1.0

以前述的時序特徵和輔助特徵為基礎,我們採用多層LSTM搭建了第一版RNN過期挖掘模型,結構如圖所示。主要邏輯為,將逐時間點對齊後的特徵輸入到深度LSTM中,在網絡最後時刻的輸出後,接入一層SoftMax計算過期概率。最後根據結果匹配不同的置信度區段,分別進行自動化處理或人工作業等任務。模型初步驗證了RNN在過期趨勢挖掘領域落地的可行性和優勢。

深度學習在高德POI鮮活度提升中的演進 4

3.2 RNN2.0

高德地圖基於導航、搜索或點擊等操作頻度對POI進行了熱度排名。頭部的熱門POI如果過期但未及時發現對用戶體驗的傷害更大。 2.0版本模型升級的主要目標便是進一步提升頭部熱門段位的過期POI發現能力。

分析發現熱門POI的數據分佈相比尾部有較大差異性。頭部POI的數據量豐富,且數值為0的月份很少;相反尾部POI則數據稀疏,且有數值月份量級可能也僅為個位數。對於這種頭部效應特別明顯的狀況,單獨開發了高熱度段特徵的頭部RNN模型,實現定制化挖掘。

另一方面,對於單維度特徵缺失的情況,也區分熱度採用了不同的填充方式。頭部POI特徵信息豐富,將缺失維度補零讓其保持“靜默”防止干擾;而尾部特徵稀疏,本身已有較多零值,需要插值處理使缺失特徵和整體保持相近趨勢。方法為將其他維度的數據規範化處理後,採用加權的方式得到插值。

深度學習在高德POI鮮活度提升中的演進 5

2.0版模型對頭部和尾部的召回能力都有提升,對頭部的自動化能力提升尤為明顯。

4.Wide&Deep階段

RNN模型能夠充分發掘時序特徵的信息,但特徵豐富度不足成為製約自動化能力進一步提升的瓶頸。因此整合業務中的其他數據,從多源信息融合角度升級模型便成為新階段的工作重點。主要的整合目標包括非時序的靜態信息和狀態信息,以及新開發的時序特徵信息。

模型升級主要藉鑑了Wide&Deep的思想,並做了很多結合業務實際情況的應用創新。首先我們要把已有的RNN模型封裝為Deep模塊後和Wide部分聯合,相當於重新構建了一個混合模型,涉及到模型結構維度的整合。其次,既有Deep的時序信息,又有Wide部分的實時狀態信息,涉及到數據時間維度的整合。最後是Wide部分包含大量的不可量化或比較的類型特徵需要編碼表徵處理,涉及到數據屬性維度的整合。

4.1 Wide & LSTM

  • 特徵編碼

我們將非時序特徵經過編碼後構建Wide模塊。主要包括屬性、狀態,以及細分行業類型三種特徵。

考慮到某些POI屬性存在缺失的情況,故編碼中第1位表示特徵是否存在的標誌位,後面則為One-Hot編碼後的對應的屬性類型;對於狀態特徵,同樣有一位表示是否特徵缺失的標誌位,而後面的One-Hot編碼則表示最新時刻的狀態類型;由於不同行業類型有著不同的背景過期率,我們將細分的行業類型做One-Hot編碼後作為第三種特徵。最後將各特徵編碼依次連接,得到一個高維度的稀疏向量。特徵編碼的過程如圖所示。

深度學習在高德POI鮮活度提升中的演進 6

  • 特徵耦合

特徵完備之後,將各類特徵耦合及模型訓練便成為關鍵。耦合點選在了SoftMax輸出的前一層。對於Deep部分的RNN結構,參與耦合的便是最後時間節點的隱層;而對於Wide部分的高維度稀疏向量,我們通過一層全連接網絡來降維,便得到Wide部分的隱層。最後將兩部分的隱層連接,輸出到SoftMax來計算過期概率。

模型採用同步輸入Wide和Deep部分特徵的方式聯合訓練,並調節兩部分的耦合隱層的維度來平衡兩部分的權重。過期挖掘場景的Wide & LSTM模型結構如圖所示。

深度學習在高德POI鮮活度提升中的演進 7

模型經過多次迭代優化後穩定投產,已成為過期挖掘業務中覆蓋行業廣、自動化解題能力突出的綜合性模型。

4.2 Wide & Dual-LSTM

在做模型升級迭代的同時,基礎特徵的建設工作也在同步進行。在擴充新的趨勢特徵的時候面臨這樣一個問題,新特徵維數較多且時間序列較短,這樣將長時序特徵和短時序特徵逐時間點匹配時會出現很大部分的數值缺失。

由於新特徵缺失部分較多且維度較大,缺失值填充的負面影響會過於嚴重而不適合採用。項目中採用了分而治之的方案,分別建立兩個RNN模塊,其中長RNN模塊輸入無新特徵的長序列,短RNN模塊輸入有新特徵的短序列,最後將雙RNN的Hidden層和Wide部分一起耦合,得到了Wide & Dual-RNN模型,結構如圖所示。

深度學習在高德POI鮮活度提升中的演進 8

雙RNN結構能夠很好地將新特徵融入到現有模型並提升判斷準確率,不足的地方是結構較複雜影響計算效率。故後期進行了新階段的研發,採用更靈活的時序模型TCN進行迭代。

4.3 Wide & Attention-TCN

TCN主要有如下三方面優點使其能勝任時間序列的建模:首先,架構中的捲積存在因果關係,即從未來到過去不會存在信息洩漏。其次,卷積架構可以將任意長度的序列映射到固定長度的序列。另外,它還利用殘差模塊和空洞卷積來構建長期依賴關係。

性能對比上,TCN可以將時間序列作為向量並行化處理,相比RNN的逐時間點順序計算的方式有更快的計算速度。此外,TCN可以輸入延展成一維的序列,從而避免了特徵需要逐時間點對齊。因此在驗證了Wide&Deep的思路有效後,我們嘗試將Deep部分的RNN結構升級為TCN。

首先,對於輸入部分的特徵進行了Flatten處理,即將每個維度的時間序列依次首尾相連,如圖所示,拼接成為一個長向量後作為輸入。這樣便實現了長特徵和短特徵的有效整合。

深度學習在高德POI鮮活度提升中的演進 9

其次對於輸出結構,引入序列維度的Attention機制進行優化。主要思想是不再只讀取序列最後節點的隱向量的濃縮信息,而是對所有序列節點的隱向量信息加權處理後,得到匯總的隱向量信息,使所有節點的學習結果得到充分利用。

最後將Attention-TCN後得到的匯總隱向量和Wide部分的隱層進行耦合,得到的Wide&Attention-TCN模型結構如圖所示。

深度學習在高德POI鮮活度提升中的演進 10

通過引入新的輕量TCN時序模型和Attention機制,新的模型性能有了進一步提高,但調優過程相對RNN更加複雜。多輪參數調整與結構優化後,最終落地版本與Wide & Dual-LSTM版相比,計算效率和業務擴招回能力均有可觀提升。

5.總結與展望

深度學習在高德POI鮮活度提升中的演進 11

深度學習在過期挖掘場景中的落地,經歷了不斷摸索嘗試、總結問題、優化方案、驗證效果的迭代演進的過程。期間以提升過期發現能力為核心目標,對特徵擴展、特徵構造和模型結構優化的角度都進行了探索,並總結瞭如上的業務場景落地經驗。其中,豐富可靠的特徵、合適的特徵表徵方式和符合場景的模型結構設計是提升業務問題解決能力的關鍵。

當前模型主要是基於信息和趨勢進行宏觀性的規律總結,並判斷具備這類特徵情況下的POI過期的概率。而現實生活中POI的具體地理環境、自身經營狀況、周邊競爭態勢等個性化因素的影響往往不可忽略。因此,未來規劃將綜合考慮整體規律性特徵和個體差異性,實現精細化挖掘。

6.參考文獻

  1. Sepp Hochreiter and Jurgen Schmidhuber, Long Short-Term Memory, Neural Computation 1997
  2. B. Hidasi, A. Karatzoglou, L. Baltrunas, and D. Tikk. Session-based recommendations with recurrent neural networks. CoRR, abs/1511.06939, 2015
  3. Heng-Tze Cheng, Levent Koc, Jeremiah Harmsen, Tal Shaked, Tushar Chandra, Hrishi Aradhye, GlenAnderson, Greg Corrado, Wei Chai, Mustafa Ispir, Rohan Anil, Zakaria Haque, Lichan Hong, Vihan Jain, Xiaobing Liu, and Hemal Shah. Wide&Deep learning for recommender systems. In Proc. 1st Workshop on Deep Learning for Recommender Systems, pages 7–10, 2016.
  4. Paul Covington, Jay Adams, and Emre Sargin. Deep neural networks for youtube recommendations. In Proceedings of the 10th ACM Conference on Recommender Systems. ACM, 191–198, 2016.
  5. Bai S , Kolter J Z , Koltun V . An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling[J]. 2018.
  6. Pappas N , Popescu-Belis A . Multilingual Hierarchical Attention Networks for Document Classification[J]. 2017.

本文轉載自公眾號高德技術(ID:amap_tech)。

原文鏈接

https://mp.weixin.qq.com/s?__biz=Mzg4MzIwMDM5Ng==&mid=2247484887&idx=1&sn=98252da743d8f13a2132afd965e71d99&chksm=cf4a5d34f83dd422f131374a0e9ac90f88e50d6b93ac770b7de50e8428b35d5e488afb98ecc6&scene=27#wechat_redirect