張蝶依,尹立杰
(河北地質大學信息工程學院,河北 石家莊 050031)
網絡數據作為表達物體間關系的一種載體,在現實世界中無處不在,例如生物、社交和計算機系統等,在這些系統中相互作用的組件可以抽象為信息網絡[1]。由此可見,信息網絡已經成為我們日常生活中重要組成部分,對信息網絡進行研究和分析已經引起學術界眾多研究者們的廣泛關注。隨著網絡時代的迅猛發展,信息網絡所面臨的復雜性越來越高,如何有效、快速處理網絡中的數據成為亟待解決的問題。
采用鄰接矩陣[2]這種高維稀疏的編碼方式來表示網絡中的節點,很難被機器學習算法處理。網絡表示學習采用低維向量表示網絡中的節點,同時盡可能地保留網絡原始的結構特征。由于低維向量很容易被機器學習算法處理,因此被廣泛應用于節點分類[3-5]、聚類[6-7]、鏈接預測[8-9]和推薦[10-13]等應用場景中。
現在已有大量工作致力于同質網絡的表示學習,相關研究工作包括 DeepWalk[14]、LINE[15]、Node2vec[16]、GraRep[17]等,但是這些算法只考慮了網絡的拓撲結構,使得學到的節點或邊的特征表示在后續的實驗任務中并沒有取得很好的效果。現實世界的網絡除了包含拓撲信息之外,還包含更多可利用的輔助信息,例如微博中包含用戶信息、微博內容等屬性信息,充分利用這些異質信息有助于學習更加準確的節點表示。將現實世界的信息網絡建模為異質信息網絡,即由多種類型的節點通過多種類型的連邊形成的網絡,不僅保留了網絡中的拓撲結構信息,而且可以獲取網絡中豐富的語義信息,例如,學術網絡包含作者、論文、會議等不同類型的節點,以及作者和論文間的撰寫關系、論文和會議間的發表關系等。近年來,大量學者開始研究異質網絡表示學習的相關方法,本文將從不同角度對這些表示學習方法進行介紹和總結。
定義1異質信息網絡
用G= (V,E,T,φ,φ)表示一個信息網絡,V表示網絡中的節點集合,E表示網絡中邊的集合。T=(TV,TE),TV和TE分別代表節點和邊類型的集合。每個節點v?V和每條邊e?E的類型由映射函數確定,分別表示為φ(v):V→TV,φ(e):E→TE。若,給定的有向網絡G就是異質信息網絡,否則為同質網絡[18]。
定義2異質網絡表示學習
給定一個異質信息網絡G= (V,E,T,φ,φ),V表示網絡中的節點集合,E表示網絡中邊的集合。異質網絡表示學習[19]是將網絡中的節點v?V投影到一個潛在低維表示空間 ?d中,學習一個映射關系fG:V→?d,其中,同時保留網絡原有的結構信息和語義關聯。
隨著現實世界網絡的復雜化和擴大化,如何充分挖掘并運用異質網絡中存在的豐富信息是一項非常重要的任務。通過不同網絡表示學習方法得到節點的向量表示,可以將其應用到機器學習任務中,有效利用異質網絡中的豐富信息。根據對異質網絡表示學習模型的研究,將已有的方法分為3類:基于網絡分解的方法、基于隨機游走的方法和結合應用任務的方法。
基于網絡分解算法的核心思想是根據節點類型的不同,將異質信息網絡分解成多個簡單的網絡,分別對這些網絡進行表示學習,通過融合這些特征信息得到節點的低維表示。例如,Tang等人提出的 PTE[20]算法將異質文本網絡分解為word-word,word-document,word-label三個子網絡(如圖1所示),分別對三個不同類型的子網絡進行表示學習,獲取三種不同類型節點間的相似性,得到網絡中節點的向量表示,將文本中所有單詞對應的向量表示取平均即為文本最終的向量表示。Shi等人提出的 HERec[21]模型根據元路徑抽取出相同類型的節點序列,對不同元路徑抽取到的同類節點分別進行表示學習,并利用融合函數將節點的不同表示進行融合,得到節點的最終表示。

圖1 異質文本網絡的三個子網絡Fig.1 Thr ee sub-networks of heterogeneous text network
隨機游走作為一種經典的網絡表示學習模型,常用于刻畫網絡中節點間的關系,因此也被廣泛用于獲取網絡節點的采樣序列。基于隨機游走的方法主要是采用不同的隨機游走策略對網絡中的節點進行采樣,并通過預測節點間的鄰居關系得到節點的低維表示。例如,Metapath2vec[22]通過對稱的元路徑來進行隨機游走,將得到的游走序列作為神經網絡skip-gram模型的輸入,通過更新參數進而得到節點的低維嵌入,但在輸出層并未將節點的類別區別開來。Metapath2vec++模型在神經網絡的輸出層,針對網絡節點類型的不同,將異質網絡分解成若干同質網絡。Zhang等人在元路徑的基礎上提出metagraph2vec[23]方法,通過構建多條元路徑獲取節點間的不同語義關系。Fu等人提出了HIN2Vec[24]模型,通過隨機游走的方式選取節點序列,考慮節點及節點間不同類型的邊關系,基于神經網絡學習節點和元路徑的向量表示,HIN2Vec模型的框架示意圖如圖2所示。HINE[25]通過元路徑隨機游走獲取節點的局部和全局語義信息,提高了網絡節點嵌入的準確性。

