THINE:針對時序異質信息網絡的表示學習
異質信息網絡(Heterogeneous Information Networks,HINs)嵌入以其優異的性能受到越來越多的關注,它將多種類型的節點映射到低維空間,同時保留網絡的特征和結構。然而,目前的大多數工作都是針對靜態HINs而提出的,這與實際情況形成了對比。現實生活中的HINs會隨著時間的推移而發展,簡單地將其視為靜態的,勢必無法準確捕獲網絡的結構和語義。基于此,我們提出了一個時序異質信息網絡嵌入模型(THINE)用于捕獲多種類型節點之間的動態信息,其利用候選元路徑集來捕獲HINs的結構和語義,同時使用Hawkes過程來模擬網絡的演化。在三個真實世界的時序HINs上的大量實驗表明,在靜態和動態任務中,THINE的表現都是最好的。
該論文“Temporal Heterogeneous Information Network Embedding”發表在IJCAI 2021,即國際人工智能聯合會議(International Joint Conference on Artificial Intelligence),IJCAI是人工智能領域中最主要的學術會議之一,是中國計算機學會(CCF)A類會議。

- 論文鏈接:
- https://www.ijcai.org/proceedings/2021/0203.pdf
簡介
近年來,異質信息網絡(Heterogeneous Information Networks,HINs)嵌入以其優異的性能受到越來越多的關注。它將多種類型的節點映射到低維空間,同時保留網絡的特征和結構。PTE、Meta-path2Vec等許多優秀算法已成功應用于各種網絡相關任務中,如節點分類、節點聚類、鏈路預測等。然而,目前的大多數工作都是針對靜態HINs而提出的,這與實際情況形成了對比。現實生活中的HINs會隨著時間的推移而發展,比如學術網絡,作者可能會在不同的年份發表不同的論文;而在Yelp數據集中,隨著時間的變化,用戶的評論也會產生不同的星級。因此,簡單地將時序HIN視為靜態HIN,不可避免地無法準確捕獲網絡的結構和語義。
因此,為了1)有效地保持時序HINs中動態的結構和語義;2)捕捉異構節點之間的動態影響。我們提出了一個新穎的時序HIN嵌入模型(THINE)用于捕獲多種類型節點之間的動態信息。我們首先定義各種元路徑來捕獲HIN的語義和結構;然后,對于特定的下游任務,我們生成與該任務相關的候選元路徑集;最后,通過Hawkes過程建模節點間的時間影響,得到每個節點的嵌入;此外,THINE還使用了兩層的注意機制優化模型,其中一層是為了區分不同類型的元路徑,另一層用于區分鄰居節點的距離。
模型設計

圖1-THINE模型
THINE的整體模型如圖1所示,其首先使用基于元路徑的隨機游走來提取HIN的信息。元路徑的構建決定了我們可以捕獲什么語義和結構。因此,元路徑的選擇是HINs研究的關鍵。例如,對于學術網絡,除了考慮先前模型所考慮的作者-論文關系的元路徑外,我們還考慮了論文-論文關系的元路徑,即APPA。憑借這些元路徑,我們可以很好地保留HINs中的語義。此外,網絡中的節點和邊受到節點自身和相關候選元路徑集的影響。因此,我們基于節點對的影響,對候選集的影響進行建模,以理解時序HIN。之后,我們用 Hawkes過程建模時間的影響。一般來說, Hawkes過程被用來模擬過去事件對現在的影響。顯然,越久遠的事件,對現今的影響就越小。因此,對于THINE,我們對每一個影響都用 Hawkes過程加以關注。正式地,候選元路徑集的影響,即所有相關元路徑實例的影響,被定義為:

其中,m表示一條元路徑實例,tmi,i∈(s, m, e)表示候選元路徑集、一條元路徑實例和一條邊的影響。因此,ηs(t)、ηm(t)和ηe(t)分別表示時間t之前相應的影響。由此,我們首先需要建模一條元路徑實例的影響ηm(t),即是它包含的所有邊的影響。因此,它被定義為:

其中,eij 表示節點vi和vj之間的一條邊。一條邊可以用它連接的兩個節點來表示,因此,我們利用節點對的影響和 Hawkes過程來模擬一個時間邊的影響,即:

