iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 0
0
AI & Data

推薦系統系列 第 3

Day 3 - Content-based 推薦系統

剛剛才發現我第一天的文還是沒發到...
結果 Day 2 變成第一篇文章,整個亂了套...
另外登入系統好像有點問題,昨天不知為何會看到別人的通知...

今天和明天,我會再詳細一點地介紹 Content-based 和 Collaborative-filtering 這兩大類型的推薦系統,看一看系統的大架構,並帶出一些會使用到的方法和名詞,先有了大概念以後,再來一一地詳細介紹。看完架構以後,也會再深入一點點地講一下各自的優缺點和造成的原因。

Content-based 的推薦系統的概念在上一篇有講過,基本上就是推薦給 User 與他過去喜歡的 Item 相似的東西。也就是,把儲存在 user profile (使用者檔案、資訊) 中的使用者偏好與興趣,與 Item 的特徵對應。以下介紹 Content-based 推薦系統的大架構。

一個 Item 進入推薦系統時,會先被 Content Analyzer 處理,利用一些 資訊檢索 的方法,將 Item 的內容,轉變成 feature ,例如將商品的文字描述切成關鍵字。
這些 feature 會和 User 對 Item 的反應一起被送到 Profile Learner 透過一些 機器學習 的方法做處理,轉變成可以代表 User 偏好的資訊,存到 user profile 中。
Filtering Component 負責比對 Content Analyzer 產生的 Item feature 和 user profile 中的使用者偏好,計算 Item 和 User 的相關程度,由此就可以決定一個 Item 是否要被推薦,或是它在推薦清單中應該排前還是排後。
在推薦 Item 產生後,User 如果跟 Item 有互動,就會產生 feedback。 feedback 有可能是的喜歡/不喜歡、評分、評論...等。剛剛有提到,這些 feedback 會跟 feature 一起被送到 Profile Learner,用來判斷 User 是否喜歡該 Item,並將這個資訊存到 user profile 中。
feedback-learning 的迴圈不斷進行,讓推薦系統能學習到 User 的偏好。

這樣設計的推薦系統,和 collaborative-filtering 的推薦系統相比,會有什麼樣的優點及缺點呢?
首先來講優點:

  1. User 獨立性
    只要有 user profile 就可以計算推薦,不像協同過濾需要其他 User 的資訊。
  2. 透明、好解釋
    相較於像個黑盒子的協同過濾,user profile 中存的 User 偏好,和 Item 的 feature,可以很容易解釋為什麼系統會推薦某個 Item 給 User。
  3. New Item 也適用
    只要 Item 能夠抽出 feature,就可以和 user profile 的 User 偏好比對來做出推薦,不必和協同過濾一樣,要等到有其他 User 對 New Item 評分,系統才能計算推薦。

相對應的,Content-based 推薦系統也有些缺點:

  1. Feature 數量的限制
    由於 Content-based 系統中用來學習的 feature 是由 Item 內容中抽取的,有限的內容當然也只能有有限的 feature。像是笑話、詩這種內容少的 Item,而 feature 是 keyword 的頻率的話,就會有這個問題。
  2. New User 問題
    當一個新的 User 開始使用系統,它的 user profile 是空的,當然也就沒辦法推薦 Item 囉。
  3. Over-Specialization
    由於 Content-based 最初的概念就是用 User 以前喜歡的 Item 來推薦,系統推薦的 Item 就會被侷限,無法做出一些比較有趣的推薦。書中把這件事叫做 缺乏驚喜 (serendipity)

明天會介紹 collaborative-filtering 的推薦系統,敬請期待 ~


上一篇
Day 1 - 推薦系統
下一篇
Day 4 - Collaborative-filtering 推薦系統
系列文
推薦系統4
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言