各大知名網站的推薦系統

1. 前言

       隨着互聯網技術和社會化網絡的發展,每天有大量包括博客,圖片,視頻,微博等等的信息發佈到網上。傳統的搜索技術已經不能滿足用戶對信息發現的需求,原因有多種,可能是用戶很難用合適的關鍵詞來描述自己的需求,也可能用戶需要更加符合他們興趣和喜好的結果,又或是用戶無法對自己未知而又可能感興趣的信息做出描述。推薦引擎的出現,可以幫用戶獲取更豐富,更符合個人口味和更加有意義的信息。

個性化推薦根據用戶興趣和行爲特點,向用戶推薦所需的信息或商品,幫助用戶在海量信息中快速發現真正所需的商品,提高用戶黏性,促進信息點擊和商品銷售。推薦系統是基於海量數據挖掘分析的商業智能平臺,推薦主要基於以下信息:

l熱點信息或商品

l用戶信息,如性別、年齡、職業、收入以及所在城市等等

l用戶歷史瀏覽或行爲記錄

l社會化關係


2. 個性化推薦算法

    2.1. 基於人口統計學的推薦

       基於人口統計學的推薦機制(Demographic-based Recommendation)是一種最易於實現的推薦方法,它只是簡單的根據系統用戶的基本信息發現用戶的相關程度,然後將相似用戶喜愛的其他物品推薦給當前用戶。

首先,系統對每個用戶都有一個用戶 Profile 的建模,其中包括用戶的基本信息,例如用戶的年齡,性別等等;然後,系統會根據用戶的 Profile 計算用戶的相似度,可以看到用戶 A  Profile 和用戶 C 一樣,那麼系統會認爲用戶 A  C 是相似用戶,在推薦引擎中,可以稱他們是“鄰居”;最後,基於“鄰居”用戶羣的喜好推薦給當前用戶一些物品。

這種基於人口統計學的推薦機制的好處在於:

l因爲不使用當前用戶對物品的喜好歷史數據,所以對於新用戶來講沒有“冷啓動(Cold Start)”的問題。

l這個方法不依賴於物品本身的數據,所以這個方法在不同物品的領域都可以使用,它是領域獨立的(domain-independent)。

然後,這個方法的缺點和問題就在於,這種基於用戶的基本信息對用戶進行分類的方法過於粗糙,尤其是對品味要求較高的領域,比如圖書,電影和音樂等領域,無法得到很好的推薦效果。另外一個侷限是,這個方法可能涉及到一些與信息發現問題本身無關卻比較敏感的信息,比如用戶的年齡等,這些用戶信息不是很好獲取。


     2.2. 基於內容的推薦

       基於內容的推薦是在推薦引擎出現之初應用最爲廣泛的推薦機制,它的核心思想是根據推薦物品或內容的元數據,發現物品或者內容的相關性,然後基於用戶以往的喜好記錄,推薦給用戶相似的物品。這種推薦系統多用於一些資訊類的應用上,針對文章本身抽取一些tag作爲該文章的關鍵詞,繼而可以通過這些tag來評價兩篇文章的相似度。

這種推薦系統的優點在於:

l易於實現,不需要用戶數據因此不存在稀疏性和冷啓動問題。

l基於物品本身特徵推薦,因此不存在過度推薦熱門的問題。

然而,缺點在於抽取的特徵既要保證準確性又要具有一定的實際意義,否則很難保證推薦結果的相關性。豆瓣網採用人工維護tag的策略,依靠用戶去維護內容的tag的準確性。


    2.3. 基於關聯規則的推薦

       基於關聯規則的推薦更常見於電子商務系統中,並且也被證明行之有效。其實際的意義爲購買了一些物品的用戶更傾向於購買另一些物品。基於關聯規則的推薦系統的首要目標是挖掘出關聯規則,也就是那些同時被很多用戶購買的物品集合,這些集合內的物品可以相互進行推薦。目前關聯規則挖掘算法主要從AprioriFP-Growth兩個算法發展演變而來。

基於關聯規則的推薦系統一般轉化率較高,因爲當用戶已經購買了頻繁集合中的若干項目後,購買該頻繁集合中其他項目的可能性更高。該機制的缺點在於:

