リンク チャートのコミュニティーの検出

ナレッジ グラフに基づくリンク チャートを使用してコミュニティーを検出し、互いに密接に接続しているエンティティーと他のコミュニティーのエンティティーと緩く接続しているエンティティーを検索することができます。 コミュニティーは、ナレッジ グラフ全体に含まれるコンテンツではなく、リンク チャートに現在存在するエンティティーに基づいて検出されます。

コミュニティー検出アルゴリズムにより、他の解析方法では発見できない可能性がある密接に関連するエンティティーのグループを視覚化できます。 ソーシャル ネットワーク、科学的協力や研究パターン、共有接続に基づく知人の可能性が高い個人などの影響力のあるグループをコミュニティーで示すことができます。

コミュニティーには、1 つのエンティティーをメンバーとして持つことができます。 また、解析では、ネットワークの残りの部分から孤立しているエンティティーを特定することもできます。

以下では、コミュニティーの計算方法、方法パラメーターのカスタマイズ方法、結果の探索方法について説明します。

コミュニティー検出方法

ナレッジ グラフに基づくリンク チャートでは、Louvain、Girvan-Newman、二重連結、弱連結、強連結、ラベル伝播の 6 つのコミュニティー検出方法を利用できます。 コミュニティー テーブル ビュー コミュニティ検出[検出方法] ドロップダウン リストから方法を選択します。 一度に使用できる方法は 1 つだけです。

Louvain

Louvain コミュニティー検出方法は、大規模なネットワークでコミュニティーを検出する階層クラスタリング アルゴリズムです。 この方法はコミュニティー内のエンティティーがどの程度の密度で接続されているかを評価し、その結果とランダム化されたネットワーク内でエンティティーが接続される程度を比較します。 これはコミュニティー テーブルを開くときのデフォルトの方法です。

コミュニティー内のリレーションシップがランダム ネットワーク内のリレーションシップより密度が高い場合、モジュラリティは正です。 コミュニティー内でのリレーションシップの密度が高くなるにつれ、モジュラリティーが増加します。

最初にこの方法では、モジュラリティーを最適化することによって、小さなコミュニティーを検出します。 モジュラリティーは、どのようにノードがコミュニティーに分割されているかの品質を示す尺度です。 コミュニティー内のリレーションシップがランダム ネットワーク内のリレーションシップよりも密度が高い場合、モジュラリティーは正であり、エンティティーはコミュニティー内に配置されます。 コミュニティー内のリレーションシップの密度が高くなるほど、モジュラリティー スコアは高くなります。

このプロセスは反復的に繰り返され、ランダムなコミュニティーの割り当てを使用して、サイズを増やしたコミュニティーを評価します。

Girvan-Newman

Girvan-Newman コミュニティー検出方法は、コミュニティーを相互に接続するリレーションシップの媒介のレベルを考慮してコミュニティーを特定します。 最短パスはグラフ内のすべてのエンティティー間で計算され、媒介中心性はすべての通過したリレーションシップに対して計算されます。 個別のコミュニティーに接続するリレーションシップは、あるコミュニティーから別のコミュニティーに最も頻繁に通過する必要があるため、媒介中心性が最も高くなります。

媒介中心性が最も高いリレーションシップが削除され、そのプロセスが繰り返されます。 中心のリレーションシップが削除されると、コミュニティーは一層明確になります。 リレーションシップは、残りのリレーションシップの媒介中心性がすべて同じになるまで、繰り返し削除されます。

非常に大きなリンク チャートでは、このプロセスに長い時間がかかることがあります。

二重連結

二重連結方法は、相互に接続するネットワーク エンティティー内のコミュニティーを検索します。 リレーションシップで接続された 2 つのエンティティーは同じコミュニティーに属しています。 あるエンティティーから別のエンティティーへのリレーションシップが可能な場合で、コミュニティー内のリレーションシップの 1 つを削除してもこれが当てはまる場合、その他のエンティティーは同じコミュニティーに属しています。 各エンティティーは、複数のコミュニティーに属することができます。

