論文:
題目:《A Contextualized Temporal Attention Mechanism for Sequential Recommendation》
地址:https://dl.acm.org/doi/pdf/10.1145/3366423.3380285
序列推薦任務(wù)很少使用時(shí)間和上下文信息對h(h就是rnn,gru等序列建模網(wǎng)絡(luò)輸出的狀態(tài))進(jìn)行加權(quán),www這篇論文融合了上下文和時(shí)間信息的加權(quán)信號,一起看看吧,雖然筆者覺得這篇論文非常笨重。。
一 、背景
這篇論文的背景其實(shí)可以放在sequence recommendation任務(wù)中去看待,根據(jù)歷史記錄中用戶的先后行為來預(yù)測用戶的偏好對于現(xiàn)代推薦系統(tǒng)而言具有挑戰(zhàn)性且至關(guān)重要。現(xiàn)有的大多數(shù)序列推薦算法都將重點(diǎn)放在順序動作之間的傳遞結(jié)構(gòu)上,但是在對歷史事件對當(dāng)前預(yù)測的影響進(jìn)行建模時(shí),很大程度上會忽略時(shí)間和上下文信息。
論文認(rèn)為,過去事件對用戶當(dāng)前動作的影響應(yīng)隨時(shí)間推移以及在不同背景下發(fā)生變化。因此,我們提出了一個(gè)基于上下文和時(shí)間的注意機(jī)制,該機(jī)制可以學(xué)會權(quán)衡歷史行為對行為的影響,不僅影響行為是什么,而且還影響行為發(fā)生的時(shí)間和方式。更具體地說,為了動態(tài)地校準(zhǔn)自注意機(jī)制的相對輸入依存關(guān)系,我們設(shè)計(jì)了多個(gè)參數(shù)化的核函數(shù)來學(xué)習(xí)各種時(shí)間動態(tài),然后使用上下文信息來確定對每個(gè)輸入遵循哪些weight kernel函數(shù)。
上面的說法可能有點(diǎn)晦澀難懂,下面結(jié)合一張圖來描述一下
以上圖中所示的在線購物場景為例:系統(tǒng)獲得了一系列用戶行為記錄,并且需要推薦下一組商品。 我們應(yīng)該注意,在此場景中,我們假設(shè)這些交互行為不是彼此獨(dú)立的, 這更好地反映了推薦系統(tǒng)只能訪問脫機(jī)數(shù)據(jù)和部分用戶行為記錄的情況。好了,接著看上圖中的場景,用戶在過去的一段時(shí)間內(nèi)點(diǎn)擊來網(wǎng)球拍,手機(jī),運(yùn)動鞋,智能手環(huán),然后在昨天一直在瀏覽手機(jī),那么這個(gè)時(shí)候我們需要預(yù)估用戶的下一次點(diǎn)擊,這個(gè)時(shí)候的用戶正想買一個(gè)手表,那么這個(gè)時(shí)候系統(tǒng)是給用戶推薦運(yùn)動手表呢,還是推薦電子手表呢,因?yàn)橛脩暨^去的瀏覽有運(yùn)動類的物品和智能設(shè)備的物品。
按照時(shí)間的分段性來看:長期的歷史記錄表明用戶對購物體育相關(guān)產(chǎn)品感興趣。 現(xiàn)在,用戶正在尋找手表,該系統(tǒng)可以推薦一些運(yùn)動手表。 從本質(zhì)上講,長期的用戶歷史記錄通常可能會攜帶稀少但至關(guān)重要的用戶偏好信息,影響著現(xiàn)在的意圖,而最近的交互操作應(yīng)該會更能代表用戶在將來的意圖。
按上下文細(xì)分:由于用戶仔細(xì)瀏覽幾個(gè)智能手機(jī)(比平均時(shí)間間隔短得多的時(shí)間間隔),因此可以認(rèn)為這些物品跟當(dāng)前用戶的偏愛非常相關(guān),因此智能手表可能比傳統(tǒng)手表更受青睞。 通常,用戶瀏覽日志的某些時(shí)間段可能看起來是異構(gòu)的,這個(gè)時(shí)間段里面充滿了用戶的短期興趣偏好,用戶在這個(gè)時(shí)間點(diǎn)上會以重復(fù)的方式專注于一小部分同類物品。
很容易理解,時(shí)間因素可以理解為用戶的長期興趣偏好,即使在很遙遠(yuǎn)的歷史,也會對現(xiàn)在的興趣產(chǎn)生影響,上下文偏好可以理解為用戶的短期興趣偏好,也就是用戶在近期瀏覽的物品表征了用戶現(xiàn)在的短期意圖。說白了就是對用戶進(jìn)行長短期興趣建模。
二、三個(gè)問題
本來不想說這三個(gè)問題的,無奈部分論文說的太抽象了,或許是越抽象越容易中稿?
說實(shí)話這篇論文在解釋時(shí)間跟上下文關(guān)系的時(shí)候說的太晦澀難懂了,筆者看的也是很頭疼,比如下面這段話:
首先,我們看第一個(gè)問題,我的理解就是用self-attention進(jìn)行序列建模,第二個(gè)就是確定時(shí)間因素和上下文因素的影響,第三個(gè)就是綜合考慮時(shí)間和上下文的影響。
三、模型
還是直接看模型吧,扯一堆什么因果關(guān)系看得頭大:
3.1 模型輸入
用戶空間U,大小為U;物品空間V,大小為V。
用戶的歷史行為序列為{},其中
={(
,
), (
,
) , ... },其中
用戶u的交互時(shí)間,
代表交互的物品。
模型的輸入為包括窗口大小為L的用戶歷史記錄:{ () i: 0 -> L},當(dāng)前需要推薦的時(shí)間戳
,輸入序列的embedding X表示:
同時(shí)將輸入序列的時(shí)間信息使用時(shí)間戳差來表示:
模型整體上分為三個(gè)部分:content-based attention,temporal kernels和contextualized mixture
三層模型可以表示為:
其中,根據(jù)content X來計(jì)算每個(gè)輸入的權(quán)重,輸出權(quán)重序列α ∈
;
將時(shí)間信息T通過K temporal kernels計(jì)算每個(gè)輸入的temporal權(quán)重β ∈
;
從X中提取context信息,并結(jié)合前兩個(gè)階段獲得的α 和β 來計(jì)算得到最終的contextualized temporal權(quán)重γ ∈
。
最終被推薦的物品的表示為:
其中,F(xiàn)-out是一個(gè)feed-forward層。
3.2?
階段 (what is the action)
這里用到的是self-attention機(jī)制,具體的細(xì)節(jié)不在贅述,只需要知道結(jié)果輸出就行:
其中?表示最后一個(gè)物品的輸入embedding,其實(shí)就是用最后一個(gè)物品的embedding作為key,self-attention最后一層的狀態(tài)
作為query來計(jì)算
的。
3.3?
階段 (what is the action)
基于觀察:用戶隨意瀏覽的物品對短期的影響會急劇下降,但是在長期來說仍有著重要的作用。用戶仔細(xì)瀏覽過的物品對用戶短期的興趣有著重要的作用。
所以,文章提出了很多temporal kernels來建模這種時(shí)間變化,不同的kernel函數(shù):
→
如下所示:
(1)??=?
,假設(shè)一個(gè)用戶操作的影響會隨著時(shí)間指數(shù)下降,但是永遠(yuǎn)不會消失。
(2)?,假設(shè)一個(gè)用戶操作的影響會隨著時(shí)間而減弱,最終可以忽略不計(jì)。
(3)?-alT + b,假設(shè)一個(gè)用戶操作的影響會隨著時(shí)間線性下降,之后的softmax操作會將某個(gè)時(shí)間段內(nèi)的影響置為0。
(4)?假設(shè)一個(gè)用戶操作的影響不受時(shí)間影響。
根據(jù)K個(gè)kernal函數(shù){},我們可以將T轉(zhuǎn)為K個(gè)temporal權(quán)重集合:
作為下一階段的輸入。
3.4?
階段 (what is the action)
這一階段的目標(biāo)是基于提取到的context信息融合前兩個(gè)階段獲得的content和temporal信息。
使用Bidirectional RNN結(jié)構(gòu)來獲得context信息。從輸入序列embedding表示X中,我們可以計(jì)算得到循環(huán)隱藏層的狀態(tài):
其中,⊕是拼接操作,C_a?ttr是可選擇的context特征(可以是特定推薦系統(tǒng)中每個(gè)行為的屬性,表示行為發(fā)生時(shí)的上下文),本文中只使用了Bi-RNN的輸出作為context特征。
行為i的context特征需要映射為一個(gè)長度為K的權(quán)重向量,每一個(gè)元素都是這個(gè)行為經(jīng)過
后的結(jié)果,使用feed forwaed層Fγ將它們映射到概率空間
,然后經(jīng)過softmax操作得到概率分布:
最后將context和temporal信息進(jìn)行融合:
其中,,
3.5 模型的輸出
其中,r是每一個(gè)item的分?jǐn)?shù),對于給定的用戶,通過softmax層對item分?jǐn)?shù)進(jìn)行歸一化,該層會在item表上產(chǎn)生概率分布,也就是進(jìn)行多分類的意思。
四、損失函數(shù)和實(shí)驗(yàn)結(jié)果
4.1 損失函數(shù)
其中Ns是根據(jù)頻率進(jìn)行負(fù)采樣的負(fù)樣本。