动态网络表征学习在推荐领域的创新与实践
導讀:在現實生活中,用戶對于一件事物的關注度即關系圖往往是會隨著時間而改變的。按照靜態圖的建模方法將不能顯示地建模用戶在時序上的興趣變化。動態網絡表征學習不僅能學習到當前網絡的結構信息,而且也能學習到網絡在時間上的變化,但是目前主要還是針對動態同構網絡,本文在此基礎上提出了基于層次化注意力機制的動態圖表征算法,是推薦底層算法模型上的一次突破。
01
背景介紹
目前大多數 Graph Embedding 的方法如 node2vec、GCN、GraphSAGE 和 GAT 等主要是針對靜態圖模型的方法,也就是假設圖是不會改變的。但是在現實生活中,關系圖往往是會隨著時間而改變。比如用戶在一段時間內對連衣裙的興趣會慢慢轉移到高跟鞋,在關系圖上的表現就是前一段時間用戶的鄰居主要都是連衣裙,但是后面一段時間用戶的鄰居主要都是高跟鞋。如果按照靜態圖的建模方法,連衣裙和高跟鞋都會出現在同一張圖上,雖然可以在關系邊上加上時間信息,但是其只能作為控制游走或聚合的權重,并不能顯示地建模用戶在時序上的興趣變化。
動態網絡表征學習也叫做 Dynamic Graph Embedding ( Dynamic Network Embedding ),不僅能學習到當前網絡的結構信息,而且也能學習到網絡在時間上的變化,是目前 Graph Embedding 的一個熱門方向。近年來在動態網絡表征學習方面相關的算法也如雨后春筍般被提出,如 DynamicTriad、DySAT 等。但是目前主要還是針對動態同構網絡,受到 DySAT 和 HAN 算法的啟發,我們在動態異構網絡方面提出了基于層次化注意力機制的動態圖表征算法 ( DyHAN ),在離線測評上都優于目前現有的方法。
在業務落地上,考慮到開發難度和線上曝光情況,我們在之前 GraphSAGE i2i 基礎上,引入動態模型更好地學習時序信息,在業務上取得了一定效果。
02
創新探索
在創新層面,針對用戶和商品的動態異構圖,我們提出基于層次化注意力機制的動態圖表征算法 ( DyHAN, short for Dynamic Heterogeneous Graph Embedding using Hierarchical Attentions )。
1. 圖的構建
這里主要描述一下我們自己的數據集的構建信息,其他的數據集也是類似的。我們使用用戶歷史行為日志來構建。
節點類型:用戶和商品
邊類型:點擊、詢盤 ( AB ) 和 Order 等。
時間分片:每天的用戶行為作為一個時間分片,取 10 天的時間分片來訓練,第 11 天的來做評測。
節點信息:節點 id ( 這里為了方便實驗,直接使用節點id特征,如果圖有其他特征也可以加入進去 )。
這樣構建的關系圖就是一個具有 11 個時間分片,2 個節點類型和 3 個邊類型的異構動態圖。在一個時間分片下,如果只看點擊類型的邊,我們就得到了這個時間分片下點擊邊類型的子圖。
2. 模型
算法主要為三層注意力機制,模型結構如圖1所示。這里三層的融合分別是節點層級、邊層級和時序層級上的聚合。在 DyHAN 里我們都使用了注意力機制,但是實際上這三個模塊都可以替換成其他聚合方法,如節點層級的聚合可以使用 GraphSAGE 的 mean、mean-pooling 和 max-pooling 的方法。時間層級的聚合可以使用 RNN 類的方法,如 LSTM 和 GRU 等。
節點層級的聚合 ( Node-level Attention ),目的為每個時間分片下每個邊類型子圖里的節點都做一個 attention 融合自身與其鄰居的信息。這樣融合后的向量能表示這個節點在這一類邊類型下的語義信息。query 為節點本身,key 為節點的鄰居 ( 包括自己 )。
邊層級的聚合 ( Edge-level Attention ), 主要作用為對每個時間分片下節點的邊類型向量進行匯聚,某一類型的邊類型向量可能對這個節點的貢獻比較大。比如 order 的邊類型向量對于交易品的貢獻就比較大。
時序層級的聚合 ( Temporal-level Attention ),主要把每個時間分片上的節點向量聚合起來。這里使用一個標準的 Scaled-Dot-Product Attention。M 為一個 mask 矩陣,主要是為了使節點向量只能看到過去的節點向量。
為了增加 expressive 的能力,每一層的聚合都可以使用 multi-head 機制。
損失函數選取 Cross Entropy,正負樣本只在最后一個時間分片上選取。
3. 實驗
推薦的向量化召回就是計算兩個節點的相似度來預測用戶潛在感興趣的商品,為了更好地貼合業務,我們選擇邊預測作為我們的實驗任務。Baseline 選取了靜態和動態圖表征上比較有代表性的算法,如靜態的主要有 DeepWalk、metapath2vec、GraphSAGE、GAT;動態的主要有 DynamicTriad、DySAT 等。我們在兩個公開數據集和我們自己的數據集上進行了實驗,下面是實驗結果。
詳細內容請參考我們的 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
實踐探索
考慮到目前 ICBU 推薦引擎的機制對用戶向量化的曝光比例較低,在動態圖表征的上線落地上我們首選在 i2i 上進行嘗試,即直接在 GraphSAGE i2i 的基礎上引入動態模型。
1. 圖的構建
每個時間分片圖的構建沿用之前 GraphSAGE i2i 的模式,由于工程上實現的機制,只對最后一個時間分片上的節點 infer 出節點向量。因此為了不減少商品覆蓋度,每一個時間分片的設置為 90 天,時間分片之間設置適當的 overlapping。
2. 模型
這樣模型其實就變成了前文詳述的 DyHAN 的簡化版,其分為了兩層結構,第一層為GraphSAGE 的聚合機制,主要為對每個時間分片計算出節點向量。第二層為時序層級上的聚合,采用上文介紹的 Scaled-Dot-Product Attention。最后的訓練是無監督訓練,無監督學習樣本的選取做了一些優化,同時損失函數使用 Triplet Loss。
3. 離線評測和線上效果
離線評測:我們隨機選取 session 下第一個商品作為 trigger,計算同 session 后續點擊的 distinct 商品的覆蓋率。這樣的樣本選取一萬個, 原 graphsage_i2i 的覆蓋率增量為 4.2%,使用 dynamic_i2i 的覆蓋率增量為 10.9%。
線上效果:在 Detail 跨店推薦上線,L-AB 轉化率提升 3.54%,L-O 轉化率提升 14.23%。在整體 Detail 頁的轉化方面,D-AB 轉化率提升 0.85%,D-O 轉化率提升 2.57%。
04
總結
在動態圖表征學習上我們創新地提出了 DyHAN 的方法用于異構動態圖建模,同時在阿里巴巴國際站 ( ICBU ) 推薦領域引入動態圖表征模型,在業務上取得了一定的效果。同時我們也發現這種時間分片的動態圖表征模式運算開銷比較大,因為每一個時間分片都要運行一個靜態的圖表征模型,如何減小運算開銷是未來的一個研究方向。同時在時間維度上如何更好地融合時序信息也是未來的一個研究方向。
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
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的动态网络表征学习在推荐领域的创新与实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 100篇精选算法技术文章收藏
- 下一篇: 精益软件过程中七大浪费的应对之道