袁 銘, 劉 群, 孫海超, 譚洪勝
(重慶郵電大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 重慶 400065)
網(wǎng)絡(luò)表示學(xué)習(xí)[1-2]是網(wǎng)絡(luò)數(shù)據(jù)挖掘中的一項(xiàng)重要技術(shù),能夠?qū)⒕W(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)用一個(gè)向量表示出來,從而把網(wǎng)絡(luò)結(jié)構(gòu)映射到一個(gè)由節(jié)點(diǎn)向量組成的低維空間,為基于網(wǎng)絡(luò)拓?fù)涞逆溌奉A(yù)測、節(jié)點(diǎn)分類、聚類等任務(wù)提供數(shù)據(jù)結(jié)構(gòu)的支撐.在實(shí)際應(yīng)用中,不同的復(fù)雜信息網(wǎng)絡(luò)通常都具有異質(zhì)性,其表現(xiàn)為在同一個(gè)網(wǎng)絡(luò)中包含多種不同類型的節(jié)點(diǎn)和多種不同類型的鏈接關(guān)系,這種網(wǎng)絡(luò)也被稱為異質(zhì)網(wǎng)絡(luò).與同質(zhì)網(wǎng)絡(luò)相比,這類網(wǎng)絡(luò)通常具有豐富的交互關(guān)系.其中,不同類型的節(jié)點(diǎn)和鏈接都隱含了極其豐富的語義和結(jié)構(gòu)信息,如智能電網(wǎng)、生物蛋白質(zhì)網(wǎng)絡(luò)、社交網(wǎng)絡(luò)等.
近年來,同質(zhì)網(wǎng)絡(luò)表示學(xué)習(xí)已經(jīng)取得了豐富的成果.Deepwalk算法[3]利用隨機(jī)游走首次將網(wǎng)絡(luò)結(jié)構(gòu)建模為語料序列,結(jié)合Skip-Gram模型得到節(jié)點(diǎn)的低維表示,為網(wǎng)絡(luò)分析任務(wù)提供了新的思路.隨后,更多的同質(zhì)網(wǎng)絡(luò)表示算法被提出[4-6],如Node2vec算法和LINE算法,采用不同的隨機(jī)游走設(shè)計(jì),結(jié)合Skip-Gram模型學(xué)習(xí)更為準(zhǔn)確的節(jié)點(diǎn)向量表示.但以上方法將不同類型的節(jié)點(diǎn)和鏈接都視為相同類型來建模,不具備針對異質(zhì)網(wǎng)絡(luò)的有效設(shè)計(jì).顯然,如果忽略網(wǎng)絡(luò)的異質(zhì)性問題,容易導(dǎo)致各種網(wǎng)絡(luò)分析任務(wù)的準(zhǔn)確性有所降低.只有表征出網(wǎng)絡(luò)中不同類型節(jié)點(diǎn)及鏈接的獨(dú)有特征,才能捕獲網(wǎng)絡(luò)中豐富的語義,因此對異質(zhì)網(wǎng)絡(luò)表示學(xué)習(xí)的研究具有重要意義.
由于異質(zhì)網(wǎng)絡(luò)中節(jié)點(diǎn)和鏈接的復(fù)雜性,傳統(tǒng)的同質(zhì)網(wǎng)絡(luò)表示方法難以直接應(yīng)用于異質(zhì)網(wǎng)絡(luò)表示學(xué)習(xí)中.近年來,國內(nèi)外許多研究者進(jìn)行的一些相關(guān)研究,可以概括為以下3類.① 基于淺層網(wǎng)絡(luò)的方法,這類方法通過隨機(jī)游走捕獲網(wǎng)絡(luò)結(jié)構(gòu),結(jié)合淺層模型學(xué)習(xí)節(jié)點(diǎn)向量的表示.文獻(xiàn)[7]中提出了HIN2vec算法,通過聯(lián)合執(zhí)行多個(gè)預(yù)測訓(xùn)練任務(wù)來預(yù)測兩個(gè)節(jié)點(diǎn)之間的關(guān)系,并將預(yù)測任務(wù)轉(zhuǎn)化為二分類問題,利用兩層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)異質(zhì)網(wǎng)絡(luò)中節(jié)點(diǎn)和元路徑的表示.文獻(xiàn)[8]中提出了Metapath2vec算法,利用基于元路徑的隨機(jī)游走構(gòu)建節(jié)點(diǎn)的異質(zhì)鄰居,擴(kuò)展了Skip-Gram模型,從而為結(jié)構(gòu)和語義上相近的節(jié)點(diǎn)建模.文獻(xiàn)[9-10]中針對異質(zhì)文本網(wǎng)絡(luò)和跨網(wǎng)絡(luò)場景學(xué)習(xí)節(jié)點(diǎn)的表示,采用網(wǎng)絡(luò)分解來簡化異質(zhì)網(wǎng)絡(luò)的表示建模.② 基于深度網(wǎng)絡(luò)的方法,這類方法采用不同深度學(xué)習(xí)的方法獲得網(wǎng)絡(luò)中高度非線性的特征.文獻(xiàn)[11-13]中嘗試將卷積神經(jīng)網(wǎng)絡(luò)、自動(dòng)編碼器、強(qiáng)化學(xué)習(xí)等方法用于異質(zhì)網(wǎng)絡(luò)中節(jié)點(diǎn)的表示學(xué)習(xí).隨著圖神經(jīng)網(wǎng)絡(luò)在網(wǎng)絡(luò)分析任務(wù)中表現(xiàn)出優(yōu)異的性能,一些研究者將其擴(kuò)展到了異質(zhì)網(wǎng)絡(luò)的分析中[14-15],針對異質(zhì)網(wǎng)絡(luò)中不同類型節(jié)點(diǎn)和鏈接的特點(diǎn),改進(jìn)圖神經(jīng)網(wǎng)絡(luò)消息傳遞方式,聚合不同類型鄰居生成節(jié)點(diǎn)的向量表示.③ 基于屬性異質(zhì)網(wǎng)絡(luò)的方法,這類方法嘗試?yán)媚挲g、性別、地理位置等額外的節(jié)點(diǎn)信息,研究更為復(fù)雜的異質(zhì)網(wǎng)絡(luò)場景.文獻(xiàn)[16-17]中針對金融現(xiàn)金檢測和用戶購物場景,利用線性變換將額外的屬性信息映射到低維空間,并通過設(shè)計(jì)分層的異質(zhì)網(wǎng)絡(luò)表示架構(gòu),較好地進(jìn)行了融合,學(xué)習(xí)到更加豐富的節(jié)點(diǎn)表示.
盡管將上述各種表示方法應(yīng)用于不同網(wǎng)絡(luò)任務(wù)中都獲得了較好的效果,但是仍然存在以下兩個(gè)問題.首先,節(jié)點(diǎn)間關(guān)系的表示都是基于鄰居節(jié)點(diǎn)的相似性計(jì)算獲得的,無法反映無直接邊的節(jié)點(diǎn)間的相似關(guān)系;其次,整個(gè)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的表示過程采用的均為基于元路徑的隨機(jī)游走策略,忽略了相鄰節(jié)點(diǎn)間的真實(shí)關(guān)系.顯然在實(shí)際網(wǎng)絡(luò)中,不存在直接連邊的節(jié)點(diǎn)仍然有可能具有較高的相似性,而簡單的基于固定概率隨機(jī)選擇生成的節(jié)點(diǎn)序列,并不能保證生成高度緊密相似的節(jié)點(diǎn)序列.為此,本文提出了基于變分推斷和元路徑分解的異質(zhì)網(wǎng)絡(luò)表示方法HetVAE,主要貢獻(xiàn)如下:
(1) 引入路徑相似度度量,通過不同語義下的異質(zhì)路徑實(shí)例計(jì)算出同類型節(jié)點(diǎn)的相似度,并在相似度的引導(dǎo)下設(shè)計(jì)不同類型節(jié)點(diǎn)的選取概率,改進(jìn)了基于元路徑隨機(jī)游走的節(jié)點(diǎn)選擇策略,使得生成的節(jié)點(diǎn)序列更準(zhǔn)確.
(2) 引入變分推斷理論,通過變分Bayesian推斷優(yōu)化真實(shí)先驗(yàn)分布與后驗(yàn)分布之間的誤差,同時(shí)近似推導(dǎo)出潛在變量,從而學(xué)習(xí)到更符合真實(shí)網(wǎng)絡(luò)分布的節(jié)點(diǎn)向量,使得異質(zhì)網(wǎng)絡(luò)中的節(jié)點(diǎn)向量表示更具穩(wěn)健性.
(3) 引入元路徑思想將異質(zhì)網(wǎng)絡(luò)拆分為多個(gè)同質(zhì)子網(wǎng)絡(luò),以便獲取原始網(wǎng)絡(luò)不同視角下的豐富語義信息,進(jìn)而結(jié)合注意力機(jī)制,通過網(wǎng)絡(luò)重建和將拆分后各個(gè)加權(quán)子網(wǎng)絡(luò)的節(jié)點(diǎn)向量進(jìn)行融合.
本文通過相似度改進(jìn)的節(jié)點(diǎn)選擇策略,較好地解決了異質(zhì)網(wǎng)絡(luò)中傳統(tǒng)元路徑隨機(jī)游走不精確的問題;利用變分推斷捕獲網(wǎng)絡(luò)的真實(shí)分布,改進(jìn)了傳統(tǒng)異質(zhì)網(wǎng)絡(luò)表示模型不能觀測潛在變量的缺陷;結(jié)合注意力機(jī)制,自動(dòng)融合不同視角下的語義信息.在多個(gè)數(shù)據(jù)集上的不同網(wǎng)絡(luò)任務(wù)的實(shí)驗(yàn)結(jié)果表明,所提方法能夠獲得更好的結(jié)果.
首先,給出后續(xù)使用的基本定義和概念.其中,關(guān)于異質(zhì)網(wǎng)絡(luò)以及元路徑的概念可以參考文獻(xiàn) [18-19].
一個(gè)典型的異質(zhì)網(wǎng)絡(luò)DBLP學(xué)術(shù)網(wǎng)絡(luò)如圖1所示.該網(wǎng)絡(luò)中4種不同類型的節(jié)點(diǎn),作者(A)、論文(Pa)、會(huì)議(C)、關(guān)鍵詞(T) 如圖1(a)所示;網(wǎng)絡(luò)中3種不同類型的邊關(guān)系,包含論文和作者、論文和會(huì)議、論文和關(guān)鍵詞如圖1(c)所示.這3種類型的邊關(guān)系分別涵蓋了3條元路徑,每一條元路徑代表一種語義,元路徑APaA代表兩位作者的合著關(guān)系,元路徑APaCPaA代表兩位作者的文章發(fā)表在同一期刊/會(huì)議上,元路徑APaTPaA代表兩位作者的文章具有相同關(guān)鍵詞.
圖1 DBLP異質(zhì)網(wǎng)絡(luò)示例Fig.1 An example of a DBLP heterogeneous network
元路徑引導(dǎo)下的鄰居節(jié)點(diǎn):在異質(zhì)網(wǎng)絡(luò)中給定一條元路徑P,對于任意節(jié)點(diǎn)vi,元路徑P引導(dǎo)下的鄰居節(jié)點(diǎn)定義為節(jié)點(diǎn)vi通過元路徑P到達(dá)的所有節(jié)點(diǎn),記為NP(vi),定義中的鄰居節(jié)點(diǎn)也包含vi本身.由圖1(c)可知,對于節(jié)點(diǎn)A1,在元路徑APaA下的鄰居節(jié)點(diǎn)是A2.
圖2 HetVAE的整體框架Fig.2 Overall frame work of HetVAE
2.1.1改進(jìn)的隨機(jī)游走策略 在異質(zhì)網(wǎng)絡(luò)中元路徑用于定義不同類型節(jié)點(diǎn)之間的關(guān)系.由于元路徑約束下的隨機(jī)游走能夠探索異質(zhì)網(wǎng)絡(luò)的復(fù)雜完整結(jié)構(gòu),捕獲網(wǎng)絡(luò)的全局語義信息,所以基于元路徑的隨機(jī)游走成為異質(zhì)網(wǎng)絡(luò)挖掘中的一種通用方法.然而,傳統(tǒng)的元路徑隨機(jī)游走由于游走過程隨機(jī)性較強(qiáng),無法體現(xiàn)節(jié)點(diǎn)間的相似關(guān)系,導(dǎo)致不能精確地表示網(wǎng)絡(luò)結(jié)構(gòu).目前,在異質(zhì)網(wǎng)絡(luò)表示的節(jié)點(diǎn)相似性計(jì)算中,大多數(shù)計(jì)算公式都是基于同質(zhì)網(wǎng)絡(luò)而設(shè)計(jì)的,如路徑總數(shù)相似度、游走相似度、成對游走相似度等計(jì)算方法,更傾向于使高度可見(即與大量路徑有關(guān)聯(lián)的對象)或者高度集中的對象(即占一組關(guān)聯(lián)路徑中很大比例的對象)獲得更高的相似度[19].這一類相似度度量方法沒有考慮路徑背后的不同語義,忽略了對象和鏈接之間的異質(zhì)性,使得相似性計(jì)算方法缺乏合理性.
為了解決這一問題,本模型引入PathSim算法[19]來度量異質(zhì)網(wǎng)絡(luò)下元路徑上節(jié)點(diǎn)的相似性.這種節(jié)點(diǎn)相似性度量方法能夠通過考慮異質(zhì)網(wǎng)絡(luò)中的鏈接關(guān)系類型,識別出元路徑下語義更為一致的相似節(jié)點(diǎn).改進(jìn)后的元路徑隨機(jī)游走節(jié)點(diǎn)選擇策略,使得生成的節(jié)點(diǎn)序列能夠在有限步驟的隨機(jī)游走過程中捕獲網(wǎng)絡(luò)中的語義信息,提高生成的節(jié)點(diǎn)序列的質(zhì)量.
sim(v,y)=
(1)
在獲得對應(yīng)于不同元路徑的同質(zhì)網(wǎng)絡(luò)過程中,為了更準(zhǔn)確地選擇元路徑引導(dǎo)中的不同類型節(jié)點(diǎn),本模型分成兩種情況進(jìn)行處理.
(1) 當(dāng)后繼鄰居節(jié)點(diǎn)類型與元路徑起始節(jié)點(diǎn)類型一致時(shí),則計(jì)算出該后繼節(jié)點(diǎn)與其前驅(qū)節(jié)點(diǎn)的sim(v,y)值,相似度值越大的節(jié)點(diǎn)具有更大的選擇概率.對鄰居節(jié)點(diǎn)的選擇概率公式為
(2)
(2) 對于不同于元路徑起始節(jié)點(diǎn)類型的鄰居節(jié)點(diǎn),由于其主要作用是構(gòu)成語義約束,所以對這類鄰居節(jié)點(diǎn)的選擇概率可以相同,其計(jì)算公式如下:
(3)
節(jié)點(diǎn)選擇策略如圖3所示,其中虛線表示根據(jù)式(3)的選擇概率選擇下一跳節(jié)點(diǎn).以A1節(jié)點(diǎn)為例,下一跳節(jié)點(diǎn)包含Pa1、Pa2兩個(gè)節(jié)點(diǎn),其類型與A1節(jié)點(diǎn)不同,因此選擇的概率相同.實(shí)線表示從Pa類型根據(jù)式(2)的選擇概率選擇下一跳節(jié)點(diǎn),以Pa2節(jié)點(diǎn)為例,下一跳節(jié)點(diǎn)包含A2、A3兩個(gè)節(jié)點(diǎn),其類型與初始節(jié)點(diǎn)A1相同,則應(yīng)計(jì)算元路徑APaA下的PathSim相似度,并根據(jù)式(2)的選擇概率選擇節(jié)點(diǎn),根據(jù)選擇概率計(jì)算可知A2被選擇的可能性比A3更大,這是由于在APaA元路徑下,從A1節(jié)點(diǎn)出發(fā)到A2節(jié)點(diǎn)具有更多的可達(dá)路徑.
圖3 節(jié)點(diǎn)選擇策略示例Fig.3 Example of a node selection strategy
2.1.2重建同質(zhì)網(wǎng)絡(luò) 通過在元路徑隨機(jī)游走過程中保留元路徑P1,P2,…,Pi引導(dǎo)下的同類型鄰居節(jié)點(diǎn),異質(zhì)網(wǎng)絡(luò)能轉(zhuǎn)化為多組同質(zhì)節(jié)點(diǎn)序列H1,H2,…,Hi.為了能夠捕獲網(wǎng)絡(luò)中反映每個(gè)節(jié)點(diǎn)的特征向量,本模型將上述節(jié)點(diǎn)序列重構(gòu)為同質(zhì)網(wǎng)絡(luò).
圖4 DBLP中重構(gòu)同質(zhì)網(wǎng)絡(luò)矩陣說明Fig.4 Reconstruction of homogeneous network matrix in DBLP
DKL(qφ(z(i)|x(i))‖pθ(z(i)|x(i)))=
lnpθ(x(i))-Eqφ(z(i)|x(i))[lnpθ(x(i)|z(i))-
lnqφ(z(i)|x(i))]
(4)
式中:Eqφ(z(i)|x(i))為識別模型的期望.其從后驗(yàn)分布中采樣的潛在變量z(i)可以表示為
z(i)=μ(i)+σ(i)⊙ε(i)
(5)
式中:⊙表示逐元素乘法.最終獲得原始網(wǎng)絡(luò)分布中每一個(gè)數(shù)據(jù)x(i)的損失函數(shù)近似估計(jì)結(jié)果為
Γ(θ,φ;x)?
(6)
式中:第1項(xiàng)為近似后驗(yàn)分布和先驗(yàn)分布的KL散度;第2項(xiàng)為重建誤差對后驗(yàn)分布的期望.
為了獲得原始異質(zhì)網(wǎng)絡(luò)中節(jié)點(diǎn)的向量表示,HetVAE將生成的多個(gè)同質(zhì)網(wǎng)絡(luò)矩陣作為變分自編碼器的輸入.在本文中,輸入數(shù)據(jù)和生成數(shù)據(jù)均為節(jié)點(diǎn)對象.通過訓(xùn)練,利用變分推斷理論對隱空間中的節(jié)點(diǎn)數(shù)據(jù)分布進(jìn)行采樣,生成各個(gè)同質(zhì)網(wǎng)絡(luò)中所有節(jié)點(diǎn)的向量表示.模型的編碼器和解碼器均為多層感知機(jī)(MLP).
(7)
對于輸入的xk其對應(yīng)的隱空間表示zk由下式計(jì)算可得:
(8)
(9)
(10)
(11)
(12)
c=2,3,…,C
(13)
式中:μd、σd分別為μk、σk的第d維的均值和方差分量,即μk=[μ1μ2…μD]和σk=[σ1σ2…σD]兩個(gè)向量.為了加速收斂速度,將編碼器原本的均值輸出σ轉(zhuǎn)化為上式中的ln(σ2),記為δ=ln(σ2).通過計(jì)算σ=eδ/2可以得到原本的均值σ,這使得編碼器可以更容易獲得不同比例的均值σ.經(jīng)過簡化之后的KL散度損失函數(shù)可以表示為
(14)
對應(yīng)的隱變量z的式(12)則重寫為
(17)
(18)
(19)
c=2,3,…,C-1
由于所獲得的同質(zhì)網(wǎng)絡(luò)鄰接矩陣是典型的稀疏矩陣,即在鄰接矩陣G(i)中零元素遠(yuǎn)遠(yuǎn)多于非零元素.如果直接對G(i)最小化重建誤差,網(wǎng)絡(luò)將更容易重建零元素,而不是更有意義的非零元素.因此,HetVAE對非零元素加入了更多的懲罰,使模型能夠優(yōu)先重建非零元素,修正后的重建誤差損失函數(shù)如下:
(20)
模型訓(xùn)練的損失函數(shù)由式(7)變換如下:
Γvae=Γrec+ΓKL+Γreg=
(21)
顯然,只有將多視角下的同質(zhì)網(wǎng)絡(luò)表示向量進(jìn)行融合才能獲得原始異質(zhì)網(wǎng)絡(luò)中節(jié)點(diǎn)的最終向量表示.由于拆分后的子網(wǎng)絡(luò)描述了不同語義,進(jìn)行向量融合的一種合理的方式就是利用注意力機(jī)制[21].常見的注意力機(jī)制包括自注意力和多頭注意力等.自注意力機(jī)制減少了對外部信息的依賴,擅長捕捉數(shù)據(jù)或特征的內(nèi)部相關(guān)性.多頭注意力機(jī)制通過利用多個(gè)注意力頭來學(xué)習(xí)注意力權(quán)重,擅長捕捉不同空間的關(guān)聯(lián)關(guān)系.考慮到不同視角下節(jié)點(diǎn)對不同語義的關(guān)注程度,自注意力機(jī)制并不適合于求解不同視角的關(guān)注,同時(shí)多頭注意力機(jī)制由于需要計(jì)算多次權(quán)重,會(huì)嚴(yán)重影響模型的訓(xùn)練速度.因此,本文模型結(jié)合多層感知器實(shí)現(xiàn)注意力機(jī)制,將不同子網(wǎng)絡(luò)的節(jié)點(diǎn)向量進(jìn)行融合.
(22)
(23)
(24)
(25)
(26)
綜上所述,HetVAE的核心思想如下所示:
算法1HetVAE算法模型.
輸入異質(zhì)網(wǎng)絡(luò)G(V,E)
元路徑集合{P1,P2,…,Pi}
懲罰因子B
輸出節(jié)點(diǎn)的最終表示Z
(1) forPi∈{P1,P2,…,Pi}do
/*拆分異質(zhì)網(wǎng)絡(luò)*/
(2) for eachvi∈Vdo
(3)v←startvi
(4) if type(v) is equal to type (y) then
(5) calculate sim(v,y), select a node by Eq.2
/*選取同類型節(jié)點(diǎn)*/
(6) else
(7) select a node by Eq.3
/*選取不同類型節(jié)點(diǎn)*/
(8) obtain homogeneous node sequencesHi
/*獲得同質(zhì)節(jié)點(diǎn)序列*/
(9) end if
(10) reconstructing a homogeneous network
/*重構(gòu)同質(zhì)網(wǎng)絡(luò)*/
(11) end for
(12) end for
(13) forG(i)∈{G(1),G(2),…,G(i)} do
(14) initialized parametersW(i),b(i),B
(15) repeat
(16) minimizeΓvae=Γrec+ΓKL+Γreg
(17) until converge
(18) extract the hidden layer to get the
node representationz(i)/*獲取隱層表示*/
(19) end for
(20) for eachvi∈Vdo
(22) end for
(23) returnZ(vi)
為了驗(yàn)證HetVAE模型的有效性,在3個(gè)真實(shí)數(shù)據(jù)集DBLP、AMiner、Yelp上使用微觀F1值(Micro-F1)、宏觀F1值(Macro-F1)、標(biāo)準(zhǔn)化互信息(NMI)和調(diào)整蘭德系數(shù)(ARI)評價(jià)指標(biāo),針對3種典型的異質(zhì)網(wǎng)絡(luò)挖掘任務(wù):節(jié)點(diǎn)分類、節(jié)點(diǎn)聚類、可視化進(jìn)行了實(shí)驗(yàn)評估.
實(shí)驗(yàn)使用的3個(gè)被廣泛研究的公開數(shù)據(jù)集:DBLP[14]、AMiner[8]、Yelp (https://www.yelp.com/dataset/),其詳細(xì)描述如表1所示.其中:Bu為企業(yè);S為服務(wù);St為星級;U為用戶.
(1) DBLP數(shù)據(jù)集:包含論文、作者、會(huì)議/期刊、關(guān)鍵詞4類節(jié)點(diǎn),并按照作者的研究領(lǐng)域劃分為4個(gè)類別,包含數(shù)據(jù)庫、數(shù)據(jù)挖掘、人工智能、信息檢索,以此作為標(biāo)簽.模型使用元路徑集合{APaA,APaCPaA,APaTPaA}進(jìn)行實(shí)驗(yàn).
(2) AMiner數(shù)據(jù)集:實(shí)驗(yàn)抽取了AMiner的一個(gè)子集,包含論文、作者、會(huì)議/期刊3類節(jié)點(diǎn),同樣按照作者的研究領(lǐng)域進(jìn)行劃分,得到8個(gè)類別,包含計(jì)算機(jī)語言學(xué)、計(jì)算機(jī)圖形學(xué)、計(jì)算機(jī)網(wǎng)絡(luò)和無線通信、計(jì)算機(jī)視覺和模式識別、計(jì)算機(jī)系統(tǒng)、數(shù)據(jù)庫和信息系統(tǒng)、人機(jī)交互、理論計(jì)算機(jī)科學(xué),以此作為標(biāo)簽.模型使用元路徑集合{APaA,APaCPaA}進(jìn)行實(shí)驗(yàn).
(3) Yelp數(shù)據(jù)集:包含企業(yè)、用戶、星級、服務(wù)4類節(jié)點(diǎn),按照企業(yè)的類型進(jìn)行劃分,得到3個(gè)類別,包含酒店、購物、食品,以此作為標(biāo)簽.模型使用元路徑集合{BuSBu,BuStBu,BuUBu}進(jìn)行實(shí)驗(yàn).
表1 數(shù)據(jù)集描述Tab.1 Dataset description
實(shí)驗(yàn)選取了一些較新的先進(jìn)方法進(jìn)行了比較,包含2個(gè)同質(zhì)網(wǎng)絡(luò)方法和4個(gè)異質(zhì)網(wǎng)絡(luò)方法,用以驗(yàn)證本文算法的有效性.對于同質(zhì)網(wǎng)絡(luò)算法,在實(shí)驗(yàn)中忽略節(jié)點(diǎn)的異質(zhì)性,將算法應(yīng)用在整個(gè)異質(zhì)圖中.對于異質(zhì)網(wǎng)絡(luò)算法,在實(shí)驗(yàn)中測試了所有元路徑.對比算法給出的均為最優(yōu)結(jié)果.
(1) Deepwalk[3]:采用隨機(jī)游走捕獲網(wǎng)絡(luò)結(jié)構(gòu),利用Skip-Gram模型學(xué)習(xí)節(jié)點(diǎn)的表示.
(2) Node2vec[4]:通過調(diào)整隨機(jī)游走的深度和廣度獲得網(wǎng)絡(luò)結(jié)構(gòu),利用帶負(fù)采樣的Skip-Gram模型學(xué)習(xí)節(jié)點(diǎn)表示.
(3) HIN2vec[7]:以元路徑形式指定的一組關(guān)系聯(lián)合執(zhí)行多個(gè)預(yù)測訓(xùn)練任務(wù),學(xué)習(xí)異質(zhì)網(wǎng)絡(luò)中節(jié)點(diǎn)和元路徑的表示.
(4) Metapath2vec[8]:利用元路徑隨機(jī)游走構(gòu)建節(jié)點(diǎn)的異質(zhì)鄰居,并采用異質(zhì)的Skip-Gram模型最大化異質(zhì)上下文概率.
(5) HERec[22]:設(shè)計(jì)了一種類型約束策略來過濾節(jié)點(diǎn)序列,并采用Skip-Gram模型來對網(wǎng)絡(luò)進(jìn)行嵌入.
(6) HAN[14]:設(shè)計(jì)了異質(zhì)圖下的節(jié)點(diǎn)級注意力和語義級注意力,并采用圖神經(jīng)網(wǎng)絡(luò)對基于元路徑的鄰居特征進(jìn)行分層聚合生成節(jié)點(diǎn)向量.
(7) HetVAErw:未使用改進(jìn)的隨機(jī)游走選擇策略,采用普通元路徑隨機(jī)游走算法的模型.
(8) HetVAEsk:未使用VAE生成節(jié)點(diǎn)向量,采用Skip-Gram算法對網(wǎng)絡(luò)進(jìn)行訓(xùn)練的模型.
(9) HetVAEcon:未使用個(gè)性化元路徑注意力機(jī)制,采用拼接的方式融合最終向量的模型.
(10) HetVAE:本文所提出的完整模型.
本模型的所有實(shí)驗(yàn)均在Intel(R) Core(TM) i5-7300HQ(2.5 GHz) CPU,NVIDIA GTX1060(6G) GPU,16 GB內(nèi)存的硬件環(huán)境下完成訓(xùn)練,所涉及的代碼使用Python和Tensorflow框架實(shí)現(xiàn).
為了進(jìn)行公平對比,實(shí)驗(yàn)中將所有算法最終生成的節(jié)點(diǎn)向量維數(shù)設(shè)置D=128,對于需要隨機(jī)游走的算法,設(shè)置每個(gè)節(jié)點(diǎn)的步數(shù)為10,隨機(jī)游走長度為80.對于Deepwalk、Metapath2vec、HERec,選取了各自文獻(xiàn)中給出的窗口大小參數(shù)為5.對于Node2vec其窗口大小參數(shù)為5,廣度優(yōu)先參數(shù)為4,深度優(yōu)先參數(shù)為1,負(fù)采樣比率為5.對于HIN2vec,設(shè)置窗口大小參數(shù)為4.對于HAN,其正則化參數(shù)為0.001,注意力頭個(gè)數(shù)為8,注意力向量維度為128,實(shí)驗(yàn)采用了其論文中相同的處理方法,對節(jié)點(diǎn)特征進(jìn)行提取.在DBLP、AMiner數(shù)據(jù)集中,節(jié)點(diǎn)特征為作者論文關(guān)鍵詞的詞袋表示;在Yelp數(shù)據(jù)集中,節(jié)點(diǎn)特征為企業(yè)星級類別的詞袋表示.對比實(shí)驗(yàn)參數(shù)設(shè)置均與其文獻(xiàn)推薦的最優(yōu)參數(shù)一致.在實(shí)驗(yàn)中,對于DBLP數(shù)據(jù)集而言,網(wǎng)絡(luò)結(jié)構(gòu)為14475-1000-128-1000-14475,每一個(gè)數(shù)字代表網(wǎng)絡(luò)每一層的神經(jīng)元個(gè)數(shù),學(xué)習(xí)率設(shè)置為 0.000 1,懲罰項(xiàng)B設(shè)置為2,批處理大小為32.對于AMiner數(shù)據(jù)集而言,網(wǎng)絡(luò)結(jié)構(gòu)為16543-2000-128-2000-16543,學(xué)習(xí)率設(shè)置為 0.000 35,懲罰項(xiàng)B設(shè)置為150,批處理大小為128.對于Yelp數(shù)據(jù)集而言,網(wǎng)絡(luò)結(jié)構(gòu)為2614-1000-128-1000-2614,學(xué)習(xí)率設(shè)置為 0.000 1,懲罰項(xiàng)B設(shè)置為64,批處理大小為128.
對于節(jié)點(diǎn)分類任務(wù),將模型學(xué)習(xí)到的節(jié)點(diǎn)向量作為特征向量,和文獻(xiàn)[13]相同,采用K=5的K近鄰(KNN)分類器進(jìn)行分類,使用Micro-F1和Macro-F1作為分類結(jié)果評估指標(biāo).為了使結(jié)果具有可靠性,采用重復(fù)10次的結(jié)果平均值,并將數(shù)據(jù)集的訓(xùn)練集按照30%、50%、70%、90%的比例選取,同時(shí)打亂數(shù)據(jù)順序,以比較不同訓(xùn)練尺度下的分類效果.
節(jié)點(diǎn)分類任務(wù)實(shí)驗(yàn)結(jié)果如圖5所示,其中:Fmi為Micro-F1;Fma為Macro-F1;R為標(biāo)簽節(jié)點(diǎn)的比例.從圖5中可以看出,HetVAE具有最優(yōu)性能.值得注意的是,AMiner網(wǎng)絡(luò)中各類方法表現(xiàn)得非常接近(見圖5(c)和(d)),其他的異質(zhì)網(wǎng)絡(luò)方法均沒有超過同質(zhì)網(wǎng)絡(luò)方法.由表1可知,這是因?yàn)锳Miner網(wǎng)絡(luò)的平均度更小,網(wǎng)絡(luò)中節(jié)點(diǎn)更為稀疏,從而導(dǎo)致各種方法難以訓(xùn)練,結(jié)果不具有顯著差異.得益于對稀疏矩陣的特殊處理,所提方法仍然有不錯(cuò)的表現(xiàn).盡管DBLP和AMiner這兩個(gè)網(wǎng)絡(luò)都是文獻(xiàn)網(wǎng)絡(luò),但是相較于AMiner,DBLP增加了關(guān)鍵詞這類節(jié)點(diǎn),各種類型節(jié)點(diǎn)的平均度更大.依靠論文之間相同的關(guān)鍵詞,論文類型節(jié)點(diǎn)能夠與更具相關(guān)性的文章進(jìn)行相連.在與網(wǎng)絡(luò)中其他類型節(jié)點(diǎn)組合的過程中,能夠產(chǎn)生出語義準(zhǔn)確豐富的元路徑.通過對比這兩個(gè)真實(shí)異質(zhì)網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果,能夠發(fā)現(xiàn)對于語義信息越豐富的網(wǎng)絡(luò)DBLP,HetVAE效果更好.在不同于文獻(xiàn)網(wǎng)絡(luò)的Yelp網(wǎng)絡(luò)中,邊關(guān)系主要集中在企業(yè)和用戶之間,其網(wǎng)絡(luò)平均度相較于DBLP和AMiner網(wǎng)絡(luò)更大,節(jié)點(diǎn)鄰居數(shù)目更多,更難精確地獲得有意義的網(wǎng)絡(luò)結(jié)構(gòu),但所提方法仍然取得了最優(yōu)結(jié)果,說明了HetVAE具有較好的可拓展性.
圖5 節(jié)點(diǎn)分類任務(wù)實(shí)驗(yàn)結(jié)果Fig.5 Experimental results of node classification tasks
為了驗(yàn)證不同模塊的有效性,設(shè)計(jì)了一組消融實(shí)驗(yàn)(見圖5).從圖5中可以看出,相對于HetVAE,HetVAErw的性能在DBLP、AMiner網(wǎng)絡(luò)中出現(xiàn)小幅度下降,在Yelp網(wǎng)絡(luò)中性能下降幅度較大,這說明改進(jìn)的隨機(jī)游走策略在節(jié)點(diǎn)平均度越大的網(wǎng)絡(luò)中影響越大.同時(shí)網(wǎng)絡(luò)中節(jié)點(diǎn)平均度越大,找到有意義的節(jié)點(diǎn)越困難.當(dāng)網(wǎng)絡(luò)的平均度較小時(shí),隨機(jī)游走可以選擇的下一跳節(jié)點(diǎn)數(shù)量有限,在游走一定次數(shù)之后,普通隨機(jī)游走算法同樣能夠選擇到可能相似的節(jié)點(diǎn).實(shí)驗(yàn)結(jié)果證明了本文對隨機(jī)游走的節(jié)點(diǎn)選擇策略改進(jìn)的有效性.
由圖5(e)和(f)可見,在Yelp網(wǎng)絡(luò)中,Metapath2vec和HERec算法由于僅能使用單條元路徑,其效果相比于同質(zhì)網(wǎng)絡(luò)表示算法表現(xiàn)較差,說明普通的元路徑隨機(jī)游走算法在邊關(guān)系具有高度偏向性的網(wǎng)絡(luò)中具有缺陷.而利用多條元路徑的算法HIN2vec、HAN、HetVAE,由于對多視角信息的有效利用,能夠?qū)W習(xí)到更為豐富的節(jié)點(diǎn)表示.對于僅采用簡單拼接方式融合節(jié)點(diǎn)向量的方法HetVAEcon,其性能表現(xiàn)比HetVAE差.這說明個(gè)性化元路徑注意力機(jī)制能夠更好地為每個(gè)節(jié)點(diǎn)融合多視角信息,同時(shí)避免非重要信息帶來的噪聲影響,對學(xué)習(xí)不同語義的關(guān)注程度具有重要作用.
對于節(jié)點(diǎn)聚類任務(wù),同樣將模型學(xué)習(xí)到的節(jié)點(diǎn)向量作為特征向量,和文獻(xiàn)[13]相同,采用K均值(K-Means)進(jìn)行節(jié)點(diǎn)聚類,其中K值的設(shè)置隨數(shù)據(jù)集不同而不同.在DBLP實(shí)驗(yàn)中K=4,在AMiner實(shí)驗(yàn)中K=8,在Yelp實(shí)驗(yàn)中K=3.同時(shí)使用NMI和ARI作為聚類質(zhì)量的評價(jià)指標(biāo).實(shí)驗(yàn)中均對聚類過程重復(fù)10次,取平均結(jié)果作為最終結(jié)果.
節(jié)點(diǎn)聚類任務(wù)的定量結(jié)果如表2所示,其中加粗的數(shù)值代表每列對比算法的最高值.由表2可以知道,HetVAE均優(yōu)于所有對比方法,且大部分異質(zhì)網(wǎng)絡(luò)方法都比同質(zhì)網(wǎng)絡(luò)方法表現(xiàn)得更好.其中,HIN2vec和HAN在部分?jǐn)?shù)據(jù)集中的聚類效果較差,這是因?yàn)殒溌奉A(yù)測任務(wù)的準(zhǔn)確性與網(wǎng)絡(luò)整個(gè)拓?fù)浣Y(jié)構(gòu)描述的全面性密切相關(guān),而節(jié)點(diǎn)分類任務(wù)的準(zhǔn)確性與能否有效捕獲局部的節(jié)點(diǎn)相似性有較大的關(guān)系.未使用變分推斷的HetVAEsk方法在節(jié)點(diǎn)的聚類任務(wù)中表現(xiàn)不如HetVAE,這說明考慮隱空間下的數(shù)據(jù)分布采樣,能夠有效地捕獲節(jié)點(diǎn)的相似性特征.
表2 節(jié)點(diǎn)聚類任務(wù)的定量結(jié)果Tab.2 Quantitative results of node clustering tasks
為了直觀地觀察模型學(xué)習(xí)到的節(jié)點(diǎn)序列向量的質(zhì)量,采用向量的降維可視化方式,使用t-SNE方法將在DBLP網(wǎng)絡(luò)中學(xué)習(xí)到的所有作者的128維節(jié)點(diǎn)向量表示映射到2維空間中,不同的顏色代表其所屬的研究領(lǐng)域,在DBLP中作者的研究領(lǐng)域被劃分為4個(gè)不同類別,以不同顏色區(qū)分.在DBLP網(wǎng)絡(luò)中的向量可視化結(jié)果如圖6所示.其中:X為2維空間橫坐標(biāo);Y為2維空間縱坐標(biāo).
圖6 在DBLP網(wǎng)絡(luò)中的向量可視化結(jié)果Fig.6 Vector visualization results in DBLP network
由圖6可見,相比于其他方法,HetVAE能夠使得相同顏色的節(jié)點(diǎn)很好地聚集在一起,具有更高的區(qū)分度.
圖7 在Yelp網(wǎng)絡(luò)中的參數(shù)靈敏度實(shí)驗(yàn)結(jié)果Fig.7 Results of parametric sensitivity experiments on Yelp network
為了測試參數(shù)對模型的影響,對Yelp網(wǎng)絡(luò)數(shù)據(jù)集進(jìn)行了節(jié)點(diǎn)聚類任務(wù)的參數(shù)靈敏度實(shí)驗(yàn),測試參數(shù)包括懲罰因子B和向量表示維度D,實(shí)驗(yàn)結(jié)果如圖7所示,其中I為NMI分?jǐn)?shù).由圖7可知,對于B因子,當(dāng)B為16和32時(shí),NMI分?jǐn)?shù)比較平均;當(dāng)B為64時(shí),NMI分?jǐn)?shù)達(dá)到峰值,此時(shí)聚類的效果最好;當(dāng)B取值超過64時(shí),NMI分?jǐn)?shù)隨著懲罰因子B的增大而下降.由此可以看出,對非零元素過大的懲罰會(huì)為模型優(yōu)化帶來困難,適中的懲罰讓模型更容易學(xué)習(xí)更高質(zhì)量的表示.對于向量維數(shù)D,當(dāng)D的取值在32~128之間的時(shí)候,NMI分?jǐn)?shù)持續(xù)上升;當(dāng)D為128維時(shí),NMI分?jǐn)?shù)達(dá)到峰值;而當(dāng)維數(shù)翻倍增加到256和512時(shí),NMI分?jǐn)?shù)逐步出現(xiàn)下滑.這表明更大的維度能夠編碼更多的信息,但同時(shí)可能造成冗余信息導(dǎo)致性能下降,節(jié)點(diǎn)向量需要一個(gè)合適的維度來編碼語義信息.對DBLP、Aminer網(wǎng)絡(luò)數(shù)據(jù)集的參數(shù)測試情況類似,這里不再贅述.
本文針對異質(zhì)網(wǎng)絡(luò)提出了基于變分推斷和元路徑分解的異質(zhì)網(wǎng)絡(luò)表示方法HetVAE.通過對異質(zhì)網(wǎng)絡(luò)進(jìn)行多條元路徑的拆分,改進(jìn)傳統(tǒng)元路徑隨機(jī)游走的節(jié)點(diǎn)選擇策略,較好地捕捉了不同視角下的子網(wǎng)絡(luò)結(jié)構(gòu).進(jìn)一步利用變分推斷,對潛在空間中的變量采樣,優(yōu)化真實(shí)先驗(yàn)分布與后驗(yàn)分布之間的誤差,為多視角下的子網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)進(jìn)行概率建模,獲得高質(zhì)量的節(jié)點(diǎn)向量表示.最后采用個(gè)性化元路徑注意力機(jī)制,對節(jié)點(diǎn)向量表示進(jìn)行融合,保留了原網(wǎng)絡(luò)的豐富語義和更真實(shí)的拓?fù)浣Y(jié)構(gòu).實(shí)驗(yàn)結(jié)果表明,HetVAE能夠有效地提高節(jié)點(diǎn)表示的質(zhì)量,在不同的網(wǎng)絡(luò)任務(wù)中具有更好的準(zhǔn)確性和有效性.在未來的工作中,將針對社交網(wǎng)絡(luò)應(yīng)用,研究適合于推薦算法的異質(zhì)網(wǎng)絡(luò)表示方法,使得網(wǎng)絡(luò)表示更符合真實(shí)應(yīng)用場景,并探索網(wǎng)絡(luò)表示的可解釋模型.