深度網絡二手市場在線推薦
這篇文章的一個啟發點是使用Siamese網絡和註意力模型將不同類別的特征集成,從而解決數據缺失的問題,然而文章中沒有具體講出註意力模型的參數是如何訓練的,即模型上層如何得知下層不同子模型的數據是否缺失,是通過邏輯判斷?還是直接用0值訓練?或者用各模型的數據單獨訓練註意力參數?
原文地址 https://arxiv.org/abs/1809.02130
本文地址:https://www.cnblogs.com/kyxfx/p/9934211.html
1 簡介
二手市場是用戶買賣各種商品的平臺。這些物品可以是低價值的,比如書籍和衣服,也可以是高價值的,比如汽車和房地產。賣家還可以發布一些虛擬的東西,比如
推薦系統在二手市場上廣泛使用,以匹配與買家的興趣和需求相關的物品。它比標準的電子商務產品推薦更具挑戰性,原因有以下幾點:(1)市場商品往往是二手的,因此在某種意義上是獨特的。這就導致了特定物品的生存期很短。因此,冷啟動問題非常突出。(2)非結構化數據往往描述不佳,使得傳統的冷啟動算法難以應用。(3)買家和賣家之間的互動往往難以追蹤,因為它可能發生在平臺之外。交易不總能被確認,所以推薦系統必須能夠快速地將焦點從當前商品轉移到相關的
目前已經有大量的研究在離線指標上驗證推薦系統。在本文中,我們描述了三種新的市場推薦產品,並通過在線實驗對它們進行了基準測試,以測試它們在生產環境中的性能,在這種環境中,短壽命和低質量的內容是推薦產品的共同特征。我們在這裏描述的三個模型是:(1)一個混合的項目-項目推薦器,它利用行為數據、圖像和文本來構建一個健壯的項目表示,以應對冷啟動問題。(2)基於序列的用戶項目推薦器,具有時間性,可以利用上面的混合項表示快速構建用戶的喜好。(3)一種更高級的多臂bandit算法,它將多個子模型建議的優先級劃分為個性化的項目feed。它允許feed涵蓋長期和短期的用戶興趣。
用於測試的生產環境是挪威
2 近期工作
搜索和發現是用戶在內容平臺上尋找相關條目的兩種主要方式。近年來,利用推薦來改善發現體驗一直是一個熱門話題。協同過濾[1][18]和基於內容的方法[3][9]都是電子商務中經常使用的物品相似度排名方法。最近像LightFM[14]這樣的工作將兩者結合起來,以解決建議中的冷啟動問題。像[21]和[15]這樣的最先進的推薦系統經常使用學習-等級模型從一組復雜的特性中建模,包括文本、圖像、用戶屬性、行為等。這種策略在市場推薦系統和[8]中都是有效的。此外,考慮較長的用戶行為歷史的串聯[16]或序列註意力[22]模型顯示了特別好的結果。我們的序列推薦系統從[2]中汲取了靈感,並在在線實驗中表現出了積極的性能提升。在不同的用例中,多臂bandit被應用於多個來源之間的優先排序。例如,Pinterest[7]使用混合算法生成推薦內容和社交內容的混合feed。我們比較了幾種多臂bandit模型,以融合市場場景中的行為和內容。
推薦器通常通過點擊率和轉化率在線對照實驗[12]來進行評估。有一個很好的指標,比如預測評分和排名關聯[10],可以用更低的前期成本,來替代在線測試。
3 實驗平臺
4 混合項目表示模型
與Lightfm[14]類似,我們將基於內容的特性與用戶行為相結合,以解決協同過濾的冷啟動問題。我們設計了一個混合模型,從用戶行為、文本、圖像和位置找到相似的項目。如圖2a所示,我們首先單獨訓練項目表示,然後使用模型集成它們。
單個特征的生成方式如下:(i)基於行為的項表示來自用交替最小二乘(ALS)[19]實現的矩陣分解。訓練數據包括20天的項目點擊反饋和與賣家聯系等的轉換信號。轉換信號更強(應該是指與賣家聯系等),因此獲得更多的權重。所有超參數通過offline和online實驗進行調優。(ii)文本特征來自項目標題和描述中的非結構化自由文本。我們首先訓練一個項目分類器,將文本映射到賣家指定的類別,然後提取這個分類器的頂層作為文本項表示。分類器是[4]卷積神經網絡(CNN)體系結構的一種變體,使用的是在市場語料庫上預先訓練的word2vec[17]模型。(三)通過訓練模型,從圖像中預測項目標題,生成圖像特征。上面提到的word2vec模型將標題投影到word嵌入中。我們使用標題而不是類別來分類圖像。這給了我們一個更豐富的特性空間。例如,它可以讓物品表示法區分“婚紗”和“夏裝”,盡管它們都屬於同一類別的“連衣裙”。該模型使用預訓練的Inception-v3模型[20]的倒數第二層,並在頂部堆疊7個線性前饋層,以預測單詞嵌入空間中的標題。然後通過最小化預測標題嵌入和實際標題嵌入之間的平均平方誤差來訓練它。(4)我們不使用簡單的地理距離來表示位置,因為它可能具有誤導性。還有一些隱藏的因素,比如人口密度和交通便利程度,影響著地理位置的影響。我們根據用戶的歷史行為訓練位置表示,因為用戶感興趣的項目隱含地告訴了我們很多隱藏的因素。與(i)類似,我們分解一個用戶郵編矩陣,並使用嵌入的郵編作為位置表示。
使用Siamese網絡將不同的項表示合並為混合項表示。所有項表示都連接起來並通過一個註意層傳遞。如果缺少協同過濾特征,註意層允許模型更多地關註文本和圖像特征,反之亦然。然後,由於基礎服務的容量限制,一個高聳的前饋網絡將這些特性壓縮為100維的項目表示。用這個表示的余弦相似度比較兩個項。訓練數據由轉化項對組成,即在同一天從同一用戶獲得轉化的兩個項,以及不太可能共同轉化的負采樣項對。潛在的假設是,共同轉化的項目很可能是相似的。
5 基於時序的模型
基於時序的模型查看用戶的點擊記錄,並預測下一步將點擊哪些項。與矩陣分解相反,這種模型是時間敏感的,可以在預測中更多地考慮最近的點擊。它們將用戶點擊的n個最新項投射到第4部分中描述的混合項表示所對應的項空間中。項目序列通過遞歸神經網絡反饋。每一步t模型使用點擊歷史序列{ xt?n,…,xt } 預測未來序列{ x?t + 1,……,x?t + k } k步驟。余弦相似度計算預測在t+k處序列{ x?t + 1,……,x?t + k } t和實際點擊序列{ xt + 1,……, xt+k}的準確性。
在[2]中,雙層GRU是最優的體系結構。我們還使用LSTM或GRU測試了不同的變體,添加了額外的層疊重復層,或者增加了對輸出的關註。然而,我們沒有觀察到比使用一個直接的GRU層有任何額外的顯著改善。
6 多臂bandit模型
多臂bandit模型可以為一個特定的曝光生成一個實時feed。bandit自己不是推薦器,而是從獨立子模型中接收建議作為輸入的重排序器,通過用值函數估計其點擊概率,將所有建議的項目重新從最相關的排序到最不相關的。子模型可以是任何類型的推薦器,例如基於序列的或矩陣分解,它將返回其最優建議及其相應的分數。通常,bandit連接到6-10個子模型。為了避免訓練過程中的局部極小值,我們采用了簡單的epson貪婪策略,並在每個推薦列表中隨機添加5%的條目。
這種方法不同於[5]等將簡單模型作為第一個過濾器(召回)引入更復雜模型的方法。相反,bandit使我們能夠直接利用針對不同場景調優的性能良好的模型的結果。利用每個子模型的得分,以及訪問時間、設備、登錄頁面類型(首頁或分類首頁)等上下文信息,重點評價子模型的可靠性。
第6.1節中描述的行分隔feed只是用於實驗目的的簡單基線。我們提出了兩個不同的值函數來估計點擊概率:第6.2節的回歸bandit和第6.3節的深度分類bandit。前者的選擇主要是由於其良好的解釋性,而後者允許我們增加價值函數的復雜性,獲得更好的在線性能。
6.1 行分隔feed
這個簡單的基線有一個被混合的行數,並為每個子模型提供一行。行順序也根據每個子模型的單獨性能進行混合。我們選擇這個設置是因為它通常被許多電子商務推薦插件所使用。
6.2回歸bandit
回歸bandit(regression bandit)作為它的名字,使用回歸來近似基於子模型得分、子模型類型和上下文信息的點擊概率。子模型得分分為10個分箱。剩下的特征是標簽特征並進行獨熱編碼。推薦表達是根據這些特性進行分組的,目標值是每組的平均點擊次數。由於未正則化版本的權重經常會激增,因此嶺回歸模型適合於編碼的特征。
6.3深度分類bandit
深度分類bandit將點擊概率估計為一個分類問題。這使我們能夠使用比回歸bandit更復雜的函數來獲得更大的特性集。
模型輸入混合了標量(子模型得分、項目位置、日時等)和類型變量(子模型類型、位置、設備、工作日等)。對標量進行批歸一化,對類型變量進行一次獨熱編碼。在此基礎上,建立了一種高聳的前饋網絡,並輸出了點擊概率。該數據集包含不相等的點擊 v.s.展示事件的比率(即只有一小部分推薦項目被點擊),這可能會導致嚴重的訓練不穩定性。通過在損失函數中引入類權值並對模型權值進行L2正則化來解決這個問題。
7結果與討論
我們在類似的項目部件和如圖1所示的項目feed上進行了在線實驗。相似項目部件顯示在項詳細信息頁面的底部或側邊欄中,假設用戶對項詳細信息感興趣,因此對類似的項感興趣,所以會查看該項詳細信息。項目feed通常顯示在市場的主要和分類首頁,目的是為用戶提供新的和相關的商品。我們選擇在相似項目部件中測試混合項表示,而在項目feed中測試多臂bandit和基於序列的模型,因為項目-項目類型的模型無法在項目feed場景[11]中創建所需的創意性的體驗。
實驗結果如表1所示。絕對點擊徹底率(CTR)由於季節性變化很大效果,新功能發布,等等。因此我們報告更穩定的CTR增量 ?CTR =(CTRB?CTRA)/ CTRA當比較實驗從不同時期。默認情況下,A/B測試將持續一周,以避免周末的季節性影響,並積累大約100萬次相似項目部件的展示和500 - 1000萬次項目feed的展示。為了簡單起見,我們只在超參數調優後顯示每種類型的最佳結果。
在類似的項目場景中,純基於內容的項目表示模型比矩陣分解基線差7.7%,但是混合模型比基線好23.8%。這表明,與基於內容的功能相比,用戶行為提供了更多相關的建議,但仍受到很多冷啟動的影響。在整個實驗過程中,我們觀察到許多例子,其中混合模型使用基於內容的特性來處理點擊次數很少的項目,而對於點擊次數較多的項目,它給出的結果與矩陣分解方法相似
在在線實驗中,基於序列的模型通常優於矩陣分解。當n = 1時,它們退化成一個項目-項目推薦者,僅使用最後看到的項目進行預測。我們要求n > 1,以便模型推廣並且得出n = 15的歷史行為與k = 5的預測數量範圍提供最好的性能——提高了21.2%的CTR。
多臂bandit模型在兩個不同基線的組中進行了測試,因為我們在中間引入了一個主要的用戶界面(UI)重新設計。當我們用行分隔feed基線測試回歸bandit時,我們觀察到50.1%的CTR改善。我們將改進主要歸因於回歸bandit可以跨行混合子模型,而不受融合順序的約束。一個有趣的觀察是,矩陣分解子模型的分數與CTR之間沒有單調的遞增關系。在我們的實驗中,CTR在分數達到0.8左右之前一直在增加,但在那之後迅速下降。調查顯示,這些超高分項具有一定的病毒性傾向,不反映個人品味,因此不會轉化為點擊量。我們在回歸中引入一個斷點,允許點擊概率估計在閾值之後下降,這又獲得了5%的CTR改進。bandit還允許我們向feed添加更多的子模型,並開放了UI靈活性,以增加推薦的條目和連接的子模型的數量。在重新設計UI之後,CTR進一步增加。(線性)回歸bandit的兩個主要缺點是它不能估計觀察到的子模型分數和CTR之間的非線性關系,而且它不是個性化的。回歸函數不能處理為每個用戶單獨建模[by introducing per user aggregation. ]導致的維度爆炸問題。
我們觀察到深度分類bandit與回歸bandit之間的對比測試約有10%的CTR改善。深度模型是個性化的,因為它能夠使用包括用戶嵌入在內的更多特性。
在實驗過程中,我們也嘗試了幾種有潛力的方法,但都沒有成功:(1)我們嘗試了因子分解機來解決冷啟動問題,但是工程成本很高,沒有明顯的CTR改善,所以我們最終選擇了混合模型。(2)我們嘗試只使用強信號如重復訪問和發送消息來訓練模型,但這些模型在短時間內由於數據量太小而表現更差。(3)雖然之前的工作和用戶研究都表明多樣性對於項目feed非常重要,但是當我們嘗試使用基於類別計數的多樣性度量顯式地優化時,我們並沒有得到顯著的改進。(4)回歸和深度分類值函數在訓練過程中都存在較大的不穩定性,在生產使用中需要進行大量的穩定處理。
8 結論
在本文中,我們提出了三種新的市場推薦方法——混合項目表示、基於序列的模型、多臂bandit,並從生產環境分析了它們在在線實驗中的表現。結果表明,在冷啟動和基於序列的模型中,將協同過濾和內容特性相結合,可以更好地表示項目。我們還在推薦中展示了一個bandit的成功用例,它是在其他推薦者之上的高級再排序器。這些bandit對於利用上下文信息和組合多個業務領域的推薦器非常有用。
對於未來的工作,在上述模型仍然有很多可探索。一般來說,我們還沒有對內容特性進行詳細的探索。向項表示中添加更多的內容特性可以更有效地減少用戶或項的冷啟動問題。bandit模型的探索策略可以進一步改進:新的子模型仍然需要很長時間才能追上。此外,市場上的點擊和交易不是瞬間發生的。商品的交易通常發生在用戶第一次查看商品的數小時或數天之後,因此推薦的“獎勵”可能會延遲到來。在強化學習框架使用模型可能會激勵他們更廣泛地探索,並提供更好的用戶體驗。
轉發請註明:https://www.cnblogs.com/kyxfx/p/9934211.html
深度網絡二手市場在線推薦