System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本說明書一個或多個實施例涉及計算機領域,尤其涉及基于結構圖的社區發現方法和裝置。
技術介紹
1、在數學領域,圖是由一組頂點(也稱為節點或點)以及一組連接這些頂點的邊(也稱為弧或線)組成的組合結構,用來模擬實體之間的關系。在結構圖中具有兩個基本要素,分別為頂點和邊。其中,頂點,是圖中的基本單位,代表實體或對象。邊,也稱為連接邊,是圖中連接兩個頂點的線段,代表頂點之間的某種關系或連接。圖數據中可能包含了用戶的隱私數據。
2、結構圖包括同質圖和異質圖。同質圖:圖中所有頂點屬于同一類別,并具有相同類型的邊。異質圖:圖中包含不同類型的頂點和邊,頂點和邊根據其屬性和意義被劃分為不同的類別。
3、當前,常?;趫D算法來解決社區發現等問題??梢岳斫獾氖牵瑘D算法為一系列在圖數據上執行的算法。社區發現:是在圖數據中識別具有相似性或密集連接的頂點群組的過程,這些群組內部的連接密度比外部的連接密度要高?,F有技術中,在基于結構圖的社區發現中,由于圖算法計算的復雜度和龐大的業務圖數據規模,常常無法保證時效性。
技術實現思路
1、本說明書一個或多個實施例描述了一種基于結構圖的社區發現方法和裝置,能夠大幅提升時效性。
2、第一方面,提供了一種基于結構圖的社區發現方法,結構圖包括代表m個用戶的m個實體頂點,方法包括:
3、基于所述結構圖,初始化社區圖,其中各個社區由實體頂點代表,并具有社區屬性,所述社區屬性包括對應社區的確定性指標;各社區被添加有原子鎖;
5、根據所述若干輪第一圖迭代后實體頂點的社區歸屬,將任一社區中的實體頂點聚合成新的代表該社區的實體頂點,以更新所述社區圖。
6、在一種可能的實施方式中,所述結構圖還包括代表用戶的n類特征的各個可選特征取值的若干個輔助頂點,任一實體頂點與該用戶實際特征取值對應的輔助頂點之間具有連接邊,所述確定性指標根據社區中各個實體頂點關聯的各類輔助頂點的特征取值的分布而確定。
7、在一種可能的實施方式中,所述實體頂點具有頂點屬性;所述頂點屬性用于指示對應的實體頂點歸入的社區;所述確定與其滿足預設關系的各個鄰居實體頂點所屬的各個目標社區,包括:
8、遍歷與其滿足預設關系的各個鄰居實體頂點,根據鄰居實體頂點關聯的頂點屬性確定其所在的社區。
9、進一步地,所述方法還包括:
10、在需要移動時,更新所述第一實體頂點的頂點屬性。
11、在一種可能的實施方式中,所述根據所述各個目標社區的社區屬性,確定所述第一實體頂點是否需要移動,包括:
12、根據任一目標社區的社區屬性,確定將所述第一實體頂點移動到該目標社區后的確定性指標的增益;
13、根據所述各個目標社區的增益,確定所述第一實體頂點是否需要移動到其中一個目標社區。
14、在一種可能的實施方式中,所述方法還包括:
15、針對更新后的所述社區圖,執行若干輪第二圖迭代,其中至少一輪第二圖迭代包括:所述采用多個線程并行執行所述若干輪第一圖迭代。
16、在一種可能的實施方式中,所述基于所述結構圖,初始化社區圖,基于并行計算模式而進行。
17、在一種可能的實施方式中,所述預設關系包括:與其具有至少一個共同連接的輔助頂點的二度鄰居實體頂點;或者,與其具有多個共同連接的輔助頂點的二度鄰居實體頂點。
18、在一種可能的實施方式中,所述方法還包括:
19、基于所述社區圖,初始化關聯圖;其中若所述社區圖中的第一實體頂點和第二實體頂點之間滿足所述預設關系,則將第一實體頂點和第二實體頂點加入關聯圖中,并在所述關聯圖中添加二者之間的連接邊;
20、所述確定與其滿足預設關系的各個鄰居實體頂點所屬的各個目標社區之前,還包括:
21、在所述關聯圖中,查找與其具有連接邊的實體頂點,作為與其滿足預設關系的各個鄰居實體頂點。
22、進一步地,所述社區圖或所述關聯圖采用行壓縮存儲(compressed?sparse?row,csr)或列壓縮存儲(compressed?sparse?co?l?umn,csc)的存儲方式,以存儲圖結構信息。
23、進一步地,所述若干輪第二圖迭代形成多層級社區,第n+1輪第二圖迭代得到的社區與第n輪第二圖迭代得到的社區之間形成層級關系。
24、進一步地,所述社區屬性還包括:
25、社區中各個實體頂點關聯的各類輔助頂點的特征取值的集合;
26、所述確定將所述第一實體頂點移動到該目標社區后的確定性指標的增益,包括:
27、將所述第一實體頂點關聯的各類輔助頂點的特征取值加入到所述目標社區的特征取值的集合中,得到更新集合;
28、根據所述更新集合,計算更新后的確定性指標;
29、將更新后的確定性指標減去所述社區屬性中包括的更新前的確定性指標,得到所述增益。
30、進一步地,所述社區屬性還包括:
31、社區中包含的實體頂點的數目;
32、所述執行若干輪第二圖迭代之后,所述方法還包括:
33、輸出各個社區分別對應的社區屬性。
34、在一種可能的實施方式中,所述第一圖迭代的停止條件為,各個實體頂點所屬的社區均不再發生變化。
35、進一步地,所述第二圖迭代的停止條件為,社區數量不再發生變化。
36、第二方面,提供了一種基于結構圖的社區發現裝置,結構圖包括代表m個用戶的m個實體頂點,裝置包括:
37、初始化單元,用于基于所述結構圖,初始化社區圖,其中各個社區由實體頂點代表,并具有社區屬性,所述社區屬性包括對應社區的確定性指標;各社區被添加有原子鎖;
38、第一迭代單元,用于采用多個線程并行執行若干輪第一圖迭代,其中,任意的第一線程執行的當前輪圖迭代包括,對于第一線程負責處理的任意的第一實體頂點,確定與其滿足預設關系的各個鄰居實體頂點所屬的各個目標社區,在取得各個目標社區的原子鎖后,根據所述各個目標社區的社區屬性,確定所述第一實體頂點是否需要移動,并在需要移動時,更新相關社區的社區屬性,在更新后釋放所述原子鎖;
39、聚合單元,用于根據所述第一迭代單元執行若干輪第一圖迭代后實體頂點的社區歸屬,將任一社區中的實體頂點聚合成新的代表該社區的實體頂點,以更新所述社區圖。
40、第三方面,提供了一種計算機可讀存儲介質,其上存儲有計算機程序,當所述計算機程序在計算機中執行時,令計算機執本文檔來自技高網...
【技術保護點】
1.一種基于結構圖的社區發現方法,所述結構圖包括代表M個用戶的M個實體頂點,所述方法包括:
2.如權利要求1所述的方法,其中,所述結構圖還包括代表用戶的N類特征的各個可選特征取值的若干個輔助頂點,任一實體頂點與該用戶實際特征取值對應的輔助頂點之間具有連接邊,所述確定性指標根據社區中各個實體頂點關聯的各類輔助頂點的特征取值的分布而確定。
3.如權利要求1所述的方法,其中,所述實體頂點具有頂點屬性;所述頂點屬性用于指示對應的實體頂點歸入的社區;所述確定與其滿足預設關系的各個鄰居實體頂點所屬的各個目標社區,包括:
4.如權利要求3所述的方法,其中,所述方法還包括:
5.如權利要求1所述的方法,其中,所述根據所述各個目標社區的社區屬性,確定所述第一實體頂點是否需要移動,包括:
6.如權利要求1所述的方法,其中,所述方法還包括:
7.如權利要求1所述的方法,其中,所述基于所述結構圖,初始化社區圖,基于并行計算模式而進行。
8.如權利要求1所述的方法,其中,所述預設關系包括:與其具有至少一個共同連接的輔助頂點
9.如權利要求1所述的方法,其中,所述方法還包括:
10.如權利要求9所述的方法,其中,所述社區圖或所述關聯圖采用行壓縮存儲CSR或列壓縮存儲CSC的存儲方式,以存儲圖結構信息。
11.如權利要求6所述的方法,其中,所述若干輪第二圖迭代形成多層級社區,第N+1輪第二圖迭代得到的社區與第N輪第二圖迭代得到的社區之間形成層級關系。
12.如權利要求5所述的方法,其中,所述社區屬性還包括:
13.如權利要求6所述的方法,其中,所述社區屬性還包括:
14.如權利要求1所述的方法,其中,所述第一圖迭代的停止條件為,各個實體頂點所屬的社區均不再發生變化。
15.如權利要求6所述的方法,其中,所述第二圖迭代的停止條件為,社區數量不再發生變化。
16.一種基于結構圖的社區發現裝置,所述結構圖包括代表M個用戶的M個實體頂點,所述裝置包括:
17.一種計算機可讀存儲介質,其上存儲有計算機程序,當所述計算機程序在計算機中執行時,令計算機執行權利要求1-15中任一項的所述的方法。
18.一種計算設備,包括存儲器和處理器,所述存儲器中存儲有可執行代碼,所述處理器執行所述可執行代碼時,實現權利要求1-15中任一項的所述的方法。
...【技術特征摘要】
1.一種基于結構圖的社區發現方法,所述結構圖包括代表m個用戶的m個實體頂點,所述方法包括:
2.如權利要求1所述的方法,其中,所述結構圖還包括代表用戶的n類特征的各個可選特征取值的若干個輔助頂點,任一實體頂點與該用戶實際特征取值對應的輔助頂點之間具有連接邊,所述確定性指標根據社區中各個實體頂點關聯的各類輔助頂點的特征取值的分布而確定。
3.如權利要求1所述的方法,其中,所述實體頂點具有頂點屬性;所述頂點屬性用于指示對應的實體頂點歸入的社區;所述確定與其滿足預設關系的各個鄰居實體頂點所屬的各個目標社區,包括:
4.如權利要求3所述的方法,其中,所述方法還包括:
5.如權利要求1所述的方法,其中,所述根據所述各個目標社區的社區屬性,確定所述第一實體頂點是否需要移動,包括:
6.如權利要求1所述的方法,其中,所述方法還包括:
7.如權利要求1所述的方法,其中,所述基于所述結構圖,初始化社區圖,基于并行計算模式而進行。
8.如權利要求1所述的方法,其中,所述預設關系包括:與其具有至少一個共同連接的輔助頂點的二度鄰居實體頂點;或者,與其具有多個共同連接的輔助頂點的二度鄰居實體頂點。
9.如權利要求1所述...
【專利技術屬性】
技術研發人員:陳立康,胡偉峰,陳佩弦,劉永超,洪春濤,
申請(專利權)人:支付寶杭州信息技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。