​1.導讀

人們在高德地圖上會看到很多地理位置興趣點(Point of Interest,縮寫為POI),例如餐廳、超市、景點、酒店、車站、停車場等。對POI數據的評價維度包括現勢性、準確性、完備性和豐富性。其中,現勢性就是地圖所提供的地理空間信息反映當前最新情況的程度,簡而言之,增強現勢性就是指盡可能快速地發現已停業、搬遷、更名、拆遷的過期冗餘POI數據,並將其處理成下線狀態的過程。

在線的過期冗餘數據會傷害用戶體驗,經過推算,頭部在線數據的一個過期率百分點年度影響用戶體驗3億次。因此,POI過期問題的解決勢在必行,以增強現勢性,減少用戶傷害。

POI過期問題的解決分為發現和處理兩個環節。發現采用挖掘線主導,采集線和輿情線補位的方式。采集的天然優勢是自帶核實資料,劣勢也很明顯,成本高、下發頻率低,因而發現的時效性不高,且采集線發現過期需要經過挖掘線;互聯網輿情時效性高,但覆蓋少且ROI低;作為覆蓋高、時效高、成本低的大數據挖掘是絕對主力。

處理環節有人工核實、自動化打標和自動化下線三種手段。人工核實存在缺少核實資料從而導致核實率低的問題,這是因為挖掘所依賴的觀測資料不能提供過期的實錘證據,觀測資料不等於核實資料,且過期的數據更傾向於核實不到,即能發現、難處理,從而伴隨著挖掘的演進,衍生瞭自動化打標和自動化下線兩種處理手段以及相應的風險控制機制(打標回撈、下線回撈),一方面提高瞭處理能力,另一方面降低瞭人工成本。

註:自動化打標是一種與前端搜索聯動灰度處理高疑似過期數據的方式—打標數據非精搜不展現,精搜伴有話術提示。其背後的核心思路是由傳統圖商的實錘思維向互聯網思維轉變,及時觸達用戶,快上快下。

本篇文章將主要介紹挖掘的演進歷程,作為過期發現的核心手段,挖掘在不同階段分別面臨缺資料、提準難、資料薄三大問題,站在今天回首過去,這個過程可以分為三個階段:

  • 基於自身屬性的POI過期挖掘
  • 基於使用行為的POI過期挖掘
  • 基於人地關系的POI過期挖掘

我們利用策略、機器學習和深度學習等數據挖掘技術,從點到面、由粗到精地攻克POI過期挖掘業務,POI現勢性增強的模式已經發生瞭深刻的變化。

2.數據挖掘手段的演進

2.1階段一:基於自身屬性的POI過期挖掘

早期的主要矛盾是缺少挖掘資料,如果同時做資料的POI掛接和基於掛接資料的挖掘策略會導致挖掘鏈路長、項目風險高。因此,在提升新資料的POI聚合能力的同時,以POI自身屬性作為主要的挖掘資料。高德POI團隊在信息聚合、融合方面有長時而豐富的積累,POI屬性可大致分為三類:基礎信息、深度/動態信息和關系信息。

基礎信息:表征實體,包括名稱、坐標、地址、行業、電話、時間、來源等。

深度/動態信息:增加POI數據豐富性,包括:圖片、評分、評論、團購、報價等。

關系信息:POI間通過語義、時空建立的關聯,包括:親子、引用、共現等。

針對不同的屬性,我們設計不同的策略去挖掘過期POI。根據復雜程度,我們將策略主要分為:基於單POI的挖掘和基於多POI的挖掘。二者的最大區別在於是否使用POI間的關系信息。下面介紹幾個比較典型的策略:

策略特征使用表

◎代表關鍵特征,△表示輔助特征

評論過期語義挖掘是比較典型的基於單POI的挖掘策略。深度/動態信息中的評論是獲取用戶對POI反饋的有效途徑之一,其中也包括對過期POI的反饋,我們通過匹配關鍵詞很容易找到這種評論。上、下文的語境會導致關鍵詞的語義發生變化,為此,我們利用TextCNN模型實現語義分類以達到消歧的目的,篩選出真正表達POI過期的評論。如下所示:

“原”關系挖掘使用POI間的引用關系,是一種基於多POI的挖掘策略。我們在含有“原”關鍵字的POI名稱、別名或地址中通過實體抽取技術,得到“原”關系(新舊關系)的兩個POI名稱,通過聚合技術找到舊名稱所對應的過期POI。

同地址策略則利用地址門牌沖突關系來挖掘。其邏輯是:相同的門牌號(包括室內水牌)上通常隻有唯一的經營實體,若地址上存在兩個或多個實體且不是聚集實體(商場、園區等),則應當存在過期POI。我們采用圖論對問題建模,取門牌相同的POI集合,將POI視為節點,POI間關系(親子、兄弟、共現、參考引用等)為邊。利用最大連通分解算法將集合劃分為K個連通子圖,每個子圖看作是一個實體或聚合實體。若K=2,則將更新時間較早的子圖作為疑似過期集合輸出。

