データを視覚化する手段としてGephiの記事
を読んだ後、
Gephiプログラムに感銘を受けました。 そのとき、
Google +でユーザーアクティビティログを生成していました 。 そして、私はアイデアに訪れ、おそらく社会の参加者間の関係のグラフを作成しました。 Google+ネットワーク 数時間の検索の後、私はそのようなことはまだGephiのために行われていないという結論に達しました。 Google+用の
wiki gephiグラフアルゴリズムも提案されていません。 そして、インスピレーションを受けて、
LoggenCSGアプリケーションに、Gephiがインポートできるsqlite dbファイルにログをアップロードするためのモジュールをすばやく追加しました。 Gephiでのグラフのインポート結果が本当に気に入りました。
ユーザーのアクティビティを介した間接的な関係。
アクティビティを介したユーザー間の直接接続。
以下は、このようなグラフを自分で作成する方法の説明です。
ソフトウェア
同様の結果を得るには、2つのプログラムが必要です。
- Gephiは、グラフを作成および分析するための優れたツールです。
- LoggenCSG -Google+でユーザーアクティビティログを生成するプログラム
語彙
- 投稿-ユーザーがプロファイルに投稿したメッセージ。
- 再投稿-ユーザーが別のユーザーから自分のフィードに再投稿したというメッセージ。
- プラス-ユーザーの投稿の音声(評価)。
- Reshara-ユーザーの別のユーザー投稿(再投稿)を再投稿します。
- アクティビティ-上記のパブリックアクション。
- 態度-アクティビティを通じたユーザー間の関係。
LoggenCSGを使用する
プログラムを起動したら、Google +の[プロフィールID]フィールドにユーザーIDを挿入する必要があります。

あなたの
プロフィールに行くことでそれを見つけることができます。 アドレスバーは
https://plus.google.com/u/0/ 101113754039426612780 / postsのようになり
ます 。
IDを挿入した後。 最近のユーザー投稿の最大数を選択する必要があります。

最初のカウンターでそれを示します。 第二に、コメントの数、およびそれに応じて、コメントを残した著者。 その後、プラスとリシェアのリクエストでの結果の最大数、それぞれ3と4カウンター。
チェックボックス
ディープ サーチを選択することもできます。 このパラメーターは、データサンプリングアルゴリズムを担当します。 パラメーターが有効な場合、最初に指定された数の最近のユーザーメッセージが受信され(そのUidによってアクティビティログが生成されます)、その後、アクティビティの作成者が識別されます。 次に、特定された著者ごとに、古典的なアルゴリズムがトリガーされます。そのuidによって、指定された数の最近の投稿が取得され、アクティビティ分析が実行されます。 関係のより一般的な図を取得するには、深いアルゴリズムが必要ですが、古典的なアルゴリズムよりも高価です。
ログを作成するビジュアライザーを選択できます。 そして、保存するファイルを指定します。

ファイル名テンプレート。
最も興味深い部分は、ファイル名生成テンプレートの形成です。

各ビジュアライザーには、独自のテンプレートセットがあります。 しかし、Gephiコラムには興味があります。 デフォルトでは、すべてのファイル
{type}:{title}にテンプレートが提案されます:
- {type}-アクティビティのタイプ(投稿、プラス、再共有、共有、コメント)
- {title}-メッセージ本文の最初の100文字、または100文字より短い場合はメッセージ全体。
このテンプレートに従ってデータを生成すると、ユーザー間の間接的な関係のグラフが得られます。つまり、ユーザー(著者)から彼の投稿へのエッジがあり、別のユーザー(コメンテーター)から彼が投稿に関連して示したアクティビティへのグラフがあります。 ポストとアクティビティの間にもエッジが形成されます。 その結果、ユーザーのアクティビティを通じてユーザー間のコミュニケーションが得られます。

別の画像を取得するには、つまりユーザー間の
直接的なコミュニケーションを取得するには、すべてのファイルタイプのテンプレートを
{actorname}に変更する必要があります。
- {actorname}-アクティビティを実行しているユーザーの名前。
ログメッセージは次のように生成され、関数に渡されます。
- 活動の日時。
- アクティビティの作成者。
- ファイル名。
- アクティビティのタイプ(ビジュアライザーでは値MまたはAを取ります)。
- gephiの場合、Fromパラメーターは引き続き渡されます(つまり、アクティビティの発信元であるプラス、デカール、コメントの場合、投稿ファイルのフルネームが送信されます。{Postfilename})
上記に基づいて、すべてのファイルタイプに{actorname}テンプレートを適用すると、ユーザー間の直接接続が得られます。