3 つのコミュニティーが相互接続されているリンク チャート

この例では、C は、各コミュニティー内のエンティティーとのリレーションシップがあるため、3 つすべてのコミュニティーに属しています。 エンティティー A、B、C は 1 つのコミュニティーを形成しています。それぞれが相互に接続され、エンティティー間のリレーションシップの 1 つが削除された場合に相互に接続されたままであるからです。 C と D、C と E、または C と F のリレーションシップが削除されると、D、E、F はそれぞれ A と B に接続しなくなるため、A、B、C のコミュニティーに属していません。

弱連結

弱連結コミュニティーは、すべてのエンティティーがパスによって相互に接続されているコミュニティーです。 リンク チャート内にあるエンティティー間のリレーションシップの方向は考慮されません。つまり、リンク チャートは無向グラフとして評価されます。

2 つの弱連結コミュニティーを含むリンク チャート

この例には、2 つの弱連結コミュニティーがあります。 A、B、C、D、E、F が 1 つのコミュニティーを形成し、X、Y、Z が別のコミュニティーを形成しています。 それぞれのコミュニティーには、すべてのエンティティーを接続するリレーションシップがあります。 X、Y、Z コミュニティーを A、B、C、D、E、F コミュニティーに接続するリレーションシップはありません。

何らかの方法でグラフ内のすべてのエンティティーが他のエンティティーと接続されている場合、グラフ全体は弱連結されています。

強連結

強連結コミュニティーは、リレーションシップの方向が考慮される場合にコミュニティー内のすべてのエンティティーが相互に接続されているコミュニティーです。 つまり、リンク チャートは有向グラフとして評価されます。

これは、コミュニティー内の任意の場所を始点に、各リレーションシップの方向に従ってパスを追跡すると、コミュニティー内のすべてのエンティティーに到達できることを意味します。

複数の強連結コミュニティーを含むリンク チャート

この例では、いずれかのコミュニティーの任意のエンティティーから有向リレーションシップをたどると他のすべてのエンティティーに到達できるため、X、Y、Z コミュニティーと A、B、C、D コミュニティーは強接続されています。

E と F は、他のエンティティーとは強接続されておらず、独自のコミュニティーです。 A、B、C、D コミュニティーから F に到達できますが、F から大きい方のコミュニティーには到達できません。 同様に、E から A、B、C、D コミュニティーに到達できますが、大きい方のコミュニティーから E には到達できません。

ラベル伝播

ラベル伝播方法は、情報がグラフを移動する方法に基づいてコミュニティーを決定するアルゴリズムです。 最初に、エンティティーにラベルが割り当てられます。 次に、ランダムに選択されたエンティティーがその近傍を評価し、ほとんどの近傍が使用するラベルを決定します。 エンティティーはそのラベルを、ほとんどの近傍が持つラベルと一致するように更新します。 エンティティーが近傍を評価し、ラベルを更新するプロセスは何度も繰り返されます。

複数回の反復処理後、ラベルは密接に接続されたコミュニティー内で優位になり、接続が少ないグラフ内の他の領域と交差する問題が発生する傾向があります。 反復処理が行われるほど、ラベルは密接に接続されたコミュニティーから弱連結コミュニティーに交差する可能性が高くなります。 ほとんどの近傍が持つラベルがすべてのノードに割り当てられると、指定した反復回数の処理が完了していない場合でもアルゴリズムは終了します。

ラベル伝播方法では、解析の実行に使用されるオプションに応じて、使用されるたびに異なるコミュニティーのセットが生成される可能性があります。 アルゴリズムが使用する乱数ジェネレーターの初期化に使用されるシード数、生成されるソリューションの数、各ソリューションの生成に使用されるアルゴリズムの反復回数を変更できます。

コミュニティー テーブルは、複数回の実行により生成されたすべてのソリューションの集約を示します。 Solution フィールドを使用して、コミュニティー テーブルを並べ替えることにより、各実行の結果を表示できます。 デフォルトでは、20 個のソリューションが生成されます。 最初の実行の結果はパーティション 0 に関連付けられ、20 回目の実行の結果はテーブルのパーティション 19 に関連付けられます。

