1.導讀前端
人們在高德地圖上會看到不少地理位置興趣點(Point of Interest,縮寫爲POI),例如餐廳、超市、景點、酒店、車站、停車場等。對POI數據的評價維度包括現勢性、準確性、完備性和豐富性。其中,現勢性就是地圖所提供的地理空間信息反映當前最新狀況的程度,簡而言之,加強現勢性就是指儘量快速地發現已停業、搬遷、改名、拆遷的過時冗餘POI數據,並將其處理成下線狀態的過程。算法
在線的過時冗餘數據會傷害用戶體驗,通過推算,頭部在線數據的一個過時率百分點年度影響用戶體驗3億次。所以,POI過時問題的解決勢在必行,以加強現勢性,減小用戶傷害。網絡
POI過時問題的解決分爲發現和處理兩個環節。發現採用挖掘線主導,採集線和輿情線補位的方式。採集的自然優點是自帶覈實資料,劣勢也很明顯,成本高、下發頻率低,於是發現的時效性不高,且採集線發現過時須要通過挖掘線;互聯網輿情時效性高,但覆蓋少且ROI低;做爲覆蓋高、時效高、成本低的大數據挖掘是絕對主力。框架
處理環節有人工覈實、自動化打標和自動化下線三種手段。人工覈實存在缺乏覈實資料從而致使覈實率低的問題,這是由於挖掘所依賴的觀測資料不能提供過時的實錘證據,觀測資料不等於覈實資料,且過時的數據更傾向於覈實不到,即能發現、難處理,從而伴隨着挖掘的演進,衍生了自動化打標和自動化下線兩種處理手段以及相應的風險控制機制(打標回撈、下線回撈),一方面提升了處理能力,另外一方面下降了人工成本。機器學習
注:自動化打標是一種與前端搜索聯動灰度處理高疑似過時數據的方式—打標數據非精搜不展示,精搜伴有話術提示。其背後的核心思路是由傳統圖商的實錘思惟向互聯網思惟轉變,及時觸達用戶,快上快下。異步
本篇文章將主要介紹挖掘的演進歷程,做爲過時發現的核心手段,挖掘在不一樣階段分別面臨缺資料、提準難、資料薄三大問題,站在今天回首過去,這個過程能夠分爲三個階段:ide
咱們利用策略、機器學習和深度學習等數據挖掘技術,從點到面、由粗到精地攻克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相關的事件,按照時間順序組合成場景一、場景二、場景…,加入外部屬性如類型、城市等,以目的地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生命力畫像構建;生態探索,從逆向解題向逆向+正向解題滲透。咱們將致力於爲提供給用戶更美好的出行服務體驗而努力。