l計算量較大,但是可以離線計算,因此影響不大。

l由於採用用戶數據,不可避免的存在冷啓動和稀疏性問題。

l存在熱門項目容易被過度推薦的問題。


       2.4. 基於協同過濾的推薦

        協同過濾是一種在推薦系統中廣泛採用的推薦方法。這種算法基於一個“物以類聚,人以羣分”的假設,喜歡相同物品的用戶更有可能具有相同的興趣。基於協同過濾的推薦系統一般應用於有用戶評分的系統之中,通過分數去刻畫用戶對於物品的喜好。協同過濾被視爲利用集體智慧的典範,不需要對項目進行特殊處理,而是通過用戶建立物品與物品之間的聯繫。

目前,協同過濾推薦系統被分化爲兩種類型:基於用戶(User-based)的推薦和基於物品(Item-based)的推薦。


     2.4.1. 基於用戶的推薦

       基於用戶的協同過濾推薦的基本原理是,根據所有用戶對物品或者信息的偏好(評分),發現與當前用戶口味和偏好相似的“鄰居”用戶羣,在一般的應用中是採用計算“K-Nearest Neighboor”的算法;然後,基於這 K 個鄰居的歷史偏好信息,爲當前用戶進行推薦。

這種推薦系統的優點在於推薦物品之間在內容上可能完全不相關,因此可以發現用戶的潛在興趣,並且針對每個用戶生成其個性化的推薦結果。缺點在於一般的Web系統中,用戶的增長速度都遠遠大於物品的增長速度,因此其計算量的增長巨大,系統性能容易成爲瓶頸。因此在業界中單純的使用基於用戶的協同過濾系統較少。


      2.4.2. 基於物品的推薦

       基於物品的協同過濾和基於用戶的協同過濾相似,它使用所有用戶對物品或者信息的偏好(評分),發現物品和物品之間的相似度,然後根據用戶的歷史偏好信息,將類似的物品推薦給用戶。基於物品的協同過濾可以看作是關聯規則推薦的一種退化,但由於協同過濾更多考慮了用戶的實際評分,並且只是計算相似度而非尋找頻繁集,因此可以認爲基於物品的協同過濾準確率較高並且覆蓋率更高。

同基於用戶的推薦相比,基於物品的推薦應用更爲廣泛,擴展性和算法性能更好。由於項目的增長速度一般較爲平緩,因此性能變化不大。缺點就是無法提供個性化的推薦結果。

兩種協同過濾,在基於用戶基於物品兩個策略中應該如何選擇呢?其實基於物品的協同過濾推薦機制是 Amazon 在基於用戶的機制上改良的一種策略,因爲在大部分的 Web 站點中,物品的個數是遠遠小於用戶的數量的,而且物品的個數和相似度相對比較穩定;同時基於物品的機制比基於用戶的實時性更好。但也不是所有的場景都是這樣的情況,在一些新聞推薦系統中,也許物品,也就是新聞的個數可能大於用戶的個數,而且新聞的更新程度也有很快,所以它的相似度依然不穩定。所以,推薦策略的選擇其實也和具體的應用場景有很大的關係。

基於協同過濾的推薦機制是現今應用最爲廣泛的推薦機制,它有以下幾個顯著的優點:

l它不需要對物品或者用戶進行嚴格的建模,而且不要求物品的描述是機器可理解的,所以這種方法也是領域無關的。

l這種方法計算出來的推薦是開放的,可以共用他人的經驗,很好的支持用戶發現潛在的興趣偏好。

然後而它也存在以下幾個問題:

l方法的核心是基於歷史數據,所以對新物品和新用戶都有“冷啓動”的問題。

l推薦的效果依賴於用戶歷史偏好數據的多少和準確性。

l在大部分的實現中,用戶歷史偏好是用稀疏矩陣進行存儲的,而稀疏矩陣上的計算有些明顯的問題,包括可能少部分人的錯誤偏好會對推薦的準確度有很大的影響等等。

l對於一些特殊品味的用戶不能給予很好的推薦。

l由於以歷史數據爲基礎,抓取和建模用戶的偏好後,很難修改或者根據用戶的使用演變,從而導致這個方法不夠靈活。