同電話策略是為數不多能與具體過期現象對應的策略。取有相同電話的POI的集合,與同地址策略類似,通過名稱語義計算、空間計算、共現關系、親子關系等,剔除掉聚集實體、連鎖店、疑似重復數據等噪音,並根據名稱相似性和距離關系,分辨出更名和搬遷現象。電話實際上代表著POI背後真正的人,通過人的行為變化可以判斷一個POI過期與否,甚至可以推斷出該POI具體的過期現象。

伴隨著POI聚合多種新數據源的能力的日漸成熟,新的挖掘資料已具備。我們的重心也逐步轉移至基於使用POI行為的挖掘。

2.2階段二:基於使用行為的POI過期挖掘

步入階段二,缺少挖掘資料已不再是解題的主要矛盾,人工核實率低、處理能力不足的問題凸顯,從而迫切需要建立自動化打標/下線能力(提準)。過期挖掘的實質是感知伴隨POI過期而發生的變化,進行事後觀測式挖掘,比如,過期一般都會伴隨著POI活躍度(運單量等)的下降。

前文已提到,挖掘所依賴的觀測資料不能提供過期的實錘證據(比如,運單消失並不是過期實錘);且過期強相關因子種類偏少、天然引入上遊誤差以及真實世界存在貝葉斯誤差;外加隨著解題推進,在線POI數據現勢性增強、過期率下降,在觀測資料固定的前提下,過期挖掘的產量及精確率均隨過期率的下降而自然下降,上述這些都會導致精確率難提高,因此,提準難成為該階段的主要矛盾。

特征層面我們通過去噪、精細化加以應對,受篇幅所限,本文暫不做展開介紹。而算法層面則是通過技術升級來應對。路線圖:從規則到模型;從淺層模型到深度模型;從單源決策到多源信息融合;從決策層多源信息融合到特征層多源信息融合。

根據是否需要參考歷史情況,我們將基於使用行為的POI過期挖掘劃分為時序異常和事件異常兩類。

2.2.1時序異常

POI的存活狀態可以通過關聯的使用行為量活躍度間接反映出來,從使用行為量的趨勢角度嘗試迭代解題。

趨勢模型的主要思想是,統計某個時間窗口關聯的使用行為量活躍度來衡量POI的存活狀態,並通過分析活躍度相對於歷史情況的衰減程度來判斷POI是否過期,其基本假設是時序趨勢下降與POI過期正相關。以已知活躍度信息的逐月統計量時間序列為特征,我們完成瞭RF->RNN->模型融合->Wide&Deep四個迭代階段的研發。

鑒於RF在分類決策問題中表現出的精度高、不易過擬合、對數據集適應能力強、落地高效以及對於規則思維的天然吻合度,可成為驗證解題方案可行性的首選。方案是將每種特征的每個時間節點值作為一個輸入維度來構建模型。RF憑借高準確和高產出落地投產,驗證瞭行為量趨勢應用於過期挖掘的重要意義。

之後,針對RF存在的一些不足來做進一步的技術升級。首先,模型無法學到連續時間節點之間的趨勢關聯性,時序信息未得到充分利用;其次,對於不同種類特征缺失、長短序列融合等問題需要建立定制化模型來解決,多模型增加瞭維護負擔。因此,要選擇時序領域優勢明顯的RNN模型進行迭代升級。

通過構建多層LSTM深度網絡實現瞭趨勢關聯信息的深度挖掘,同時針對不同熱度分段的數據分佈差異性,采取各自最優的缺失特征填充方式,避免瞭多模型式的解題方案,便於業務維護。RNN模型使發現能力,特別是自動化能力得到較大提升。

雖然RNN相對於RF提升瞭對於時序特征的學習能力,但信息不足依然限制瞭模型的自動化能力。我們進一步開發瞭能夠實現多源信息融合決策的融合模型。思想是將RF、RNN、拆遷區域等現有各基線模型、策略以及白名單作為子分類器納入統一框架內考慮,在此基礎上構建貝葉斯網絡,做決策層的多源信息融合。相較於特征層的多源信息融合,它落地快且效果明確,為過期業務提供瞭穩定的高準確自動化下線產出,自動化能力大幅提升。

第四個階段是從多源信息融合的角度進一步優化。一方面,決策層融合相比特征層融合存在更多的信息損失;另一方面,一些模型/策略隻在部分品類的POI上滿足業務投產的準確率標準,導致不達標品類的產出結果未得到充分利用。因此,從實現特征層多源信息融合的角度出發,借鑒Wide&Deep思想搭建新業務模型。

