讀書筆記:推薦系統實踐-第一章-好的推薦系統

1、什麼是推薦系統?

推薦系統作用可以解決信息過載的問題

  • 幫助用戶發現對自己有價值的信息
  • 讓信息能夠展現在對它感興趣的用戶面前,從而實現信息消費者和信息生產者的雙贏

推薦系統和搜素引擎是互補工具

  • 搜索隱形滿足了用戶有明確目的時的主動查找需求
  • 推薦系統能在用戶沒有明確目的時候幫助他們發現感興趣的內容

推薦算法的本質是通過一定的方式將用戶和物品聯繫起來,而不同的推薦系統利用了不同的方式。

  • 基於內容的推薦
  • 基於協同過濾
  • 。。。

2、個性化推薦系統的應用

幾乎所有的推薦系統應用都是由前臺的展示頁面,後臺的日誌系統以及推薦算法系統三部分構成的。

2.1 電子商務

對象:亞馬遜(20%-30%)

  • 個性化推薦
    • 展示頁面
      • 推薦結果的標題、縮略圖以及其他內容屬性
      • 推薦結果的平均分
      • 推薦率
      • fix the recommendation(修正推薦):加入購物車,加入心願單,給書打分,我已經有這本書了,對這本書枚興趣
    • 推薦算法
      • 基於物品,推薦和用戶之前喜歡的物品相似的物品
      • 按照用戶在Facebook的好友關係,給用戶推薦他們的好友在亞馬遜上喜歡的物品
  • 相關推薦
    • 展示頁面
      • 產品縮略圖,標題,打分,價格
    • 推薦算法
      • 購買了這個商品的用戶也經常購買的商品
      • 瀏覽了這個商品的用戶也疆場購買的物品
    • 應用:打包銷售

2.2 電影和視頻網站

Netflix

  • 展示界面
    • 電影的標題和海報
    • 用戶返回模塊:播放、評分、不感興趣
    • 推薦理由
  • 推薦算法:基於物品的推薦算法

YouTube、Hulu

2.3 個性化音樂網絡電臺

爲什麼音樂很適合推薦?

  • 用戶往往面臨着信息過載的問題
  • 用戶沒有明確的要求

Pandora

  • 展示界面:不允許用戶點歌,允許用戶(喜歡,不喜歡,跳過),經過用戶的反饋,從歷史信息中學習用戶的新區模型
  • 推薦算法:人工對歌曲進行標註,基於專家標註的基因計算歌曲的相似度

Last.fm

  • 推薦算法:沒有進行專家標註,而是利用用戶的行爲計算歌曲的相似度
  • 社交網絡:用戶可以和其他用戶建立聯繫,並推薦喜歡的歌曲

音樂推薦的特點

  • 物品空間大
  • 消耗每首歌的代價小
  • 物品種類豐富
  • 聽一首歌耗時很少
  • 物品重用率很高
  • 用戶充滿激情
  • 上下文相關
  • 次序很重要
  • 很多播放列表資源
  • 不需要用戶全神貫注
  • 高度社會化

2.4 社交網絡

主要應用場景(以Facebook爲例):

  • 利用用戶的社交網絡信息對用戶進行個性化的物品推薦:開發了Instant Personalization的API來實現網站的個性化
  • 信息流的會話推薦:開發了EdgeRank算法對會話進行排序
  • 給用戶推薦好友

2.5 個性化閱讀

  • google reader:允許用戶關注自己感興趣的人,看到所關注的用戶分享的文章
  • Zite:收集用戶對文章的偏好信息
  • Digg:推薦和用戶興趣相似的用戶喜歡的文章

2.6 基於位置的服務

往往和社交網絡結合在一起
位置是一種很重要的上下文信息

2.7 個性化郵件

Tapestry:分析用戶閱讀郵件的歷史行爲和習慣對新郵件進行重新排序,從而提高用戶的效率
谷歌:將用戶感興趣的郵件專門放到衣蛾專門的收件箱裏

2.8 個性化廣告

