[Paper Reading] Dynamic Item Block and Prediction Enhancing Block for Sequential Recommendation

會議:IJCAI'19
主題:序列推薦
paper:https://www.ijcai.org/proceedings/2019/0190.pdf
code:https://github.com/ouououououou/DIB-PEB-Sequential-RS

1. 準(zhǔn)備知識

  • 序列推薦:傳統(tǒng)的協(xié)同過濾推薦瓜喇,是以一種靜態(tài)的方法構(gòu)造user-item間的交互曲掰,所能捕捉的用戶的偏好較為單一章郁。相反吞加,序列推薦是以一種動態(tài)即序列的方法構(gòu)造user-item間的交互币旧,從其所包含的序列依賴關(guān)系中可以捕捉到用戶的消費習(xí)慣规揪、意圖和商品的消費趨勢等悠轩,有利于更精準(zhǔn)地档泽、個性化地和動態(tài)地推薦音诫。例如惨奕,給曾購買過GPU的用戶推薦GPU風(fēng)扇等。

2. 簡介

學(xué)習(xí)用戶多尺度的偏好竭钝,例如長期偏好和短期偏好梨撞,有利于更加精準(zhǔn)的預(yù)測用戶行為。現(xiàn)有的方法可以大致分為三類:

  • 第一類旨在基于用戶行為模式的啟發(fā)式假設(shè)香罐,通過時間矩陣分解來建模用戶偏好漂移的方法卧波;
  • 第二類則側(cè)重于用戶偏好于剛剛交互的前幾項的短期依賴性,典型的方法是基于馬爾可夫鏈的推薦的方法庇茫;
  • 第三類是近幾年大火的基于神經(jīng)網(wǎng)絡(luò)建模用戶偏好的方法港粱。這類方法可以基于RNN、CNN幾它們的變體去捕捉用戶交互item之間的長期和短期依賴性旦签。本文沿著這一方向查坪,設(shè)計了一種端到端的神經(jīng)序列模型去完成序列推薦的任務(wù),宁炫。

(1) 現(xiàn)有神經(jīng)序列模型存在的不足之處:

  • 簡單地認對于所有用戶來說偿曙,item的表征靜態(tài)、固定的淋淀,即不會隨著時間的變遷遥昧、用戶的切換而變化覆醇。
  • user與item相關(guān)性的預(yù)測過于單一,例如炭臭,通過user與item各自表征的內(nèi)積來衡量永脓。這主要是因為現(xiàn)有的工作對于一個用戶只學(xué)習(xí)一種向量表示,這就導(dǎo)致了模型最終預(yù)測的單一性鞋仍。本文針對一個用戶會生成不同尺度上的向量表示來衡量用戶不同角度的偏好常摧。

(2) 本文重點:

  • 設(shè)計Dynamic Item Block (DIB) 模塊去學(xué)習(xí)item的動態(tài)向量表示。主要是通過聚合在該時間步之前對該item有過交互的用戶的向量表示來得到的威创。這部分稱之為類似用戶(similar users)落午,并通過注意力機制確定不同相似用戶的對于item表征學(xué)習(xí)的重要程度。
  • 提出Prediction Enhancing Block (PEB)模塊肚豺,將用戶的向量表示投影到多個尺度上溃斋,在此基礎(chǔ)上,可以相應(yīng)地進行多個預(yù)測吸申,然后集中在一起進行增強學(xué)習(xí)梗劫。

下面將逐個突破這兩個模塊,并介紹完整的序列推薦模型截碴。

3. Dynamic Item Block (DIB)

圖1 DIB

DIB可以看作是一個transformer梳侨,它以user 的向量表示和item 的向量表示為輸入,然后將item的向量表示transformer成一個與用戶相關(guān)的向量表示日丹。具體步驟為:

  • step1: 尋找相似用戶(similar users)走哺。本文相似用戶指的是與item i有過互動的其他用戶,下面以一個例子來具體說明這一過程哲虾。
    圖2 尋找similar users

    假設(shè)現(xiàn)在DIB的輸入為user u_3和item i丙躏,尋找與item i有過交互的用戶,并按交互時間排序束凑。在交互過的用戶列表中找到u_3的確切位置彼哼,稱之為時間步。那么湘今,在這一時間步之前交互的用戶即為u_3的相似用戶,如u_4,u_5,u_6,u_7剪菱,最終保留K個用戶摩瞎。
  • step2: 聚合相似用戶的向量表示為c_{ui}作為item i向量表示q_i學(xué)習(xí)過程中的補充特征。但是孝常,不同用戶與item之間的相關(guān)性并不完全相同旗们,因此采用attention機制,以區(qū)別不同用戶向量表示對item i向量表示學(xué)習(xí)的貢獻程度构灸。將用戶u的相似用戶標(biāo)記為s_i^u上渴,對應(yīng)的向量表示為p_{s_i^u}。那么c_{ui}可通過如下兩個公式得到:
    z_{s_i^u}=\frac{exp(p_u^Tp_{s_i^u})}{\sum_{k=1}^Kexp(p_u^Tp_{s_k^u})}

c_{ui}=\sum_{k=1}^Kz_{s_i^u}p_{s_i^u}

最終,item i與用戶u相關(guān)(user related)的一個向量表示d_{ui}就可以表示成:
d_{ui}=merge(q_i,c_{ui})
這篇文章將merge定義為merge(x,y)=x+\alpha y稠氮,其中參數(shù)\alpha衡量了補充特征的重要性曹阔。

