深度學習CTR模型讀書筆記-阿里十億級商品嵌入方法

論文連接:Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba

摘要:
阿里推薦系統的三大挑戰,可擴展性(scalability),稀疏性(sparsity)和冷啓動(cold start)。
首先通過用戶歷史行爲構建item graph,並在graph上學習item的embedding,這個embedding用於學習item之間的pairwise similarities。爲了解決稀疏性和冷啓動問題,在graph embedding framework裏引入side information。並提出兩種聚合方法來集成item的embedding和相關的side information。加了side information的方法優於不加side information的方法。

淘寶應對可擴展性、稀疏性和冷啓動三個問題設計一個two-stage框架,matching和ranking。matching揀選商品,ranking給商品排序。本文主要關注在matching階段,這個階段核心任務是基於user行爲計算所有item的pairwise similarities。

首先基於user行爲歷史構建item embedding graph->dubbed Base Graph Embedding(BGE),其次考慮到那些新的item或者有極少user交互的item,引入side information構建dubbed Graph Embedding with Side information(GES)。接着考慮到不同類型的side information,就提出帶權的GES,即dubbed Enhanced Graph Embedding with Side information(EGES)。

session-based users’behaviors:考慮到用戶的行爲是不斷變化的,以及使用用戶全部的歷史行爲計算能力和空間存在問題,對user的行爲按窗口劃分(工程上採用1小時)。屬於同一個時間窗口的兩個item就存在一條直連邊(按先後順序的有向邊),邊的值是在所有user行爲中出現的次數。

構建graph之前需要過濾無效數據和異常行爲:
(1)扔掉少於1m的點擊時間間隔的商品
(2)扔掉那些代刷用戶(在三個月內點擊超過3600或者買了1000個item)
(3)扔掉那些零售商不斷更新內容而使得item和標識符不符合的item

BGE:
BGE

  • 建Graph
  • 擴展,使用Random Walk進行擴展得到item序列
  • 使用Skip-Gram訓練item embedding
  • Negative sampling轉換成二分類問題,加速訓練速度

GES:

假設具有相似side information的item在embedding space也相近。

  • 除了訓練item embedding,還要訓練item的side information對應的embedding
  • 把side information和item embedding求平均作爲item的embedding
    Hv1
    EGES:
    EGES
    GES認爲side information中的每個type的重要性相同,EGES引入權重思想。
    Hv2

[以下是分割線,我是知乎的搬運工]
關於新商品的冷啓動問題,因爲尚未學到權重矩陣,因此將邊信息向量求平均作爲商品的表示。

很簡單的文章,最後自問自答兩個問題。

1)本文的邊信息都是類別特徵,如果是文本或者圖像特徵,該怎麼加到圖網絡中?
我的想法是,可以先預訓練文本或圖像,生成文本或圖像的表示向量,作爲其中一個邊信息向量,然後固定住文本和圖像向量,放在整個網絡中學習這兩個向量的權重。

2)原文算法在構建圖的時候採用的是有向圖,這個真的是有必要的嗎?skip-gram算法的訓練是丟掉順序信息的,序列 ​和序列 ​是等價的。skip-gram不關心序列順序,只是不知道有向圖和無向圖生成的item pair數量分佈是否有差異。(注:有時間跑個實驗對比下)

作者:張備
鏈接:https://zhuanlan.zhihu.com/p/70198918
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章