本週閱讀論文《A Multi-View Deep Learning Approach for Cross Domain User Modeling in Recommendation Systems》。這是基於DSSM匹配模型的一種跨領域構建使用者模型的推薦演算法(簡稱MV-DNN)。該方法採用大量特徵編碼使用者,利用DSSM模型的匹配能力將編碼到隱語義空間的使用者和item進行興趣匹配。可看作是一種基於內容推薦的深度方法。

MV-DNN聯合了多個域做的豐富特徵,包括app、新聞、電影和TV,進行聯合模型推薦,相比於最好的演算法MV-DNN方法的推薦結果對老使用者提升49%,新使用者提升110%,提升明顯,可用於解決冷啟動問題。

動機

為什麼是MV-DNN:

協同過濾推薦(CF),無法解決新使用者推薦

基於內容推薦,基於線上user-profile的使用者興趣表示不準確

本文提出基於DSSM架構的深度興趣模型匹配模型,可以很好的將user和item的大量特徵編碼到隱語義空間,透過興趣匹配模型學習從user到item的對映關係。既可以滿足對新使用者的推薦,同時由於利用了大量使用者行為做特徵,對使用者興趣表示也更加精準。更進一步,本文提出的MV-DNN方法利用跨多個域的資訊來補充使用者資訊,是使用者興趣表達更精準。該方法對新使用者推薦提升明顯。

此外,為了應對豐富的特徵對映到高緯空間向量的效率問題,文章提出了多種有效的降維方法。

DSSM興趣匹配模型

DSSM模型結構

dssm模型最早被提出是用來提升搜尋場景下文件和query匹配的問題。模型結構圖如下所示。

一種基於DSSM模型的跨領域深度推薦模型

模型接受兩個輸入到兩個神經網路中,透過模型編碼到同一個語義向量空間。對於搜尋排序場景,DSSM模型透過計算doc和query的cosine作為相似度分數,透過相似度分數的對query的相似doc進行排序。

一種基於DSSM模型的跨領域深度推薦模型

模型中啟用函式採用tanh函式。

DSSM模型學習

word hashing

為了防止輸入token詞典過大,模型輸入的第一層進行了word hashing。即對每個word進行letter-tri-grams表示,起到了輸入降低維度的作用。以web為例。

新增首尾標記: #web#

拆分word為n-grams: #we, web, eb#

過多個小的n-grams的向量表示word。

這樣表示,即使出現未登入詞,也可以正常處理。

後驗因子引入

在訓練中,query和doc相關性是由query的點選行為確定的。給定query,doc的點選後驗機率被融合進入相關性分數中。

一種基於DSSM模型的跨領域深度推薦模型

r是平滑因子,通常被設定為經驗值。D是將被排序的doc集合。理論上,D應該是所有doc的集合;實際上,只對在給定query下有過點選的doc集合進行排序,這裡用D+表示;D+是D的子集。此外D中還包括隨機負取樣的N個隨機負例。

學習目標

模型的目標函式是給定query下,最大化該query下點選doc的似然。

一種基於DSSM模型的跨領域深度推薦模型

MV-DNN跨域模型

單個DSSM模型可以認為是將兩種不同場景下的資料融合到一個空間。MV-DNN則是將多個不同場景下資料融合到一個空間。這可以有效的補充使用者的行為資料,從而使得使用者的表達更加精準。

一種基於DSSM模型的跨領域深度推薦模型

文中提到不同的view,可以由不同的輸入維度。(這裡有點疑惑,使用者在召回不同view結果時如何產生候選?)

MV-DNN模型中,每個View都有自己的Weight和非線性啟用函式。當對某個view的樣例訓練時,其他View的input向量均置0。

訓練過程

一種基於DSSM模型的跨領域深度推薦模型

模型的目標函式是最大化user與所有View的相似度的和

一種基於DSSM模型的跨領域深度推薦模型

MV-DNN優勢

與DSSM相比,其query和doc的feature是一樣長的維度,使用同樣的預處理,限制了feature。而跨域資訊feature往往不同,而且n-gram方法並不適用,所以MV-DNN結合其類別特徵(如電影和app類別,地理位置等)

MV-DNN的訓練構造方式,使其可以方便的加入新的View內的user-item 訓練資料。

降維方法

深度方法通常要處理大規模訓練資料的大規模特徵,文中提出了幾種可行的降維方法。

Top feature

選擇最頻繁的topk個feature,並且用tf-idf過濾掉停用詞特徵。

K-means

將特徵聚類,相似特徵聚到同一個類簇中,並將類簇資訊表示為新的特徵Y。原有特徵為N個,聚簇個數為K,特徵的維度將從所有特徵o(N)降維到類簇個數o(K)。特徵處理階段,新特徵Y(y1,y2,。。。,yi,。。。,yk-1,yk)具有K個維度,每個維度的值為屬於該類簇的特徵出現次數加和,最後對Y進行歸一化處理。

合適的類簇個數對特徵表達能力十分重要。小的類簇個數會導致非常多的內容聚簇在一起,從而導致特徵被稀釋。文中的特徵數有3。5M,嘗試聚簇個數10K個,即平均每個類簇包含350個特徵。

Local Sensitive hashing

透過一個隨機矩陣將輸入特徵對映到一個低緯度向量表示,同時在新的空間中保持pairwise cos距離關係。A為對映矩陣,Y為對映後得到的新的特徵表示,具體對映關係如下

一種基於DSSM模型的跨領域深度推薦模型

為了保證準確性,文中設定Y的維度k=10000,和k-means維度相同。由於LSH的k個維度是隨機對映,彼此相互獨立,很適合進行平行計算。

縮減訓練樣例

壓縮訓練樣例,每個使用者的訓練樣例數只壓縮為一個。文中具體做法是將同一使用者所有訓練樣本的各維度特徵進行分數平均,最終一個使用者得到一個訓練樣本,從而減小user-item pair。

由於訓練樣本的表示變化,自然的評估方式也會變化。目標函式將改為最大化使用者特徵和平均特徵的相似度。

實驗與分析

實驗資料來自app,news 和Movie/TV三種跨域資料。

資料特徵

User Feature

search queries:規範化,然後處理成unigram格式。

clicked URLs:只保留主域名,如www。linkdin。com

News Feature

新聞點選歷史:

title( tri-gram)

top-level category(binary features)

named entities

App Feature

App 下載歷史:

App tile( tri-gram)

category(binary)

Movie/TV Feature

movie/TV 觀看歷史

title( tri-gram)

description( tri-gram)

genre(binary)

實驗結論

對比降維方法,TopK 特徵方法取得了最好的效果。K-means和LSH對捕捉使用者行為背後的語義資訊稍弱。

MV-DNN 引入cross domain資訊,對推薦結果有正向提升,尤其是新使用者的結果提升明顯。

Contribution

利用豐富的使用者特徵,建立多用途的使用者推薦系統。

針對基於內容的推薦,提出了一種深度學習方法。並學習不同的技術擴充套件推薦系統。

結合不同領域的資料,提出了Multi-View DNN模型建立推薦系統。

multi-view DNN模型解決使用者冷啟動問題。

基於四個真實的大規模資料集,透過嚴格的實驗證明所提出的推薦系統的有效性。