内容流推荐中的个性化标题生成框架
最近讀了兩篇微軟亞研院的論文,關于新聞內容流推薦的,簡單分享一下,主要包含兩部分,第一部分《NPA: Neural News Recommendation with Personalized Attention》主要是怎么實現個性化新聞推薦,第二部分《PENS: A Dataset and Generic Framework for Personalized News Headline Generation》闡述怎么實現個性化標題的生成。
對于個性化標題生成的在業務中的真實作用,實踐過的人都會有自己的看法,筆者在這里不做過多評價了,從學習或者了解的角度出發,我們來看看這個方向的研究。
內容推薦作為一個推薦系統的一個子任務,常規推薦的思路,例如協同過濾等當然可以用于內容召回以及候選內容的排序。但是,與傳統的穩態推薦任務不同,內容推薦有其特有的挑戰。尤其是在新聞內容上,大部分會因為時效性原因無法再被推薦出來,同時會快速地出現新內容,急需推送給需要它的讀者,這就帶來了嚴重的Item冷啟動問題。這也使得基于協同過濾的方法直接應用于新聞推薦的場景時,有了諸多問題。
在了解上圖的基于個性化注意力機制的新聞推薦之前,我們先從可視化的角度來看看論文中一些關于Attention有意思的展示。
從圖中可以發現,基于個性化注意力機制的新聞推薦模型能識別和選擇重要的Words和News。例如,football、nba這樣的詞語對于推測新聞的主題很有幫助,因此被高亮,而像 every這樣的詞語則信息量較低。對于新聞而言,例如第4條新聞被高亮,因為它能夠很好地反映用戶的興趣,而如第3和第5條新聞則可能被各種類型的用戶瀏覽,沒有興趣區分度,因此獲得了較低的權重。
回過頭我們來看看模型架構層面,比較簡單,一個將詞語序列轉化為語義向量序列的詞嵌入層,一個用于建模局部上下文的 CNN 層,和一個Word級的Self-Attention,后面是通過內積計算得到候選集中的Item預測分數。負采樣方面,將每個用戶點擊的新聞(視為正樣本)搭配 K 個在同一個會話內展示而沒有被用戶點擊的新聞視為負樣本。對于這種采樣,筆者之前寫過挺多的對比總結性文章,有興趣的同學可以翻翻以往文章,看看這里是不是還有提升改進的可能性。
先放框架,再來聊一聊,從上圖比較清晰的發現,左側Transformer Encoder編碼候選集合中的文本信息,然后通過Attention學習正文單詞的隱藏表示。而在右側,就是通過用戶點擊過的內容得到User Embedding,而個性化層面架構中給出了3種方式,第一種是將User Embedding作為指針網絡解碼器的初始隱藏狀態Decoder Hidden States;第二種是加入左側的Attention的計算中,區分用戶對內容的關注程度;第三種是最右側的方式,將User Embedding加入到Pgen的計算中。
三種方式的效果如下:
參考資料
- https://www.zhihu.com/question/23644385/answer/914251962
- https://www.microsoft.com/en-us/research/uploads/prod/2021/06/ACL2021_PENS_Camera_Ready_1862_Paper.pdf
- https://zhuanlan.zhihu.com/p/396306358
- https://arxiv.org/pdf/1907.05559.pdf
- GitHub地址:https://msnews.github.io/pens.html
總結
以上是生活随笔為你收集整理的内容流推荐中的个性化标题生成框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 再谈序列化推荐-集成item类目属性
- 下一篇: PyCaret:又一个神仙ML库