DEIM Forum 2019 F5-3

大規模グラフに対するノードの枝刈りを用いた RankClus の高速化
山崎耕太郎†

塩川 浩昭††

北川博之††† 筑波大学大学院システム情報工学研究科 〒 305-8573 つくば市天王台 1-1-1†† 筑波大学計算科学研究センター 〒 305–8573 つくば市天王台 1–1–1
E-mail: †k yamazaki@kde.cs.tsukuba.ac.jp, ††{shiokawa, kitagawa}@cs.tsukuba.ac.jp
あらまし

グラフ分析手法のひとつである RankClus はランキングとクラスタリングを統合し，相互に補完することで従来の手法より正確で効率的な分析を可能にした手法である．しかし，RankClus はグラフに含まれるクラスタの数だけ部分グラフを作成し，全ての部分グラフに対してランキングとクラスタリングを実行する必要があり，大規模
グラフにおいて計算時間が膨大となってしまうという問題がある．そこで本稿では大規模グラフに対する RankClus
を高速化するアルゴリズムを提案する．提案手法では，重要度が著しく低いノードを逐次的に計算対象から枝刈りすることで RankClus の高速化を図る．本稿では提案手法の概要と性能評価の結果について述べる．
キーワード ランキング，クラスタリング

1 はじめに情報ネットワークは，ソーシャルメディアやモバイル機器の普及に伴い日々大量のデータが生成されており，データから新たに情報を獲得するデータ分析の需要が増加している．特に，データ間の関係性を表現するグラフというデータ構造はノード（頂点）群とノード間の連結関係を示すエッジ（枝）群で構成されるデータ構造である．
代表的なグラフ分析手法の一つに，ランキングとクラスタリ
ングがある．ランキングはランキング関数に基づきグラフの図 1 学会と著者の関係性を表現するグラフ．

各ノードの重要性を評価する手法である．代表的な手法として PageRank [3]，HITS [4] 及び ObjectRank [6] が挙げられした国際学会である．このグラフに対して，ノード集合 X をクる．一方，クラスタリングはある近接尺度に基づき，似ている

ラスタリング対象して RankClus を適用した場合，RankClus

ノードを同じグループに，似ていないノードを異なるグルーはノード集合 X 内のクラスタと各クラスタに所属するノープに分ける手法である．代表的なクラスタリング手法として

ド（学会）のランキング結果を求めることができる．具体的

modularity ベース [2, 7]，密度ベース [8, 11] のアルゴリズムがな RankClus の出力を表 1 に示す．表 1 からわかるように，挙げられる．

RankClus は研究分野に対応したクラスタをグラフから自動抽

そして，ランキングとクラスタリングを統合し，精度の高い
グラフ分析を実現するフレームワークとして RankClus [10] が出するだけでなく，各分野内における重要性の高さを反映したランキング結果を同時に求めることができる．

ある．RankClus はランキングとクラスタリングを統合し，相しかし，RankClus はグラフに含まれるクラスタの数だけ部互に補完することで従来の手法より正確で効率的な分析を可分グラフを作成し，全ての部分グラフに対してランキングと能にした手法である．実際に図 1 に示す学会と著者の関係性

クラスタリングを実行する必要があり，大規模グラフにおいてを表現する Bi-Type Information Network と呼ばれるネット

計算時間が膨大となってしまうという問題がある．そこで本稿ワークに RankClus を適用した例を考える．この時，学会とでは大規模グラフに対する RankClus の高速化手法を提案す著者間では「学会に著者による論文が出版された」，またはる．提案手法では，計算対象となるノード数を削減することで「著者が学会に論文を出版した」関係がある場合にエッジを張RankClus の高速化を図る．具体的には，処理の過程においてり，著者間は共著関係があった場合にエッジを張るものとする．

計算されるランク値の変化に着目し，ランク値の変化率が著し

ここでは図 1 に示した学会ノード集合 X が X={SIGMOD,

く低いノードを検出し逐次的に計算対象から枝刈りすることでVLDB, PODS, ICDT, EDBT, SIGIR, TREC, ECIR, JCDL,

ノードの数を削減する．本稿では，人工データを用いた提案手

ECDL} の 10 ノードから構成されるとする．ただし，SIGMOD,法の有効性を検証し，ノード間のリンク接続密度が低いグラフ

VLDB, PODS, ICDT, EDBT はデータベースに関連した国際に対して，提案手法が効果的であることを確認した．

