郝志峰,柯妍蓉,李 爍,蔡瑞初,溫 雯,王麗娟
(1.廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣州510006; 2.佛山科學(xué)技術(shù)學(xué)院 數(shù)學(xué)與大數(shù)據(jù)學(xué)院,廣東 佛山528000)
近十年來(lái),各種社交平臺(tái)涌現(xiàn),社交網(wǎng)絡(luò)數(shù)據(jù)規(guī)模迅速增大。這些數(shù)據(jù)蘊(yùn)含了豐富的用戶(hù)信息以及用戶(hù)之間的交互信息,如何挖掘數(shù)據(jù)中蘊(yùn)含的有價(jià)值的信息一直備受學(xué)者關(guān)注,社交網(wǎng)絡(luò)節(jié)點(diǎn)分類(lèi)便是其中一個(gè)研究熱點(diǎn)。社交網(wǎng)絡(luò)節(jié)點(diǎn)分類(lèi)任務(wù)在現(xiàn)實(shí)生活中有著重要的應(yīng)用價(jià)值,如:在電商平臺(tái)上,對(duì)商家節(jié)點(diǎn)進(jìn)行分類(lèi),可以根據(jù)分類(lèi)結(jié)果方便地向商家推薦與其緊密相關(guān)的其他商家,促進(jìn)形成合作關(guān)系;在社交推薦系統(tǒng)中,可以根據(jù)社交網(wǎng)絡(luò)中用戶(hù)節(jié)點(diǎn)的類(lèi)別向用戶(hù)推薦其可能感興趣的內(nèi)容或好友。然而如何融合節(jié)點(diǎn)自身屬性以及網(wǎng)絡(luò)結(jié)構(gòu)信息實(shí)現(xiàn)社交網(wǎng)絡(luò)節(jié)點(diǎn)分類(lèi)任務(wù)依然是個(gè)困難的問(wèn)題?,F(xiàn)有的方法中,多數(shù)只使用了節(jié)點(diǎn)的屬性信息或網(wǎng)絡(luò)結(jié)構(gòu)信息,也沒(méi)有挖掘節(jié)點(diǎn)之間的交互信息。例如,Pennacchiotti等[1]只考慮節(jié)點(diǎn)屬性信息,從用戶(hù)信息中獲取用戶(hù)特征,并使用梯度提升決策樹(shù)實(shí)現(xiàn)用戶(hù)分類(lèi);Pedroche等[2]只考慮網(wǎng)絡(luò)結(jié)構(gòu)信息,使用PageRank方法實(shí)現(xiàn)用戶(hù)分類(lèi)。針對(duì)上述問(wèn)題,本文提出了一個(gè)基于圖編碼網(wǎng)絡(luò)(Graph Encoder Network,GEN)的社交網(wǎng)絡(luò)節(jié)點(diǎn)分類(lèi)模型。首先,將節(jié)點(diǎn)映射到低維向量空間,并挖掘節(jié)點(diǎn)之間的交互信息;然后,計(jì)算中心節(jié)點(diǎn)接收到來(lái)自各個(gè)鄰域節(jié)點(diǎn)的特征,稱(chēng)該特征為鄰域作用特征;最后根據(jù)鄰域作用特征和節(jié)點(diǎn)自身的特征更新節(jié)點(diǎn)特征,并用神經(jīng)網(wǎng)絡(luò)抽取該節(jié)點(diǎn)更高層次的特征。該模型同時(shí)利用社交網(wǎng)絡(luò)的節(jié)點(diǎn)信息、結(jié)構(gòu)信息挖掘節(jié)點(diǎn)之間隱含的復(fù)雜多樣交互信息,對(duì)社交網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行更有效的分類(lèi)。
本文的工作主要包括以下幾個(gè)方面:
1)同時(shí)使用社交網(wǎng)絡(luò)數(shù)據(jù)的節(jié)點(diǎn)屬性信息和結(jié)構(gòu)信息,并挖掘慮節(jié)點(diǎn)之間隱含的復(fù)雜的交互關(guān)系,充分利用社交網(wǎng)絡(luò)數(shù)據(jù)蘊(yùn)含的豐富信息實(shí)現(xiàn)節(jié)點(diǎn)分類(lèi)。
2)模型靈活性和可擴(kuò)展性強(qiáng),可以方便地替換圖編碼模塊的函數(shù),也可以任意組合圖編碼模塊或其他圖神經(jīng)網(wǎng)絡(luò)模塊構(gòu)建更大規(guī)模的圖網(wǎng)絡(luò)結(jié)構(gòu),實(shí)現(xiàn)組合泛化。
近十年來(lái),社交網(wǎng)絡(luò)節(jié)點(diǎn)分類(lèi)任務(wù)備受關(guān)注,大量學(xué)習(xí)方法被提出,這些方法大致可以分為兩類(lèi):
1)基于迭代使用傳統(tǒng)分類(lèi)器的方法(Iterative Classification Algorithm, ICA)。此類(lèi)方法假設(shè)節(jié)點(diǎn)的標(biāo)簽只受節(jié)點(diǎn)自身的屬性信息以及鄰域節(jié)點(diǎn)的標(biāo)簽信息影響。一般情況下,此類(lèi)方法先定義一個(gè)局部分類(lèi)器,用于根據(jù)節(jié)點(diǎn)自身信息以及鄰域節(jié)點(diǎn)的標(biāo)簽信息計(jì)算節(jié)點(diǎn)的類(lèi)別標(biāo)簽概率;其次,利用部分已標(biāo)記的節(jié)點(diǎn)訓(xùn)練該分類(lèi)器,再用該分類(lèi)器對(duì)未標(biāo)記的節(jié)點(diǎn)進(jìn)行分類(lèi);最后,反復(fù)迭代該過(guò)程直至模型收斂。Neville等[3]最先使用將貝葉斯分類(lèi)器作為局部分類(lèi)器應(yīng)用于ICA框架,實(shí)現(xiàn)節(jié)點(diǎn)標(biāo)簽預(yù)測(cè)任務(wù);Lu等[4]根據(jù)鄰域節(jié)點(diǎn)的標(biāo)簽構(gòu)建特征向量,并使用邏輯回歸分類(lèi)器作為局部分類(lèi)器迭代學(xué)習(xí)節(jié)點(diǎn)標(biāo)簽;Macskassy等[5]基于相連接的節(jié)點(diǎn)更可能具有相同的標(biāo)簽的假設(shè),通過(guò)加權(quán)計(jì)算鄰域節(jié)點(diǎn)對(duì)中心節(jié)點(diǎn)的標(biāo)簽概率推斷中心節(jié)點(diǎn)的類(lèi)別;Ji等[6]提出一種基于迭代排名的分類(lèi)框架,構(gòu)建一個(gè)基于圖形的排名模型,迭代計(jì)算每個(gè)類(lèi)中對(duì)象的排名分布。
2)基于隨機(jī)游走的標(biāo)簽傳播算法,此類(lèi)方法通常假設(shè)圖的節(jié)點(diǎn)的標(biāo)簽是連通的,即可以以有限的步數(shù)從任何未標(biāo)記的節(jié)點(diǎn)到達(dá)標(biāo)記節(jié)點(diǎn)。此類(lèi)方法更多地是利用數(shù)據(jù)的網(wǎng)絡(luò)結(jié)構(gòu)信息來(lái)推斷節(jié)點(diǎn)的標(biāo)簽。如:Azran[7]利用節(jié)點(diǎn)之間的兩兩相似性構(gòu)造一個(gè)用于馬爾可夫隨機(jī)游走的概率轉(zhuǎn)移矩陣,并根據(jù)已標(biāo)識(shí)的節(jié)點(diǎn)的標(biāo)簽來(lái)學(xué)習(xí)未標(biāo)識(shí)的節(jié)點(diǎn)的類(lèi)別;Desrosiers等[8]提出了一種基于網(wǎng)絡(luò)結(jié)構(gòu)的節(jié)點(diǎn)分類(lèi)方法,并介紹了一種基于隨機(jī)游走的節(jié)點(diǎn)相似性度量方法。賀超波等[9]提出了一種基于隨機(jī)游走模型的多標(biāo)簽分類(lèi)方法以解決在線(xiàn)社交網(wǎng)絡(luò)節(jié)點(diǎn)的分類(lèi)問(wèn)題,該方法的分類(lèi)過(guò)程包括學(xué)習(xí)用戶(hù)初始化類(lèi)別標(biāo)簽以及通過(guò)迭代推理獲得用戶(hù)穩(wěn)定標(biāo)簽分布兩個(gè)階段,并且可以同時(shí)考慮用戶(hù)屬性以及關(guān)系網(wǎng)絡(luò)特征信息進(jìn)行分類(lèi)。這兩類(lèi)方法沒(méi)有充分利用節(jié)點(diǎn)屬性信息和網(wǎng)絡(luò)的結(jié)構(gòu)信息,并挖掘節(jié)點(diǎn)之間的交互信息。
圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network, GNN)是近幾年出現(xiàn)的一類(lèi)可以在圖結(jié)構(gòu)數(shù)據(jù)上運(yùn)行以傳遞圖信息的神經(jīng)網(wǎng)絡(luò)模型[10-12]。此類(lèi)模型可以利用圖的節(jié)點(diǎn)信息、結(jié)構(gòu)信息有效地挖掘圖數(shù)據(jù)蘊(yùn)含的信息,并且已經(jīng)在很多任務(wù)上取得優(yōu)秀的成果。Niepert等[13]提出一種將卷積方法應(yīng)用于圖數(shù)據(jù)的模型,該模型先對(duì)圖節(jié)點(diǎn)排序并選取特定的節(jié)點(diǎn)作為中心節(jié)點(diǎn),然后對(duì)每個(gè)中心節(jié)點(diǎn)選取k個(gè)鄰域節(jié)點(diǎn)作為感受域并對(duì)感受域節(jié)點(diǎn)排序,該方法需要對(duì)圖節(jié)點(diǎn)進(jìn)行排序,復(fù)雜度較高;Kipf等[14]考慮到時(shí)域上的卷積相當(dāng)于頻域上的內(nèi)積,將時(shí)域上的圖特征映射到譜頻域上進(jìn)行操作,并用切比雪夫多項(xiàng)式近似化簡(jiǎn),得到一個(gè)復(fù)雜度小且易于實(shí)現(xiàn)和擴(kuò)展的圖卷積模型,該模型在圖節(jié)點(diǎn)的半監(jiān)督分類(lèi)任務(wù)中取得成功的效果。近兩年有不少研究工作是基于該模型進(jìn)行擴(kuò)展,如:Velickovic等[15]在圖卷積網(wǎng)絡(luò)基礎(chǔ)上引入注意力機(jī)制,提出圖注意力模型;Simonovsky等[16]在模型中考慮了指向節(jié)點(diǎn)的不同邊的信息,為每條邊設(shè)置不同的參數(shù)矩陣,并使用一個(gè)函數(shù)學(xué)習(xí)該邊的特征,最后根據(jù)邊的特征、鄰居節(jié)點(diǎn)特征學(xué)習(xí)中心節(jié)點(diǎn)的特征;Yan等[17]將圖卷積模型擴(kuò)展到時(shí)序任務(wù)中,構(gòu)建時(shí)序圖卷積模型進(jìn)行人體動(dòng)作識(shí)別;Zhang等[18]在構(gòu)建多視圖卷積網(wǎng)絡(luò)并將其應(yīng)用于帕金森病神經(jīng)圖像的分析;曲強(qiáng)等[19]提出了一種基于圖卷積網(wǎng)絡(luò)的社交網(wǎng)絡(luò)Spammer檢測(cè)技術(shù)。這些研究結(jié)果充分表明圖卷積框架在捕捉圖數(shù)據(jù)局部特征方面的有效性,但其只是將鄰域信息進(jìn)行累加或加權(quán),并沒(méi)有充分考慮邊的信息以及節(jié)點(diǎn)之間隱含的復(fù)雜的交互信息。
除了圖卷積網(wǎng)絡(luò),還有不少研究工作嘗試將其他神經(jīng)網(wǎng)絡(luò)應(yīng)用到圖消息傳播。Wang等[20]使用生成式對(duì)抗網(wǎng)絡(luò)框架學(xué)習(xí)圖節(jié)點(diǎn)的特征向量,并將學(xué)習(xí)的節(jié)點(diǎn)特征向量應(yīng)用于鏈路預(yù)測(cè)、節(jié)點(diǎn)分類(lèi)和推薦等任務(wù),在這些任務(wù)中取得了一定的效果。Sanchez-Gonzalez等[21]在圖消息傳播中使用循環(huán)神經(jīng)網(wǎng)絡(luò)[22]作為節(jié)點(diǎn)信息、邊信息以及全局信息的更新函數(shù)。Kipf等[23]基于變分自動(dòng)編碼模型提出一種神經(jīng)關(guān)系推理模型,該模型純粹從觀察數(shù)據(jù)中無(wú)監(jiān)督地學(xué)習(xí)系統(tǒng)的交互關(guān)系。Palm等[24]提出一種循環(huán)關(guān)系網(wǎng)絡(luò)以實(shí)現(xiàn)多步關(guān)系推理,該模型主要是迭代更新節(jié)點(diǎn)信息和邊的信息,最后得到節(jié)點(diǎn)的特征向量。Xu等[25]從理論上分析圖神經(jīng)網(wǎng)絡(luò)的性能,論文指出,當(dāng)圖網(wǎng)絡(luò)中的映射函數(shù)(更新函數(shù)和聚合函數(shù))為單射函數(shù)時(shí),圖神經(jīng)網(wǎng)絡(luò)的最佳效果可以等效于圖的WL(Weisfeiler-Lehman)同構(gòu)測(cè)試。從理論上說(shuō)明了良好的圖神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)能充分挖掘圖的結(jié)構(gòu)信息,為使用圖神經(jīng)網(wǎng)絡(luò)來(lái)挖掘社交網(wǎng)絡(luò)節(jié)點(diǎn)之間復(fù)雜的信息提供了參考。
本章首先描述問(wèn)題的定義以及本文所使用的符號(hào),然后介紹本文提出用于社交網(wǎng)絡(luò)節(jié)點(diǎn)分類(lèi)的圖編碼網(wǎng)絡(luò)(GEN)結(jié)構(gòu)。
對(duì)于如圖1所示的社交網(wǎng)絡(luò),給定節(jié)點(diǎn)的屬性信息以及節(jié)點(diǎn)之間的連接關(guān)系,本文提出的社交網(wǎng)絡(luò)節(jié)點(diǎn)分類(lèi)模型的目標(biāo)是:充分利用其節(jié)點(diǎn)屬性信和網(wǎng)絡(luò)結(jié)構(gòu)信息,挖掘節(jié)點(diǎn)之間隱含的交互信息,學(xué)習(xí)節(jié)點(diǎn)的類(lèi)標(biāo)簽。下面將對(duì)模型的細(xì)節(jié)進(jìn)行介紹。為了更好地闡述所提出模型及算法,表1給出了相關(guān)符號(hào)及其含義。
表1 符號(hào)定義 Tab. 1 Definition of symbols
圖1 社交網(wǎng)絡(luò)示意圖Fig. 1 Schematic diagram of social network
設(shè)計(jì)一個(gè)可以充分利用社交網(wǎng)絡(luò)的節(jié)點(diǎn)屬性信息、結(jié)構(gòu)信息,并挖掘節(jié)點(diǎn)之間隱含的交互信息,實(shí)現(xiàn)節(jié)點(diǎn)分類(lèi)任務(wù)的模型是本文的目標(biāo)。借鑒圖神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)框架,本文提出了圖編碼網(wǎng)絡(luò)結(jié)構(gòu),其框架如圖2所示。其中:XV表示節(jié)點(diǎn)的屬性特征集合,φe表示邊特征更新函數(shù),ρe → v表示邊到節(jié)點(diǎn)的聚合函數(shù),φv表示節(jié)點(diǎn)特征更新函數(shù)。該框架使用消息傳播機(jī)制和節(jié)點(diǎn)更新機(jī)制迭代迭代更新節(jié)點(diǎn)特征和邊特征。下面將對(duì)消息傳播和節(jié)點(diǎn)更新這兩個(gè)模塊進(jìn)行介紹,其實(shí)現(xiàn)如圖3所示。
圖2 圖編碼網(wǎng)絡(luò)框架Fig. 2 Framework of graph encoder network
消息傳播 在消息傳播中,目的是將節(jié)點(diǎn)信息傳播給鄰域節(jié)點(diǎn),同時(shí)挖掘節(jié)點(diǎn)之間的交互信息。對(duì)于給定的社交網(wǎng)絡(luò)G=(V,E,X),消息傳播主要包含3個(gè)步驟。
1)通過(guò)一個(gè)映射函數(shù),將節(jié)點(diǎn)的屬性特征映射到低維的向量空間,如式(1)所示:
(1)
其中:xj表示節(jié)點(diǎn)j的特征信息;femb(*)表示將節(jié)點(diǎn)特征映射到低維向量空間的函數(shù)。該映射函數(shù)可以根據(jù)具體的任務(wù)和數(shù)據(jù)設(shè)定,如:屬性特征具有弱歸納偏置性質(zhì)的數(shù)據(jù)可以使用全連接網(wǎng)絡(luò),特征屬性具有局部特征性質(zhì)的數(shù)據(jù)可以使用卷積神經(jīng)網(wǎng)絡(luò),特征屬性具有時(shí)依賴(lài)的特征或者屬性值為文本類(lèi)型的數(shù)據(jù)可以使用循環(huán)神經(jīng)網(wǎng)絡(luò)或者長(zhǎng)短記憶神經(jīng)網(wǎng)絡(luò)。
2)挖掘邊兩端的節(jié)點(diǎn)之間的交互信息。由于邊的信息跟邊兩端連接的節(jié)點(diǎn)信息緊密相關(guān),本文使用邊兩端的節(jié)點(diǎn)的特征向量表示該邊的特征,具體地可以將這兩個(gè)節(jié)點(diǎn)的特征向量拼接、平均池化、最大池化或者求和。拼接函數(shù)可以較好地保留兩個(gè)節(jié)點(diǎn)的信息,因此,本文使用拼接函數(shù)表示邊的特征,并使用一個(gè)神經(jīng)網(wǎng)絡(luò)函數(shù)抽取其更高層次的特征,如式(2)所示:
(2)
圖3 圖編碼網(wǎng)絡(luò)模型Fig. 3 Graph encoder network model
fe(*)可以是任意的神經(jīng)網(wǎng)絡(luò)函數(shù),如全連接網(wǎng)絡(luò)或卷積神經(jīng)網(wǎng)絡(luò)等,可以根據(jù)具體的數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)含義進(jìn)行設(shè)置。該式可以應(yīng)用于有向圖、無(wú)向圖或者有向圖和無(wú)向圖的混合圖。在無(wú)向圖或混合圖中,對(duì)于無(wú)向邊e,設(shè)節(jié)點(diǎn)vi和vj是其兩端連接的節(jié)點(diǎn),將其e分解為兩條有向邊(vi,vj)和(vj,vi),便可以方便地使用式(2)進(jìn)行運(yùn)算。在該過(guò)程,本文不是簡(jiǎn)單地融合鄰域節(jié)點(diǎn)信息,而是挖掘每一組節(jié)點(diǎn)(即每一條邊兩端連接的節(jié)點(diǎn))的特征,提取節(jié)點(diǎn)之間的交互信息便是在這一步體現(xiàn)的。
3)經(jīng)過(guò)上面提及計(jì)算方法可以得到每條邊的表示向量,該向量蘊(yùn)含著其兩端連接的節(jié)點(diǎn)的特征信息以及節(jié)點(diǎn)之間的交互信息。接下來(lái)將考慮每個(gè)中心節(jié)點(diǎn)如何處理鄰域傳遞給它的信息。在該過(guò)程,有兩點(diǎn)是需要注意的:
a)輸入元素的無(wú)序性。對(duì)于每一個(gè)節(jié)點(diǎn),可能存在多條指向它的邊,這些邊并沒(méi)有天然的排列順序,而神經(jīng)網(wǎng)絡(luò)等函數(shù)往往要求輸入的元素是有序的,如果將邊按照所有可能進(jìn)行組合,將會(huì)出現(xiàn)組合爆炸問(wèn)題。針對(duì)這個(gè)問(wèn)題,可以通過(guò)兩種方法解決,設(shè)定特定的排列規(guī)則為每條邊賦予一定的順序下標(biāo),或者設(shè)計(jì)一個(gè)對(duì)輸入元素的順序不敏感的函數(shù)進(jìn)行運(yùn)算,即要求運(yùn)算邊的函數(shù)對(duì)輸入沒(méi)有順序要求。前者需要先設(shè)定一定的規(guī)則,要求對(duì)數(shù)據(jù)有較強(qiáng)的假設(shè),而且排序計(jì)算會(huì)帶來(lái)一定的計(jì)算開(kāi)銷(xiāo),后者則不需要人工假定規(guī)則并且計(jì)算開(kāi)銷(xiāo)小,在這里,使用第二種解決方法,即設(shè)計(jì)一個(gè)對(duì)輸入順序不敏感的函數(shù)。
b)輸入元素?cái)?shù)目不確定。在社交網(wǎng)絡(luò)圖中,指向不同的節(jié)點(diǎn)的邊的數(shù)目一般是不同的,而類(lèi)似于神經(jīng)網(wǎng)絡(luò)等函數(shù),往往需要確定輸入元素的數(shù)目。針對(duì)以上兩個(gè)問(wèn)題,需要尋找一個(gè)既對(duì)輸入元素的順序不敏感,又可以接受輸入元素?cái)?shù)目不確定的函數(shù)來(lái)處理傳送到節(jié)點(diǎn)上的入邊信息。
池化函數(shù)以及累加函數(shù)是兩類(lèi)比較常見(jiàn)的對(duì)輸入元素順序和數(shù)目不敏感的函數(shù)。平均池化函數(shù)將指向節(jié)點(diǎn)的所有邊的特征向量求平均,比較關(guān)注邊的平均信息;假設(shè)向量hei∈Rd表示表示第i條邊的特征向量,d表示特征向量的維度,對(duì)于節(jié)點(diǎn)j,指向它的邊可以構(gòu)成矩陣Mj∈Rt×d,其中t是指向節(jié)點(diǎn)j的邊的數(shù)目。最大池化函數(shù)將從矩陣的每一列中取出最大值,重新構(gòu)成一個(gè)d維特征向量,該向量代表了這t條邊的特征;Xu等[25]認(rèn)為平均池化函數(shù)保留了數(shù)據(jù)的分布信息,而累加函數(shù)保留是能保留數(shù)據(jù)的所有信息。為了盡可能地保留數(shù)據(jù)的所有結(jié)構(gòu)信息,在這里,選擇了累加函數(shù)作為聚合函數(shù)處理指向節(jié)點(diǎn)的邊信息,并使用一個(gè)神經(jīng)網(wǎng)絡(luò)函數(shù)抽取其更高層次的特征,如式(3)所示:
(3)
其中:hj表示接受點(diǎn)為j的邊的特征向量;fv(*)表示點(diǎn)特征更新的函數(shù),該函數(shù)可以是任意形式的神經(jīng)網(wǎng)絡(luò)。
節(jié)點(diǎn)信息更新 經(jīng)過(guò)消息傳播部分,每個(gè)節(jié)點(diǎn)將得到一個(gè)特征向量表示鄰域信息傳遞給它的信息。對(duì)于每個(gè)節(jié)點(diǎn),與鄰域節(jié)點(diǎn)的交互信息固然重要,自身節(jié)點(diǎn)的原始信息也包含許多重要信息。將與鄰域交互的特征與節(jié)點(diǎn)自身的信息相結(jié)合進(jìn)一步表示節(jié)點(diǎn)特征,既能保留節(jié)點(diǎn)自身信息,又能融合鄰域節(jié)點(diǎn)的信息以及節(jié)點(diǎn)之間的交互信息??梢允褂闷唇雍瘮?shù)、累加函數(shù)、平均池化函數(shù)或者使用全連接、卷積神經(jīng)網(wǎng)絡(luò)等函數(shù)來(lái)聚合這兩個(gè)特征,由于拼接函數(shù)能比較完整地保留兩個(gè)特征并且相對(duì)神經(jīng)網(wǎng)絡(luò)等函數(shù)有著容易操作、計(jì)算量少的優(yōu)點(diǎn),選擇使用拼接函數(shù)作為這兩個(gè)特征的聚合函數(shù),并使用一個(gè)全連接神經(jīng)網(wǎng)絡(luò)抽取更高層次的節(jié)點(diǎn)特征以表示節(jié)點(diǎn),如式(4)所示:
(4)
其中f(*)是全連接網(wǎng)絡(luò)。
損失函數(shù) 上面已經(jīng)介紹了圖編碼模型,給定一個(gè)圖G=(V,E,X),經(jīng)過(guò)計(jì)算,每個(gè)節(jié)點(diǎn)都可以用一個(gè)具有結(jié)合自身信息以及和鄰域節(jié)點(diǎn)的交互信息的特征信息的向量表示。最后,根據(jù)該特征向量,使用softmax(*)函數(shù)為每個(gè)節(jié)點(diǎn)計(jì)算每個(gè)類(lèi)別對(duì)應(yīng)的概率,其式(5)所示:
(5)
其中Zj=(z1,z2,…,zl)表示第j個(gè)節(jié)點(diǎn)在L個(gè)標(biāo)簽上的概率分布。
在該模型中,使用交叉熵計(jì)算模型的損失,其計(jì)算如式(6)所示:
(6)
其中:y表示真實(shí)的標(biāo)簽;|L|是標(biāo)簽類(lèi)別的數(shù)目。
根據(jù)上文描述的圖編碼網(wǎng)絡(luò)分類(lèi)器,具體的實(shí)現(xiàn)過(guò)程如算法1所示。
算法1 圖編碼網(wǎng)絡(luò)分類(lèi)算法。
輸入:社交網(wǎng)絡(luò)節(jié)點(diǎn)集合V,邊集E,節(jié)點(diǎn)特征矩陣X(其中每一行代表一個(gè)節(jié)點(diǎn)的特征),M個(gè)節(jié)點(diǎn)樣本的標(biāo)簽。
輸出:社交網(wǎng)絡(luò)圖的節(jié)點(diǎn)類(lèi)別Z。
while 不收斂 do:
H=femb(X)
for each edge inE:
end for;
for each node inV:
end for;
對(duì)已知標(biāo)簽的M個(gè)樣本的交叉熵?fù)p失求和:
梯度下降法更新模型參數(shù)(f函數(shù)的參數(shù));
end while
本文使用微博數(shù)據(jù)集和論文引用數(shù)據(jù)集DBLP,以節(jié)點(diǎn)分類(lèi)準(zhǔn)確率為度量標(biāo)準(zhǔn),測(cè)試了本文提出的圖編碼網(wǎng)絡(luò)模型。在微博數(shù)據(jù)集上,將本文算法和傳統(tǒng)的社交網(wǎng)絡(luò)節(jié)點(diǎn)分類(lèi)算法及較主流的圖網(wǎng)絡(luò)模型進(jìn)行對(duì)比。為了進(jìn)一步分析圖編碼網(wǎng)絡(luò)在不同程度的信息缺失以及標(biāo)簽缺失的情況下的性能,用DBLP數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)測(cè)試。最后,結(jié)合實(shí)驗(yàn)結(jié)果對(duì)模型進(jìn)行了分析。
3.1.1 數(shù)據(jù)描述
微博是國(guó)內(nèi)流行的大型社交平臺(tái)之一。在本文中,通過(guò)對(duì)電商微博和網(wǎng)紅微博兩個(gè)數(shù)據(jù)集上的微博賬戶(hù)進(jìn)行分類(lèi)來(lái)驗(yàn)證圖編碼模型。
電商微博數(shù)據(jù)集 該數(shù)據(jù)集使用102個(gè)電商的微博賬號(hào)構(gòu)建社交網(wǎng)絡(luò),其中,網(wǎng)絡(luò)的節(jié)點(diǎn)為微博賬號(hào);節(jié)點(diǎn)信息特征為賬戶(hù)所發(fā)的微博內(nèi)容,其中,當(dāng)賬戶(hù)所發(fā)的微博內(nèi)容超過(guò)500條的,只取前500條作為節(jié)點(diǎn)的內(nèi)容描述;網(wǎng)絡(luò)的邊為用戶(hù)之間的微博轉(zhuǎn)發(fā)關(guān)系,即若用戶(hù)A曾轉(zhuǎn)發(fā)用戶(hù)B的微博,則在社交網(wǎng)絡(luò)圖中,存在一條由節(jié)點(diǎn)A指向節(jié)點(diǎn)B的邊;在該數(shù)據(jù)集中,根據(jù)微博賬戶(hù)(節(jié)點(diǎn))所銷(xiāo)售的商品將節(jié)點(diǎn)分為9類(lèi),包括:服裝、運(yùn)動(dòng)戶(hù)外、美妝、鞋子、家用電器、首飾配飾、孕嬰童用品、男女內(nèi)衣、食品。電商微博數(shù)據(jù)集信息如表2第一行所示,其中,邊的數(shù)目為264;邊比例為圖網(wǎng)絡(luò)邊數(shù)/(節(jié)點(diǎn)數(shù)×(節(jié)點(diǎn)數(shù)-1));該數(shù)據(jù)集類(lèi)別集合基數(shù)為9,即數(shù)據(jù)集中存在9種類(lèi)別的節(jié)點(diǎn)。實(shí)驗(yàn)中,將電商微博賬戶(hù)(節(jié)點(diǎn))的微博內(nèi)容以及賬戶(hù)之間的交互關(guān)系作為輸入,對(duì)電商微博賬號(hào)所銷(xiāo)售的商品進(jìn)行分類(lèi),即從服裝等9類(lèi)標(biāo)簽中選擇概率最大的類(lèi)標(biāo)簽作為該節(jié)點(diǎn)的類(lèi)標(biāo)簽。
表2 微博數(shù)據(jù)集 Tab. 2 Weibo dataset
網(wǎng)紅微博數(shù)據(jù)集 該數(shù)據(jù)集使用214個(gè)網(wǎng)紅微博賬戶(hù)構(gòu)建社交網(wǎng)絡(luò)。與電商微博數(shù)據(jù)集類(lèi)似,使用微博賬戶(hù)為網(wǎng)絡(luò)節(jié)點(diǎn),賬戶(hù)發(fā)的微博內(nèi)容為節(jié)點(diǎn)信息,賬戶(hù)間的轉(zhuǎn)發(fā)關(guān)系為邊。網(wǎng)紅的微博賬戶(hù)會(huì)有美妝博主等備注,在該數(shù)據(jù)集中,根據(jù)這些備注整理了攝影達(dá)人、美妝達(dá)人、時(shí)尚達(dá)人、美食達(dá)人、旅游達(dá)人等10個(gè)標(biāo)簽。對(duì)于每個(gè)節(jié)點(diǎn),根據(jù)博主自身的備注,從整理的10個(gè)標(biāo)簽選擇一個(gè)作為節(jié)點(diǎn)的類(lèi)標(biāo)簽。該數(shù)據(jù)集的信息如表2第二行所示。實(shí)驗(yàn)中,將網(wǎng)紅微博賬戶(hù)(節(jié)點(diǎn))的微博內(nèi)容以及賬戶(hù)之間的交互作為輸入,對(duì)博主所屬領(lǐng)域進(jìn)行分類(lèi),即從時(shí)尚達(dá)人等10個(gè)類(lèi)標(biāo)簽中選擇概率最大的類(lèi)標(biāo)簽作為該節(jié)點(diǎn)的類(lèi)標(biāo)簽。
數(shù)據(jù)預(yù)處理 在實(shí)驗(yàn)數(shù)據(jù)預(yù)處理中,簡(jiǎn)單地將每個(gè)微博賬號(hào)所選取的微博文本合并為一篇文章并將其作為節(jié)點(diǎn)的特征。接著對(duì)所得文本進(jìn)行分詞、構(gòu)建字典等數(shù)據(jù)預(yù)處理,其中,把詞頻低于5以及單詞出現(xiàn)的次數(shù)/該文件的總詞語(yǔ)數(shù)的比值高于60%的單詞去除,并只保留大小為2 000的字典。在實(shí)驗(yàn)中,使用獨(dú)熱碼方式(one-hot)表示微博文本,將字典順序固定,對(duì)于每一個(gè)文檔,如果存在字典中的單詞,標(biāo)注為1,不存在則標(biāo)注為0。
3.1.2 實(shí)驗(yàn)設(shè)置與結(jié)果分析
為了驗(yàn)證本文提出的圖編碼網(wǎng)絡(luò)能有效捕獲社交網(wǎng)絡(luò)節(jié)點(diǎn)之間隱含的復(fù)雜的交互信息,設(shè)計(jì)了三組對(duì)比實(shí)驗(yàn),包括與傳統(tǒng)的社交網(wǎng)絡(luò)節(jié)點(diǎn)分類(lèi)算法邏輯回歸模型、隨機(jī)游走模型以及較新的圖卷積神經(jīng)網(wǎng)絡(luò)算法對(duì)比。在實(shí)驗(yàn)中,使用十折交叉驗(yàn)證法作為評(píng)估方法。
1)與傳統(tǒng)模型比較。
在該組實(shí)驗(yàn)中,將圖編碼網(wǎng)絡(luò)模型與邏輯回歸模型、DeepWalk模型進(jìn)行對(duì)比。
邏輯回歸(Logistic Regression,LR)模型 邏輯回歸模型是傳統(tǒng)的分類(lèi)模型,經(jīng)常被應(yīng)用于傳統(tǒng)的基于迭代的社交網(wǎng)絡(luò)節(jié)點(diǎn)分類(lèi)算法。該模型只使用節(jié)點(diǎn)的特征作為分類(lèi)器的輸入,并沒(méi)有使用數(shù)據(jù)的結(jié)構(gòu)信息。
DeepWalk DeepWalk是經(jīng)典的基于隨機(jī)游走的圖挖掘算法,其利用圖數(shù)據(jù)的網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)節(jié)點(diǎn)的向量表示,學(xué)習(xí)得到的節(jié)點(diǎn)向量表示可以應(yīng)用到社交網(wǎng)絡(luò)節(jié)點(diǎn)分類(lèi)以及其他圖挖掘任務(wù)中。該模型只利用了圖數(shù)據(jù)的網(wǎng)絡(luò)結(jié)構(gòu)信息,并沒(méi)有使用節(jié)點(diǎn)的特征信息。在該對(duì)比實(shí)驗(yàn)中,直接使用了該論文的開(kāi)源代碼(https://github.com/phanein/deepwalk)。實(shí)驗(yàn)參數(shù)設(shè)置為:上下文窗口大小為5,抽樣路徑數(shù)目為10,路徑長(zhǎng)度為40,表示節(jié)點(diǎn)的特征向量維度為64。
LR和DeepWalk在微博數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表3所示。對(duì)比只使用節(jié)點(diǎn)信息的LR模型,GEN在兩個(gè)數(shù)據(jù)集上分類(lèi)準(zhǔn)確率提升10個(gè)百分點(diǎn)左右,這表明本文提出的模型能夠有效地捕獲社交網(wǎng)絡(luò)的結(jié)構(gòu)信息,更有效地進(jìn)行節(jié)點(diǎn)分類(lèi);對(duì)比只使用網(wǎng)絡(luò)結(jié)構(gòu)信息的DeepWalk模型,GEN模型分類(lèi)準(zhǔn)確率在電商微博數(shù)據(jù)集有15個(gè)百分點(diǎn)的提升,在網(wǎng)紅微博數(shù)據(jù)集上超過(guò)20個(gè)百分點(diǎn)的提升,這表明GEN模型能夠有效結(jié)合節(jié)點(diǎn)信息達(dá)到更好的分類(lèi)效果。這兩組實(shí)驗(yàn)結(jié)果在一定程度上表明了本文提出的模型能夠更好地綜合利用社交網(wǎng)絡(luò)的節(jié)點(diǎn)特征和網(wǎng)絡(luò)結(jié)構(gòu)特征。
表3 微博數(shù)據(jù)集上GEN模型與傳統(tǒng)模型分類(lèi)準(zhǔn)確率對(duì)比 單位:% Tab. 3 Classification accuracy comparison of GEN model and traditional model on Weibo dataset unit:%
2)與圖卷積模型比較。
在該實(shí)驗(yàn)中,GCN模型使用論文的開(kāi)源代碼(https://github.com/tkipf/pygcn)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)中使用了兩層圖卷積層,故中心節(jié)點(diǎn)包含了一階鄰域節(jié)點(diǎn)和二階鄰域節(jié)點(diǎn)的信息。參數(shù)設(shè)置設(shè)為:迭代次數(shù)為1 000,使用Adam優(yōu)化器,初始化學(xué)習(xí)率為0.01。在網(wǎng)紅微博數(shù)據(jù)集中,隱含層神經(jīng)單元數(shù)為64,dropout為0.1,在電商微博數(shù)據(jù)集中,隱含層單元為512,dropout為0.4。
與GCN在微博數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)結(jié)果如表4所示。對(duì)比GCN模型,GEN模型在電商微博數(shù)據(jù)集有7個(gè)百分點(diǎn)的提升,在網(wǎng)紅微博數(shù)據(jù)集上超過(guò)10個(gè)百分點(diǎn)的提升,這表明對(duì)比將鄰域節(jié)點(diǎn)信息直接融合以表示中心節(jié)點(diǎn)信息的方法,本文提出的GEN模型通過(guò)“解開(kāi)”每一組點(diǎn)之間的關(guān)系能有效地捕獲節(jié)點(diǎn)之間隱含的交互關(guān)系,從而達(dá)到更有效的社交網(wǎng)絡(luò)節(jié)點(diǎn)分類(lèi)效果。
表4 微博數(shù)據(jù)集上GEN與GCN模型分類(lèi)準(zhǔn)確率對(duì)比 單位:%Tab. 4 Classification accuracy comparison of GEN model and GCN model on Weibo dataset unit:%
3)圖編碼網(wǎng)絡(luò)變體實(shí)驗(yàn)。
圖編碼網(wǎng)絡(luò)(GEN) 對(duì)圖編碼模型,分別在電商微博數(shù)據(jù)集和網(wǎng)紅微博數(shù)據(jù)集上進(jìn)行了幾個(gè)實(shí)驗(yàn),包括GEN(MLP(多層感知器)),即使用MLP作為邊特征更新函數(shù)的GEN模型,并且將邊更新點(diǎn)模塊得到的向量和節(jié)點(diǎn)原始信息隱射到低維度空間的向量拼接作為節(jié)點(diǎn)的特征;GEN(MLP,NS)則直接用邊更新點(diǎn)模塊得到的向量表示節(jié)點(diǎn)特征,沒(méi)有拼接原始信息;GEN(MLP,2-order),使用二階信息對(duì)節(jié)點(diǎn)進(jìn)行分類(lèi),即重復(fù)進(jìn)行兩次消息傳播模塊和節(jié)點(diǎn)特征更新模塊的運(yùn)算;CEN(CNN),使用卷積神經(jīng)網(wǎng)絡(luò)作為點(diǎn)更新邊模塊的邊特征抽取函數(shù)。另外的,在模型的實(shí)現(xiàn)中,為了方便實(shí)現(xiàn),在鄰接矩陣中加入單位陣。
各組實(shí)驗(yàn)的默認(rèn)更新函數(shù)和參數(shù)設(shè)置為:在各個(gè)模塊中,使用多層感知器作為特征抽取函數(shù),迭代次數(shù)為1 000,使用Adam優(yōu)化器,初始化學(xué)習(xí)率為0.01。在電商微博數(shù)據(jù)集中,默認(rèn)為:隱含層神經(jīng)單元數(shù)為64,dropout為0.1。在GEN(2-order)實(shí)驗(yàn)中,隱含層單元數(shù)為128,dropout為0.5;在GEN(CNN)實(shí)驗(yàn)中,使用一個(gè)二維卷積網(wǎng)絡(luò)函數(shù)將節(jié)點(diǎn)特征映射到低維空間,核函數(shù)大小為2×64,輸出通道為64。在網(wǎng)紅微博數(shù)據(jù)集中,默認(rèn)設(shè)置為:隱含層神經(jīng)單元數(shù)為256,dropout為0.5。在GEN(2-order)實(shí)驗(yàn)中,隱含層單元數(shù)為128,dropout為0.5;在GEN(CNN)實(shí)驗(yàn)中,使用了一個(gè)二維卷積網(wǎng)絡(luò)結(jié)構(gòu),核函數(shù)大小為2×64,輸出通道為64;實(shí)驗(yàn)中,dropout設(shè)置為0.7。
在微博數(shù)據(jù)集上,對(duì)本文提出的模型進(jìn)行幾種變體,并進(jìn)行比較,其實(shí)驗(yàn)結(jié)果如表5所示。對(duì)比GEN(MLP,NS),GEN(MLP)在電商微博數(shù)據(jù)集有4個(gè)百分點(diǎn)的提升,在網(wǎng)紅微博數(shù)據(jù)集上超過(guò)8個(gè)百分點(diǎn)的提升,這可能是因?yàn)镚EN(MLP)在更新節(jié)點(diǎn)信息過(guò)程中加入自身節(jié)點(diǎn)的信息,在這個(gè)過(guò)程中節(jié)點(diǎn)自身的屬性特征,而節(jié)點(diǎn)自身的屬性特征包含了有效的分類(lèi)信息;對(duì)比GEN(MLP),GEN(MLP,2-order)有少許的提升,這表明了網(wǎng)絡(luò)節(jié)點(diǎn)可能受二階鄰域的影響,通過(guò)獲取二階鄰域信息可能有助于模型的分類(lèi)效果;對(duì)比CEN(MLP),GEN(CNN)效果提升5個(gè)百分點(diǎn)左右,這可能因?yàn)檫B接邊的兩個(gè)節(jié)點(diǎn)的特征具有局部性等特點(diǎn)。
表5 微博數(shù)據(jù)集上GEN模型變體分類(lèi)準(zhǔn)確率對(duì)比 單位:% Tab. 5 Classification accuracy comparison of variants of GEN model on Weibo dataset unit:%
3.2.1 數(shù)據(jù)描述
DBLP數(shù)據(jù)集 DBLP是以作者為核心的計(jì)算機(jī)領(lǐng)域的研究成果集成數(shù)據(jù)庫(kù)系統(tǒng),按年代列出了作者的科研成果,包括國(guó)際期刊和會(huì)議等公開(kāi)發(fā)表的論文。將每篇論文視為一個(gè)節(jié)點(diǎn),論文之間存在引用與被引用的關(guān)系,將引用關(guān)系視為邊,便可以構(gòu)建一個(gè)圖網(wǎng)絡(luò)結(jié)構(gòu)。本實(shí)驗(yàn)中,選取DBLP中的60 744篇論文構(gòu)建圖網(wǎng)絡(luò),論文的內(nèi)容描述作為節(jié)點(diǎn)的特征,這60 744篇論文包括4個(gè)類(lèi)別,分別是人工智能、數(shù)據(jù)庫(kù)、數(shù)據(jù)挖掘、計(jì)算機(jī)視覺(jué),將這些類(lèi)別作為節(jié)點(diǎn)標(biāo)簽。實(shí)驗(yàn)中,將論文(節(jié)點(diǎn))的內(nèi)容描述以及論文之間的引用關(guān)系(105 781個(gè)引用)網(wǎng)絡(luò)作為輸入,對(duì)論文所屬領(lǐng)域進(jìn)行分類(lèi)。
3.2.2 實(shí)驗(yàn)設(shè)置與結(jié)果分析
為了測(cè)試模型在不同程度邊缺失、節(jié)點(diǎn)信息缺失、標(biāo)簽缺失情況下的性能,分別進(jìn)行了幾組實(shí)驗(yàn)。從圖編碼網(wǎng)絡(luò)變體實(shí)驗(yàn)了解到,在圖編碼模型中,二階模型比一階模型具有更好的分類(lèi)效果,而且圖卷積模型使用了二階信息。為了公平比較,在本節(jié)的實(shí)驗(yàn)中,使用的是二階圖編碼模型。
1)無(wú)邊信息。
在邊缺失率為100%的情況下,即只使用節(jié)點(diǎn)特征信息的情況下,使用與兩層全連接(與圖編碼模型最終使用的分類(lèi)器一致)對(duì)節(jié)點(diǎn)信息進(jìn)行分類(lèi)。實(shí)驗(yàn)中,使用70%的數(shù)據(jù)作為訓(xùn)練集,30%的數(shù)據(jù)作為測(cè)試集,實(shí)驗(yàn)參數(shù)設(shè)置為:迭代次數(shù)為500,使用Adam優(yōu)化器,初始化學(xué)習(xí)率為0.01,圖編碼網(wǎng)絡(luò)的隱含層單元數(shù)設(shè)置為64,dropout設(shè)置為0.3;圖卷積的隱含層單元數(shù)設(shè)置為256,dropout設(shè)置為0.4;全連接分類(lèi)器(MLP)的隱含層單元數(shù)設(shè)置為16,dropout為0.4。
使用二階圖編碼模型、圖卷積網(wǎng)絡(luò)、多層感知器作為分類(lèi)器的分類(lèi)準(zhǔn)確率分別為80.23%、79.50%、76.53%。從實(shí)驗(yàn)結(jié)果可以看出,對(duì)比MLP,GEN效果提升3.7個(gè)百分點(diǎn),而GCN提升接近3個(gè)百分點(diǎn),這表明使用社交網(wǎng)絡(luò)的結(jié)構(gòu)信息能達(dá)到更有效的網(wǎng)絡(luò)節(jié)點(diǎn)分類(lèi)效果,而且結(jié)構(gòu)信息越具體,分類(lèi)效果更好。
2)邊缺失。
在實(shí)驗(yàn)中,分別在保留20%(DBLP(20%))、40%、60%、80%、100%的邊的情況下進(jìn)行實(shí)驗(yàn),并且與圖卷積模型進(jìn)行比較。在實(shí)驗(yàn)中,將數(shù)據(jù)集的70%設(shè)為訓(xùn)練集,30%為測(cè)試集。參數(shù)設(shè)置為:迭代次數(shù)為500,使用Adam優(yōu)化器,初始化學(xué)習(xí)率為0.01。圖編碼模型的隱含單元數(shù)為64,dropout為0.5;圖卷積模型的隱含層單元數(shù)為256,dropout為0.2。
不同邊缺失率的實(shí)驗(yàn)結(jié)果如圖4所示。由圖4可以看出:在圖編碼網(wǎng)絡(luò)模型和圖卷積模型中,網(wǎng)絡(luò)結(jié)構(gòu)中邊的信息越完整,準(zhǔn)確率越高,這在一定程度上驗(yàn)證了結(jié)構(gòu)信息能輔助完成節(jié)點(diǎn)分類(lèi)任務(wù),而且結(jié)構(gòu)信息越完整效果越好;同時(shí)可以發(fā)現(xiàn),在不同邊缺失率的情況下,相比圖卷積模型,圖編碼模型分類(lèi)準(zhǔn)確率提高0.47個(gè)百分點(diǎn),這可能得益于圖編碼模型能更細(xì)致地挖掘節(jié)點(diǎn)之間的交互信息,具體的交互信息有助于實(shí)現(xiàn)更好的分類(lèi)。
圖4 DBLP數(shù)據(jù)集上邊缺失實(shí)驗(yàn)結(jié)果Fig. 4 Results of edge missing experiments on DBLP dataset
3)節(jié)點(diǎn)信息缺失。
在節(jié)點(diǎn)信息實(shí)驗(yàn)中,考慮到現(xiàn)實(shí)生活中,節(jié)點(diǎn)信息缺失可能源于兩種情況:一種是節(jié)點(diǎn)信息缺失,但其他信息(如標(biāo)簽信息)可能還存在;另一種是一個(gè)沒(méi)有任何初始化信息的新的節(jié)點(diǎn)加入網(wǎng)絡(luò),如微博新用戶(hù),該用戶(hù)可能有關(guān)注一些好友,但并沒(méi)有發(fā)表任何微博言論或者填寫(xiě)任何賬戶(hù)信息。
針對(duì)第一種情況,將圖中40%(DBLP(40%))、60%、80%非孤立節(jié)點(diǎn)的信息置空,即這部分節(jié)點(diǎn)只有結(jié)構(gòu)信息,并將該數(shù)據(jù)應(yīng)用于圖編碼模型和圖卷積模型。在實(shí)驗(yàn)中,將70%的數(shù)據(jù)設(shè)為訓(xùn)練集,30%的數(shù)據(jù)設(shè)為測(cè)試集。實(shí)驗(yàn)的參數(shù)設(shè)置為:迭代次數(shù)為500,使用Adam優(yōu)化器,初始化學(xué)習(xí)率為0.01。圖編碼模型的隱含單元數(shù)為32,dropout為0.4,圖卷積模型的隱含層單元數(shù)為128,dropout為0.5。
針對(duì)第二種情況,將圖中40%(DBLP(40%))、60%、80%非孤立節(jié)點(diǎn)的信息置空,并將節(jié)點(diǎn)信息為空的節(jié)點(diǎn)作為測(cè)試集。實(shí)驗(yàn)的參數(shù)設(shè)置為:迭代次數(shù)為500,使用Adam優(yōu)化器,初始化學(xué)習(xí)率為0.01。圖編碼模型的隱含單元數(shù)為16,dropout為0.2;圖卷積模型的隱含層單元數(shù)為256,dropout為0.2。
節(jié)點(diǎn)信息缺失第一種情況的實(shí)驗(yàn)結(jié)果如圖5所示,第二種情況結(jié)果如圖6所示。
圖5 DBLP數(shù)據(jù)集上 節(jié)點(diǎn)信息缺失實(shí)驗(yàn)結(jié)果Fig. 5 Results of node information missing experiments on DBLP dataset
圖6 DBLP數(shù)據(jù)集上對(duì)沒(méi)有節(jié)點(diǎn)信息
的節(jié)點(diǎn)進(jìn)行分類(lèi)的實(shí)驗(yàn)結(jié)果
Fig. 6 Results of classification experiments of
nodes without node information on DBLP dataset
由圖5、圖6可以看出,隨著缺失信息的節(jié)點(diǎn)的數(shù)據(jù)量的增加,分類(lèi)準(zhǔn)確率降低,這在一定程度上表明了節(jié)點(diǎn)的屬性信息對(duì)節(jié)點(diǎn)分類(lèi)效果有著重要的影響。對(duì)比圖卷積模型,圖編碼網(wǎng)絡(luò)隨著帶標(biāo)簽的數(shù)據(jù)的增多,第一種情況準(zhǔn)確率的平均提高2.49個(gè)百分點(diǎn),第二種情況平均提高4.75個(gè)百分點(diǎn)。這可能得益于圖編碼模型能夠通過(guò)更細(xì)粒度地推測(cè)兩節(jié)點(diǎn)之間的交互信息進(jìn)而更細(xì)粒度地推測(cè)信息缺失的節(jié)點(diǎn)的信息。
4)標(biāo)簽缺失。
在實(shí)驗(yàn)中,分別只保留50%(DBLP(50%))、70%、90%的數(shù)據(jù)的類(lèi)標(biāo)簽進(jìn)行實(shí)驗(yàn)測(cè)試,并與圖卷積模型作比較。在實(shí)驗(yàn)中,參數(shù)設(shè)置為:迭代次數(shù)為500,使用Adam優(yōu)化器,初始化學(xué)習(xí)率為0.01;在圖編碼網(wǎng)絡(luò)中,DBLP(50%)的隱含層單元數(shù)為16,dropout為0.3;DBLP(70%)的隱含層單元數(shù)為64,dropout為0.3;DBLP(90%)的隱含層單元數(shù)為32,dropout為0.1。在圖卷積網(wǎng)絡(luò)中,DBLP(50%)的隱含層單元數(shù)為256,dropout為0.3;DBLP(70%)的隱含層單元數(shù)為264,dropout為0.4;DBLP(90%)的隱含層單元數(shù)為256,dropout為0.1。
不同標(biāo)簽缺失率的實(shí)驗(yàn)結(jié)果如圖7所示。由圖7可以看出,隨著帶標(biāo)簽的數(shù)據(jù)量的增加,圖編碼模型準(zhǔn)確率平均提高0.4個(gè)百分點(diǎn),圖卷積模型準(zhǔn)確率平均提高0.06個(gè)百分點(diǎn)。這可能得益于圖編碼網(wǎng)絡(luò)在標(biāo)簽傳播的時(shí)候,會(huì)進(jìn)一步根據(jù)節(jié)點(diǎn)之間的交互信息而選擇鄰域標(biāo)簽的影響性。
圖7 DBLP數(shù)據(jù)集上標(biāo)簽缺失實(shí)驗(yàn)結(jié)果Fig. 7 Results of node label missing experiments on DBLP dataset
由以上實(shí)驗(yàn)結(jié)果可以得出,本文的模型不僅能利用社交網(wǎng)絡(luò)中的節(jié)點(diǎn)信息和結(jié)構(gòu)信息引導(dǎo)節(jié)點(diǎn)分類(lèi),還能有效地挖掘節(jié)點(diǎn)之間隱含的復(fù)雜信息,并且跟以往傳統(tǒng)的社交網(wǎng)絡(luò)分類(lèi)方法以及現(xiàn)流行的圖神經(jīng)網(wǎng)絡(luò)方法相比,有著更好的分類(lèi)效果。
社交網(wǎng)絡(luò)節(jié)點(diǎn)分類(lèi)在現(xiàn)實(shí)生活中有著重要的應(yīng)用價(jià)值。傳統(tǒng)的基于迭代應(yīng)用分類(lèi)器和基于隨機(jī)游走的標(biāo)簽傳播算法并沒(méi)有充分考慮節(jié)點(diǎn)之間的交互信息,本文設(shè)計(jì)了一種圖編碼網(wǎng)絡(luò)結(jié)構(gòu):在圖上傳播節(jié)點(diǎn)信息并抽取節(jié)點(diǎn)之間隱含的交互信息,根據(jù)與鄰域節(jié)點(diǎn)的交互信息和節(jié)點(diǎn)自身的屬性特征兩類(lèi)特征信息抽取更高層次的節(jié)點(diǎn)特征表示,最后對(duì)節(jié)點(diǎn)進(jìn)行分類(lèi)。實(shí)驗(yàn)結(jié)果表明,挖掘節(jié)點(diǎn)之間的隱含的交互信息對(duì)節(jié)點(diǎn)的分類(lèi)效果有著重要的影響。同時(shí),本文的模型還具有容易擴(kuò)展的優(yōu)點(diǎn):
1)容易實(shí)現(xiàn)添加社交網(wǎng)絡(luò)的其他信息。如果數(shù)據(jù)中有邊的權(quán)重等顯式信息,可以方便地將這些信息加入到模型。
2)容易實(shí)現(xiàn)并行化。現(xiàn)實(shí)中的社交網(wǎng)絡(luò)數(shù)據(jù)往往是大規(guī)模的,模型的可并行化是很多實(shí)際應(yīng)用所要求的。該模型可以將圖中的節(jié)點(diǎn)集合和邊集合切分成更小的子集進(jìn)行學(xué)習(xí),實(shí)現(xiàn)并行化。
3)加入時(shí)序信息?,F(xiàn)實(shí)生活中許多社交網(wǎng)絡(luò)是動(dòng)態(tài)變化的,節(jié)點(diǎn)的狀態(tài)以及邊的連接信息可能隨著時(shí)間推移而變化,基于時(shí)序社交網(wǎng)絡(luò)對(duì)節(jié)點(diǎn)進(jìn)行分類(lèi)可以捕獲社交網(wǎng)絡(luò)的動(dòng)態(tài)信息,更精準(zhǔn)地預(yù)測(cè)節(jié)點(diǎn)在特定時(shí)間段的類(lèi)別。