評書:《美團機器學習實踐》

做推薦的Bella醬發表於2018-12-08

新入手一本《美團機器學習實踐》,讀完覺得很有意思,把一部分內容分享給大家。

這本書分為六部分,第一部分是通用流程,講的是機器學習在實踐中應用的通用流程,有些經驗之談很有意思;第二部分講的是資料探勘,主要包括使用者畫像、POI實體連結和評論挖掘;第三部分是搜尋和推薦,顧名思義,講的是美團中的應用的搜尋和推薦架構;第四部分計算廣告;第五部分講的是深度學習;第六部分講的是演算法工程。

第一部分和第五部分屬於通用流程,有一些實踐中應用的經驗值得學習,不過相對而言,要想了解這些部分不如去看專講這些的書籍。第六部分筆者個人也覺得較為平常,要想了解這些東西更推薦去閱讀專門講並行機器學習的部分。真正出彩的在於第二、三、四部分,或者說,凡是涉及到POI和O2O的部分都非常值得一讀!

美團可以說是當之無愧的國內最大的POI和O2O應用的公司,他們在這方面的經驗積累極多,架構非常漂亮,而且即使我這個不大瞭解這方面的人讀起來,也能對機器學習在POI和O2方面的應用有大致的瞭解。接下來筆者將介紹一些自己覺得很有趣的部分。

POI實體連結

坦率地說,第二部分中,使用者畫像部分的架構最令我覺得出色,但最有參考價值的部分是POI實體連結。做使用者畫像和評論挖掘的公司很多,但美團的POI演算法卻很有可能是國內最好的。

POI在這本書裡代表一個資訊實體,比如在酒店業務中就代表一個酒店。維護一個優質的POI資訊庫是一切演算法的基礎。美團在這一部分討論的是這樣一個問題:美團已經有的POI資訊庫,稱為庫存POI;需要錄入的POI資訊庫,稱為待選POI庫。待選POI庫中的大部分POI都可能本來就在庫存POI中,只是名稱、描述、資訊等可能不同,一個在應用中比較重要的問題就是將待選POI庫對應到庫存POI庫中去。

以酒店業務為例,金泉假日酒店和金泉商務賓館可能是同一家實體,要怎麼把它們對應起來呢?從名稱相似度上入手是大家都想得到的解決方案,但是這個方法未必準確,因此就需要引入其他資訊,比如地址、電話、經緯度等。在這個場景中還有一個問題要關注,即不能進行全量比較,否則我們就將得到一個複雜度至少為待選POI庫大小*庫存POI庫大小的演算法,這個複雜度在實踐中是不可接受的。那麼美團的方案是什麼呢?

第一步:縮小候選集

  1. 通過聚類的方式進行POI聚合:即首先在城市維度進行聚合
  2. 建立倒排索引,縮小比較候選集

第二步:相似度比較

這一步有兩個方法:

  1. if-else連擊,即通過一連串if-else條件判定是否同一實體
  2. 相似度打分:對不同POI的每一個維度進行打分,加權比較相似度

具體流程

這一工作的具體流程為: 資料清洗-》特徵生成(各種不同模組)-》模型選擇與效果評估

他們的候選模型包括GBDT,SVM,LR等,不算複雜,但是講到了不少實踐中的細節。

O2O場景下的搜尋

O2O場景下的搜尋比普通的搜尋問題有意思,因為它是深度依賴於當前環境的。使用者在日本、在北京、在武漢搜同一個詞往往代表著不同的意思。使用者在中午搜美食、下午搜美食、晚上搜美食,往往期待得到的美食推薦完全不相同。使用者搜地點時未必想找地點,也可能是找地點附近的餐廳或酒店。這些問題對搜尋系統提出了非常高的要求。

在美團中,搜尋引擎要解決的主要問題如下:

  1. 如何定義使用者的查詢意圖?
  2. 如何識別使用者的查詢意圖?
  3. 如何將使用者的查詢意圖連結到特定實體?
  4. 如何引導使用者完成搜尋?

這本書對這些問題的解決方法都做了詳細的解釋。筆者就不在這裡詳細描述了。而另一個問題是搜尋結果的排序方式,美團認為自己的搜尋排序場景主要有如下四個特點:

  1. 移動化:使用者的位置不斷移動,並且距離是排序的重要因素
  2. 場景化:使用者在家、工作地點、戶外或者店內,這些不同場景對於使用者意圖的理解是非常重要的
  3. 本地化:搜尋查詢的目標往往是本地化的
  4. 個性化:使用者偏好較為明顯

針對這些特點,美團實現了自己的搜尋排序框架。

O2O場景下的推薦

美團認為O2O下的推薦與其他推薦的主要區別包括如下三點:

  1. 地理位置因素
  2. 使用者歷史行為:與其他的推薦場景不同,使用者在同一家店的復購可能性很高
  3. 實時推薦:一是需要考慮使用者的實時地理位置,二是需要考慮消費的實時性,在O2O場景下,使用者從考慮消費到最終下單的時間非常短

美團使用的仍然是經典的推薦框架,包括召回和排序兩個階段:

  1. 召回階段:召回策略包括基於協同過濾的召回、基於位置的召回、基於搜尋查詢的召回、基於圖的召回和基於實時使用者行為的召回
  2. 排序階段;排序模型仍然是經典的模型,沒有什麼特別之處,特徵則包括:item維度的特徵、使用者維度的特徵、使用者和item的交叉特徵、距離特徵和場景特徵。

從行文來看,推薦並不是美團最重視的入口。

O2O場景下的廣告營銷

O2O場景下的廣告營銷主要具有如下特點:

  1. 移動化:主要體現在精確性、即時性和互動性三個方面
  2. 本地化:美團發現超過90%的交易中使用者和商家的距離小於3公里
  3. 場景化:移動條件下的場景比web條件下更為精確
  4. 多樣性:O2O模式面對的商戶各種各樣,需求差異很大

綜合這些特點,美團的廣告排序機制非常有趣,它可以實現一些在web條件下根本不可能實現的需求:例如分辨哪些是流失單,流失到了哪個競爭對手手裡。我不在這裡贅述它的具體內容,但整體而言還是很有意思。

總結

從個人角度來說,這本書最大的價值在於視野擴充。不同的場景下,演算法要面對的問題千差萬別,有些問題往往是不做這些的人根本想不到的。很多時候,發現問題、定位問題的價值比解決問題還要高。所以,多看看不同場景下的演算法應用是非常有幫助的,與各位讀者共勉。要是有機會的話,我們下次再分析一下美團的使用者畫像架構。

相關文章