Incorporating Dwell Time in Session-Based Recommendations with Recurrent Neural Networks

Incorporating Dwell Time in Session-Based Recommendations with Recurrent Neural Networks

摘要:

將停留時間閾值融入到RNN框架中用於推薦

評測指標:recall@20 MRR@20

數據集:

e-commerce RecSys』15 challenge dataset

動機:

預測用戶感興趣的下一個item

方法:

所提出的方法的總體思路是,用戶瀏覽一個項目的時間越長,則對該項目越感興趣。顯然,我們不是考慮outliers(用戶可能只是離開了應用程序,或者只是在離開計算機時保持網頁打開)。因此,這種方法可以用於下次點擊推薦技術。

假設電子商務會話有一系列點擊{x1,...,xn},每次點擊都有一個停留時間dti。我們提出使用Boosting來增加停留時間大於預定義閾值t的項目。這樣,我們將會話中這些項目的數量相乘,並將會話中項目的出現次數定義為(dti / t +1)

基於session的推薦和RNN的建模的一大挑戰是session的長度不同,因此作者提出將每個小批量(mini-batch)表示為來自並行會話的元素集合 。

然後通過預測下一個小批量來預測並行會話中的下一個元素。在左側,我們看到右側的原始點擊序列 - 輸入模型和模型的輸出。所有會話都按會話ID和時間排序。之後,在第一批次中使用少數幾個會話的第一個元素,在第二個批次中使用第二個元素,等等。輸入中只使用具有下一個可用元素的元素。一旦會話結束,另一個會繼續(如在俄羅斯方塊遊戲中)。

輸出形成輸入批次中每個項目的下一個項目的集合。因此,會話中的最後一個元素不是輸入的一部分(它後面沒有項目),並且會話的第一個元素不是輸出的一部分(沒有項目在它之前)。我們將在論文中將他們的模型稱為GRU4Rec。

本文基於GRU4Rec模型改進,並加入停留時間因素

在我們提出的方法中,包含停留時間的session i由點擊click表示。假設停留時間的預定義閾值為t秒,在session2中第一個元素的停留時間大於2t但小於3t,則此會話的並行mini-batch與前一個元素不同(如圖1所述),session2包含第一個元素的兩個實例 - 參見圖2。我們稱之為item boosting。項目停留時間不同。為了區分相應的項目,我們增加那些停留時間大於預定義閾值的會話的特徵表示。事實上,這種存在仍然在序列中的相同位置

Recurrent Neural Networks with Top-k Gains for Session-based Recommendations論文通過改變採樣策略優化了GRU4Rec的性能。該paper表示:對於每一個mini-batch中的樣本,其他樣本都作為副樣本採樣,並基於點損失採用一個新穎的排序損失函數。本文同樣採用該方法。

數據集:RecSys』2015 challenge data set – Yoochoose

停留時間計算為當前項目的時間戳與下一個項目的時間戳之間的差值。

平均停留時間為148s。中位數是60

本文採取時間閾值時平均停留時間的一半75s

實驗結果


推薦閱讀:

SLAM 學習視頻合集
零基礎小白,如何入門計算機視覺?
【2D Single-person Pose Estimatiom】
採用HALCON機器視覺軟體及C#語言檢測工件位置的方法 (之二)
[計算機視覺論文速遞] 2018-03-30

TAG:科技 | 計算機視覺 |