推薦系統(tǒng)遇上深度學習(一三五)-序列推薦中的特征粒度深度自注意力網(wǎng)絡

從這篇開始,咱們陸續(xù)來介紹幾篇推薦系統(tǒng)中特征建模的文章。今天要介紹的是19年的一篇文章,算是比較早的一篇在特征上進行建模的論文,對現(xiàn)在的一些建模方式具有一定的借鑒意義,一起來看一下。

1、背景

序列推薦的目標是基于用戶的歷史行為序列pattern,來推薦用戶下一個最可能交互的item。這種pattern不僅存在在item粒度,也可能存在特征粒度。從item粒度舉例,如購買過蘋果手機的用戶,很有可能下一個會購買蘋果手機殼;從特征粒度來講,以品類為例,購買了衣服的用戶,后有可能下一個會購買鞋子。因此,從item和feature粒度對用戶的行為偏好pattern進行建模,對于提升推薦效果是具有顯著的意義的。但當前(指該論文發(fā)表以前,現(xiàn)在對于特征建模的論文就比較多了)的論文大都關注item粒度的pattern建模,而忽略了feature粒度的pattern建模。因此,論文提出了Feature-level Deeper Self-Attention Network (以下簡稱FDSA),使用self-attention對用戶feature粒度的偏好pattern進行建模。

2、FDSA介紹

FDSA模型的整體結(jié)構如下圖所示:

主要分為上下兩部分,上面的部分是Item粒度的self-attention,建模item粒度的的偏好。下面是feature粒度的self-attention,建模用戶feature粒度的偏好。最后兩部分的輸出進行拼接,通過MLP層,輸出每一個target item的偏好概率。接下來,主要對feature粒度的建模過程進行介紹。

2.1 Input

這部分的輸入包括n個歷史行為的feature,如果用戶歷史行為長度不足n,則用0補齊,如果超過n,則按時間進行截斷。特征主要分為兩類,一類是item的基礎屬性特征如品類category、品牌brand,這類特征通過embedding layer轉(zhuǎn)換為對應的embedding表示;另一類是文本特征。對于文本特征,首先使用word2vec進行詞向量的學習,再抽取標題和描述中的五個關鍵詞,使用mean pooling方式得到item的文本特征表示。

2.2 Vanilla attention layer

這一層的主要作用是篩選用戶關注的特征,即哪些特征對于用戶的決策起到了更重要的作用,假設item i的的輸入表示為:

接下來,首先計算每個特征的attention score,然后對特征進行加權,得到該item的特征層面的最終表示:

2.3 Feature-based self-attention block

最后,針對每個item的表示,經(jīng)過多個self-attention block得到feature建模部分的最終輸出。self-attention的具體計算過程就不做贅述,這里主要提一點,為了在計算過程中融入行為發(fā)生的順序信息,輸入self-attention模塊時,融入了position encoding:

3、實驗結(jié)果

最后看下實驗結(jié)果

4、總結(jié)

論文在細粒度feature建模方面,所提出的方法具有一定的借鑒意義。可以看到,論文采用的是一種兩階段的建模思路,即先建模單個item內(nèi)用戶對于不同feature的偏好程度,再建模item之間的相互影響。其實還有其他的思路,如先關注不同item的相同屬性的相互影響,如item的價格,評分,再建模用戶對于不同feature的偏好(美團的crossDQN),再比如使用一階段的建模方式,同時建模item和feature的偏好(如ebay的trans2D)。不同的思路結(jié)合建模場景可靈活選擇。

好了,本文就介紹到這里,感興趣的同學可以閱讀原文,最后祝大家端午安康~

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容