LINE Dev Day 2019 議程心得之三:推薦系統與智慧頻道


什麼是推薦系統?就像 Netflix 或 Spotify 的猜你喜歡,看完這部片、聽完這首歌就要立刻推薦下一個,這樣你才會繼續使用下去,訂閱服務才不會中斷。那為什麼你需要推薦系統?因為資訊實在太多,不止你有選擇障礙,服務商也很難知道到底要給你什麼資訊(廣告)。

在 LINE Developer Day 2019 第一天的上午和下午各有一場官方講座,主題分別是〈 Timeline Post Recommender System 〉(貼文串推薦系統),講者是 Jihong Lee ,以及〈 Building a smart recommender system across LINE services 〉(建置跨 LINE 服務的智慧推薦系統),講者是 Jun Namikawa 。兩位講者都是研究院的學者等級,投影片媲美論文發表,除了有詳細的實驗數據分析和結果之外,還有公式推導。

金玉良言:唯有新內容才有價值!
金玉良言:唯有新內容才有價值!

在 Jihong 主講的〈 Timeline Post Recommender System 〉議程裡,我們知道推薦系統可以分成兩類: Collabrative Filtering 和 Feedback Loop ,前者是用矩陣分數去算出推薦機率(別人喜歡的,你大概也會喜歡),而後者則是用一個模型去算出推薦、再用推薦去訓練新的模型來算出新的推薦。

實務上因為 LINE 系統裡的貼文實在太多,所以矩陣的維度太高,相乘運算顯得不太可行,必須採用 Embedding (嵌入)方式降低維度,而且最好的矩陣運算是參考貼文( Post-to-Post ,將個別貼文的屬性特色納入考量),而不是參考貼文評分(人家說好的,不見得你就喜歡)。

由 Jihong Lee 主講〈 Timeline Post Recommender System 〉(貼文串推薦系統)。
由 Jihong Lee 主講〈 Timeline Post Recommender System 〉(貼文串推薦系統)。
採用 Post-to-Post 矩陣以及透過 Embedding 方式降低維度,是比較好的作法!
採用 Post-to-Post 矩陣以及透過 Embedding 方式降低維度,是比較好的作法!
在貼文串推薦系統中,用來找到候選的推薦項目的處理流程。
在貼文串推薦系統中,用來找到候選的推薦項目的處理流程。

而在 Jun 主講的〈 Building a smart recommender system across LINE services 〉議程裡,說明了 LINE 智慧頻道( Smart Channel )的可能性,在 LINE 聊天分頁裡,會列出所有聊天室的清單,最上方有一塊保留版位,在台灣,有時候會看到廣告,有時候會看到天氣資訊,這塊版位在日本有更多可能性,可以是新聞,也可以是漫畫資訊。

這裡的評分器( Ranker )的預測模型使用的是 Baysian Factorization Machine (貝氏 FM ),包含各式各樣的事件(例如點擊)和參數(例如性別、年齡等)。其中時間戳記也很重要,畢竟「 Only New Content Has Value 」(唯有新內容才有價值)。尤其,根據實驗數據,如果智慧頻道版位內嵌圖片的話,互動會好很多,點擊率有顯著的提升。

由 Jun Namikawa 主講〈 Building a smart recommender system across LINE services 〉(建置跨 LINE 服務的智慧推薦系統)。
由 Jun Namikawa 主講〈 Building a smart recommender system across LINE services 〉(建置跨 LINE 服務的智慧推薦系統)。
各式各樣的智慧頻道內容,舉凡天氣、新聞、漫畫。
各式各樣的智慧頻道內容,舉凡天氣、新聞、漫畫。
智慧頻道的推薦系統架構。
智慧頻道的推薦系統架構。
智慧頻道的版位如果搭配圖片,點擊率會好很多!
智慧頻道的版位如果搭配圖片,點擊率會好很多!

這兩個場次是 LINE 官方講者,所以有提供簡報,請從這裡這裡下載。