數據準備
爲用戶guyong準備基於用戶的推薦結果
爲用戶guyong準備基於物品的推薦結果,該結果基於用戶上一次的瀏覽記錄生成
準備物品與物品的相似度數據–基於物品的相似度推薦
準備物品與物品的相似度數據----基於內容的相似度推薦
爲廣告位(猜你喜歡)121準備默認的推薦結果
初始化所有的商品信息
功能實現分析
1)用戶在商城瀏覽商品,將用戶的瀏覽記錄保存到Cookie,隨着用戶的請求傳送給推薦服務接口。推薦服務接收到用戶的基本信息和瀏覽信息。
另一種思路,可以通過消費點擊流日誌,將用戶的行爲保存到Redis中,推薦服務通過訪問Redis獲取用戶的行爲記錄。
2)推薦接口從用戶的基本信息中獲取到三種推薦結果(離線結果)
- 基於歷史數據,計算的基於用戶的協同過濾的推薦結果,推薦數量24。
- 基於用戶上一次行爲記錄,計算的基於物品的協同過濾推薦結果,推薦數量24。這裏根據用戶對某一個商品的瀏覽次數進行加權。
- 基於用戶上一次行爲記錄,計算的基於內容的推薦結果,推薦數量24。這裏根據用戶對某一個商品的瀏覽次數進行加權。
3)推薦接口從用戶的瀏覽信息中獲取用戶當前會話的的行爲記錄,並以此計算基於物品和基於內容的實時推薦結果
- 基於用戶本次會話的記錄,計算基於物品的推薦結果,推薦數量爲24
- 基於用戶本次會話的記錄,計算基於內容的推薦結果,推薦數量爲24。
4)對以上的反饋的推薦結果進行排序,排序的過程中對商品去重
- 按照業務需求對結果排序,第一位是基於物品的實時推薦結果,依次類推。在排序的過程匯中,需要對推薦的商品進行排序。
- 推薦結果生成完畢之後,對整體的推薦結果的產品數量進行補全和刪除操作。補全使用該推薦位的默認推薦產品進行補全。
5)設置業務人員強推的商品,根據業務人員指定的商品序號,替換掉推薦結果中對應序號的推薦商品。
注:整體思路如此,後續推薦模型可以持續進行優化,包括對推薦結果進行加權。