本文へスキップ
コース目次

アカデミーモジュール 2 · ナレッジグラフの構築と管理

グラフビュー入門:3Dナレッジグラフを読み解く

全6レッスン中 4番目12分

このレッスンで学ぶこと

  • ナレッジグラフを開き、ノード、エッジ、ラベルの種類を見分けられる
  • 現在位置を見失わずに、カメラの回転、移動、ズーム、リセットを行える
  • エンティティを切り出して隣接ノードをたどり、つながりの根拠となる原文を確認できる
  • テーマの色とエンティティ種別の色を区別し、グラフ全体をテーマ別に彩るトピックマップを作成できる

数週間にわたってノートを保存してきたとします。ファイルツリーで見えるのは一覧だけです。仕入先との会議メモに登場する技術者が、昨春の障害について書いたノートにも登場していることまでは分かりません。

ナレッジグラフなら、そのつながりが見えます。すべてのノート、そこから抽出されたエンティティ(人物、組織、場所、概念)、そして相互の関係が、色のついた線で結ばれた光る球体として画面上をゆっくり回転します。

このレッスンでは、この図を読み解く方法を学びます。色の意味、カメラの動かし方、エンティティをクリックして表示の根拠となった原文を確認する方法を扱います。フィルター、表示設定、エクスポートなどのフローティングメニューは、次のレッスンで取り上げます。

グラフを開き、カメラを動かす

タイトルバー右上の経路アイコン(ツールチップは「ナレッジグラフ」)をクリックするか、⌘⇧G(Mod+Shift+G。割り当て変更も可能)を押します。

グラフはタブストリップ内の1つのタブとして開きます。もう一度ショートカットを押すと、直前に表示していたドキュメントへ戻ります。隣の「エンティティテーブル」ボタンでは、同じエンティティと関係を並べ替え可能な行と列で確認できます。

  • 3Dシーンはワークスペース全体で共通です。新しい空のチャットでは背景としても表示されます。
  • エンティティページの「グラフで開く」や、アプリ各所にある隣接エンティティのチップから開くと、そのエンティティが切り出された状態で表示されます。
  • グラフビューの設定風の左レールでは、「グラフ」(3Dキャンバス)と各調整セクションを切り替えられます。各設定はグラフ操作のレッスンで扱います。

新しいワークスペースではグラフが空です

まだ何も抽出されていない場合は、「ナレッジグラフは空です」と「ノートを開いて始める」ボタンが表示されます。ノートを1、2件保存し、バックグラウンド抽出が終わってから戻ってください。グラフは自動的に構築されます。

カメラ操作
Left-click drag     rotate (free trackball, no pole lock)
Right-click drag    pan
Shift + left drag   pan
Scroll              zoom
⌘⇧G                 open / leave the graph tab
⌘F                  "Find in graph" while the graph tab is active

グラフは静止したままにはなりません。操作しなければ、約21秒で1回転する速さでゆっくり回ります。ポインターを重ねると速度が約3分の1まで落ち、ドラッグ、ズーム、クリックの後は3秒間停止します。

画面の隅には、この3つの操作を示すヒントが表示されます。操作中やカードを開いている間は、フローティングレイヤー全体が薄くなります。

円形矢印のフローティングリセットボタン(ツールチップは「ホームビューに戻す」)を押すと、グラフ全体が画面に収まります。ただし、エンティティの切り出しやテーマへのドリルイン中は、いきなりホームへ戻らず、1階層ずつ前の状態へ戻ります。

3種類の球体と7種類の線

球体は3種類のノードのいずれかで、クリックしたときの動作も種類ごとに異なります。

ノードの種類内容見分け方
ノート(ドキュメント)Markdownファイルクリックするとファイルが開く(詳しくは後述のクリック操作を参照)
エンティティノートから抽出された対象。対応するファイルはないシアン系のラベル
コードファイルコードインテリジェンスで索引化されたソースファイル緑系。「コードを表示」がオンのときだけ見える

線にも種類と色があります。方向のあるエッジはグラデーションで描画され、relationエッジでは「所属」や「創業者」といった述語が、線に沿って控えめな文字で表示されます。