学会，SIGIR, TREC, ECIR, JCDL, ECDL は情報検索に関連

例として学会-著者の関係性を表す Bi-Type Information Net-

表 1 RankClus を用いたランキング結果．
クラスタ 1
クラスタ 2work を図 1 に示す．このグラフは学会と著者の関係性を表す

Rank

学会

Rank

学会

1

SIGMOD

1

SIGIR

2

VLDB

2

TREC

学会 xi と著者 yi の間にエッジをつなぐ．同様に著者 yi と著者

3

EDBT

3

ECIR

yj に共著関係がある場合にエッジをつなぐ．

4

PODS

4

JCDL

2. 1. 2 target type と attribute type:

5

ICDT

5

ECDL

RankClus では X ，Y の中から target type と attribute type

表2

ネットワークである．著者 yi が学会 xi で論文を出版した場合，を定める．RankClus は target type であるノード集合に対し記号の定義．

てのみクラスタリングを行い，attribute type として指定され

記号

定義

G

グラフ．

たノード集合はランキングとクラスタリング処理の補助情報とV

G のノード集合．

して利用する．

E

G のエッジ集合．

Gi

Xi による部分グラフ．

Vi

Gi のノード集合．

Ei

Gi のエッジ集合．

Pk

Gk の枝刈り可能なノード集合．

Xk

クラスタ k 内の X の集合．

Xtarget type のノード集合．

Yattribute type のノード集合．

m

X のノード数．

n

Y のノード数．

2. 2 RankClus アルゴリズム
RankClus はノード集合に対するランキングとクラスタリン

クラスタ数．

(m + n) × (m + n) 遷移行列．

⃗
rX

X の m × 1 ランク値ベクトル．

⃗rY

Y の n × 1 ランク値ベクトル．

πi,kxi がクラスタ k に属する事後確率．
xi と k の距離．
変化率．

(1) target type のノード集合を K 個のクラスタにランダ
ムに分割し，K 個の部分グラフを構築する．
処理を行う．

K

D(i, k)手順で処理を行う．

(2) 各部分グラフに対して X と Y のノードにランキング

W

R(t) (j, k)

グを同時に実現する手法である．具体的に RankClus は以下の(3) (2) で求めたランク値を基に，各 target type のノードに対して K 次元の特徴ベクトルを計算する．

(4) (3) で求めた各ノードの K 次元ベクトルを使い各
target type のノードのクラスタを更新する．
(5) (2) から (4) の処理をクラスタが収束するまで繰りλR

変化率パラメータ．

λI

安定性パラメータ．

返す．

RankClus の処理は (2) のランキング処理部，(3) と (4) のクラ
スタリング処理部に分割できる．ランキング処理部とクラスタ
リング処理部の詳細をそれぞれ 2. 2. 1 節と 2. 2. 2 節に述べる．

2 前提知識2. 2. 1 ランキング処理部

本節では，ノード集合に対するランキングとクラスタリング

RankClus でははじめに target type のノード集合 X を Kを同時に実現するアルゴリズムである RankClus の前提知識にクラスタに分割し，K 個の部分グラフを構築する．Xi を i 番ついて述べる．表 2 に本稿が用いる記号の定義を示す．

目のクラスタ (1 <= i <= K) に含まれる X の部分ノード集合とすると，部分グラフは Gi = ⟨Vi , Ei ⟩ と定義される．ただし

2. 1 データモデル

Vi = {Xi ∪ Y }，Ei = {⟨oi , oj ⟩|oi , oj ∈ Xi ∪ Y ⟩} である．部

2. 1. 1 Bi-Type Information Network:

分グラフ構築後，RankClus は各部分グラフ Gi の各ノードにRankClus は，入力として Bi-Type Information Network と対して Authority に基づくランキング関数を計算する．⃗
rX (x)

呼ばれるデータモデルを対象とする．定義は以下の通りであと⃗rY (y) をそれぞれノード x ∈ X とノード y ∈ Y のランク値

る．2 つのノード集合 X = {x1 ，x2 ，· · · ，xm }，Y = {y1 ，y2，· · · ，yn } が与えられた時，対象グラフ G⟨V，E⟩ を Bi-Type

