鵝廠男神從0到1搭建個性化推薦系統
在互聯網信息爆炸式增長的當今,通過傳統人工篩選運營方式提供服務時代已然過去,能通過用戶歷史行為精準推薦用戶感興趣內容成為必然趨勢,主流個性化推薦系統流程包括用戶行為採集、分類提取、離線用戶建模、在線用戶模型預測等。結合目前手機QQ瀏覽器軟體應用App分發業務發展需求,歷時半年多時間,從無到有搭建一套個性化推薦系統支撐專區App分發業務。
1、背景
2、業務整體Review
目前推薦場景覆蓋包括專區首頁猜你喜歡模塊推薦,打底推薦與QB內垂直搜索,對應效果如下圖紅框標識:
進過半年的優化打磨,關鍵階段效果提升匯總如下:
3、整體框架
在輸出整體架構圖前,先回歸最初產品個性化推薦需求,技術方案選型最終都要服務於需求
【個性化推薦需求】
根據活躍用戶的長期興趣推薦用戶最感興趣的AppList,效果評價指標是推薦App的CTR
【技術方案選型】
工程Part
在線模塊:分粗排階段和精排階段
1、粗排階段根據用戶長期興趣畫像召回相關度較高的Item,同時減輕精排階段壓力;
2、精排階段則根據粗排召回的ItemList,通過離線訓練好的排序模型預測CTR,最終下發TopN ItemList作為推薦結果;
離線模塊:
1、用戶長期興趣:負責在線粗排召回,通過離線累計用戶消費行為,映射成興趣體系,最終積累成用戶長期興趣畫像,最終將畫像導入在線系統;
2、排序模型:負責在線精排階段排序模型的訓練,訓練階段需要用戶消費日誌,同時收集用戶特徵和Item特徵,最終整合成訓練樣本集,通過Spark等分布式計算框架訓練模型並導入在線系統;
演算法Part
粗排召回:粗排的召回效果直接影響推薦的效果,不過項目初期的方案不太適合制定太複雜的策略,初期我們先敲定一個熱度計算公式對備選Item進行全排序:HOT(x) = LOG(下載量(x)) + 評分(x) * 0.2,最後根據Item分類構建待召回反向索引結構
精排模型:產品制定推薦效果評價指標是App按天CTR,即排序模型是pCTR模型,結合業界成熟方案以及團隊技術積累準備度,選用LR作為pCTR模型
【整體架構圖】
1、將用戶在專區預推薦位的Item曝光和點擊行為上報到離線集群
2、用戶實時拉取推薦結果,粗排備選池會預先Ready(對應架構圖中的備選優化,策略參考上面演算法Part的粗排召回),通過用戶關聯歷史興趣畫像,根據畫像獲取關聯度Top的ItemList,同時進行列表退避;然後用召回ItemList關聯Item特徵,用戶關聯用戶特徵,部分特徵需要走特徵工程處理,載入離線訓練好的LR模型,預測每一個Item的pCTR,進行排序;產品策略會在兼顧用戶體驗維度對下發列表進行干預,比如多樣性,遊戲App佔比等;最終下發排序結果列表
3&4、將用戶交互行為與推薦結果等數據導入離線計算集群:1)根據按天用戶行為計算按天興趣畫像,同時和歷史畫像進行合并構成用戶興趣長期畫像;2)用用戶對Item點擊或曝光作為樣本原,與Item特徵、用戶特徵關聯形成訓練樣本集,通過Spark API訓練得到穩定的LR模型
5、按天將用戶累計長期興趣畫像和LR模型結果導出到HDFS路徑
6、用戶興趣畫像定期刷入在線Cache
7、將LR模型按天導入在線DB,在線服務定時載入LR模型以及查詢用戶長期興趣畫像
4、優化小結
將個性化推薦系統Pipeline搭建上線後,目光就轉移到推薦效果的優化,優化主要分三部分:1)LR模型特徵優化,主要包括常用特徵工程方法以及引入新的業務特徵;2)LR訓練工具Spark API訓練性能提升加學習率曲線繪製;3)粗排召回階段引入基於Item的協同過濾;
【特徵優化】
1、特徵工程
在當前項目中,我們主要採用的特徵工程方案包括:
離散枚舉:性別(男性1,女性2,未知3),單維特徵擴展成三維,一條樣本僅設置一維
連續等距:比如用戶年齡,可觀察在如下樣本中用戶年齡的分布圖(x坐標表示年齡,y坐標表示對應用戶群累計佔比),14-46歲間隔用戶群分布均勻(且為相對有效年齡),且佔整體用戶群99%以上,這類特徵可以對樣本進行等值切分,間隔可根據模型效果調整
歸一化LOG:比如App下載量,如下是樣本中App對應的下載量分布圖(x坐標表示下載量,y坐標表示對應用戶群累計佔比),對比年齡分布圖,App群50%佔比以上比較均勻,但是前50%跨度較大,此時我們使用的方案是對整體下載量求LOG,然後再進行等值One-Hot
2、引入新特徵
項目初期使用的特徵包括如下腦圖中的藍色與綠色特徵,訓練的樣本量是按周,採樣的正負比例是1:5,最終的AUC是0.6890;
在專註特徵優化階段,主要的方向是引入更多的特徵,通過梳理,將腦圖中的標黃和標灰特徵納入到引入階段。在具體引入優先順序的排期中,需要權衡特徵收集的複雜度、特徵的覆蓋度等因素,最終在優化階段確定引入腦圖中的標黃特徵,結果AUC提升到0.7592
【協同過濾】
分類粗排召回策略的優勢是對主打用戶長期興趣方向定向,缺點是很難引入Item相關度較高但並非同類的Item,也就是較難發現用戶隱含興趣;協同過濾的目標就是對分類粗排召回策略缺點的一種補充。
常用的協同過濾Based-Memory包括User-Based與Item-Based,對標兩種模型有如下對比:
通過調研目前項目的推薦場景優選Item-Based,接入流程上,回到整體架構圖,採用離線訓練Item-Item相似度矩陣並離線根據用戶歷史安裝App進行預測,最終刷入在線Cache,供在線服務在召迴流程查詢協同過濾推薦結果,進而統一精排下發
5、項目展望
1、LR模型引入更多新特徵 以及 特徵工程更多的嘗試,可參考參考文獻[5]
2、pCTR預測模型嘗試GBDT + LR
3、App分類互斥策略
感謝過程中Carbonzhang & Meifangli 的大力支持
本文作者 | 羅鑫驥 騰訊高級後台開發工程師
編輯 | Coding小妹
TAG:騰訊課堂 |
※寶馬2021年將推出新模塊化架構 支持汽油、混動和全電動系統
※張裕投入2000萬元建立全程式控制氧系統
※微軟或將在2019年推出新操作系統:代號仙女座
※百餘家實驗室近150位科學家聯合開發超級AI系統,精準診斷近100種腦癌
※設計師:8.5版本開箱系統有多項升級
※北斗總師:2035年完成下一代北斗系統星座組網
※小米盒子跳升安卓8.0系統:針對電視等大屏產品進一步優化
※3個系統全力助推18年導師制(一)
※【推薦】美軍2018財年武器系統手冊
※M777式155毫米榴彈炮系統
※提供兩款插入式混動系統 2019款沃爾沃V60推出
※入門好選擇?1499元的智米新風系統體驗
※印度計劃採購5套俄制S-400導彈系統 強化空防
※4月15日 — 002航母舾裝最新進展 安裝武器系統
※啟辰T90混動版諜照曝光 或搭一套48V微混系統
※2017年工業控制系統共發現322個漏洞
※裝備養成攻略《莽荒紀2018》合成系統
※夢幻西遊:玩家連續抓 200個鬼,系統一個郵件,需要1000仙玉解除
※這個牛人破解蘇30外掛系統,掛殲16全套導彈脫胎換骨
※陸盾2000型近程防空武器系統的總體性能