DNN論文分享 - Item2vec: Neural Item Embedding for Collaborative Filtering
前置點評: 這篇文章比較樸素,創新性不高,基本是參照了google的word2vec方法,應用到推薦場景的i2i相似度計算中,但實際效果看還有有提升的。主要做法是把item視為word,用戶的行為序列視為一個集合,item間的共現為正樣本,並按照item的頻率分布進行負樣本采樣,缺點是相似度的計算還只是利用到了item共現信息,1).忽略了user行為序列信息; 2).沒有建模用戶對不同item的喜歡程度高低。
-------------------------------------------------
0 背景:
推薦系統中,傳統的CF算法都是利用 item2item 關系計算商品間相似性。i2i數據在業界的推薦系統中起著非常重要的作用。傳統的i2i的主要計算方法分兩類,memory-based和model-based。
作者受nlp中運用embedding算法學習word的latent representation的啟發,特別是參考了google發布的的word2vec(Skip-gram with Negative Sampling,SGNS),利用item-based CF 學習item在低維 latent space的 embedding representation,優化i2i的計算。
-------------------------------------------------
1 回顧下google的word2vec:
自然語言處理中的neural embedding嘗試把 words and phrases 映射到一個低維語義和句法的向量空間中。
Skip-gram的模型架構:
Skip-gram是利用當前詞預測其上下文詞。給定一個訓練序列,,...,,模型的目標函數是最大化平均的log概率:
目標函數中c中context的大小。c越大,訓練樣本也就越大,準確率也越高,同時訓練時間也會變長。
在skip-gram中, 利用softmax函數定義如下:
W是整個語料庫的大小。上式的梯度的計算量正比如W,W通常非常大,直接計算上式是不現實的。為了解決這個問題,google提出了兩個方法,一個是hierarchical softmax,另一個方法是negative sample。negative sample的思想本身源自於對Noise Contrastive Estimation的一個簡化,具體的,把目標函數修正為:
是噪聲分布 ( noise distribution )。即訓練目標是使用Logistic regression區分出目標詞和噪音詞。具體的Pn(w)方面有些trick,google使用的是unigram的3/4方,即,好於unigram,uniform distribution。
另外,由於自然語言中很多高頻詞出現頻率極高,但包含的信息量非常小(如‘is‘ ‘a‘ ‘the‘)。為了balance低頻詞和高頻詞,利用簡單的概率丟棄詞:
其中是的詞頻,t的確定比較trick,啟發式獲得。實際中t大約在附近。
-------------------------------------------------
2 Item2vec算法原理:
Item2vec中把用戶瀏覽的商品集合等價於word2vec中的word的序列,即句子(忽略了商品序列空間信息spatial information) 。出現在同一個集合的商品對視為 positive。對於集合目標函數:
同word2vec,利用負采樣,將定義為:
subsample的方式也是同word2vec:
最終,利用SGD方法學習的目標函數max,得到每個商品的embedding representation,商品之間兩兩計算cosine相似度即為商品的相似度。
-------------------------------------------------
3 Item2vec效果:
對比的baseline方法是基於SVD方法的用戶embedding得到的相似度,SVD分解的維度和item2vec的向量維度都取40,詳細見paper。數據是應用在music領域的,作者利用web上音樂人的類別進行聚類,同一個顏色的節點表示相同類型的音樂人,結果對比如下:
圖a是item2vec的聚合效果,圖b是SVD分解的聚合效果,看起來item2vec的聚合效果更好些。
原文https://arxiv.org/pdf/1603.04259v2.pdf
參考文獻:
[1] Mikolov T, Sutskever I, Chen K, Corrado GS, Dean J. Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems 2013 (pp. 3111-3119).
DNN論文分享 - Item2vec: Neural Item Embedding for Collaborative Filtering