一種社交網(wǎng)絡(luò)中的動態(tài)社區(qū)檢測方法
【專利摘要】本發(fā)明涉及社交網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,特別是一種社交網(wǎng)絡(luò)中的動態(tài)社區(qū)檢測方法,所述方法包括如下步驟:對于動態(tài)變化的社交網(wǎng)絡(luò),獲取社交網(wǎng)絡(luò)的某個時間片(時刻)的快照,構(gòu)造快照的社交網(wǎng)絡(luò)圖;首先對初始時刻的社交網(wǎng)絡(luò)圖進行社區(qū)劃分,對社交網(wǎng)絡(luò)的后續(xù)某個時間片(時刻)的快照,則通過與上一時刻快照的對比,找出增量節(jié)點集合;計算增量節(jié)點所占比例,如果增量節(jié)點比例超出指定閾值,對完整的快照網(wǎng)絡(luò)進行社區(qū)劃分,反之僅對增量節(jié)點集合進行社區(qū)劃分,獲得社交網(wǎng)絡(luò)的某個時刻快照的社區(qū)結(jié)構(gòu)。所述方法可有效的挖掘社交網(wǎng)絡(luò)中的社區(qū)結(jié)構(gòu),可應(yīng)用于目標(biāo)群體挖掘、精確營銷等領(lǐng)域。
【專利說明】—種社交網(wǎng)絡(luò)中的動態(tài)社區(qū)檢測方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及社交網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,特別是一種社交網(wǎng)絡(luò)中的動態(tài)社區(qū)檢測方法。
【背景技術(shù)】
[0002]從社交網(wǎng)絡(luò)中檢測社區(qū)結(jié)構(gòu)是社交網(wǎng)絡(luò)分析中的一項重要任務(wù),無論是理論上還是實際應(yīng)用中都具有十分重要的意義。通過挖掘網(wǎng)絡(luò)中的社區(qū)結(jié)構(gòu),能夠發(fā)現(xiàn)網(wǎng)絡(luò)中隱含的組織結(jié)構(gòu)信息、社會功能以及社區(qū)成員之間隱含的有趣屬性,如共同愛好等。通過研究社交網(wǎng)絡(luò)中社區(qū)之間、個體之間以及個體與社區(qū)之間的關(guān)系,可以挖掘出大量有價值的信息,可應(yīng)用于許多領(lǐng)域。
[0003]現(xiàn)有的社區(qū)檢測方法多是基于靜態(tài)社會網(wǎng)絡(luò),即認(rèn)為社會網(wǎng)絡(luò)中節(jié)點集合和邊集合是不變的,社區(qū)結(jié)構(gòu)也是穩(wěn)定不變的。這些方法可以大致分為兩大類:基于優(yōu)化的方法和啟發(fā)式的方法。前者通過最優(yōu)化預(yù)定義的目標(biāo)函數(shù)來檢測社區(qū)結(jié)構(gòu),如譜方法將社區(qū)檢測問題轉(zhuǎn)化為二次型優(yōu)化問題。啟發(fā)式方法是將問題轉(zhuǎn)化為預(yù)定義啟發(fā)式規(guī)則設(shè)計問題,如Girvan-Newman的啟發(fā)式規(guī)則是尋找邊界數(shù)最大的邊,然后依次刪除;MFC則是通過計算最小截集識別社區(qū)間連接,HITS的啟發(fā)式規(guī)則是基于權(quán)威-中心頁面間相互指向的連接關(guān)系。此外,社區(qū)檢測的另一個思路是采用K-MEANS、DBSCAN等經(jīng)典聚類方法對網(wǎng)絡(luò)進行聚類,形成社區(qū)結(jié)構(gòu)。這類方法對參數(shù)敏感,且需要社區(qū)數(shù)量的先驗知識。隨著社會網(wǎng)絡(luò)規(guī)模日益龐大,傳統(tǒng)社區(qū)檢測方法的時間復(fù)雜度過高,難以滿足社區(qū)檢測的應(yīng)用要求,出現(xiàn)了一種較為高效的社區(qū)檢測方法:標(biāo)簽傳播方法。標(biāo)簽傳播方法初始階段給每個節(jié)點賦予唯一標(biāo)簽,在每一輪迭代中,每個節(jié)點根據(jù)其最多鄰居擁有的標(biāo)簽更新自己的標(biāo)簽。標(biāo)簽傳播方法可以獲得接近線性的時間復(fù)雜度,運行效率高,但是應(yīng)用于大規(guī)模網(wǎng)絡(luò)中還存在穩(wěn)定性問題。
[0004]實際中的社交網(wǎng)絡(luò)呈動態(tài)特性,即社交網(wǎng)絡(luò)的結(jié)構(gòu)是隨時間的變化而變化的,不斷有節(jié)點加入、退出,因此動態(tài)社區(qū)檢測在實際應(yīng)用中具有更重要的價值。如果當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生變化時都采用靜態(tài)方法進行社區(qū)檢測,不僅容易在相鄰時刻網(wǎng)絡(luò)上產(chǎn)生具有較大差異的社區(qū)發(fā)現(xiàn)結(jié)果,而且對大量節(jié)點進行沒有必要的重復(fù)檢測,導(dǎo)致較高的時間復(fù)雜度Yu-Ru等提出一種成為FacetNet的動態(tài)社區(qū)劃分框架,將社區(qū)檢測和社區(qū)進化融為一體,時刻的社區(qū)結(jié)構(gòu)由歷史社區(qū)劃分提供先驗分布結(jié)合當(dāng)前時刻網(wǎng)絡(luò)拓撲決定當(dāng)前社區(qū)結(jié)構(gòu),生成社區(qū)采用stochastic block模型,在不同時刻網(wǎng)絡(luò)劃分中社區(qū)之間的匹配問題采用一種迭代的EM方法,但FacetNet依賴網(wǎng)絡(luò)社區(qū)數(shù)目的先驗知識,而社區(qū)數(shù)目在實際情況中很難準(zhǔn)確獲取。FacetNet在大型網(wǎng)絡(luò)中,需要多次迭代才能使矩陣收斂,不適合大規(guī)模數(shù)據(jù)的處理。
[0005]綜上,現(xiàn)有的社交網(wǎng)絡(luò)社區(qū)檢測方法從發(fā)現(xiàn)的社區(qū)結(jié)構(gòu)質(zhì)量以及時間效率上看都尚有很大的提升空間。面對大規(guī)模社交網(wǎng)絡(luò)的場景,現(xiàn)有方法無論是在效果和效率上都難以滿足要求。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于提供一種社交網(wǎng)絡(luò)中的動態(tài)社區(qū)檢測方法,該方法有利于提高社區(qū)檢測的精度和效率。
[0007]為實現(xiàn)上述目的,本發(fā)明的技術(shù)方案是:一種社交網(wǎng)絡(luò)中的動態(tài)社區(qū)檢測方法,包括以下步驟:
步驟A:獲取社交網(wǎng)絡(luò)一時刻U的快照數(shù)據(jù),作為初始的社交網(wǎng)絡(luò)快照,并構(gòu)造以社交網(wǎng)絡(luò)用戶為節(jié)點、用戶關(guān)系為邊的社交網(wǎng)絡(luò)圖6^=%+ E^1) , Kh表示時刻的社交網(wǎng)絡(luò)圖Gi'的節(jié)點集合,瓦.表示時刻tH的社交網(wǎng)絡(luò)圖Gi'的邊集合;
步驟B:對于時刻ti'的社交網(wǎng)絡(luò)圖,進行社區(qū)劃分,獲得社交網(wǎng)絡(luò)在時刻h'的社區(qū)結(jié)構(gòu);
步驟C:順序獲取社交網(wǎng)絡(luò)下一時刻h的快照數(shù)據(jù),構(gòu)造社交網(wǎng)絡(luò)圖GMVj, E1),Vj表示時刻h的社交網(wǎng)絡(luò)圖Gi的節(jié)點集合,Ei表示時刻ti的社交網(wǎng)絡(luò)圖Gi的邊集合,然后獲得時刻h的社交網(wǎng)絡(luò)圖Gi與上一時刻U的社交網(wǎng)絡(luò)圖Gi'相比發(fā)生變化的節(jié)點集合,即增量節(jié)點集合VCj ;
步驟D:根據(jù)所述增量節(jié)點集合叱;.,計算增量節(jié)點占節(jié)點總數(shù)的比例,即增量節(jié)點比
例;
步驟E:根據(jù)所述增量節(jié)點比例,若增量節(jié)點比例大于設(shè)定閾值,則對社交網(wǎng)絡(luò)圖G中所有的節(jié)點重新進行社區(qū)劃分,若增量節(jié)點比例小于設(shè)定閾值,則社交網(wǎng)絡(luò)圖G中不屬于增量節(jié)點集合的節(jié)點維持原有的標(biāo)簽不變,保持原來的社區(qū)歸屬,僅對屬于增量節(jié)點集合的節(jié)點進行社區(qū)劃分,更新增量節(jié)點集合中節(jié)點的社區(qū)標(biāo)簽;社區(qū)劃分結(jié)束后,根據(jù)每個節(jié)點所擁有的社區(qū)標(biāo)簽,將擁有相同標(biāo)簽的節(jié)點`屬到同一社區(qū),獲得社交網(wǎng)絡(luò)在時刻h的社區(qū)結(jié)構(gòu)。
[0008]進一步地,所述步驟B中,使用靜態(tài)標(biāo)簽傳播方法進行社區(qū)劃分,具體包括以下步驟:
步驟B1:根據(jù)社交網(wǎng)絡(luò)圖,通過密度聚類方法進行節(jié)點標(biāo)簽初始化,為社交網(wǎng)絡(luò)圖中的每個節(jié)點分配一個標(biāo)簽;
步驟B2:根據(jù)標(biāo)簽更新規(guī)則,對社交網(wǎng)絡(luò)圖中的每個節(jié)點進行標(biāo)簽更新,反復(fù)迭代,直到滿足迭代終止條件;
步驟B3:根據(jù)迭代終止時節(jié)點所分配的標(biāo)簽,將具有相同標(biāo)簽的節(jié)點歸屬到同一社區(qū),輸出社區(qū)結(jié)構(gòu)。
[0009]進一步地,所述步驟BI中,采用基于相似度的密度聚類方法為節(jié)點分配標(biāo)簽,以增強后續(xù)標(biāo)簽傳播過程的穩(wěn)定性,具體包括以下步驟:
步驟Bll:遍歷社交網(wǎng)絡(luò)中的每個節(jié)點,將所有節(jié)點設(shè)為未分配標(biāo)簽狀態(tài);
步驟B12:核心節(jié)點選擇與核心區(qū)域擴展:遍歷社交網(wǎng)絡(luò)圖中的每個節(jié)點,如果節(jié)點^是未分配標(biāo)簽狀態(tài),且符合核心節(jié)點定義,產(chǎn)生一個新的標(biāo)簽分配給節(jié)點r并對節(jié)點r進行擴展;將節(jié)點r的標(biāo)簽賦予所有滿足與節(jié)點r是直接可達關(guān)系的節(jié)點,并將這些節(jié)點加入到一個初始為空的隊列中,再遍歷隊列中的節(jié)點,從這些節(jié)點出發(fā)進行擴展,賦予和節(jié)點^相同的標(biāo)簽,得到核心區(qū)域;如果節(jié)點r是未分配標(biāo)簽狀態(tài),且不符合核心節(jié)點定義,將節(jié)點r標(biāo)記為孤立節(jié)點;
步驟B13:孤立節(jié)點處理:為標(biāo)記為孤立節(jié)點的節(jié)點分配新的社區(qū)標(biāo)簽。[0010]進一步地,對社交網(wǎng)絡(luò)圖(Ki+ E1-)進行標(biāo)簽初始化過程中,節(jié)點r是核心節(jié)點的充分必要條件是:節(jié)點r的e鄰居節(jié)點集合Ur)的基數(shù)大于等于預(yù)定義的最少e鄰居節(jié)點個數(shù)々,定義如下:
【權(quán)利要求】
1.一種社交網(wǎng)絡(luò)中的動態(tài)社區(qū)檢測方法,其特征在于,所述方法包括以下步驟: 步驟A:獲取社交網(wǎng)絡(luò)一時刻的快照數(shù)據(jù),作為初始的社交網(wǎng)絡(luò)快照,并構(gòu)造以社交網(wǎng)絡(luò)用戶為節(jié)點、用戶關(guān)系為邊的社交網(wǎng)絡(luò)圖E^1), Kh1表示時刻的社交網(wǎng)絡(luò)圖Gi'的節(jié)點集合,瓦.表示時刻tH的社交網(wǎng)絡(luò)圖Gi'的邊集合; 步驟B:對于時刻ti'的社交網(wǎng)絡(luò)圖,進行社區(qū)劃分,獲得社交網(wǎng)絡(luò)在時刻h'的社區(qū)結(jié)構(gòu); 步驟C:順序獲取社交網(wǎng)絡(luò)下一時刻h的快照數(shù)據(jù),構(gòu)造社交網(wǎng)絡(luò)圖GMVj, E1),Vj表示時刻h的社交網(wǎng)絡(luò)圖Gi的節(jié)點集合,Ei表示時刻ti的社交網(wǎng)絡(luò)圖Gi的邊集合,然后獲得時刻h的社交網(wǎng)絡(luò)圖Gi與上一時刻U的社交網(wǎng)絡(luò)圖Gi'相比發(fā)生變化的節(jié)點集合,即增量節(jié)點集合VCj ; 步驟D:根據(jù)所述增量節(jié)點集合叱;.,計算增量節(jié)點占節(jié)點總數(shù)的比例,即增量節(jié)點比例; 步驟E:根據(jù)所述增量節(jié)點比例,若增量節(jié)點比例大于設(shè)定閾值,則對社交網(wǎng)絡(luò)圖G中所有的節(jié)點重新進行社區(qū)劃分,若增量節(jié)點比例小于設(shè)定閾值,則社交網(wǎng)絡(luò)圖G中不屬于增量節(jié)點集合的節(jié)點維持原有的標(biāo)簽不變,保持原來的社區(qū)歸屬,僅對屬于增量節(jié)點集合的節(jié)點進行社區(qū)劃分,更新增量節(jié)點集合中節(jié)點的社區(qū)標(biāo)簽;社區(qū)劃分結(jié)束后,根據(jù)每個節(jié)點所擁有的社區(qū)標(biāo)簽,將擁有相同標(biāo)簽的節(jié)點歸屬到同一社區(qū),獲得社交網(wǎng)絡(luò)在時刻h的社區(qū)結(jié)構(gòu)。
2.根據(jù)權(quán)利要求1所述 的一種社交網(wǎng)絡(luò)中的動態(tài)社區(qū)檢測方法,其特征在于,所述步驟B中,使用靜態(tài)標(biāo)簽傳播方法進行社區(qū)劃分,具體包括以下步驟: 步驟B1:根據(jù)社交網(wǎng)絡(luò)圖,通過密度聚類方法進行節(jié)點標(biāo)簽初始化,為社交網(wǎng)絡(luò)圖中的每個節(jié)點分配一個標(biāo)簽; 步驟B2:根據(jù)標(biāo)簽更新規(guī)則,對社交網(wǎng)絡(luò)圖中的每個節(jié)點進行標(biāo)簽更新,反復(fù)迭代,直到滿足迭代終止條件; 步驟B3:根據(jù)迭代終止時節(jié)點所分配的標(biāo)簽,將具有相同標(biāo)簽的節(jié)點歸屬到同一社區(qū),輸出社區(qū)結(jié)構(gòu)。
3.根據(jù)權(quán)利要求2所述的一種社交網(wǎng)絡(luò)中的動態(tài)社區(qū)檢測方法,其特征在于,所述步驟BI中,采用基于相似度的密度聚類方法為節(jié)點分配標(biāo)簽,以增強后續(xù)標(biāo)簽傳播過程的穩(wěn)定性,具體包括以下步驟: 步驟Bll:遍歷社交網(wǎng)絡(luò)中的每個節(jié)點,將所有節(jié)點設(shè)為未分配標(biāo)簽狀態(tài); 步驟B12:核心節(jié)點選擇與核心區(qū)域擴展:遍歷社交網(wǎng)絡(luò)圖中的每個節(jié)點,如果節(jié)點^是未分配標(biāo)簽狀態(tài),且符合核心節(jié)點定義,產(chǎn)生一個新的標(biāo)簽分配給節(jié)點r并對節(jié)點r進行擴展;將節(jié)點r的標(biāo)簽賦予所有滿足與節(jié)點r是直接可達關(guān)系的節(jié)點,并將這些滿足與節(jié)點^是直接可達關(guān)系的節(jié)點加入到一個初始為空的隊列中,再遍歷隊列中的節(jié)點,從這些節(jié)點出發(fā)進行擴展,賦予和節(jié)點r相同的標(biāo)簽,從而得到核心區(qū)域;如果節(jié)點r是未分配標(biāo)簽狀態(tài),且不符合核心節(jié)點定義,將節(jié)點r標(biāo)記為孤立節(jié)點; 步驟B13:孤立節(jié)點處理:為標(biāo)記為孤立節(jié)點的節(jié)點分配新的社區(qū)標(biāo)簽。
4.根據(jù)權(quán)利要求3所述的一種社交網(wǎng)絡(luò)中的動態(tài)社區(qū)檢測方法,其特征在于,對社交網(wǎng)絡(luò)圖EJ進行標(biāo)簽初始化過程中,節(jié)點r是核心節(jié)點的充分必要條件是:節(jié)點^的e鄰居節(jié)點集合Ur)的基數(shù)大于等于預(yù)定義的最少e鄰居節(jié)點個數(shù)I定義如下:
5.根據(jù)權(quán)利要求4所述的一種社交網(wǎng)絡(luò)中的動態(tài)社區(qū)檢測方法,其特征在于,所述步驟B2中,所述標(biāo)簽更新規(guī)則如下:計算節(jié)點K與其每個鄰居節(jié)點的節(jié)點相似度,并根據(jù)節(jié)點相似度計算其接收鄰居節(jié)點u傳遞的標(biāo)簽73/^7 0)=7,.的概率,并根據(jù)計算得到的概率,采用輪盤賭方式更新節(jié)點K的標(biāo)簽;所述輪盤賭方式中選擇鄰居節(jié)點《的標(biāo)簽label (u) =I1的概率計算公式定義為:
6.根據(jù)權(quán)利要求5所述的一種社交網(wǎng)絡(luò)中的動態(tài)社區(qū)檢測方法,其特征在于,所述步驟C中,社交網(wǎng)絡(luò)在時刻ti的增量節(jié)點集合VC].,定義為節(jié)點集合(Ki+,VjJ以及與邊集合 盡_)相關(guān)聯(lián)的節(jié)點集合的并集,定義如下: VC1= v1+ U V卜U { 4.+相關(guān)聯(lián)節(jié)點} U {忍_相關(guān)聯(lián)節(jié)點} 其中h時刻網(wǎng)絡(luò)快照與時刻網(wǎng)絡(luò)快照對比,Ki+代表增加節(jié)點的集合,L代表減少節(jié)點的集合,Ei+代表增加邊的集合,E1-代表減少邊的集合,定義如下:
7.根據(jù)權(quán)利要求6所述的一種社交網(wǎng)絡(luò)中的動態(tài)社區(qū)檢測方法,其特征在于,所述步驟D中,社交網(wǎng)絡(luò)在時刻I的增量節(jié)點比例定義為時刻q增量節(jié)點集合FCj.的基數(shù)與時刻h節(jié)點集合Ki的基數(shù)的比值,計算公式為:
8.根據(jù)權(quán)利要求7所述的一種社交網(wǎng)絡(luò)中的動態(tài)社區(qū)檢測方法,其特征在于,所述步驟E中,若增量節(jié)點比例大于設(shè)定閾值,則采用所述靜態(tài)標(biāo)簽傳播方法對社交網(wǎng)絡(luò)圖G中所有的節(jié)點重新進行社區(qū)劃分,若增量節(jié)點比例小于指定閾值,則按以下步驟進行社區(qū)劃分: 步驟El:如果時刻ti的社交網(wǎng)絡(luò)中的節(jié)點在增量節(jié)點集合VCj中,則分配新標(biāo)簽,如果不在增量節(jié)點集合VCj中,則其標(biāo)簽與時刻的標(biāo)簽保持一致; 步驟E2:對于在增量節(jié)點集合VCj中的節(jié)點,按照所述標(biāo)簽更新規(guī)則進行迭代更新;步驟E3:當(dāng)滿足迭代終止條件,即當(dāng)所有節(jié)點`不再發(fā)生標(biāo)簽更新或達到規(guī)定迭代次數(shù)時,結(jié)束迭代。
【文檔編號】G06F17/30GK103678671SQ201310725401
【公開日】2014年3月26日 申請日期:2013年12月25日 優(yōu)先權(quán)日:2013年12月25日
【發(fā)明者】陳羽中, 陳國龍, 郭文忠, 邱曉輝 申請人:福州大學(xué)