大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法及裝置制造方法
【專利摘要】本發(fā)明涉及一種大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法及裝置。方法包括:將輸入的大規(guī)模社交網(wǎng)絡(luò)建模成圖G=(V,E);通過并行排序算法將圖G上的所有節(jié)點依節(jié)點度的大小關(guān)系作降序排列,并計算圖G上所有節(jié)點的有效度之和DSum;以DSum/P為等分基準(zhǔn)參考值,依負(fù)載均衡法將圖G等分為P個子圖;將P個子圖通過MapReduce并行計算模型遍歷尋找圖G上的三角形,基于三角形拓?fù)浣Y(jié)構(gòu)對圖G進行并行化多層粗化,獲得最簡粗化歸約圖G’;采用基于遺傳學(xué)的社區(qū)發(fā)現(xiàn)算法,對最簡粗化歸約圖G’做初始社區(qū)發(fā)現(xiàn),生成社區(qū)發(fā)現(xiàn)結(jié)果;將社區(qū)發(fā)現(xiàn)結(jié)果逐層反粗化還原到圖G并伴隨作微調(diào)優(yōu)處理,獲得圖G的社區(qū)結(jié)構(gòu)。本發(fā)明能夠精準(zhǔn)而高效地實現(xiàn)大規(guī)模社交網(wǎng)絡(luò)的社區(qū)發(fā)現(xiàn)和數(shù)據(jù)分析。
【專利說明】大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,尤其涉及一種大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法及裝置。
【背景技術(shù)】
[0002]所謂方法論改變世界觀,互聯(lián)網(wǎng)高新技術(shù)的出現(xiàn)已經(jīng)將人們傳統(tǒng)意義上的空間網(wǎng)絡(luò)社交關(guān)系推向以Internet (因特網(wǎng))為基礎(chǔ)的虛擬關(guān)系社交網(wǎng)絡(luò),像新聞組、BBS(Bulletin Board System,電子公告板)、Blog (Web Log,中文意思是“網(wǎng)絡(luò)日志)、郵件網(wǎng)絡(luò)等都是典型的即時通信系統(tǒng)。隨著Web2.0技術(shù)的出現(xiàn),社交網(wǎng)絡(luò)的表現(xiàn)形式開始向多樣化、交互式、開放性模式轉(zhuǎn)變,這種靈活而主動的交互平臺極大地豐富了人們參與Internet的方式,其強大的吸引力促使很多社交網(wǎng)絡(luò)如Facebook、Twitter、Linkedln、人人網(wǎng)、新浪微博等其規(guī)模迅速增長,呈現(xiàn)出空前大規(guī)模的綜合信息數(shù)據(jù)網(wǎng)。全面的分析這些大規(guī)模社交網(wǎng)絡(luò)數(shù)據(jù),不僅可以為用戶作個性化推薦服務(wù)、搜索其感興趣的學(xué)術(shù)研討區(qū)或者娛樂社交圈,而且可以為商戶提取有價值的數(shù)據(jù)信息并指導(dǎo)創(chuàng)建高經(jīng)濟效益的商業(yè)網(wǎng),甚至還可以通過挖掘潛在的安全隱患信息群為網(wǎng)絡(luò)安全分析提供數(shù)據(jù)支持。
[0003]社交網(wǎng)絡(luò)同屬于復(fù)雜網(wǎng)絡(luò)范疇,具有小世界、無標(biāo)度冪律分布和社區(qū)結(jié)構(gòu)特性,而社區(qū)發(fā)現(xiàn)正是利用社區(qū)結(jié)構(gòu)這一特性從中觀角度全面而有效地分析社交網(wǎng)絡(luò),其本質(zhì)是聚類算法在社交網(wǎng)絡(luò)上的建設(shè)性應(yīng)用。從經(jīng)典的K-L 二分法、圖二分法、k-means、分層聚類到G-N分割法、模塊度聚類、譜聚類、統(tǒng)計學(xué)算法及其改良,以及一些其他領(lǐng)域技術(shù)學(xué)科概念如信息論、電導(dǎo)率、隨機游走等引入使得社區(qū)發(fā)現(xiàn)算法的計算精度和執(zhí)行效率都取得了很大進展。但是,基于上述社區(qū)發(fā)現(xiàn)算法分析大規(guī)模社交網(wǎng)絡(luò)時又面臨一個全新的挑戰(zhàn),即處理器物理內(nèi)存容量的限制。算法都是基于主存的,而海量網(wǎng)絡(luò)圖數(shù)據(jù)卻不能同時被一個處理器單元內(nèi)存所接收,如果采用數(shù)據(jù)分塊外存儲的辦法,其執(zhí)行效率會因頻繁的1/0交互占用大系統(tǒng)資源而增加算法的時間復(fù)雜度;而如果采取抽樣近似或者并行化算法,其信息的不完整性或者分割、負(fù)載的不均衡性會導(dǎo)致社區(qū)發(fā)現(xiàn)效果驟然下降,甚至背離了社區(qū)結(jié)構(gòu)存在的本然意義。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問題是提供一種大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法及裝置,能夠精準(zhǔn)而高效地實現(xiàn)大規(guī)模社交網(wǎng)絡(luò)的社區(qū)發(fā)現(xiàn)。
[0005]為解決上述技術(shù)問題,本發(fā)明提出了一種大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法,包括:
[0006]步驟一,將輸入的大規(guī)模社交網(wǎng)絡(luò)建模成圖G= (V,E),其中,V為節(jié)點集合,E為邊集合;圖G上任一節(jié)點V表示大規(guī)模社交網(wǎng)絡(luò)中的個人或組織,V e V,度d(v)表示與節(jié)點V相鄰的節(jié)點數(shù)目,集合N(V)表示與節(jié)點V相鄰的節(jié)點集合,邊e表示節(jié)點之間的特定屬性關(guān)系,e e E ;[0007]步驟二,通過并行排序算法將圖G上的所有節(jié)點依節(jié)點度的大小關(guān)系作降序排列,并計算圖G上所有節(jié)點的有效度之和DSum,其中,節(jié)點V的有效度是指其相鄰節(jié)點集合N(V)中度大于d(v)的所有節(jié)點數(shù)目;
[0008]步驟三,以DSum/P為等分基準(zhǔn)參考值,將圖G上的所有節(jié)點按照節(jié)點度降序的輪轉(zhuǎn)分配法則循環(huán)分配到MapReduce并行計算模型中P個Map任務(wù)上,即依負(fù)載均衡法將圖G等分為P個子圖,P為自然數(shù);
[0009]步驟四,將所述P個子圖通過所述MapReduce并行計算模型遍歷尋找圖G上的三角形,然后基于三角形拓?fù)浣Y(jié)構(gòu)對圖G進行并行化多層粗化,獲得最簡粗化歸約圖G’ ;
[0010]步驟五,采用基于遺傳學(xué)的社區(qū)發(fā)現(xiàn)算法,對所述最簡粗化歸約圖G’做初始社區(qū)發(fā)現(xiàn),生成社區(qū)發(fā)現(xiàn)結(jié)果,其中,對所述最簡粗化歸約圖G’做初始社區(qū)發(fā)現(xiàn)是指將圖G’上的節(jié)點依鏈接關(guān)系聚合生成一個個的簇,使得簇內(nèi)節(jié)點聯(lián)系緊密,簇間節(jié)點聯(lián)系稀疏;
[0011]步驟六,將所述社區(qū)發(fā)現(xiàn)結(jié)果逐層反粗化還原到所述圖G并伴隨作微調(diào)優(yōu)處理,從而獲得圖G的社區(qū)結(jié)構(gòu),也即所述輸入大規(guī)模社交網(wǎng)絡(luò)的社區(qū)結(jié)構(gòu)。
[0012]進一步地,上述大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法還可具有以下特點,所述步驟四中,基于三角形拓?fù)浣Y(jié)構(gòu)對圖G進行并行化多層粗化,獲得最簡粗化歸約圖G’包括:
[0013]將所述P個子圖通過MapReduce并行計算模型,在每個子圖部分以節(jié)點度升序的方式遍歷尋找該子圖上的三角形拓?fù)浣Y(jié)構(gòu),每當(dāng)遇到一個三角形,將該三角形內(nèi)部三個頂點向其中度最大的節(jié)點收縮融合形成一個復(fù)合節(jié)點,連邊融合,而垂懸點向內(nèi)點融合,直至整個圖G遍歷完成形成第一粗化歸約圖G1,然后在第一粗化歸約圖G1的基礎(chǔ)上繼續(xù)執(zhí)行步驟三和步驟四進行下一層粗化歸約,如此循環(huán)迭代直至最終生成的粗化歸約圖規(guī)模小于或等于預(yù)設(shè)的規(guī)模閾值,則終止粗化。
[0014]進一步地,上述大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法還可具有以下特點,所述步驟二中,所述并行排序算法可以為Shell排序算法、快速排序算法或歸并排序算法。
[0015]進一步地,上述大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法還可具有以下特點,所述步驟一中,所述圖G采用鄰接表的方式表示,圖G中每個節(jié)點的數(shù)據(jù)結(jié)構(gòu)包含節(jié)點的標(biāo)號、節(jié)點的度以及節(jié)點的有效度。
[0016]進一步地,上述大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法還可具有以下特點,所述步驟三中,在以DSum/P為等分基準(zhǔn)參考值,將圖G上的節(jié)點按照節(jié)點度降序的輪轉(zhuǎn)分配法則循環(huán)分配到MapReduce并行計算模型中P個Map任務(wù)上,即依負(fù)載均衡法將圖G等分為P個子圖的過程中,若一個節(jié)點的鄰接鏈表被子圖Pi和子圖Pj從中間分開,則將該鄰接鏈表完整的歸屬于子圖Pi中,其中,子圖Pi為子圖Pj的相鄰劃分子圖。
[0017]為解決上述技術(shù)問題,本發(fā)明還提出了一種大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置,包括順次相連的建模模塊、排序模塊、分配模塊、粗化模塊、社區(qū)發(fā)現(xiàn)模塊和反粗化模塊,其中:
[0018]建模模塊,用于將輸入的大規(guī)模社交網(wǎng)絡(luò)建模成圖G=(V,E),其中,V為節(jié)點集合,E為邊集合;圖G上任一節(jié)點V表示大規(guī)模社交網(wǎng)絡(luò)中的個人或組織,V e V,度d(v)表示與節(jié)點V相鄰的節(jié)點數(shù)目,集合N(V)表示與節(jié)點V相鄰的節(jié)點集合,邊e表示節(jié)點之間的特定屬性關(guān)系,eeE;
[0019]排序模塊,用于通過并行排序算法將圖G上的所有節(jié)點依節(jié)點度的大小關(guān)系作降序排列,并計算圖G上所有節(jié)點的有效度之和DSum,其中,節(jié)點V的有效度是指其相鄰節(jié)點集合N(V)中度大于d(v)的所有節(jié)點數(shù)目;
[0020]分配模塊,用于以DSum/P為等分基準(zhǔn)參考值,將圖G上的所有節(jié)點按照節(jié)點度降序的輪轉(zhuǎn)分配法則循環(huán)分配到MapReduce并行計算模型中P個Map任務(wù)上,即依負(fù)載均衡法將圖G等分為P個子圖,P為自然數(shù);
[0021]粗化模塊,用于將所述P個子圖通過所述MapReduce并行計算模型遍歷尋找圖G上的三角形,然后基于三角形拓?fù)浣Y(jié)構(gòu)對圖G進行并行化多層粗化,獲得最簡粗化歸約圖G,;
[0022]社區(qū)發(fā)現(xiàn)模塊,用于采用基于遺傳學(xué)的社區(qū)發(fā)現(xiàn)算法,對所述最簡粗化歸約圖G’做初始社區(qū)發(fā)現(xiàn),生成社區(qū)發(fā)現(xiàn)結(jié)果,其中,對所述最簡粗化歸約圖G’做初始社區(qū)發(fā)現(xiàn)是指將圖G’上的節(jié)點依鏈接關(guān)系聚合生成一個個的簇,使得簇內(nèi)節(jié)點聯(lián)系緊密,簇間節(jié)點聯(lián)系稀疏;
[0023]反粗化模塊,用于將所述社區(qū)發(fā)現(xiàn)結(jié)果逐層反粗化還原到所述圖G并伴隨作微調(diào)優(yōu)處理,從而獲得圖G的社區(qū)結(jié)構(gòu),也即所述輸入大規(guī)模社交網(wǎng)絡(luò)的社區(qū)結(jié)構(gòu)。
[0024]進一步地,上述大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置還可具有以下特點,所述粗化模塊包括粗化單元,所述粗化單元用于將所述P個子圖通過MapReduce并行計算模型,在每個子圖部分以節(jié)點度升序的方式遍歷尋找該子圖上的三角形拓?fù)浣Y(jié)構(gòu),每當(dāng)遇到一個三角形,將該三角形內(nèi)部三個頂點向其中度最大的節(jié)點收縮融合形成一個復(fù)合節(jié)點,連邊融合,而垂懸點向內(nèi)點融合,直至整個圖G遍歷完成形成第一粗化歸約圖G1,然后在第一粗化歸約圖G1的基礎(chǔ)上繼續(xù)調(diào)用上一級分配模塊和本級模塊進行下一層粗化歸約,如此循環(huán)迭代直至最終生成的粗化歸約圖規(guī)模小于或等于預(yù)設(shè)的規(guī)模閾值,則終止粗化。
[0025]進一步地,上述大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置還可具有以下特點,所述排序模塊可以為Shell排序單元、快速排序單元或歸并排序單元,其中:
[0026]Shell排序單元,用于通過采用Shell排序算法的MapReduce并行計算模型,求得圖G上的所有節(jié)點依照節(jié)點度的大小關(guān)系所作的降序排列,以及圖G上所有節(jié)點的有效度之和DSum ;
[0027]快速排序單元,用于通過采用快速排序算法的MapReduce并行計算模型,求得圖G上的所有節(jié)點依照節(jié)點度的大小關(guān)系所作的降序排列,以及圖G上所有節(jié)點的有效度之和DSum ;
[0028]歸并排序單元,用于通過采用歸并排序算法的MapReduce并行計算模型,求得圖G上的所有節(jié)點依照節(jié)點度的大小關(guān)系所作的降序排列,以及圖G上所有節(jié)點的有效度之和DSum0
[0029]進一步地,上述大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置還可具有以下特點,所述圖G采用鄰接表的方式表示,圖G中每個節(jié)點的數(shù)據(jù)結(jié)構(gòu)包含節(jié)點的標(biāo)號、節(jié)點的度以及節(jié)點的有效度。
[0030]進一步地,上述大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置還可具有以下特點,所述分配模塊在以DSum/P為等分基準(zhǔn)參考值,將圖G上的所有節(jié)點按照節(jié)點度降序的輪轉(zhuǎn)分配法則循環(huán)分配到MapReduce并行計算模型中P個Map任務(wù)上,即依負(fù)載均衡法將圖G等分為P個子圖的過程中,若一個節(jié)點的鄰接鏈表被子圖Pi和子圖Pj從中間分開,則將該鄰接鏈表完整的歸屬于子圖Pi中,其中,子圖Pi為子圖Pj的相鄰劃分子圖。
[0031]本發(fā)明的大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法及裝置,充分利用了三角形這一拓?fù)涮卣鲗Υ笠?guī)模社交網(wǎng)絡(luò)圖進行并行化多層粗化處理,不僅以較高的粗化率快速而有效的縮減大規(guī)模社交網(wǎng)絡(luò)圖,而且在粗化過程中充分保留了大規(guī)模社交網(wǎng)絡(luò)圖的自然社區(qū)屬性結(jié)構(gòu),為后續(xù)最簡歸約圖上的社區(qū)發(fā)現(xiàn)、反粗化還原和微調(diào)優(yōu)奠定了基礎(chǔ),能夠精準(zhǔn)而高效地實現(xiàn)大規(guī)模社交網(wǎng)絡(luò)的社區(qū)發(fā)現(xiàn)和數(shù)據(jù)分析。
【專利附圖】
【附圖說明】
[0032]圖1為本發(fā)明實施例中大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法的流程圖;
[0033]圖2為本發(fā)明實施例中大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置的結(jié)構(gòu)框圖。
【具體實施方式】
[0034]以下結(jié)合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0035]首先說明一下社區(qū)的概念。社區(qū)是一個網(wǎng)絡(luò)中的成員(或者個體)趨于形成緊密聯(lián)系的簇(或者集團),即簇內(nèi)(或者集團內(nèi))成員(或者個體)聯(lián)系緊密,簇間(或者集團間)成員(或者個體)聯(lián)系稀疏。社區(qū)發(fā)現(xiàn)就是尋找網(wǎng)絡(luò)中存在的這些內(nèi)聚的簇(或者集團)。N-Clique (即N階完全子圖)是一個理想的內(nèi)聚簇,而三角形是N-Clique族中結(jié)構(gòu)最簡單的完全子圖,因而構(gòu)成一個最簡單的社區(qū)結(jié)構(gòu),本發(fā)明亦將三角形稱為基本社區(qū)單元。
[0036]圖1為本發(fā)明實施例中大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法的流程圖。如圖1所示,本實施例中,大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法可以包括如下步驟:
[0037]步驟SlOl,將輸入的大規(guī)模社交網(wǎng)絡(luò)建模成圖G= (V,E),其中,V為節(jié)點集合,E為邊集合;圖G上任一節(jié)點V表示大規(guī)模社交網(wǎng)絡(luò)中的個人或組織,V e V,度d(v)表示與節(jié)點V相鄰的節(jié)點數(shù)目,集合N(V)表示與節(jié)點V相鄰的節(jié)點集合,邊e表示節(jié)點之間的特定屬性關(guān)系,e e E ;
[0038]其中,特定屬性關(guān)系可以是好友關(guān)系、合作關(guān)系等。
[0039]本步驟是對輸入大規(guī)模社交網(wǎng)絡(luò)數(shù)據(jù)所作的預(yù)處理,并將大規(guī)模社交網(wǎng)絡(luò)圖G以鄰接表的形式存儲于外部文件中。
[0040]本步驟中,大規(guī)模社交網(wǎng)絡(luò)圖G采用鄰接表的形式表示,每個節(jié)點的數(shù)據(jù)結(jié)構(gòu)不僅要包含節(jié)點的標(biāo)號,還要包含節(jié)點的度(節(jié)點的度即該節(jié)點的相鄰節(jié)點的數(shù)目)以及節(jié)點的有效度(節(jié)點的有效度即度大于該節(jié)點度的所有相鄰節(jié)點的數(shù)目)。
[0041]步驟S102,通過并行排序算法將圖G上的所有節(jié)點依節(jié)點度的大小關(guān)系作降序排列,并計算圖G上所有節(jié)點的有效度之和DSum,其中,節(jié)點V的有效度是指其相鄰節(jié)點集合N(V)中度大于d(v)的所有節(jié)點數(shù)目;
[0042]本步驟中,可以利用MapReduce并行計算模型實現(xiàn)節(jié)點度排序算法(指上述的并行排序算法)。利用MapReduce并行計算模型實現(xiàn)的節(jié)點度排序算法可以采用任何高效的可并行化的排序算法。本步驟中的并行排序算法可以是Shell排序算法、快速排序算法、歸并排序算法等。
[0043]輸入大規(guī)模社交網(wǎng)絡(luò)的節(jié)點度排序采用MapReduce并行計算模型實現(xiàn),可以有效降低排序?qū)φ麄€系統(tǒng)性能的影響;在并行排序的同時遍歷每個節(jié)點的有效度,并累加求得圖G上所有節(jié)點有效度值之和DSum。
[0044]步驟S103,以DSum/P為等分基準(zhǔn)參考值,將圖G上的所有節(jié)點按照節(jié)點度降序的輪轉(zhuǎn)分配法則循環(huán)分配到MapReduce并行計算模型中P個Map任務(wù)上,即依負(fù)載均衡法將圖G等分為P個子圖,P為自然數(shù);
[0045]MapReduce是一個并行計算模型,如果其包含P個Map任務(wù)單元,那么按照節(jié)點度降序的輪轉(zhuǎn)分配法則,以DSum/P為等分基準(zhǔn)參考值,可將圖G劃分形成P個等分子圖,并且保留每個子圖上節(jié)點度的排序關(guān)系。
[0046]本步驟中,以DSum/P為等分基準(zhǔn)參考值的P劃分方法是后續(xù)基于MapReduce遍歷全圖G上三角形拓?fù)浣Y(jié)構(gòu)的一種并行化負(fù)載均衡策略;輪轉(zhuǎn)劃分完成后,每個子圖內(nèi)部各節(jié)點間度的排序關(guān)系仍然保留。
[0047]步驟S104,將P個子圖通過所述MapReduce并行計算模型遍歷尋找圖G上的三角形,然后基于三角形拓?fù)浣Y(jié)構(gòu)對圖G進行并行化多層粗化,獲得最簡粗化歸約圖G’ ;
[0048]P個劃分經(jīng)過Map處理,將有強關(guān)聯(lián)的節(jié)點映射到同一個Reduce上,這里同樣需要DSum/P作均衡規(guī)劃,其間如果一個節(jié)點的鄰接鏈表被子圖Pi和Pj從中間分開,則將該鄰接鏈表完整的歸屬于相鄰劃分子圖Pi中,從而減少計算任務(wù)單元之間的頻繁通信。
[0049]本步驟中,基于三角形拓?fù)浣Y(jié)構(gòu)對圖G進行并行化多層粗化,獲得最簡粗化歸約圖G’包括:將所述P個子圖通過MapReduce并行計算模型,在每個子圖部分以節(jié)點度升序的方式遍歷尋找該子圖上的三角形拓?fù)浣Y(jié)構(gòu),每當(dāng)遇到一個三角形,將該三角形內(nèi)部三個頂點向其中度最大的節(jié)點收縮融合形成一個復(fù)合節(jié)點,連邊融合,而垂懸點向內(nèi)點融合,直至整個圖G遍歷完成形成第一粗化歸約圖G1,然后在第一粗化歸約圖G1的基礎(chǔ)上繼續(xù)執(zhí)行步驟S103和步驟S104進行下一層粗化 歸約,如此循環(huán)迭代直至最終生成的粗化歸約圖規(guī)模小于或等于預(yù)設(shè)的規(guī)模閾值,則終止粗化。
[0050]每當(dāng)一個三角形聚合形成一個復(fù)合節(jié)點都會導(dǎo)致與其相鄰的拓?fù)浣Y(jié)構(gòu)收縮聚合,特別是高階多邊形會逐漸向低階多邊形甚至三角形演化,使得圖G上的社區(qū)結(jié)構(gòu)在經(jīng)過一步步的粗化向圖匕、^乃至GmR變過程中越來越趨明顯化。例如,假設(shè)在上一層圖Gi中存在一個局部拓?fù)浣Y(jié)構(gòu)——六邊形,因為與之鄰邊三角形的在圖Gi中的融合粗化,其上的某條邊或者某幾條邊會收縮為一個點,在生成的下一層粗化歸約圖Gj上該六邊形逐漸演變成五邊形、四邊形甚至三角形;這些本屬于同一社區(qū)內(nèi)的多邊形拓?fù)浣Y(jié)構(gòu)(高階多邊形的社區(qū)效應(yīng)相對較弱)在逐層粗化過程逐漸突顯出來的強社區(qū)性是完全符合網(wǎng)絡(luò)的本然結(jié)構(gòu)特征的。當(dāng)粗化過程結(jié)束后,在最簡粗化歸約圖Gm上做社區(qū)發(fā)現(xiàn),其結(jié)果的精度不會受到任何粗化過程的影響,而且會因這種強社區(qū)結(jié)構(gòu)而有所提高。
[0051]本步驟中,需要預(yù)先設(shè)定一個規(guī)模閾值,如果當(dāng)前粗化歸約圖Gi的規(guī)模小于或等于閾值,則粗化終止,否則基于當(dāng)前粗化歸約圖Gi迭代繼續(xù)進行下一層粗化歸約過程。這里,規(guī)模閾值是一個處理器單元的物理內(nèi)存可作社區(qū)發(fā)現(xiàn)計算的最大數(shù)據(jù)容量規(guī)模,在這樣一個內(nèi)存可容規(guī)模上,任何高質(zhì)量的社區(qū)發(fā)現(xiàn)算法都可以用來挖掘大規(guī)模社交網(wǎng)絡(luò)的社區(qū)結(jié)構(gòu),有效的將經(jīng)典社區(qū)發(fā)現(xiàn)算法拓展到大規(guī)?;蛘叱笠?guī)模社交網(wǎng)絡(luò)的分析和研究中。
[0052]步驟S105,采用基于遺傳學(xué)的社區(qū)發(fā)現(xiàn)算法,對所述最簡粗化歸約圖G’做初始社區(qū)發(fā)現(xiàn),生成社區(qū)發(fā)現(xiàn)結(jié)果,其中,對所述最簡粗化歸約圖G’做初始社區(qū)發(fā)現(xiàn)是指將圖G’上的節(jié)點依鏈接關(guān)系聚合生成一個個的簇,使得簇內(nèi)節(jié)點聯(lián)系緊密,簇間節(jié)點聯(lián)系稀疏;
[0053]本步驟中,可以采用基于遺傳學(xué)機制的社區(qū)發(fā)現(xiàn)算法,該算法的優(yōu)勢是不受未定社區(qū)結(jié)構(gòu)形狀的限制,通過搜索占優(yōu)解空間而高效的發(fā)現(xiàn)社區(qū)及其自然社區(qū)數(shù)目,并利用遺傳學(xué)中的變異理論拓展解空間搜索范圍,從而有效地解決了由局部最優(yōu)解導(dǎo)致的算法提前終止問題。
[0054]步驟S106,將社區(qū)發(fā)現(xiàn)結(jié)果逐層反粗化還原到所述圖G并伴隨作微調(diào)優(yōu)處理,從而獲得圖G的社區(qū)結(jié)構(gòu),也即所述輸入的大規(guī)模社交網(wǎng)絡(luò)的社區(qū)結(jié)構(gòu)。
[0055]本步驟中,逐層反粗化就是一層接一層的反粗化,是粗化的逆過程。由于復(fù)合節(jié)點是一個三角形三內(nèi)點的聚合收縮,本屬于一個基本社區(qū)范疇,因此在反粗化過程中,可以將由該復(fù)合結(jié)點展開的多個節(jié)點都?xì)w屬到該復(fù)合結(jié)點所屬社區(qū)內(nèi),而不會破壞社區(qū)結(jié)構(gòu)特征,既保留了社區(qū)結(jié)構(gòu)拓?fù)湫裕执蟠蠛喕诉吔缯{(diào)優(yōu)工作。
[0056]與現(xiàn)有技術(shù)相比,本發(fā)明大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法具有如下優(yōu)點:
[0057](I)采用基于三角形拓?fù)浣Y(jié)構(gòu)的多層并行化粗化方法,可以快速的將大規(guī)模社交網(wǎng)絡(luò)縮減到內(nèi)存可容納范疇,為大規(guī)模數(shù)據(jù)網(wǎng)絡(luò)的分析和研究找到切實可行的辦法;對于經(jīng)典的數(shù)據(jù)挖掘算法,特別是社區(qū)發(fā)現(xiàn)算法,可以完全遷移應(yīng)用于大規(guī)模社交網(wǎng)絡(luò)分析,而不需要另外專門設(shè)計只針對于大規(guī)模社交網(wǎng)絡(luò)的分析算法。
[0058](2)本發(fā)明的核心點即聚焦于網(wǎng)絡(luò)中的三角形拓?fù)浣Y(jié)構(gòu)?;谌切瓮?fù)浣Y(jié)構(gòu)的粗化方法,如果被分析網(wǎng)絡(luò)本身社區(qū)結(jié)構(gòu)很強,那么其粗化率可以近乎達到2/3 (—個三角形內(nèi)部三個頂點聚合形成一個復(fù)合節(jié)點),其高效的歸約速度極大地擴展了大規(guī)模網(wǎng)絡(luò)數(shù)據(jù)分析的可行性。
[0059](3)無論是粗化還是反粗化,都是基于三角形拓?fù)浣Y(jié)構(gòu)(即同一基本社區(qū)單元范疇),粗化融合本來屬于同一社區(qū)的節(jié)點,反粗化也無需過多的邊界調(diào)優(yōu),這些步驟的自然省略進一步提升了算法的執(zhí)行效率,加強了粗化方法的可擴展性,使其適合于大規(guī)模甚至超大規(guī)模社交網(wǎng)絡(luò)的數(shù)據(jù)分析。
[0060]綜上所述,本發(fā)明的大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法,充分利用了三角形這一拓?fù)涮卣鲗Υ笠?guī)模社交網(wǎng)絡(luò)圖進行并行化多層粗化處理,不僅以較高的粗化率快速而有效的縮減大規(guī)模社交網(wǎng)絡(luò)圖,而且在粗化過程中充分保留了大規(guī)模社交網(wǎng)絡(luò)圖的自然社區(qū)屬性結(jié)構(gòu),為后續(xù)最簡歸約圖上的社區(qū)發(fā)現(xiàn)、反粗化還原和微調(diào)優(yōu)奠定了基礎(chǔ),能夠精準(zhǔn)而高效地實現(xiàn)大規(guī)模社交網(wǎng)絡(luò)的社區(qū)發(fā)現(xiàn)和數(shù)據(jù)分析。
[0061]本發(fā)明還提出了一種大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置,用以執(zhí)行上述的大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法。以上對大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法的說明均適用于本發(fā)明的大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置。
[0062]圖2為本發(fā)明實施例中大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置的結(jié)構(gòu)框圖。如圖2所示,本實施例中,大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置包括順次相連的建模模塊210、排序模塊220、分配模塊230、粗化模塊240、社區(qū)發(fā)現(xiàn)模塊250和反粗化模塊260。其中,建模模塊210用于將輸入的大規(guī)模社交網(wǎng)絡(luò)建模成圖G=(V,E),其中,V為節(jié)點集合,E為邊集合;圖G上任一節(jié)點V表示大規(guī)模社交網(wǎng)絡(luò)中的個人或組織,V e V,度d(v)表示與節(jié)點V相鄰的節(jié)點數(shù)目,集合N(V)表示與節(jié)點V相鄰的節(jié)點集合,邊e表示節(jié)點之間的特定屬性關(guān)系,e e E ;。排序模塊220用于通過并行排序算法將圖G上的所有節(jié)點依節(jié)點度的大小關(guān)系作降序排列,并計算圖G上所有節(jié)點的有效度之和DSum,其中,節(jié)點V的有效度是指其相鄰節(jié)點集合N(V)中度大于d(v)的所有節(jié)點數(shù)目。分配模塊230用于以DSum/P為等分基準(zhǔn)參考值,將圖G上的節(jié)點按照節(jié)點度降序的輪轉(zhuǎn)分配法則循環(huán)分配到MapReduce并行計算模型中P個Map任務(wù)上,即依負(fù)載均衡法將圖G等分為P個子圖,P為自然數(shù)。粗化模塊240用于將所述P個子圖通過所述MapReduce并行計算模型遍歷尋找圖G上的三角形,然后基于三角形拓?fù)浣Y(jié)構(gòu)對圖G進行并行化多層粗化,獲得最簡粗化歸約圖G’。社區(qū)發(fā)現(xiàn)模塊250用于采用基于遺傳學(xué)的社區(qū)發(fā)現(xiàn)算法,對所述最簡粗化歸約圖G’做初始社區(qū)發(fā)現(xiàn),生成社區(qū)發(fā)現(xiàn)結(jié)果,其中,對所述最簡粗化歸約圖G’做初始社區(qū)發(fā)現(xiàn)是指將圖G’上的節(jié)點依鏈接關(guān)系聚合生成一個個的簇,使得簇內(nèi)節(jié)點聯(lián)系緊密,簇間節(jié)點聯(lián)系稀疏。反粗化模塊260用于將所述社區(qū)發(fā)現(xiàn)結(jié)果逐層反粗化還原到所述圖G并伴隨作微調(diào)優(yōu)處理,從而獲得圖G的社區(qū)結(jié)構(gòu),也即所述輸入的大規(guī)模社交網(wǎng)絡(luò)的社區(qū)結(jié)構(gòu)。
[0063]其中,圖G可以采用鄰接表的方式表示,圖G中每個節(jié)點的數(shù)據(jù)結(jié)構(gòu)包含節(jié)點的標(biāo)號、節(jié)點的度以及節(jié)點的有效度。
[0064]在本發(fā)明實施例中,粗化模塊240可以包括粗化單元,該粗化單元用于將所述P個子圖通過MapReduce并行計算模型,在每個子圖部分以節(jié)點度升序的方式遍歷尋找該子圖上的三角形拓?fù)浣Y(jié)構(gòu),每當(dāng)遇到一個三角形,將該三角形內(nèi)部三個頂點向其中度最大的節(jié)點收縮融合形成一個復(fù)合節(jié)點,連邊融合,而垂懸點向內(nèi)點融合,直至整個圖G遍歷完成形成第一粗化歸約圖G1,然后在第一粗化歸約圖G1的基礎(chǔ)上繼續(xù)調(diào)用分配模塊230和本模塊進行下一層粗化歸約,如此循環(huán)迭代直至最終生成的粗化歸約圖規(guī)模小于或等于預(yù)設(shè)的規(guī)模閾值,則終止粗化。
[0065]在本發(fā)明實施例中,排序模塊220可以是Shel I排序單元、快速排序單元或歸并排序單元。其中,She 11排序單元用于通過采用Shell排序算法的MapReduce并行計算模型,求得圖G上的所有節(jié)點依照節(jié)點度的大小關(guān)系所作的降序排列,以及圖G上所有節(jié)點的有效度之和DSum。快速排序單元用于通過采用快速排序算法的MapReduce并行計算模型,求得圖G上的所有節(jié)點依照節(jié)點度的大小關(guān)系所作的降序排列,以及圖G上所有節(jié)點的有效度之和DSum。歸并排序單元用于通過采用歸并排序算法的MapReduce并行計算模型,求得圖G上的所有節(jié)點依照節(jié)點度的大小關(guān)系所作的降序排列,以及圖G上所有節(jié)點的有效度之和DSum0
[0066]在本發(fā)明實施例中,分配模塊230在以DSum/P為等分基準(zhǔn)參考值,將圖G上的節(jié)點按照節(jié)點度降序的輪轉(zhuǎn)分配法則循環(huán)分配到MapReduce并行計算模型中P個Map任務(wù)上,即依負(fù)載均衡法將圖G等分為P個子圖的過程中,若一個節(jié)點的鄰接鏈表被子圖Pi和子圖Pj從中間分開,則將該鄰接鏈表完整的歸屬于子圖Pi中,其中,子圖Pi為子圖Pj的相鄰劃分子圖。
[0067]本發(fā)明的大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置,充分利用了三角形這一拓?fù)涮卣鲗Υ笠?guī)模社交網(wǎng)絡(luò)圖進行并行化多層粗化處理,不僅以較高的粗化率快速而有效的縮減大規(guī)模社交網(wǎng)絡(luò)圖,而且在粗化過程中充分保留了大規(guī)模社交網(wǎng)絡(luò)圖的自然社區(qū)屬性結(jié)構(gòu),為后續(xù)最簡歸約圖上的社區(qū)發(fā)現(xiàn)、反粗化還原和微調(diào)優(yōu)奠定了基礎(chǔ),能夠精準(zhǔn)而高效地實現(xiàn)大規(guī)模社交網(wǎng)絡(luò)的社區(qū)發(fā)現(xiàn)和數(shù)據(jù)分析。[0068]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法,其特征在于,包括: 步驟一,將輸入的大規(guī)模社交網(wǎng)絡(luò)建模成圖G= (V,E),其中,V為節(jié)點集合,E為邊集合;圖G上任一節(jié)點V表示大規(guī)模社交網(wǎng)絡(luò)中的個人或組織,V e V,度d(v)表示與節(jié)點V相鄰的節(jié)點數(shù)目,集合N(V)表示與節(jié)點V相鄰的節(jié)點集合,邊e表示節(jié)點之間的特定屬性關(guān)系,e e E ; 步驟二,通過并行排序算法將圖G上的所有節(jié)點依節(jié)點度的大小關(guān)系作降序排列,并計算圖G上所有節(jié)點的有效度之和DSum,其中,節(jié)點V的有效度是指其相鄰節(jié)點集合N(V)中度大于d(v)的所有節(jié)點數(shù)目; 步驟三,以DSum/P為等分基準(zhǔn)參考值,將圖G上的所有節(jié)點按照節(jié)點度降序的輪轉(zhuǎn)分配法則循環(huán)分配到MapReduce并行計算模型中P個Map任務(wù)上,即依負(fù)載均衡法將圖G等分為P個子圖,P為自然數(shù); 步驟四,將所述P個子圖通過所述MapReduce并行計算模型遍歷尋找圖G上的三角形,然后基于三角形拓?fù)浣Y(jié)構(gòu)對圖G進行并行化多層粗化,獲得最簡粗化歸約圖G’ ; 步驟五,采用基于遺傳學(xué)的社區(qū)發(fā)現(xiàn)算法,對所述最簡粗化歸約圖G’做初始社區(qū)發(fā)現(xiàn),生成社區(qū)發(fā)現(xiàn)結(jié)果,其中,對所述最簡粗化歸約圖G’做初始社區(qū)發(fā)現(xiàn)是指將圖G’上的節(jié)點依鏈接關(guān)系聚合生成一個個的簇,使得簇內(nèi)節(jié)點聯(lián)系緊密,簇間節(jié)點聯(lián)系稀疏; 步驟六,將所述社區(qū)發(fā)現(xiàn)結(jié)果逐層反粗化還原到所述圖G并伴隨作微調(diào)優(yōu)處理,從而獲得圖G的社區(qū)結(jié)構(gòu),也即所述輸入大規(guī)模社交網(wǎng)絡(luò)的社區(qū)結(jié)構(gòu)。
2.根據(jù)權(quán)利要求1所述的大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法,其特征在于,所述步驟四中,基于三角形拓?fù)浣Y(jié)構(gòu)對圖G進行并行化多層粗化,獲得最簡粗化歸約圖G’包括: 將所述P個子圖通過MapReduce并行計算模型,在每個子圖部分以節(jié)點度升序的方式遍歷尋找該子圖上的三角形拓?fù)浣Y(jié)構(gòu),每當(dāng)遇到一個三角形,將該三角形內(nèi)部三個頂點向其中度最大的節(jié)點收縮融合形成一個復(fù)合節(jié)點,連邊融合,而垂懸點向內(nèi)點融合,直至整個圖G遍歷完成形成第一粗化歸約圖G1,然后在第一粗化歸約圖G1的基礎(chǔ)上繼續(xù)執(zhí)行步驟三和步驟四進行下一層粗化歸約,如此循環(huán)迭代直至最終生成的粗化歸約圖規(guī)模小于或等于預(yù)設(shè)的規(guī)模閾值,則終止粗化。
3.根據(jù)權(quán)利要求1所述的大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法,其特征在于,所述步驟二中,所述并行排序算法可以為Shell排序算法、快速排序算法或歸并排序算法。
4.根據(jù)權(quán)利要求1所述的大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法,其特征在于,所述步驟一中,所述圖G采用鄰接表的方式表示,圖G中每個節(jié)點的數(shù)據(jù)結(jié)構(gòu)包含節(jié)點的標(biāo)號、節(jié)點的度以及節(jié)點的有效度。
5.根據(jù)權(quán)利要求1所述的大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測方法,其特征在于,所述步驟三中,在以DSum/P為等分基準(zhǔn)參考值,將圖G上的節(jié)點按照節(jié)點度降序的輪轉(zhuǎn)分配法則循環(huán)分配到MapReduce并行計算模型中P個Map任務(wù)上,即依負(fù)載均衡法將圖G等分為P個子圖的過程中,若一個節(jié)點的鄰接鏈表被子圖Pi和子圖Pj從中間分開,則將該鄰接鏈表完整的歸屬于子圖Pi中,其中,子圖Pi為子圖Pj的相鄰劃分子圖。
6.一種大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置,其特征在于,包括順次相連的建模模塊、排序模塊、分配模塊、粗化模塊、社區(qū)發(fā)現(xiàn)模塊和反粗化模塊,其中: 建模模塊,用于將輸入的大規(guī)模社交網(wǎng)絡(luò)建模成圖G= (V,E),其中,V為節(jié)點集合,E為邊集合;圖G上任一節(jié)點V表示大規(guī)模社交網(wǎng)絡(luò)中的個人或組織,V e V,度d(v)表示與節(jié)點V相鄰的節(jié)點數(shù)目,集合N(V)表示與節(jié)點V相鄰的節(jié)點集合,邊e表示節(jié)點之間的特定屬性關(guān)系,e e E ; 排序模塊,用于通過并行排序算法將圖G上的所有節(jié)點依節(jié)點度的大小關(guān)系作降序排列,并計算圖G上所有節(jié)點的有效度之和DSum,其中,節(jié)點V的有效度是指其相鄰節(jié)點集合N(V)中度大于d(v)的所有節(jié)點數(shù)目; 分配模塊,用于以DSum/P為等分基準(zhǔn)參考值,將圖G上的所有節(jié)點按照節(jié)點度降序的輪轉(zhuǎn)分配法則循環(huán)分配到MapReduce并行計算模型中P個Map任務(wù)上,即依負(fù)載均衡法將圖G等分為P個子圖,P為自然數(shù); 粗化模塊,用于將所述P個子圖通過所述MapReduce并行計算模型遍歷尋找圖G上的三角形,然后基于三角形拓?fù)浣Y(jié)構(gòu)對圖G進行并行化多層粗化,獲得最簡粗化歸約圖G’ ; 社區(qū)發(fā)現(xiàn)模塊,用于采用基于遺傳學(xué)的社區(qū)發(fā)現(xiàn)算法,對所述最簡粗化歸約圖G’做初始社區(qū)發(fā)現(xiàn),生成社區(qū)發(fā)現(xiàn)結(jié)果,其中,對所述最簡粗化歸約圖G’做初始社區(qū)發(fā)現(xiàn)是指將圖G’上的節(jié)點依鏈接關(guān)系聚合生成一個個的簇,使得簇內(nèi)節(jié)點聯(lián)系緊密,簇間節(jié)點聯(lián)系稀疏; 反粗化模塊,用于將所述社區(qū)發(fā)現(xiàn)結(jié)果逐層反粗化還原到所述圖G并伴隨作微調(diào)優(yōu)處理,從而獲得圖G的社區(qū)結(jié)構(gòu),也即所述輸入大規(guī)模社交網(wǎng)絡(luò)的社區(qū)結(jié)構(gòu)。
7.根據(jù)權(quán)利要求權(quán)利要求6所述的大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置,其特征在于,所述粗化模塊包括粗化單元,所述粗化單元用于將所述P個子圖通過MapReduce并行計算模型,在每個子圖部分以節(jié)點度升序的方式遍歷尋找該子圖上的三角形拓?fù)浣Y(jié)構(gòu),每當(dāng)遇到一個三角形,將該三角形內(nèi)部三個頂點向其中度最大的節(jié)點收縮融合形成一個復(fù)合節(jié)點,連邊融合,而垂懸點向內(nèi)點融合,直至整個圖G遍歷完成形成第一粗化歸約圖G1,然后在第一粗化歸約圖G1的基礎(chǔ)上繼續(xù)調(diào)用上一級分配模塊和本級模塊進行下一層粗化歸約,如此循環(huán)迭代直至最終生成的粗化歸約圖規(guī)模小于或等于預(yù)設(shè)的規(guī)模閾值,則終止粗化。
8.根據(jù)權(quán)利要求權(quán)利要求6所述的大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置,其特征在于,所述排序模塊可以為Shell排序單元、快速排序單元或歸并排序單元,其中: Shell排序單元,用于通過采用Shell排序算法的MapReduce并行計算模型,求得圖G上的所有節(jié)點依照節(jié)點度的大小關(guān)系所作的降序排列,以及圖G上所有節(jié)點的有效度之和DSum ; 快速排序單元,用于通過采用快速排序算法的MapReduce并行計算模型,求得圖G上的所有節(jié)點依照節(jié)點度的大小關(guān)系所作的降序排列,以及圖G上所有節(jié)點的有效度之和DSum ; 歸并排序單元,用于通過采用歸并排序算法的MapReduce并行計算模型,求得圖G上的所有節(jié)點依照節(jié)點度的大小關(guān)系所作的降序排列,以及圖G上所有節(jié)點的有效度之和DSum0
9.根據(jù)權(quán)利要求權(quán)利要求6所述的大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置,其特征在于,所述圖G采用鄰接表的方式表示,圖G中每個節(jié)點的數(shù)據(jù)結(jié)構(gòu)包含節(jié)點的標(biāo)號、節(jié)點的度以及節(jié)點的有效度。
10.根據(jù)權(quán)利要求權(quán)利要求6所述的大規(guī)模社交網(wǎng)絡(luò)社區(qū)的檢測裝置,其特征在于,所述分配模塊在以DSum/P為等分基準(zhǔn)參考值,將圖G上的所有節(jié)點按照節(jié)點度降序的輪轉(zhuǎn)分配法則循環(huán)分配到MapReduce并行計算模型中P個Map任務(wù)上,即依負(fù)載均衡法將圖G等分為P個子圖的過程 中,若一個節(jié)點的鄰接鏈表被子圖Pi和子圖Pj從中間分開,則將該鄰接鏈表完整的歸屬于子圖Pi中,其中,子圖Pi為子圖Pj的相鄰劃分子圖。
【文檔編號】G06F17/30GK103942308SQ201410158112
【公開日】2014年7月23日 申請日期:2014年4月18日 優(yōu)先權(quán)日:2014年4月18日
【發(fā)明者】康穎, 王偉平, 孟丹, 木偉民 申請人:中國科學(xué)院信息工程研究所