Information Network と呼ぶ．V と E はそれぞれグラフのノード集合とエッジ集合とし，V(G) = X ∪ Y ， E(G) = {⟨oi ，oj ⟩}(ただし oi ，oj ∈ X ∪ Y ) で表される．各ノード間のリンクの重みを W(m+n)×(m+n) = {woi ，oj } となるリンクの隣接行列としとする．この時，各ランク値は次の定義に基づき計算される．
［定義 1］（Authority Ranking） ⃗rX (i, k) と ⃗rY (i, k) を各部分
グラフ Gk に含まれる xi ∈ Xk の yi ∈ Y のランク値とする．
この時 ⃗rX (i, k) と ⃗rY (i, k) を以下の式で定義する．
⃗
rX (i, k) = α

ノードの部分ネットワークを示す．W は以下のように表現することができる．

(
W =

WXX

WXY

WY X

WY Y

WXY (i, j)⃗rY (j, k),

j=1て表す．便宜上リンク行列を WXX ，WXY ，WY X ，WY Y の 4
つのブロックに分解する．各ブロックは添字のノード集合間のm∑⃗rY (i, k) = α

m
∑
j=1

WXY (i, j)⃗rX (j, k) + (1 − α)n∑

WY Y (i, j)⃗rY (j, k),

j=1

ただしパラメータ α ∈ [0，1] は任意に設定する．⟨oi , oj ⟩ ∈/ Giの時 WXY (i, j) = 0 となり，そうでない場合は WXY (i, j) =)(1)

woi ,oj となる．
定義 1 より r⃗X ，
r⃗Y はお互いの値を入力として持つ再帰構造となっており，収束した r⃗X ，
r⃗Y を獲得するまで，r⃗X ，
r⃗Y を反復計算する必要がある．したがって，時間計算量は O(t|E|) で t
は反復回数，ただし |E| はリンクの総数である．

2. 2. 2 クラスタリング処理部
クラスタリング処理部ではランキング処理部で求めたランク値⃗rX (i, k) を基にクラスタの更新を行う．初めに target type ノー
ド xi がクラスタ Xk に属する事後確率 πi,k を求める．この時，各 xi ∈ X に対する K 次元ベクトル sxi = {πi,1 , πi,2 , . . . , πi,K }を計算し，クラスタの中心を求める計算に用いる．
事後確率 πi,k の計算: RankClus は mixture generative model[5] に基づき事後確率 πi.k を計算する．πi.k はノード xi がクラスタ Xk (k = 1, . . . , K) に属する確率である．πi,k = p(k|xi ) ∝図 2 各反復におけるランク値の変化

p(xi |k)p(k) より，RankClus は p(xi |k) と p(k) を計算する必要がある．RankClus ははじめに p(xi |k) をランキング処理部

象である X ∪ Y のノードの数を減らすことが RankClus の高で計算した Gk 内の xi の条件付きランク値とみなす．すなわ

速化に大きく寄与すると考えられる．

ち，RankClus は p(xi |k) = r⃗X (i, k) を得る．この時，エッジ⟨x, y⟩ (x ∈ X と y ∈ Y ) が生成する確率 p(k) を EM アルゴリ
ズム [1] を用いて計算する．結果的に RankClus は xi とクラス
タ k の組み合わせに対するの事後確率を以下の式で得る．
［定義 2］（事後確率 πi,k ） πi,k を xi がクラスタ Xk に属する
事後確率とする．この時 πi,k は以下の式で定義される:⃗rX (i, k)p(k)πi,k = p(k|xi ) = ∑K,
rX (i, l)p(l)l=1 ⃗3. 1 予 備 実 験
本研究では，ランキング処理部において削減可能なノードを特定するために，次の予備実験を行った．予備実験では DBLP
データから Bi-Type Information Network を考えた．このデー
タセットは 20 の学会，5,639 の著者を持つ学会と著者のネットワークである．target type として学会を指定した．クラスタ
数は K = 4 と設定し各反復ごとの著者のランク値の変化について調査した．結果を図 2 に示す．図 2 よりランク値は早い段

ただし，p(k) は EM アルゴリズムによって計算された確率で階で収束し変化が小さく，各反復において適切なクラスタに対ある．

しては増加していき，そうでないクラスタに対して減少していクラスタの更新: 事後確率 πi,k の計算後, RankClus はクラス

くことがわかった．以上の性質より我々は各反復処理の中でラタの更新をする．はじめに，それぞれの xi に対して K 次元ベ

ンク値が減少していくノードはクラスタリング結果に与える影

クトル sxi = {πi,1 , πi,2 , . . . , πi,K } を計算する．この時，以下響が小さいと考え，そのようなノードを特定するための新たなの定義に基づきクラスタの中心となるベクトルを計算する．

