欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種社區(qū)發(fā)現(xiàn)方法和系統(tǒng)與流程

文檔序號(hào):11990810閱讀:217來(lái)源:國(guó)知局
一種社區(qū)發(fā)現(xiàn)方法和系統(tǒng)與流程
本發(fā)明涉及復(fù)雜網(wǎng)絡(luò)分析和數(shù)據(jù)挖掘領(lǐng)域,尤其涉及一種社區(qū)發(fā)現(xiàn)方法和系統(tǒng)。

背景技術(shù):
隨著對(duì)社交網(wǎng)絡(luò)的性質(zhì)和數(shù)學(xué)特征的深入研究,研究者發(fā)現(xiàn)許多網(wǎng)絡(luò)都具有一個(gè)共同的特征——社區(qū)結(jié)構(gòu),也就是說(shuō),網(wǎng)絡(luò)是由若干個(gè)“群”或“團(tuán)”所構(gòu)成,每個(gè)“群”內(nèi)的節(jié)點(diǎn)之間的連接非常緊密,而“群”之間的連接則相對(duì)比較稀疏。網(wǎng)絡(luò)社區(qū)的發(fā)現(xiàn)可以幫助人們更有效地了解網(wǎng)絡(luò)的結(jié)構(gòu)特征,從而提供更有效、更具個(gè)性化的服務(wù)。例如:用于信息推薦、用戶(hù)分類(lèi),以及互聯(lián)網(wǎng)群體行為分析等。在線(xiàn)社交網(wǎng)絡(luò)上,個(gè)體的自媒體性質(zhì)往往會(huì)產(chǎn)生大量的文本內(nèi)容,這些文本內(nèi)容反映了作者關(guān)心的話(huà)題以及觀點(diǎn)傾向等。個(gè)體自身的標(biāo)簽內(nèi)容和個(gè)人信息資料,如:年齡、職業(yè)、興趣等,可反映個(gè)體具有某一社會(huì)特征,而社交網(wǎng)絡(luò)的同質(zhì)性使得具有相同社會(huì)特征的人更容易聚在一起。因此,利用這些信息可以提高僅僅依據(jù)網(wǎng)絡(luò)結(jié)構(gòu)來(lái)發(fā)現(xiàn)社區(qū)的質(zhì)量。當(dāng)前,許多研究通過(guò)分析網(wǎng)絡(luò)的結(jié)構(gòu)來(lái)發(fā)現(xiàn)社區(qū)。其中,Blondel等人基于現(xiàn)實(shí)中的大規(guī)模網(wǎng)絡(luò)的社區(qū)結(jié)構(gòu)都具有層次性,提出了一種迭代的兩階段模塊度最大化的快速算法(BGL算法)用于發(fā)現(xiàn)社區(qū)。該算法分為兩步:第一步、通過(guò)社區(qū)之間局部交換節(jié)點(diǎn)使得社區(qū)劃分的模塊度最大化。第二步、將前一步網(wǎng)絡(luò)劃分產(chǎn)生的社區(qū)作為新的網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)之間邊的權(quán)值為其代表的兩個(gè)社區(qū)之間的邊的權(quán)值之和。反復(fù)迭代以上兩個(gè)步驟,直到模塊度的大小不再可能增加。BGL算法所使用的模塊度度量標(biāo)準(zhǔn)如下式所定義,該定義適用于加權(quán)網(wǎng)絡(luò):其中,Aij表示節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的邊的權(quán)重,imax為i的最大值,jmax為j的最大值;表示與節(jié)點(diǎn)i相連的所有邊的權(quán)值之和;ci表示節(jié)點(diǎn)i所在的(所屬的)社區(qū);δ函數(shù)δ(u,v)表示當(dāng)u與v相等時(shí)為1,而其余情況下為0;表示網(wǎng)絡(luò)中所有邊的權(quán)值之和。然而,BGL算法沒(méi)有涉及到網(wǎng)絡(luò)節(jié)點(diǎn)的屬性信息。而研究表明,在真實(shí)的在線(xiàn)社交網(wǎng)絡(luò)中,節(jié)點(diǎn)的屬性信息可以是判斷的標(biāo)準(zhǔn)之一,在結(jié)構(gòu)緊密的前提下,同一社區(qū)內(nèi)的節(jié)點(diǎn)屬性越相似越好。除此之外,雖然現(xiàn)有的很多圖聚類(lèi)方法已將網(wǎng)絡(luò)的結(jié)構(gòu)和節(jié)點(diǎn)的屬性特征(或稱(chēng)節(jié)點(diǎn)屬性或節(jié)點(diǎn)屬性信息)結(jié)合起來(lái)考慮(例如通過(guò)對(duì)屬性和結(jié)構(gòu)進(jìn)行加權(quán)的方法構(gòu)造新的網(wǎng)絡(luò),并在新的網(wǎng)絡(luò)上進(jìn)行社區(qū)劃分),但是這些聚類(lèi)的結(jié)果往往存在結(jié)構(gòu)上并不緊密或者不關(guān)聯(lián)的社區(qū),從而導(dǎo)致社區(qū)發(fā)現(xiàn)的結(jié)果不準(zhǔn)確;而且,這些方法的時(shí)間復(fù)雜度較高,不適于處理大規(guī)模的數(shù)據(jù)。因此,需要一種方法來(lái)提高社區(qū)發(fā)現(xiàn)的準(zhǔn)確度;同時(shí)還能適用于大規(guī)模在線(xiàn)社交網(wǎng)絡(luò)數(shù)據(jù)。

