閱讀778 返回首頁    go 阿裏雲 go 技術社區[雲棲]


美團生活服務個性化推薦實踐

張彬(美團推薦算法高級研發工程師):2012年3月碩士畢業於北京郵電大學,有過兩年的互聯網廣告工作經曆,期間先後參與過user profile挖掘、實時競價算法、ctr預估等多個核心項目,對RTB、DSP、DMP中的相關技術有較好的理解和認識,積累了豐富的經驗。2013年初加入美團網,主要負責美團個性化推薦係統的構建和優化,通過完善召回算法和引入重排序模型等大幅度提高了係統的轉化率。

美團作為全國領的本地生活服務平台,在本地生活服務推薦領域已經進行了一些探索,這個分享主要是對這些探索的一些總結。我們看到本地生活服務領域的推薦需要重度使用傳統的推薦算法,同時也存在很強的特色。例如,在本地生活服務領域,商戶的地理位置對用戶的決策影響很大,針對這點我們做了大量基礎工作。下麵我們一同看下美團是如何實現個性化推薦的。

一、推薦美團的原因

1.活躍用戶過億,移動端交易占80%以上。

c3f3938531a0e661d326bfd3b3e81a306ea78bee

圖1.美團移動交易占比逐年變化樹狀圖

2.推薦方式:

◎推薦產品:10+推薦產品,每天服務 30M+ 用戶

◎推薦形式:User2Items、Item2Items、Personal push、Others

◎推薦實體:

77a87cccf91c7f2695896d28cbe4e00c4df68f18

圖2.美團推薦實體選用

◎推薦平台:Mobile、PC

◎其他方式:購買完成,評價完成,搜索無結果,附近團購,相關團購

 

 

4df807e02e91109da2df583e4367d0c11bfac3d5

圖3.美團其他推薦方式

 

二、美團如今所麵臨的問題

1、用戶購買與消費的空間距離很小

 

b25fbdd9b60fd98fede1c8f4ab1b6ecee99792dc

圖4.分品類持券80%距離

 

2、用戶購買與消費的時間差很短

d8154c13075ce28144e1263cfc3ac44442317da9

圖5.分品類持券時長

3、用戶場景時刻在變化

如:地理位置不斷變化,用戶需求隨位置而變,推薦的內容要適配這種變化等

4、用戶行為稀疏,粘性不夠強

相鄰兩次訪問的時間間隔長,新用戶流失比例高,生命周期偏短

5、數據多,用戶請求量大

每天要處理的數據達到T級別,每天千萬級的用戶,上億次請求

 

三、應對方案

針對上述諸多麵臨的問題,可采取如下等方案進行應對,如:強化地理位置特征;提高算法實時性;算法融合,個性化push;框架優化等。

1、地理位置

(1)對於地理位置的維度,可以通過實時地理位置、常去地理位置、工作地、居住地、消費地等位置信息進行確認。

(2)地理位置直接觸發

     離線:挖掘區域消費優質deal和區域購買優質deal

 

489d846b378eab1a26c928a58a47c89808d8375a

圖6.地理位置觸發示意

在線:獲取用戶的地理位置信息,對區域deal列表進行加

(3)根據用戶的地理位置軌跡計算用戶相似度,與協同的用戶相似度疊加權

   算法示意:

User1:geo1:count1; geo2:count2; geo3:count3 …

 

User2:geo1’:count1’; geo2’:count2’; geo3’:count3’ …

4312e0531e87d7f749c5cdd45916e18b138c437c

圖7.算法示意地理位置信息

 

(4)基於消費poi的相似度計算

      Deal中包含的地理位置信息較弱

      Poi同時包含了用戶的偏好與商圈傾向

 

0ca57af772c05d863223c6291171c83cdae947ef

圖8.poi的相似度計算圖示

(5)作為重排序模型的特征

     用戶實時地理位置與deal所在poi的最近距離

     用戶常去地理位置與deal所在poi的最近距離

     用戶消費地理位置與deal所在poi的最近距離

2、實時推薦

對於實時推薦由於用戶場景經常變化,需求隨之而變;離線計算好結果的推薦方式適應性差;每次請求都要實時計算。

(1)實時數據流


bee60e6259eb1b3821b0fe0b590f47d45f7fd17a

圖9.實時行為:搜索、篩選、收藏、瀏覽、下單

①算法使用新的用戶行為數據進行推薦

未轉化行為實時反饋至推薦結果


a311d0e75fd1ee2243bc5247f970b0fb7ad8d531

圖10.實時數據流程圖

②算法準實時更新

    Itembased cf 小時級更新

    看了又看:6%+ 提升

Userbased cf 準實時更新

增量計算

    4小時更新一次

(2)實時rerank

  子算法計算出來的權重考慮的因素太少

  不同子算法的權重不具有可比性

  模型選擇

    線性、非線性結合

  特征

    deal維度的特征

    user維度的特征

    userdeal的交叉特征

    距離特征

  ◎在線特征抽取,模型實時計算

在線學習算法FTRL

 

(3)算法融合&push

①算法融合包括:

  加權型:對各個算法產生的候選集按照權重進行加權

  分級型:優先采用效果好的算法,再使用效果次好的算法,依此類推

  調製型:不同的算法按照不同的比例產生一定量的候選集組成總的候選集

  過濾型:當前的算法對前一級算法產生的候選集進行過濾,依此類推,候選集被逐級過濾,   

         最終產生一個小而精的候選集合

②個性化push

  用戶相鄰兩次訪問間隔長

  觸及更多的用戶,提升日活用戶數

  不能過度打擾用戶

最初的做法:用戶拉取;Push時機不可調;係統壓力大;不能實時推薦

改為push以後:根據用戶的曆史聯網時間確定push發送時機,根據用戶的實時定位發送,

發出率提高24%,打開率提高21%,綜合轉化率提高94%

(4)框架優化

bd81feae3968d4fd54ac8ccde660e7ca0539e166

圖11.框架優化示意圖

 

3997f5c639d9a0126decd9b416ad32f9c1a49fcb

圖12.海量數據處理示意圖

 

隨著日益增長的用戶請求,將業務進行拆分,較重的業務獨立出來;采用多算法並行;建立統一數據模型,減少冗餘請求。

運用觸發層與排序層分離;模型訓練並行化;參數實時加載,支持快速調參達到快速的效果迭代。

 

 

整個優化方案將地理位置因素的引入:解決用戶冷啟動和稀疏性,提高推薦精度;

將候選集進行融合:提高了推薦的覆蓋度、多樣性;引入重排序模型:解決了候選集增加以後deal之間排列順序的問題。我們爭取以數據為基礎,用算法去雕琢,發現問題並進行修正,運用良好的基礎架構,高效的算法迭代,發揮團隊的力量。


PPT https://club.alibabatech.org/resource_detail.htm?topicId=186

 

最後更新:2017-04-01 13:38:50

  上一篇:go Docker基礎之十一: 鏡像操作(Dockerfile)
  下一篇:go PostgreSQL 聚合函數講解 - 7 窗口反聚合