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