本發(fā)明涉及社會網(wǎng)絡(luò)分析中的社團(tuán)發(fā)現(xiàn)領(lǐng)域,具體涉及一種基于核心三角用于分析社交網(wǎng)絡(luò)中的局部社團(tuán)發(fā)現(xiàn)應(yīng)用方法。
背景技術(shù):
目前,社團(tuán)發(fā)現(xiàn)研究領(lǐng)域的研究熱點主要有社團(tuán)的重疊性,局部社團(tuán)發(fā)現(xiàn),異構(gòu)網(wǎng)絡(luò)的社團(tuán)發(fā)現(xiàn),動態(tài)網(wǎng)絡(luò)的社團(tuán)發(fā)現(xiàn)等等。本發(fā)明著重于社團(tuán)網(wǎng)絡(luò)的局部性特征。隨著社團(tuán)發(fā)現(xiàn)研究的進(jìn)展,以及現(xiàn)實世界中社交網(wǎng)絡(luò)規(guī)模的不斷增大,社團(tuán)發(fā)現(xiàn)方法研究方向也逐漸向超大規(guī)模社交網(wǎng)絡(luò)的社團(tuán)發(fā)現(xiàn)傾斜。在信息爆炸的當(dāng)代,在海量數(shù)據(jù)生成的社交網(wǎng)絡(luò)之中,獲取網(wǎng)絡(luò)的全局結(jié)構(gòu)信息變得十分困難,且通過全局的網(wǎng)絡(luò)結(jié)構(gòu)信息來生成整個網(wǎng)絡(luò)的社團(tuán)劃分所需時間及計算成本變得過于高昂。而傳統(tǒng)的應(yīng)用于社交網(wǎng)絡(luò)之上的社團(tuán)發(fā)現(xiàn)方法通常依賴于全局網(wǎng)絡(luò)結(jié)構(gòu)信息的獲取,進(jìn)而難以應(yīng)用于大規(guī)模社交網(wǎng)絡(luò),因此基于局部信息社團(tuán)結(jié)構(gòu)發(fā)現(xiàn)越來越受到重視。
所謂局部社團(tuán)發(fā)現(xiàn),即不依賴網(wǎng)絡(luò)全局結(jié)構(gòu)信息,基于一個初始節(jié)點或社團(tuán),通過某個節(jié)點或者邊的局部信息進(jìn)行擴(kuò)散的方法。該類方法由于在生成一個社團(tuán)時不需要獲取網(wǎng)絡(luò)的全局結(jié)構(gòu)信息,大大加快了社團(tuán)生成的速度。社交網(wǎng)絡(luò)規(guī)模通常非常龐大,獲取全局網(wǎng)絡(luò)的社團(tuán)劃分通常成本較高且沒有必要,基于單個用戶的社團(tuán)結(jié)構(gòu)分析往往更具有實用價值。
技術(shù)實現(xiàn)要素:
本發(fā)明即針對社交網(wǎng)絡(luò)的社團(tuán)發(fā)現(xiàn)問題提出了一種解決方案,即適用于社交網(wǎng)絡(luò)的基于核心三角的局部社團(tuán)發(fā)現(xiàn)方法。
具體技術(shù)方案如下:適用于社交網(wǎng)絡(luò)的基于核心三角的局部社團(tuán)發(fā)現(xiàn)方法包括如下步驟:
1)核心三角選取階段:
a確定核心節(jié)點;
b找到核心節(jié)點與其鄰居節(jié)點構(gòu)成的所有三角形;
c選取度數(shù)最高的作為核心三角;
d結(jié)束;
2)局部社團(tuán)擴(kuò)張階段:
a核心三角作為初始社團(tuán);
b計算每個社團(tuán)鄰居節(jié)點的節(jié)點適應(yīng)度;
c選取節(jié)點適應(yīng)度最大的鄰居節(jié)點加入社團(tuán)迭代生成局部社團(tuán);
d結(jié)束;
3)局部社團(tuán)合并階段:
a計算兩局部社團(tuán)之間相似度;
b基于相似度閾值兩兩合并局部社團(tuán);
c結(jié)束。
本發(fā)明中,步驟1)-a中所述核心節(jié)點由使用者自行確定。
本發(fā)明中,步驟1)-b中所述的三角形由以下公式定義:
t=δ{va|(vb,vc)∈a}
其中a是節(jié)點va的所有鄰居節(jié)點集合,vb、vc是集合a中的節(jié)點。
本發(fā)明中,2)-b中所述節(jié)點適應(yīng)度的定義如下:
對于當(dāng)前局部社團(tuán),社團(tuán)適應(yīng)度由以下公式定義:
其中,α∈(0,1]為一個用以控制社團(tuán)規(guī)模大小的參數(shù)。
根據(jù)以上局部社團(tuán)適應(yīng)度fg的定義,可以給出一個不屬于社團(tuán)g的節(jié)點v的節(jié)點適應(yīng)度,即將節(jié)點v加入局部社團(tuán)后,局部社團(tuán)g的適應(yīng)度的增量:
其中,fg+v表示加入了節(jié)點v后的局部社團(tuán)的適應(yīng)度,fg+v與fg的差值即是節(jié)點v對局部社團(tuán)g的適應(yīng)度的貢獻(xiàn)度
本發(fā)明中,步驟3)-b中所述兩局部社團(tuán)之間相似度由以下公式定義:
其中ci∩cj為社團(tuán)ci和cj中共有節(jié)點總數(shù),min(ci,cj)為ci和cj兩者中節(jié)點數(shù)最少的數(shù)值。制定參數(shù)∈,若兩社團(tuán)間相似度
本發(fā)明的有益效果:本發(fā)明的一種適用于社交網(wǎng)絡(luò)的基于核心三角的局部社團(tuán)發(fā)現(xiàn)方法,通過核心三角尋找,局部社團(tuán)擴(kuò)張等階段,能夠有效地生成社交網(wǎng)絡(luò)中局部社團(tuán)結(jié)構(gòu)劃分。有效解決了基于全局網(wǎng)絡(luò)結(jié)構(gòu)信息的社團(tuán)發(fā)現(xiàn)方法計算效率低的問題。
附圖說明
圖1為適用于社交網(wǎng)絡(luò)的基于核心三角的局部社團(tuán)發(fā)現(xiàn)方法的流程圖。
圖2為選取核心三角的流程圖。
圖3為基于核心三角擴(kuò)張生成一個局部社團(tuán)的流程圖。
具體實施方式
為了更了解本發(fā)明的技術(shù)內(nèi)容,特舉具體實施例并配合所附圖式說明如下。
如圖1為本發(fā)明實施適用于社交網(wǎng)絡(luò)的基于核心三角的局部社團(tuán)發(fā)現(xiàn)方法的流程圖,具體步驟描述如下:
步驟1-0是該流程的開始;
步驟1-1是確定核心節(jié)點;
步驟1-2是找到核心節(jié)點與其鄰居節(jié)點構(gòu)成的所有三角形,三角形由以下公式定義:
t=δ{va|(vb,vc)∈a}
其中a是節(jié)點va的所有鄰居節(jié)點集合,vb、vc是集合a中的節(jié)點;
步驟1-3是選取度數(shù)最高的作為核心三角;
步驟1-4是基于核心三角初始化局部社團(tuán);
步驟1-5是計算局部社團(tuán)所有鄰居節(jié)點的適應(yīng)度;
步驟1-6是選取適應(yīng)度最高的節(jié)點加入到局部社團(tuán)當(dāng)中;
步驟1-7是計算兩兩局部社團(tuán)之間的相似度,具體相似度公式如下:
步驟1-8是若兩社團(tuán)的相似度大于一定的閾值∈,則兩社團(tuán)相似,將兩社團(tuán)合并為一個社團(tuán),該過程迭代進(jìn)行,直至所有局部社團(tuán)之間都不相似為止,設(shè)定閾值參數(shù)∈為0.7;
步驟1-9是該流程的結(jié)束。
如圖2所示,本發(fā)明在核心三角選取階段的方法流程圖,具體步驟描述如下:
步驟2-0是該流程的開始;
步驟2-1是選取核心節(jié)點a,并初始化核心三角集合t,初始值為空;
步驟2-2是分別遍歷節(jié)點a的鄰居節(jié)點b和c;
步驟2-3是判斷是否遍歷過所有的鄰居節(jié)點,若遍歷結(jié)束,跳轉(zhuǎn)到步驟2-7;過沒有遍歷結(jié)束,繼續(xù)步驟2-4;
步驟2-4是判斷節(jié)點a,b,c是否能夠構(gòu)成一個三角形t,若不能構(gòu)成三角形,跳轉(zhuǎn)到步驟2-2;若能夠構(gòu)成一個三角形,繼續(xù)步驟2-5;
步驟2-5是判斷由節(jié)點a,b,c構(gòu)成的三角形t的度數(shù)總和是否大于集合t的度數(shù)總和,若不大于,跳轉(zhuǎn)到步驟2-2;若大于,繼續(xù)步驟2-6;
步驟2-6是更新集合t,先清空集合t,并將節(jié)點a,b,c加入到集合t中,并跳轉(zhuǎn)到步驟2-2;
步驟2-7是該流程的結(jié)束;
如圖3所示,本發(fā)明在局部社團(tuán)擴(kuò)張階段的方法流程圖,具體步驟描述如下:
步驟2-0是該流程的開始;
步驟3-1是基于核心三角初始化局部社團(tuán)d,并初始化該局部社團(tuán)的鄰居節(jié)點集和s;
步驟3-2是計算集合s中所有節(jié)點的節(jié)點適應(yīng)度,具體計算方法如下:
1)使用如下公式計算當(dāng)前社團(tuán)的適應(yīng)度:
2)使用如下計算當(dāng)前社團(tuán)加入節(jié)點v的適應(yīng)度增量:
步驟3-3是判斷是否集合s中所有節(jié)點適應(yīng)度皆小于0,若都小于0,跳轉(zhuǎn)到步驟3-6;若不是,繼續(xù)步驟3-4;
步驟3-4是選取集合s中適應(yīng)度最高的節(jié)點加入當(dāng)前社團(tuán);
步驟3-5是更新節(jié)點集合d,s,將適應(yīng)度最高的節(jié)點加入d,并將新的與d鄰接且不屬于d的節(jié)點加入s,并跳轉(zhuǎn)到步驟3-2;
步驟3-6是流程的結(jié)束,輸出局部社團(tuán)劃分的集合d。
綜上所述,本發(fā)明的一種適用于社交網(wǎng)絡(luò)的基于核心三角的局部社團(tuán)發(fā)現(xiàn)方法,通過核心三角尋找,局部社團(tuán)擴(kuò)張等階段,能夠有效地生成社交網(wǎng)絡(luò)中局部社團(tuán)結(jié)構(gòu)劃分。有效解決了基于全局網(wǎng)絡(luò)結(jié)構(gòu)信息的社團(tuán)發(fā)現(xiàn)方法計算效率低的問題。
雖然本發(fā)明已以較佳實施例揭露如上,然其并非用以限定本發(fā)明。本發(fā)明所屬技術(shù)領(lǐng)域中具有通常知識者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作各種的更動與潤飾。因此,本發(fā)明的保護(hù)范圍當(dāng)視權(quán)利要求書所界定者為準(zhǔn)。