本發(fā)明涉及互聯(lián)網(wǎng)通信領(lǐng)域,特別涉及一種動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法及裝置。
背景技術(shù):
網(wǎng)絡(luò)可以抽象為,由節(jié)點(diǎn)和邊構(gòu)成的集合,節(jié)點(diǎn)是社會(huì)網(wǎng)絡(luò)中的個(gè)體,邊則是個(gè)體與個(gè)體之間的某種聯(lián)系關(guān)系。網(wǎng)絡(luò)具有一種社區(qū)特性,即網(wǎng)絡(luò)中的一個(gè)子網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)內(nèi)部點(diǎn)與點(diǎn)之間的聯(lián)系緊密程度較高,而該結(jié)構(gòu)與其外部相鄰節(jié)點(diǎn)的聯(lián)系比較松散。社區(qū)發(fā)現(xiàn)就是找出網(wǎng)絡(luò)中這些內(nèi)部聯(lián)系緊密的子網(wǎng)絡(luò)結(jié)構(gòu)。社區(qū)發(fā)現(xiàn)技術(shù)有很多重要的作用,比如能用在推薦系統(tǒng)中,找出具有相同興趣愛好的人,并推薦他們可能感興趣的產(chǎn)品。
近年來(lái),隨著動(dòng)態(tài)網(wǎng)絡(luò)重要性的日益凸顯,針對(duì)例如Email網(wǎng)絡(luò),社交網(wǎng)絡(luò)等動(dòng)態(tài)網(wǎng)絡(luò)的社區(qū)發(fā)現(xiàn)方法研究日漸增多。然而目前大部分的社區(qū)發(fā)現(xiàn)算法依賴于人為輸入輔助參數(shù),例如輸入社區(qū)數(shù)、閾值信息或者其他距離參數(shù)等來(lái)控制網(wǎng)絡(luò)社區(qū)的發(fā)現(xiàn)。比如,經(jīng)典的k-means(K均值算法)算法,該算法要求事先指定分組數(shù)目;Canopy(基于距離的聚類算法)算法要求輸入距離參數(shù)T1,T2;針對(duì)動(dòng)態(tài)網(wǎng)絡(luò)的算法如HOCtracker(核心節(jié)點(diǎn)跟蹤聚類算法),該算法按照一定規(guī)則將核心節(jié)點(diǎn)所在的社區(qū)進(jìn)行合并或者分裂,而衡量核心節(jié)點(diǎn)標(biāo)準(zhǔn)的參數(shù)η∈(0,1)要求事先輸入。
人為輸入的輔助參數(shù)在很大程度上影響甚至決定最終的社區(qū)分組,初始輸入的輔助參數(shù)不同使相同的網(wǎng)絡(luò)結(jié)構(gòu),經(jīng)過計(jì)算會(huì)得到不同的社區(qū)發(fā)現(xiàn)結(jié)果。這種方法對(duì)輸入的輔助參數(shù)敏感,客觀性較差,不能廣泛應(yīng)用于所有的復(fù)雜網(wǎng)絡(luò)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)的方法和裝置,在進(jìn)行動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)時(shí)不需要人為的輸入輔助參數(shù),不存在對(duì)輸入的輔助參數(shù)敏感的問題,并且動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法具有客觀性較好,可廣泛地應(yīng)用于所有的復(fù)雜網(wǎng)絡(luò)。
為達(dá)到上述目的,本發(fā)明實(shí)施例公開一種動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法,包括如下步驟:
獲取初始網(wǎng)絡(luò)結(jié)構(gòu)、第一相似度集合及第一概率參數(shù),其中,所述初始網(wǎng)絡(luò)結(jié)構(gòu)包括:多個(gè)第一節(jié)點(diǎn)、第一節(jié)點(diǎn)之間的邊,以及所述第一節(jié)點(diǎn)之間的邊對(duì)應(yīng)的第一權(quán)值,所述第一相似度集合為所述每條邊兩端的兩個(gè)第一節(jié)點(diǎn)的相似度所組成的集合;
獲取所述初始網(wǎng)絡(luò)結(jié)構(gòu)變化后的網(wǎng)絡(luò)結(jié)構(gòu),其中,所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)包括:多個(gè)第二節(jié)點(diǎn)、第二節(jié)點(diǎn)之間的邊,以及所述第二節(jié)點(diǎn)之間的邊對(duì)應(yīng)的第二權(quán)值;
比較所述多個(gè)第一節(jié)點(diǎn)與所述多個(gè)第二節(jié)點(diǎn),并比較所述第一節(jié)點(diǎn)之間的邊及所述第二節(jié)點(diǎn)之間的邊,確定所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)中的變化節(jié)點(diǎn)集合;
根據(jù)所述第二權(quán)值,通過第一預(yù)設(shè)公式,分別計(jì)算所述變化節(jié)點(diǎn)集合中每個(gè)變化節(jié)點(diǎn)、與每個(gè)變化節(jié)點(diǎn)連接的鄰居節(jié)點(diǎn)的相似度,得到所有變化節(jié)點(diǎn)與所述變化節(jié)點(diǎn)連接的鄰居節(jié)點(diǎn)的相似度組成的第二相似度集合,其中,所述每個(gè)變化節(jié)點(diǎn)分別連接多個(gè)鄰居節(jié)點(diǎn);
根據(jù)所述第二相似度集合以及所述第一概率參數(shù),通過第二概率參數(shù)公式,得到第二概率參數(shù);
根據(jù)所述第二概率參數(shù)和所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)的第三相似度集合,通過第二預(yù)設(shè)公式,確定所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)中每條邊兩端的第二節(jié)點(diǎn)屬于同一社區(qū)的第一概率,其中,所述第三相似度集合包括:所述第二相似度集合及除所述第二相似度集合以外的其他第二節(jié)點(diǎn)的相似度;
比較每條邊兩端的第二節(jié)點(diǎn)的相似度與所述每條邊兩端的第二節(jié)點(diǎn)的相似度對(duì)應(yīng)的第一概率,將所述每條邊兩端的第二節(jié)點(diǎn)的相似度大于或等于所述對(duì)應(yīng)的第一概率的邊、兩端的第二節(jié)點(diǎn)劃分為同一社區(qū),遍歷所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)的所有邊,發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)。
本發(fā)明實(shí)施例公開一種動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)裝置,包括:
初始網(wǎng)絡(luò)結(jié)構(gòu)獲取模塊,用于獲取初始網(wǎng)絡(luò)結(jié)構(gòu)、第一相似度集合及第一概率參數(shù),其中,所述初始網(wǎng)絡(luò)結(jié)構(gòu)包括:多個(gè)第一節(jié)點(diǎn)、第一節(jié)點(diǎn)之間的邊,以及所述第一節(jié)點(diǎn)之間的邊對(duì)應(yīng)的第一權(quán)值,所述第一相似度集合為所述每條邊兩端的第一節(jié)點(diǎn)的相似度所組成的集合;
動(dòng)態(tài)網(wǎng)絡(luò)結(jié)構(gòu)獲取模塊,用于獲取所述初始網(wǎng)絡(luò)結(jié)構(gòu)變化后的網(wǎng)絡(luò)結(jié)構(gòu),其中,所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)包括:多個(gè)第二節(jié)點(diǎn)、第二節(jié)點(diǎn)之間的邊,以及所述第二節(jié)點(diǎn)之間的邊對(duì)應(yīng)的第二權(quán)值;
網(wǎng)絡(luò)結(jié)構(gòu)比較模塊,用于比較所述多個(gè)第一節(jié)點(diǎn)與所述多個(gè)第二節(jié)點(diǎn),并比較所述第一節(jié)點(diǎn)之間的邊及所述第二節(jié)點(diǎn)之間的邊,確定所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)中的變化節(jié)點(diǎn)集合;
第一相似度獲取模塊,用于根據(jù)所述第二權(quán)值,通過第一預(yù)設(shè)公式,分別計(jì)算所述變化節(jié)點(diǎn)集合中每個(gè)變化節(jié)點(diǎn)、與每個(gè)變化節(jié)點(diǎn)連接的鄰居節(jié)點(diǎn)的相似度,得到所有變化節(jié)點(diǎn)與所述變化節(jié)點(diǎn)連接的鄰居節(jié)點(diǎn)的相似度組成的第二相似度集合,其中,所述每個(gè)變化節(jié)點(diǎn)分別連接多個(gè)鄰居節(jié)點(diǎn);
第一概率參數(shù)獲取模塊,用于根據(jù)所述第二相似度集合以及第一概率參數(shù),通過第二概率參數(shù)公式,得到第二概率參數(shù);
第一概率獲取模塊,用于根據(jù)所述第二概率參數(shù)和所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)的第三相似度集合,通過第二預(yù)設(shè)公式,確定所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)中每條邊兩端的第二節(jié)點(diǎn)屬于同一社區(qū)的第一概率,其中,所述第三相似度集合包括:所述第二相似度集合及除所述第二相似度集合以外的其他第二節(jié)點(diǎn)的相似度;
動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)模塊,用于比較每條邊兩端的第二節(jié)點(diǎn)的相似度與所述每條邊兩端的第二節(jié)點(diǎn)的相似度對(duì)應(yīng)的第一概率,將所述每條邊兩端的第二節(jié)點(diǎn)的相似度大于或等于所述對(duì)應(yīng)的第一概率的邊、兩端的第二節(jié)點(diǎn)劃分為同一社區(qū),遍歷所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)的所有邊,發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)。
由上述發(fā)明實(shí)施例可見,基于相似度算法來(lái)進(jìn)行動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn),整個(gè)過程中獲得的初始網(wǎng)絡(luò)結(jié)構(gòu)和動(dòng)態(tài)網(wǎng)絡(luò)結(jié)構(gòu)是發(fā)現(xiàn)網(wǎng)絡(luò)社區(qū)的必要數(shù)據(jù),并不是輔助參數(shù)。所以在整個(gè)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)不需要人為輸入輔助參數(shù),使得動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法具有較好的客觀性??梢詮V泛的應(yīng)用于所有的復(fù)雜網(wǎng)絡(luò)。
當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法的一種流程圖;
圖2是本發(fā)明實(shí)施例提供的第二概率參數(shù)計(jì)算方法的一種流程圖;
圖3是本發(fā)明實(shí)施例提供的相似度計(jì)算過程的一種流程圖;
圖4是本發(fā)明實(shí)施例提供的邊對(duì)應(yīng)的兩個(gè)節(jié)點(diǎn)及其相鄰節(jié)點(diǎn)關(guān)系示意圖;
圖5是本發(fā)明實(shí)施例提供的動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法的另一種流程圖;
圖6是本發(fā)明實(shí)施例提供的發(fā)現(xiàn)初始網(wǎng)絡(luò)社區(qū)方法的一種流程圖;
圖7是本發(fā)明實(shí)施例提供的跟蹤動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)方法的一種流程圖;
圖8是本發(fā)明實(shí)施例提供的發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供一種動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)的方法及裝置。該發(fā)明實(shí)施例通過獲得的初始網(wǎng)絡(luò)結(jié)構(gòu),獲取初始網(wǎng)絡(luò)結(jié)構(gòu)中每條邊對(duì)應(yīng)的兩個(gè)節(jié)點(diǎn)的相似度,然后基于相似度結(jié)果,獲得兩個(gè)節(jié)點(diǎn)屬于同一個(gè)社區(qū)的第二概率,最后將相似度大于第二概率的邊所連接的兩個(gè)節(jié)點(diǎn)劃分到同一個(gè)社區(qū)。當(dāng)初始網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生動(dòng)態(tài)變化后,重新獲得變化后的網(wǎng)絡(luò)結(jié)構(gòu),將變化后的網(wǎng)絡(luò)結(jié)構(gòu)與初始網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行對(duì)比得到變化節(jié)點(diǎn)集合,對(duì)變化節(jié)點(diǎn)集合中的每個(gè)點(diǎn),重新計(jì)算變化節(jié)點(diǎn)集合中的每個(gè)點(diǎn)與相連的鄰居節(jié)點(diǎn)相似度,依據(jù)重新計(jì)算的相似度和第一概率,將相似度大于第一概率的兩個(gè)節(jié)點(diǎn)劃分到同一個(gè)社區(qū),更新社區(qū)劃分的結(jié)果,從而發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)。
下面通過具體實(shí)施列,對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
如圖1,圖1是本發(fā)明實(shí)施例提供的動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法的一種流程圖;
步驟101,獲取初始網(wǎng)絡(luò)結(jié)構(gòu)、第一相似度集合及第一概率參數(shù),其中,初始網(wǎng)絡(luò)結(jié)構(gòu)包括:多個(gè)第一節(jié)點(diǎn)、第一節(jié)點(diǎn)之間的邊,以及第一節(jié)點(diǎn)之間的邊對(duì)應(yīng)的第一權(quán)值,第一相似度集合為每條邊兩端的兩個(gè)第一節(jié)點(diǎn)的相似度所組成的集合。
網(wǎng)絡(luò)結(jié)構(gòu)是由節(jié)點(diǎn)以及節(jié)點(diǎn)之間的連接關(guān)系構(gòu)成。節(jié)點(diǎn)之間的連接關(guān)系定義為邊。初始網(wǎng)絡(luò)結(jié)構(gòu)中的節(jié)點(diǎn)為第一節(jié)點(diǎn),第一節(jié)點(diǎn)之間的連接關(guān)系為第一節(jié)點(diǎn)之間的邊。
根據(jù)邊是否有方向,網(wǎng)絡(luò)結(jié)構(gòu)可以分為有向或者無(wú)向網(wǎng)絡(luò)結(jié)構(gòu)。根據(jù)邊上是否有權(quán)值,可以分為有權(quán)或者無(wú)權(quán)網(wǎng)絡(luò)結(jié)構(gòu)。
用G=(V,E,W)為一個(gè)無(wú)向有權(quán)網(wǎng)絡(luò)結(jié)構(gòu),其中,V和E分別為網(wǎng)絡(luò)結(jié)構(gòu)中的節(jié)點(diǎn)和節(jié)點(diǎn)之間的邊的集合,W為對(duì)應(yīng)的邊的權(quán)值集合。i,j∈V代表節(jié)點(diǎn)i和節(jié)點(diǎn)j屬于本網(wǎng)絡(luò)結(jié)構(gòu)中的節(jié)點(diǎn)集合,ei,j代表節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的邊,ei,j∈E為邊ei,j屬于本網(wǎng)絡(luò)結(jié)構(gòu)中的邊集合,w(i,j)代表邊ei,j的權(quán)值。
本發(fā)明實(shí)施例中采用無(wú)向有權(quán)網(wǎng)絡(luò)作為實(shí)例來(lái)說(shuō)明本發(fā)明中的方法,但是本發(fā)明的適用范圍不僅限于無(wú)權(quán)有向網(wǎng)絡(luò)。
對(duì)于無(wú)權(quán)網(wǎng)絡(luò),W集合本身為空,可以通過指定默認(rèn)權(quán)值或者設(shè)定權(quán)值的方式給每條邊賦權(quán)值。
對(duì)于有向網(wǎng)絡(luò),可以轉(zhuǎn)換成無(wú)向圖。對(duì)只有單向連接的節(jié)點(diǎn)之間的邊,例如,節(jié)點(diǎn)i和節(jié)點(diǎn)j之間存在節(jié)點(diǎn)i指向節(jié)點(diǎn)j的邊,且不存在節(jié)點(diǎn)j指向節(jié)點(diǎn)i的邊,則將節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的邊直接轉(zhuǎn)換成一條無(wú)向的邊;對(duì)于雙向連接的節(jié)點(diǎn)之間的邊,例如,節(jié)點(diǎn)i和節(jié)點(diǎn)j之間存在節(jié)點(diǎn)i指向節(jié)點(diǎn)j的邊,且存在節(jié)點(diǎn)j指向節(jié)點(diǎn)i的邊,則用一條無(wú)向的邊取代節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的兩條邊。
當(dāng)?shù)谝淮潍@得網(wǎng)絡(luò)結(jié)構(gòu)時(shí),認(rèn)為獲得的網(wǎng)絡(luò)結(jié)構(gòu)為初始網(wǎng)絡(luò)結(jié)構(gòu),初始時(shí)間為t,設(shè)為G(t)=(V(t),E(t),W(t))。V(t)和E(t)分別為t時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)中的第一節(jié)點(diǎn)和第一節(jié)點(diǎn)之間的邊的集合。所述獲得網(wǎng)絡(luò)結(jié)構(gòu),可以是用戶輸入網(wǎng)絡(luò)結(jié)構(gòu),也可以通過其他方法獲得。
經(jīng)過對(duì)初始網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行初始網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn),獲得第一相似度集合,以及第一概率參數(shù)。
通過該步驟可以完成對(duì)初始網(wǎng)絡(luò)結(jié)構(gòu)的社區(qū)發(fā)現(xiàn),為動(dòng)態(tài)網(wǎng)絡(luò)結(jié)構(gòu)的社區(qū)發(fā)現(xiàn)奠定了基礎(chǔ)。
需要說(shuō)明的是,本發(fā)明實(shí)施例中所述的初始網(wǎng)絡(luò)結(jié)構(gòu)不僅可以是沒有進(jìn)行過網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu),也可以是已經(jīng)按發(fā)明實(shí)施例中的方法進(jìn)行了網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu),所以,不失一般性的,可以將初始網(wǎng)絡(luò)結(jié)構(gòu)解釋為上一時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)。當(dāng)然,當(dāng)初始網(wǎng)絡(luò)結(jié)構(gòu)是已經(jīng)經(jīng)過網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)時(shí),在本步驟中,不需要再次對(duì)其進(jìn)行網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn),并直接獲得第一相似度集合,以及第一概率參數(shù)。
由于所獲得的網(wǎng)絡(luò)結(jié)構(gòu)可以無(wú)向有權(quán)網(wǎng)絡(luò),也可以為無(wú)權(quán)網(wǎng)絡(luò)和有向網(wǎng)絡(luò),所以本發(fā)明實(shí)施例可以廣泛的應(yīng)用于各種網(wǎng)絡(luò)結(jié)構(gòu)。
步驟102,獲取初始網(wǎng)絡(luò)結(jié)構(gòu)變化后的網(wǎng)絡(luò)結(jié)構(gòu),其中,變化后的網(wǎng)絡(luò)結(jié)構(gòu)包括:多個(gè)第二節(jié)點(diǎn)、第二節(jié)點(diǎn)之間的邊,以及第二節(jié)點(diǎn)之間的邊對(duì)應(yīng)的第二權(quán)值。
網(wǎng)絡(luò)結(jié)構(gòu)隨時(shí)間發(fā)生變化的網(wǎng)絡(luò)結(jié)構(gòu)稱為動(dòng)態(tài)網(wǎng)絡(luò)結(jié)構(gòu),在每一個(gè)時(shí)間點(diǎn)上是一個(gè)靜態(tài)網(wǎng)絡(luò)結(jié)構(gòu)。使用G(t+1)=(V(t+1),E(t+1),W(t+1))表示動(dòng)態(tài)網(wǎng)絡(luò)結(jié)構(gòu),(t+1)為時(shí)間,G(t+1)=(V(t+1),E(t+1),W(t+1))表示在t+1時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu),V(t+1)和E(t+1)分別為t+1時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)中的第二節(jié)點(diǎn)和第二節(jié)點(diǎn)之間的邊的集合,W(t+1)為對(duì)應(yīng)的邊的當(dāng)前時(shí)刻的權(quán)值集合。
需要說(shuō)明的是,初始網(wǎng)絡(luò)結(jié)構(gòu)作為上一時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu),本步驟中變化后的網(wǎng)絡(luò)結(jié)構(gòu),即作為當(dāng)前時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)。
步驟103,比較多個(gè)第一節(jié)點(diǎn)與多個(gè)第二節(jié)點(diǎn),并比較第一節(jié)點(diǎn)之間的邊及第二節(jié)點(diǎn)之間的邊,確定變化后的網(wǎng)絡(luò)結(jié)構(gòu)中的變化節(jié)點(diǎn)集合。
對(duì)比上一時(shí)刻t的初始網(wǎng)絡(luò)結(jié)構(gòu)G(t)和當(dāng)前時(shí)刻t+1的變化后的網(wǎng)絡(luò)結(jié)構(gòu)G(t+1),將連接關(guān)系發(fā)生改變的節(jié)點(diǎn)存儲(chǔ)于變化節(jié)點(diǎn)集合,作為變化節(jié)點(diǎn)。
其中,連接關(guān)系變化的情況是包括增加邊和刪除已有邊,其中增加邊包括以下三種情況。
第一種情況,增加的邊連接的兩個(gè)節(jié)點(diǎn)均在上一時(shí)刻存在,即k(t),l(t)∈V(t)且在t+1時(shí)刻,k(t),l(t)相應(yīng)變?yōu)閗(t+1),l(t+1),且k(t+1),l(t+1)增加連邊
第二種情況,增加的邊連接的兩個(gè)節(jié)點(diǎn)中有一個(gè)節(jié)點(diǎn)上一時(shí)刻存在,不失一般性,設(shè)k(t)∈V(t)且顯而易見的k(t),l(t)之間不存在連邊,在t+1時(shí)刻,k(t)相應(yīng)變?yōu)閗(t+1),同時(shí)增加新節(jié)點(diǎn)l(t+1),并且增加邊連接節(jié)點(diǎn)k(t+1),l(t+1)。
第三種情況,增加的邊連接的兩個(gè)節(jié)點(diǎn)均為當(dāng)前時(shí)刻新加入網(wǎng)絡(luò)結(jié)構(gòu)的節(jié)點(diǎn),即k(t),在t+1時(shí)刻,新增節(jié)點(diǎn)k(t+1),l(t+1),且k(t+1),l(t+1)之間存在連邊
刪除邊的情況下,兩個(gè)節(jié)點(diǎn)都應(yīng)該為網(wǎng)絡(luò)中已存在的節(jié)點(diǎn),即k(t),l(t)∈V(t)且在t+1時(shí)刻,k(t),l(t)相應(yīng)變?yōu)閗(t+1),l(t+1),且刪除k(t+1),l(t+1)之間的連邊
在上述情況中,涉及到邊兩端的兩個(gè)節(jié)點(diǎn)k(t+1),l(t+1)均要存儲(chǔ)于變化節(jié)點(diǎn)集S(t+1),稱為變化節(jié)點(diǎn)。
需要說(shuō)明的是,k(t+1),l(t+1)只是舉例說(shuō)明,代表網(wǎng)絡(luò)中的任意兩個(gè)節(jié)點(diǎn),不是特指。
步驟104,根據(jù)第二權(quán)值,通過第一預(yù)設(shè)公式,分別計(jì)算變化節(jié)點(diǎn)集合中每個(gè)變化節(jié)點(diǎn)、與每個(gè)變化節(jié)點(diǎn)連接的鄰居節(jié)點(diǎn)的相似度,得到所有變化節(jié)點(diǎn)與變化節(jié)點(diǎn)連接的鄰居節(jié)點(diǎn)的相似度組成的第二相似度集合,其中,每個(gè)變化節(jié)點(diǎn)分別連接多個(gè)鄰居節(jié)點(diǎn)。
對(duì)變化點(diǎn)集合中的一個(gè)節(jié)點(diǎn),獲得該節(jié)點(diǎn)的所有鄰居節(jié)點(diǎn),鄰居節(jié)點(diǎn)是指與該節(jié)點(diǎn)相連接的節(jié)點(diǎn)。
通過第一預(yù)設(shè)公式計(jì)算該節(jié)點(diǎn)與每一個(gè)鄰居節(jié)點(diǎn)的相似度,并將該相似度存儲(chǔ)于第二相似度集合。
遍歷變化點(diǎn)集合中的每一個(gè)節(jié)點(diǎn),使得所有變化節(jié)點(diǎn)與該變化節(jié)點(diǎn)連接的所有鄰居節(jié)點(diǎn)的相似度,都存儲(chǔ)于第二相似度集合。
步驟105,根據(jù)第二相似度集合以及第一概率參數(shù),通過第二概率參數(shù)公式,得到第二概率參數(shù);
經(jīng)過步驟104可以得到第二相似度集合,經(jīng)過步驟101可以獲得第一概率參數(shù),通過第二概率參數(shù)公式,可以得到第二概率參數(shù),第二概率參數(shù)用于計(jì)算每條邊兩端的節(jié)點(diǎn)屬于同一社區(qū)的第一概率。
步驟106,根據(jù)所述第二概率參數(shù)和所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)的第三相似度集合,通過第二預(yù)設(shè)公式,確定所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)中每條邊兩端的第二節(jié)點(diǎn)屬于同一社區(qū)的第一概率,其中,所述第三相似度集合包括:所述第二相似度集合及除所述第二相似度集合以外的其他第二節(jié)點(diǎn)的相似度。
當(dāng)前t+1時(shí)刻變化后的網(wǎng)絡(luò)結(jié)構(gòu)中每條邊兩端的第二節(jié)點(diǎn)的相似度均存儲(chǔ)于第三相似度集合,再根據(jù)上一步驟中得到的第二概率參數(shù),按第二預(yù)設(shè)公式可以得到所述第一概率。第一概率一個(gè)取值在(0,1)之間的實(shí)數(shù),表示在當(dāng)前網(wǎng)絡(luò)結(jié)構(gòu)條件下,該相似度對(duì)應(yīng)的兩個(gè)節(jié)點(diǎn)在同一個(gè)社區(qū)的概率值。
該步驟中,所有計(jì)算的過程不需要引入認(rèn)為設(shè)定的參數(shù),保證了計(jì)算過程的客觀性。
步驟107,比較每條邊兩端的第二節(jié)點(diǎn)的相似度與所述每條邊兩端的第二節(jié)點(diǎn)的相似度對(duì)應(yīng)的第一概率,將所述每條邊兩端的第二節(jié)點(diǎn)的相似度大于或等于所述對(duì)應(yīng)的第一概率的邊、兩端的第二節(jié)點(diǎn)劃分為同一社區(qū),遍歷所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)的所有邊,發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)。
在變化后的網(wǎng)絡(luò)結(jié)構(gòu)中的邊集合中獲得一條邊,比較該條邊兩端的第二節(jié)點(diǎn)的相似度是否大于或等于該條邊兩端的第二節(jié)點(diǎn)的相似度對(duì)應(yīng)的第一概率,并且判斷該條邊兩端的第二節(jié)點(diǎn)否在一個(gè)社區(qū)中。
當(dāng)該條邊兩端的第二節(jié)點(diǎn)的相似度大于或等于該條邊兩端的第二節(jié)點(diǎn)的相似度對(duì)應(yīng)的第一概率,且該條邊對(duì)應(yīng)的兩個(gè)第二節(jié)點(diǎn)不在同一個(gè)社區(qū),則將該條邊兩端的第二節(jié)點(diǎn)分別所在的社區(qū)合并為一個(gè)社區(qū)。
遍歷當(dāng)前t+1時(shí)刻變化后的網(wǎng)絡(luò)結(jié)構(gòu)邊的集合中所有的邊,則完成發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)。
在本實(shí)施列中,所以用于網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)的參數(shù),均通過網(wǎng)絡(luò)結(jié)構(gòu)的本身具有的特征計(jì)算而來(lái),沒有引入任何認(rèn)為設(shè)定的參數(shù),從而保證了較好的客觀性。使得該網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法可以廣泛的應(yīng)用于所有的復(fù)雜網(wǎng)絡(luò)。
如圖2,圖2是本發(fā)明實(shí)施例提供的第二概率參數(shù)計(jì)算方法的一種流程圖;
步驟201,獲得當(dāng)前時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)G(t+1)=(V(t+1),E(t+1),W(t+1)),獲得前一時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)G(t)=(V(t),E(t),W(t)),獲得變化節(jié)點(diǎn)集合S(t+1),獲得第二相似度集合C(t+1),獲得第一概率參數(shù)b(t)。以上所有參數(shù),集合及網(wǎng)絡(luò)結(jié)構(gòu)均為已知。
步驟202,根據(jù)公式:計(jì)算參數(shù)β,其中|S(t+1)|為變化點(diǎn)集合中節(jié)點(diǎn)的總個(gè)數(shù),|V(t)|為前一時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)中第一節(jié)點(diǎn)的總個(gè)數(shù),t為時(shí)間,用于區(qū)分不同時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu),t+1為t時(shí)刻的下一時(shí)刻,用于為網(wǎng)絡(luò)結(jié)構(gòu)經(jīng)過一定時(shí)間的變化,此處t表示初始網(wǎng)絡(luò)結(jié)構(gòu),即可以解釋為上一時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu),t+1表示所述初始網(wǎng)絡(luò)結(jié)構(gòu)經(jīng)過變化后的網(wǎng)絡(luò)結(jié)構(gòu),即可以解釋為當(dāng)前時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)。
參數(shù)β表示當(dāng)前網(wǎng)絡(luò)結(jié)構(gòu)與前一時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)的相關(guān)程度。
考慮到動(dòng)態(tài)網(wǎng)絡(luò)結(jié)構(gòu)的特性,當(dāng)前時(shí)刻獲得的網(wǎng)絡(luò)結(jié)構(gòu),不能割裂的看成一個(gè)獨(dú)立的網(wǎng)絡(luò)結(jié)構(gòu)。當(dāng)前時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)與之前時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)具有一定的相關(guān)性,為了利用這種相關(guān)性,定義了參數(shù)β,雖然在β的計(jì)算定義式中,僅僅使用了當(dāng)前時(shí)刻以及前一時(shí)刻的網(wǎng)絡(luò)信息,但是在后續(xù)第二概率參數(shù)b(t+1)的計(jì)算過程中,由于參數(shù)β的存在,建立了當(dāng)前時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)中b(t+1)與之前多個(gè)時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)的聯(lián)系。
步驟203,判斷參數(shù)β是否小于等于0。
步驟204,當(dāng)β≤0時(shí),根據(jù)公式:得到第二概率參數(shù),其中b(t+1)為第二概率參數(shù),為第二節(jié)點(diǎn)m和第二節(jié)點(diǎn)n的相似度,C(t+1)為第二相似度集合,為相似度屬于第二相似度集合C(t+1),|C(t+1)|為第二相似度集合中相似度的數(shù)量。
如果β≤0,說(shuō)明當(dāng)前時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)與前一時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)相關(guān)性很小甚至不具有相關(guān)性。當(dāng)前時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)G(t+1)相對(duì)于上一時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)G(t),發(fā)生了劇烈顯著的改變,這種情況下上一時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)G(t)的第一概率參數(shù)b(t)對(duì)后續(xù)計(jì)算沒有實(shí)際意義。當(dāng)前時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)G(t+1)可以視為一個(gè)新的動(dòng)態(tài)變化起點(diǎn),按照上述的第二概率參數(shù)計(jì)算公式計(jì)算b(t+1)。需要注意的是,此處將當(dāng)前時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)G(t+1)視為了一個(gè)新的動(dòng)態(tài)變化起點(diǎn)。
步驟205,當(dāng)β>0時(shí),根據(jù)公式:得到第二概率參數(shù);其中,參數(shù)β表示當(dāng)前網(wǎng)絡(luò)結(jié)構(gòu)與前一時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)的相關(guān)程度,|S(t+1)|為所述變化點(diǎn)集合中節(jié)點(diǎn)的總個(gè)數(shù),|V(t)|為初始網(wǎng)絡(luò)結(jié)構(gòu)或前一時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)中第一節(jié)點(diǎn)的總個(gè)數(shù),b(t+1)為第二概率參數(shù),b(t)為第一概率參數(shù),為第二節(jié)點(diǎn)m和第二節(jié)點(diǎn)n的相似度,C(t+1)為第二相似度集合,為相似度屬于第二相似度集合C(t+1),|C(t+1)|為第二相似度集合中相似度的數(shù)量。
如果β>0,說(shuō)明當(dāng)前時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)與前一時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)具有一定的相關(guān)性,當(dāng)前網(wǎng)絡(luò)結(jié)構(gòu)G(t+1)相對(duì)于前一時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)G(t),結(jié)構(gòu)上基本保持相似,局部有變化,這種情況下,前一時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)G(t)下計(jì)算的第一概率參數(shù)影響后續(xù)計(jì)算。為了表示這種相關(guān)性,在計(jì)算第二概率參數(shù)b(t+1)時(shí),使用參數(shù)β引入了上一時(shí)刻的第一概率參數(shù)b(t)的值。雖然公式中只使用了上一時(shí)刻的參數(shù),但是上一時(shí)刻的第一概率參數(shù)b(t)也與b(t-1)有關(guān),所以根據(jù)遞推關(guān)系,可以看出,b(t+1)與b(t),b(t-1)……有關(guān)。這個(gè)相關(guān)的概率參數(shù)的長(zhǎng)度與每次計(jì)算的參數(shù)β有關(guān),在上面已經(jīng)說(shuō)明,如果β≤0,則會(huì)把這種相關(guān)性截?cái)唷?/p>
在本實(shí)施例中,通過參數(shù)β表示了當(dāng)前網(wǎng)絡(luò)結(jié)構(gòu)與前一時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)的相關(guān)程度。可以更加嚴(yán)謹(jǐn)合理的計(jì)算第二概率參數(shù),從而使得最終的網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)的結(jié)果更加合理客觀。
優(yōu)選的,本發(fā)明實(shí)施例的動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法中,根據(jù)所述第二概率參數(shù)和所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)的第三相似度集合,通過第二預(yù)設(shè)公式,確定所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)中每條邊兩端的第二節(jié)點(diǎn)屬于同一社區(qū)的第一概率,包括:
第一步,比較所述多個(gè)第一節(jié)點(diǎn)與所述多個(gè)第二節(jié)點(diǎn),并比較所述第一節(jié)點(diǎn)之間的邊與所述第二節(jié)點(diǎn)之間的邊,獲取所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)中第二節(jié)點(diǎn)之間的沒有變化邊以及所述沒有變化邊兩端沒有變化的第二節(jié)點(diǎn);
第二步,獲取并合并所述第一相似度集合中、與所述沒有變化的第二節(jié)點(diǎn)相同的第一節(jié)點(diǎn)的相似度、至所述第二相似度集合,形成所述第三相似度集合;
第二相似度集合中僅包括了所有變化節(jié)點(diǎn)與所有變化節(jié)點(diǎn)的所有鄰居節(jié)點(diǎn)的相似度,并沒有含有變化后的網(wǎng)絡(luò)結(jié)構(gòu),即當(dāng)前時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)中每條邊兩端的第二節(jié)點(diǎn)的相似度。
對(duì)于原有連接關(guān)系沒有發(fā)生變化的邊,其兩端的第二節(jié)點(diǎn)的相似度保留上一次計(jì)算結(jié)果,并將相似度數(shù)據(jù)從第一相似度集合,合并至第二相似度集合中,組成第三相似度集合。至此,變化后的網(wǎng)絡(luò)結(jié)構(gòu),即當(dāng)前時(shí)刻網(wǎng)絡(luò)結(jié)構(gòu)中邊的集合中的每一條邊兩端的第二節(jié)點(diǎn)的相似度都存在于第三相似度集合中。從所述第三相似度集合中,可以獲得所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)中每條邊兩端第二節(jié)點(diǎn)的相似度。
第三步,根據(jù)所述第三相似度集合,通過第二預(yù)設(shè)公式,確定所述變化后的網(wǎng)絡(luò)結(jié)構(gòu)中每條邊兩端的第二節(jié)點(diǎn)屬于同一社區(qū)的所述第一概率。
優(yōu)選的,本發(fā)明實(shí)施例的動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法中,獲取初始網(wǎng)絡(luò)結(jié)構(gòu),包括:
首先,獲取網(wǎng)絡(luò)結(jié)構(gòu),其中,網(wǎng)絡(luò)結(jié)構(gòu)包括:多個(gè)節(jié)點(diǎn)、每?jī)蓚€(gè)節(jié)點(diǎn)之間的邊,以及兩個(gè)節(jié)點(diǎn)之間的邊對(duì)應(yīng)的權(quán)值。
其中的網(wǎng)絡(luò)結(jié)構(gòu)不僅可以是沒有進(jìn)行過網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu),也可以是已經(jīng)按本實(shí)施列提供的方法進(jìn)行了網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu),所以,不失一般性的,可以將本步驟獲得的網(wǎng)絡(luò)結(jié)構(gòu)解釋為上一時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)。當(dāng)然,當(dāng)獲取的網(wǎng)絡(luò)結(jié)構(gòu)是已經(jīng)經(jīng)過網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)時(shí),不需要再次對(duì)初始網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn),并直接獲得第一相似度集合,以及第一概率參數(shù)。當(dāng)獲取的網(wǎng)絡(luò)結(jié)構(gòu)是沒有進(jìn)行過網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)時(shí),按下述步驟進(jìn)行初始網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)。
其次,根據(jù)兩個(gè)節(jié)點(diǎn)之間的邊對(duì)應(yīng)的權(quán)值,通過第一預(yù)設(shè)公式,得到邊兩端的節(jié)點(diǎn)的相似度,并將所有邊兩端的節(jié)點(diǎn)的相似度組成第一相似度集合。
在獲得的網(wǎng)絡(luò)結(jié)構(gòu)的邊集合中獲得一條邊,通過第一預(yù)設(shè)公式計(jì)算該條邊兩端的節(jié)點(diǎn)的相似度,并將該相似度存儲(chǔ)于第一相似度集合。
遍歷網(wǎng)絡(luò)結(jié)構(gòu)的邊的集合中所有的邊,則獲得了每一條邊兩端的節(jié)點(diǎn)的相似度,且均存儲(chǔ)于第一相似度集合。
然后,根據(jù)第一相似度集合,通過第一概率參數(shù)公式,得到第一概率參數(shù);
根據(jù)第一相似度集合中所有的相似度,通過第一概率參數(shù)公式,經(jīng)過計(jì)算,可以獲得第一概率參數(shù)。
再然后,根據(jù)第一概率參數(shù)和網(wǎng)絡(luò)結(jié)構(gòu)中每條邊兩端的兩個(gè)節(jié)點(diǎn)的相似度,通過第二預(yù)設(shè)公式,確定每條邊兩端的節(jié)點(diǎn)屬于同一社區(qū)的第二概率;
其中,獲取的網(wǎng)絡(luò)結(jié)構(gòu)中每條邊對(duì)應(yīng)的兩個(gè)節(jié)點(diǎn)的相似度從第一相似度集合中得到,根據(jù)每條邊對(duì)應(yīng)的兩個(gè)節(jié)點(diǎn)的相似度和第一概率參數(shù),通過第二預(yù)設(shè)公式,得到每條邊對(duì)應(yīng)的兩個(gè)節(jié)點(diǎn)屬于同一社區(qū)的第二概率。
第二概率是一個(gè)取值在(0,1)之間的實(shí)數(shù),表示的是在該網(wǎng)絡(luò)結(jié)構(gòu)條件下,一條邊的兩端節(jié)點(diǎn)屬于同一個(gè)社區(qū)的概率值。
最后,分別比較每條邊兩端的節(jié)點(diǎn)的相似度與每條邊兩端的節(jié)點(diǎn)的相似度對(duì)應(yīng)的第二概率,將每條邊兩端的節(jié)點(diǎn)的相似度大于或等于對(duì)應(yīng)的第二概率的邊、兩端的節(jié)點(diǎn)劃分為同一社區(qū),遍歷網(wǎng)絡(luò)結(jié)構(gòu)的所有邊,發(fā)現(xiàn)初始網(wǎng)絡(luò)社區(qū)。
從獲得的網(wǎng)絡(luò)結(jié)構(gòu)的邊的集合中得到一條邊,判斷該條邊兩端的節(jié)點(diǎn)的相似度是否大于或者等于該條邊兩端的節(jié)點(diǎn)的相似度對(duì)應(yīng)的第二概率,并且該條邊對(duì)應(yīng)的兩個(gè)節(jié)點(diǎn)是否在一個(gè)社區(qū)中;
如果該條邊兩端的節(jié)點(diǎn)的相似度大于或等于該條邊兩端的節(jié)點(diǎn)的相似度對(duì)應(yīng)的第二概率,并且,該條邊對(duì)應(yīng)的兩個(gè)節(jié)點(diǎn)不在一個(gè)社區(qū),則將該條邊兩端的節(jié)點(diǎn)分別所在的社區(qū)合并為一個(gè)社區(qū);
遍歷網(wǎng)絡(luò)結(jié)構(gòu)中邊的集合中所有的邊,完成發(fā)現(xiàn)初始網(wǎng)絡(luò)社區(qū)。
上述步驟中,在邊的集合中選取邊的具體過程中,選取邊的順序不影響結(jié)果。
通過對(duì)初始網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行社區(qū)發(fā)現(xiàn),奠定了進(jìn)行動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)的基礎(chǔ)。當(dāng)初始網(wǎng)絡(luò)結(jié)構(gòu)隨時(shí)間發(fā)生了動(dòng)態(tài)變化后,就可以進(jìn)行動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)。
如圖3,圖3是本發(fā)明實(shí)施例提供的相似度計(jì)算過程的一種流程圖。
相似度衡量的是兩個(gè)節(jié)點(diǎn)之間的相似度,兩個(gè)節(jié)點(diǎn)之間可以存在連邊也可以不存在連邊。在計(jì)算時(shí)獲取兩個(gè)節(jié)點(diǎn),如第三節(jié)點(diǎn)u和第四節(jié)點(diǎn)v,也可以獲取一條邊eu,v,當(dāng)獲取的為邊eu,v時(shí),則計(jì)算這條邊上的兩個(gè)節(jié)點(diǎn)的相似度,其中,第三節(jié)點(diǎn)為第一節(jié)點(diǎn)或第二節(jié)點(diǎn),第四節(jié)點(diǎn)為第一節(jié)點(diǎn)或第二節(jié)點(diǎn),第四節(jié)點(diǎn)及第三節(jié)點(diǎn)同屬于同一網(wǎng)絡(luò)結(jié)構(gòu)。
步驟301,獲取第三節(jié)點(diǎn)的第一鄰居節(jié)點(diǎn)集及第四節(jié)點(diǎn)的第二鄰居節(jié)點(diǎn)集。
第三節(jié)點(diǎn)u的第一鄰居節(jié)點(diǎn)集合為N(u),第四節(jié)點(diǎn)v的第二鄰居節(jié)點(diǎn)集合為N(v),N(u)是與第三節(jié)點(diǎn)u相連的節(jié)點(diǎn)的集合,即為第三節(jié)點(diǎn)u的第一鄰居集合,N(v)是與第四節(jié)點(diǎn)v相連的節(jié)點(diǎn)的集合,即為第四節(jié)點(diǎn)v的第一鄰居集合。
步驟302,對(duì)第一鄰居節(jié)點(diǎn)集和第二鄰居節(jié)點(diǎn)集取交集,得到第一集合。
對(duì)N(u)和N(v)取交集,得到的第一集合記為N(u)∩N(v)。
步驟303,對(duì)第一鄰居節(jié)點(diǎn)集和第二鄰居節(jié)點(diǎn)集取并集,得到第二集合。
對(duì)N(u)和N(v)取并集,得到的第二集合記為N(u)∪N(v)。
步驟304,第二集合中去除第二鄰居點(diǎn)集中的節(jié)點(diǎn),得到第三集合。
在N(u)∪N(v)中刪掉N(v)中的節(jié)點(diǎn),結(jié)果為第三集合記為(N(u)-N(v))。
步驟305,第二集合中去除第一鄰居點(diǎn)集中的節(jié)點(diǎn),得到第四集合。
在N(u)∪N(v)中刪掉N(u)中的節(jié)點(diǎn),結(jié)果為第四集合記為(N(v)-N(u))。
步驟306,獲得第一集合中的每個(gè)節(jié)點(diǎn)到第三節(jié)點(diǎn)的第一權(quán)值之和與第一集合中的所有節(jié)點(diǎn)到第四節(jié)點(diǎn)的第二權(quán)值之和,將第一權(quán)值之和及第二權(quán)值之和求和,作為獲得第一參數(shù)。
對(duì)第一集合N(u)∩N(v)中的節(jié)點(diǎn),求每個(gè)節(jié)點(diǎn)到第三節(jié)點(diǎn)u的第一權(quán)值和,求每個(gè)節(jié)點(diǎn)到第四節(jié)點(diǎn)v的第二權(quán)值和,并對(duì)第一權(quán)值和、第二權(quán)值和求和,記為第一參數(shù)Wu,v。用公式表示為:
其中,Wu,v為第一參數(shù),p為第一集合中的節(jié)點(diǎn),w(u,p)為節(jié)點(diǎn)p到第三節(jié)點(diǎn)u的權(quán)值,w(v,p)為節(jié)點(diǎn)p到第四節(jié)點(diǎn)v的權(quán)值。
步驟307,對(duì)第三集合中的節(jié)點(diǎn),求對(duì)每個(gè)節(jié)點(diǎn)到第三節(jié)點(diǎn)的權(quán)值和,獲得第二參數(shù)。
對(duì)第三集合(N(u)-N(v))中的節(jié)點(diǎn),求對(duì)每個(gè)節(jié)點(diǎn)到第三節(jié)點(diǎn)u的權(quán)值和,記為第二參數(shù)Wu-v。用公式表示為其中Wu-v為第二參數(shù),x為第三集合中的節(jié)點(diǎn),w(u,x)為節(jié)點(diǎn)x到節(jié)點(diǎn)u的權(quán)值。
步驟308,對(duì)第四集合中的節(jié)點(diǎn),求對(duì)每個(gè)節(jié)點(diǎn)到第四節(jié)點(diǎn)的權(quán)值和,獲得第三參數(shù)。
對(duì)第四集合(N(v)-N(u))中的節(jié)點(diǎn),求對(duì)每個(gè)節(jié)點(diǎn)到第四節(jié)點(diǎn)v的權(quán)值和,記為第三參數(shù)Wv-u。用公式表示為其中Wv-u為第三參數(shù),y為第三集合中的節(jié)點(diǎn),w(v,y)為節(jié)點(diǎn)y到節(jié)點(diǎn)v的權(quán)值。
步驟309,根據(jù)第一預(yù)設(shè)公式:得到第三節(jié)點(diǎn)和第四節(jié)點(diǎn)的相似度。
其中,u為第三節(jié)點(diǎn),v為第四節(jié)點(diǎn),cu,v為第三節(jié)點(diǎn)和第四節(jié)點(diǎn)的相似度,Wu,v為第一參數(shù),Wu-v為所述第二參數(shù),Wv-u為所述第三參數(shù)。
下面,對(duì)Wu,v、Wu-v、Wv-u進(jìn)行詳細(xì)說(shuō)明。如圖4,圖4是本發(fā)明實(shí)施例提供的邊對(duì)應(yīng)的兩個(gè)節(jié)點(diǎn)及其相鄰節(jié)點(diǎn)關(guān)系示意圖。
節(jié)點(diǎn)p 403,當(dāng)p∈N(u)且p∈N(v)時(shí),用p∈N(u)∩N(v)表示這種關(guān)系。說(shuō)明節(jié)點(diǎn)p 403是第三節(jié)點(diǎn)u 401和第四節(jié)點(diǎn)v402的公共鄰居,節(jié)點(diǎn)p 403、第三節(jié)點(diǎn)u 401和第四節(jié)點(diǎn)v 402構(gòu)成三角關(guān)系。
節(jié)點(diǎn)x 404,當(dāng)x∈N(u)并且時(shí),用x∈(N(u)-N(v))表示這種關(guān)系。節(jié)點(diǎn)x 404僅僅是第三節(jié)點(diǎn)u 401的鄰居,不是第四節(jié)點(diǎn)v402的鄰居。
節(jié)點(diǎn)y 405,當(dāng)y∈N(v)并且時(shí),用y∈(N(v)-N(u))表示這種關(guān)系。節(jié)點(diǎn)y 405僅僅是第四節(jié)點(diǎn)v402的鄰居,不是第三節(jié)點(diǎn)u 401的鄰居。
根據(jù)以上的三種點(diǎn)的集合定義,Wu,v,Wu-v,Wv-u分別表示不同意義的權(quán)值和。
是與第三節(jié)點(diǎn)u 401和第四節(jié)點(diǎn)v 402都相連的節(jié)點(diǎn),用p代表這一類節(jié)點(diǎn),到所述兩個(gè)節(jié)點(diǎn)的權(quán)值和。衡量的是兩個(gè)節(jié)點(diǎn)親密的程度。
是第三節(jié)點(diǎn)u 401的鄰居中不與第四節(jié)點(diǎn)v 402相連的一類節(jié)點(diǎn)到第三節(jié)點(diǎn)u 401的權(quán)值和。
是第四節(jié)點(diǎn)v 402的鄰居中不與第三節(jié)點(diǎn)u 401相連的一類節(jié)點(diǎn)到第四節(jié)點(diǎn)v402的權(quán)值和。
Wu-v,Wv-u衡量的是兩個(gè)節(jié)點(diǎn)的疏離程度。
第一預(yù)設(shè)公式中,用兩個(gè)節(jié)點(diǎn)親密程度與整體權(quán)值的比值表征兩個(gè)節(jié)點(diǎn)相似的程度。如果兩個(gè)節(jié)點(diǎn)的鄰居集合完全重疊,則兩個(gè)節(jié)點(diǎn)相似度為1。如果兩個(gè)節(jié)點(diǎn)的鄰居集合完全不重疊,則這兩個(gè)節(jié)點(diǎn)的相似度為0。
優(yōu)選的,本發(fā)明實(shí)施例的動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法中,第一概率參數(shù)公式為:
其中b(t)為第一概率參數(shù),u為第三節(jié)點(diǎn),v為第四節(jié)點(diǎn),所述為網(wǎng)絡(luò)結(jié)構(gòu)中第三節(jié)點(diǎn)和第四節(jié)點(diǎn)之間的邊,E(t)為網(wǎng)絡(luò)結(jié)構(gòu)中所有邊的集合,為第三節(jié)點(diǎn)和第四節(jié)點(diǎn)的相似度,|E(t)|為網(wǎng)絡(luò)結(jié)構(gòu)中所有邊的集合中邊的數(shù)量,t為時(shí)間,用于區(qū)分不同時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)。
優(yōu)選的,本發(fā)明實(shí)施例的動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法中,第二預(yù)設(shè)公式為:
其中,u為第三節(jié)點(diǎn),v為第四節(jié)點(diǎn),f(cu,v,b)為第三節(jié)點(diǎn)和第四節(jié)點(diǎn)屬于同一社區(qū)的概率,cu,v為第三節(jié)點(diǎn)和第四節(jié)點(diǎn)的相似度,b為概率參數(shù),概率參數(shù)為第一概率參數(shù)或第二概率參數(shù)。
在發(fā)現(xiàn)初始網(wǎng)絡(luò)社區(qū)過程中,第二預(yù)設(shè)公式為:
其中為第二概率,b(t)為第一概率參數(shù)。
在發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)的過程中,第二預(yù)設(shè)公式為:
其中為第一概率,b(t+1)為第二概率參數(shù)。
如圖5,圖5是本發(fā)明實(shí)施例提供的動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法的另一種流程圖。
步驟501,獲得初始網(wǎng)絡(luò)結(jié)構(gòu),當(dāng)?shù)谝淮潍@得網(wǎng)絡(luò)結(jié)構(gòu)時(shí),認(rèn)為獲得的網(wǎng)絡(luò)結(jié)構(gòu)為初始網(wǎng)絡(luò),初始時(shí)間為0,設(shè)為G(0)=(V(0),E(0),W(0)),V(0)為初始網(wǎng)絡(luò)結(jié)構(gòu)中第一節(jié)點(diǎn)的集合,E(0)為第一節(jié)點(diǎn)之間邊的集合,W(0)為每條邊對(duì)應(yīng)的權(quán)值的集合。
步驟502,發(fā)現(xiàn)初始復(fù)雜網(wǎng)絡(luò)社區(qū)。
步驟502,發(fā)現(xiàn)初始網(wǎng)絡(luò)社區(qū)。具體的實(shí)現(xiàn)過程如圖6,圖6是本發(fā)明實(shí)施例提供的發(fā)現(xiàn)初始網(wǎng)絡(luò)社區(qū)方法的一種流程圖。
步驟601,初始時(shí)設(shè)t=0,建立第一相似度值集合C(0)。
步驟602,在所獲得的初始網(wǎng)絡(luò)結(jié)構(gòu)邊集合E(0)中獲得一條邊,通過第一預(yù)設(shè)公式計(jì)算該條邊兩端的第一節(jié)點(diǎn)的相似度,并將該條邊兩端的第一節(jié)點(diǎn)的相似度存儲(chǔ)于第一相似度集合C(0)中。
步驟603,判斷是否遍歷了邊的集合E(0)中所有的邊,若沒有遍歷邊的集合E(0)中所有的邊,則重復(fù)執(zhí)行步驟602,直到邊的集合E(0)中的所有邊兩端的第一節(jié)點(diǎn)都計(jì)算過相似度。
步驟604,根據(jù)第一相似度集合C(0)中的相似度,通過第一概率參數(shù)公式,計(jì)算第一參數(shù)b(0)。
在本步驟中,經(jīng)過步驟602和步驟603后,邊的集合E(0)中每條邊兩端的兩個(gè)第一節(jié)點(diǎn)的相似度為已知,且該相似度都存在于第一相似度集合C(0)中。
步驟605,在邊的集合E(0)中選擇一條邊,在第一相似度集合C(0)中,得到該條邊兩端的第一節(jié)點(diǎn)的相似度,然后根據(jù)步驟604中得到的第一概率參數(shù)b(0)和該邊兩端的第一節(jié)點(diǎn)的相似度,計(jì)算該邊兩端的第一節(jié)點(diǎn)屬于同一社區(qū)的的第二概率。
步驟606,判斷該條邊兩端的第一節(jié)點(diǎn)的相似度是否大于或者等于該條邊兩端的第一節(jié)點(diǎn)的相似度對(duì)應(yīng)的第二概率,并且該條邊兩端的第一節(jié)點(diǎn)是否在同一個(gè)社區(qū)中。
步驟607,如果該條邊兩端的第一節(jié)點(diǎn)的相似度大于或等于該條邊兩端的第一節(jié)點(diǎn)的相似度對(duì)應(yīng)的第二概率,并且該條邊對(duì)應(yīng)的兩個(gè)第一節(jié)點(diǎn)不在一個(gè)社區(qū)中,則將該條邊對(duì)應(yīng)的兩個(gè)第一節(jié)點(diǎn)分別所在的社區(qū)合并為一個(gè)社區(qū)。
步驟608,判斷是否遍歷了邊的集合E(0)中所有的邊,若沒有遍歷邊的集合E(0)中所有的邊,則重復(fù)執(zhí)行步驟605至步驟608,直到遍歷E(0)中的所有邊;
步驟609,若已經(jīng)遍歷了所述邊的集合E(0)中所有的邊,則完成了發(fā)現(xiàn)初始網(wǎng)絡(luò)社區(qū)。
步驟503,判斷是否獲得動(dòng)態(tài)變化后的網(wǎng)絡(luò)結(jié)構(gòu)。完成發(fā)現(xiàn)初始網(wǎng)絡(luò)社區(qū)后,針對(duì)初始網(wǎng)絡(luò)結(jié)構(gòu)就已經(jīng)完成了社區(qū)發(fā)現(xiàn)。此時(shí)需要判斷是否獲得了動(dòng)態(tài)變化后的網(wǎng)絡(luò)結(jié)構(gòu),若獲得了所述動(dòng)態(tài)變化后的網(wǎng)絡(luò)結(jié)構(gòu),則進(jìn)行下一步:跟蹤動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)504。若不再獲得動(dòng)態(tài)變化后的網(wǎng)絡(luò)結(jié)構(gòu),則可以認(rèn)為已經(jīng)完成了網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)。
步驟504,跟蹤動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)。具體的實(shí)現(xiàn)過程如圖7,圖7是本發(fā)明實(shí)施例提供的跟蹤動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)結(jié)構(gòu)方法的一種流程圖。
設(shè)當(dāng)前時(shí)刻為t+1,相應(yīng)的前一時(shí)刻為t,以這個(gè)實(shí)施例說(shuō)明發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)的一般過程,t取值為0,1,2……t。步驟503中,已經(jīng)獲得動(dòng)態(tài)變化后的網(wǎng)絡(luò)結(jié)構(gòu)G(t+1)=(V(t+1),E(t+1),W(t+1)),而前一時(shí)刻t的網(wǎng)絡(luò)結(jié)構(gòu)為G(t)=(V(t),E(t),W(t)),該網(wǎng)絡(luò)結(jié)構(gòu)可以是初始網(wǎng)絡(luò)結(jié)構(gòu)G(0)=(V(0),E(0),W(0))經(jīng)過第一時(shí)間變化后的網(wǎng)絡(luò)結(jié)構(gòu),也可以是已經(jīng)經(jīng)過本實(shí)施列提供的方法進(jìn)行過網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)經(jīng)一定時(shí)間變化后的網(wǎng)絡(luò)結(jié)構(gòu)。
步驟701,建立變化節(jié)點(diǎn)集合S(t+1)。對(duì)比前一時(shí)刻t的網(wǎng)絡(luò)結(jié)構(gòu)G(t)和當(dāng)前時(shí)刻t+1的網(wǎng)絡(luò)結(jié)構(gòu)G(t+1),將連接關(guān)系發(fā)生改變的節(jié)點(diǎn)存儲(chǔ)于變化點(diǎn)集合S(t+1),設(shè)為變化節(jié)點(diǎn);
步驟702,在所述變化點(diǎn)集S(t+1)中獲得一個(gè)節(jié)點(diǎn)u1(t+1),用公示表示為u1(t+1)∈S(t+1),并建立節(jié)點(diǎn)u1(t+1)的鄰居點(diǎn)集
步驟703,在節(jié)點(diǎn)u1(t+1)的鄰居點(diǎn)集中獲得一個(gè)點(diǎn)v1(t+1),用公式表示為節(jié)點(diǎn)u1(t+1)和節(jié)點(diǎn)v1(t+1)之間的邊為計(jì)算邊的兩端的第二節(jié)點(diǎn)的相似度并建立第二相似度集合C(t+1),并將相似度放入第二相似度集合C(t+1);
其中,鄰居點(diǎn)集是節(jié)點(diǎn)u1(t+1)在t+1時(shí)刻所有鄰居節(jié)點(diǎn)的集合。節(jié)點(diǎn)v1(t+1)與節(jié)點(diǎn)u1(t+1)在t+1時(shí)刻相連,即節(jié)點(diǎn)v1(t+1)是節(jié)點(diǎn)u1(t+1)在t+1時(shí)刻的鄰居節(jié)點(diǎn)。
步驟704,判斷是否遍歷了節(jié)點(diǎn)u1(t+1)的鄰居點(diǎn)集中的所有節(jié)點(diǎn),若沒有遍歷節(jié)點(diǎn)u1(t+1)的鄰居點(diǎn)集中的所有節(jié)點(diǎn),則重復(fù)步驟703,直到節(jié)點(diǎn)u1(t+1)與所述鄰居點(diǎn)集中的所有節(jié)點(diǎn)的相似度都存儲(chǔ)于第二相似度集合C(t+1)。
步驟705,判斷是否遍歷了變化節(jié)點(diǎn)集合S(t+1)中的每一個(gè)節(jié)點(diǎn),若沒有遍歷了變化節(jié)點(diǎn)集合S(t+1)中的每一個(gè)節(jié)點(diǎn),則重復(fù)步驟702至步驟705,直到變化節(jié)點(diǎn)集合S(t+1)中的每一個(gè)節(jié)點(diǎn)與該節(jié)點(diǎn)對(duì)應(yīng)的鄰居點(diǎn)集的每一個(gè)節(jié)點(diǎn)的相似度都存儲(chǔ)于所述相似度集合C(t+1)。
步驟706,利用所述相似度集合C(t+1)中的數(shù)據(jù),獲得第二概率參數(shù)b(t+1)。
步驟707,對(duì)比前一時(shí)刻t的網(wǎng)絡(luò)結(jié)構(gòu)G(t)和當(dāng)前時(shí)刻t+1的網(wǎng)絡(luò)結(jié)構(gòu)G(t+1),對(duì)于原有連接關(guān)系沒有發(fā)生變化的邊,其兩端的第二節(jié)點(diǎn)的相似度保留上一次計(jì)算結(jié)果,并將沒有變化邊對(duì)應(yīng)的兩個(gè)第二節(jié)點(diǎn)的相似度數(shù)據(jù)從第一相似度集合C(t)合并至第二相似度集合C(t+1)中,獲得第三相似度集合,至此邊的集合E(t+1)中的每一條邊兩端第二節(jié)點(diǎn)的相似度都存在第三相似度集合中。
步驟708,在邊的集合E(t+1)中獲得一條邊,在第三相似度集合中,得到該條邊兩端的第二節(jié)點(diǎn)的相似度,然后根據(jù)步驟706中得到第二概率參數(shù)b(t+1)計(jì)算該條邊兩端的第二節(jié)點(diǎn)屬于同一社區(qū)的第一概率。
步驟709,判斷該條邊兩端的第二節(jié)點(diǎn)的相似度是否大于或者等于該條邊兩端的第二節(jié)點(diǎn)的相似度對(duì)應(yīng)的第一概率,并且該條邊兩端的第二節(jié)點(diǎn)是否在一個(gè)社區(qū)中;
步驟710,如果該條邊兩端的節(jié)點(diǎn)的相似度大于或等于該條邊兩端的第二節(jié)點(diǎn)相似度對(duì)應(yīng)的第一概率,并且該條邊兩端的第二節(jié)點(diǎn)不在一個(gè)社區(qū)中,則將該條邊兩端的第二節(jié)點(diǎn)分別所在的社區(qū)合并為一個(gè)社區(qū);
步驟711,判斷是否遍歷了當(dāng)前時(shí)刻t+1的網(wǎng)絡(luò)結(jié)構(gòu)G(t+1)中邊的集合E(t+1)中所有的邊,若沒有遍歷邊的集合E(t+1)中所有的邊,則重復(fù)執(zhí)行步驟708至步驟711,直到遍歷E(t+1)中的所有邊;
步驟712,若已經(jīng)遍歷了所述邊集合E(t+1)中所有的邊,則完成發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)。
上述步驟中,在邊的集合E(t+1)中獲取邊的具體過程中,選擇邊的順序不影響結(jié)果。
步驟505,完成復(fù)雜網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn),若不再獲得動(dòng)態(tài)變化后的網(wǎng)絡(luò)結(jié)構(gòu),則可以認(rèn)為已經(jīng)完成了動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)。
顯然,完成了動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)后,又一次獲得動(dòng)態(tài)網(wǎng)絡(luò)結(jié)構(gòu),則再次執(zhí)行步驟504,發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)。直至不再獲得動(dòng)態(tài)變化后的網(wǎng)絡(luò)結(jié)構(gòu)。
在本實(shí)施列中,在整個(gè)發(fā)現(xiàn)網(wǎng)絡(luò)社區(qū)的過程中,均沒有引入人為的參數(shù)從而保證了較好的客觀性。使得該網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法可以廣泛的應(yīng)用于所有的復(fù)雜網(wǎng)絡(luò)。
如圖8,圖8是本發(fā)明實(shí)施例提供的發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)裝置的結(jié)構(gòu)圖,其中包括:
初始網(wǎng)絡(luò)結(jié)構(gòu)獲取模塊801,用于初始網(wǎng)絡(luò)結(jié)構(gòu)獲取模塊,用于獲取初始網(wǎng)絡(luò)結(jié)構(gòu)、第一相似度集合及第一概率參數(shù),其中,初始網(wǎng)絡(luò)結(jié)構(gòu)包括:多個(gè)第一節(jié)點(diǎn)、第一節(jié)點(diǎn)之間的邊,以及第一節(jié)點(diǎn)之間的邊對(duì)應(yīng)的第一權(quán)值,第一相似度集合為每條邊兩端的第一節(jié)點(diǎn)的相似度所組成的集合。
動(dòng)態(tài)網(wǎng)絡(luò)結(jié)構(gòu)獲取模塊802,用于獲取初始網(wǎng)絡(luò)結(jié)構(gòu)變化后的網(wǎng)絡(luò)結(jié)構(gòu),其中,變化后的網(wǎng)絡(luò)結(jié)構(gòu)包括:多個(gè)第二節(jié)點(diǎn)、第二節(jié)點(diǎn)之間的邊,以及第二節(jié)點(diǎn)之間的邊對(duì)應(yīng)的第二權(quán)值。
網(wǎng)絡(luò)結(jié)構(gòu)比較模塊803,用于比較多個(gè)第一節(jié)點(diǎn)與多個(gè)第二節(jié)點(diǎn),并比較第一節(jié)點(diǎn)之間的邊及第二節(jié)點(diǎn)之間的邊,確定變化后的網(wǎng)絡(luò)結(jié)構(gòu)中的變化節(jié)點(diǎn)集合。
第一相似度獲取模塊804,用于根據(jù)第二權(quán)值,通過第一預(yù)設(shè)公式,分別計(jì)算變化節(jié)點(diǎn)集合中每個(gè)變化節(jié)點(diǎn)、與每個(gè)變化節(jié)點(diǎn)連接的鄰居節(jié)點(diǎn)的相似度,得到所有變化節(jié)點(diǎn)與變化節(jié)點(diǎn)連接的鄰居節(jié)點(diǎn)的相似度組成的第二相似度集合,其中,每個(gè)變化節(jié)點(diǎn)分別連接多個(gè)鄰居節(jié)點(diǎn)。
第一參數(shù)獲取模塊805,用于根據(jù)第二相似度集合以及第一概率參數(shù),通過第二概率參數(shù)公式,得到第二概率參數(shù)。
第一概率獲取模塊806:用于根據(jù)第二概率參數(shù)和變化后的網(wǎng)絡(luò)結(jié)構(gòu)的第三相似度集合,通過第二預(yù)設(shè)公式,確定變化后的網(wǎng)絡(luò)結(jié)構(gòu)中每條邊兩端的第二節(jié)點(diǎn)屬于同一社區(qū)的第一概率,其中,第三相似度集合包括:第二相似度集合及除第二相似度集合以外的其他第二節(jié)點(diǎn)的相似度。
動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)模塊807,用于比較每條邊兩端的第二節(jié)點(diǎn)的相似度與每條邊兩端的第二節(jié)點(diǎn)的相似度對(duì)應(yīng)的第一概率,將每條邊兩端的第二節(jié)點(diǎn)的相似度大于或等于所述對(duì)應(yīng)的第一概率的邊、兩端的第二節(jié)點(diǎn)劃分為同一社區(qū),遍歷變化后的網(wǎng)絡(luò)結(jié)構(gòu)的所有邊,發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)。
在本實(shí)施列中,所有用于網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)的參數(shù),均通過網(wǎng)絡(luò)結(jié)構(gòu)的本身具有的特征計(jì)算而來(lái),沒有引入任何認(rèn)為設(shè)定的參數(shù),從而保證了較好的客觀性。使得該網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法可以廣泛的應(yīng)用于所有的復(fù)雜網(wǎng)絡(luò)。
本發(fā)明實(shí)施例的裝置是應(yīng)用上述一種動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法的裝置,則上述一種動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)方法的所有實(shí)施例均適用于該裝置,且均能達(dá)到相同或相似的有益效果。
本發(fā)明實(shí)施例的一種發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)裝置中第一參數(shù)獲取模塊805包括:
第一獲取子模塊,用于根據(jù)公式:
當(dāng)β≤0時(shí),根據(jù)公式:得到所述第二概率參數(shù)。
第二獲取子模塊,用于根據(jù)公式:
當(dāng)β>0時(shí),根據(jù)公式:得到所述第二概率參數(shù)。
其中,β為變化后的網(wǎng)絡(luò)結(jié)構(gòu)與初始網(wǎng)絡(luò)結(jié)構(gòu)的相關(guān)程度,|S(t+1)|為變化節(jié)點(diǎn)集合中第二節(jié)點(diǎn)的總個(gè)數(shù),|V(t)|為初始網(wǎng)絡(luò)結(jié)構(gòu)中第一節(jié)點(diǎn)的總個(gè)數(shù),t為時(shí)間,用于區(qū)分不同時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu),t+1為t時(shí)刻的下一時(shí)刻,b(t+1)為第二概率參數(shù),b(t)為第一概率參數(shù),m為一個(gè)第二節(jié)點(diǎn),n為一個(gè)第二節(jié)點(diǎn),m,n為不同的第二節(jié)點(diǎn),為第二節(jié)點(diǎn)m和第二節(jié)點(diǎn)n的相似度,C(t+1)為第二相似度集合,為第二節(jié)點(diǎn)m和第二節(jié)點(diǎn)n的相似度屬于第二相似度集合C(t+1),|C(t+1)|為第二相似度集合中相似度的個(gè)數(shù),所述t為大于等于0的自然數(shù)。
本發(fā)明實(shí)施例的一種發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)裝置中的初始網(wǎng)絡(luò)結(jié)構(gòu)獲取模塊801包括:
網(wǎng)絡(luò)結(jié)構(gòu)獲取子模塊,用于獲取網(wǎng)絡(luò)結(jié)構(gòu),其中,網(wǎng)絡(luò)結(jié)構(gòu)包括:多個(gè)節(jié)點(diǎn)、兩個(gè)節(jié)點(diǎn)之間的邊,以及兩個(gè)節(jié)點(diǎn)之間的邊對(duì)應(yīng)的權(quán)值。
第二相似度獲取子模塊,用于根據(jù)兩個(gè)節(jié)點(diǎn)之間的邊對(duì)應(yīng)的權(quán)值,通過第一預(yù)設(shè)公式,得到邊兩端的節(jié)點(diǎn)的相似度,并將所有邊兩端的節(jié)點(diǎn)的相似度組成第一相似度集合。
第二參數(shù)獲取子模塊,用于根據(jù)第一相似度集合,通過第一概率參數(shù)公式,得到第一概率參數(shù)。
第二概率獲取子模塊,用于根據(jù)第一概率參數(shù)和所述網(wǎng)絡(luò)結(jié)構(gòu)中每條邊兩端的節(jié)點(diǎn)的相似度,通過第二預(yù)設(shè)公式,確定每條邊兩端的兩個(gè)節(jié)點(diǎn)屬于同一社區(qū)的第二概率。
初始網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn)子模塊,用于分別比較每條邊兩端的節(jié)點(diǎn)的相似度與每條邊兩端的節(jié)點(diǎn)的相似度對(duì)應(yīng)的第二概率,將每條邊兩端的節(jié)點(diǎn)的相似度大于或等于對(duì)應(yīng)的第二概率的邊、兩端的節(jié)點(diǎn)劃分為同一社區(qū),遍歷網(wǎng)絡(luò)結(jié)構(gòu)的所有邊,發(fā)現(xiàn)初始網(wǎng)絡(luò)社區(qū)。
本發(fā)明實(shí)施例的一種發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)裝置中的第二參數(shù)獲取子模塊,包括:
第一概率參數(shù)計(jì)算單元,其中計(jì)算第一概率參數(shù)使用公式為:
其中b(t)為第一概率參數(shù),u為第三節(jié)點(diǎn),v為第四節(jié)點(diǎn),所述為網(wǎng)絡(luò)結(jié)構(gòu)中第三節(jié)點(diǎn)和第四節(jié)點(diǎn)之間的邊,E(t)為網(wǎng)絡(luò)結(jié)構(gòu)中所有邊的集合,為第三節(jié)點(diǎn)和第四節(jié)點(diǎn)的相似度,|E(t)|為網(wǎng)絡(luò)結(jié)構(gòu)中所有邊的集合中邊的數(shù)量,t為時(shí)間,用于區(qū)分不同時(shí)刻的網(wǎng)絡(luò)結(jié)構(gòu)。
本發(fā)明實(shí)施例的一種發(fā)現(xiàn)動(dòng)態(tài)網(wǎng)絡(luò)社區(qū)裝置中的第二概率獲取子模塊,包括:
概率獲取子單元,其中計(jì)算第二概率所使用的第二預(yù)設(shè)公式為:
其中,u為第三節(jié)點(diǎn),v為第四節(jié)點(diǎn),f(cu,v,b)為第三節(jié)點(diǎn)和第四節(jié)點(diǎn)屬于同一社區(qū)的概率,cu,v為第三節(jié)點(diǎn)和第四節(jié)點(diǎn)的相似度,b為概率參數(shù),概率參數(shù)為第一概率參數(shù)或第二概率參數(shù)。
需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用于將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說(shuō)明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。