天天看點

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

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

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

<b>一、</b><b>推薦美團的原因</b>

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

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

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

2.推薦方式:

◎推薦産品:10+推薦産品,每天服務 30m+ 使用者

◎推薦形式:user2items、item2items、personal push、others

◎推薦實體:

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

圖2.美團推薦實體選用

◎推薦平台:mobile、pc

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

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

圖3.美團其他推薦方式

二、<b>美團如今所面臨的問題</b>

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

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

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

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

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

圖5.分品類持券時長

3、使用者場景時刻在變化

如:地理位置不斷變化,使用者需求随位置而變,推薦的内容要适配這種變化等

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

相鄰兩次通路的時間間隔長,新使用者流失比例高,生命周期偏短

5、資料多,使用者請求量大

每天要處理的資料達到t級别,每天千萬級的使用者,上億次請求

<b>三、</b><b>應對方案</b>

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

1、地理位置

(1)對于地理位置的次元,可以通過實時地理位置、常去地理位置、工作地、居住地、消費地等位置資訊進行确認。

(2)地理位置直接觸發

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

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

圖6.地理位置觸發示意

線上:擷取使用者的地理位置資訊,對區域deal清單進行加

(3)根據使用者的地理位置軌迹計算使用者相似度,與協同的使用者相似度疊權重

  <b> </b><b>算法示意:</b>

user1:geo1:count1;

geo2:count2; geo3:count3 …

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

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

圖7.算法示意地理位置資訊

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

deal中包含的地理位置資訊較弱

poi同時包含了使用者的偏好與商圈傾向

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

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

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

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

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

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

2、實時推薦

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

(1)實時資料流

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

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

①算法使用新的使用者行為資料進行推薦

未轉化行為實時回報至推薦結果

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

圖10.實時資料流程圖

②算法準實時更新

    itembased cf 小時級更新

    看了又看:6%+ 提升

userbased cf 準實時更新

增量計算

    4小時更新一次

(2)實時rerank

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

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

  ◎模型選擇

    線性、非線性結合

  ◎特征

    deal次元的特征

    user次元的特征

    user、deal的交叉特征

    距離特征

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

線上學習算法ftrl

(3)算法融合&amp;push

①算法融合包括:

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

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

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

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

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

②個性化push

  使用者相鄰兩次通路間隔長

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

  不能過度打擾使用者

最初的做法:使用者拉取;push時機不可調;系統壓力大;不能實時推薦

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

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

(4)架構優化

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

圖11.架構優化示意圖

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

圖12.海量資料處理示意圖

随着日益增長的使用者請求,将業務進行拆分,較重的業務獨立出來;采用多算法并行;建立統一資料模型,減少備援請求。

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

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

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

ppt http://club.alibabatech.org/resource_detail.htm?topicid=186

繼續閱讀