エッジの種類意味
relationシアンのグラデーション、方向あり「創業者」などの型付きの事実。述語がエッジ上に表示される
sameAsバイオレット、単色エンティティ解決で統合された同一対象(同義語)
broaderアンバー、方向あり階層:狭い概念 → 広い概念
relatedティール、単色関連を示すリンク
code緑、方向ありファイルをまたぐ呼び出し、インポート、継承のリンク
code-mentionゴールド、方向ありノート → コードを結ぶリンク
mentionsなしドキュメント → エンティティ:そのエンティティが登場するノート
ナレッジグラフの画面。関連するエンティティがまとまり、各ノードはラベルで識別できます。

ポイント、クリック、切り出し

エンティティにポインターを重ねると、小さなカードがポインターを追い、名前と「3件のつながり・2件のノート」のような要約を表示します。ポイント中のノードと直接つながるノードだけが明るく残り、それ以外は暗くなります。密集した領域でも関係を読み取りやすくなります。

  • エンティティノードをクリックすると、その周辺だけが切り出されます。ノードと直接つながるノードだけが残り、それ以外は縮小され、選択カードが開きます。切り出されたエンティティをもう一度クリックすると解除されます。
  • ノートノードをクリックすると、周辺を切り出すと同時に、ファイルがエディターにぼかし付きのプレビューとして開きます。もう一度クリックするとエディターへ完全に切り替わります。
  • 空白をクリックすると、開いているカードを閉じるか、現在の切り出し状態から1階層戻ります。
  • テーマのスーパーノードをクリック(マップモード)すると、テーマの詳細カードが開きます。

⌘Fでグラフ内を検索できます。名前を入力してEnterを押すと、カメラが一致する対象へ移動します。検索ボックスとショートカットの詳細は、グラフ操作のレッスンで扱います。

エンティティのプロフィールカード

エンティティをクリックすると、左上のガラス調カードに詳細が表示されます。完全なプロフィールの読み込みを待たず、まずエッジの一覧が表示されます。その後、「つながりを順位付けしています…」というシマー表示を経て、順位付けされたビューに切り替わります。

  • 「{count}件のノートに登場」というメタ情報と、色付きの種別バッジ。バッジは編集可能なピルで、11種類すべてのエンティティ種別と「種別の上書きを解除」を選べます。種別未設定の場合は、破線の「種別を設定…」が表示されます。
  • 「つながり」:述語ごとにまとめ、関連度順に並べた隣接エンティティ。方向は矢印(→ / ←)で示されます。チップをクリックすると、そのエンティティへ移動します。項目が多いグループの末尾には「さらに表示…」が付きます。
  • 「あなたの言葉」:このエンティティについて自分が記した原文を、意思決定、主張、引用などの種類別に表示します。後のノートで改訂された内容には、「置換済み」または「撤回済み」バッジが付きます。
  • 「別名」:統合された同義語のチップ。リンク解除ボタンを押すと誤った統合を分割し、エンティティ解決を再構築します。
  • 「出典ノート」:元になったノート。クリックするとエディターで開きます。
  • 「関連コード」:意味の近いコードシンボル。コードインテリジェンスが有効な場合だけ表示されます。

つながりの根拠となる原文を確認する

「つながり」にあるチップへポインターを重ねると、Consilienceは関係を記した原文を、そのノートから表示します。最初に「ノートを読み込んでいます…」と表示され、続いて引用文と「suppliers.md・42行目・『Vendors』見出し内」のような出典が示されます。

参照するのは常に現在のノートで、キャッシュされたコピーではありません。抽出後にノートが変わっている場合は、古い内容を引用せず、「この関係を示す文が見つかりません。ノートが変更された可能性があります」と明示します。

