YD's blog

Posted 四 04 8月 2016

An Introduction to Recommender Systems

前言

網路已成為電商交易間的發展推薦系統的工具。比較常見的兩種方法:


推薦系統的最大目的就是利用各種資料來源推論消費者的興趣、嗜好。又可分為兩種問題的解法:

  1. Prediction version of problem: 假設整個資料是由m個user對n個item的評比,然而這張m x n的大型陣列中必含一大堆的缺值,而這個問題則是在處理item-user combination中對於缺值做預測的 ,因此又稱為「matrix completion problem」。
  2. Ranking version of problem: 但在實際中,我們對於預測的數值並不是那麼感興趣,站在賣方的角度,他們在意的是推薦top-k items於特定用戶或是反過來找出top-k用戶於特定產品。(但實際上而言,決定top-k items的例子是廣泛用於業界。)此又被稱為「top-k recommendation problem」

推薦系統最直接的實際效用就是增加業主的銷量,間接帶來豐厚的利潤。為達到這樣的效果,好的推薦系統應包含下列四種特性:

  1. 關聯性 (Relevance):這是最直觀的特性,也就是推薦相關的產品給用戶。但只有關聯性是絕對不足以構成好的推薦系統。
  2. 新穎性 (Novelty):推薦用戶從沒看過的產品。舉例來說,在你家樓下開一間印度料理,方圓百里可能都沒有任何一間印度料理,雖然沒看過但也不會覺得特別奇怪,因為你知道印度料理有名的是香料或是咖哩。打破新穎性的方式就是不斷重複推薦用戶。但重複推薦的副作用則是會降低產品的歧異度(reduction in sales diversity)。
  3. 機運 (Serendipity):很類似新穎性,但差別在於要推薦的產品對於用戶來說是非常意外,感到驚奇的。例如在你家樓下開一間巴塔哥尼亞鴕肉燒烤店,這時你不僅沒看過,而且還會帶有好奇驚艷的情緒,那這就是機運的精髓了。
  4. 增加推薦的歧異度 (Increasing recommendation diversity):這點非常重要,當推薦系統發出一份top-k items的推薦表單給用戶,若這些產品性質非常雷同,那用戶可能完全不買帳。反過來說,當這些產品異質性較高的情況下,用戶很高的機率至少會選擇一項產品。歧異度可以延長用戶的新鮮感,並對推薦系統所推薦的商品也比較能接受。

推薦系統運用的商業實例


推薦系統的基本架構模型


Ref: Aggarwal, C. C. (2016). Recommender Systems: The Textbook. Springer.

Category: Stat
Tags: Recommender System Stat