3.推薦系統與廣告投放

       互聯網上的主題廣告推廣(例如,百度推廣,google adsense)的目標在於實現一個面向用戶的個性化廣告投放系統。通過把個性化推薦算法在廣告投放中的應用,就實現了我們個性化廣告投放的目標。那麼,這種演變是如何實現的呢?

在互聯網中,例如,百度,擁有大量的網頁信息,而主題廣告推廣的對象不是用戶而是某一類型的頁面。通過類比,每種網頁類型對應於推薦系統中的一個用戶,而每一個廣告就對應於推薦系統中的一個物品,網頁類型(用戶)對廣告(物品)的評分則可以用該網頁類型中投放廣告時的點擊情況來計算,這樣就構成了一個user-item-rating的矩陣。也就是,通過協同過濾算法可以實現對不同類型的網頁進行廣告推薦。

此外,實際應用協同過濾算法來進行廣告投放也存在一個些問題。例如,協同過濾中的“冷啓動”問題,也就是新增廣告條目的推薦需要額外考慮;同時,也需要考慮用戶對廣告的接受程度,廣告庫存率等問題。


4. 業界個性化推薦系統

4.1. Yahoo!Resarch - Web-ScaleRecommendation Systems

2011推薦系統論壇中,來自Yahoo!的Yehuda Koren分享了他對於互聯網中推薦系統的經驗。在
中,簡單介紹了目前廣泛流行的協同過濾推薦機制;另外分析了一些推薦系統中值得注意的一些問題:

lBias Matters

在實際的應用中,用戶並不是隨機地選擇物品去打分,而是隻選擇那些和他們興趣相關的物品打分,絕大多數用戶往往忽略了去給那些沒有興趣的物品打分。Koren通過分析Netflix Prize數據,Koren發現用戶對視頻的評分變化中,Bias可以解釋其中的33%,而個性化只能解釋其中的10%,剩下的57%暫時還得不到解釋。

lEliciting user feedback

Koren的目標是解決推薦系統的cold-start問題,例如,Yahoo Movie中,對於新用戶,很難預測他們的喜好(對視頻的評分)。那麼,可以選一些視頻讓新用戶打分,從而獲取他們的興趣數據。在此過程中,使用了決策樹模型來引導用戶評分,可以用盡量少的視頻,最大程度地瞭解用戶興趣。

lEstimating confidence in recommendations

在推薦系統中,我們需要對被推薦物品的可信度進行估計,從而得出更爲可信的物品來進行推薦。Koren在這裏提出了基於概率的可信度計算方法,也就是根據對評分(用戶對物品)的概率預測,然後利用熵,標準方差,或是Gini不純度等概率分佈來對物品可信度進行評估。

4.2. 淘寶推薦系統

淘寶推薦系統的目標就是要爲各個產品提供商品,店鋪,人,類目屬性各種維度的推薦。它的核心就是以類目屬性和社會屬性爲紐帶,將人,商品和店鋪建立起聯繫。


1.png





淘寶的寶貝推薦原則:

l基於內容的和關聯規則

l全網優質寶貝算分

l根據推薦屬性篩選TOP

l基於推薦屬性的關聯關係

l採用搜索引擎存儲和檢索優質寶貝

l加入個性化用戶信息

根據用戶的購買和收藏記錄產生可推薦的關聯規則。對優質寶貝的算分需要考慮商品的相關屬性,包括描述,評價,名稱,違規,收藏人氣,累計銷量,UV,以及PV等等。此外,推薦系統根據用戶的瀏覽,收藏,購買行爲以及反饋信息,在Hadoop上來計算用戶帶權重的標籤,用於進行個性化推薦。

那麼,淘寶是如何利用個性化推薦的結果呢?下圖展示了淘寶基於個性化推薦的5W營銷系統:



在個性化推薦之上,淘寶還實現了基於內容的廣告投放。由於個性化推薦出來的物品是用戶所感興趣的,可以想象,基於此之上的廣告投放也應該會行之有效。

衆所周知,淘寶具有海量的數據和商品問題,這裏列舉了淘寶數據的一些參數:超過8億種在線商品,100萬產品,4萬屬性,等等。在淘寶實現推薦系統可能遇到的各種各樣的難題,其中有:

