論文:
地址:https://arxiv.org/pdf/2102.09267.pdf
論文題目:《Sparse-Interest Network for Sequential Recommendation》
之前我們介紹過mind這篇文章,通過膠囊網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)對(duì)用戶多興趣的建模叙凡,今天我們來(lái)介紹一篇也是多興趣的論文劈伴,但是不同于mind生成多個(gè)興趣向量,SINE只在中間過程生成多概念興趣握爷,最后還是會(huì)統(tǒng)一形成一個(gè)向量跛璧。
一 、背景
用序列推薦的方式來(lái)實(shí)現(xiàn)召回新啼,一般的做法是用self-att或者gru等序列建模的方式來(lái)對(duì)用戶的點(diǎn)擊序列生成一個(gè)向量表示這個(gè)用戶追城,然后跟item向量進(jìn)行內(nèi)積來(lái)訓(xùn)練。然而师抄,從經(jīng)驗(yàn)分析中,我們發(fā)現(xiàn)用戶的行為序列通常包含多個(gè)概念上不同的item教硫,而統(tǒng)一的嵌入向量主要受最近頻繁操作的影響叨吮。因此,如果概念上相似的item在最近的交互中不占主導(dǎo)地位瞬矩,它可能無(wú)法推斷下一個(gè)首選item茶鉴。為此,另一種解決方案是用多個(gè)嵌入向量來(lái)表示每個(gè)用戶景用,這些向量編碼用戶意圖的不同方面涵叮。然而惭蹂,最近關(guān)于多興趣嵌入的工作通常考慮通過聚類發(fā)現(xiàn)的少量概念割粮,這可能無(wú)法與實(shí)際系統(tǒng)中的大量item類別相提并論盾碗。
也就是說,我們對(duì)序列進(jìn)行聚類/偽聚類舀瓢,形成多個(gè)類廷雅,在分別對(duì)幾個(gè)類別進(jìn)行建模,這就建模出多個(gè)興趣向量京髓。比如說我們把序列中的裙子航缀,衣服,褲子分成三類堰怨,然后顯式的去建模這三個(gè)子序列芥玉,形成多個(gè)興趣向量由于表示user。但是用戶的多興趣這個(gè)概念是難以定義的备图,也就是說我們對(duì)于seq如何劃分成概念上的興趣比較難灿巧,其次,如何定義概念上的興趣K這個(gè)參賽也是個(gè)麻煩诬烹。
基于以上的問題砸烦,本文提出了一種新穎的稀疏興趣網(wǎng)絡(luò)(SINE)用于序列推薦來(lái)解決這些問題。 SINE 可以學(xué)習(xí)大量的興趣組并以端到端的方式捕捉用戶的多個(gè)意圖绞吁。 SINE的稀疏興趣提取模塊從大量興趣組中自適應(yīng)地推斷用戶的交互興趣并輸出多個(gè)興趣嵌入幢痘。 聚合模塊能夠動(dòng)態(tài)預(yù)測(cè)用戶的下一個(gè)意圖,這有助于顯式地捕獲 Top-N 項(xiàng)目推薦的多興趣家破。?
接下來(lái)我們就來(lái)介紹下SINE的具體結(jié)構(gòu)吧颜说。
二 、SINE模型
2.1 模型的輸入
其中N是序列的長(zhǎng)度汰聋,M是總的item數(shù)门粪。
2.2 Sparse-Interest Framework
首先,在一般的序列推薦模型中烹困,我們使用一個(gè)函數(shù)將用戶的點(diǎn)擊序列進(jìn)行編碼:
在SINE中玄妈,我們需要先定義好L個(gè)概念興趣:
其中D是向量的維度,我們的目標(biāo)是從L個(gè)興趣向量中提取K個(gè)向量:
2.2.1 Concept activation
首先髓梅,我們計(jì)算出序列中每個(gè)位置的權(quán)值拟蜻,這部分使用self-attention:
其中a的維度為[n]
得到,每個(gè)位置的權(quán)值后枯饿,我們進(jìn)行weight suming得到用戶的表示向量:
得到zu后酝锅,我們需要對(duì)興趣向量矩陣C進(jìn)行topk索引,索引出最相關(guān)對(duì)K個(gè)興趣:
也就是在C中找到內(nèi)積排名前K的向量奢方,最后用sigmoid(內(nèi)積)對(duì)這K個(gè)向量進(jìn)行激活搔扁。
2.2.2 Intention assignment
在推斷出當(dāng)前的概念原型 C?? 之后爸舒,我們可以根據(jù)他們與原型的距離來(lái)估計(jì)與他/她的行為序列中每個(gè)項(xiàng)目相關(guān)的用戶意圖,具體的計(jì)算如下:
Pk|t表示序列中第t個(gè)位置跟第k個(gè)興趣向量的匹配程度稿蹲。
2.2.3 Attention weighting
我們得到第t個(gè)位置跟第k的匹配程度后扭勉,還需要反過來(lái)計(jì)算一次t對(duì)k的重要程度:
目的是估計(jì)位置 ?? 處的item對(duì)于預(yù)測(cè)用戶的下一個(gè)意圖至關(guān)重要的可能性。
2.2.4 Interest embedding generation.
最后我們進(jìn)行聚合:
這里场绿,我們就得到了表示用戶u對(duì)于興趣點(diǎn)k的表示向量
3.3 Interest Aggregation Module
我們?cè)谇懊娴玫搅擞脩魎對(duì)所有興趣點(diǎn)的表示向量后剖效,還是需要跟mind一樣,最后得到一個(gè)用戶綜合考慮K個(gè)表示興趣向量的最終向量:
其中:
最后我們還是用weight sum求和得到最后的用戶向量:
3.4?Model Optimization
采用softmax進(jìn)行優(yōu)化
優(yōu)化成sample softmax loss后進(jìn)行整個(gè)模型的訓(xùn)練焰盗。