推薦系統中如何做 User Embedding?

時間 2021-05-06 07:37:55

1樓:朱果汁

社交網路領域會用到很多對user進行embedding的方法,需要使用者與使用者之間的關聯資訊(比如共同參與活動或者是互相關注),生成使用者的網路以後來進行embedding。

2樓:Louis

1. 根據pretrain的item的embed,weighted pooling user的embed

2.end2end的,eg youtube DNN

3.引入side info的end2end,eg 雙塔

3樓:Hakase

中期答辯的時候,看到有人做推薦系統,當然我不是做這個方向的,所以就問了下是什麼東西。

然後這個同學就給我解釋了下,他的方法是直接從影象識別,影象先處理成矩陣,好像有17層,然後不用最後輸出的概率來判斷,而是直接在矩陣層面,去判斷兩個矩陣的相似度,然後給出相似推薦,驗證的話就取17層中間的去反覆驗證,工作量巨大。

4樓:Hover

既然題主是玩Graph方向的,那其實應該就比較好理解了

將整個推薦系統對應於相應的Graph其中如果作為同質圖理解的話,那item就是對應的node,user就是對應相應的sentence,類似於取樣出來的序列,那這個時候用任何可以sentence-embedding的方法都可以獲得相應embedding

最粗暴的方法是採用item-embedding進行平均,而序列的長度很關鍵,太短了無法完全表徵,太長了無法可能使用者興趣發生了偏移效果不好,因而可以作為baseline(大多數情況下,效果說的過去)

加上序列和時間考量,用LSTM(GRU)等處理這個「sentence」,最終最終得到的編碼可以是user-embedding(DIEN)

以上所有的方法都是基於採用item作為sentence進行embedding進行表示的,其思路和nlp中差不多,如果已經有了word embedding, 如何獲取sentence embedding。

如果是將整個網路作為異質圖來理解,user-item分別是其中的 node ,此時可以採用使用隨機遊走的方式進行獲取node-embedding,進而獲取 user-embedding,可以採用的方法就很多了,比如deep-walk based的一系列(DeepWalk,node2vec,etc)。

實際操作的過程中,如果資料量不是十分充足,建起來的圖可能表現並不好,更多的是學術的炫技,工業還是基於sentence或者CF進行處理。

另外,對於embedding的訓練,通常有兩種思路,

end2end的中間產物:另一種是加入embedding-layer 和 attention-layer,此時的embedding是副產物。

我目前的實踐上看起來,端到端的更難訓,但是最後的表現會稍微好一些。

5樓:Shiwan Zhao

可以考慮把user embedding分成靜態(反應長期偏好)和動態(反應短期意圖)兩部分。

靜態偏好可以來自於矩陣分解。

動態偏好可以來自於contextual information,比如session data,短期的item序列,反應當前的使用者意圖。可以結合attention機制進一步處理。

6樓:

一般來說是利用使用者的行為序列去表示。

最原始的還是基於矩陣分解,或者矩陣分解的各種變形。工業場景下並不是個好的選擇,存在著計算複雜度高,訓練時間長,難以優化等各種各樣的問題。

最簡單的方法就是將使用者有過行為的item序列取平均,作為使用者的向量表示。具體做法可以借鑑一下word2vec中的CBOW。

稍微複雜一些,可以參考youtube DNN,新增上使用者的屬性特徵,比如性別,年齡等,再加幾層網路,輸出隱層作為使用者向量表示。

取平均顯得有些粗糙,因為使用者的興趣在不斷變化,通常越新的行為item,表示使用者最近的興趣,起得作用更大,可以採用GRU,CNN,Transformer等模組來處理item序列,用輸出隱層作為使用者的向量表示。Transformer尤其好用,會自動地對不同的item選擇權重。這些方法一般稱為基於session或者基於sequence的推薦演算法。

具體做法可以搜尋GRU4Rec,GRU4Rec+,Caser,SAS4Rec,BERT4Rec。

職場中如何做一名強者?

茴香豆 不邀自來。工作時間不久,但是有點自己的心得體會。只說自己的故事,不喜勿噴。東家是個三資企業,老資歷的文憑高的一堆.想要做強者那就只能夾縫中求生存。初生牛犢,多幹活 別人不幹,我來。別人不願意做,我來。自我積累!不懂多問,不會多學 技多不壓身,會的多了,自己就是強者了啊!總之別特麼偷懶,工作時...

朋友向自己推薦「科普文」,該如何做?

李石 發這些東西其實有兩種人 1 他自己其實也不一定信,但是隨手發給你,用手指輕點表達對你的關心 畢竟在中國立場大於是非。我說的對不對不重要,重要的是關心你了 對這種人千萬不能用科學方式闢謠,因為他本來就不信,僅僅是為了用最廉價的方式維護社會關係 對他的關心你如果一反駁就不是在反駁謠言,而是在否定他...

如何做筆記?

曦曦是只兔子 向來不擅長做筆記,一來是因為字醜,做了自己也不一定看。二是因為性格丟三落四,基本是一本本子記上幾次,就總是不知道去哪了,所以乾脆不記了。不過,最重要的是因為,認為學習首先是理解,學習和運用往往是之後的事 而理解是腦子的事,動手反而礙事。但是最近越來越覺得,將腦海中的框架和模型記下來,對...