业界盘点|为什么推荐算法都开始结合图神经网络了?
作者 | 對白
出品 | 對白的算法屋
編者寄語:
本文看完,相信你也能熟練掌握這些基于GNN的推薦模型。
圖神經(jīng)網(wǎng)絡(luò)(GNN)相信大家也不陌生了,在還沒有Graph Embedding之前,節(jié)點(diǎn)的屬性信息可以通過Item2vec這種序列化Embedding的方式去學(xué)習(xí),效果雖然不錯(cuò),但它忽略了節(jié)點(diǎn)的結(jié)構(gòu)信息。而GNN能夠自然地整合節(jié)點(diǎn)屬性信息和拓?fù)浣Y(jié)構(gòu)信息,因此在許多領(lǐng)域廣泛應(yīng)用。
在推薦系統(tǒng)中,目前的主要挑戰(zhàn)是從用戶-物品交互以及輔助信息中學(xué)習(xí)有效的User-Item Embedding。由于大部分的信息本質(zhì)上都是圖結(jié)構(gòu),并且GNN在表示學(xué)習(xí)方面具有先天優(yōu)勢,因此在推薦系統(tǒng)中蓬勃發(fā)展。
本文對基于GNN的推薦算法進(jìn)行了總結(jié),匯總了從2018至2020年期間工業(yè)界和學(xué)術(shù)界比較有代表性的29個(gè)基于的GNN推薦模型。此外,我從近三年KDD的論文中挑選了六篇值得一讀的GNN推薦模型為大家解讀,分別是4篇阿里的論文,1篇滴滴的論文和1篇亞馬遜的論文,話不多說,讓我們一起欣賞一下GNN在推薦系統(tǒng)中的花式玩法吧~
基于圖神經(jīng)網(wǎng)絡(luò)的推薦算法分類
基于圖神經(jīng)網(wǎng)絡(luò)的推薦模型總結(jié)
1?General?Recommendation
1.1 General RS without side information?
Neighbor Aggregation:區(qū)分鄰居的影響大小,比mean-pooling,degree normalization效果好
Information Update:當(dāng)后續(xù)沒有顯式的特征交叉步驟時(shí),mean pooling, sum pooling表現(xiàn)足夠好,若有,則concat能保留更多信息
Final Node representation:有些使用GNN的最后一層向量作為表示,有些則用所有層(可能表示更好一些)
1.2 General RS with social network
Influence modeling:區(qū)分社交網(wǎng)絡(luò)不同的好友的影響力可以提升效果,進(jìn)一步的,考慮朋友在不同的Item上的影響力也不一樣,可以在item稀疏時(shí)提升較大
Preference Integration:將social network 和user-item bipartite 兩個(gè)圖分開建模和統(tǒng)一建模都可,沒有明顯區(qū)別。
1.3?General RS with knowledge graph
Graph simplification:為了將GNN較為高效地應(yīng)用于KG,需要對圖進(jìn)行簡化(同時(shí)圖信息有損),例如AKGE利用最短路徑來重構(gòu)子圖,IntentGC僅保留一部分結(jié)點(diǎn)來構(gòu)造i2i和u2u
Multi-relation propagation:KG有多重類型的邊,因此需要使用attention 機(jī)制來聚集來自鄰居的信息
User intergration:有些工作利用GNN來學(xué)習(xí)item表示,假設(shè)用戶具有靜態(tài)的表示;另外的則將user作為KG中一種entity來學(xué)習(xí)
2 Sequential recommendation
2.1 SR without side information
Graph construction:將sequence 轉(zhuǎn)為graph,轉(zhuǎn)化的方法決定了GNN的效果,一般將按時(shí)序出現(xiàn)的相鄰K(一般K=2)個(gè)item之間進(jìn)行連邊
Information propagation:在聚集鄰居特征時(shí),相比mean-pooling, GRU在序列建模中效果更好一些
Sequential preference:將序列的結(jié)點(diǎn)表示集成為最終的結(jié)點(diǎn)表示,attention, GRU皆可
2.2 SR with social network
DGRec:使用LSTM來抽取用戶的動態(tài)興趣,再使用GAT來對不同好友的影響進(jìn)行聚集
3. 阿里EGES
論文標(biāo)題:Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba
論文來源:KDD2018,Alibaba
論文目標(biāo):將圖表示學(xué)習(xí)應(yīng)用到推薦中,初步解決scalability, sparsity and cold start等問題
圖數(shù)據(jù)的構(gòu)建方法:session-based users’ behaviors中相鄰的item連接一條有向邊
模型架構(gòu):
模型特點(diǎn):
base model :先隨機(jī)游走,再使用negative sampling優(yōu)化的Skip-gram模型來學(xué)習(xí)表示。
enhance model:利用side information,給每種不同類型的side information的表示以不同的權(quán)重,其中SI 0代表item id。
注:數(shù)據(jù)清洗
1.刪除點(diǎn)擊后停留時(shí)間少于1s的點(diǎn)擊(無意圖點(diǎn)擊)
2.刪除過于活躍的用戶(buy>1000 item, click >3500 item in 3 months)
4. 阿里GATNE
論文標(biāo)題:Representation Learning for Attributed Multiplex Heterogeneous Network
論文來源:KDD2019 Alibaba&Tsinghua
論文目標(biāo):學(xué)習(xí)異構(gòu)網(wǎng)絡(luò)的結(jié)點(diǎn)和邊表示
圖數(shù)據(jù)的構(gòu)建方法:user-item交互信息(點(diǎn)擊,加入購物車等)
模型架構(gòu):
模型特點(diǎn):
為異構(gòu)網(wǎng)絡(luò)中的每個(gè)結(jié)點(diǎn)學(xué)習(xí)一個(gè)基本表示(base embedding),在結(jié)點(diǎn)的每種邊類型下都學(xué)一個(gè)表示(edge embedding),將兩類表示合并作為最后的表示。
總結(jié):
有Inductive和transductive兩種setting:
Inductive learning中將結(jié)點(diǎn)的屬性作為學(xué)習(xí)結(jié)點(diǎn)和邊表示的初始化輸入。
5. 阿里M2GRL
論文標(biāo)題:M2GRL: A Multi-task Multi-view Graph Representation Learning Framework for Web-scale Recommender Systems
論文來源:KDD2020 Alibaba
論文目標(biāo):同時(shí)學(xué)習(xí)multi-view的表示,并對齊
圖數(shù)據(jù)的構(gòu)建方法:從用戶的歷史行為序列中構(gòu)造出item graph(連續(xù)的item之間連邊);category graph, shop graph
模型架構(gòu):
模型特點(diǎn):
多task多view的圖表示學(xué)習(xí)框架,分為兩類任務(wù):
1.view內(nèi)的任務(wù),關(guān)注與view內(nèi)的同構(gòu)圖的表示學(xué)習(xí),使用Negative sampling優(yōu)化的Skip-gram模型來學(xué)習(xí)
2.view間的任務(wù),專注于學(xué)習(xí)不同view的結(jié)點(diǎn)的關(guān)系,采取對齊技術(shù)來將不同view的結(jié)點(diǎn)的映射到同一空間,并學(xué)習(xí)結(jié)點(diǎn)之間的關(guān)系
利用同調(diào)不確定性來學(xué)習(xí)不同任務(wù)的權(quán)重
備注:
數(shù)據(jù)清洗
1.刪除點(diǎn)擊后停留時(shí)間少于2s的user-item pair(用戶可能不感興趣)
2.打開到關(guān)閉app的tm來分割和合并session。若有1小時(shí)的空閑時(shí)間,將一個(gè)session分成兩個(gè);如果時(shí)間跨度少于30分鐘,合并兩個(gè)連續(xù)的session。
6. 阿里DHGAT
論文標(biāo)題:A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce
論文來源:KDD2020 Alibaba
論文目標(biāo):在shop search上提高長尾query和shop的效果
圖數(shù)據(jù)的構(gòu)建方法:從用戶的搜索、點(diǎn)擊和下單行為歷史構(gòu)造。
結(jié)點(diǎn)類型:Shop(S)、Query(Q)、Item(I)
邊類型:
1.同構(gòu)邊:Q-Q,同一個(gè)session中的query連邊,導(dǎo)致相同點(diǎn)擊shop的query連邊;S-S,在同個(gè)query下的shop連邊
2.異構(gòu)邊:Q-S(歷史數(shù)據(jù)中直接獲得,從item-query下下單的),Q-I,S-I
模型架構(gòu):
模型特點(diǎn):
使用GNN來豐富shop和query的表示含義,定義了各自的異構(gòu)鄰居。
1.雙層attention,1.同種異構(gòu)邊,2.不同種異構(gòu)邊
2.雙塔+異構(gòu)attention
3.從product search中transfer knowledge
4.user feature作為query特征一部分
7 .滴滴Gemini
論文標(biāo)題:Gemini: A Novel and Universal Heterogeneous Graph Information Fusing Framework for Online Recommendations
論文來源:KDD2020 DiDi
論文目標(biāo):將User-item交互的異構(gòu)圖轉(zhuǎn)化為兩個(gè)semi-Homogeneous圖
圖的構(gòu)建方法:任意二分圖
模型架構(gòu):
模型特點(diǎn):
1.將一個(gè)異構(gòu)圖轉(zhuǎn)化為兩個(gè)半同構(gòu)圖,其中同構(gòu)圖上的邊的屬性為node list(原來的共同1跳鄰居結(jié)點(diǎn))
2.邊上的點(diǎn)越多,包含的信息越多;但在所有邊上出現(xiàn)次數(shù)越多,越不重要。單個(gè)邊上點(diǎn)出現(xiàn)的次數(shù)(tf),所有邊上點(diǎn)出現(xiàn)的次數(shù)(idf) ,使用TF-IDF pooling (分桶表示)
3.使用attention機(jī)制來組合結(jié)點(diǎn)和邊表示
4.使用edge conv來獲得該層的結(jié)點(diǎn)表示
5.預(yù)測
備注:
復(fù)雜度較高,構(gòu)造了u-u圖,比原始的u-i圖更大
8. 亞馬遜NIRec
論文標(biāo)題:An Efficient Neighborhood-based Interaction Model for Recommendation on Heterogeneous Graph
論文來源:KDD2020, Amazon
論文目標(biāo):介紹了early summarization問題(在預(yù)測前將結(jié)點(diǎn)和鄰居信息壓縮到一個(gè)向量中),并提出模型解決
圖的構(gòu)建方法:普通異構(gòu)圖
模型架構(gòu):
模型特點(diǎn):
1.在metapath-guide neighbor,所有類型metapath的所有相關(guān)結(jié)點(diǎn)都參與
2.在interaction層,使用卷積操作
Conv: shift, product, sum
3.在aggregation層,兩層attention(Node/Element-level、Path/Matrix-level)
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯黃海廣老師《機(jī)器學(xué)習(xí)課程》視頻課本站qq群851320808,加入微信群請掃碼:
總結(jié)
以上是生活随笔為你收集整理的业界盘点|为什么推荐算法都开始结合图神经网络了?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 轻量级RTSP服务SDK
- 下一篇: win10 dns异常上不了网如何解决