技術(shù)實(shí)現(xiàn)要素:
根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供了一種社區(qū)發(fā)現(xiàn)方法,包括:步驟1)、對(duì)網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)基于模塊度最大化進(jìn)行社區(qū)劃分;步驟2)、基于社區(qū)屬性熵最小化調(diào)整從步驟1)得到的社區(qū)邊界節(jié)點(diǎn);步驟3)、如果從步驟2)得到的社區(qū)劃分滿(mǎn)足結(jié)束條件,則該社區(qū)劃分作為最終的社區(qū)劃分;否則,將從步驟2)得到的社區(qū)作為節(jié)點(diǎn),重新執(zhí)行步驟1)對(duì)該節(jié)點(diǎn)進(jìn)行社區(qū)劃分并且重新執(zhí)行步驟2)調(diào)整社區(qū)邊界節(jié)點(diǎn)。在一個(gè)實(shí)施例中,所述結(jié)束條件為:經(jīng)過(guò)步驟1)和步驟2)的處理后得到的社區(qū)劃分的模塊度與處理前的模塊度相比沒(méi)有增加,并且經(jīng)過(guò)步驟1)和步驟2)的處理后得到的社區(qū)劃分的整個(gè)社區(qū)屬性熵與處理前的整個(gè)社區(qū)屬性熵相比沒(méi)有減少。在另一個(gè)實(shí)施例中,所述結(jié)束條件為:重復(fù)步驟1)和步驟2)的次數(shù)已達(dá)到預(yù)設(shè)閾值。在一個(gè)實(shí)施例中,步驟1)包括:對(duì)于網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn),將該節(jié)點(diǎn)移動(dòng)到模塊度正增量最大所對(duì)應(yīng)的鄰居節(jié)點(diǎn)所在社區(qū),直到任何節(jié)點(diǎn)的移動(dòng)都不能帶來(lái)模塊度正增量為止。在一個(gè)實(shí)施例中,步驟2)包括:步驟21)、隨機(jī)選擇一個(gè)社區(qū)邊界節(jié)點(diǎn);步驟22)、計(jì)算所述社區(qū)邊界節(jié)點(diǎn)從所在的社區(qū)移到其鄰居社區(qū)所產(chǎn)生的鄰居社區(qū)的社區(qū)屬性熵增量;步驟23)、選擇所述社區(qū)屬性熵增量最小的鄰居社區(qū),判斷該鄰居社區(qū)是否是所述社區(qū)邊界節(jié)點(diǎn)所在的社區(qū),如果不是,則將所述社區(qū)邊界節(jié)點(diǎn)從其所在的社區(qū)移動(dòng)到該鄰居社區(qū);步驟24)、如果所述社區(qū)邊界節(jié)點(diǎn)移動(dòng)前后的整個(gè)社區(qū)屬性熵發(fā)生變化,則返回步驟21)。在進(jìn)一步的實(shí)施例中,步驟21)包括:步驟211)、從步驟1)得到的社區(qū)中隨機(jī)選擇一個(gè)社區(qū);步驟212)、從所選擇的社區(qū)中隨機(jī)選擇一個(gè)節(jié)點(diǎn),其中與該節(jié)點(diǎn)相連的邊的端點(diǎn)不完全是其所在的社區(qū)中的節(jié)點(diǎn)。在一個(gè)實(shí)施例中,步驟21)前還包括:步驟20)、將步驟1)的社區(qū)劃分還原為原始節(jié)點(diǎn)的社區(qū)劃分,其中原始節(jié)點(diǎn)是第一次基于模塊度最大化進(jìn)行社區(qū)劃分前的網(wǎng)絡(luò)中的節(jié)點(diǎn)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供了一種社區(qū)發(fā)現(xiàn)系統(tǒng),包括社區(qū)劃分模塊和社區(qū)調(diào)整模塊。其中,社區(qū)劃分模塊用于對(duì)網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)基于模塊度最大化進(jìn)行社區(qū)劃分。社區(qū)調(diào)整模塊用于基于社區(qū)屬性熵最小化調(diào)整從所述社區(qū)劃分模塊得到的社區(qū)邊界節(jié)點(diǎn);如果調(diào)整后得到的社區(qū)劃分滿(mǎn)足預(yù)定條件,則該社區(qū)劃分為最終的社區(qū)劃分;否則,將調(diào)整后得到的社區(qū)作為節(jié)點(diǎn),由所述社區(qū)劃分模塊重新對(duì)該節(jié)點(diǎn)進(jìn)行社區(qū)劃分并且由所述社區(qū)調(diào)整模塊重新調(diào)整社區(qū)邊界節(jié)點(diǎn)。本發(fā)明的有益效果如下:通過(guò)利用節(jié)點(diǎn)的屬性特征,對(duì)使用模塊度最大化方法產(chǎn)生的社區(qū)的邊界節(jié)點(diǎn)進(jìn)行優(yōu)化操作,以發(fā)現(xiàn)特征更加明顯的社區(qū),從而提高了社區(qū)發(fā)現(xiàn)的準(zhǔn)確度。此外,本發(fā)明的時(shí)間復(fù)雜度接近線(xiàn)性,適用于大規(guī)模在線(xiàn)社交網(wǎng)絡(luò)數(shù)據(jù)。附圖說(shuō)明圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的社區(qū)發(fā)現(xiàn)方法流程圖;圖2是包括多個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)的一個(gè)實(shí)施例的樹(shù)形圖;圖3是對(duì)圖2所示的節(jié)點(diǎn)基于模塊度最大化進(jìn)行第一次社區(qū)劃分且基于社區(qū)屬性熵最小化調(diào)整社區(qū)邊界節(jié)點(diǎn)得到的社區(qū)劃分的樹(shù)形圖;圖4是對(duì)圖2所示的節(jié)點(diǎn)基于模塊度最大化進(jìn)行第二次社區(qū)劃分且基于社區(qū)屬性熵最小化調(diào)整社區(qū)邊界節(jié)點(diǎn)得到的社區(qū)劃分的樹(shù)形圖;圖5a是網(wǎng)絡(luò)結(jié)構(gòu)的一個(gè)實(shí)施例的示意圖;圖5b是圖5a所示的網(wǎng)絡(luò)結(jié)構(gòu)中節(jié)點(diǎn)的屬性矩陣示意圖;圖5c是僅考慮網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行社區(qū)劃分的結(jié)果示意圖;圖5d是根據(jù)本發(fā)明提供的社區(qū)發(fā)現(xiàn)方法進(jìn)行社區(qū)劃分的結(jié)果示意圖;以及圖6是根據(jù)本發(fā)明提供的社區(qū)發(fā)現(xiàn)方法和現(xiàn)有方法進(jìn)行社區(qū)劃分的結(jié)果對(duì)比示意圖。具體實(shí)施方式下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。為了下文描述方便,首先介紹以下概念:1、網(wǎng)絡(luò)圖給定一個(gè)網(wǎng)絡(luò)圖G=(V,E),其中V={v1,v2,...vn}表示網(wǎng)絡(luò)中節(jié)點(diǎn)的集合,E={e1,e2,...,em}表示邊的集合。且|V|=n且|E|=m。通常,可以用<vi,vj>表示節(jié)點(diǎn)vi和vj之間連接的邊,其中,1≤i≤n,1≤j≤n,i≠j。因而,邊也可以表示為ek=<vi,vj>,1≤k≤m。在社交網(wǎng)絡(luò)中,邊可以表示其相連的節(jié)點(diǎn)(用戶(hù))之間互為好友、粉絲等等,可根據(jù)分析的目標(biāo)而定。文本中所涉及的網(wǎng)絡(luò)圖為無(wú)向圖,G中的節(jié)點(diǎn)對(duì)所表示的邊是無(wú)序的,即<vi,vj>和<vj,vi>表示的是同一條邊。2、帶節(jié)點(diǎn)屬性信息的網(wǎng)絡(luò)圖如上文所述,以在線(xiàn)社交網(wǎng)絡(luò)為例,屬性(即上文所描述的屬性特征、屬性信息)可以是用戶(hù)的標(biāo)簽、用戶(hù)的年齡、用戶(hù)的國(guó)籍、興趣愛(ài)好等等。劃分不同的網(wǎng)絡(luò)可能需要使用到不同的屬性,屬性可以是離散的也可以是連續(xù)的。離散的例如包括用戶(hù)的興趣愛(ài)好:體育、文學(xué)、政治等等;連續(xù)的例如包括用戶(hù)的年齡。然而,用戶(hù)的年齡10~15也可以離散化為“青年”這個(gè)離散的屬性上。屬性可以用特征向量表示,例如:一個(gè)包含地址(到省級(jí))、年齡(到年齡段),和興趣(人工或計(jì)算機(jī)輔助分析內(nèi)容或標(biāo)簽到特定的類(lèi)別)的三元組:(湖南,少年,文學(xué)),(浙江,中年,文學(xué))。對(duì)于網(wǎng)絡(luò)中的節(jié)點(diǎn)具有屬性的網(wǎng)絡(luò)圖,可以定義為帶節(jié)點(diǎn)屬性信息的圖(或稱(chēng)多屬性圖)G={V,E,A},其中,A={a1,a2,...al}表示網(wǎng)絡(luò)中節(jié)點(diǎn)所具有的屬性集合,所有屬性個(gè)數(shù)|A|=l。網(wǎng)絡(luò)中的任一節(jié)點(diǎn)vi∈V都對(duì)應(yīng)一個(gè)屬性向量[ai1,...,ail],其中ail是節(jié)點(diǎn)vi在屬性al上的值。多屬性圖上的社區(qū)發(fā)現(xiàn)目標(biāo)即是在一個(gè)多屬性圖中,將節(jié)點(diǎn)劃分為k個(gè)社區(qū)(即群、團(tuán)),表示為Gi=(Vi,Ei,Ai),其中Vi∩Vj=φ。而在同一社區(qū)內(nèi)的節(jié)點(diǎn)不僅相互連接緊密而且具有很高的相似性。3、節(jié)點(diǎn)的鄰居節(jié)點(diǎn)集合節(jié)點(diǎn)vi的鄰居節(jié)點(diǎn)集合N(vi)={vj|<vi,vj>∈E,vj∈V},表示網(wǎng)絡(luò)中與節(jié)點(diǎn)vi直接相連的邊的端點(diǎn)。4、節(jié)點(diǎn)的鄰居社區(qū)集合節(jié)點(diǎn)vi的鄰居社區(qū)集合表示與節(jié)點(diǎn)vi直接相連接的社區(qū)。5、社區(qū)邊界節(jié)點(diǎn)社區(qū)Vm的邊界節(jié)點(diǎn)集合其中,社區(qū)內(nèi)的節(jié)點(diǎn)vi是這個(gè)社區(qū)的邊界節(jié)點(diǎn),是指與vi直接相連的邊的端點(diǎn)不完全是社區(qū)Vm內(nèi)的節(jié)點(diǎn)。在社交網(wǎng)絡(luò)中,社區(qū)的邊界節(jié)點(diǎn)往往是承擔(dān)鏈接橋和信息傳播通道作用的重要節(jié)點(diǎn),也有可能是屬于多個(gè)社區(qū)的節(jié)點(diǎn)。6、社區(qū)屬性熵熵是香農(nóng)信息理論中的一個(gè)重要概念,在數(shù)據(jù)挖掘領(lǐng)域中,可以用來(lái)定義一個(gè)數(shù)據(jù)集合內(nèi)的相似度,一個(gè)數(shù)據(jù)集合內(nèi)各個(gè)節(jié)點(diǎn)之間的相似度越高,其整體的熵值就越低。假設(shè)給定一個(gè)社區(qū)Vm,包含|Vm|=M個(gè)節(jié)點(diǎn),那么可采用下式來(lái)定義這個(gè)社區(qū)的屬性熵H(Vm):公式(2)中,si,j表示兩個(gè)節(jié)點(diǎn)i和j之間的相似度,即在屬性上的相似度(反映兩個(gè)節(jié)點(diǎn)在屬性上的親密程度),且在此基礎(chǔ)上,整個(gè)社區(qū)劃分的屬性熵(或稱(chēng)整個(gè)社區(qū)屬性熵)可表示為:根據(jù)本發(fā)明的一個(gè)實(shí)施例,可使用各種相似度計(jì)算方法來(lái)計(jì)算節(jié)點(diǎn)之間在屬性上的相似度,如利用余弦定理和廣義Jaccard系數(shù)來(lái)計(jì)算該相似度。由于屬性可以是連續(xù)的,也可以是離散的或是文本內(nèi)容。在其中屬性是離散屬性的實(shí)施例中,屬性相似度的計(jì)算方法可以采用基于特征向量的方法,或者采用笛卡爾相似度計(jì)算方法。如果屬性是連續(xù)的,則可以先轉(zhuǎn)化為離散的(如上文描述的對(duì)年齡的轉(zhuǎn)化)再進(jìn)行處理。根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供一種社區(qū)發(fā)現(xiàn)方法。如圖1所示,該方法包括以下三個(gè)步驟:步驟一、使用模塊度最大化方法進(jìn)行社區(qū)劃分。在其中加權(quán)網(wǎng)絡(luò)具有N個(gè)節(jié)點(diǎn)的實(shí)施例中,在初始時(shí),該加權(quán)網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都代表一個(gè)不同的社區(qū),也就是說(shuō),網(wǎng)絡(luò)中有多少個(gè)節(jié)點(diǎn)就表示該網(wǎng)絡(luò)中有多少個(gè)社區(qū)。接著,假設(shè)節(jié)點(diǎn)i從自己所在的社區(qū)移出并轉(zhuǎn)移到其鄰居節(jié)點(diǎn)j所在的社區(qū),分別計(jì)算其移動(dòng)到不同社區(qū)的模塊度的增量。找出節(jié)點(diǎn)i的鄰居節(jié)點(diǎn)集合中能夠使得模塊度正增量最大的節(jié)點(diǎn)j',并真正將節(jié)點(diǎn)i轉(zhuǎn)移到節(jié)點(diǎn)j'所在的社區(qū)。如果在該過(guò)程中找不到滿(mǎn)足條件的鄰居節(jié)點(diǎn)j',則節(jié)點(diǎn)i保持在原有社區(qū)不變。這個(gè)過(guò)程持續(xù)到在該網(wǎng)絡(luò)中,任何節(jié)點(diǎn)的移動(dòng)都不能帶來(lái)模塊度正增量為止。這個(gè)過(guò)程結(jié)束后,得到網(wǎng)絡(luò)局部模塊度最大化。步驟二、進(jìn)行社區(qū)屬性熵最小化過(guò)程。如上文所述,一個(gè)社區(qū)內(nèi)各個(gè)節(jié)點(diǎn)之間的相似度越高,其屬性熵值就越低。在根據(jù)步驟一得到的社區(qū)劃分上,通過(guò)調(diào)整社區(qū)邊界節(jié)點(diǎn)來(lái)最小化整個(gè)社區(qū)屬性熵。在一個(gè)實(shí)施例中,如果在步驟一中不是對(duì)原始節(jié)點(diǎn)進(jìn)行社區(qū)劃分,則在本步驟之前還要將步驟一得到的社區(qū)劃分還原到原始節(jié)點(diǎn)的社區(qū)劃分。這是因?yàn)?,在下一次迭?或者說(shuō)采用模塊度最大化方法進(jìn)行社區(qū)劃分)之前都需要將從當(dāng)前社區(qū)劃分(包括模塊度最大化以及社區(qū)屬性熵最小化過(guò)程)得到的社區(qū)看做節(jié)點(diǎn),在下一次迭代時(shí)根據(jù)該節(jié)點(diǎn)重新進(jìn)行社區(qū)劃分(將在下文中詳細(xì)描述)。因此,步驟一得到的社區(qū)劃分中,社區(qū)中的每個(gè)節(jié)點(diǎn)可能是前一次社區(qū)劃分后得到的社區(qū),而社區(qū)屬性熵需要根據(jù)社區(qū)內(nèi)的原始節(jié)點(diǎn)的屬性來(lái)進(jìn)行計(jì)算。在進(jìn)一步的實(shí)施例中,可以通過(guò)創(chuàng)建和維護(hù)相鄰兩次模塊度最大化方法產(chǎn)生的社區(qū)劃分及其對(duì)應(yīng)關(guān)系來(lái)實(shí)現(xiàn)上述還原,其結(jié)構(gòu)可以如圖2-4所描述的那樣,以樹(shù)來(lái)表示。圖2-4分別示出了具有10個(gè)原始節(jié)點(diǎn)的網(wǎng)絡(luò)在初始時(shí)、第一次迭代(每次迭代包括模塊度最大化和社區(qū)屬性熵最小化過(guò)程)后、第二次迭代后得到的社區(qū)結(jié)構(gòu)示意圖。盡管沒(méi)有示出該網(wǎng)絡(luò)結(jié)構(gòu)圖,應(yīng)理解,10個(gè)節(jié)點(diǎn)彼此之間可能有邊相連,且每個(gè)節(jié)點(diǎn)具有屬性。圖2中,0_0到0_9代表這10個(gè)原始節(jié)點(diǎn)的編號(hào),其中“_”前面的數(shù)字用于表示該樹(shù)是第幾迭代得到的結(jié)果(或者用于表示所形成的第幾個(gè)網(wǎng)絡(luò),其中初始狀態(tài)的網(wǎng)絡(luò)為第0網(wǎng)絡(luò))。10個(gè)節(jié)點(diǎn)上方的“-”節(jié)點(diǎn)表示整個(gè)樹(shù)的根節(jié)點(diǎn),它的每一棵子樹(shù)代表一個(gè)社區(qū)(即初始時(shí),每個(gè)節(jié)點(diǎn)都是一個(gè)社區(qū))。在對(duì)該網(wǎng)絡(luò)第一次使用模塊度最大化方法劃分社區(qū)且基于社區(qū)屬性熵最小化調(diào)整該社區(qū)劃分后,該網(wǎng)絡(luò)可劃分為4個(gè)社區(qū)(或稱(chēng)超節(jié)點(diǎn)),其中原始節(jié)點(diǎn)0_0,0_1,0_2和0_3劃分到一個(gè)社區(qū),原始節(jié)點(diǎn)0_4,0_5和0_6劃分到一個(gè)社區(qū)且原始節(jié)點(diǎn)0_7單獨(dú)劃分到一個(gè)社區(qū)。圖3示出了在第一次迭代后得到的社區(qū)和原始節(jié)點(diǎn)對(duì)應(yīng)關(guān)系,圖3中的4個(gè)社區(qū)的編號(hào)分別為1_0,1_1,1_2和1_3。其中,社區(qū)1_0對(duì)應(yīng)的原始節(jié)點(diǎn)為0_0,0_1,0_2和0_3,社區(qū)1_1對(duì)應(yīng)的原始節(jié)點(diǎn)為0_4,0_5和0_6,社區(qū)1_2對(duì)應(yīng)的原始節(jié)點(diǎn)為0_7,而社區(qū)1_3對(duì)應(yīng)的原始節(jié)點(diǎn)則為0_8和0_9。如果沒(méi)有滿(mǎn)足預(yù)定結(jié)束條件,則下一步將對(duì)這4個(gè)超節(jié)點(diǎn)組成的新的網(wǎng)絡(luò)做進(jìn)一步劃分(或稱(chēng)迭代,包括模塊度最大化過(guò)程及社區(qū)屬性熵最小化過(guò)程)。如圖4示出了進(jìn)行第二次劃分后社區(qū)和節(jié)點(diǎn)的對(duì)應(yīng)關(guān)系,其中社區(qū)2_0包含了超節(jié)點(diǎn)1_0和1_1,社區(qū)2_1包含了超節(jié)點(diǎn)1_2和1_3。從而,可以得到當(dāng)前在原始節(jié)點(diǎn)上的社區(qū)劃分為{0_0,0_1,0_2,0_3,0_4,0_5,0_6}和{0_7,0_8,0_9}。上文中示例性地描述了用樹(shù)來(lái)表示原始節(jié)點(diǎn)與社區(qū)劃分之間的對(duì)應(yīng)關(guān)系,應(yīng)理解,也可以采用本領(lǐng)域公知的其他技術(shù)來(lái)創(chuàng)建和維護(hù)相鄰兩次模塊度最大化方法產(chǎn)生的社區(qū)劃分及其對(duì)應(yīng)關(guān)系。在一個(gè)實(shí)施例中,對(duì)給定的多屬性圖及其某個(gè)初始社區(qū)劃分,其社區(qū)屬性熵最小化方法包括:a)、從當(dāng)前的社區(qū)劃分中隨機(jī)選擇一個(gè)社區(qū)Vm,根據(jù)上文中對(duì)社區(qū)屬性熵的概念描述,獲得它的邊界節(jié)點(diǎn)集合。b)、從集合中隨機(jī)選擇一個(gè)社區(qū)邊界節(jié)點(diǎn)i,假設(shè)將其移動(dòng)到它的鄰居社區(qū),計(jì)算其對(duì)鄰居社區(qū)的屬性熵的貢獻(xiàn)度增量(即社區(qū)屬性熵增量)。其中,根據(jù)以下公式計(jì)算節(jié)點(diǎn)i對(duì)社區(qū)Vm(其所移動(dòng)到的鄰居社區(qū))的屬性熵的貢獻(xiàn)度增量:其中,節(jié)點(diǎn)i為選擇的社區(qū)邊界節(jié)點(diǎn),imax為i的最大值;H(Vm)為節(jié)點(diǎn)i所在的社區(qū)(鄰居社區(qū))Vm的屬性熵;si,j表示兩個(gè)節(jié)點(diǎn)i和j在屬性上的相似度,c)、選擇社區(qū)屬性熵增量最小的鄰居社區(qū)(即采用公式(4)計(jì)算所得的最小ΔH所對(duì)應(yīng)的鄰居社區(qū)),并判斷該社區(qū)是否是節(jié)點(diǎn)i當(dāng)前所在的社區(qū),若否,則將該節(jié)點(diǎn)從當(dāng)前社區(qū)移動(dòng)到新的社區(qū)。d)、判斷是否滿(mǎn)足終止條件:判斷整個(gè)社區(qū)屬性熵是否不再變化,若仍然變化,則重復(fù)上述步驟。在一個(gè)實(shí)施例中,可以采用以下算法來(lái)描述社區(qū)屬性熵最小化過(guò)程:算法:entropyMin輸入:社區(qū)劃分V,相似度矩陣輸出:社區(qū)劃分V'在經(jīng)過(guò)社區(qū)屬性熵最小化過(guò)程后,用新的網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)(超節(jié)點(diǎn))來(lái)代替最小化過(guò)程得到的一個(gè)社區(qū),而節(jié)點(diǎn)之間的邊的權(quán)值,是對(duì)應(yīng)的兩個(gè)社區(qū)之間的邊的權(quán)值之和;節(jié)點(diǎn)的自環(huán)邊的權(quán)值為其代表的同一社區(qū)內(nèi)節(jié)點(diǎn)之間邊的權(quán)值之和。步驟三、判斷是否滿(mǎn)足結(jié)束條件,若不滿(mǎn)足則重復(fù)以上過(guò)程。在一個(gè)實(shí)施例中,由于最終目的是使得最終得到的社區(qū)在模塊度最大化和表征社區(qū)同質(zhì)性的社區(qū)屬性熵最小化之間達(dá)到平衡,因此上述方法終止于模塊度不能再增加且整個(gè)社區(qū)屬性熵不能再減少。而在另一個(gè)實(shí)施例中,可以通過(guò)控制迭代次數(shù)來(lái)控制社區(qū)劃分的粒度與規(guī)模,反映不同層次上的社區(qū)結(jié)構(gòu),達(dá)到發(fā)現(xiàn)層次式社區(qū)結(jié)構(gòu)的目的。在一個(gè)實(shí)施例中,可采用以下算法描述基于模塊度最大化且基于社區(qū)屬性熵最小化來(lái)進(jìn)行社區(qū)劃分的過(guò)程:算法:ACD輸入:imax輸出:V根據(jù)本發(fā)明的一個(gè)實(shí)施例,還提供一種社區(qū)發(fā)現(xiàn)系統(tǒng),包括社區(qū)劃分模塊和社區(qū)調(diào)整模塊。其中,社區(qū)劃分模塊用于對(duì)網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)基于模塊度最大化進(jìn)行社區(qū)劃分。社區(qū)調(diào)整模塊用于基于社區(qū)屬性熵最小化調(diào)整從社區(qū)劃分模塊得到的社區(qū)邊界節(jié)點(diǎn);如果調(diào)整后得到的社區(qū)劃分滿(mǎn)足預(yù)定條件,則該社區(qū)劃分為最終的社區(qū)劃分;否則,將調(diào)整后得到的社區(qū)作為節(jié)點(diǎn),由社區(qū)劃分模塊重新對(duì)該節(jié)點(diǎn)進(jìn)行社區(qū)劃分并且由社區(qū)調(diào)整模塊重新調(diào)整社區(qū)邊界節(jié)點(diǎn)。圖5a-5d描述了在一個(gè)網(wǎng)絡(luò)實(shí)例上采用本發(fā)明提供的社區(qū)發(fā)現(xiàn)方法與采用現(xiàn)有的僅基于網(wǎng)絡(luò)結(jié)構(gòu)的方法發(fā)現(xiàn)社區(qū)的結(jié)果準(zhǔn)確度對(duì)比。圖5a示出了該網(wǎng)絡(luò)實(shí)例的網(wǎng)絡(luò)結(jié)構(gòu)圖,圖5b示出了節(jié)點(diǎn)的屬性矩陣。這里為簡(jiǎn)單起見(jiàn),以A1、A2、A3分別描述社區(qū)劃分所需的節(jié)點(diǎn)屬性信息,并且以0、1來(lái)表示節(jié)點(diǎn)是否具有該屬性。從圖5b中可以看出,圖1中所示的節(jié)點(diǎn)1、2、3的屬性相同,節(jié)點(diǎn)4、5、6的屬性相同,以及節(jié)點(diǎn)7、8、9、10、11、12的屬性相同。圖5c示出了采用只考慮網(wǎng)絡(luò)結(jié)構(gòu)的現(xiàn)有方法得到的社區(qū)劃分結(jié)果,而圖5d示出了根據(jù)本發(fā)明提供的、綜合考慮了結(jié)構(gòu)和節(jié)點(diǎn)屬性的社區(qū)發(fā)現(xiàn)方法得到的社區(qū)劃分的最終結(jié)果。從圖5c和5d可以看出,圖5c中,在每個(gè)社區(qū)內(nèi)部節(jié)點(diǎn)的屬性不全相同。而在圖5d的社區(qū)劃分結(jié)果中,每個(gè)社區(qū)內(nèi)部的節(jié)點(diǎn)屬性相同,即節(jié)點(diǎn)1、2、3形成一個(gè)社區(qū),節(jié)點(diǎn)4、5、6形成一個(gè)社區(qū),其他節(jié)點(diǎn)形成一個(gè)社區(qū)??梢?jiàn),采用本發(fā)明提供的社區(qū)發(fā)現(xiàn)方法所得到的結(jié)果更加準(zhǔn)確。為進(jìn)一步驗(yàn)證本發(fā)明提供的社區(qū)發(fā)現(xiàn)方法的準(zhǔn)確度,發(fā)明人采集了美國(guó)的政治博客的有關(guān)數(shù)據(jù),其中包括1490個(gè)博客及其19090個(gè)超鏈接,每個(gè)博客都具有其自身屬性(包括“民主”和“共和”)。圖6示出了使用不同方法對(duì)政治博客進(jìn)行社區(qū)發(fā)現(xiàn)的結(jié)果。如圖6所示,采用BGL方法進(jìn)行社區(qū)劃分后,模塊度和整個(gè)社區(qū)屬性熵分別為0.472和0.407;而采用本發(fā)明提供的社區(qū)發(fā)現(xiàn)方法(圖中以ACD表示)進(jìn)行社區(qū)劃分得到的模塊度和整個(gè)社區(qū)屬性熵為0.411和0.03,與BGL方法相比分別下降了4.6%和92.1%(如上文所述,熵值越低表明社區(qū)內(nèi)的節(jié)點(diǎn)相似度越高)。采用SA-Cluster方法所得的整個(gè)社區(qū)屬性熵與采用本發(fā)明提供的社區(qū)發(fā)現(xiàn)方法所得的整個(gè)社區(qū)屬性熵相近,但其模塊度較低。根據(jù)圖6示出的在真實(shí)社交網(wǎng)絡(luò)數(shù)據(jù)上的實(shí)驗(yàn)分析,證明了本發(fā)明提供的社區(qū)發(fā)現(xiàn)方法可以獲取特征更加明顯的社區(qū)。同一社區(qū)內(nèi)部的節(jié)點(diǎn)不僅在結(jié)構(gòu)上連接緊密,且節(jié)點(diǎn)之間的相似度也更高。最后所應(yīng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制。盡管參照實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
罗山县| 苏尼特右旗| 瑞昌市| 惠安县| 清徐县| 光泽县| 拜泉县| 绥滨县| 广饶县| 五大连池市| 衡阳县| 木兰县| 论坛| 南投市| 津南区| 新乡市| 济南市| 云和县| 三穗县| 霞浦县| 蒲城县| 伊川县| 德惠市| 平武县| 北宁市| 个旧市| 图木舒克市| 商丘市| 达州市| 灵寿县| 库伦旗| 方山县| 耿马| 蒙山县| 鱼台县| 沾化县| 晴隆县| 广平县| 海淀区| 鄂托克前旗| 曲松县|