今天看了一個Recsys2015講交互式RS的slide被去,感覺我們可以借鑒梯皿。所以又看了兩篇Spotify RS的文章仇箱,與slide的內(nèi)容一起整理如下。
一索烹、產(chǎn)品形態(tài)
首先用戶通過一位藝術家端礼、專輯没佑、歌曲伞矩、播放列表或是風格流派開啟一個radio瓢阴。
接著用戶通過thumbs表達自己對歌曲的偏好,同時也是在tune推薦系統(tǒng)垒拢。推薦系統(tǒng)會根據(jù)thumbs的正負反饋旬迹,實時調(diào)整推薦結果。
二求类、整體數(shù)據(jù)流
Step1:訓練各種推薦模型
歌曲和電影的區(qū)別:
- 數(shù)量級:電影6w奔垦;歌曲2000w。
- 歌曲可以被同一用戶重復消費尸疆。
- song is more niche.
Implicit Matrix Factorization
- 把所有(user, track)數(shù)據(jù)組成一個矩陣椿猎。
- 目標:最小化兩個小矩陣內(nèi)積與binary偏好矩陣的帶權RMSE。權重由一個包含了播放行為寿弱、上下文和新穎度的函數(shù)給出犯眠。
其中如果用戶u對歌曲i有行為則p_ui=1,否則p_ui=0症革。
c_ui=1+alpha * r_ui
或者
- 目標:假設用戶播放一個歌曲的概率是logistic筐咧,然后最大化偏好矩陣的log likelihood。其中同樣要對正反饋加權噪矛。
通常用ALS來求解量蕊。得到兩個小矩陣a、b后艇挨,用戶u對歌曲i的偏好就是:
歌曲i與歌曲j的相似度為:
Spotiy開源了找近似最近鄰的工具:https://github.com/spotify/annoy
NLP models on News, Blogs, and Text
Distributed Representations of Words and Phrases and their Compositionality: http://papers.nips.cc/paper/5021-distributed-representations-of-words-and-phrases-and-their-compositionality.pdf
Deep Learning on Audio
協(xié)同過濾模型會把用戶和歌曲分別映射到低維的隱空間里残炮。歌曲在隱空間中的位置,相當于反應收聽偏好的各種信息的編碼缩滨。如果兩個歌曲在隱空間中距離較近吉殃,說明它們可能比較相似辞居。如果一個歌曲與用戶的距離較近,它可能就是這個用戶的一個好的推薦結果蛋勺。如果我們能預測一個歌曲在隱空間中的位置,就可以把他推薦給合適的用戶鸠删,并且不需要它的歷史行為數(shù)據(jù)抱完。
這里是用了CNN把音頻信號回歸到CF的隱向量。和做圖片預測有很多不一樣的地方刃泡,具體見這個博客:http://benanne.github.io/2014/08/05/spotify-cnns.html
Step2:用thumbs數(shù)據(jù)組合多種模型
Step3:自適應個性化
給定用戶u巧娱, Station S,在t時刻選擇歌曲i的概率:
其中烘贴,
rank(i, S)是歌曲庫中的全局排序禁添,
rel(u, i)是根據(jù)CF向量得到的用戶商品相關性
thumb(u, i)是根據(jù)thumb得到的用戶商品相關性
div(u, i, t)表示session中藝術家與專輯的多樣性
Step4:把thumbs反饋引入組合模型
三、見解
用戶角度
- 交互式RS在產(chǎn)品中的布局很重要
- 要把瀏覽和搜索行為自然的過渡到交互行為
- 交互式RS要盡可能做到輕量級
- 用戶偏愛lean-back的體驗
- 交互意味著要盡快幫用戶找到最優(yōu)item
- 推薦解釋可以建立信任和透明性
- 選擇
- 多少輸入合適
- 多少返回結果合適
算法角度
- 在交互系統(tǒng)的不同階段需要平衡流行性桨踪,相關性和多樣性老翘。
- 實時打分 vs 離線推薦結果計算
引用
InteractiveRecommender Systems, Recsys2015
Hu Y. & Koren Y. & Volinsky C. (2008) Collaborative Filtering for Implicit Feedback Datasets 8th IEEE International Conference on Data Mining
Johnson C. (2014) Logistic Matrix Factorization for Implicit Feedback Data NIPS Workshop on Distributed Matrix Computations