动态网络表征学习在推荐领域的创新与实践
導(dǎo)讀:在現(xiàn)實(shí)生活中,用戶對(duì)于一件事物的關(guān)注度即關(guān)系圖往往是會(huì)隨著時(shí)間而改變的。按照靜態(tài)圖的建模方法將不能顯示地建模用戶在時(shí)序上的興趣變化。動(dòng)態(tài)網(wǎng)絡(luò)表征學(xué)習(xí)不僅能學(xué)習(xí)到當(dāng)前網(wǎng)絡(luò)的結(jié)構(gòu)信息,而且也能學(xué)習(xí)到網(wǎng)絡(luò)在時(shí)間上的變化,但是目前主要還是針對(duì)動(dòng)態(tài)同構(gòu)網(wǎng)絡(luò),本文在此基礎(chǔ)上提出了基于層次化注意力機(jī)制的動(dòng)態(tài)圖表征算法,是推薦底層算法模型上的一次突破。
01
背景介紹
目前大多數(shù) Graph Embedding 的方法如 node2vec、GCN、GraphSAGE 和 GAT 等主要是針對(duì)靜態(tài)圖模型的方法,也就是假設(shè)圖是不會(huì)改變的。但是在現(xiàn)實(shí)生活中,關(guān)系圖往往是會(huì)隨著時(shí)間而改變。比如用戶在一段時(shí)間內(nèi)對(duì)連衣裙的興趣會(huì)慢慢轉(zhuǎn)移到高跟鞋,在關(guān)系圖上的表現(xiàn)就是前一段時(shí)間用戶的鄰居主要都是連衣裙,但是后面一段時(shí)間用戶的鄰居主要都是高跟鞋。如果按照靜態(tài)圖的建模方法,連衣裙和高跟鞋都會(huì)出現(xiàn)在同一張圖上,雖然可以在關(guān)系邊上加上時(shí)間信息,但是其只能作為控制游走或聚合的權(quán)重,并不能顯示地建模用戶在時(shí)序上的興趣變化。
動(dòng)態(tài)網(wǎng)絡(luò)表征學(xué)習(xí)也叫做 Dynamic Graph Embedding ( Dynamic Network Embedding ),不僅能學(xué)習(xí)到當(dāng)前網(wǎng)絡(luò)的結(jié)構(gòu)信息,而且也能學(xué)習(xí)到網(wǎng)絡(luò)在時(shí)間上的變化,是目前 Graph Embedding 的一個(gè)熱門方向。近年來(lái)在動(dòng)態(tài)網(wǎng)絡(luò)表征學(xué)習(xí)方面相關(guān)的算法也如雨后春筍般被提出,如 DynamicTriad、DySAT 等。但是目前主要還是針對(duì)動(dòng)態(tài)同構(gòu)網(wǎng)絡(luò),受到 DySAT 和 HAN 算法的啟發(fā),我們?cè)趧?dòng)態(tài)異構(gòu)網(wǎng)絡(luò)方面提出了基于層次化注意力機(jī)制的動(dòng)態(tài)圖表征算法 ( DyHAN ),在離線測(cè)評(píng)上都優(yōu)于目前現(xiàn)有的方法。
在業(yè)務(wù)落地上,考慮到開(kāi)發(fā)難度和線上曝光情況,我們?cè)谥?GraphSAGE i2i 基礎(chǔ)上,引入動(dòng)態(tài)模型更好地學(xué)習(xí)時(shí)序信息,在業(yè)務(wù)上取得了一定效果。
02
創(chuàng)新探索
在創(chuàng)新層面,針對(duì)用戶和商品的動(dòng)態(tài)異構(gòu)圖,我們提出基于層次化注意力機(jī)制的動(dòng)態(tài)圖表征算法 ( DyHAN, short for Dynamic Heterogeneous Graph Embedding using Hierarchical Attentions )。
1. 圖的構(gòu)建
這里主要描述一下我們自己的數(shù)據(jù)集的構(gòu)建信息,其他的數(shù)據(jù)集也是類似的。我們使用用戶歷史行為日志來(lái)構(gòu)建。
節(jié)點(diǎn)類型:用戶和商品
邊類型:點(diǎn)擊、詢盤(pán) ( AB ) 和 Order 等。
時(shí)間分片:每天的用戶行為作為一個(gè)時(shí)間分片,取 10 天的時(shí)間分片來(lái)訓(xùn)練,第 11 天的來(lái)做評(píng)測(cè)。
節(jié)點(diǎn)信息:節(jié)點(diǎn) id ( 這里為了方便實(shí)驗(yàn),直接使用節(jié)點(diǎn)id特征,如果圖有其他特征也可以加入進(jìn)去 )。
這樣構(gòu)建的關(guān)系圖就是一個(gè)具有 11 個(gè)時(shí)間分片,2 個(gè)節(jié)點(diǎn)類型和 3 個(gè)邊類型的異構(gòu)動(dòng)態(tài)圖。在一個(gè)時(shí)間分片下,如果只看點(diǎn)擊類型的邊,我們就得到了這個(gè)時(shí)間分片下點(diǎn)擊邊類型的子圖。
2. 模型
算法主要為三層注意力機(jī)制,模型結(jié)構(gòu)如圖1所示。這里三層的融合分別是節(jié)點(diǎn)層級(jí)、邊層級(jí)和時(shí)序?qū)蛹?jí)上的聚合。在 DyHAN 里我們都使用了注意力機(jī)制,但是實(shí)際上這三個(gè)模塊都可以替換成其他聚合方法,如節(jié)點(diǎn)層級(jí)的聚合可以使用 GraphSAGE 的 mean、mean-pooling 和 max-pooling 的方法。時(shí)間層級(jí)的聚合可以使用 RNN 類的方法,如 LSTM 和 GRU 等。
節(jié)點(diǎn)層級(jí)的聚合 ( Node-level Attention ),目的為每個(gè)時(shí)間分片下每個(gè)邊類型子圖里的節(jié)點(diǎn)都做一個(gè) attention 融合自身與其鄰居的信息。這樣融合后的向量能表示這個(gè)節(jié)點(diǎn)在這一類邊類型下的語(yǔ)義信息。query 為節(jié)點(diǎn)本身,key 為節(jié)點(diǎn)的鄰居 ( 包括自己 )。
邊層級(jí)的聚合 ( Edge-level Attention ), 主要作用為對(duì)每個(gè)時(shí)間分片下節(jié)點(diǎn)的邊類型向量進(jìn)行匯聚,某一類型的邊類型向量可能對(duì)這個(gè)節(jié)點(diǎn)的貢獻(xiàn)比較大。比如 order 的邊類型向量對(duì)于交易品的貢獻(xiàn)就比較大。
時(shí)序?qū)蛹?jí)的聚合 ( Temporal-level Attention ),主要把每個(gè)時(shí)間分片上的節(jié)點(diǎn)向量聚合起來(lái)。這里使用一個(gè)標(biāo)準(zhǔn)的 Scaled-Dot-Product Attention。M 為一個(gè) mask 矩陣,主要是為了使節(jié)點(diǎn)向量只能看到過(guò)去的節(jié)點(diǎn)向量。
為了增加 expressive 的能力,每一層的聚合都可以使用 multi-head 機(jī)制。
損失函數(shù)選取 Cross Entropy,正負(fù)樣本只在最后一個(gè)時(shí)間分片上選取。
3. 實(shí)驗(yàn)
推薦的向量化召回就是計(jì)算兩個(gè)節(jié)點(diǎn)的相似度來(lái)預(yù)測(cè)用戶潛在感興趣的商品,為了更好地貼合業(yè)務(wù),我們選擇邊預(yù)測(cè)作為我們的實(shí)驗(yàn)任務(wù)。Baseline 選取了靜態(tài)和動(dòng)態(tài)圖表征上比較有代表性的算法,如靜態(tài)的主要有 DeepWalk、metapath2vec、GraphSAGE、GAT;動(dòng)態(tài)的主要有 DynamicTriad、DySAT 等。我們?cè)趦蓚€(gè)公開(kāi)數(shù)據(jù)集和我們自己的數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),下面是實(shí)驗(yàn)結(jié)果。
詳細(xì)內(nèi)容請(qǐng)參考我們的 paper:
Luwei Yang, Zhibo Xiao, Wen Jiang, Yi Wei, Yi Hu, and Hao Wang, “Dynamic heterogeneous graph embedding using hierarchical attentions,” in Proceedings of the 42nd European Conference on Information Retrieval, 2020
03
實(shí)踐探索
考慮到目前 ICBU 推薦引擎的機(jī)制對(duì)用戶向量化的曝光比例較低,在動(dòng)態(tài)圖表征的上線落地上我們首選在 i2i 上進(jìn)行嘗試,即直接在 GraphSAGE i2i 的基礎(chǔ)上引入動(dòng)態(tài)模型。
1. 圖的構(gòu)建
每個(gè)時(shí)間分片圖的構(gòu)建沿用之前 GraphSAGE i2i 的模式,由于工程上實(shí)現(xiàn)的機(jī)制,只對(duì)最后一個(gè)時(shí)間分片上的節(jié)點(diǎn) infer 出節(jié)點(diǎn)向量。因此為了不減少商品覆蓋度,每一個(gè)時(shí)間分片的設(shè)置為 90 天,時(shí)間分片之間設(shè)置適當(dāng)?shù)?overlapping。
2. 模型
這樣模型其實(shí)就變成了前文詳述的 DyHAN 的簡(jiǎn)化版,其分為了兩層結(jié)構(gòu),第一層為GraphSAGE 的聚合機(jī)制,主要為對(duì)每個(gè)時(shí)間分片計(jì)算出節(jié)點(diǎn)向量。第二層為時(shí)序?qū)蛹?jí)上的聚合,采用上文介紹的 Scaled-Dot-Product Attention。最后的訓(xùn)練是無(wú)監(jiān)督訓(xùn)練,無(wú)監(jiān)督學(xué)習(xí)樣本的選取做了一些優(yōu)化,同時(shí)損失函數(shù)使用 Triplet Loss。
3. 離線評(píng)測(cè)和線上效果
離線評(píng)測(cè):我們隨機(jī)選取 session 下第一個(gè)商品作為 trigger,計(jì)算同 session 后續(xù)點(diǎn)擊的 distinct 商品的覆蓋率。這樣的樣本選取一萬(wàn)個(gè), 原 graphsage_i2i 的覆蓋率增量為 4.2%,使用 dynamic_i2i 的覆蓋率增量為 10.9%。
線上效果:在 Detail 跨店推薦上線,L-AB 轉(zhuǎn)化率提升 3.54%,L-O 轉(zhuǎn)化率提升 14.23%。在整體 Detail 頁(yè)的轉(zhuǎn)化方面,D-AB 轉(zhuǎn)化率提升 0.85%,D-O 轉(zhuǎn)化率提升 2.57%。
04
總結(jié)
在動(dòng)態(tài)圖表征學(xué)習(xí)上我們創(chuàng)新地提出了 DyHAN 的方法用于異構(gòu)動(dòng)態(tài)圖建模,同時(shí)在阿里巴巴國(guó)際站 ( ICBU ) 推薦領(lǐng)域引入動(dòng)態(tài)圖表征模型,在業(yè)務(wù)上取得了一定的效果。同時(shí)我們也發(fā)現(xiàn)這種時(shí)間分片的動(dòng)態(tài)圖表征模式運(yùn)算開(kāi)銷比較大,因?yàn)槊恳粋€(gè)時(shí)間分片都要運(yùn)行一個(gè)靜態(tài)的圖表征模型,如何減小運(yùn)算開(kāi)銷是未來(lái)的一個(gè)研究方向。同時(shí)在時(shí)間維度上如何更好地融合時(shí)序信息也是未來(lái)的一個(gè)研究方向。
05
參考資料
【1】Grover, Aditya, and Jure Leskovec. "node2vec: Scalable feature learning for networks." Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining. 2016.
【2】Kipf, Thomas N., and Max Welling. "Semi-supervised classification with graph convolutional networks." arXiv preprint arXiv:1609.02907 (2016).
【3】Hamilton, Will, Zhitao Ying, and Jure Leskovec. "Inductive representation learning on large graphs." Advances in neural information processing systems. 2017.
【4】Veli?kovi?, Petar, et al. "Graph attention networks." arXiv preprint arXiv:1710.10903 (2017).
【5】Zhou, Lekui, et al. "Dynamic network embedding by modeling triadic closure process." Thirty-Second AAAI Conference on Artificial Intelligence. 2018.
【6】Wang, X., Ji, H., Shi, C., Wang, B., Ye, Y., Cui, P., & Yu, P. S. (2019, May). Heterogeneous graph attention network. In The World?Wide Web Conference (pp. 2022-2032).
【7】Sankar, Aravind, et al. "DySAT: Deep Neural Representation Learning on Dynamic Graphs via Self-Attention Networks." Proceedings of the 13th International Conference on Web Search and Data Mining. 2020.
【8】L. Yang, et al. “Dynamic heterogeneous graph embedding using hierarchical attentions,” in Proceedings of the 42nd European Conference on Information Retrieval, 2020
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的动态网络表征学习在推荐领域的创新与实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 100篇精选算法技术文章收藏
- 下一篇: 精益软件过程中七大浪费的应对之道