知識グラフ

本ツールの知識グラフ機能について説明します。

はじめに

本ツールでは、ユーザー入力・画面情報・プレイ結果などを元に、LLM を利用して知識グラフを自動生成し、次回以降の自動プレイにおいて LLM の判断材料として利用します。

一般的な知識グラフの説明については 知識グラフとは を参照してください。

知識グラフの利用

本ツールにて知識グラフを利用するには、以下の設定が必要です。

設定 ウィンドウ

知識グラフ タブ

image

  • Build Knowledge Graph When Task Success / タスク成功時に知識グラフを追加登録する
    知識グラフを自動生成するかどうか
  • Use Knowledge Graph / 知識グラフを利用する
    自動プレイの際に知識グラフを利用するかどうか
  • Knowledge Depth / グラフの深さ
    知識グラフの深さ

settings.yaml(ツール設定ファイル)

知識グラフ関連

# settings.yaml
llm:
  is_build_knowledge_graph: false
  is_use_knowledge_graph: false
  knowledge_depth: 2
  • is_build_knowledge_graph
    知識グラフを自動生成するかどうか
  • is_use_knowledge_graph
    自動プレイの際に知識グラフを利用するかどうか
  • knowledge_depth
    知識グラフの深さ

知識グラフの編集

知識グラフは、基本的に LLM により自動生成されますが、ユーザーが手動で追加・削除・変更等の編集を行うことができます。

ただし、編集内容が LLM の判断に予期せぬ影響を与える可能性があるため、内容を理解の上、慎重に行うことをお勧めします。

一般的な知識グラフの説明については 知識グラフとは を参照してください。

以下では、具体的な知識グラフの編集操作について説明します。

  1. 知識グラフ タブを選択して、知識グラフ編集画面を表示します。
    image
  2. 知識グラフが既に生成済みの場合は subject predicate object の下にその内容が表示されます。

    以後、subject predicate object で構成される 1 行を「トリプル」と呼びます。 用語については 知識グラフとは を参照してください。

  3. 本画面では以下の編集が可能です。

    編集した場合は保存するのを忘れないようにしてください。

    • 追加
      • 空の知識を追加 ボタンで、空欄のトリプルを追加します。
      • トリプルの各要素(subject predicate object)を入力します。
      • 書き方については他の自動生成内容や、知識グラフとは を参考にしてください。
    • 変更
      • トリプルの各要素(subject predicate object)を個別に変更します。
    • 削除
      • 削除 ボタンを押して、当該のトリプルを削除します。
      • 例えば、当該の知識グラフは自動プレイに期待とは異なる影響を与えていると思われる場合などに活用してください。
  4. 知識グラフの追加には LLM を利用した以下の方法もあります。
    • LLMを利用して知識を追加 ボタンを押して、Add Knowledge From LLM / LLM を利用して知識を追加 画面を表示します。
    • 追加したい知識について記述してください。 フィールドに知識グラフの元となる知識的な内容をテキストで入力します。
    • 生成する知識の最大数 欄で生成したいトリプルの最大数を入力します。
    • 生成 ボタンを押すと LLM による自動生成が開始されます。
    • 自動生成が終了すると 生成された知識群 フィールドに生成結果が表示されます。
    • 生成結果を知識グラフの本体に追加したい場合は 追加 ボタンを押します。
    • 追加操作が完了したらウィンドウを閉じてください。
  5. 知識グラフを保存 ボタンで編集内容を保存します。

知識グラフとは

知識グラフ(Knowledge Graph)は、情報を整理して視覚化するための構造です。具体的には、知識グラフはエンティティ(物事や概念)とその関係を表現します。この表現には、「トリプル」と呼ばれる単位が使われます。

トリプルは次の3つの要素から成り立っています:

  1. 主語(subject):エンティティの始まり部分。例えば、「トム・ハンクス」。
  2. 述語(predicate):主語と目的語の関係を示す部分。例えば、「出演している」。
  3. 目的語(object):エンティティの終わり部分。例えば、「フォレスト・ガンプ」。

このトリプルを具体例で示すと、「トム・ハンクス」(主語)は「出演している」(述語)「フォレスト・ガンプ」(目的語)という形になります。知識グラフは、このようなトリプルを大量に集めて、エンティティ間の関係性を視覚化し、検索や推論のために利用します。