淘寶推薦系統的學習
一、推薦系統概念
1、推薦系統定義
維基百科:推薦系統屬于資訊過濾的一種應用。推薦系統能夠將可能受喜好的資訊或實物(例如:電影、電視節目、音樂、書籍、新聞、圖片、網頁)推薦給使用者。
推薦系統大體可分為兩類,即個性化推薦和非個性化推薦。
2、推薦系統作用
從用戶角度:
- 提高用戶忠誠度
- 幫助用戶快速找到商品
從網站角度:
- 提高網站交叉銷售能力
- 提高成交轉化率
好的推薦系統更像一個有經驗的網站導購員
3、推薦系統與其他系統的區別
推薦與搜索
相同點:幫助用戶找到商品
不同點:搜索是通過用戶主動輸入的關鍵字進行查詢。推薦則是用戶在瀏覽網站的過程中,不一定需要用戶輸入,根據當前網頁的上下文進行個性化的信息輸出。
推薦與廣告
相同點:基于用戶行為
不同點:廣告目的是幫助商家推廣商品等,推薦系統幫助用戶找到想要的商品等。
推薦與SNS
相同點:它們都有基于人群的共同點產生推薦
不同點:一個是機器,一個是人工
4、推薦系統的主要產品
- 同類或者相關商品、店鋪推薦
- 買了還買、看來還看等
- 猜你喜歡
- 群體信息披露
- 熱門排行榜
- etc
二、推薦系統的組成
1、數據
- explicit(顯式):能準確的反應用戶對物品的真實喜好,但需要用戶付出額外的代價。如:用戶收藏、用戶評價。
- Implicit(隱式):通過一些分析和處理,才能反映用戶的喜好,只是數據不是很精確,有些行為的分析存在較大的噪音。如:用戶瀏覽、用戶頁面停留時間、訪問次數。
2、算法
- 離線:用戶類目偏好、用戶購買力分析、關聯性分析、相似矩陣計算等等
- 在線:排序、過濾、增量計算
算法需要配合大量業務規則,沒有最好,只有更好!
3、消息系統
消息系統是大型系統不可或缺的重要組成部分,與其他系統解耦,消息轉發。
4、搜索引擎
主要功能是進行文本分析抽取關鍵詞,作為推薦系統的一個信息檢索技術內容相關性匹配。
5、NoSQL
簡單、高性能、方便定制
6、分布式計算
使用MapReduce , Hive、Hadoop進行大規模數據統計和運算和大數據集合的ETL
三、淘寶的推薦系統
1、淘寶數據特點
- 數據量巨大:數百萬店鋪、數億激活用戶、數億的在線商品、數十億的收藏信息…
- 商品問題:同一類商品多個賣家、標類非標類、類目屬性正確性、惡意收藏、刷信譽…
2、淘寶推薦系統應用場景
目前覆蓋大小場景60多個,主要包括
- Detail 瀏覽了還瀏覽
- 收藏夾彈出層推薦
- 購物車彈出層推薦
- 已買到寶貝你可能感興趣
- 淘寶無線應用
- EDM(重復購買提醒)
- 各個垂直頻道
- 個性化list排序
- 開放平臺api
淘寶業務產品豐富,推薦功能穿插其中,推薦功能涵蓋的范圍更廣,很多場景推薦算法與業務規則相關。
3、淘寶推薦系統算法
①基礎算法:聚類算法,預測算法,分類算法等,主要用于產生基礎知識庫
- 預測算法:logistic 回歸,通過以點擊率為目標,以商品,賣家等因素作為指標,建立預測模型構建淘寶優質寶貝庫
- 分類算法:樸素貝葉斯,商品性別判斷(男性,女性,中性),用戶性別判斷
- 聚類算法:人群,用戶細分,用于降維
②推薦算法:content-based,collaborative-based,Association Rules等等
基于內容推薦:通過給用戶和商品標注Tag,通過內容匹配算法,推薦商品給用戶
- 優點:簡單,搜索引擎支持,解決部分冷啟動問題
- 缺點:難以區分商品信息的品質,而且不能為用戶發現新的感興趣的商品,只能發現和用戶已有興趣相似的商品
協同思想
- 優點:新奇特,個性化程度高
- 缺點:冷啟動,稀疏性
關聯規則:類目的相關性、商品相關性、人的相關性
4、推薦系統的效果評測
- Offline: 給定輸入輸出,驗證系統的輸出
- Online : ABTest (衡量指標:CTR GMV 轉換率)
5、淘寶推薦系統的設計
- 提供統一的平臺管理各個推薦模塊
- 提供高性能分布式存儲
- 提供算法的AbTest和效果統計
- 提供靈活算法配置
① 分布是存儲:Treasure
- 存儲云梯(hadoop)上對用戶、商品等原始數據分析的結果
- 云梯周期性同步,無實時更新
- 為推薦系統提供ABTest存儲支持
- 可直接存儲部分推薦算法的結果供推薦使用
- 動態部署
②調度系統
- 負責周期性云梯(hadoop)任務調度
- 分布式
- 生產者 消費者
③協調系統
- Zookeeper集群
- 智能路由
- 線上與線下聯動通知
- Job依賴通知
總結:推薦系統是需要不斷創新并且與場景和行業有事緊密的關系