ナレッジグラフとは: 表とベクトルとの3つの違い
ナレッジグラフとは、ものと、もの同士の関係を、機械が辿れる形で書いたものです。
表やベクトル検索との違いは、突きつめると1つだけです。関係そのものを指して、辿れるかどうか。 「AとBはどう繋がっているか」を聞かれたとき、表は繋ぎ方を人が先に決めておく必要があり、ベクトル検索は似た文書を返すだけで繋がりは返しません。グラフはエッジを辿って経路を返します。
以下、その差がどこで効くのかを、同じ問いを3つの持ち方に投げて確かめます。
Google が2012年に言い換えたこと
この言葉が広まったのは、Google が検索に導入したときです。2012年5月16日、Amit Singhal が公式ブログに「Introducing the Knowledge Graph: things, not strings」と書きました。
そのときの規模が公表されています。5億を超えるオブジェクトと、それらの間の35億を超える事実と関係です (Google 公式ブログ)。
「文字列ではなく、もの」というのが要点です。それまでの検索は、入力された文字列と一致する文字列を文書の中から探していました。ナレッジグラフを持つと、「タージ・マハル」が建物なのか歌手なのかを区別したうえで、その建物が「いつ建てられたか」「誰が建てたか」に答えられます。
扱っている単位が、文字列から、もの と 関係 に変わっています。
中身は3つだけ
構造そのものは驚くほど単純です。
| 要素 | 中身 | 例 |
|---|---|---|
| ノード | もの | トウヒの木材、トウヒの階段 (マインクラフトのアイテム) |
| エッジ | もの同士の関係 | トウヒの木材 —材料—> トウヒの階段 |
| 属性 | ノードやエッジに付く値 | 必要な個数は6 |
この3つで書けます。(主語, 述語, 目的語) の3つ組で表す流儀もあり、これをトリプルと呼びます。
重要なのは、エッジに名前が付いていることです。「関係がある」で済ませず、「材料である」「所属している」「参照している」と書き分けられます。だから機械が「材料の関係だけを辿る」といった追い方ができます。
同じ問いを3つの持ち方に投げる
マインクラフト (Minecraft) のクラフトを例にします。「トウヒの階段を1個作るのに、最終的に何が要るか」を聞いてみます。答えは spruce_log (トウヒの原木) ですが、階段の材料は木材で、木材の材料が原木なので、2段辿らないと出てきません。
表 (リレーショナルデータベース) の場合。
recipes テーブルを JOIN すれば出ます。ただし何段 JOIN するかを、クエリを書く人が先に決める必要があります。2段なら JOIN 2回。3段なら3回。段数が分からないものには、そのまま書けません。再帰クエリという道具はありますが、書ける人は減ります。
ベクトル検索の場合。
「トウヒの階段 作り方」に似た文書を上位から返します。返ってくるのは「トウヒの階段は木材6個」と書かれた文書です。そこで止まります。 木材が何からできるかは別の文書に書いてあり、質問文とはあまり似ていないので、上位に来る保証がありません。似ているかどうかで拾う仕組みなので、繋がりの先は拾えません。
グラフの場合。
トウヒの階段 から 材料 のエッジを、行き止まりに当たるまで辿ります。段数を先に決める必要はありません。辿れなくなったところが答えです。
3つの違いを並べます。
| 段数を先に決める必要 | 関係そのものを返せるか | 得意な問い | |
|---|---|---|---|
| 表 | 要る | 返せる (JOIN の形で) | 段数が固定で、件数が多い |
| ベクトル検索 | 不要 | 返せない | 答えが1つの文書に書いてある |
| グラフ | 不要 | 返せる | 答えが繋がりの上にある |
表とグラフの差は「段数を先に決めるか」、ベクトル検索とグラフの差は「関係を返せるか」です。 違う軸なので、3つは競合というより使い分けになります。
オントロジーとの違い
サジェストによく並ぶので、ここで分けておきます。
オントロジーは語彙と規則の定義、ナレッジグラフはその定義に沿って書かれた実際のデータです。 設計図と建物の関係に近いです。
オントロジー 「人は組織に所属できる」「所属には開始日と終了日がある」
ナレッジグラフ 「この人物は2020年からこの組織に所属している」
オントロジーを持たないグラフもあります。先に語彙を決めずに、出てきたものをそのまま繋いでいく作り方です。始めるのは速く、育つほど破綻します。 同じ人物が taro_yamada と 山田太郎 と yamada-t の3つのノードに割れていく形で壊れます。
どちらを先にやるかは、対象と規模で変わります。この判断は形式の分岐の章で扱っています。
LLM との関係
2024年以降、この言葉を聞く文脈のほとんどが LLM がらみです。中心にあるのは Microsoft Research が2024年4月に出した論文で、ベクトル検索だけでは「この文書群の主題は何か」のような全体を見る問いに答えられないという指摘から始まっています (From Local to Global: A Graph RAG Approach to Query-Focused Summarization)。
答えがどこか1箇所に書いてあるなら、それを引いてくれば済みます。答えが書かれていない場合、つまり複数の文書の関係から浮かび上がる場合、似た文書を集めるだけでは届きません。
ここがナレッジグラフの使いどころです。そして同時に、それ以外の場面では要らないということでもあります。
作れば賢くなる、ではない
最後にひとつ。「LLM は関係を辿れないからグラフが要る」という説明はよく見ますが、グラフを渡せば辿れるようになるとは限りません。
このシリーズで実際に測ったところ、グラフを1歩渡して効いたのは 9B 以上のモデルだけでした。4B に渡すと、正解率はかえって下がります。
条件と数字は段数の実測にあります。グラフは道具であって、下駄ではありません。
Minecraft は Mojang Synergies AB の商標です。このページは Mojang Studios および Microsoft とは無関係で、承認も後援も受けていません。クラフトデータは PrismarineJS/minecraft-data から取得しています。
この記事は役に立ちましたか?