TL;DR

SAGは、文書を「イベント」と「エンティティ」の関係としてSQLインデックスに格納し、クエリ時に共有エンティティを結合キーとして動的に関連イベントを探索するRAGアーキテクチャです。グローバルな知識グラフを構築せずに、マルチホップ推論に必要な関連文書の連鎖を効率的に発見します。MuSiQueベンチマークでRecall@5が80.36%と、最強ベースラインを11.52ポイント上回りました。

解説

AMI SURPRISED

ねえ智也くん、このSAGって論文、タイトルにSQL結合ってあるけど、なんでデータベースの話がAIの論文に出てくるの?

TOMOYA NEUTRAL

ああ、これはRAGの新しいやり方なんだ。文書をイベントとエンティティの関係としてSQLインデックスに保存するんだよ。

AMI CURIOUS

RAGって、質問に答えるときに外部の文書を検索して使うやつだよね?それにSQLを使うってどういうこと?

TOMOYA NEUTRAL

普通のRAGは文書をチャンクに分けてベクトル検索するけど、SAGは文書の中のイベントとエンティティの関係を構造化して保存するんだ。

AMI CURIOUS

イベントとエンティティ?例えばどんな感じ?

TOMOYA NEUTRAL

例えば「太郎が会社で会議を開いた」っていう文があったら、イベントは「会議を開く」で、エンティティは「太郎」と「会社」みたいな感じ。

AMI CURIOUS

なるほど!それでSQLでどうやって検索するの?

TOMOYA NEUTRAL

クエリが来たら、まず関連するエンティティを見つけて、それを結合キーにして関連するイベントを動的に探索するんだ。共有エンティティがあるイベント同士をどんどんつなげていく感じ。

AMI CURIOUS

動的に探索するってのがポイントなんだね。でも、なんでわざわざSQLなの?普通のグラフデータベースじゃダメなの?

TOMOYA NEUTRAL

グラフデータベースだとグローバルな知識グラフを構築する必要があるけど、SAGはそれをしないんだ。クエリごとに必要な部分だけを動的につなげるから、構築コストが抑えられる。

AMI HAPPY

あー、つまり全部の関係をあらかじめ作っておくんじゃなくて、質問が来たときにその場で関係を見つけるってこと?

TOMOYA NEUTRAL

そう。マルチホップ推論に必要な関連文書の連鎖を効率的に発見できるんだ。

AMI CURIOUS

マルチホップ推論って、複数の文書をまたいで推理するやつだよね?それって結構難しいんじゃない?

TOMOYA NEUTRAL

難しい。だから評価もMuSiQueっていうマルチホップ推論のベンチマークでやってるんだ。

AMI CURIOUS

結果はどうだったの?

TOMOYA HAPPY

Recall@5が80.36%で、最強のベースラインより11.52ポイントも上回ったんだ。

AMI SURPRISED

すごい!11ポイントも差がつくんだ。それってかなり大きいよね?

TOMOYA NEUTRAL

うん。特に複雑な推論が必要な問題で効果が大きいみたい。

AMI CURIOUS

でも、なにか弱点とか限界はないの?

TOMOYA NEUTRAL

イベント抽出の精度に依存するから、抽出がうまくいかない文書だと性能が落ちる可能性がある。あと、SQLインデックスの構築に時間がかかるかもしれない。

AMI HAPPY

なるほどね。でも、グローバルな知識グラフを作らなくていいってのは大きな利点だね。

TOMOYA NEUTRAL

そう。特に文書が頻繁に更新されるような環境では有利だと思う。

AMI SURPRISED

ふーん、SQLって古い技術だと思ってたけど、こんな使い方もあるんだね。まさかAIと組み合わせるとは思わなかったよ。

TOMOYA NEUTRAL

まあ、SQLはまだまだ現役だからね。

AMI HAPPY

じゃあ、次はSQLでAIを作ってみようかな?って、私には無理か。

TOMOYA NEUTRAL

いや、君ならSELECT文くらいは書けるようになるよ。