An Introduction to Recommender Systems
前言
網路已成為電商交易間的發展推薦系統的工具。比較常見的兩種方法:
- 典型的方法就是靠用戶的評分 (explicit ratings)
- 追蹤用戶的「購買」、「瀏覽」行為進行 (implicit ratings)
推薦系統的最大目的就是利用各種資料來源推論消費者的興趣、嗜好。又可分為兩種問題的解法:
- Prediction version of problem: 假設整個資料是由m個user對n個item的評比,然而這張m x n的大型陣列中必含一大堆的缺值,而這個問題則是在處理item-user combination中對於缺值做預測的 ,因此又稱為「matrix completion problem」。
- Ranking version of problem: 但在實際中,我們對於預測的數值並不是那麼感興趣,站在賣方的角度,他們在意的是推薦top-k items於特定用戶或是反過來找出top-k用戶於特定產品。(但實際上而言,決定top-k items的例子是廣泛用於業界。)此又被稱為「top-k recommendation problem」
推薦系統最直接的實際效用就是增加業主的銷量,間接帶來豐厚的利潤。為達到這樣的效果,好的推薦系統應包含下列四種特性:
- 關聯性 (Relevance):這是最直觀的特性,也就是推薦相關的產品給用戶。但只有關聯性是絕對不足以構成好的推薦系統。
- 新穎性 (Novelty):推薦用戶從沒看過的產品。舉例來說,在你家樓下開一間印度料理,方圓百里可能都沒有任何一間印度料理,雖然沒看過但也不會覺得特別奇怪,因為你知道印度料理有名的是香料或是咖哩。打破新穎性的方式就是不斷重複推薦用戶。但重複推薦的副作用則是會降低產品的歧異度(reduction in sales diversity)。
- 機運 (Serendipity):很類似新穎性,但差別在於要推薦的產品對於用戶來說是非常意外,感到驚奇的。例如在你家樓下開一間巴塔哥尼亞鴕肉燒烤店,這時你不僅沒看過,而且還會帶有好奇驚艷的情緒,那這就是機運的精髓了。
- 增加推薦的歧異度 (Increasing recommendation diversity):這點非常重要,當推薦系統發出一份top-k items的推薦表單給用戶,若這些產品性質非常雷同,那用戶可能完全不買帳。反過來說,當這些產品異質性較高的情況下,用戶很高的機率至少會選擇一項產品。歧異度可以延長用戶的新鮮感,並對推薦系統所推薦的商品也比較能接受。
推薦系統運用的商業實例
- GroupLens: 推薦系統的先驅,源自於Usenet news文章推薦的原型。
- Amazon.com: 也是推薦系統的先驅之一,將推薦系統應用於書籍、CD片、軟體、3C產品的推薦,他們除了利用五點量表評分外,也去洞察會員於網頁上的瀏覽、購物行為
- Netflix: Netflix早期為數位DVD的出租公司,最後發展成電影、電視劇的串流式傳輸服務。Netflix也是用到會員對於電影的五點量表評分。Netflix有個非常好的特點,就是在推薦電影給會員時,會同時解釋推薦的原因。幫助會員了解為何會推薦給我這系列的電影(或是「為何我會喜歡這類的電影」)。
- Facebook: 臉書的推薦並不是一般的商品,而是利用推薦系統來預測用戶的社會網絡連結的強度 (link prediction)。這類型的推薦系統並不是依照評分資料,而是去分析網絡中的結構關係。
推薦系統的基本架構模型
- Collaborative Filtering Models
- Memory-based methods: Neighborhood-based collaborative filtering algorithms
- User-based collaborative filtering
- Item-based collaborative filtering
- Model-based methods: Decision trees, rule-based models, Bayesian methods and latent factor models.
-
Content-Based Recommender Systems
- 對item 或 user進行標籤化。多了更多的標籤就可以推薦類似的產品
-
Knowledge-Based Recommender Systems
- 當item的 attributes過多的情況下,很難知道user是不是只對特定的attribute有興趣。此時knowledge-base 推薦系統倚賴的並不是ratings,而是針對user的requirement以及attribute匹配的程度來做推薦
- The Cold-Start Problem
- 推薦系統的其中一個挑戰就是最開始的資料還不夠龐大,若用Collaborative Filtering Models估算會有很大的誤差。因此最開始可以採用Content-Based或是Knowledge-Based Recommender Systems (雖然說這兩種也不一定一直是最適切的)
Ref: Aggarwal, C. C. (2016). Recommender Systems: The Textbook. Springer.