從 0 到 1,一號店通用推薦平臺的搭建
一號店精準化推薦部門通過不斷探索,逐漸搭建了實時的、高可用的、推薦過程可追溯的通用推薦平臺,目前該平臺正在公司范圍內被越來越多的人使用。 本文從一號店通用推薦平臺產生的背景談起,詳解該平臺的整體架構設計、推薦流程可視化系統設計、推薦結果可視化系統設計等,并在最后進行了總結。
前言
個性化推薦系統是目前電商網站的熱門技術領域,它是利用電子商務網站向客戶提供商品信息和建議,幫助用戶決定應該購買什么產品,模擬銷售人員幫助客戶完成購買過程。一個好的個性化推薦系統不僅能為用戶提供個性化的服務,同時還能實時地響應用戶的個性化需求,并且能提供推薦商品可預測性、可解釋性。
通用推薦平臺產生的歷史背景
在傳統電商網站中,給用戶推薦商品的欄位豐富多彩。例如在一號店PC端首頁會根據用戶的購買記錄推薦用戶可能感興趣的商品,我們稱之為猜你喜歡欄位,如圖1所示。
圖1 一號店PC端首頁用戶猜你喜歡欄位
在一號店的PC端商品詳情頁會根據用戶當前正在瀏覽的商品,推薦跟該商品相似的商品,我們稱之為買了還買欄位,如圖2所示。
圖2 一號店PC端買了還買欄位
隨著電商業務的快速膨脹,推薦欄位越來越多,業務邏輯變得越來越復雜,邏輯變更的緊急需求也越來越多,在這種場景下開發人員會疲于應付繁雜的推薦需求和維護復雜的業務邏輯,代碼冗余度很大。我把這種現狀用圖3來表達。
圖3 通用推薦平臺搭建前推薦欄位的問題
針對這種背景,一號店精準化部門開發了一個可在線、可視化配置欄位和修改欄位邏輯的推薦可視化平臺,用于實時響應推薦前臺欄位需求。
同時為了讓推薦結果有可解釋性,我們將推薦欄位的邏輯計算日志通過自主研發的數據回流框架,以HDFS的形式沉淀,并通過數據清洗等步驟寫入到HBase中,通過WEB界面展示給網站運營方,來解釋線上的欄位是如何推薦商品的,這個平臺稱為推薦可追溯平臺。
推薦流程可視化系統提供了以什么樣的邏輯給用戶推薦商品的功能,推薦可追溯系統可以重現商品的推薦過程,這兩個平臺在一起協同工作,很推薦流程可視化系統提供了以什么樣的邏輯給用戶推薦商品的功能,推薦可追溯系統可以重現商品的推薦過程,這兩個平臺在一起協同工作,很好地解決了圖3所示的推薦欄位問題。我們把這兩個系統合在一起稱為通用推薦平臺。
通用推薦平臺整體設計
通用推薦平臺的整體架構設計如圖4所示。
圖4 通用推薦平臺整體架構設計
從圖4可以看出,通用推薦平臺總共包含兩個系統,分別為推薦流程可視化系統、推薦結果可追溯系統。在推薦流程可視化系統里,網站運營提前做好推薦欄位配置,然后用戶在訪問已配置完畢的欄位時候,請求流程可視化系統中的統一推薦接口,在接口邏輯處理的過程中,會將推薦步驟通過數據回流系統寫入到HBase中,供推薦結果可追溯系統使用;在推薦結果可追溯系統里,通過模擬線上欄位請求,根據請求ID和商品ID去回溯推薦過程,判斷推薦過程是否有理有據。
推薦流程可視化系統詳細設計
推薦流程可視化系統詳細設計圖如圖5所示。
圖5 推薦流程可視化系統詳細設計圖
從圖5可以看出推薦流程可視化系統分為前臺和后臺兩部分,前臺部分提供在線、實時推薦流程配置的功能,后臺部分對外暴露統一的推薦接口,該接口里會根據被訪問的推薦欄位ID,獲取欄位的推薦流程配置,然后根據流程配置計算出相應的推薦商品。
在計算的過程中,自主研發的數據回流系統將推薦步驟通過Kafka、Camus發送到Hive中,然后經過數據清洗等步驟落入到HBase中。數據回流系統的流程圖如圖6所示。
圖6 數據回流框架流程圖
圖6描述了推薦步驟消息內容經過了集中壓縮推送、Kafka傳輸、沉淀于Hive、數據清洗等流程,最終形成了一條條如同軌跡圖般的推薦步驟流水日志。
推薦結果可追溯系統詳細設計
推薦流程可追溯系統的詳細設計圖如圖7所示。
圖7 推薦結果可追溯系統詳細設計圖
從圖7可以看出網站運營人員通過模擬線上欄位請求,從而調用推薦流程可視化系統中的統一推薦接口獲得真實的推薦商品。同時根據推薦流程可視化系統中沉淀下的推薦步驟流水日志,用商品ID和請求ID去做組合key查詢,從而重現推薦步驟。這樣就讓我們的個性化推薦系統的推薦過程透明化、推薦結果具備可解釋性,也便于第一時間解決用戶投訴的推薦結果不準確的問題。
通用推薦平臺總結
在通用推薦平臺搭建完成之后,一號店的精準化推薦部門解決了推薦系統常見的問題(見圖3),諸如重復開發工作量等,極大地提升了推薦團隊開發效率和運營效率。這個平臺給推薦團隊所帶來的積極影響,如圖8所示。
圖8 通用推薦平臺搭建后推薦欄位的現狀
從圖8可以看出,通用推薦平臺的推薦流程可視化系統通過可視化的欄位配置,避免了開發同學的重復開發工作,并可通過可實時調節欄位配置,來響應欄位邏輯調整需求;通用精準化推薦平臺的推薦結果可追溯系統通過還原推薦過程,提供了推薦結果的正確性保障。
最后是一組關于通用推薦平臺的數據運營情況:
-
一號店PC端+移動端總共有50多個推薦欄位,有近80%的推薦欄位使用了該平臺;
-
推薦需求的平均開發時間從之前的一周,縮短到現在的10分鐘以內;
-
推薦結果用戶滿意率提高了將近50%。
來自:http://mp.weixin.qq.com/s?__biz=MzIyNjE4NjI2Nw==&mid=2652557387&idx=1&sn=09b26a523605654cf5536ee5e971cbec&chksm=f39a353fc4edbc29ba5aeb877e32b1ed005fec6d2cf7140fd3cc24e6e6954868b3a39ed18b1a&scene=0