すべての設定が完了したら、[生成]ボタンをクリックします。 プログラムはデフォルトのブラウザを開き、OAuth2を介してアプリケーションを認証し、情報を受信する権限を付与します。
ここでどのようにしますかは
コードです。 Googleの
例からはあまりfromなことはしませんでした。
データベースにデータを追加する方法。
アルゴリズムは次のとおりです。
- ソース頂点(関数に渡されるアクティビティの作成者)が存在しない場合は追加し、存在しない場合はそのSizeパラメーターを1つ増やします。
- ターゲット頂点(転送されたファイル名)が存在しない場合は追加します。存在しない場合は、サイズカウンターを1つ増やします。
- ソース-レシーバーエッジが本質的にそのSizeパラメーターを1つ増やす場合、そうでない場合はエッジを作成します。
- fromパラメーターが空でない場合は、新しいソース頂点が存在する場合は形成し、Sizeを増やすか、そうでない場合は新しい頂点を追加します。
- ターゲット頂点と新しいソース頂点の間に接続があるかどうかを確認します。 存在する場合は、サイズを増やし、それ以外の場合は作成します。
その結果、重み付き有向グラフが得られ、これにより多くの分析機会が得られます。
データベースの操作は、
Linq to Entitiesテクノロジーを使用して
System.Data.SQLiteプロバイダーを通じて実行されます。 これが
GephiAppenderクラスです。 すべてのデータは、gephiで処理する必要があるようです。
Gephiと連携する
サンプルが作成されるソース 。 Kriss Selitserプロファイルによって生成されたデータ。
プログラムの起動後、[ファイル]-> [データベースのインポート]-> [エッジリスト]を選択します...

ダイアログボックスでdirver sqliteを選択し、赤で強調表示されているフィールドに入力し、ファイル名フィールドでLoggenCSGによって生成されたdbファイルを選択します。 私の場合、デフォルトでは。

処理後、次の結果が得られます。

ここでは、インポートされた2019の頂点、5891のエッジ、グラフが動的に表示されます。 [
OK]をクリックします左下で、
レイアウトを処理するアルゴリズムを選択し
ます 。
ForceAtlas 2を選択し
ました 。
スケーリングを30に設定し
ます 。
実行をクリックし
ます 。

私たちはあなたにとって最も楽しい結果を待っています。 リスト内で上に移動して
Degreeメソッドを選択し、頂点に関連付けられた頂点とエッジに重みに従って色を付けます。 必要なグラデーションを作成するか、右から隅にある既製のパレットを選択します。
適用をクリックします。

その後、[
プレビュー ]タブに移動します。 図のようにすべてを構成し、[
更新 ]をクリックします。

[
上書き ]タブに戻ります。 右下にはフィルターパレットがあります。 リストで、「
トポロジ」->「自我ネットワーク (特定の頂点に関する接続。文字通り自我ネットワーク=)」というディレクトリを選択します。 このフィルターを下の領域にドラッグします。 [データ]タブに移動します.... 右上隅にフィルターがあり、必要な名前を入力します。 クリスに入った。 IDをコピーまたは記憶します。 戻って、
Node Idフィールドにそれを示します。
フィルターをクリックし
ます 。

[ノードID]フィールドで選択できる値は、選択した頂点から次の頂点までのステップ数を示します。デフォルトは1です。このフィルターを使用すると、クリスから1ステップ離れたユーザーの数がわかります。

次に、
相互角度範囲フィルターを選択して、すべての頂点間の相互関係を確認できます。 それを下部にドラッグし、スライダーを0から1に移動すると、相互接続が1から最大のすべてのユーザーが表示されます。
以下にマップを示します。

しかし、フィルターを適用した後:

フィルタを組み合わせることもできます。 1つのフィルターを別のフィルターにドラッグするだけです。

相互関係を持つ自我ネットワークを取得します。 以下は、このフィルターを前の画像に適用した結果です。

おわりに
あなたがそれを理解できることを願っています。 あまりにも華麗に書かれている場合は申し訳ありません。
これは、ユーザー間の相互関係を分析する非常に興味深いアクティビティです。 =)楽しんでください。
結局のところ、Gephiはグラフを操作するための非常に強力なツールです。 明確なインターフェースがあります。 ダイナミクスでグラフを見ることができますが、これは私が言わなかったことです。 LoggenCSGによって生成されたグラフは動的であるため、動的フィルターを適用できます。また、レイアウトを構築する方法のいずれかが有効になっている場合、非常に良い画像が得られます。
ソースコードについては申し訳ありませんが、コードにコメントがないことを申し訳ありません。
すぐに表示され、詳細なしで結果が表示されるだけなので、写真の解像度はそれほど高くありません。 あなたは
このカードで私のアルバムを詳細に見ることができます、写真への署名があります。
PS :はい。これらのグラフは、サークル内の本当にアクティブなユーザーを示しています。
ご清聴ありがとうございました。
UPD
さまざまなユーザーの結果。