崇志強(qiáng) 馬世乾 郭 悅 徐福華 周作靜
1(國網(wǎng)天津市電力公司電力科學(xué)研究院 天津 300380)2(國網(wǎng)天津靜海供電有限公司 天津 735412)
近年來,隨著信息社會的發(fā)展,對網(wǎng)絡(luò)或圖結(jié)構(gòu)信息表示與利用的研究已成為學(xué)界的熱點(diǎn)問題[1]。網(wǎng)絡(luò)嵌入已經(jīng)成為網(wǎng)絡(luò)分析的一種范式,引起了研究者廣泛關(guān)注。其目的是將網(wǎng)絡(luò)中的每個節(jié)點(diǎn)映射到一個低維向量空間,得到節(jié)點(diǎn)的低維向量表示。節(jié)點(diǎn)的表示向量可以應(yīng)用于許多下游分析任務(wù),如節(jié)點(diǎn)分類[2]、鏈路預(yù)測[3]。
一般而言,經(jīng)典的網(wǎng)絡(luò)嵌入方法可以分為兩類:基于網(wǎng)絡(luò)結(jié)構(gòu)的方法和融合外部信息的方法(一般為文本信息)。前者通常基于隨機(jī)游走[4]、局部鄰居[5]。但上述方法忽略了網(wǎng)絡(luò)豐富的外部信息,模型無法收斂至全局最優(yōu)。此外,這些方法使用短而固定的節(jié)點(diǎn)鄰居范圍,無法捕捉全局的結(jié)構(gòu)信息。
目前存在許多融合文本信息的網(wǎng)絡(luò)嵌入方法,但這些方法一般對文本信息與網(wǎng)絡(luò)結(jié)構(gòu)信息分別建模,最終簡單地拼接兩個表示向量得到最終的表示[6],這導(dǎo)致兩種模態(tài)的信息難以有機(jī)地整合。此外,這些方法使用循環(huán)神經(jīng)網(wǎng)絡(luò)或卷積神經(jīng)網(wǎng)絡(luò)作為編碼器,但是循環(huán)神經(jīng)網(wǎng)絡(luò)本身的序列依賴導(dǎo)致其無法實(shí)現(xiàn)大規(guī)模并行計(jì)算,而卷積神經(jīng)網(wǎng)絡(luò)則受限于卷積核的大小,無法捕捉到文本的長距離特征。節(jié)點(diǎn)標(biāo)簽是另一個重要的外部信息,充分利用標(biāo)簽信息將進(jìn)一步增強(qiáng)節(jié)點(diǎn)向量的表示能力,但現(xiàn)實(shí)中并非所有網(wǎng)絡(luò)節(jié)點(diǎn)都被標(biāo)記,合理利用標(biāo)記節(jié)點(diǎn)和未標(biāo)記節(jié)點(diǎn)對網(wǎng)絡(luò)嵌入過程具有重要意義。
針對以上問題,本文提出了一種基于多頭注意力機(jī)制的半監(jiān)督卷積網(wǎng)絡(luò)嵌入方法(SMAC),以更好地捕捉和融合網(wǎng)絡(luò)的結(jié)構(gòu)信息和外部信息。具體而言,模型以網(wǎng)絡(luò)中的邊作為樣本,分別提取一條邊上兩個節(jié)點(diǎn)對應(yīng)的子網(wǎng)絡(luò);利用多頭注意機(jī)制[7]作文本編碼器,對子網(wǎng)絡(luò)中各節(jié)點(diǎn)的文本進(jìn)行編碼,得到各節(jié)點(diǎn)的文本表示向量,多頭注意力機(jī)制能很好地解決文本的長距離依賴問題,同時可以并行計(jì)算;將各節(jié)點(diǎn)的文本表示向量作為可訓(xùn)練的節(jié)點(diǎn)特征輸入圖卷積神經(jīng)網(wǎng)絡(luò)[8],可以捕獲任意尺度的結(jié)構(gòu)信息;以半監(jiān)督學(xué)習(xí)的方式將標(biāo)簽信息引入節(jié)點(diǎn)表示。模型充分融合了網(wǎng)絡(luò)的結(jié)構(gòu)、文本與標(biāo)簽信息,得到表示性較強(qiáng)的節(jié)點(diǎn)表示向量。
傳統(tǒng)的網(wǎng)絡(luò)嵌入算法通常將網(wǎng)絡(luò)表示為圖,并使用數(shù)據(jù)點(diǎn)的特征向量構(gòu)建關(guān)聯(lián)圖,例如數(shù)據(jù)的k近鄰圖。由此,利用關(guān)聯(lián)圖[9]可以將數(shù)據(jù)點(diǎn)嵌入到低維空間中,得到節(jié)點(diǎn)的向量表示?;谠撍枷耄罅康木W(wǎng)絡(luò)嵌入方法被提出,例如LLE[10]、IsoMap[11]和拉普拉斯特征映射[12]等。然而,這些算法通常依賴于求解鄰接矩陣的特征向量,其復(fù)雜度至少是節(jié)點(diǎn)數(shù)的平方,因此導(dǎo)致效率低下,并且難以應(yīng)用于大規(guī)模網(wǎng)絡(luò)。
近年來,網(wǎng)絡(luò)嵌入逐漸成為了一個熱門的研究課題。Deepwalk[4]是第一種將深度學(xué)習(xí)引入網(wǎng)絡(luò)嵌入的方法,作為一種基于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的方法,它在網(wǎng)絡(luò)上執(zhí)行截斷的隨機(jī)游走,并使用SkipGram[13]學(xué)習(xí)節(jié)點(diǎn)嵌入。除了網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)外,節(jié)點(diǎn)通常與其自身的屬性信息緊密相關(guān),例如文本內(nèi)容、節(jié)點(diǎn)標(biāo)簽等。為了進(jìn)一步考慮節(jié)點(diǎn)的屬性信息,Yang等[14]提出了文本關(guān)聯(lián)的Deepwalk模型(TADW),在矩陣分解框架下,將節(jié)點(diǎn)的內(nèi)容引入到網(wǎng)絡(luò)嵌入中。MMDW[15]考慮監(jiān)督標(biāo)簽信息,同時學(xué)習(xí)網(wǎng)絡(luò)表示和最大邊緣分類器,將標(biāo)簽信息引入學(xué)習(xí)過程。
雖然現(xiàn)有的相關(guān)方法綜合考慮了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和節(jié)點(diǎn)屬性信息,但是這些方法通常是對屬性信息和拓?fù)浣Y(jié)構(gòu)分別建模,并對兩部分表示進(jìn)行簡單拼接以得到最終的表示。因此針對該問題,本文提出一種基于多頭注意力機(jī)制的半監(jiān)督卷積網(wǎng)絡(luò)嵌入方法。利用多頭注意力機(jī)制及圖卷積神經(jīng)網(wǎng)絡(luò),本文提出的模型可以充分融合網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、節(jié)點(diǎn)的文本內(nèi)容、節(jié)點(diǎn)的標(biāo)簽信息,進(jìn)而得到表示性更強(qiáng)的節(jié)點(diǎn)向量。
本文提出了一種基于多頭注意力機(jī)制的半監(jiān)督卷積網(wǎng)絡(luò)嵌入方法,模型充分融合了網(wǎng)絡(luò)的結(jié)構(gòu)、文本與標(biāo)簽信息。圖1從整體上闡述了模型的結(jié)構(gòu),由節(jié)點(diǎn)文本編碼器和節(jié)點(diǎn)結(jié)構(gòu)編碼器兩部分組成。
圖1 基于多頭注意力機(jī)制的半監(jiān)督卷積網(wǎng)絡(luò)嵌入模型
節(jié)點(diǎn)內(nèi)容編碼器采用N層多頭注意力機(jī)制編碼文本信息,很好地解決了文本地長距離依賴問題,使得最終學(xué)得的文本表示向量更好地反應(yīng)語義深度信息。節(jié)點(diǎn)結(jié)構(gòu)編碼器由L層圖卷積神經(jīng)網(wǎng)絡(luò)組成,通過堆疊的多層結(jié)構(gòu),能夠捕獲任意尺度的結(jié)構(gòu)信息。模型整體流程如下:(1) 模型以邊為樣本,提取邊兩端的節(jié)點(diǎn)u、v對應(yīng)的子網(wǎng)絡(luò)sub_Gu和sub_Gv;(2) 將子網(wǎng)絡(luò)中的所有節(jié)點(diǎn)通過節(jié)點(diǎn)內(nèi)容編碼器映射到潛在語義空間,得到節(jié)點(diǎn)的文本表示;(3) 由多層圖卷積神經(jīng)網(wǎng)絡(luò)組成的節(jié)點(diǎn)結(jié)構(gòu)編碼器以網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)與節(jié)點(diǎn)文本表示為輸入,融合節(jié)點(diǎn)文本與網(wǎng)絡(luò)結(jié)構(gòu)信息;(4) 用半監(jiān)督學(xué)習(xí)的方式融入節(jié)點(diǎn)標(biāo)簽信息。模型通過采樣邊來對部分節(jié)點(diǎn)進(jìn)行學(xué)習(xí),不需要將所有節(jié)點(diǎn)的信息放入顯存,能較好地應(yīng)用于實(shí)際場景中的大規(guī)模圖。
首先給出如下基本的符號和定義:
定義1信息網(wǎng)絡(luò)。信息網(wǎng)絡(luò)表示為G=(V,E,T,L),其中:V為網(wǎng)絡(luò)中節(jié)點(diǎn)的集合,E?V×V為網(wǎng)絡(luò)中邊的集合。T為網(wǎng)絡(luò)中節(jié)點(diǎn)的文本信息集合,L為網(wǎng)絡(luò)中節(jié)點(diǎn)的標(biāo)簽集合。Tu=(xu1,xu2,…,xum)表示節(jié)點(diǎn)u的文本信息,其中xui代表第i個詞,m為文本長度。節(jié)點(diǎn)u的文本表示向量和最終表示向量分別為uT和uR。本文使用的圖均為無向、無權(quán)重圖,可通過按權(quán)重采樣邊的策略將算法擴(kuò)展至有權(quán)重圖。
定義2子網(wǎng)絡(luò)。節(jié)點(diǎn)u的子網(wǎng)絡(luò)表示為sub_Gu,由u本身和它的相鄰節(jié)點(diǎn)組成,稱u為中心節(jié)點(diǎn),其余節(jié)點(diǎn)為u節(jié)點(diǎn)的鄰居節(jié)點(diǎn)。為保證模型訓(xùn)練時批次大小相同,本文采樣固定數(shù)量的鄰居節(jié)點(diǎn)。
長文本是現(xiàn)實(shí)世界中常見的文本形式,例如:在論文引用網(wǎng)絡(luò)中,摘要作為網(wǎng)絡(luò)節(jié)點(diǎn)文本信息就是一種長文本。傳統(tǒng)的文本編碼器無法解決長文本建模時的長距離依賴問題。而多頭注意力機(jī)制的每個頭是一個自我注意機(jī)制,它通過計(jì)算當(dāng)前詞與其他詞之間注意力權(quán)重,使得當(dāng)前詞和句子中任意詞都發(fā)生了聯(lián)系,能夠很好地解決長距離依賴問題。因此,本文基于多頭注意機(jī)制對文本特征進(jìn)行編碼。節(jié)點(diǎn)文本編碼器由位置編碼器、多頭注意力機(jī)制和前饋神經(jīng)網(wǎng)絡(luò)組成。
2.2.1位置編碼器
為了保留輸入文本中單詞的相對位置信息,需在節(jié)點(diǎn)文本編碼器得底部構(gòu)造位置編碼器編碼單詞的相對位置信息。位置編碼器有多種選擇,比如正弦和余弦函數(shù)和獨(dú)熱編碼。其中獨(dú)熱編碼為最簡單的位置編碼器,而其他編碼方式將增加模型復(fù)雜度。實(shí)驗(yàn)表明,獨(dú)熱編碼在不降低模型性能的情況下,能夠加快模型收斂速度。
首先,文本原始單詞通過映射得到詞向量,則u的文本信息可表示為Tu=(wu1,wu2,…,wum),其中:wui∈Rd為xui的詞向量,d為詞向量的維度,m為節(jié)點(diǎn)文本中包含詞的個數(shù)。位置編碼器可形式化地表示為矩陣Pu=(pu1,pu2,…,pum),其中pui∈Rm是獨(dú)熱向量。將位置編碼器與使本文的文本編碼器進(jìn)行拼接,得到多頭注意力機(jī)制的輸入,這樣的輸入包含了詞的相對位置關(guān)系,即eu=(wu1⊕pu1,wu2⊕pu2,…,wum⊕pum),其中⊕表示拼接操作。
2.2.2多頭注意力機(jī)制
(1)
(2)
(3)
(4)
將多頭注意力機(jī)制中所有頭的輸出拼接成一個向量,之后乘一個權(quán)重矩陣WO,即可得到多頭注意力機(jī)制的輸出結(jié)果,計(jì)算式表示如下:
Ou=(z1⊕z2⊕…⊕zh)WO
(5)
式中:WO∈Rhdk×dm,為一個可訓(xùn)練的權(quán)重矩陣。
2.2.3前饋神經(jīng)網(wǎng)絡(luò)
除了多頭注意力機(jī)制外,節(jié)點(diǎn)文本編碼器的每一層都包含一個全連接的前饋網(wǎng)絡(luò)FFN。前饋神經(jīng)網(wǎng)絡(luò)由兩個使用ReLU的線性變換組成,計(jì)算式表示為:
(6)
無向網(wǎng)絡(luò)中的子網(wǎng)絡(luò)存在兩個基本問題:
1) 在一個子網(wǎng)絡(luò)中,中心節(jié)點(diǎn)與相鄰節(jié)點(diǎn)的關(guān)系是對稱的。在u的子網(wǎng)絡(luò)sub_Gu中,鄰居節(jié)點(diǎn)ui包含的信息應(yīng)該向中心節(jié)點(diǎn)u聚合,而在ui的子網(wǎng)絡(luò)中情況則相反。
2) 同一個子網(wǎng)絡(luò)中的鄰居節(jié)點(diǎn)的排列通常是無序的。例如,在u的子網(wǎng)絡(luò)sub_Gu中有三個鄰居u1、u2、u3,其下標(biāo)是任意的,并不能表示該子網(wǎng)絡(luò)中鄰居節(jié)點(diǎn)的優(yōu)先級。
在通過節(jié)點(diǎn)文本編碼器獲得節(jié)點(diǎn)文本表示向量的基礎(chǔ)上,模型使用圖卷積神經(jīng)網(wǎng)絡(luò)[8]來建模網(wǎng)絡(luò)結(jié)構(gòu),因其可以捕獲任意尺度的結(jié)構(gòu)信息。圖卷積操作關(guān)心每個節(jié)點(diǎn)的隱藏狀態(tài)如何更新,通過鄰居節(jié)點(diǎn)隱藏狀態(tài)的聚合來更新中心節(jié)點(diǎn)的隱藏狀態(tài)。假設(shè)節(jié)點(diǎn)結(jié)構(gòu)編碼器由L層圖卷積操作組成,第l層的更新過程可以表示為:
(7)
(8)
M=(E+I)D-1
(9)
(10)
通過圖卷積神經(jīng)網(wǎng)絡(luò),模型可以很好地解決子網(wǎng)絡(luò)的兩個基本問題。對稱矩陣M可以滿足子網(wǎng)絡(luò)中中心節(jié)點(diǎn)與鄰居節(jié)點(diǎn)的對稱連接關(guān)系。此外,式(8)具有置換不變性,即改變鄰居節(jié)點(diǎn)的順序不會影響聚合過程。隨著多層圖卷積網(wǎng)絡(luò)的疊加,每個節(jié)點(diǎn)遞歸地聚合來自每層子網(wǎng)絡(luò)的信息,并將自己的信息擴(kuò)散到相鄰節(jié)點(diǎn)。
樣本標(biāo)簽蘊(yùn)含了樣本的類別信息。現(xiàn)實(shí)中的大規(guī)模網(wǎng)絡(luò)只有少數(shù)節(jié)點(diǎn)具有標(biāo)注明確的標(biāo)簽,而大部分節(jié)點(diǎn)是未標(biāo)注的,因此需要半監(jiān)督學(xué)習(xí)的方法對標(biāo)簽信息進(jìn)行建模?;诠?jié)點(diǎn)結(jié)構(gòu)編碼器的輸出向量,SMAC共同優(yōu)化了無標(biāo)簽節(jié)點(diǎn)的無監(jiān)督學(xué)習(xí)損失和有標(biāo)簽節(jié)點(diǎn)的有監(jiān)督學(xué)習(xí)損失。
在論文引用網(wǎng)絡(luò)中,兩篇具有引用關(guān)系的論文在內(nèi)容上會具有一定的相似性。對于無標(biāo)簽節(jié)點(diǎn),目標(biāo)函數(shù)Lunlabel由兩部分組成,即描述同邊相連節(jié)點(diǎn)的文本內(nèi)容相似度的Ltt,和節(jié)點(diǎn)結(jié)構(gòu)編碼器輸出的表示向量的相似度Lss。Lunlabel、Ltt和Lss和計(jì)算式分別表示為:
Lunlabel(u)=αLss(u)+βLtt(u)
(11)
(12)
(13)
式中:α、β為控制權(quán)重。式(12)與式(13)中條件概率p定義為:
(14)
相比于無標(biāo)簽節(jié)點(diǎn),帶標(biāo)簽節(jié)點(diǎn)的目標(biāo)函數(shù)通過標(biāo)簽匹配損失來融合標(biāo)簽信息,Lmatch(ul)計(jì)算式為:
(15)
式中:Ω為正則化項(xiàng)。
使用全連接層將節(jié)點(diǎn)表示向量uR映射到標(biāo)簽空間,得到節(jié)點(diǎn)標(biāo)簽分布的預(yù)測。標(biāo)簽匹配損失的目的在于最小化預(yù)測的標(biāo)簽分布與真實(shí)分布的距離,計(jì)算式表示為:
Llabel(u)=αLss(u)+βLtt(u)-τLmatch(u)
(16)
式中:α、β和τ用來控制帶標(biāo)簽節(jié)點(diǎn)目標(biāo)函數(shù)各部分的權(quán)重。
本文所采用的半監(jiān)督學(xué)習(xí)方式是為了聯(lián)合優(yōu)化無標(biāo)簽節(jié)點(diǎn)的無監(jiān)督學(xué)習(xí)過程和帶標(biāo)簽節(jié)點(diǎn)的監(jiān)督學(xué)習(xí)過程。SMAC的整體目標(biāo)函數(shù)定義為:
(17)
式中:Lu和Ll分別是無標(biāo)簽節(jié)點(diǎn)和帶標(biāo)簽節(jié)點(diǎn)的集合。
為了最大化目標(biāo)函數(shù),需要計(jì)算式(14)形式的條件概率,而條件概率在計(jì)算代價上是昂貴的。故本文采用負(fù)采樣技術(shù)[16]降低計(jì)算代價。對于同邊相連的兩個節(jié)點(diǎn)u和v,使用負(fù)采樣來計(jì)算條件概率的過程,計(jì)算式可表示為:
(17)
(18)
式中:σ為Sigmoid函數(shù);dv為節(jié)點(diǎn)v的度。使用隨機(jī)梯度下降對模型進(jìn)行優(yōu)化。
本文在兩個廣泛應(yīng)用于網(wǎng)絡(luò)公開嵌入的論文引用網(wǎng)絡(luò)公開數(shù)據(jù)集Cora與Citeseer上進(jìn)行了實(shí)驗(yàn)。
Cora是一個論文引用網(wǎng)絡(luò),共包含人工智能領(lǐng)域的7個類,分別為實(shí)例學(xué)習(xí)、遺傳算法、神經(jīng)網(wǎng)絡(luò)、概率方法、強(qiáng)化學(xué)習(xí)、規(guī)則學(xué)習(xí)和機(jī)器學(xué)習(xí)理論。數(shù)據(jù)集中的節(jié)點(diǎn)文本為論文的摘要,網(wǎng)絡(luò)的邊代表著論文之間的引用關(guān)系。CiteSeer是另外的一個論文引用網(wǎng)絡(luò),共包含科學(xué)領(lǐng)域的10個類,分別為農(nóng)學(xué)、考古學(xué)、生物學(xué)、計(jì)算機(jī)科學(xué)、金融經(jīng)濟(jì)學(xué)、工業(yè)工程學(xué)、材料科學(xué)、石油化學(xué)、物理學(xué)和社會科學(xué)。數(shù)據(jù)集中節(jié)點(diǎn)內(nèi)容為論文的標(biāo)題,同樣地,網(wǎng)絡(luò)的邊代表論文間引用關(guān)系。
本文刪除了低頻詞和無效的論文。表1總結(jié)了預(yù)處理后的兩個數(shù)據(jù)集的統(tǒng)計(jì)數(shù)據(jù)??梢钥闯?,Cora包含更豐富的內(nèi)容信息。Citeseer中的節(jié)點(diǎn)更有特色,因?yàn)樗鼈儗儆诟鄻踊念悺P枰⒁獾氖?,這兩個網(wǎng)絡(luò)都被視為無向圖和無權(quán)圖。
表1 數(shù)據(jù)集統(tǒng)計(jì)信息
為了驗(yàn)證SMAC的性能,本文將該模型與其他幾種常用的網(wǎng)絡(luò)嵌入方法的實(shí)驗(yàn)效果進(jìn)行了對比,所選擇的方法如下:
① Deepwalk[4]:它通過隨機(jī)游走的方式產(chǎn)生節(jié)點(diǎn)序列,之后生成節(jié)點(diǎn)向量表示。參照文獻(xiàn)[4],游走數(shù)量設(shè)為10,游走長度設(shè)為80,窗口大小設(shè)為10。
② LINE[5]:通過節(jié)點(diǎn)間的一階與二階相似度建模網(wǎng)絡(luò)結(jié)構(gòu)。參數(shù)設(shè)置參照文獻(xiàn)[5],同時使用一階與二階相似度,負(fù)采樣個數(shù)設(shè)為5。
③ GraRep[17]:在矩陣分解的框架下,考慮到了網(wǎng)絡(luò)的全局結(jié)構(gòu)信息。節(jié)點(diǎn)最終表示為1至7階相似度下節(jié)點(diǎn)表示的拼接。
④ GCN[8]:它將歐氏空間中的卷積操作擴(kuò)展到了非歐氏空間,并使用一種基于邊標(biāo)簽的傳播規(guī)則實(shí)現(xiàn)半監(jiān)督學(xué)習(xí)。節(jié)點(diǎn)特征采用TF-IDF形式的文本信息。
⑤ TADW[14]:它在一個矩陣分解的框架下同時學(xué)得文本表示與結(jié)構(gòu)表示,最后對兩者做拼接形成最終節(jié)點(diǎn)表示。采用TF-IDF形式的節(jié)點(diǎn)文本特征。
網(wǎng)絡(luò)嵌入的輸出為網(wǎng)絡(luò)中節(jié)點(diǎn)的低維向量表示,這個表示向量可以用作推理網(wǎng)絡(luò)結(jié)構(gòu)。在現(xiàn)實(shí)世界中,網(wǎng)絡(luò)往往是不完全的。例如在社交網(wǎng)絡(luò)中,兩個互相認(rèn)識的人可能并沒有好友關(guān)系(可以視作網(wǎng)絡(luò)中的邊)。網(wǎng)絡(luò)節(jié)點(diǎn)表示應(yīng)該保留網(wǎng)絡(luò)不同階的相似度信息,或不同尺度的結(jié)構(gòu)信息。因此,這些節(jié)點(diǎn)表示可以用作預(yù)測網(wǎng)絡(luò)中缺失的邊。這就是鏈接預(yù)測任務(wù)。
對于鏈接預(yù)測任務(wù),本文用一種廣泛使用的評測方法AUC評價SMAC與對比算法在鏈接預(yù)測任務(wù)上的性能。AUC是一個概率值,表示在數(shù)據(jù)集中隨機(jī)挑選一個正樣本與負(fù)樣本,模型根據(jù)計(jì)算得到的分?jǐn)?shù)將正樣本排在負(fù)樣本前面的概率。AUC值越大,模型就能更好地區(qū)分應(yīng)該存在的鏈接與不該存在的鏈接。計(jì)算方式如下:
(19)
(20)
AUC=1-lrank
(21)
式中:π(·)表示若輸入條件成立則為1,否則為0;D+與D-分別代表正、負(fù)樣本的集合。式(20)的含義為:考慮每一對正、負(fù)樣本,若正例的分?jǐn)?shù)小于反例,則計(jì)一個“罰分”,若兩者相等,則計(jì)0.5個“罰分”。用1減去總計(jì)罰分即為最終AUC的值。需要注意的是,AUC的計(jì)算存在隨機(jī)性,同樣的節(jié)點(diǎn)表示在同樣的測試集上的兩次計(jì)算結(jié)果可能不同。本文采用求20次AUC取平均值的方式,以降低隨機(jī)性的影響。
表2和表3分別為SMAC及對比算法在Cora與Citeseer數(shù)據(jù)集上的鏈接預(yù)測實(shí)驗(yàn)結(jié)果。p表示訓(xùn)練邊的比例,即僅保留網(wǎng)絡(luò)中p比例的邊作為訓(xùn)練集進(jìn)行模型訓(xùn)練,將模型結(jié)果(節(jié)點(diǎn)表示向量)在剩余1-p比例邊的網(wǎng)絡(luò)上作測試;表中每個單元格表示對應(yīng)行列狀態(tài)下的AUC值。訓(xùn)練集測試集經(jīng)十折交叉驗(yàn)證劃分,最終結(jié)果為10次交叉驗(yàn)證的均值。超參數(shù)設(shè)置為α=0.3、β=0.3、τ=0.4,節(jié)點(diǎn)文本編碼器和節(jié)點(diǎn)結(jié)構(gòu)編碼器的層數(shù)分別為1和3。
表2 Cora數(shù)據(jù)集上鏈接預(yù)測實(shí)驗(yàn)結(jié)果 %
表3 Citeseer數(shù)據(jù)集上鏈接預(yù)測實(shí)驗(yàn)結(jié)果 %
節(jié)點(diǎn)分類是評價網(wǎng)絡(luò)嵌入模型最為常見的任務(wù),旨在為每個節(jié)點(diǎn)預(yù)測一個標(biāo)簽類別。
本文使用的兩個數(shù)據(jù)集上的節(jié)點(diǎn)分類均為多分類問題(Cora為7分類,CiteSeer為10分類)。在得到節(jié)點(diǎn)表示向量后,用支持向量機(jī)作分類器,在不同的帶標(biāo)簽節(jié)點(diǎn)比例下進(jìn)行模型訓(xùn)練與測試。本文使用的節(jié)點(diǎn)分類評測指標(biāo)為微平均F1-Score(Micro_F1)其具體計(jì)算方法為:
(22)
式中:Micro_P和Micro_R分別為微平均準(zhǔn)確率和召回率;TPi即為第i類樣本正確分類的個數(shù);N代表整體樣本數(shù);Micro_F1越大代表分類性能越好。超參數(shù)設(shè)置為α=0.2、β=0.3、τ=0.5,節(jié)點(diǎn)文本編碼器和節(jié)點(diǎn)結(jié)構(gòu)編碼器的層數(shù)分別為1和3。表4和表5分別為SMAC及對比算法在Cora與Citeseer數(shù)據(jù)集上的節(jié)點(diǎn)分類的Micro_F1值結(jié)果。
表4 Cora數(shù)據(jù)集上節(jié)點(diǎn)分類實(shí)驗(yàn)結(jié)果 %
表5 Citeseer數(shù)據(jù)集上節(jié)點(diǎn)分類實(shí)驗(yàn)結(jié)果 %
續(xù)表5 %
由表2至表4可見,SMAC的性能均為最優(yōu)或次優(yōu),這說明了SMAC模型的有效性。將表2、表4與表3、表5對比可發(fā)現(xiàn),幾乎所有的模型在Citeseer上的性能都要比在Cora上的性能差。本文認(rèn)為這是因?yàn)镃iteseer相較于Cora更為稀疏(見表1邊密度)。這說明網(wǎng)絡(luò)的稀疏性仍為網(wǎng)絡(luò)嵌入領(lǐng)域的一大挑戰(zhàn)。
結(jié)合表2和表3可發(fā)現(xiàn),在訓(xùn)練邊比例較小時,Deepwalk、LINE和GraRep性能很差(AUC值越接近0.5,模型學(xué)到的有用信息越少)。這是因?yàn)閮H依賴網(wǎng)絡(luò)結(jié)構(gòu)(即節(jié)點(diǎn)與節(jié)點(diǎn)的連接關(guān)系)的網(wǎng)絡(luò)嵌入方法在網(wǎng)絡(luò)中保留的邊較少的情況下,無法學(xué)得恰當(dāng)?shù)膮?shù)。與之相反,結(jié)合文本信息的算法在訓(xùn)練邊比例較小時均取得了不錯的成績,說明文本信息的確是節(jié)點(diǎn)重要特征。
另外,對比其他算法,SMAC在Citeseer上的性能下降相比Cora要更大。這是因?yàn)镃ora中節(jié)點(diǎn)的文本特征為論文摘要,屬于長文本;而Citeseer中節(jié)點(diǎn)文本特征為論文題目。這從另一側(cè)面印證了SMAC的多頭注意力機(jī)制對建模長文本、解決長距離依賴問題的有效性。
分析表4與表5可發(fā)現(xiàn),隨著帶標(biāo)簽節(jié)點(diǎn)比例的增加,各模型的微平均F1-Score均增加。但一般情況下,結(jié)合文本信息的方法優(yōu)于僅依賴網(wǎng)絡(luò)結(jié)構(gòu)的方法,說明結(jié)構(gòu)特征不足以為節(jié)點(diǎn)分類任務(wù)提供足夠的識別信息。而半監(jiān)督的GCN和本文提出的SMAC優(yōu)于其他方法,說明半監(jiān)督方法能夠較好地集成標(biāo)簽信息。
網(wǎng)絡(luò)嵌入是機(jī)器學(xué)習(xí)、表示學(xué)習(xí)等領(lǐng)域的重要研究方向之一,有著重要的學(xué)術(shù)意義與應(yīng)用價值。本文對信息網(wǎng)絡(luò)的網(wǎng)絡(luò)嵌入方法進(jìn)行了探討,提出了一種基于多頭注意力機(jī)制的半監(jiān)督卷積網(wǎng)絡(luò)嵌入方法(SMAC)。SMAC的優(yōu)勢有三個方面:(1) 多頭注意機(jī)制可以很好地解決長依賴問題,更好地編碼文本信息;(2) SMAC利用圖卷積網(wǎng)絡(luò)對子網(wǎng)絡(luò)的特征進(jìn)行聚合,可以捕獲任意尺度的結(jié)構(gòu)信息;(3) SMAC以半監(jiān)督的方式將標(biāo)簽信息引入到學(xué)習(xí)過程中,進(jìn)一步提高了表示能力。