動機
本文是2022年WWW的一篇論文。用戶與物品的交互通常由多種意圖驅使,但是這些意圖通常是潛在的,為了研究意圖對序列推薦的作用,作者提出了一個通用范式ICL,它的核心思想是學習到用戶的意圖並通過對比學習優化序列推薦模型。
算法
用戶與物品集合分別用\(\mathcal U\)和\(\mathcal V\)表示,用戶u的交互序列為\(S^u=[s_1^u,...,s_t^u,...s^u_{|s^u|}]\),K個意圖的序列為\(\{c_i\}^K_{i=1}\)。
意圖對比學習
我們的目標是

但因為意圖c是未知的,該式子很難優化,因此我們使用EM算法。
在E步,我們假設c的分布為Q(c),
,然后可以得出

由Jensen不等式得(ln(x)是上凹的函數,即\(ln(E(x))>=E(ln(x))\))

當且僅當
時等號成立。
為了簡化計算,我們只關注最后一個位置,因此,在
時

我們對序列表示\(\{h^u\}^{|\mathcal U|}_{u=1}\)進行k-means聚類,得到\(Q(c_i)\)為

\(c_i\)是第i個簇的中心。
假設意圖先驗分布是均勻分布,序列在給定意圖的情況下分布服從各向同性的高斯分布(各個方向方差一樣),則

綜上可以得到意圖對比學習

\(\tilde{h}\)是經過增強后的序列表示。
下圖是意圖對比學習結構圖。總結來說就是在E步編碼每個序列,獲得序列表示,然后聚類並得到意圖(每個類的中心),在M步,通過對序列進行數據增強獲得增強后的序列表示,然后與E步得到的意圖進行對比學習。

序列對比學習

多任務學習
下一個點擊物品損失函數為

綜上,總的損失函數為

結果
作者在四個數據集上進行實驗,本文提出的ICL取得最好效果,實驗中的編碼器是2頭自注意力模塊。

總結
本文的主要工作就是在序列推薦中引入意圖,並通過意圖對比學習來增強模型效果。本文提出的是一個通用的框架,如果選擇效果更好的骨干模型,或是有更好的數據增強、數據采樣方法,會有取得更好的結果。
