2017 年 AIDS 年會:應用實例-推薦系統

Pei Lee
5 min readNov 23, 2017

--

其實這部分聽不太懂,僅簡單紀錄一下大概聽到的內容跟關鍵字,歡迎補充跟修正。

一、Optimizing for User Experience with Data Science and Machine Learning / 紀懷新 Google Research Scientist

Google Research Scientist 紀懷新分享中有一小段稍微提到了推薦系統, Sequential Recommendation。他表示推薦是一個很難的議題,要先理解 User、Context 和 Item + Low Latency,傳統上使用商品之間的關聯性來做推薦,但這樣會有一些問題,於是改用 RNN Model with Time,兩個主要概念包含 Time-Based RNN 以及 Latent Cross as Attention Mechanism。

另外他也提了 Focused Learning 的概念,如果以傳統方式來做電影推薦的話,會發現不同種類的電影會有顯著不同的效果,例如劇情片預測得很準,科幻片不準等等。而用 Focused Learning 似乎就能解決這個問題,但詳細想法是什麼就…在此略過。

二、KKBOX 上的個人化推薦系統 / 陳怡安 KKBOX Machine Learning Researcher

演講一開始陳怡安就說,很多人會問她現在線上聽音樂的免費平台這麼多,為什麼人家要用 KKBOX?她的答案是「使用者體驗」,希望透過推薦系統來提升使用者體驗。對於音樂平台的推薦系統而言,陳怡安表示「推薦得準」只是最低要求,而且推薦得太準只是回答了使用者已有的答案,無法提供更多未知的選項,讓使用者有探索的空間,也就是推薦出來的內容並無法給使用者驚喜。

在實作上,希望機器能夠做到 Content understanding、User Understanding、Learning to rank,為了要三種願望一次滿足用了 Collaborative Filtering,另外也加入了 word2vec 的概念,讓機器一面學 user 在一維空間的表示式,一面學 item 在一維空間的表示式。陳怡安說:「簡單來說,就是用旁邊的鄰居來認識自己。」查到一篇論文可能是這個做法的理論基礎,先存起來:《From Word Embeddings to Item Recommendation》。

這邊有 Collaborative Filtering 的概念介紹,文章說:「Collaborative Filtering 是藉由其他和你相似的使用者(群體)的偏好,去預測你的個人偏好,進而達到個人化(過濾)的推薦效果。」至於偏好的定義:「一般來說偏好可以分為外顯(explicit)偏好(如:主動給評分)和隱藏(Implicit)偏好(如:購買記錄、停留網站時間、Web logs)。」目前猜測我在筆記上沒頭沒尾地寫的 「latent vector」 指的是不是這個隱藏偏好……???

在系統落地上,ETL 部分使用了 Spark、scala;skip-gram、LSH 的部分原本使用 Python,但因為速度太慢的關係後來改用 C++。伺服器上,使用 AWS,用 EC2 控制,然後在 S3 作資料交換。

至於「如何推薦新歌?」這個問題,則被特別提出來說明,因為新歌沒有過去的 Training Data。首先一首歌有的欄位屬性大概是音訊(Audio)、風格 / 次風格(Genre / Sub-genre)、主題(Topic),可參考 2014 年 Spotify 發表的 paper,沒有找到論文本人,只看到這篇《Recommending music on Spotify with deep learning》介紹。陳怡安嘗試了 ILSVRC 及 Spectrogram,其中前者的效果不佳。Spectrogram 的效果不錯,做法是將音訊視為一張圖作為 CNN 的輸入做建模,未來新歌進來時也能藉由音訊來做預測。

最後,在選擇 Framework 上,陳怡安說準則是:Document 以及Community。也就是一開始文件的說明就要夠清晰明瞭,然後需要有夠多社群的人在討論,才有辦法在碰到問題時得到解答。

QA部分,陳怡安表示為了系統的穩定性,沒有做到 realtime update model。在評估推薦效果上,主要是看使用者使用這項功能後,多久會再回來用一次等等的指標。最後有人舉手說:「我幾年前用過 KKBOX 的推薦功能,但是沒有很滿意」陳怡安聽了大笑,然後說:「那你現在願意試一試嗎?」

--

--

Pei Lee
Pei Lee

Written by Pei Lee

Data Team Lead @ Retail & E-commerce Industry

No responses yet