推薦系統(tǒng)論文閱讀(二十六)-基于上下文時(shí)序注意力機(jī)制的序列推薦模型

論文:

題目:《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。

用戶的歷史行為序列為{S^1 ,S^2 ,...S^U},其中s^u ={(t_{1}^u ,s_{1}^u ), (t_{2}^u ,s_{2}^u ) , ... },其中t_{1}^u 用戶u的交互時(shí)間,s_{1}^u代表交互的物品。

模型的輸入為包括窗口大小為L的用戶歷史記錄:{ (t_{i} ,s_{i} ) i: 0 -> L},當(dāng)前需要推薦的時(shí)間戳t_{L+1},輸入序列的embedding X表示:

同時(shí)將輸入序列的時(shí)間信息使用時(shí)間戳差來表示:

模型整體上分為三個(gè)部分:content-based attention,temporal kernels和contextualized mixture

三層模型可以表示為:

其中,M^\alpha  根據(jù)content X來計(jì)算每個(gè)輸入的權(quán)重,輸出權(quán)重序列α ∈ R^{L\times 1} M^\beta  將時(shí)間信息T通過K temporal kernels計(jì)算每個(gè)輸入的temporal權(quán)重β ∈ R^{L\times k} M^\gamma  X中提取context信息,并結(jié)合前兩個(gè)階段獲得的α 和β 來計(jì)算得到最終的contextualized temporal權(quán)重γ ∈ R^{L\times 1}

最終被推薦的物品的表示為:

其中,F(xiàn)-out是一個(gè)feed-forward層。

3.2?\alpha 階段 (what is the action)

這里用到的是self-attention機(jī)制,具體的細(xì)節(jié)不在贅述,只需要知道結(jié)果輸出就行:




其中?x_{L} 表示最后一個(gè)物品的輸入embedding,其實(shí)就是用最后一個(gè)物品的embedding作為key,self-attention最后一層的狀態(tài)H^{j+1}作為query來計(jì)算\alpha 的。

3.3?\beta 階段 (what is the action)

基于觀察:用戶隨意瀏覽的物品對短期的影響會急劇下降,但是在長期來說仍有著重要的作用。用戶仔細(xì)瀏覽過的物品對用戶短期的興趣有著重要的作用。

所以,文章提出了很多temporal kernels來建模這種時(shí)間變化,不同的kernel函數(shù)\phi (.):R^{L} R^{L} 如下所示:

(1)?\phi (T)?=?ae^{-T} + b ,假設(shè)一個(gè)用戶操作的影響會隨著時(shí)間指數(shù)下降,但是永遠(yuǎn)不會消失。

(2)?\phi (T) = -alog_{1+T} + b ,假設(shè)一個(gè)用戶操作的影響會隨著時(shí)間而減弱,最終可以忽略不計(jì)。
(3)?\phi (T) = -alT + b,假設(shè)一個(gè)用戶操作的影響會隨著時(shí)間線性下降,之后的softmax操作會將某個(gè)時(shí)間段內(nèi)的影響置為0。

(4)?\phi (T) = 1假設(shè)一個(gè)用戶操作的影響不受時(shí)間影響。

根據(jù)K個(gè)kernal函數(shù){{\phi_1 (T)},{\phi_2 (T)},...{\phi_K (T)}},我們可以將T轉(zhuǎn)為K個(gè)temporal權(quán)重集合:

\beta 作為下一階段的輸入。

3.4? \gamma 階段 (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è)元素p_{i}(k|c_{i} ) 都是這個(gè)行為經(jīng)過\phi ^k(.) 后的結(jié)果,使用feed forwaed層Fγ將它們映射到概率空間R^K,然后經(jīng)過softmax操作得到概率分布:


最后將context和temporal信息進(jìn)行融合:


其中,\beta \in R^{L \times K} ,\gamma  \in R^{L \times 1} \gamma  \in R^{L}

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ù)樣本。


4.2 實(shí)驗(yàn)結(jié)果


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,488評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,034評論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,327評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,554評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,337評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,883評論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,975評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,114評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,625評論 1 332
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,555評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,737評論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,244評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 43,973評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,615評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,343評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,699評論 2 370

推薦閱讀更多精彩內(nèi)容