Semantic Proximity Search on Heterogeneous Graph by Proximity Embedding

 

我的知乎:JoeWang

​ 這篇論文發表在AAAI2017會議上,主要講的是異構信息網絡的語義路徑的嵌入。相較於其他的嵌入方法,這篇論文着眼於一種直接的異構網絡結構中兩節點的路徑嵌入方法ProxEmbed,且這種方法支持對稱和非對稱的結構。基於這種嵌入方法,可以輕鬆計算出兩節點的路徑評分。

Introduction

​ 作者通過使用隨機遊走來確定節點q與節點v之間的網絡結構。所以呢,對於非對稱的元路徑,同一個網絡中,節點q到節點v與節點v到節點q的網絡結構是不一樣的。有了網絡結構,接下來就是通過神經網絡做embedding,論文作者使用LSTM(Long Short-Term Memory),節點q和節點v之間的路徑被視爲一個sequence。經過LSTM網絡,會產生多個對path的embedding,之後通過discounted path pooling生成一個向量即使節點q到節點v的語義路徑的embedding了。

Problem Formulation

​ 論文中定義一個圖 G = (V,E,C,τ),V是節點集合,E是邊集合,C可能出現的節點類型的集合,τ則是圖 G 中V-->C的一個類型映射函數。架構的輸入是一個定義好的圖G和一個訓練元組D={(qi,vi,ui):i = 1,...,m},其中q是查詢節點,v,u則是目標節點,節點v到q的距離比節點u到q的距離更近。最後的輸出是一個向量,表示q到v、q到u的語義路徑的embedding,需要說明的是,對於對稱的路徑,f(q,v)=f(v,q);對於非對稱路徑,f(q,v)!=f(v,q)。

Proximity Embedding

Path modeling with LSTM

​ LSTM常被用來應對梯度爆炸問題,將一條路徑視作一個sequence,即以節點q到節點v的路徑最爲一個sequence。LSTM爲每個timestep生成一個向量,通過pooling操作最後生成這個sequence的embedding。LSTM可以看作一個記憶單元(memory cell),它包含一個輸入門(input gate)、一個自我連接的神經元(neuro)、一個遺忘門(forget gate)和一個輸出門(output gate)。

  • Input gate

  • Forget gate

  • Cell state

  • Output gate

​ 最後,輸出的向量yt爲:

​ 再通過pooling操作,h即爲一條路徑下節點q到節點v的embedding:

Discounted path pooling

​ 因爲會有很多條路徑,經過上面的LSTM後,會產生多個向量描述同一個節點q到節點v的embedding,所以最後要合併這些路徑,最終生成節點q到節點v的embedding。

​ 完成pooling之後,就可以使用得到的embedding來做一個ranking對於節點q到節點v和節點q到節點u。論文定義瞭如下的邏輯迴歸:

​ 這樣,加上正則項,就可以進一步給出loss function:

Experiments

​ 在實驗部分,論文使用了三個數據集LinkedIn、Facebook和DBLP。

​ 對比了如下的方法:

  • MGP:Meta-Graph Proximity uses meta-graphs as features to measure proximity;
  • MPP:Meta-Path Proximity uses meta-paths as features to measure proximity;
  • SRW:Supervised Random Walk learns the edge weights, so as to make the random walk results consistent with the ground truth ranking;
  • DWR:Deep Walk Ranking first learns the node embedding by Deep Walk;

通過對比,論文的方法都有很好的表現。

論文地址

論文地址:Semantic Proximity Search on Heterogeneous Graph by Proximity Embedding

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章