Netflix與YouTube的「推薦系統」如何挑選影片給我?

Netflix與YouTube的「推薦系統」如何挑選影片給我?
我們想讓你知道的是

「推薦系統」早在1990年代就演變成一門獨立的學問,經過不斷的演進,今天的演算方式可以針對小數量的電影計算,保留最符合標準的電影,並捨棄其他,比早先的計算方式可以快上10倍以上。

唸給你聽
powered by Cyberon

推薦系統在現今社會可說是無處不在。當你在亞馬遜瀏覽網路書店時,網站上的推薦清單讓你更有機會找到有興趣的書籍;影音串流網站Netflix根據你看過的影集及電影給你專屬化推薦,讓你不必煩惱如何選片。推薦系統流派與方法的發展雖已趨於成熟,但在現今科技蓬勃發展、凡事講求快狠準的時代,如何兼顧速度與準確度,有效滿足社會需求,不被企業及消費者淘汰,仍有很大的進步空間。

推薦系統

1990年代中期,由於「評分結構」的研究逐漸受到重視,「推薦系統」於是演變成一門獨立的學問;在多數情況下,其可以被概括為「估計用戶對未知商品評分的問題」。一旦我們可以估計用戶對未知商品的評分,就可以找出分數最高的商品推薦給用戶。

假設:

C:所有用戶形成的集合;
S:所有潛在物品形成的集合;
u:為評估商品(s)對用戶(c)的效用函數(utility function),

針對某用戶c,我們希望能推薦一項在S集合中對用戶c效用最大的商品s。上述想法可簡單表示如下:

針對一用戶c,我們可以用一系列例如年齡、性別、所得的特徵來表示;同樣地,我們也可以用一系列的商品特徵來定義一商品s,以電影推薦系統為例,電影名稱、類型、導演與演員等,都可被用以定義s。

效用函數通常只在一部分的集合中有完整的對應值。例如在電影推薦系統中,一般收視戶可能只為一小部分的電影評過分,我們可以簡單的用戶—評分表格表示:

推薦系統的目標,就是以各種方法推估表格內空集合(Ø)的值。如此,我們才能從所有商品中選出最高分的前幾種商品推薦給用戶。

需要注意的是:所推薦的商品雖應與用戶喜好相似,卻也需與用戶過往的瀏覽紀錄有一定的區別,帶有一些新意,而非舊調重彈,例如針對同一事件但不同敘述的報導。依據估計評分的方式,可以將推薦系統大致分為「基於內容」、「偕同過濾」或「混和過濾」等三類(以下皆以電影推薦系統為例)。

  • 基於內容的推薦(Content-Based Recommendations)

此方法只運用用戶c評分過的電影資訊,去推測他(她)對未評分過的電影s的評分。核心概念是從該用戶已評分的電影中,找出n項與s最相似的電影,並推薦這些電影給該用戶。此方法可以透過兩種方式實踐:啟發式學習以及模型學習。

前者主要是運用一系列的關鍵字去代表用戶及電影,並計算用戶及不同電影之間的相似程度,相似程度的衡量可以用相關係數等指標量化;後者則是將模型套用到現有資料,學習並進而預測電影評分,許多模型都可以運用在推薦系統,諸如決策樹、貝氏分類器、類神經網路等。

  • 協同過濾推薦(Collaborative Recommendations)

此方法利用與用戶c相似的用戶群的資料,來推估c對電影s的評分。至於如何找到與用戶c有相似品味的用戶群,則可分為兩種方法——記憶式學習及模型學習。前者藉由兩用戶共同評分過的電影,來計算兩者間的相似度(可以用相關係數或餘弦相似性表示),並以此將中每位用戶對電影s的評分做加權平均,得到評分估計。後者則是直接將模型套用到所有用戶對該電影s的評分資料,學習並預測電影評分。

  • 混和推薦(Hybrid Recommendations)

上述兩種方法可以下列四種方式結合,截長補短,使得即使在評分資料稀少,如新用戶或新電影時,仍可適用:

  1. 分別運用「基於內容」與「協同過濾」兩方法預測評分,再結合兩者評分得到最終評分
  2. 將「基於內容」的用戶特徵加入「協同過濾」法內,以預測評分。兩用戶間用來計算相似度的特徵不再僅限於共同評分過的電影,也可以包含用戶的基本資料
  3. 將「協同過濾」的特徵加入「基於內容」內預測評分
  4. 發展一套結合兩方法之特徵的預測模型
lno2vxczoeuyhozcuuykjs6ag67x5b
Credit: Depositphotos
更省時的推薦演算法

上述方法奠定了推薦演算法的基礎,但卻有一個共同問題:運算時間。無論是基於內容、協同過濾或混合推薦法,都必須在瀏覽過所有電影及用戶資料後,方可開始計算。隨著資料量增長,計算時間也勢必大幅拉長,如何降低運算時間因而成為重要議題。今年(2018)7月12日機器學習研討會中,由哈佛大學電腦科學家Yaron Singer 與Eric Balkanski提出的演算法,能在短時間內找出最佳解,更聰明也更快速地解決問題。

相較於傳統電影推薦系統,需在瀏覽所有電影資料庫的電影後,方能列出推薦清單;新的演算法一開始只選取一定數量的電影,在這些電影之中找出最符合推薦標準的幾部電影,並捨棄未選上的電影,而後再由縮小後的資料庫中隨機選取一定數量的電影,保留最符合標準的電影,並捨棄其他,持續重複上述步驟。如此做法,創建推薦清單的速度是傳統演算法的10倍以上。

而其應用範圍,也不僅限於電影推薦。在另一個試驗中,這種新的演算法能迅速找出紐約計程車的最佳路徑,速度是傳統方法的六倍以上。除此之外,也可以加速資料處理的速度,並拓廣運用到如社群媒體或基因資料的分析。


編譯來源
參考資料
  1. Adomavicius, G., Tuzhilin, A. "Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions. "IEEE Transactions on Knowledge and Data Engineering 17(6), pp.734–749, 2005.
  2. Basu, Chumki, Haym Hirsh, and William Cohen. "Recommendation as classification: Using social and content-based information in recommendation." Aaai/iaai, pp. 714-720, 1998.

本文由教育部補助「AI報報─AI科普推廣計畫」執行團隊編譯,編譯者:陳育婷(台大統計碩士學程 ),原文發表於此

延伸閱讀

臺大科教中心講座:科學史沙龍(華山場)

講題:
1.【海洋微生物知多少】謝志豪|臺灣大學海洋研究所教授
2.【臺灣海洋科學研究:半世紀的風華】詹森|臺灣大學海洋研究所教授

時間:2019.05. 05(日)14:00-16:00
地點:華山文創園區中三館二樓拱廳

詳細資訊請參閱活動網頁

責任編輯:丁肇九
核稿編輯:翁世航

或許你會想看
更多『評論』文章 更多『科學』文章 更多『臺大科教中心』文章
Loader