Abstract
MULTI-VIEW-DNN聯合了多個域做的豐富特徵,使用multi-view DNN模型構建推薦,包括app、新聞、電影和TV,相比於最好的算法,老用戶提升49%,新用戶提升110%。並且可以輕鬆的涵蓋大量用戶,解決冷啓動問題。
主要做user embedding的過程,通多用戶在多個域的行爲作爲一個ivew,來表徵用戶,參與用戶embedding過程。
Contribution
- 利用豐富的用戶特徵,建立多用途的用戶推薦系統。
- 針對基於內容的推薦,提出了一種深度學習方法。並學習不同的技術擴展推薦系統。
- 結合不同領域的數據,提出了Multi-View DNN模型建立推薦系統。
- multi-view DNN模型解決用戶冷啓動問題。
- 基於四個真實的大規模數據集,通過嚴格的實驗證明所提出的推薦系統的有效性。
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。
結構圖:
- 把條目映射成低維向量。
- 計算查詢和文檔的cosine相似度。
其中:
word hashing
通過word hashing層將word映射爲稠密向量。以good爲例。
- 添加首尾標記: #good#
- 拆分word爲n-grams: #go, goo, ood, od#
- 通過多個小的n-grams的向量表示word。
這種方法即使有新詞出現,也不會出現問題。
DSSM訓練
對於一次搜索,如果點擊了一個文檔,認爲他們是相關的。對於搜索查詢集,DSSM去最大化被點擊文檔 的條件似然概率**。
其中D是全集, 是平滑因子。損失函數自然就是:
MULTI-VIEW DEEP NEURAL NETWORK
對於User view,計算User View和Item View之間的 ,然後最小化:
其中P()定義爲:
Data input
對於第j行輸入數據,它的主域 和一個激活View ,其餘的View輸入 都爲0向量。
User features
- search queries:規範化,然後處理成unigram格式。
- clicked URLs:只保留主域名,如www.linkdin.com
News features
news article clicks:
- title( tri-gram)
- top-level category(binary features)
- named entities
App features
App download histories:
- App tile( tri-gram)
- category(binary)
Movie/TV feature
movie/TV view history
- title( tri-gram)
- description( tri-gram)
- genre(binary)
訓練過程
訓練目標:
原文公式:
訓練目標:
最小化L()爲目標得到 ,即網絡的參數矩陣。
MV-DNN優勢
- 和DSSM相比,其query和doc的feature是一樣長的維度,使用同樣的預處理,限制了feature。而跨域信息feature往往不同,而且n-gram方法並不適用,所以MV-DNN結合其類別特徵(如電影和app類別,地理位置等)。
- MV-DNN可以結合多個跨域信息,實現對user embedding。pair-wise training過程,user-item pairs。
降維方法
top features
對於user features,選取top-k最頻繁的features。並通過TF-IDF過濾掉最常用的特徵。
k-means
k-mean會指定k爲類簇的個數,目標是最小化所有類簇點與中心點的距離只和。公式表達:
其中 是數據點, 是每個類簇的中心。通過K-means對相似的特徵羣分組爲同一個cluster並生成新的特徵,共生產k個新的特徵。
應用:
對於輸入數據矩陣X,shape=[size=n, dimension=k],劃分爲 ,然後將每個 歸一化,對 使用k-means聚類, 之間計算距離用cos相似度。然後就可以將特徵降維到k維,對於每個新的特徵向量 有:
比如原始維度是3.5M,設置k=10k,那麼將爲之後維度就是10k。
Local sensitive Hashing
通過一個隨機的矩陣將數據映射到低緯向量空間上,並且保持原始空間上的pairwis cos距離在新的空間上仍然獲得保留。
原始維度d,降維到k,那麼映射矩陣 ,即A包含了k個映射,每個映射 都將X映射爲 ,輸出爲 。計算 的公式爲:
計算 的cos相似度近似表示爲: ,其中 表示漢明距離,論文選取的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
代碼: https://github.com/liaha/dssm
keras實現
- https://github.com/airalcorn2/Deep-Semantic-Similarity-Model
- https://github.com/outstandingcandy/dssm
- https://github.com/sonyisme/keras-recommendation
Reference
- 原文:https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/frp1159-songA.pdf
- DSSM: Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
- CDSSM (Conv + DSSM): A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval
- LSTM-DSSM (RNN + DSSM):Semantic Modelling with Long-Short-Term Memory for Information Retrieval
- DSSM: Learning Deep Structured Semantic Models for Web Search using Clickthrough Data