日萌社
人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度學習實戰(不定時更新)
問題:如何設計一個"猜你喜歡"的推薦系統
問題背景
這是出現在某聘公司筆試中的問題。可見該公司正在計劃實現或改進該項推薦業務,並希望通過該問題驗證面試者對”猜你喜歡”類型推薦系統的瞭解程度,是否能夠清晰闡述該系統的總體設計架構,以及用戶請求過程中系統的運轉方式。
解題思路
第一步: 找出核心知識點並解析
- “猜你喜歡”類型的推薦:
- 這是推薦系統中一種常見的類型,往往在用戶瀏覽或購買指定商品後,以一個或多個推薦位的形式出現。
- 一般推薦系統的設計架構:
- 召回-排序架構是一般推薦系統的主流架構。推薦系統首先根據不同的召回策略,如:新熱召回,速度召回,協同過濾等召回item,此時item數量相對推薦位來講仍然可能過載並且無序,就需要排序模型進行排序,取出指定數量的topN顯示。在這個過程中,還將加入一些審覈規則對item進行過濾,防止重複推薦(推薦同一商品)或過度推薦(一次性消費商品的相關推薦)。
第二步: 整合核心知識點形成答案
答案
“猜你喜歡”類型的推薦系統設計仍然符合一般推薦系統的主流設計架構: 召回-排序架構。根據更具體的業務場景,設計推薦系統的召回策略,不限於新熱召回,速度召回,協同過濾等,之後爲了避免出現重複推薦或過度推薦,應加入瀏覽或已購商品的過濾器,最後使用排序模型進行排序,取出指定數量的topN以匹配推薦位數量。