社團發現方法及系統的制作方法
【專利摘要】本發明涉及一種社團發現方法及系統,所述方法包括:根據一有向加權圖中多個節點之間的關系建立一鄰接矩陣;對所述鄰接矩陣進行預處理,得到一輸入矩陣;對所述輸入矩陣進行非負矩陣分解;獲取所述多個節點與至少一社團之間的關系;根據所述多個節點與所述至少一社團之間的關系確定所述至少一社團中的每個社團包含的所有節點。本發明通過對有向加權圖進行鄰接矩陣轉換和非負矩陣分解等處理,得到所述有向加權圖中各節點與至少一社團之間的關系,進而方便、準確地確定所述至少一社團的結構。
【專利說明】社團發現方法及系統
【技術領域】
[0001]本發明涉及數據處理技術,尤其涉及一種社團發現方法及系統。
【背景技術】
[0002]隨著互聯網規模的不斷擴大和應用領域的日益擴張,社交網絡的應用越來越廣泛,在社交網絡中,節點之間的相互連接、影響,形成許多社團結構。社團內的節點相互聯系密切,相互共享信息或者進行合作,如微博、Facebook(臉譜)、Twitter (推特)等網絡應用中,有共同興趣的節點相互分享視頻、評論等信息,形成一種社團結構。近年來不斷復雜的網絡結構,使得網絡中隱含大量社團信息,通過挖掘社團結構,可以對網絡屬性和行為進行研究,有效控制網絡的發展。因此如何從復雜網絡中準確的發現社團成為亟待解決的問題。
【發明內容】
[0003]有鑒于此,本發明的一個目的是提供一種社團發現方法及系統,以準確的從復雜的網絡中發現社團信息,為網絡屬性和行為的進一步研究做好準備。
[0004]為解決上述技術問題,一方面,本發明提供了一種社團發現方法,包括:
[0005]根據一有向加權圖中多個節點之間的關系建立一鄰接矩陣;
[0006]對所述鄰接矩陣進行預處理,得到一輸入矩陣;
[0007]對所述輸入矩陣進行非負矩陣分解,并計算得到所述多個節點與至少一社團之間的關系;
[0008]根據所述多個節點與所述至少一社團之間的關系確定所述至少一社團中的每個社團包含的所有節點。
[0009]另一方面,本發明還提供了一種社團發現系統,包括:
[0010]鄰接矩陣建立模塊,用于根據一有向加權圖中多個節點之間的關系建立一鄰接矩陣;
[0011]預處理模塊,用于對所述鄰接矩陣進行預處理,得到一輸入矩陣;
[0012]非負矩陣分解模塊,用于對所述輸入矩陣進行非負矩陣分解,并計算得到所述多個節點與至少一社團之間的關系;
[0013]社團確定模塊,用于根據所述多個節點與所述至少一社團之間的關系確定所述至少一社團中的每個社團包含的所有節點。
[0014]根據本發明的上述技術方案中至少一個技術方案通過對有向加權圖進行轉換和處理,得到所述有向加權圖中各節點與至少一社團之間的關系,進而方便、準確地確定所述至少一社團的結構。
【專利附圖】
【附圖說明】
[0015]圖1a和圖1b分別為本發明實施例的一種社團發現方法的流程圖;
[0016]圖2為本發明實施例的一種有向加權圖的結構示意圖;[0017]圖3為與圖2所示的有向加權圖對應的鄰接矩陣的示意圖;
[0018]圖4為本發明實施例的另一種社團發現方法的流程圖;
[0019]圖5為本發明實施例的又一種社團發現方法的流程圖;
[0020]圖6為本發明實施例的一種社團發現系統的結構示意框圖。
【具體實施方式】
[0021]下面結合附圖和實施例,對本發明的【具體實施方式】作進一步詳細說明。以下實施例用于說明本發明,但不用來限制本發明的范圍。
[0022]如圖1a和Ib所示,本申請實施例提供了一種社團發現方法,包括:
[0023]SllO根據一有向加權圖中多個節點之間的關系建立一鄰接矩陣;
[0024]S120對所述鄰接矩陣進行預處理,得到一輸入矩陣;
[0025]S130對所述輸入矩陣進行非負矩陣分解,并計算得到所述多個節點與至少一社團之間的關系;
[0026]S140根據所述多個節點與所述至少一社團之間的關系確定所述至少一社團中的每個社團包含的所有節點。
[0027]本申請實施例通過對有向加權圖進行鄰接矩陣轉換和非負矩陣分解等處理,得到所述有向加權圖中各節點與至少一社團之間的關系,進而方便、準確地確定所述至少一社團的結構。
[0028] 通過下面的實施方式進一步說明本申請實施例方法中的各步驟:
[0029]SllO根據一有向加權圖中多個節點之間的關系建立一鄰接矩陣。
[0030]以一有向加權圖中有η個節點為例,所述鄰接矩陣G則為一個η行η列的矩陣,其元素表示第i個節點與第j個節點之間關系的權重大小,其中i和j不大于n,并且i =j時,gu = O。例如,所述第i個節點與所述第j個節點之間有且僅有從所述第i個節點到所述第j個節點的鏈接關系,并且權重為1,則所述元素gu為1,元素gu為O。
[0031]由有向加權圖建立所述鄰接矩陣具體可以參見圖2和實施例,這里不再贅述。
[0032]S120對所述鄰接矩陣進行預處理,得到一輸入矩陣。
[0033]由于對矩陣進行轉置變換,并不改變節點屬于哪個社團的特性,只是將社團之間的關系結構進行了轉置變換,因此在本申請實施例一種可能的實施方式中,所述步驟S120包括:
[0034]將所述鄰接矩陣與所述鄰接矩陣的轉置相加,得到所述輸入矩陣。可以通過下面的公式表不:
[0035]A = G+GT
[0036]其中,A為所述輸入矩陣。
[0037]S130對所述輸入矩陣進行非負矩陣分解,并計算得到所述多個節點與至少一社團之間的關系。
[0038]在本申請實施例的一種可能的實施方式中,所述非負矩陣分解為三項非負矩陣分解。
[0039]所述對所述輸入矩陣進行非負矩陣分解包括:
[0040]對所述鄰接矩陣進行三項非負矩陣分解,得到G ^ XSXt ;[0041]根據所述鄰接矩陣的三項非負矩陣分解得到所述輸入矩陣的三項非負矩陣分解:
[0042]A = XXXT+XSTXT = X (S+ST) Xt
[0043]其中:
[0044]X為用于指示所述多個節點與所述至少一社團之間的關系的社團指示矩陣,其元素Xu表示第i個節點屬于第j個社團的數值大小;
[0045]S為用于指示所述至少一社團之間的社團關系的社團關系矩陣,其元素Su表示第i個社團與第j個社團的密切程度。
[0046]由于社團指示矩陣X包含有更豐富的節點之間的連接關系權重,因此,輸入矩陣A中的元素au更能準確反映節點之間的鏈接關系大小。
[0047]其中,對于Bij GA:
[0048]當i = j 時,...gij = O,...atj = O,
[0049]當i 關 j 時,a" = gij+gji,
[0050]若gu = gjj = O,則au = O,說明i節點和j節點沒有鏈接關系;
[0051]若gu = O, gji古O,則au = gji,說明j節點到i節點有鏈接關系,關系的強弱由gji值決定;
[0052]若gji = O, g^.Φ O,則au = gij,說明j節點到i節點有鏈接關系,關系的強弱由gij值決定;
[0053]若gu ^ O, gji ^ O,則au = gij+gji,說明j節點與i節點有雙向鏈接關系,強弱由gij+gji值決定;
[0054]atj = Xlj (Sij^Sji) Xji,此時,節點屬于哪個社團仍由Xij決定,社團之間的結構由Sij+Sji共同決定。
[0055]得到上面的輸入矩陣A的三項分解表示后,所述步驟S130中所述計算得到所述多個節點與至少一社團之間的關系包括:
[0056]通過一目標函數對非負矩陣分解后的所述輸入矩陣進行計算,得到所述多個節點與至少一社團之間的關系。
[0057]在本申請實施例一種可能的實施方式中,所述目標函數為:
【權利要求】
1.一種社團發現方法,其特征在于,包括: 根據一有向加權圖中多個節點之間的關系建立一鄰接矩陣; 對所述鄰接矩陣進行預處理,得到一輸入矩陣; 對所述輸入矩陣進行非負矩陣分解,并計算得到所述多個節點與至少一社團之間的關系; 根據所述多個節點與所述至少一社團之間的關系確定所述至少一社團中的每個社團包含的所有節點。
2.如權利要求1所述的方法,其特征在于,所述對所述鄰接矩陣進行預處理,得到一輸入矩陣包括: 將所述鄰接矩陣與所述鄰接矩陣的轉置相加,得到所述輸入矩陣。
3.權利要求1所述的方法,其特征在于,所述非負矩陣分解為三項非負矩陣分解。
4.如權利要求3所述的方法,其特征在于,所述對所述輸入矩陣進行非負矩陣分解包括: 對所述鄰接矩陣進行三項非負矩陣分解,得到G~XSXt ; 根據所述鄰接矩陣的三項非負矩陣分解得到所述輸入矩陣的三項非負矩陣分解:
A = XST+XSTXT = X (S+ST) Xt 其中,G為所述鄰接矩陣,X為用于指示所述多個節點與所述至少一社團之間的關系的社團指示矩陣,S為用于指示所述至少一社團之間的社團關系的社團關系矩陣,A為所述輸入矩陣。
5.如權利要求4所述的方法,其特征在于,所述計算得到所述多個節點與至少一社團之間的關系包括: 通過一目標函數對非負矩陣分解后的所述輸入矩陣進行計算,得到所述多個節點與至少一社團之間的關系。
6.如權利要求5所述的方法,其特征在于,所述目標函數為:
7.如權利要求1所述的方法,其特征在于,所述多個節點與所述至少一社團之間的關系包括: 所述多個節點對所述至少一社團中的每個社團形成的貢獻值。
8.如權利要求7所述的方法,其特征在于,所述方法還包括: 根據所述至少一社團中的一社團包含的所有節點對所述社團形成的貢獻值對所述社團中的所有節點進行排序,確定所述社團中的各節點對所述社團的重要性。
9.如權利要求1所述的方法,其特征在于,所述方法還包括: 根據所述多個節點中一節點的權值的入度和與權值的出度和的比率、以及所述節點對包含所述節點的社團的貢獻值與所述節點對所述至少一社團中的每個社團的貢獻值之和的比率確定所述節點是否為垃圾用戶節點。
10.一種社團發現系統,其特征在于,包括: 鄰接矩陣建立模塊,用于根據一有向加權圖中多個節點之間的關系建立一鄰接矩陣; 預處理模塊,用于對所述鄰接矩陣進行預處理,得到一輸入矩陣; 非負矩陣分解模塊,用于對所述輸入矩陣進行非負矩陣分解,并計算得到所述多個節點與至少一社團之間的關系; 社團確定模塊,用于根據所述多個節點與所述至少一社團之間的關系確定所述至少一社團中的每個社團包含的所有節點。
【文檔編號】G06F17/30GK104035978SQ201410224569
【公開日】2014年9月10日 申請日期:2014年5月26日 優先權日:2014年5月26日
【發明者】朱軍 申請人:南京泰銳斯通信科技有限公司