ラベル伝播方法のいくつかのパラメーターを決定できる設定を使用できます。 コミュニティー テーブルの上部にあるツールバーの [オプション] ボタンをクリックして、[ラベル伝播] 見出しをクリックします。

コミュニティー テーブルを開く

リンク チャートに含まれるエンティティーのコミュニティーは、デフォルトで Louvain 方法を使用して決定され、コミュニティー テーブル コミュニティ検出 に記載されます。 別の方法を使用してコミュニティーを評価するには、[検出方法] ドロップダウン リストを使用します。 テーブル内のすべての行が更新され、新しいコミュニティーの結果のプロパティが表示されます。

テーブルにはコミュニティーごとに 1 つの行があります。 各コミュニティーのプロパティは、テーブルのさまざまなフィールドに表示されます。

  • Solution- [ソリューション列の表示] オプションがオンの場合のみ、ラベル伝播方法で表示されます。このオプションはデフォルトでオンになっています。 このフィールドには、ラベル伝播方法で生成された各ソリューション ID が表示されます。
  • Community- ラベル伝播を除くすべてのコミュニティー検出方法で、このフィールドには、コミュニティーの ID が表示され、テーブル内の行の並べ替えにデフォルトで使用されます。 ラベル伝播方法の場合、この方法により生成される 1 つのソリューション内のコミュニティーを識別する値がこの列に表示されます。
  • Count- コミュニティー内のエンティティーの数。
  • Entity- コミュニティー内の各エンティティーの表示名。 デフォルトで、最初の 5 つのエンティティーが表示されます。 コミュニティーにエンティティーが 5 つ以上含まれている場合、リストの下部にある [増やす] をクリックすると追加のエンティティーを表示できます。 エンティティーの表示を減らすには、[減らす] をクリックします。
  • Type- コミュニティー内の各エンティティーのエンティティー タイプ。 デフォルトで、最初の 5 つのエンティティー タイプが表示されます。 多くのエンティティーがリストに表示されると、それに対応するエンティティー タイプも Type 列に表示されます。 追加のエンティティー タイプを表示するにはタイプ リストの下部にある [増やす] をクリックします。 エンティティー タイプの表示を減らすには、[減らす] をクリックします。

リンク チャート内のエンティティーのコミュニティーを表示するには、次の手順を実行します。

  1. リボンの [リンク チャート] タブの [解析] グループで、[コミュニティー] コミュニティ検出 をクリックします。

    コミュニティー テーブル コミュニティ検出 が開きます。 コミュニティー テーブル ビューのタブに表示される名前で、コミュニティーが計算されたリンク チャートが識別されます。 デフォルトでは、Louvain 方法が使用されます。 テーブルの行は、デフォルトで Community フィールドを使用して並べ替えられます。

    コミュニティー テーブルには、リンク チャートに含まれる密接に関連するエンティティーのグループが示されます。

  2. [検出方法] ドロップダウン リストをクリックして、コミュニティーを評価する別の方法をクリックします。

    リンク チャート内のコミュニティーが再評価され、テーブルの行が更新されて結果が表示されます。

ドキュメントを含める

デフォルトでは、ドキュメント エンティティーがリンク チャートに存在する場合でも、コミュニティーが検出されるときに考慮されませんが、ドキュメント エンティティーを計算に含めることができます。 たとえば、特定のエンティティーに接続されたドキュメントがそのコミュニティーに属しているかどうかを判断できます。

  1. コミュニティー テーブルの上部にあるツールバーで、[ドキュメントを含める] チェックボックスをオンまたはオフにします。
    • オン - コミュニティーを検出する際にドキュメント エンティティーを含めます。 選択した方法に応じて、ドキュメントが考慮され、それぞれのコミュニティーに含められます。

    • オフ - コミュニティーを検出する際にドキュメント エンティティーを除外します。 ドキュメントは考慮されず、コミュニティーに含められません。 これがデフォルトです。

