
打造獨特觀影體驗
Netflix的三層推薦系統
2024 Dec 23 未分類
內容目錄

Netflix的推薦系統可以分成三層,分別是 離線(Offline)、近線(Nearline) 和 線上(Online)。以下用簡單易懂的方式解釋每一層的功能和工作原理:
Netflix三層推薦系統
離線層(Offline)
主要目標: 分析大量的歷史數據,訓練機器學習模型。
- 運作方式:
- 收集用戶行為數據(例如觀看記錄、評分、瀏覽歷史)並存放在大數據平台如 Hadoop。
- 使用這些數據進行模型訓練,建立推薦算法。
- 訓練好的模型會產生「預測結果」,例如:用戶可能喜歡哪些影片。
- 特點: 這一層的計算速度不需要很快,因為主要是批量處理過去的數據。
近線層(Nearline)
- 主要目標: 根據用戶的近期活動進行更新,保持推薦內容的相關性。
- 運作方式:
- 收集即時的用戶活動(例如最近觀看了什麼影片)並存儲在系統中(如 Cassandra、MySQL 等)。
- 根據這些即時行為,調整推薦結果,但不需要立即顯示給用戶。
- 這些更新會與離線訓練的模型結合,生成更準確的推薦。
- 特點: 反應速度介於離線和線上之間,專注於「近期」的數據更新。
線上層(Online)
- 主要目標: 實時生成推薦,提供用戶立即需要的內容。
- 運作方式:
- 用戶在瀏覽或播放影片時,系統會即時向 推薦算法服務(Algorithm Service) 請求推薦結果。
- 這些結果是基於用戶的即時行為和之前模型生成的數據。
- 將推薦的內容直接展示在用戶介面(例如首頁的推薦影片列表)。
- 特點: 重視即時性,速度非常快,確保用戶獲得立即可用的推薦。
整體運作總結
- 離線層 提供了基礎的模型,負責長期的分析與策略。
- 近線層 進行近期的調整,讓推薦結果更加動態。
- 線上層 負責最終的實時推薦,提供即時互動的體驗。
這三層系統互相配合,確保用戶能夠在任何時間看到最相關、最個性化的推薦內容。
案例
以電影《魔戒》為例的推薦對象選擇
離線層(Offline)
- 數據基礎: 分析數百萬用戶對奇幻電影(如《哈利波特》、《冰與火之歌》)的觀看記錄和評分。
- 模型訓練: 發現喜歡奇幻、冒險類型的用戶對《魔戒》感興趣。
- 推薦目標: 對過去喜歡相關題材的用戶進行推薦。
近線層(Nearline)
- 近期行為: 若用戶最近觀看了《魔戒》的預告片或相關內容(如《霍比特人》)。
- 調整模型: 提高《魔戒》在推薦列表中的排名,並補充相關主題的影片(如《納尼亞傳奇》)。
線上層(Online)
- 即時互動: 當用戶搜尋「魔法」或「冒險」相關詞語時,立即推薦《魔戒》。
- 個性化結果: 根據用戶當下的觀看記錄,推薦特定版本(如加長版或字幕版)或同類影片。
40歲事業有成的男性創業主,家中有兩個三歲雙胞胎
離線層(Offline)
- 數據基礎: 分析相似人群(40歲男性,育有幼兒)的觀看習慣。
- 模型訓練: 發現此群體喜歡職場相關影片(如《創業玩家》)及兒童動畫(如《汪汪隊》)。
- 推薦目標: 提供家庭與職場兼顧的影片內容。
近線層(Nearline)
- 近期行為: 若該用戶最近觀看了《TED創業講座》或雙胞胎喜歡的動畫影片。
- 調整模型: 同時推薦「幼兒動畫片」(如《小豬佩奇》)和職場相關紀錄片(如《商業大師》)。
線上層(Online)
- 即時互動: 當用戶使用多台設備(例如平板給小孩看動畫,電視看紀錄片),自動識別偏好。
- 個性化結果: 在早上推薦職場影片(如晨間激勵),晚上推薦兒童影片供親子時光使用。
推薦延伸閱讀
Netflix技術部落格原文
哈佛推薦系統課
0則留言