グラフを動かしてみる

  1. ⌘⇧Gを押すか、タイトルバーの経路アイコン「ナレッジグラフ」をクリックします。
  2. 左ドラッグで回転、スクロールでズーム、右ドラッグで移動し、操作に合わせてヒント表示が薄くなる様子を確認します。
  3. シアンのラベルが付いた球体にポインターを重ね、ホバーカードを読みます。
  4. クリックすると、周辺だけが切り出され、選択カードが開きます。
  5. 「つながり」のチップにポインターを重ね、出典の原文が表示されたら、そのチップをクリックして隣接エンティティへ移動します。
  6. 空白をクリックして前の階層へ戻り、リセットボタン(「ホームビューに戻す」)を押します。

グラフ全体へ戻り、ゆっくりした自動回転が再開し、ヒントとフローティングボタンが再び表示されます。

テーマ、コミュニティ、色

初期状態では、ノードはトピック別に色分けされません。左レールの「トピックマップ」から「トピックマップを作成」を一度実行すると、Consilienceが関連エンティティのまとまりであるテーマを見つけ、それぞれに名前と要約を付けます。作成後はノードがテーマの色で表示され、表示設定に「マップモード」が追加されます。

  • 「マップモード」では、グラフがテーマごとに1つのスーパーノードへ集約されます。都市ではなく大陸を見るような表示です。テーマをクリックすると詳細カードが開きます。
  • 「フォーカス」では、そのテーマのサブグラフへ入ります。フローティング表示の「← {theme}・マップへ戻る」から元へ戻れます。
  • 「MOC」では、テーマに含まれるノートと概念をまとめた要約ノートを作成します。
  • 他のワークスペース領域とのつながりが少ないテーマには、「孤立」バッジが付きます。

テーマの色は、表示設定の「種別で色分け」とは別です。こちらは人物、組織、場所など、エンティティの種類に応じて色を付けます。十分な数のエンティティに種別が設定されると利用可能になります。以前から使っているワークスペースでは、先に「未設定の種別を補完」を実行するとトグルが表示されます。

コミュニティ:ネットワーク科学に由来する考え方

ネットワーク科学でいうコミュニティとは、ネットワークの他の部分よりも、相互に密接につながったノードの集合です。ソーシャルグラフの友人関係や、引用ネットワークの研究分野がその例です。Consilienceは同じ考え方をワークスペースへ応用します。繰り返し共に現れ、互いにつながるエンティティがテーマを形成し、言語モデルが各まとまりに名前と要約を付けます。コミュニティ別に色分けすれば、1,000ものノードが絡み合うグラフを、自分が実際に考えている事柄の読みやすい地図へ変えられます。

切り出し
1つのノードと直接つながるノード以外を縮小すること。リセットボタンを押すと、フォーカスの階層を1つずつ戻せます。
選択カード
クリック時に開くエンティティごとのプロフィール。種別、つながり、記述、別名、出典ノートを確認できます。
出典の原文
隣接エンティティのチップにポインターを重ねると表示される、関係を記した出典ノート内の文です。
テーマ(コミュニティ)
トピックマップがワークスペース全体から検出し、名前と要約を付けた関連エンティティのまとまりです。
マップモード
グラフをテーマごとに1つのスーパーノードへ集約する表示です。
アンビエント回転
グラフが常にゆっくり回転する動き。ポイント中は遅くなり、操作後は3秒間停止します。

大規模グラフでのパフォーマンス

グラフはGPUで描画され、別の画面へ移動して戻ってもカメラとレイアウトが維持されます。安定したノード位置はビュー(ワークスペース、マップ、テーマ)ごとにキャッシュされるため、戻るたびに配置が散らばることはありません。

数千ノード規模でも読みやすさを保ちます。グラフが大きくなると球体の精細度は自動的に抑えられ、ラベル数も画面セルごとに制限されます。密集した領域でも文字の塊にはならず、読める数の名前だけが表示されます。「詳細」スライダーを上げると、表示数を増やせます。

修正内容に応じて場所を使い分ける

キャンバス上のカードでは、エンティティの種別変更と誤った同義語統合の分割ができます。誤ったつながりを削除するには、エンティティページを開きます。各操作の場所を覚えておくと、すばやく整理できます。

これでグラフを読み解けるようになりました。次は、フィルター、表示設定、エクスポートなど、フローティングメニューを1つずつ見ていきます。

グラフビュー入門:3Dナレッジグラフを読み解く