整體思路是,將眾多不可量化或比較的屬性特征和狀態信息特征進行編碼表征,再經過一層全連接層降維後作為Wide部分;將RNN模型作為Deep部分,最後將兩部分耦合。模型經過多輪迭代優化可穩定投產,自動化能力得到進一步提升,已成為過期挖掘業務中覆蓋行業廣、自動化解題能力突出的綜合性模型。

綜合以上,人機解題比大幅下降,解決瞭人工核實率低、處理能力不足的問題,並且大幅降低瞭成本。

2.2.2事件異常

現有的時序異常模型主要依賴於使用行為量的趨勢特征做判斷,存在挖掘資料覆蓋上的天花板,以加油站、ATM、公共廁所等為例,這些類型的POI因自身屬性的原因導致無挖掘資料,趨勢模型無能為力。因而提出基於日志(Session)的異常事件模型,統計陌生群體到達過期POI後需求不滿足引發的異常事件,補位時序異常模型的挖掘盲區,即無需參考歷史情況,僅利用日志抽取POI關聯的異常行為事件,累積近期異常事件衡量POI的存活狀態是否正常。

日志挖掘難點

海量的日志行為。直接使用不僅消耗資源大,且有大量的冗餘數據造成幹擾。如何在海量行為中抽取與過期相關的特征是一個艱難的工程。

行為隨機性大。例如,很多情景裡快到終點前會提前結束導航從而無法判斷是否到達目的地;有些情景是規劃去一個目的地但從末端軌跡可以判斷實際去的地點天差地別。

解題框架

針對上述問題,主要通過實地評測的過期POI case分析來構建具體的異常事件場景,例如到達後試圖報錯、到達後快速發起二次同質化導航等,以上統計量作為特征輸入,由此可聚焦相關日志片段並降低隨機行為噪音。整體解題框架如上圖所示,從不同的Session源解析與POI相關的事件,按照時間順序組合成場景1、場景2、場景…,加入外部屬性如類型、城市等,以目的地POIID按照時間窗口歸並生成相應的統計特征,輸入LR模型,輸出POI的過期得分。目前采用LR,優點是簡單粗暴壓住噪聲。

挖掘效果

Session異常事件模型有效補充其他手段未能覆蓋的解題集合,專攻汽車服務、生活服務、娛樂場所、金融保險服務等品類POI,是過期挖掘不可或缺的組成部分,且未來仍有較大的泛化提召回空間。

2.3階段三:基於人地關系的POI過期挖掘

2.3.1 人地關系建設

趨勢特征豐富(厚)的過期POI,容易被趨勢模型挖出。而當趨勢特征(使用行為)稀少(薄)時,模型發現能力較差。所以該階段需要解決資料薄的問題,通過對關鍵群體(>2)線索的捕捉,降低對資料厚度的依賴。洞察POI的關鍵群體的行為,有可能找到發現甚至解釋POI過期的特征。

因此,第一步我們需要建設人地關系,找出所謂的關鍵群體,稱之為內部群體,是指:對POI有依賴的群體,這種人地關系,我們稱之為內部關系,其它均為外部關系。

第二步基於內部群體的時空運動模式的變化發現過期POI,補位趨勢特征稀疏時的召回問題,局限性:內部群體基本不變的POI更名等場景不可解。第一步人地關系建設基本完成,大體分為數據層、行為層和模型層三層,分別介紹如下:

在數據層,收集可能與POI相關的數據源,打通各個數據孤島,將不同類型的數據關聯到高德POI上。

在行為層,將行為特征表達在窗口為X天的二維矩陣上,如圖所示。矩陣表示能夠更加清楚地反映行為的周期性規律。不同行為序列可以看作是不同通道的矩陣,很好地適配行為數據的異步性,同時保持可擴展性(每多一種行為,可增加一個通道表示)。

在模型層,面向多通道的矩陣特征,采用深度卷積網絡完成分類任務,其基本結構如下:

該結構一定程度地緩解由於數據不完備導致的特征稀疏,有效地學習行為的時間規律,取得符合預期的結果,驗證瞭模型的可用性。在模型層,通過補充的召回策略,幫助將內部關系對POI的覆蓋度進一步提升,完成從0->1的建設。

總結

過期挖掘已經成為增強POI現勢性的絕對主力手段。這條以大數據挖掘為主導的路線還遠遠沒有達到終局,未來的演進方向至少有以下幾個:內部群體時空轉移本質化通盤解題,降低對資料厚度的依賴;面向過期現象的定向挖掘能力提升;POI生命力畫像構建;生態探索,從逆向解題向逆向+正向解題滲透。我們將致力於為提供給用戶更美好的出行服務體驗而努力。