個性化廣告推薦着重於幫助用戶找到可能令他們感興趣的物品,而廣告推薦着重於幫助廣告找到可能對它們感興趣的用戶。
個性化廣告投放技術有三種:

  • 上下文廣告
  • 搜索廣告
  • 個性化展示廣告

3、推薦系統測評

測評一個推薦算法需要同時考慮三方的利益

  • 推薦系統存在三個參與方:用戶、物品提供者和提供推薦系統的網站。一個好的推薦系統,要滿足用戶的需求;要讓所有提供商的物品都能夠被推薦給感興趣的用戶;要讓推薦系統本身收集到高質量的用戶反饋,從而不斷完善推薦的質量。

好的推薦算法並不是僅僅是準確的預測

3.1 推薦系統實驗方法

離線實驗

  • 優點:不需要真實用戶參與,可以直接快速地計算出來,不需要有對實際系統的控制權
  • 缺點:無法獲得很多商業上關注的指標,找到和商業指標非常相關的離線指標也很困難

用戶調查

  • 優點:可以獲得很多體現用戶主觀感受的指標,相對在線實驗風險很低,出現錯誤後容易彌補
  • 缺點:招募測試用戶的代價太大,很難組織大規模的測試用戶,還需要保證用戶的分佈儘量真實

在線實驗

  • 優點:可以公平獲得不同算法實際在線時的性能指標
  • 缺點:週期比較長;大型網站的AB測試系統的設計也是複雜的工程,不同層的AB測試還會互相干擾

3.2 測評指標

用戶滿意度

  • 收集方法
    • 調查問卷:從不同的側面詢問用戶對結果的不同感受
    • 在線實驗:對用戶的行爲的統計,如用戶滿意度,點擊率,用戶停留時間,轉化率

預測準確度

  • 評分預測(Netflix認爲RMSE更爲苛刻)

  • TopN推薦

  • 比較來看:TopN更符合實際的應用需求

覆蓋率:儘可能覆蓋更多的物品,並且熱門和冷門推薦出現的次數差不多

  • 推薦系統的初衷是消除馬太效應,但是很多研究表明現在主流的推薦算法是具有馬太效應的。

多樣性:覆蓋用戶不同的興趣領域

新穎性:給用戶推薦他們以前沒有聽說過的物品

  • 把用戶之前有過行爲的物品從推薦列表中過濾掉,越不熱門越有可能讓用戶覺得新穎
  • 準確統計需要用戶調查
  • 重點是在不犧牲精度的情況下提高多樣性和新穎性

驚喜度(serendipity):推薦結果和用戶的歷史興趣不相似,但卻讓用戶覺得滿意

  • 目前沒有公認的驚喜度指標定義方式,基本思路是需要定義歷史興趣相似度和滿意度指標

信任度

  • 只能用問卷調查
  • 增加信任度的方法
    • 增加推薦系統的透明度(提供推薦解釋)
    • 考慮用戶的社交網絡信息,利用用戶的好友信息給用戶做推薦,並且利用好友進行推薦解釋
  • 例子:Epinion網站

實時度

  • 推薦系統需要實時更新推薦列表來滿足用戶新的行爲變化,測評方案:推薦列表的變化速率
  • 推薦系統需要更改將新加入系統的物品推薦給用戶,主要和物品冷啓動有關,測評方案:推薦列表中有多大比例是當天新加的

健壯性:一個推薦系統抗擊作弊的能力

  • 測評方法:模擬攻擊,並比較攻擊前後推薦列表的相似度來進行測評
  • 其他方法:
    • 設計推薦系統時儘量使用代價比較高的用戶行爲
    • 使用數據前,進行攻擊檢測,從而對數據進行清理

商業目標

  • 需要注重網站的商業目標是否達成
  • 不同的網站具有不同的商業目標

如何優化離線指標來提高在線指標?

  • 在給定覆蓋率、多樣性、新穎性等限制條件下,儘量優化預測準確度

3.3 測評維度

通過不同的測評維度,可以知道一個算法在什麼情況下性能最好,爲融合算法提供參考。

  • 用戶維度
  • 物品維度
  • 時間維度
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章