指標を提案した．

［定義 3］（クラスタの中心） ⃗sXk をクラスタ Xk の中心ベクト
ルを表現するベクトルとする時，⃗sXi は以下の式で定義される．

∑⃗sXk =s(x)x∈Xk ⃗|Xk |.

次に各 target type ノード xi ∈ X について以下の指標を用い
クラスタの中心との距離を計算する．
［定義 4］（距離） D(i, k) をノード xi とクラスタ Xk の距離とする，この時 D(i, k) は以下の式で定義される．

∑K

sxi (l)⃗sXk (l)l=1 ⃗√∑D(i, k) = 1 − √∑.
KKsxi (l))2sXk (l))2
l=1 (⃗
l=1 (⃗
最終的に，RankClus は x ∈ X を最も D(i, k) が大きいクラス
タに対して割当てクラスタを更新する．

3. 2 ランク値の変化率［定義 5］（変化率） t 回目の部分グラフ Gk 内のノード xj の
ランク値の変化率を R(t) (j, k) とする時，変化率 R(t) (j, k) は以下の式で定義される．

R(t) (j, k) =r(t) (j, k),r(t−1) (j, k)［定義 6］（枝刈り可能ノード） Pk を Gk から枝刈り可能なノード，t をランキング処理時の反復回数とする．この時 Pk は以下の式で定義される．

Pk = {u ∈ Vk |Θ(u, k) >= λI },た だ し ，Θ(u, k) = |{R(t) (u, k)|R(t) (u, k) < λR for t =1, . . . , t}| である．この時 Θ(u, k) は t 回目の反復までで変3 提案手法
本稿では RankClus の高速化手法を提案する．提案手法の基化率 R(t) (j, k) が λR 以下を満たす数である．

3. 3 アルゴリズム

本的なアイデアはランキング処理部の計算量を減らすことであ本手法の擬似コードをアルゴリズム 1 に示す．ランキング計

る．定義 1 より RankClus は ⃗rX (i, k) と ⃗rY (i, k) を収束する

算後にノードの変化率を求め，クラスタリング処理後に枝刈りまで反復計算する必要がある．したがって，ランク値の計算対可能なノード Pk を枝刈する．

Algorithm 1 提案手法

続が強く，T は大きいほどクラスタの独立性が高まる．Y を

Input: G = ⟨V, E⟩, クラスタ数 K, λR ,λI

attribute type ノードとした時，P = [P1 ，P2 ，P3 ] はそれぞ

Output: クラスタ Xi (i = 1, 2, · · · , K), ランク値 r⃗X ,r⃗Y

れ X1 ∪ Y , X2 ∪ Y ，及び X3 ∪ Y 内のエッジの数とする．

T = [T11 , T12 , T13 ; T21 , T22 , T23 ; T31 , T32 , T33 ] は 2 つのクラス// Step 0: 初期化

タ間のエッジの数を示し，Tij はクラスタ i から j へのリンク

1: t = 0.
(t)

(t)

(t)

2: 初期 K クラスタ X1 , X2 , . . . , XK の生成.
(t)

3: Xi

(t)

と Y からサブグラフ Giの確率である．詳細の設定を以下に示す．

の構築.

•

4: repeat
5:6:// Step 1: 各クラスタに対するランキング

P = [1000，1500，2000]，for i = 1 to K do

T = [0.8，0.05，0.15; 0.1，0.8，0.1; 0.1，0.05，0.85]

for each xj ∈ Xi and ys ∈ Y do
定義 1 よりランク値 ⃗rX (j, i) と ⃗rY (s, i) の計算.

7:5 より変化率 R(t) (s, k) の計算.

8:
9:
10:

12:

•

end for15:
16:

Dataset2: 中程度に分離していて低密度なデータセット

Dataset3: 中程度に分離していて高密度なデータセット

P = [2000，3000，4000]，for i = 1 to K do

T = [0.8，0.05，0.15; 0.1，0.8，0.1; 0.1，0.05，0.85]

for xj ∈ Xi do•

定義 2 より πj,i の計算.

13:
14:

•

P = [800，1300，1200]，
T = [0.8，0.05，0.15; 0.1，0.8，0.1; 0.1，0.05，0.85]

end for// Step 2: クラスタの中心の計算

11:

Dataset1: 中程度に分離していて中密度なデータセット

end for定義 3 よりクラスタの中心 ⃗sXi の計算.

end forDataset4: 大きく分離していて中密度なデータセット

P = [1000，1500，2000]，
T = [0.9，0.05，0.05; 0.05，0.9，0.05; 0.1，0.05，0.85]// Step 3: クラスタの割当•

17:

for each xj ∈ X do

P = [800，1300，1200]，

18:

for i = 1 to K do

T = [0.9，0.05，0.05; 0.05，0.9，0.05; 0.1，0.05，0.85]

定義 4 より距離 D(j, k) の計算.

19:
20:

end for21:

k0 = arg min D(j, k).

4. 3 クラスタリングの評価指標
k

(t+1)

Dataset5: 大きく分離していて低密度なデータセット(t+1)

クラスタリングの正確性を示すため，NMI [9] を用いる．NMI∪ {xj }.

22:

Xk

23:

end forは結果を 0 から 1 の間の値を取り，1 に近いほどクラスタリング// Step 4: 枝刈り

精度は高く，0 に近いほどクラスタリング精度が低いことを示す．

24:

for i = 1 to K do

0

(t+1)

と Y からサブグラフ Gi

25:

Xi

26:

定義 6 から Pi を導出.

27:

Vi

28:

end for29:t = t + 1.

(t+1)

(t+1)

= Vi

の構築.

\Pi .

30: until クラスタが収束.

1.0

0.6

0.0

DataSet1

DataSet2

DataSet3

図 3 NMI

4. 1 実 験 環 境

1.5

1.0

0.5

0.2

4 評価実験

proposal
RankClus

2.0

0.8

0.4

提案手法と RankClus を C++11(gcc 4.8.5) で実装し，In-

2.5 1e7

proposal
RankClus

Time[microsecond]

(t+1)

= Xk

NMI

0

DataSet4

DataSet5

0.0

DataSet1

DataSet2

DataSet3

DataSet4

DataSet5

図4 実行時間

4. 4 効 率 性tel(R) Xeon(R)E5-1620 3.50 GHz CPU，128 GB RAM を搭

4. 2 節の 5 つのデータセットを用い提案手法と RankClus ア

載した CentOS サーバで実験を行った．パラメータ α は 0.95

ルゴリズムの実行時間を比較した．図 4 に各人工データセットとし，枝刈りにおけるパラメータは λR = 0.8，λI = 5 とする．

に対する実行時間の比較結果を示す．実験結果より，提案手法

4. 2 データセット
本実験では RankClus [10] で用いられた 5 種類の人工 Bi-

は RankClus より約 30%高速であることが確認できた．

4. 5 正 確 性Type Information Network を利用した．各データセットは提案手法のクラスタリング精度について確認した．精度を45 個の target type ノード，2,000 個の attribute type ノー測る指標として，我々は 4. 3 節に述べた NMI を用いた．評価

ドを持ち，クラスタ数 K=3 とする．3 つのクラスタ X1 ，X2

では，各データセットに対する正解クラスタリング結果と提案，及び X3 はそれぞれ 10，20，及び 15 個のノードを持つ．上手法と RankClus のクラスタリング結果を比較した．図 3 は記の設定に基づきエッジ密度を表現するパラメータ P とク

各データセットに対する NMI の結果を示す．図 3 より提案手

ラスタ間の分離度を表現するパラメータ T を変化させ 5 つ

法は，RankClus と比較して高い近似精度であることが確認でのデータセットを作成する．P が大きいほどクラスタ内の接きる．

表 3 DBLP データに対するランキングとクラスタリング結果．
ランク

クラスタ 1 クラスタ 2 クラスタ 3 クラスタ 4

1

SIGMOD

KDD

SIGIR

NIPS

2

VLDB

ICDM

TREC

ICML

3

EDBT

SDM

ECIR

UAI

4

PODS

PAKDD

JCDL

COLT

5

ICDT

PKDD

ECDL

6

ECML

4. 6 ケーススタディ
提案手法の実データ適用に対する影響を調査するためこの事
例研究では、DBLP 書誌データベースから抽出された著者-学会型 Bi-Type Information Network を構築した．DBLP から

20 の代表的な国際学会の出版リストを収集し，20 の学会で少なくとも 2 つの論文を発表した 5,639 人の著者を抽出し，図 1の例と同様に関係性を定義した．表 3 は提案手法による 20 の国際学会のランキングとクラスタリングの結果を示 す．表より
提案手法は近似アルゴリズムであるにも関わらず適切な処理を行えることが確認できた．特に，クラスタ 1, 2, 3 および 4 はそれぞれデータベース，データマイニング，情報検索，そして機械学習の分野に分けられていることが分かる．興味深いことに，提案手法では ECML(European Conference on Machine

Learning) という「機械学習」を名称に含んだ国際会議をクラスタ 4 (機械学習クラスタ) ではなくクラスタ 2 (データマイニング) に振り分けた．この理由は明らかで，ECML は 2008 年
以降 PKDD と共に開催されていて，ECML と PKDD の主要な著者が重複しているからである．したがって提案手法ではECML をデータマイニングクラスタのメンバとみなした．このように，提案手法では大規模グラフにおける新たな研究コミュ
ニティの発見をすることができた．

5 まとめと今後の課題
本稿では大規模グラフを対象としたときの RankClus の高速化手法を提案した．提案手法では，ノードのランク値の変化率
が継続的に低いノードを特定し枝刈りすることによってノード数を削減する．提案手法は RankClus と比較して，高速かつ高精度で評価実験を行えることを確認した．今後の課題ではさらなる高速化，高精度化を目指す．予備実験では，クラスタの動向に着目し完全に収束しているクラスタの計算を省略しても情報の損失なく高速化することがわかった．今後，より多くのノードの枝刈りを実現するためクラスタの変化とランク値の調査を進め高速化を検討する予定である．

謝

辞

本 研 究 の 一 部 は JST ACT-I な ら び に JSPS 科 研 費

JP18K18057 による支援を受けたものである．

文

献[1] Jeﬀ Bilmes. A gentle Tutorial of the EM Algorithm and its
Application to Parameter Estimation for Gaussian Mixtureand Hidden Markov Models. Technical report, 1998.
[2] V.D. Blondel, J.L. Guillaume, R. Lambiotte, and E.L.J.S.
Mech. Fast Unfolding of Communities in Large Networks.
Journal of Statistical Mechanics: Theory and Experiment,
Vol. 2008, No. 10, p. P10008, 2008.
[3] Sergey Brin and Lawrence Page. The Anatomy of a Largescale Hypertextual Web Search Engine. Comput. Netw.
ISDN Syst., pp. 107–117, 1998.
[4] Jon M. Kleinberg. Authoritative Sources in a Hyperlinked
Environment. J. ACM, pp. 604–632, 1999.
[5] Andrew Y. Ng and Michael I. Jordan. On Discriminative
vs. Generative Classifiers: A Comparison of Logistic Regression and Naive Bayes. In T. G. Dietterich, S. Becker, andZ. Ghahramani, editors, Advances in Neural Information
Processing Systems 14, pp. 841–848. MIT Press, 2002.
[6] Tomoki Sato, Hiroaki Shiokawa, Yuto Yamaguchi, and Hiroyuki Kitagawa. FORank: Fast ObjectRank for Large Heterogeneous Graphs. In Companion Proceedings of the The
Web Conference 2018, pp. 103–104, 2018.
[7] Hiroaki Shiokawa, Yasuhiro Fujiwara, and Makoto Onizuka.
Fast Algorithm for Modularity-based Graph Clustering. In
Proceedings of the 27th AAAI Conference on Artificial Intelligence, pp. 1170–1176, 2013.
[8] Hiroaki Shiokawa, Yasuhiro Fujiwara, and Makoto Onizuka.
SCAN++: Eﬃcient Algorithm for Finding Clusters, Hubsand Outliers on Large-scale Graphs. Proceedings of Very
Large Data Bases Endowment, Vol. 8, No. 11, pp. 1178–
1189, 2015.
[9] Alexander Strehl and Joydeep Ghosh. Cluster Ensembles— a Knowledge Reuse Framework for Combining Multiple
Partitions. J. Mach. Learn. Res., pp. 583–617, 2003.
[10] Yizhou Sun, Jiawei Han, Peixiang Zhao, Zhijun Yin, Hong
Cheng, and Tianyi Wu. RankClus: Integrating Clustering with Ranking for Heterogeneous Information Network
Analysis. EDBT ’09, pp. 565–576, 2009.
[11] Tomokatsu Takahashi, Hiroaki Shiokawa, and Hiroyuki
Kitagawa. SCAN-XP: Parallel Structural Graph Clustering Algorithm on Intel Xeon Phi Coprocessors. In Proceedings of the 2nd International Workshop on Network Data
Analytics, NDA, pp. 6:1–6:7, New York, NY, USA, 2017.