圖2 HIN2VEC 模型框架Fig.2 The framework of HIN2VEC
Sun等人提出了一種基于元路徑的相似度算法 PathSim[26],該算法采用對稱元路徑的方式計算異質網絡中相同類型頂點之間的相似度。Wang等人提出的 SHINE[27]模型將原始的 HIN劃分為三個單類型的網絡:情感網絡,社會網絡,信息網絡,針對三個網絡分別建立對應的自編碼器,將學到的節點表示進行融合,用于預測可能存在的情感鏈接。Yang提出一種基于元路徑的鏈接預測方法 BRLinks[28]。該模型首先剔除網絡中的無關節點,重新構造異質信息網絡,然后采用余弦相似度計算兩兩節點間的相關性得到節點相關性矩陣,計算每條元路徑上節點的鏈接概率,最后將通過不同元路徑得到的節點概率加權求和作為待預測節點間的鏈接概率。Shi等人提出一種異構網絡推薦方法 HERec,該算法采用 Meta-Path的隨機游走方法生成采樣序列,通過刪除與起始節點類型不同的節點,對得到的同構節點序列進行表征學習,由于不同的 Meta-Path會得到不同的節點表示,通過設計融合函數獲取節點的唯一向量表示,將異質信息網絡的表示融入到矩陣分解框架中,從而用于推薦系統,HERec模型框架如圖3所示。MCRec[29]將基于元路徑的上下文融入到用戶-商品對的信息中,同時采用協同注意力機制增強用戶和商品的節點表示,很大程度上提高了推薦性能,并通過大量實驗驗證該模型可以緩解推薦系統中普遍存在的冷啟動問題。LGRec[30]將通過網絡拓撲結構得到的用戶與商品的直接關系作為局部信息,通過元路徑獲取到的用戶與商品的間接關系作為全局信息,將局部信息和全局信息進行融合,得到用戶和商品更準確的表示,并通過實驗驗證了該模型在推薦系統的有效性。

圖3 HERec模型框架Fig.3 The framework of HERec
節點分類是根據網絡節點擁有的共同特點將其劃分為不同的類別。比如,在社交網絡上,用戶可以根據個人的興趣愛好進行分類。用戶的興趣愛好作為分類的類別標簽,是對用戶進行有效分類的主要依據。然而真實數據中的類別標簽往往是十分稀疏的,所以需要根據少量節點的標簽信息以及節點間的鏈接關系,對大量未標注節點的分類情況進行標注。
節點聚類就是按照節點特征的差異將網絡節點劃分為多個簇的過程,使得同一個簇內節點間具有相似的特征,不同簇中節點間擁有的特征盡可能不同。由于異質網絡中包含豐富的語義信息,可以利用一些額外信息(如屬性信息)進行聚類分析。
鏈接預測[31]是通過已知的網絡節點及其鏈接關系等信息預測網絡中丟失的邊或者未來可能會出現的邊,對鏈接預測的研究可以幫助我們分析網絡的演化過程,在現實生活中有廣泛的應用。例如,可以通過鏈接預測方法計算尚未產生關系的兩個人成為朋友的概率,實現社會網絡中的好友關系推薦。鏈接預測任務中常用的評價指標為AUC值,在進行鏈接預測時,需要把網絡中的樣本數據集劃分為訓練集和測試集,AUC指標就是計算測試集中連邊的分數值高于不存在的連邊分數值的概率。
推薦系統是通過研究用戶的信息需求、興趣愛好,將用戶可能感興趣的產品推薦給他們。近些年,隨著網絡表示學習的興起,一些研究者開始意識到異質網絡推薦系統的重要性和必要性。傳統的一些推薦方法大多數是利用用戶-商品間的交互記錄為用戶推薦商品,但是這種方法往往存在冷啟動問題,即無法為新用戶推薦產品。隨著互聯網服務的快速發展,越來越多的工作[32-34]開始嘗試融合一些輔助信息實現更精準的推薦。例如,在電影推薦系統中,可以為具有相同觀影記錄的用戶推薦電影。利用用戶-用戶、商品-商品之間的關系可以提高推薦性能。
現實世界的網絡包含大量不同類型的實體和關系,將這些不同類型的網絡信息融合為整體,不僅可以挖掘網絡中豐富的結構信息和語義信息,還可以精準刻畫網絡實體特征。異質網絡表示學習是通過設計合適的網絡特征學習模型,把不同類型的節點映射到同一向量空間,用低維連續的實值向量表示網絡中的節點,有效緩解了網絡數據的稀疏性問題。
本文對現有的異質信息網絡表示學習方法進行了分類,并詳細介紹了各個類別下的一些主要研究模型及其特點。隨著大數據時代的到來,異質網絡分析逐漸成為數據挖掘、網絡安全等領域的研究熱點,充分挖掘異質網絡中存在的豐富信息具有重要意義。異質網絡表示學習是一個非常有前景的研究方向,在以下幾個方面仍然面臨著巨大挑戰:
(1)適應大規模復雜網絡。現實應用場景中的網絡往往是大規模的,例如,淘寶網絡中包含上億節點。針對大規模異質網絡,在對設計好的網絡模型進行訓練時往往存在訓練效率太低、響應時間過長等問題,克服這些問題是異質網絡表示學習真正邁向實際應用場景的關鍵一步。
(2)適應網絡的動態變化。現實生活中的異質網絡具有動態性,大多數異質網絡表示學習方法主要依賴于靜態的網絡拓撲結構信息進行表征學習,沒有考慮網絡節點(或邊)實時變化的問題。然而,隨著時間的增長,網絡在新增一些節點的同時,也會伴隨部分節點的消亡,同時網絡節點間的鏈接關系也會出現改變,如何從時間維度考慮網絡結構的動態變化是未來值得研究的一個方向。
(3)實現更多的實際應用。目前的異質網絡表示學習方法已經應用到一些數據挖掘任務中,并逐步與電商、網絡安全等應用系統相結合,但是還有更多針對大規模復雜網絡的應用場景尚未發掘,將異質網絡分析付諸實踐,在更多具體應用中發揮作用是未來值得探索的方向。