『 DSSM』A Multi-View Deep Learning Approach for Cross Domain User Modeling in Recommendation Systems

Abstract

MULTI-VIEW-DNN聯合了多個域做的豐富特徵,使用multi-view DNN模型構建推薦,包括app、新聞、電影和TV,相比於最好的算法,老用戶提升49%,新用戶提升110%。並且可以輕鬆的涵蓋大量用戶,解決冷啓動問題。

主要做user embedding的過程,通多用戶在多個域的行爲作爲一個ivew,來表徵用戶,參與用戶embedding過程。

Contribution

  1. 利用豐富的用戶特徵,建立多用途的用戶推薦系統。
  2. 針對基於內容的推薦,提出了一種深度學習方法。並學習不同的技術擴展推薦系統。
  3. 結合不同領域的數據,提出了Multi-View DNN模型建立推薦系統。
  4. multi-view DNN模型解決用戶冷啓動問題。
  5. 基於四個真實的大規模數據集,通過嚴格的實驗證明所提出的推薦系統的有效性。

Data Set

Type DataSet UserCnt FeatureSize Joint Users
User view Search 20M 3.5M /
Item View News Apps Movie/TV 5M 1M 60K 100K 50K 50K 1.5M 210K 60K

DSSM FOR USER MODELING IN RECOMMENDATION SYSTEMS

deep structured semantic model參考Learning deep structured semantic models for web search using clickthrough data

結構圖:

  1. 把條目映射成低維向量。
  2. 計算查詢和文檔的cosine相似度。

其中:

l1=W1x

li=f(Wili1+bi),i=2,...,N1

y=f(WNlN1+bN)

word hashing

通過word hashing層將word映射爲稠密向量。以good爲例。

  1. 添加首尾標記: #good#
  2. 拆分word爲n-grams: #go, goo, ood, od#
  3. 通過多個小的n-grams的向量表示word。

這種方法即使有新詞出現,也不會出現問題。

DSSM訓練

對於一次搜索,如果點擊了一個文檔,認爲他們是相關的。對於搜索查詢集,DSSM去最大化被點擊文檔D+條件似然概率**。

P(D+|Q)=exp(γR(Q,D+))DDexp(γR(Q,D))

其中D是全集,γ 是平滑因子。損失函數自然就是:

L(W,b)=log(Q,D+)P(D+|Q)

MULTI-VIEW DEEP NEURAL NETWORK

對於User view,計算User View和Item View之間的P(IVi|UV) ,然後最小化:

L(W,b)=log(UV,IV+)P(IVi+|UV)

其中P()定義爲:

P(IV+|UV)=exp(γcos(UV,IV+))IVIVexp(γcos(UV,IV))

Data input

對於第j行輸入數據,它的主域Xu,j 和一個激活View Xa,j ,其餘的View輸入Xi:ia 都爲0向量。

User features

  • search queries:規範化,然後處理成unigram格式。
  • clicked URLs:只保留主域名,如www.linkdin.com

News features

news article clicks:

  1. title( tri-gram)
  2. top-level category(binary features)
  3. named entities

App features

App download histories:

  1. App tile( tri-gram)
  2. category(binary)

Movie/TV feature

movie/TV view history

  1. title( tri-gram)
  2. description( tri-gram)
  3. genre(binary)

訓練過程

img

訓練目標:

原文公式:

p=argmaxWu,W1,...Wvj=1Nexp(γacos(Yu,Ya,j))XRdaexp(γacos(Yu,fa(X,Wa))

訓練目標:

L(Wu,W1,...Wv)=j=1Nexp(γacos(Yu,Ya,j))XRdaexp(γacos(Yu,fa(X,Wa))

最小化L()爲目標得到Wu,W1,...Wv ,即網絡的參數矩陣。

MV-DNN優勢

  1. 和DSSM相比,其query和doc的feature是一樣長的維度,使用同樣的預處理,限制了feature。而跨域信息feature往往不同,而且n-gram方法並不適用,所以MV-DNN結合其類別特徵(如電影和app類別,地理位置等)。
  2. MV-DNN可以結合多個跨域信息,實現對user embedding。pair-wise training過程,user-item pairs。

降維方法

top features

對於user features,選取top-k最頻繁的features。並通過TF-IDF過濾掉最常用的特徵。

k-means

k-mean會指定k爲類簇的個數,目標是最小化所有類簇點與中心點的距離只和。公式表達:

argminC1,C2,Cki=1NminCj{C1,C2,Ck}distance(Xi,Ci)

其中Xi 是數據點,Cj 是每個類簇的中心。通過K-means對相似的特徵羣分組爲同一個cluster並生成新的特徵,共生產k個新的特徵。

應用:

對於輸入數據矩陣X,shape=[size=n, dimension=k],劃分爲X=[f1,f2,fk] ,然後將每個fk 歸一化,對[f1,f2,fk] 使用k-means聚類,fi 之間計算距離用cos相似度。然後就可以將特徵降維到k維,對於每個新的特徵向量Yi,1in,1Cls(a)k 有:

Yi(j)=a:Xi(a)>0&Cls(a)=jfi(a)

比如原始維度是3.5M,設置k=10k,那麼將爲之後維度就是10k。

Local sensitive Hashing

通過一個隨機的矩陣將數據映射到低緯向量空間上,並且保持原始空間上的pairwis cos距離在新的空間上仍然獲得保留。

原始維度d,降維到k,那麼映射矩陣ARd×k ,即A包含了k個映射,每個映射Ai 都將X映射爲Yi ,輸出爲YRk 。計算Yi 的公式爲:

Yi={1ifAiX00else

計算X1,X2 的cos相似度近似表示爲:cos(H(Y1,Y2)kπ) ,其中H(Y1,Y2) 表示漢明距離,論文選取的k=10000.

Reduce the Number of Training Examples

每個用戶在每個域都有大量的日誌數據,將每個用戶在每個域只選取一個user-item對,具體爲用戶特徵-用戶在此域喜歡的所有item的平均分數。

CONCLUSION AND FUTURE WORK

本文提出了一種通用的結合豐富用戶特徵和item特徵的推薦系統框架,通過結合多個域的豐富信息,是的推薦系統的質量極大提高,並且此方法通過降維的方法可擴展到大的數據集,同時對於老用戶和新用戶都適用推薦,在幾個公開的大數據集上的表現都明顯優於其他方法。

此框架可以應用於各個推薦系統,未來還需要:
1. 納入更多的用戶特徵。
2. 增加DNN擴展性,以便不在使用特徵降維的方法。
3. 加入更多的域並深入分析它的表現。
4. 如何將協同過濾方法和本文的基於內容的方法結合。

代碼

DSSM & Multi-view DSSM代碼 https://github.com/InsaneLife/dssm
Multi-view DSSM實現,參考GitHub:multi_view_dssm_v3
CSDN原文:http://blog.csdn.net/shine19930820/article/details/78810984

Model DSSM on Tensorflow

代碼: https://github.com/liaha/dssm

keras實現

Reference

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