1、什麼是推薦系統?
推薦系統作用可以解決信息過載的問題
- 幫助用戶發現對自己有價值的信息
- 讓信息能夠展現在對它感興趣的用戶面前,從而實現信息消費者和信息生產者的雙贏
推薦系統和搜素引擎是互補工具
- 搜索隱形滿足了用戶有明確目的時的主動查找需求
- 推薦系統能在用戶沒有明確目的時候幫助他們發現感興趣的內容
推薦算法的本質是通過一定的方式將用戶和物品聯繫起來,而不同的推薦系統利用了不同的方式。
- 基於內容的推薦
- 基於協同過濾
- 。。。
2、個性化推薦系統的應用
幾乎所有的推薦系統應用都是由前臺的展示頁面,後臺的日誌系統以及推薦算法系統三部分構成的。
2.1 電子商務
對象:亞馬遜(20%-30%)
- 個性化推薦
- 展示頁面
- 推薦結果的標題、縮略圖以及其他內容屬性
- 推薦結果的平均分
- 推薦率
- fix the recommendation(修正推薦):加入購物車,加入心願單,給書打分,我已經有這本書了,對這本書枚興趣
- 推薦算法
- 基於物品,推薦和用戶之前喜歡的物品相似的物品
- 按照用戶在Facebook的好友關係,給用戶推薦他們的好友在亞馬遜上喜歡的物品
- 展示頁面
- 相關推薦
- 展示頁面
- 產品縮略圖,標題,打分,價格
- 推薦算法
- 購買了這個商品的用戶也經常購買的商品
- 瀏覽了這個商品的用戶也疆場購買的物品
- 應用:打包銷售
- 展示頁面
2.2 電影和視頻網站
Netflix
- 展示界面
- 電影的標題和海報
- 用戶返回模塊:播放、評分、不感興趣
- 推薦理由
- 推薦算法:基於物品的推薦算法
YouTube、Hulu
2.3 個性化音樂網絡電臺
爲什麼音樂很適合推薦?
- 用戶往往面臨着信息過載的問題
- 用戶沒有明確的要求
Pandora
- 展示界面:不允許用戶點歌,允許用戶(喜歡,不喜歡,跳過),經過用戶的反饋,從歷史信息中學習用戶的新區模型
- 推薦算法:人工對歌曲進行標註,基於專家標註的基因計算歌曲的相似度
- 推薦算法:沒有進行專家標註,而是利用用戶的行爲計算歌曲的相似度
- 社交網絡:用戶可以和其他用戶建立聯繫,並推薦喜歡的歌曲
音樂推薦的特點
- 物品空間大
- 消耗每首歌的代價小
- 物品種類豐富
- 聽一首歌耗時很少
- 物品重用率很高
- 用戶充滿激情
- 上下文相關
- 次序很重要
- 很多播放列表資源
- 不需要用戶全神貫注
- 高度社會化
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 測評維度
通過不同的測評維度,可以知道一個算法在什麼情況下性能最好,爲融合算法提供參考。
- 用戶維度
- 物品維度
- 時間維度