l商品種類繁多,生命週期短,很難及時收集到足夠多的點擊或購買數據,這使得基於用戶行爲的推薦方法,比如基於物品的推薦方法,發揮空間有限。

l因爲商品是由賣家而非網站登記的,數據的規範性差,這又給基於內容的推薦帶來了很大的困難。

l8億種商品中,重複的商品種類應該非常多,需要儘量避免推薦重複種類的商品給用戶,但在數據規範性差、區分度差的情況下,如何歸併重複商品種類,這本身也是個很大的難題。

l大多數推薦系統只需要考慮如何滿足買家的需求,在淘寶,還要考慮賣家的需求。

4.3. 豆瓣的推薦引擎 - 豆瓣猜

豆瓣網在國內互聯網行業美譽度很高,這是一家以幫助用戶發現未知事物爲己任的公司。它的“豆瓣猜”是一種個性化的推薦,其背後採用了基於用戶的協同過濾技術。那麼,豆瓣猜是如何向我們推薦產品的呢?

首先,確定什麼樣的產品適合推薦?豆瓣猜提出選擇”具有媒體性的產品 (Media Product)“來進行推薦,即選擇多樣、口味很重要、單位成本不重要,同時能夠廣泛傳播 (InformationCascade)的產品;接着在對真實的數據集進行定量分析後,進一步得出,應該是條目增長相對穩定、能夠快速獲得用戶反饋,數據稀疏性與條目多樣性、時效性比較平衡的產品,纔是適合推薦的產品。

其次,豆瓣網的推薦引擎面對高成長性的挑戰,通過降低存儲空間,近似算法與分佈式計算的設計,來實現對基於用戶的協同過濾推薦系統的線性擴展。

最後,針對當前推薦系統面臨的問題,包括傾向於給出平庸的推薦,有信息無結構,以及缺乏對用戶的持續關注等黑盒推薦問題。豆瓣提出了分爲 Prediction,Forecasting,Recommendation 三個階段的下一代推薦系統,並探討了一種下一代推薦引擎的構想——基於用戶行爲模型的、有記憶的、可進化的系統。

4.4. Hulu的個性化推薦

Hulu是一家美國的視頻網站,它是由美國國家廣播環球公司(NBC Universal)和福克斯廣播公司(Fox)在20073月共同投資建立的。在美國,Hulu已是最受歡迎的視頻網站之一。它擁有超過250個渠道合作伙伴,超過600個頂級廣告客戶,3千萬的用戶,3億的視頻,以及11億的視頻廣告。廣告是衡量視頻網站成功與否的一個重要標準。事實證明,Hulu的廣告效果非常好,若以每千人爲單位對廣告計費,Hulu的所得比電視臺在黃金時段所得還高。那麼,是什麼讓Hulu取得了這樣的成功呢?

通過對視頻和用戶特點的分析,Hulu根據用戶的個人信息,行爲模型和反饋,設計出一個混合的個性化推薦系統。它包含了基於物品的協同過濾機制,基於內容的推薦,基於人口統計的推薦,從用戶行爲中提煉出來的主題模型,以及根據用戶反饋信息對推薦系統的優化,等等。此個性化推薦系統也進而成爲了一個產品,用於給用戶推薦視頻。這個產品通過問答的形式,與用戶進行交互,獲取用戶的個人喜歡,進一步提高推薦的個性化。

Hulu把這種個性化推薦視頻的思想放到了廣告投放中,設計出了一套個性化廣告推薦系統。那麼,這種廣告系統是如何實現個性化的呢?

lHulu的用戶對廣告擁有一定控制權,在某些視頻中你可以根據自己的喜好選擇相應的廣告,或者選擇在開頭看一段電影預告片來抵消廣告。

lHulu收集用戶對廣告的反饋意見(評分),例如,某個廣告是否對收看用戶有用?

l根據人口統計的信息,來投放廣告。例如,分析Hulu用戶的年齡,性別特徵來同方不同的視頻及廣告。

l根據用戶的行爲模式,進一步增加廣告投放的準確性
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章