一種異構(gòu)網(wǎng)絡(luò)可交互可視化方法
【專利摘要】本發(fā)明公開了一種異構(gòu)網(wǎng)絡(luò)可交互可視化方法。本方法為:1)對異構(gòu)網(wǎng)絡(luò)中的節(jié)點按照節(jié)點屬性的取值進行聚類,并生成相應(yīng)的聚類網(wǎng)絡(luò)可視化圖;2)對所選聚類結(jié)果中的每一節(jié)點,計算該節(jié)點的鄰居節(jié)點集合;然后按照鄰居節(jié)點集合節(jié)點屬性值對所選聚類結(jié)果中的每一節(jié)點進行聚類;并生成聚類可視化圖作為下一級可視圖;3)選取步驟2)的若干聚類結(jié)果,對所選聚類結(jié)果中的每一節(jié)點根據(jù)其鄰居節(jié)點集合進行聚類,將具有相同鄰居節(jié)點集合的節(jié)點劃分到同一聚類中;然后將此次聚類結(jié)果生成聚類可視化圖并將其作為步驟2)所生成聚類網(wǎng)絡(luò)可視化圖的下一級可視圖。本發(fā)明結(jié)合了拓撲和屬性信息,使用戶能夠用更細的粒度進行更低層級的查看。
【專利說明】-種異構(gòu)網(wǎng)絡(luò)可交互可視化方法 【技術(shù)領(lǐng)域】
[〇〇〇1] 本發(fā)明涉及聚類分析、異構(gòu)網(wǎng)絡(luò)、數(shù)據(jù)挖掘、拓撲結(jié)構(gòu)分析、大型數(shù)據(jù)網(wǎng)絡(luò)可視化 分析等領(lǐng)域,提出了一種基于異構(gòu)網(wǎng)絡(luò)節(jié)點屬性及網(wǎng)絡(luò)拓撲結(jié)構(gòu)相結(jié)合的處理大型異構(gòu)網(wǎng) 絡(luò)數(shù)據(jù)的方法。該方法適用于社會化網(wǎng)絡(luò)、計算機網(wǎng)絡(luò)、傳感器網(wǎng)絡(luò)及知識網(wǎng)絡(luò)等典型信息 網(wǎng)絡(luò)數(shù)據(jù)。是一種可以進行交互分析的可視化展示方法。 【背景技術(shù)】
[0002] 大數(shù)據(jù)時代的到來,在短時間內(nèi)產(chǎn)生了復(fù)雜多變的大型數(shù)據(jù)網(wǎng)絡(luò),很多人開始針 對這些量大、質(zhì)雜的網(wǎng)絡(luò)數(shù)據(jù)進行分析和深入研究。這些數(shù)據(jù)網(wǎng)絡(luò)中,一些是在網(wǎng)絡(luò)節(jié)點上 具有不同屬性特征的網(wǎng)絡(luò)類型,一些是拓撲結(jié)構(gòu)和關(guān)聯(lián)關(guān)系復(fù)雜的網(wǎng)絡(luò)類型。本發(fā)明所指 的異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)主要指同時具有以上兩種特征的網(wǎng)絡(luò),即由一些具有不同屬性、類型的數(shù) 據(jù)節(jié)點所構(gòu)成的較為復(fù)雜的關(guān)系/關(guān)聯(lián)網(wǎng)絡(luò)。當(dāng)前,已有一些研究是針對異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)進 行聚類分析。主要是根據(jù)網(wǎng)絡(luò)數(shù)據(jù)上節(jié)點所具有的不同屬性,進行聚類可視化分析。同時, 網(wǎng)絡(luò)拓撲結(jié)構(gòu)主要指數(shù)據(jù)節(jié)點和數(shù)據(jù)節(jié)點之間因為某種關(guān)聯(lián)關(guān)系而相互聯(lián)系形成的網(wǎng)絡(luò), 基于網(wǎng)絡(luò)拓撲結(jié)構(gòu)的聚類分析也較為常見,如圖聚類、譜聚類方法。
[0003] 在可視化研究領(lǐng)域,大部分的網(wǎng)絡(luò)數(shù)據(jù)可視化研究均集中于網(wǎng)絡(luò)拓撲結(jié)構(gòu)的可視 化。隨著web2. 0時代的到來,數(shù)據(jù)量不斷的增加,網(wǎng)絡(luò)數(shù)據(jù)的形式已經(jīng)發(fā)生了很大的改變。 現(xiàn)有的一些數(shù)據(jù)網(wǎng)絡(luò)很多的結(jié)點及他們的邊都擁有了屬性,對于這種具有屬性的異構(gòu)網(wǎng)絡(luò) 可視化,現(xiàn)在仍很少有研究。并且,已知的方法均不能結(jié)合網(wǎng)絡(luò)節(jié)點屬性及拓撲結(jié)構(gòu)進行聯(lián) 合分析,不能同時基于此兩類信息實現(xiàn)可視化展示與分析。例如,Wattenberg對異構(gòu)網(wǎng)絡(luò) 的可視化分析進行了研究。但是,他僅僅利用了網(wǎng)絡(luò)節(jié)點屬性實現(xiàn)可視化,并沒有針對以上 兩種異構(gòu)網(wǎng)絡(luò)信息進行二者相結(jié)合的可視化研究。
[0004] 具體說來,針對這一類的大型異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)可視化的研究問題如下:
[0005] 1)現(xiàn)有的異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)可視化聚類分析研究,有一些是基于網(wǎng)絡(luò)節(jié)點屬性數(shù)據(jù)的 聚類分析,一些是基于網(wǎng)絡(luò)拓撲結(jié)構(gòu)數(shù)據(jù)的聚類分析,聚類分析方法僅采用網(wǎng)絡(luò)拓撲結(jié)構(gòu) 或節(jié)點屬性的單一來源,不能實現(xiàn)結(jié)合兩類數(shù)據(jù)類型同時進行聚類分析。.例如,在包含"論 文、作者、會議/期刊"三類節(jié)點的學(xué)術(shù)異構(gòu)網(wǎng)絡(luò)中,已有可視化分析方法不能直觀展示"哪 些作者的合作者發(fā)表了更多的高/中/低引用論文,哪些作者發(fā)表的論文有近似的引用率 分布"等探索式問題。
[0006] 現(xiàn)有的大型異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)可視化聚類分析研究,可根據(jù)網(wǎng)絡(luò)節(jié)點屬性或拓撲結(jié) 構(gòu),生成一定數(shù)目的網(wǎng)絡(luò)節(jié)點聚類。然而,這兩種方法的聚類結(jié)果顆粒度或過于粗糙以至于 丟失大量網(wǎng)絡(luò)細節(jié)(如基于節(jié)點屬性的方法將整個網(wǎng)絡(luò)壓縮為幾個節(jié)點聚類,對應(yīng)節(jié)點屬 性的幾個取值),或過于細密因此難以布局和展示(如基于網(wǎng)絡(luò)結(jié)構(gòu)的聚類)。雖然已有一 些方法可以聚類數(shù)目為輸入(如圖分割方法),然而用戶難以控制并理解聚類結(jié)果,且不能 支持用戶自定義的自頂向下可視化瀏覽分析過程。
【發(fā)明內(nèi)容】
[0007] 針對上述大型異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)的分析問題,本發(fā)明的目的在于提出一種異構(gòu)網(wǎng)絡(luò)可 交互可視化方法。本發(fā)明提供了可以解決上述問題的可視數(shù)據(jù)分析方法以及其可視化實現(xiàn) 形式--洋蔥圖。這是一種可以根據(jù)任意節(jié)點本身的屬性、拓撲關(guān)系,或是兩類信息的混合 來進行聚類分析及可視化展示的大型異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)分析方法。各網(wǎng)絡(luò)結(jié)點或節(jié)點聚類都可 以靈活的根據(jù)屬性或拓撲關(guān)系進行二次拆分或聚類。在可視化展現(xiàn)上,網(wǎng)絡(luò)節(jié)點根據(jù)所在 的聚類層級的不同,用多個同心圓來顯示,形象如同一個被切開的洋蔥。因此,我們的方法 以洋蔥圖命名。
[0008] 本發(fā)明基于國家 973 科技項目(Supportedby the National Basic Research Program of China under Grant No. 2014CB340301)和國家自然科學(xué)基金(the National Science Foundation of China (NSFC)under Grant No. 61379088)的支持,通過分析網(wǎng)絡(luò) 數(shù)據(jù)的屬性特征及拓撲關(guān)系,將大型異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)壓縮成分層次的網(wǎng)絡(luò)節(jié)點聚類,提供直 觀的可視化形式(洋蔥圖)展示所計算的網(wǎng)絡(luò)節(jié)點聚類及聚類之間的關(guān)系,并通過簡單、易 用的交互形式來指引用戶分層瀏覽并可視化分析大型異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)的聚類結(jié)果。特別地, 本方法支持用戶按照自己的分析需求,選擇特定的異構(gòu)網(wǎng)絡(luò)局部數(shù)據(jù),并從將所選擇的某 個層次的網(wǎng)絡(luò)節(jié)點聚類,繼續(xù)按照分析需求逐層放大(向較低層次聚類)或合并(向較低 層次聚類)。通過在同一異構(gòu)網(wǎng)絡(luò)可視化視圖種展示不同層次的聚類粒度,實現(xiàn)用戶關(guān)注的 局部異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)的詳細關(guān)聯(lián)分析。
[0009] 在具體實現(xiàn)中,本方法通過界面的按鈕及常見的鼠標(biāo)操作實現(xiàn)上述交互,支持用 戶按需瀏覽分析大型異構(gòu)網(wǎng)絡(luò)數(shù)據(jù):用戶既可看到較高層次聚類狀態(tài)下清晰可見的按照節(jié) 點屬性不同取值聚類的少數(shù)幾個節(jié)點集合,也可通過交互將可視化視圖展開為成千上萬的 較低聚類層次狀態(tài)下的異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)聚類分布及關(guān)聯(lián)關(guān)系。
[〇〇1〇] 為了實現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案是:
[〇〇11] 一種異構(gòu)網(wǎng)絡(luò)可交互可視化方法,其步驟為:
[〇〇12] 1)對待處理異構(gòu)網(wǎng)絡(luò)中的節(jié)點按照選取或設(shè)定的節(jié)點屬性的取值進行聚類,并生 成相應(yīng)的聚類網(wǎng)絡(luò)可視化圖;
[0013] 2)選取步驟1)的若干聚類結(jié)果,并對所選聚類結(jié)果中的每一節(jié)點,根據(jù)該異構(gòu)網(wǎng) 絡(luò)的拓撲結(jié)構(gòu)計算該節(jié)點的鄰居節(jié)點集合;然后按照選取或設(shè)定的鄰居節(jié)點集合節(jié)點屬性 值對所選聚類結(jié)果中的每一節(jié)點進行聚類;得到的聚類結(jié)果中,位于同一聚類中的節(jié)點具 有節(jié)點屬性值相同且在異構(gòu)網(wǎng)絡(luò)中的拓撲位置相似;然后將此次聚類結(jié)果生成聚類可視化 圖并將其作為步驟1)聚類網(wǎng)絡(luò)可視化圖的下一級可視圖;
[0014] 3)選取步驟2)的若干聚類結(jié)果,并對所選聚類結(jié)果中的每一節(jié)點,根據(jù)其鄰居節(jié) 點集合進行聚類,將具有相同鄰居節(jié)點集合的節(jié)點劃分到同一聚類中;得到的聚類結(jié)果中, 位于同一聚類中的節(jié)點具有節(jié)點屬性值相同且在異構(gòu)網(wǎng)絡(luò)中的拓撲位置相同;然后將此 次聚類結(jié)果生成聚類可視化圖并將其作為步驟2)所生成聚類網(wǎng)絡(luò)可視化圖的下一級可視 圖。
[0015] 進一步的,所述異構(gòu)網(wǎng)絡(luò)為有向異構(gòu)網(wǎng)絡(luò)G = (V,E);其中,V = {vp . . .,vj表示 網(wǎng)絡(luò)節(jié)點集合,E = {θι,. . .,ej表示網(wǎng)絡(luò)邊集合;異構(gòu)網(wǎng)絡(luò)的鄰接矩陣為W,其中的元素 Wij 代表連接節(jié)點Vi到節(jié)點ν」的邊;對于每個節(jié)點VpN+Gi) = {ν」|wij = 1}代表節(jié)點Vi的出 向鄰居節(jié)點集合,『(Vi) = {Vj I Wji = 1}為節(jié)點Vi的入向鄰居節(jié)點集合。
[0016] 進一步的,所述步驟2)或步驟3)中的聚類方法為:
[0017] 31)將節(jié)點Vi的鄰居節(jié)點集合表示為一個鄰居向量R(Vi)= {c n,· · ·,cit,cn,· · ·,cti};其中,cit為節(jié)點Vi的第t個出向鄰居節(jié)點,cti為節(jié)點Vi的第t 個入向鄰居節(jié)點;
[0018] 32)對于所有需要劃分的網(wǎng)絡(luò)節(jié)點,按照其鄰居節(jié)點集合的向量計算兩兩節(jié)點之 間的節(jié)點近似度距離;
[0019] 33)根據(jù)計算出的節(jié)點間相似度距離及期望聚類數(shù)目,將節(jié)點劃分為k個聚類。
[0020] 進一步的,將每一節(jié)點采用一統(tǒng)一行向量表示;所述統(tǒng)一行向量包括:節(jié)點屬性 信息及取值、節(jié)點的鄰居信息及鄰居屬性取值;每次聚類時計算節(jié)點的統(tǒng)一行向量的哈希 值,將哈希值相同的節(jié)點劃分為同一聚類;其中,進行步驟1)的聚類時,節(jié)點的統(tǒng)一行向量 包含節(jié)點屬性信息及取值,其他取值為空;進行步驟2)的聚類時,節(jié)點的統(tǒng)一行向量包含 節(jié)點屬性信息及取值、節(jié)點的鄰居屬性取值;步驟3)的聚類時,節(jié)點的統(tǒng)一行向量包含節(jié) 點屬性信息及取值、節(jié)點的鄰居信息。
[0021] 進一步的,將待處理的該異構(gòu)網(wǎng)絡(luò)生成可視化圖作為第一級可視圖,步驟1)所生 成的聚類網(wǎng)絡(luò)可視化圖為該第一級可視圖的下一級可視圖;將步驟3)每一聚類結(jié)果中的 節(jié)點生成一可視化圖并將其作為步驟3)所生成聚類網(wǎng)絡(luò)可視化圖的下一級可視圖,即最 小粒度可視圖。
[0022] 進一步的,根據(jù)選取或設(shè)定的進行聚類的屬性值不同,在同一級可視化圖內(nèi)包含 一種或多種粒度的下一級可視化圖。
[0023] 進一步的,在每一聚類之間的連接關(guān)系上標(biāo)記該聚類間關(guān)系所包含的原始異構(gòu)網(wǎng) 絡(luò)節(jié)點間關(guān)系的總數(shù)作為該聚類間連接關(guān)系的連接強度。
[0024] (1)本發(fā)明的實現(xiàn)原理概述
[0025] 主要采用異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)節(jié)點屬性結(jié)合拓撲結(jié)構(gòu)的分層聚類分析方法:在較高層 次,按節(jié)點屬性取值聚類,主要支持從全局查看整個大型異構(gòu)網(wǎng)絡(luò)的宏觀關(guān)聯(lián)情況;在較 低層次,在節(jié)點屬性基礎(chǔ)上加入網(wǎng)絡(luò)拓撲信息,并按此混合信息對已有聚類進行二次聚類, 每個原有聚類可分為若干個子聚類。同時,利用可視化交互支持用戶從較低層次聚類過渡 到較低層次聚類,以查看更多網(wǎng)絡(luò)關(guān)聯(lián)細節(jié)信息。這里涉及的分層結(jié)構(gòu)的主要目標(biāo)是要保 證每一較低層次展示的信息都比它的上一個層次包含更多信息,同時展示的內(nèi)容也更加復(fù) 雜。
[0026] 現(xiàn)有的網(wǎng)絡(luò)數(shù)據(jù)可視化方法也可實現(xiàn)某種分層聚類效果。但是,他們僅僅采用網(wǎng) 絡(luò)拓撲結(jié)構(gòu)數(shù)據(jù)或只采用網(wǎng)絡(luò)節(jié)點屬性,而我們的方法可結(jié)合異構(gòu)網(wǎng)絡(luò)中的這兩種數(shù)據(jù)類 型。而且,已有的分層聚類方法都是預(yù)先假定了一個層次結(jié)構(gòu),用戶只能根據(jù)已有的聚類路 徑進行瀏覽,而不能根據(jù)用戶特定需求,實現(xiàn)在線的二次聚類并完成可視化分析。已有分層 聚類算法對輸入?yún)?shù)非常敏感,不利于交互查看,用戶也難以理解交互分析操作所得的可 視化結(jié)果的真實含義。
[0027] 相比之下,我們提出的洋蔥圖分層結(jié)構(gòu)及可視化方法利用了更為合理、綜合的聚 類算法,可結(jié)合網(wǎng)絡(luò)拓撲結(jié)構(gòu)及節(jié)點屬性,并對各個分層結(jié)構(gòu)的結(jié)果進行了明確地定義,算 法基本不需核心參數(shù)輸入。用戶可以很清晰的知道自己的每一步交互操作對應(yīng)數(shù)據(jù)分析上 的含義。用戶也可以根據(jù)不同的異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)特征和需求來進行分層可視化展示。
[0028] 洋蔥圖方法內(nèi)建了局部網(wǎng)絡(luò)展開和全局?jǐn)?shù)據(jù)過濾兩種數(shù)據(jù)操作方法,可以利用局 部網(wǎng)絡(luò)方法,將分層網(wǎng)絡(luò)數(shù)據(jù)從高層次展開到更低一級別層次。通過全局過濾操作,用戶可 以根據(jù)網(wǎng)絡(luò)節(jié)點上的不同屬性值,來過濾掉不是很重要的細節(jié)網(wǎng)絡(luò)數(shù)據(jù)。這樣,就可以更加 清晰的展現(xiàn)分析整個網(wǎng)絡(luò)數(shù)據(jù)的關(guān)聯(lián)趨勢圖。
[0029] (2)洋蔥圖分層聚類結(jié)構(gòu)
[0030] 洋蔥圖結(jié)構(gòu)主要思路為將大型異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)通過多種算法進行聚類,將其處理成 具有五層網(wǎng)絡(luò)數(shù)據(jù)聚類結(jié)構(gòu)的數(shù)據(jù)模型,如圖1所示。其中,每層數(shù)據(jù)結(jié)構(gòu)可在交互過程中 實時計算,也可通過離線預(yù)處理事先計算,以加快可視化分析響應(yīng)速度,改善用戶體驗。
[0031] 上述五層異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)分層結(jié)構(gòu)及方法如下,具體的實現(xiàn)算法見后文:
[0032] 第一層:首先將大型異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)進行導(dǎo)入,作為數(shù)據(jù)源及基礎(chǔ)數(shù)據(jù)。在第一層, 整個網(wǎng)絡(luò)聚集成一個初始節(jié)點,作為交互可視分析的出發(fā)點。
[0033] 第二層:通過算法對網(wǎng)絡(luò)中節(jié)點按照節(jié)點屬性值進行聚類。首先選擇一個屬性,例 如社會網(wǎng)絡(luò)中節(jié)點(自然人)的性別,將在該屬性上具有相同取值的節(jié)點進行聚類,并生成 相應(yīng)的聚類網(wǎng)絡(luò)可視化圖。同時,支持基于多個屬性的聚類展示,即將大型網(wǎng)絡(luò)按照所選擇 的多個節(jié)點屬性取值,如社會網(wǎng)絡(luò)中節(jié)點(自然人)的性別及年齡,進行更細粒度的聚類。 通過局部網(wǎng)絡(luò)展開,也支持在同一視圖內(nèi)包含多種粒度的聚類可視化,如某些節(jié)點按照一 個屬性值聚類,另外一些節(jié)點按照在多個屬性上的取值進行聚類。
[〇〇34] 第三層:在按照節(jié)點屬性值的聚類結(jié)果之上,進一步按照節(jié)點的鄰居節(jié)點集合的 屬性值完成二次聚類,以進一步細化局部異構(gòu)網(wǎng)絡(luò)展示。這里的鄰居節(jié)點集合根據(jù)網(wǎng)絡(luò)拓 撲結(jié)構(gòu)計算,即指某節(jié)點所有有連接關(guān)系的鄰居節(jié)點組成的集合。聚類所用的屬性可自動 生成,即采用上一層用于聚類的節(jié)點屬性;也可由用戶根據(jù)分析再次選擇。按鄰居節(jié)點集 合的屬性值聚類詳細方法如下:對于任意一個節(jié)點,找到它的鄰居節(jié)點集合,再根據(jù)此集合 內(nèi)所有節(jié)點在所選擇屬性上的取值,計算出它們的鄰居節(jié)點屬性值分布。例如,設(shè)定在社會 網(wǎng)絡(luò)中以自然人為節(jié)點,所選擇屬性為性別,則某節(jié)點的鄰居節(jié)點屬性值分布為男性鄰居3 人,女性鄰居2人。鄰居節(jié)點屬性值分布相等或相似的節(jié)點歸為同一聚類。特別的,這里的 鄰居節(jié)點屬性值分布相等不考慮在某屬性值上的鄰居節(jié)點數(shù)目,只考慮在某屬性值上是否 有鄰居節(jié)點。換句話說,這里采用鄰居節(jié)點屬性值集合實現(xiàn)二次聚類??紤]在某屬性值上 鄰居節(jié)點數(shù)目的方法通過近似算法實現(xiàn),見后文模糊算法。這里需要特別指出的是,本層次 的節(jié)點聚類綜合了異構(gòu)網(wǎng)絡(luò)節(jié)點上的屬性信息及其網(wǎng)絡(luò)的拓撲結(jié)構(gòu)。同時,本層次的聚類 分析也可在用戶選取的某些范圍的節(jié)點上完成,而其他部分網(wǎng)絡(luò)仍然保持上層更粗粒度的 聚類結(jié)果。在實際操作時,用戶可以選中某個或某幾個希望詳細查看的上層聚類節(jié)點,通過 上述算法,將選中的上層聚類節(jié)點細化為同時按照網(wǎng)絡(luò)節(jié)點屬性和其鄰居節(jié)點屬性取值的 聚類結(jié)果,從而實現(xiàn)用戶查看更詳細局部網(wǎng)絡(luò)的需求。按照此算法生成的聚類結(jié)果中,同一 個聚類中的不同節(jié)點不僅節(jié)點屬性取值相同(在用戶選定的屬性上),其在異構(gòu)網(wǎng)絡(luò)中的 拓撲位置也相同/相似,即與相同/相似屬性的鄰居相連。
[0035] 第四層:類似上一方法,用戶可以通過交互可視分析,對已生成的聚類結(jié)果繼續(xù)細 分,以更詳細的查看局部網(wǎng)絡(luò)結(jié)構(gòu)。本層次聚類比上一層次更細致,要求劃分到同一聚類的 節(jié)點不僅鄰居節(jié)點的屬性值相同/相似,其鄰居節(jié)點集合也一致。由于在實際網(wǎng)絡(luò)中,鄰居 節(jié)點集合完全相同的案例很少,因此本層次方法大部分采用模糊算法,計算鄰居節(jié)點集合 相似的聚類。這種聚類在計算機網(wǎng)絡(luò),尤其是網(wǎng)絡(luò)安全領(lǐng)域有很重要的應(yīng)用。在DDOS (分布 式拒絕服務(wù))攻擊場景中,大量被操縱的計算機通過網(wǎng)絡(luò)訪問被指定攻擊的客戶目標(biāo)機。 雖然被操縱的計算機屬于不同網(wǎng)段,物理上間隔萬里,通過他們連接的客戶機集合,即計算 機網(wǎng)絡(luò)中的鄰居節(jié)點,可將被同一攻擊操縱的計算機聚集起來分析。同時,被攻擊的客戶目 標(biāo)機也可采用相同的方法根據(jù)攻擊發(fā)動者集合聚類。
[〇〇36] 第五層:用戶可以通過可視化分析的方法,進一步的對節(jié)點聚類進行細分至單一 節(jié)點粒度,即節(jié)點聚類被完全展開,每個節(jié)點全部獨立顯示。類似地,在同一視圖中,為保 證整體視覺復(fù)雜度不超出用戶可理解的范圍,大部分情況只選擇部分網(wǎng)絡(luò)實現(xiàn)第五層的展 開。
[〇〇37] 需要特別說明的是,以上分層方法將大型異構(gòu)網(wǎng)絡(luò)的節(jié)點劃分為若干聚類,其關(guān) 聯(lián)關(guān)系也相應(yīng)的附加在聚類之間,即初始異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)的每一個關(guān)聯(lián)關(guān)系,將附加在其源、 目的節(jié)點對應(yīng)的聚類之間,如有關(guān)聯(lián)方向,則方向不變。
[0038] 在上面的洋蔥圖分層結(jié)構(gòu)中,在第三、四層次,本方法同時支持根據(jù)用戶所選擇的 瀏覽粒度進行模糊聚類(即按相似度聚類),并允許指定結(jié)果中的聚類數(shù)目,從而保證了用 戶可控的聚類效果。
[0039] (3)可視化方案
[〇〇4〇] 可視化方案也是本方法的重要部分。我們選用了"洋蔥"這一創(chuàng)意形式,提取了洋 蔥隱喻的"同心圓"概念來對應(yīng)我們方法的異構(gòu)網(wǎng)絡(luò)分層結(jié)構(gòu),以實現(xiàn)直觀可視化。在具體 設(shè)計上,在形式和顏色等方面都選取了洋蔥隱喻相關(guān)元素的同時,對于不同屬性取值的節(jié) 點,我們也設(shè)計了樣式上有顯著不同的可視化圖形。我們還專門為這一可視化方案設(shè)計了 更為創(chuàng)新易用的可視化界面。同時,在洋蔥圖上,還支持一系列統(tǒng)計圖表展示,便于更好地 查詢分析相關(guān)屬性及關(guān)聯(lián)信息。用戶只需要進行簡單的操作即可進行可視化篩選和查看。
[0041] (4)交互方案
[0042] 洋蔥圖提供了高可用性的交互操作和控制界面,用戶在逐層瀏覽大型異構(gòu)網(wǎng)絡(luò)數(shù) 據(jù)信息時,可通過分層聚類算法及局部展開操作,實現(xiàn)交互可視分析。這些交互方法包括:
[0043] 1)用戶根據(jù)所需要展現(xiàn)的粒度,輸入對異構(gòu)網(wǎng)絡(luò)的展開層次(層次1?5)。本方 法根據(jù)輸入對異構(gòu)網(wǎng)絡(luò)進行聚類,并將結(jié)果通過可視化視圖展現(xiàn),即切換到按照所選擇層 次展開的視圖。這種交互方法對整個異構(gòu)網(wǎng)絡(luò)全局生效,即交互操作后,視圖中異構(gòu)網(wǎng)絡(luò)的 聚類粒度相同。
[0044] 2)用戶根據(jù)所需要展現(xiàn)的粒度及所關(guān)注的異構(gòu)網(wǎng)絡(luò)范圍,輸入對異構(gòu)網(wǎng)絡(luò)的展開 層次(層次1?5)及需要展開的異構(gòu)網(wǎng)絡(luò)的局部范圍。本方法根據(jù)輸入對異構(gòu)網(wǎng)絡(luò)的選 中的局部進行聚類,并將結(jié)果通過可視化視圖展現(xiàn)。未選中的網(wǎng)絡(luò)其它部分不變。關(guān)聯(lián)關(guān) 系仍然按照聚類間關(guān)系附加方法展示。
[0045] 3)用戶根據(jù)所需要展現(xiàn)的粒度、所關(guān)注的異構(gòu)網(wǎng)絡(luò)范圍及希望得到的結(jié)果,輸入 對異構(gòu)網(wǎng)絡(luò)的展開層次(層次1?5)、需要展開的異構(gòu)網(wǎng)絡(luò)的局部范圍及希望得到的聚類 數(shù)目。本方法根據(jù)輸入對異構(gòu)網(wǎng)絡(luò)的選中的局部進行近似聚類,保證所選中局部網(wǎng)絡(luò)生成 用戶輸入的聚類數(shù)目,并將結(jié)果通過可視化視圖展現(xiàn)。未選中的網(wǎng)絡(luò)其它部分不變。關(guān)聯(lián) 關(guān)系仍然按照聚類間關(guān)系附加方法展示。
[0046] 特別的,以上用戶輸入均通過可視化界面輸入,聚類粒度的層次選擇可通過交互 滑塊設(shè)定,對異構(gòu)網(wǎng)絡(luò)的局部選擇采用鼠標(biāo)框選,交互的執(zhí)行也可通過簡單的鼠標(biāo)操作觸 發(fā)(如雙擊鼠標(biāo)將選中異構(gòu)網(wǎng)絡(luò)向更細粒度拓展一層,或向更粗粒度提升一層)。這些交互 操作輔助用戶平滑的瀏覽大型異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)。圖1給出了此種交互結(jié)果的示意圖。
[〇〇47] 已有的可視化研究中,用戶只能看到全局網(wǎng)絡(luò)關(guān)聯(lián)的信息,或采用數(shù)據(jù)過濾查看 某一類屬性取值的內(nèi)部關(guān)聯(lián)信息。而在我們的方法中,用戶可以通過以上交互操作,將大型 異構(gòu)網(wǎng)絡(luò)劃分為多個局部網(wǎng)絡(luò),針對不同局部網(wǎng)絡(luò)按照不同的層次和輸入條件聚類,以同 時查看網(wǎng)絡(luò)不同局部在多個不同層次聚類后的異構(gòu)關(guān)聯(lián)關(guān)系。用戶也可遞進的將其中一個 聚類或多個聚類在同一個界面中進行再次展開。這極大的方便了用戶同時對多個分類屬性 取值情況進行查看,并在多個分類數(shù)據(jù)取值間做比較分析。同時,我們的方法還支持初始化 (回到初始聚類層次設(shè)定),歷史回退(回到上一次的聚類層次設(shè)定)等功能,方便用戶進 行迭代、交互的可視分析操作。同時,本可視化方法實現(xiàn)的工具還提供了相關(guān)信息的查詢列 表,方便用戶更為細致全面的查看該異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)內(nèi)聚類節(jié)點的各項信息。
[〇〇48] 與現(xiàn)有大型異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)分析技術(shù)相比,本發(fā)明的創(chuàng)新點在于:
[〇〇49] (1)本方法支持自上而下的分層結(jié)構(gòu)來進行聚類可視分析。聚類分析算法結(jié)合了 異構(gòu)網(wǎng)絡(luò)拓撲和網(wǎng)絡(luò)節(jié)點屬性兩部分信息,這是以往的方法均不支持的。
[0050] (2)本方法支持從全局粗粒度聚類細化為細粒度聚類,并通過算法支持局部網(wǎng)絡(luò) 的遞進展開分析。此操作可在局部網(wǎng)絡(luò)中實現(xiàn),對異構(gòu)網(wǎng)絡(luò)不同部分按照不同粒度聚類,并 查看之間的關(guān)聯(lián)關(guān)系。
[0051] (3)本方法引入"洋蔥"的視覺概念來表示不同的層級關(guān)系,通過繪制一定數(shù)量的 同心圓來表示所在的層級信息。通過平衡同心圓的數(shù)目及層級的相應(yīng)關(guān)系,達到控制大型 異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)的摘要視圖的可視復(fù)雜度,提供對于用戶更友好的瀏覽模式。 【專利附圖】
【附圖說明】
[0052] 圖1是洋蔥圖分層結(jié)構(gòu)原理圖示。
[0053] 圖2是第二層次按網(wǎng)絡(luò)節(jié)點屬性聚類結(jié)果示意圖。
[0054] 圖3是第三層次按網(wǎng)絡(luò)拓撲結(jié)構(gòu)相對正則等價聚類結(jié)果示意圖。
[0055] 圖4是第四層次按網(wǎng)絡(luò)拓撲結(jié)構(gòu)絕對結(jié)構(gòu)等價聚類結(jié)果示意圖。
[0056] 圖5是洋蔥圖分層聚類算法實現(xiàn)步驟中的節(jié)點統(tǒng)一行向量設(shè)計。
[0057] 圖6是洋蔥圖可視化方法示意圖。
[0058] 圖7是利用洋蔥圖可視分析可視化領(lǐng)域?qū)W術(shù)網(wǎng)絡(luò)數(shù)據(jù)-按照異構(gòu)節(jié)點類型展開 (按節(jié)點屬性)。
[0059] 圖8是利用洋蔥圖可視分析可視化領(lǐng)域?qū)W術(shù)網(wǎng)絡(luò)數(shù)據(jù)-進一步按照會議/期刊類 型展開(按節(jié)點屬性)。
[0060] 圖9是利用洋蔥圖可視分析可視化領(lǐng)域?qū)W術(shù)網(wǎng)絡(luò)數(shù)據(jù)-進一步按照論文引用類型 展開(按節(jié)點屬性)。
[0061] 圖10是利用洋蔥圖可視分析可視化領(lǐng)域?qū)W術(shù)網(wǎng)絡(luò)數(shù)據(jù)-進一步按照作者發(fā)表論 文引用情況展開(按鄰居節(jié)點屬性)。
[0062] 圖11是圖10基礎(chǔ)上使用統(tǒng)計圖表展示鄰居節(jié)點屬性分布。 【具體實施方式】
[0063] 下面分四個部分具體闡述本發(fā)明的主要內(nèi)容。
[0064] 1.算法設(shè)計
[〇〇65] 首先給出下述算法描述的基本符號定義。
[〇〇66] 我們用G= (V,E)表示一個有向的異構(gòu)網(wǎng)絡(luò)。其中,V= {Vl,...,vn}表示網(wǎng)絡(luò)節(jié) 點集合,E = {ei,. . .,em}表示網(wǎng)絡(luò)邊集合(即關(guān)聯(lián)關(guān)系)。W表示網(wǎng)絡(luò)對應(yīng)的鄰接矩陣, 每個元素Rj = 1代表一個連接節(jié)點Vi到節(jié)點ν』的邊。對于每個節(jié)點VpN+Gi) = {Vjlwu =1}, Pf (vD = {Vj I Wji = 1}分別代表節(jié)點Vi的出向鄰居節(jié)點集合和入向鄰居節(jié)點集合。 令D = {屯,...,ds}表示此異構(gòu)網(wǎng)絡(luò)G的節(jié)點屬性集合,共包含s個節(jié)點屬性。D(Vi)= {屯(vj,· · ·,ds (λ^) }表示節(jié)點Vi在所有s個節(jié)點屬性上的取值,dk (vD表示節(jié)點Vi在第k 個節(jié)點屬性上的取值。
[〇〇67] 我們采用網(wǎng)絡(luò)劃分的概念來描述對異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)的聚類方法。即每一種聚類算法 均是將所選取網(wǎng)絡(luò)中的所有節(jié)點劃分為若干聚類,每個節(jié)點存在于且僅存在于同一層的一 個聚類中。另網(wǎng)絡(luò)劃分結(jié)果描述為P:v - {1,2,...,t},P表示一個映射,將每個網(wǎng)絡(luò)節(jié)點 映射到網(wǎng)絡(luò)劃分后對應(yīng)的聚類編號。所有網(wǎng)絡(luò)節(jié)點共劃分為t個聚類,P( Vi)為節(jié)點\在 劃分后對應(yīng)的聚類編號。
[〇〇68] 按照前一部分的描述,在洋蔥圖的五層結(jié)構(gòu)中,第一層所有節(jié)點為同一聚類,第五 層為每個節(jié)點為一個聚類。這兩層不需要特殊算法。下面我們主要描述第二、三、四層聚類 的算法設(shè)計。
[〇〇69] (1)網(wǎng)絡(luò)節(jié)點屬性聚類算法(第二層)
[0070] 根據(jù)網(wǎng)絡(luò)節(jié)點屬性對異構(gòu)網(wǎng)絡(luò)進行劃分,并生成聚類。
[〇〇71] 算法說明:
[0072] 根據(jù)指定的用于聚類的屬性集合互將網(wǎng)絡(luò)節(jié)點劃分為多個聚類,每個聚類 中的節(jié)點在集合2內(nèi)部屬性上的取值均相同。令本層聚類算法對應(yīng)網(wǎng)絡(luò)劃分結(jié)果P,對于 劃分到同一聚類的任意兩個節(jié)點\和 ',其節(jié)點屬性取值也相同,即算法等價于:
[0073] P(Vi) = P(vj) ^D(vi) = D(Vj)
[0074] 圖2給出了按照網(wǎng)絡(luò)節(jié)點屬性聚類的算法結(jié)果示例。圖中,左側(cè)五個節(jié)點在選定 屬性2上取值為I,在右側(cè)五個節(jié)點上取值為Π,因此按照本方法在這一層次劃分為兩個聚 類,分別對應(yīng)左側(cè)實心節(jié)點組和右側(cè)空心節(jié)點組。同樣的,當(dāng)用戶選擇多個網(wǎng)絡(luò)節(jié)點屬性 時,仍然根據(jù)網(wǎng)絡(luò)節(jié)點在多個屬性上的取值,決定其聚類結(jié)果。
[〇〇75] (2)網(wǎng)絡(luò)拓撲結(jié)構(gòu)相對正則等價聚類算法(第三層)
[〇〇76] 根據(jù)異構(gòu)網(wǎng)絡(luò)拓撲結(jié)構(gòu)及節(jié)點屬性進行聯(lián)合分析,計算網(wǎng)絡(luò)劃分,并生成聚類。
[0077] 算法說明:
[0078] 根據(jù)上層聚類選擇的節(jié)點屬性集合2及對應(yīng)網(wǎng)絡(luò)節(jié)點劃分匕,采用相對正則等價 聚類算法,計算出本層新的網(wǎng)絡(luò)劃分P。P滿足,對于任意兩個節(jié)點ν,和Vj :
[0079] Ρ(ν,) = Ρ(ν,) ^ Ρ〇(ν? = P〇(vj) and Ρ〇(Ν'(v,)) = P〇(N'(v,)) and P〇(\! (v,)) = P〇(N (v/))
[0080] 即聚類到同一網(wǎng)絡(luò)劃分的節(jié)點滿足上層劃分相同且其鄰居節(jié)點集合的上層劃分 相同。圖3給出了本層按網(wǎng)絡(luò)拓撲結(jié)構(gòu)相對正則等價聚類的算法結(jié)果示例。圖3是在圖2 的基礎(chǔ)上的劃分,將原有的兩個聚類細化為四個聚類,用節(jié)點形狀和填充標(biāo)識。同一聚類的 節(jié)點其屬性及鄰居節(jié)點屬性集合均相同。
[0081] (3)網(wǎng)絡(luò)拓撲結(jié)構(gòu)絕對結(jié)構(gòu)等價聚類算法(第四層)
[0082] 根據(jù)異構(gòu)網(wǎng)絡(luò)拓撲結(jié)構(gòu)及節(jié)點屬性進行聯(lián)合分析,計算網(wǎng)絡(luò)劃分,并生成聚類。本 層次劃分與上一層類似,但更加嚴(yán)格,要求屬于同一聚類的節(jié)點不僅鄰居節(jié)點屬性相同,鄰 居節(jié)點本身也要相同。
[0083] 算法說明:
[〇〇84] 根據(jù)上層聚類選擇的節(jié)點屬性集合2及對應(yīng)網(wǎng)絡(luò)節(jié)點劃分匕,采用絕對結(jié)構(gòu)等價 聚類算法,計算出本層新的網(wǎng)絡(luò)劃分P。P滿足,對于任意兩個節(jié)點Vi和Vj :
[0085] P(vi) = Ρ{ν?) P〇(vi) = P〇{v/) and Λ,!(νν) = Nl(v/) and N (w) = N (v,)
[0086] 即聚類到同一網(wǎng)絡(luò)劃分的節(jié)點滿足上層劃分相同且其鄰居節(jié)點集合相同。圖4給 出了本層按網(wǎng)絡(luò)拓撲結(jié)構(gòu)絕對結(jié)構(gòu)等價聚類的算法結(jié)果示例。圖4是在圖2的基礎(chǔ)上的劃 分,且比圖2和圖3的聚類更細化。圖4分為六個聚類,用節(jié)點形狀和填充標(biāo)識。同一聚類 的節(jié)點其屬性及鄰居節(jié)點集合均相同。
[〇〇87] (4)模糊聚類算法
[0088] 在一些情況下,上述第三、四層按照網(wǎng)絡(luò)結(jié)構(gòu)相對正則等價及絕對結(jié)構(gòu)等價的聚 類方法過于嚴(yán)格,導(dǎo)致聚類結(jié)果過于細化,如劃分為幾十個聚類,難以為用戶直觀理解并用 于可視分析。我們的方法同時引入了模糊算法,允許在第三、四層聚類劃分時指定需劃分的 聚類數(shù)目,按照聚類內(nèi)部近似度最優(yōu)化的方式實現(xiàn)聚類劃分,這樣用戶可通過交互,控制聚 類顆粒度來查看更深層次的關(guān)聯(lián)信息。
[〇〇89] 模糊算法分三步設(shè)計:
[0090] 第一步,將每個節(jié)點Vi的鄰居節(jié)點集合表示為一個鄰居向量R (Vi)= {cn, · · ·,cit, cn, · · ·,cti}。向量前半部分對應(yīng)Vi的出向鄰居,后半部分對應(yīng)丫丨的入向鄰居, 全長2t。對于第三層聚類劃分,t表示當(dāng)前所選擇節(jié)點屬性的取值范圍計數(shù)。例如,選擇性 別屬性,此計數(shù)為2 (男性和女性)。cn表示從Vi出發(fā)連接其它屬性取值為第一個屬性值 (共t個屬性值)的節(jié)點的關(guān)系數(shù)目。對于第四層聚類劃分,t表示網(wǎng)絡(luò)中的節(jié)點數(shù)目,c n 表示從Vi節(jié)點出發(fā)連接Vl節(jié)點的關(guān)系數(shù)目。
[0091] 第二步,對于所有需要劃分的網(wǎng)絡(luò)節(jié)點,按照其鄰居集合的向量表示R(Vi)計算兩 兩節(jié)點之間的節(jié)點近似度距離d( Vi,Vj)。本方法默認(rèn)采用向量的歐幾里德距離,如下公式, 也支持采用其他向量距離或相似度計算方法(如按向量余弦相似度計算的余弦距離)。
[0092] (KVi, Vj) = { Σ s = i,2,-2t[(Rs(Vi)-Rs(Vj)]2}0' 5
[0093] 第三步,根據(jù)計算出的節(jié)點間相似度距離及用戶輸入期望聚類數(shù)目,應(yīng)用k-mean 算法,將節(jié)點劃分為k個聚類。本步驟也可采用其它聚類方法,如譜聚類算法。
[0094] 2.算法具體實現(xiàn)
[〇〇95] 為了實現(xiàn)上述的洋蔥圖分層算法,我們引入了一個新的方法來快速計算異構(gòu)網(wǎng)絡(luò) 節(jié)點的最終聚類劃分。該實現(xiàn)方法的優(yōu)勢是實現(xiàn)了五層結(jié)構(gòu)的統(tǒng)一化聚類。此方法的核心 思路是設(shè)計節(jié)點的擴展行向量,稱為節(jié)點的統(tǒng)一行向量。如圖5所示,該行向量涉及三部 分,節(jié)點的標(biāo)志符、節(jié)點屬性信息及取值、節(jié)點的鄰居信息及鄰居屬性取值。在不同的聚類 層次,此統(tǒng)一行向量包含不同的信息:第二、三、四層包含節(jié)點屬性信息及取值;第三層額 外包含節(jié)點的鄰居節(jié)點集合屬性取值;第四層額外包含節(jié)點的鄰居節(jié)點集合信息;第五層 只包含節(jié)點標(biāo)志符,用于將網(wǎng)絡(luò)細化為單一節(jié)點粒度。異構(gòu)網(wǎng)絡(luò)中的每個節(jié)點按照當(dāng)前的 聚類層次計算節(jié)點的統(tǒng)一行向量,此行向量相同的節(jié)點劃分為同一聚類。
[0096] 具體的最終聚類劃分采用哈希算法實現(xiàn),即對每個節(jié)點的統(tǒng)一行向量,利用某 哈希函數(shù),計算哈希值,哈希值相同的節(jié)點劃分為同一聚類。實現(xiàn)可采用Java語言中的 HashMap數(shù)據(jù)結(jié)構(gòu)。
[0097] 3.算法性能分析
[〇〇98] 根據(jù)理論計算,以上分層聚類實現(xiàn)算法(不包含模糊算法)的時間復(fù)雜度為 0(m+dn)。其中,n,m,d分別代表異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)的節(jié)點數(shù)目,邊(關(guān)系)數(shù)目,節(jié)點上的屬性 數(shù)目。即本算法計算時間隨網(wǎng)絡(luò)規(guī)模增長而線性增長,因此非常適用于超大規(guī)模異構(gòu)網(wǎng)絡(luò) 的聚類分析。我們將該算法的一個原型實現(xiàn)應(yīng)用于四組網(wǎng)絡(luò)數(shù)據(jù)集上(節(jié)點數(shù)目幾千到上 百萬)。在一臺主流桌面臺式機(四核心IntelCPU,3. 3GHz主頻,6GB內(nèi)存)上,測試得到 上述算法的計算時間如表1?3。其中,表1給出了第二層按網(wǎng)絡(luò)節(jié)點屬性聚類分析需要的 計算時間。從結(jié)果可看出,計算時間的增長略大于線性增長,對比網(wǎng)絡(luò)節(jié)點數(shù)目的增長。而 且,在百萬節(jié)點數(shù)據(jù)集上,僅需要10秒左右計算時間。表2和表3分別給出了第三、四層按 網(wǎng)絡(luò)拓撲結(jié)構(gòu)相對正則等價算法和絕對結(jié)構(gòu)等價算法計算聚類分析需要的時間。結(jié)果可看 出,計算時間的增長仍然維持略大于線性增長的趨勢。而且,在百萬節(jié)點數(shù)據(jù)集上,所需時 間比第二層聚類分析略長,但仍不超過30秒。這一時間尺度在大規(guī)模異構(gòu)網(wǎng)絡(luò)的實時分析 上是有效的。
[0099] 對于在第三、四層聚類分析中可采用的模糊算法,理論分析可知其時間復(fù)雜度為 0(k*n*d*l),其中,n,d,k,l分別代表異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)的節(jié)點數(shù)目、節(jié)點上的屬性數(shù)目、聚類 個數(shù)及計算需迭代的次數(shù)。根據(jù)表2和表3的結(jié)果可知,采用模糊算法(Fuzzy),在第三層 聚類分析時,仍然可以支持到百萬量級節(jié)點數(shù)目,計算時間不超過60秒。對于第四層聚類 分析,計算復(fù)雜度增長較快,實用范圍達到十萬量級邊(關(guān)系)數(shù)目的異構(gòu)網(wǎng)絡(luò)。
[0100] 4.案例分析
[0101] 我們在這里舉例說明洋蔥圖的具體應(yīng)用。
[0102] 本案例采用的數(shù)據(jù)是從ArnetMiner數(shù)據(jù)庫中提取的數(shù)據(jù)。它包含了 9大可視化 會議和期刊近30年的全部論文。數(shù)據(jù)集按照論文信息存儲,每篇論文包括:論文題目、作 者、會議地點、發(fā)表時間、引用情況、關(guān)鍵詞、摘要等屬性。我們基于此數(shù)據(jù)建立的異構(gòu)網(wǎng)絡(luò) 主要包括三種重要的節(jié)點類型:11049位作者、9557篇論文和9個會議;共計106316個連接 關(guān)系。關(guān)于該數(shù)據(jù)的基本洋蔥圖展示見圖6。我們邀請了幾名資深可視化研究人員應(yīng)用我 們的可視化分析工具進行相關(guān)的使用和數(shù)據(jù)分析,均發(fā)現(xiàn)了若干過去方法難以發(fā)現(xiàn)的關(guān)聯(lián) 特征。這里以某研究員的分析過程為例。首先,我們的可視分析方法提供的初始網(wǎng)絡(luò)數(shù)據(jù) 展示視圖如圖7。整個網(wǎng)絡(luò)按照節(jié)點地類型屬性劃分為三個聚類,分別為作者聚類,論文聚 類和會議/期刊聚類。他通過選擇會議/期刊聚類,并將該部分網(wǎng)絡(luò)遞進到第二層,按照會 議/期刊名劃分,進一步得到圖8。他立刻發(fā)現(xiàn)了數(shù)據(jù)中的一個特點:論文數(shù)目最多的會議 /期刊為CG&A和CGF,這兩個會議/期刊的論文均超過了 2000篇(見連接關(guān)系上的標(biāo)簽數(shù) 字)。通過選擇另一個聚類節(jié)點,論文聚類節(jié)點,并按照論文被引用次數(shù)在第二層劃分,可 進一步得到圖9。通過切換連接關(guān)系上標(biāo)簽數(shù)字的映射關(guān)系,映射為平均連接強度,他繼續(xù) 發(fā)現(xiàn):雖然在CG&A和CGF會議/期刊發(fā)表的論文很多,但其中低引用論文的比例很大。對 比來講,SciVis和TVCG會議/期刊的中高引用論文比例相對更高。進一步,他選擇了另一 個聚類節(jié)點,作者聚類,并按照第三層鄰居節(jié)點(按引用情況劃分的論文聚類節(jié)點)的屬性 劃分,如圖10。通過過濾掉發(fā)表論文少于10篇的作者,他發(fā)現(xiàn)所有高產(chǎn)作者(發(fā)表論文 至少10篇)可分為四組聚類:第一組聚類中有309位作者,他們發(fā)表了很多中、低引用率 的論文,平均只有一篇高引用的文章。第二組聚類中包含了 75位作者,他們發(fā)表了更多的 文章(兩倍于第一組作者),但中低引用情況的文章仍然占絕大多數(shù)。第三組聚類中包含7 名作者,均為可視化領(lǐng)域的資深研究員。他們平均每人發(fā)表了 41篇低引用論文,48篇中引 用論文和5篇高引用論文,發(fā)表高引用論文數(shù)目遠遠高于前兩組聚類。最后一個組聚類最 為有意思,它包含了三位作者,他們共發(fā)表了 223篇論文,但其中只有1篇是被高引用的論 文。為更加直觀的展示第三層聚類分析得到的不同聚類中鄰居節(jié)點屬性的分布,本方法也 支持采用統(tǒng)計圖展示鄰居節(jié)點屬性分布。例如圖11,作者聚類節(jié)點采用直方圖展示了不同 作者聚類對應(yīng)的被引用情況分布。
[0103] 通過采用洋蔥圖分層聚類分析方法,用戶可對上述大型異構(gòu)學(xué)術(shù)網(wǎng)絡(luò)實現(xiàn)遞進、 迭代、交互的可視分析,快速發(fā)現(xiàn)以往難以發(fā)現(xiàn)的宏觀關(guān)聯(lián)關(guān)系和微觀的特殊聚類分組及 其特征。
[0104] 表1.網(wǎng)絡(luò)節(jié)點屬性聚類算法(第二層次聚類)性能指標(biāo)
【權(quán)利要求】
1. 一種異構(gòu)網(wǎng)絡(luò)可交互可視化方法,其步驟為: 1) 對待處理異構(gòu)網(wǎng)絡(luò)中的節(jié)點按照選取或設(shè)定的節(jié)點屬性的取值進行聚類,并生成相 應(yīng)的聚類網(wǎng)絡(luò)可視化圖; 2) 選取步驟1)的若干聚類結(jié)果,并對所選聚類結(jié)果中的每一節(jié)點,根據(jù)該異構(gòu)網(wǎng)絡(luò)的 拓撲結(jié)構(gòu)計算該節(jié)點的鄰居節(jié)點集合;然后按照選取或設(shè)定的鄰居節(jié)點集合節(jié)點屬性值對 所選聚類結(jié)果中的每一節(jié)點進行聚類;得到的聚類結(jié)果中,位于同一聚類中的節(jié)點具有節(jié) 點屬性值相同且在異構(gòu)網(wǎng)絡(luò)中的拓撲位置相似;然后將此次聚類結(jié)果生成聚類可視化圖并 將其作為步驟1)聚類網(wǎng)絡(luò)可視化圖的下一級可視圖; 3) 選取步驟2)的若干聚類結(jié)果,并對所選聚類結(jié)果中的每一節(jié)點,根據(jù)其鄰居節(jié)點集 合進行聚類,將具有相同鄰居節(jié)點集合的節(jié)點劃分到同一聚類中;得到的聚類結(jié)果中,位于 同一聚類中的節(jié)點具有節(jié)點屬性值相同且在異構(gòu)網(wǎng)絡(luò)中的拓撲位置相同;然后將此次聚類 結(jié)果生成聚類可視化圖并將其作為步驟2)所生成聚類網(wǎng)絡(luò)可視化圖的下一級可視圖。
2. 如權(quán)利要求1所述的方法,其特征在于所述異構(gòu)網(wǎng)絡(luò)為有向異構(gòu)網(wǎng)絡(luò)G= (V,E); 其中,V = {ν^ . . .,vn}表示網(wǎng)絡(luò)節(jié)點集合,E = {e。. . .,em}表示網(wǎng)絡(luò)邊集合;異構(gòu)網(wǎng)絡(luò)的 鄰接矩陣為W,其中的元素 Wij代表連接節(jié)點Vi到節(jié)點ν」的邊;對于每個節(jié)點Vp N+(vD = {Vjlwu = 1}代表節(jié)點Vi的出向鄰居節(jié)點集合,Ν? = {Vjlwji = 1}為節(jié)點Vi的入向鄰 居節(jié)點集合。
3. 如權(quán)利要求1或2所述的方法,其特征在于所述步驟2)或步驟3)中的聚類方法為: 31) 將節(jié)點Vi的鄰居節(jié)點集合表示為一個鄰居向量R(Vi) = {cn,. . .,cit, cu,. . .,cti}; 其中,cit為節(jié)點Vi的第t個出向鄰居節(jié)點,cti為節(jié)點Vi的第t個入向鄰居節(jié)點; 32) 對于所有需要劃分的網(wǎng)絡(luò)節(jié)點,按照其鄰居節(jié)點集合的向量計算兩兩節(jié)點之間的 節(jié)點近似度距離; 33) 根據(jù)計算出的節(jié)點間相似度距離及期望聚類數(shù)目,將節(jié)點劃分為k個聚類。
4. 如權(quán)利要求1所述的方法,其特征在于將每一節(jié)點米用一統(tǒng)一行向量表不;所述統(tǒng) 一行向量包括:節(jié)點屬性信息及取值、節(jié)點的鄰居信息及鄰居屬性取值;每次聚類時計算 節(jié)點的統(tǒng)一行向量的哈希值,將哈希值相同的節(jié)點劃分為同一聚類;其中,進行步驟1)的 聚類時,節(jié)點的統(tǒng)一行向量包含節(jié)點屬性信息及取值,其他取值為空;進行步驟2)的聚類 時,節(jié)點的統(tǒng)一行向量包含節(jié)點屬性信息及取值、節(jié)點的鄰居屬性取值;步驟3)的聚類時, 節(jié)點的統(tǒng)一行向量包含節(jié)點屬性信息及取值、節(jié)點的鄰居信息。
5. 如權(quán)利要求1所述的方法,其特征在于將待處理的該異構(gòu)網(wǎng)絡(luò)生成可視化圖作為第 一級可視圖,步驟1)所生成的聚類網(wǎng)絡(luò)可視化圖為該第一級可視圖的下一級可視圖;將步 驟3)每一聚類結(jié)果中的節(jié)點生成一可視化圖并將其作為步驟3)所生成聚類網(wǎng)絡(luò)可視化圖 的下一級可視圖,即最小粒度可視圖。
6. 如權(quán)利要求1所述的方法,其特征在于根據(jù)選取或設(shè)定的進行聚類的屬性值不同, 在同一級可視化圖內(nèi)包含一種或多種粒度的下一級可視化圖。
7. 如權(quán)利要求1所述的方法,其特征在于在每一聚類之間的連接關(guān)系上標(biāo)記該聚類間 關(guān)系所包含的原始異構(gòu)網(wǎng)絡(luò)節(jié)點間關(guān)系的總數(shù)作為該聚類間連接關(guān)系的連接強度。
【文檔編號】G06F17/30GK104090957SQ201410327034
【公開日】2014年10月8日 申請日期:2014年7月10日 優(yōu)先權(quán)日:2014年3月10日
【發(fā)明者】時磊, 趙月, 林闖 申請人:中國科學(xué)院軟件研究所, 清華大學(xué)