コミュニティー テーブルが自動的に更新され、この設定への変更が反映されます。 ドキュメント エンティティーがテーブルに追加またはテーブルから削除され、コミュニティーが自動的に再計算されます。

リンク チャートのコミュニティーの特定

コミュニティー テーブルの行を 1 行以上選択すると、その行で定義されたコミュニティー内のすべてのエンティティーが、テーブルの Entity フィールドおよび関連するリンク チャートで選択されます。 テーブル内の行を選択するには、行番号または CommunityCountSolution フィールドの値をクリックします。

Entity フィールドの個別のエンティティーを 1 つ以上クリックすると、そのエンティティーを選択できます。 同様に、リンク チャート内のエンティティーを選択すると、対応するコミュニティー テーブル内の Entity フィールドでもそのエンティティーが選択されます。 ラベル伝播検出方法の場合は、エンティティーはコミュニティー テーブルの複数の行に表示され、表示しているすべての行で選択されます。

Type フィールドのエンティティー タイプをクリックすると、コミュニティーに含まれるそのタイプのエンティティーをすべて選択できます。

  1. コミュニティー テーブルの行をクリックして、そのコミュニティー内のエンティティーを選択します。

    Entity フィールドとリンク チャートで、対応するエンティティーが選択されます。

    コミュニティー テーブルとリンク チャートで、コミュニティー内のエンティティーが選択されます。

  2. Type フィールドのタイプをクリックして、コミュニティーに含まれるそのタイプのエンティティーをすべて選択します。

    Entity フィールドとリンク チャートで、対応するエンティティーが選択されます。

    コミュニティー テーブルとリンク チャートで、コミュニティー内にある指定したタイプのエンティティーが選択されます。

  3. Entity フィールドのエンティティーをクリックして選択します。

    Entity フィールドとリンク チャートで、エンティティーが選択されます。

    コミュニティー テーブルとリンク チャートで、指定したエンティティーが選択されます。

  4. コミュニティー内のすべてのエンティティーとタイプを表示するには、Entity フィールドのエンティティーのリストの下部、または Type フィールドのタイプのリストの下部にある [増やす] をクリックします。
  5. コミュニティー内のエンティティーとタイプの表示を減らすには、Entity フィールドのエンティティーのリストの下部、または Type フィールドのタイプのリストの下部にある [減らす] をクリックします。
ヒント:

キーボード ショートカットを使用し、コミュニティー テーブルを並べ替えることができます。 S を押すと、選択されたセルの列の値を昇順や降順で並べ替えるか、並べ替えなしにすることができます。 Shift + S を押すと、値を降順や昇順で並べ替えるか、並べ替えなしにすることができます。

コミュニティー テーブルでのエンティティーの検索

対象エンティティーがどのコミュニティーに含まれているかわかりにくいことがあります。 コミュニティー テーブル ビューで、エンティティーを検索して選択できます。

  1. コミュニティー テーブルの上部にあるツールバーで検索テキスト ボックス内をクリックします。
  2. リンク チャート内のエンティティーの表示名を入力します。

    コミュニティー テーブルの行が自動的にフィルター処理され、表示名が入力した名前と一致するエンティティーだけが表示されます。 フィルター処理されたエンティティーを示す行だけがテーブルに表示されます。

    検索テキスト ボックスにエンティティーの表示名を入力して、コミュニティー テーブル内のエンティティーを検索します。

  3. 対象のエンティティーを含むコミュニティーを選択します。
  4. 検索テキスト ボックスの [削除] ボタン 削除 をクリックして、検索を消去し、コミュニティー テーブルのすべての行を表示します。

    コミュニティー内のすべてのエンティティーが表示され、選択されたままの状態になります。 テーブルにすべてのコミュニティーが表示されています。

コミュニティー テーブルに表示されるエンティティーのタイプをフィルター