ti,j表示邊ei,j的時間戳,ηi,j為節點對的影響,使用負歐幾里得距離的平方表示。k(·)為指數函數,用于建模時間衰減效應。需要注意的是,由于計算復雜性,我們選擇了候選元路徑集的子集進行訓練。具體來說,我們選擇從時間t最近生成的n個元路徑實例,其中n是一個超參數。對于一個元路徑實例,我們同樣選擇離源節點最近的z條候選邊來訓練,而z也是一個超參數。
此外,THINE還使用了兩層注意力機制優化模型。例如圖1(c)所示,邊
的候選元路徑集包括m1:(a1,p2,c1,p3,a3)以及m2:(a2,p3,a3)。 顯然,m1 和m2 是根據不同的元路徑APCPA和APA生成的,它們對下游任務有著不同的影響,為了捕捉這種微妙的區別,我們應用了語義層面的注意機制。 形式上,我們定義不同類型的元路徑的權值如下:

其中c是任務中定義的所有元路徑的集合,而ωb 表示第b元路徑的權值。在此基礎上,我們將候選元路徑集的影響重新表述為:

除此之外,m1以及m2中的節點到a3的距離是不同的,因此,一種結構級別的注意機制被用來捕捉這種差異,即設置了與跳數相關的注意力機制。我們將與跳數相關的權值表示為:

因此一個元路徑實例的影響被重新定義為:

在上述公式的基礎上,我們定義了條件強度函數λx,y(t)表示節點vx和vy之間在t時刻生成連接的強度,具體為:

考慮到條件強度函數應返回正實數,我們采用指數函數傳遞λx,y(t),同時將λx,y(t)收縮至0-1之間,表示節點vx 和vy之間建立關系的概率。此外,為了避免在計算時涉及整個節點集,我們使用了負采樣技術,損失函數可以重新表示如下:

最后,我們使用Adam優化THINE。
實驗相關
數據集:我們在3個不同的真實世界數據集上測試THINE,分別為Aminer、DBLP和Yelp。他們的統計數據如表1所示。

表1 數據集詳細信息
對比方法:我們比較THINE與以下11種方法的性能,包括9種網絡嵌入方法和2種圖神經網絡方法,詳細信息如表2所示。

表2 對比方法信息
節點分類:我們以學習到的節點嵌入作為特征來訓練邏輯回歸分類器,用于預測節點標簽。實驗結果如表3所示。

表3 節點分類實驗結果
從結果可以看出,在三個數據集上,THINE優于其他方法,這說明捕捉所有的動態和不同類型節點之間的影響有助于理解HINs的結構。此外,當使用60%或80%的訓練集時,我們的模型得到了類似的結果,這也表明了THINE的魯棒性。
鏈路預測:在鏈路預測任務中,我們利用| ux ? uy|為特征訓練邏輯回歸分類器,其中ux和uy分別是節點vx和vy的節點嵌入。對于Aminer和DBLP,我們關注合著者的關系。因此,我們隨機隱藏25%的AP連接,因為合著者信息隱含在元路徑APA中。對于Yelp,我們隱藏了25%的UR連接來預測用戶之間的聯系。在每個數據集上,我們隨機選擇25000條邊作為正邊,同時生成25000條負邊。鏈路預測結果如表4所示。

表4 鏈路預測實驗結果
從表4中可以看出,THINE方法優于所有的基線,并且大多數動態方法對鏈路預測都有很好的效果,這進一步說明時間信息有助于提取時序HINs的結構和語義。
時序鏈路推薦:我們研究了THINE在動態任務下捕獲網絡時間信息的有效性。具體來說,我們完成了時序鏈路推薦實驗,我們在時間t之前的HINs上訓練所有方法,然后在時間t之后做出推薦。對于每個數據集,都使用周期的前80%進行訓練,然后預測時間t后測試節點的top- k連接,最后計算相應結果的精度和召回率,實驗結果如表5所示。

表5 時序推薦實驗結果(同質)
為了使我們的結果更有說服力,我們還在異質節點之間做出了推薦。注意,我們刪除了一些不適合此任務的基線或數據集。具體結果如表6所示:

表6 時序推薦實驗結果(異質)
我們可以看出,THINE的準確率和召回率都是最優的。此外,針對HIN的方法在異質推薦任務中優于同質網絡模型,但在同質推薦中表現較差,這可能說明HIN的方法也應該注意同類型節點之間的影響,這有助于在下游任務中獲得更好的表現。
總結
我們提出了一種用于研究時序HINs嵌入問題的算法THINE,其利用候選元路徑集來捕獲結構和語義,同時使用Hawkes過程來模擬網絡的演化。在三個真實世界的時序HINs上的大量實驗表明,在靜態和動態任務中,THINE的表現都是最好的。