4. Prediction Enhancing Block (PEB)

PEB模塊主要將用戶的表征映射到不同的尺度上,以便同時預(yù)測出用戶在不同尺度上與item的相關(guān)性隔披。


圖3 PEB
  • step1 : 通過一個全連接層將用戶的向量表示p_u映射成K個向量表示赃份,其中第k個向量表示用符合p_u^k。那么奢米,就可以預(yù)測用戶在第k個尺度上抓韩,選擇每個item i的可能性。但是鬓长,由于item 數(shù)量是龐大的谒拴,這篇文章又采用負采樣策略降低計算復(fù)雜度。具體為
    y_{ui}=\frac{exp({p_u^k}^Tq_i)}{\sum_{j\in\{i\}\cup N_{i_u^p}}exp({p_u^k}^Tq_j)}
    其中涉波,N_{i_u^p}為對應(yīng)負樣本集合英上。
  • step2 :將K個按照不同的重要程度,整合成一個值怠蹂。其中善延,第k個預(yù)測值對最終值的貢獻程度\beta_k是通過將p_u通過另一個全連接層映射為K個值得到的。

整個網(wǎng)絡(luò)的損失函數(shù)設(shè)計為
L_u = \frac{1}{K}\sum_{k=1}^K-log(\eta\cdot y_{ui_p^u}^k+(1-\eta)\cdot(1-\alpha_{ui_p^u})+\sum_{i_n\in N_{i_p^u}}-\log(\eta\cdot(1-y_{ui_n^u}^k)+(1-\eta)\cdot\alpha_{ui_n^u}^k)
其中城侧,\alpha_{ui}=|y_{ui}-\beta|易遣。損失函數(shù)的核心在于最大化正樣本的y并最小化y\beta的差距,最小化負樣本的y并最大化y\beta之間的差距嫌佑。參數(shù)\eta用以平衡兩個優(yōu)化目標(biāo)豆茫。

每個尺度上的預(yù)測值,與終值的相關(guān)程度就可以標(biāo)準(zhǔn)化為:
w_k=\frac{exp(\beta_k)}{\sum_j^Kexp(\beta_j)}

最終屋摇,用戶u與item i互動的概率可以預(yù)測為
y_{ui}=\sum_{k=1}^Kw_k\cdot y_{ui}^k

5. Models with Sequential Building Blocks

基于 DIB 和 PEB揩魂,這篇文章提出了兩個順序模型,分別為:GRU-DIB-PEB和 MN-DIB-PEB炮温,下面依次介紹之火脉。
(1) GRU-DIB-PEB

圖4 GRU-DIB-PEB

該模型,首先通過DIB將用戶u歷史交互過的item i向量表示轉(zhuǎn)換成與用戶相關(guān)向量表示d_{ui}柒啤。接著倦挂,通過GRU將所有的d_{ui}壓縮成一個固定向量h_u。最后担巩,將h_u與用戶向量表示p_uconcat成為用戶最終的向量表示\hat{p}_u方援。然后通過PEB模塊,就能得到用戶與item i交互的概率涛癌。

(2) MN-DIB-PEB

圖 5 MN-DIB-PEB

該模型犯戏,主要采用了記憶網(wǎng)絡(luò)的思想去生成送火。

6. 總結(jié)

DIB有助于構(gòu)建具有相似用戶作為上下文信息的更好的項目表示,而PEB則以多尺度的方式增強預(yù)測先匪,以獲得更高的推薦可靠性种吸。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市胚鸯,隨后出現(xiàn)的幾起案子骨稿,更是在濱河造成了極大的恐慌,老刑警劉巖姜钳,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坦冠,死亡現(xiàn)場離奇詭異,居然都是意外死亡哥桥,警方通過查閱死者的電腦和手機辙浑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拟糕,“玉大人判呕,你說我怎么就攤上這事∷椭停” “怎么了侠草?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長犁嗅。 經(jīng)常有香客問我边涕,道長,這世上最難降的妖魔是什么褂微? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任功蜓,我火速辦了婚禮,結(jié)果婚禮上宠蚂,老公的妹妹穿的比我還像新娘式撼。我一直安慰自己,他們只是感情好求厕,可當(dāng)我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布著隆。 她就那樣靜靜地躺著,像睡著了一般呀癣。 火紅的嫁衣襯著肌膚如雪旅东。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天十艾,我揣著相機與錄音,去河邊找鬼腾节。 笑死忘嫉,一個胖子當(dāng)著我的面吹牛荤牍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播庆冕,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼康吵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了访递?” 一聲冷哼從身側(cè)響起晦嵌,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拷姿,沒想到半個月后惭载,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡响巢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年描滔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片踪古。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡含长,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出伏穆,到底是詐尸還是另有隱情拘泞,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布枕扫,位于F島的核電站陪腌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏铡原。R本人自食惡果不足惜偷厦,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望燕刻。 院中可真熱鬧只泼,春花似錦、人聲如沸卵洗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽过蹂。三九已至十绑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酷勺,已是汗流浹背本橙。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留脆诉,地道東北人甚亭。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓贷币,卻偏偏與公主長得像,于是被迫代替她去往敵國和親亏狰。 傳聞我的和親對象是個殘疾皇子役纹,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,627評論 2 350

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