デフォルトで、コミュニティー テーブルには、リンク チャートのすべてのエンティティーが含まれています。 リンク チャートが大きいと、テーブルに表示される情報が多すぎて処理できなくなる可能性があります。 テーブルに表示されるタイプをフィルター処理して、各コミュニティーの特定のエンティティー タイプだけを表示できます。

  1. コミュニティー テーブルの上部にあるツールバーで、[タイプ] ボタン タイプのフィルター をクリックします。

    該当のタイプのエンティティーがリンク チャートに存在しない場合でも、ナレッジ グラフ内のすべてのエンティティー タイプを含むドロップダウン リストが表示されます。 デフォルトでは、すべてのエンティティー タイプがオンになっています。

  2. ドロップダウン リストで、コミュニティー テーブルに表示するエンティティー タイプをオンにします。 コミュニティー テーブルに表示しないエンティティー タイプはオフにします。 リストに表示されていない場合は、そのエンティティー タイプの名前を入力します。エンティティー タイプのリストが自動的にフィルター処理され、フィルター処理されたリストでエンティティー タイプをオン/オフできます。

    選択したエンティティー タイプの総数がツールバーの [タイプ] ボタンの横に表示されます。

コミュニティー テーブル内のエンティティーが自動的に更新されます。 オンにしたエンティティー タイプに関連付けられたエンティティーがテーブルに表示されます。 オフにしたエンティティー タイプに関連付けられたエンティティーがテーブルから削除されます。

コミュニティーの再計算

リンク チャートのコミュニティー テーブルを最初に開くとき、コミュニティーが検出され、コミュニティーが最新であることを示すメッセージがテーブルの下部に表示されます。

リンク チャートでエンティティーとリレーションシップを追加または削除した後、以前に検出されたコミュニティーはリンク チャートのコンテンツを反映しなくなることがあります。 コミュニティー テーブルの下部に、コミュニティーが最新でないことを示すメッセージが表示されます。

コミュニティー テーブル ビューの下部にある [更新] ボタン 更新 をクリックします。 すべての行がコミュニティー テーブルから削除され、新しいコミュニティーが再計算されます。

ラベル伝播オプションの設定

ラベル伝播方法では、リンク チャートのコミュニティーを検出するプロセスを制御できます。

この方法が生成するソリューションの数および各ソリューションを得るために使用される反復回数を決めることができます。 また、アルゴリズムで使用される乱数ジェネレーターを初期化するためのシード数も指定できます。 異なるシード値を使用すると、異なるソリューションが生成されます。

[オプション] パネルで設定を選択したら、コミュニティー テーブルを更新してコミュニティーを再計算します。

  1. コミュニティー テーブルの上部にあるツールバーで、[オプション] ボタン オプション をクリックします。

    [オプション] パネルが表示されます。

  2. [オプション] パネルで、[ラベル伝播] 見出しをクリックして、使用可能な設定を表示します。
  3. [乱数ジェネレーターのシード] テキスト ボックスに値を入力します。

    デフォルト設定は 0 です。

  4. リンク チャートのコミュニティーのセットを生成するためにアルゴリズムを実行する回数を [ソリューションの数] テキスト ボックスに入力します。

    デフォルト設定は 1 です。

    [ソリューションの数] が 1 のとき、リンク チャートのコミュニティーのセットが 1 つ生成されます。 これらのコミュニティーは、Solution フィールドの値 0 に関連付けられます。 [ソリューションの数] が 10 のとき、リンク チャートのコミュニティーのセットが 10 個生成されます。10 回目の実行のコミュニティーは、Solution フィールドの値 9 に関連付けられます。

  5. [反復回数] テキスト ボックスに、ラベル伝播アルゴリズムにより生成される 1 つのソリューションの最終的なコミュニティーの決定に使用する最大反復数を入力します。

    デフォルト設定は 1,000 です。

  6. 必要に応じて [ソリューション列の表示] チェックボックスをオンまたはオフにして、各実行またはアルゴリズムによりソリューションを評価するために、検出されたコミュニティーを並べ替えるかどうかを選択できます。
    • オン - Solution フィールドを表示します。 これがデフォルトです。
    • オフ - Solution フィールドを表示しません。
  7. コミュニティー テーブルの右下隅にある [更新] ボタン 更新 をクリックして、更新された結果を表示します。

関連トピック