GraphRAG関連サーベイ
2025-09-04
GPT5.icon
1) なにを抽出するか(抽出ターゲットの類型)
A. 基本三点セット
エンティティ / 関係 / 事象(イベント):文書内・文書間での固有表現、関係リンク、出来事+役割。
B. 時間・因果・時系列
時間関係(before/after/simultaneous)やイベント因果の抽出。
文書横断のタイムラインや因果グラフの構築に使う。
C. 論証・主張・根拠(プロヴナンス)
回答の説明責任や検証、再現に効く。
D. コア参照・正規化
エンティティの同一性解決(別名/略称/表記揺れ)とリンク(例:Wikidata)。
知識グラフの一貫性・検索再現率に直結(実装上の必須前処理)。
2) どう使うか(グラフ/DAGを使う処理パターン)
① 検索・RAG(グラフ誘導型)
HippoRAG:KG 上でPersonalized PageRankを使って関連ノードを広げる単段取得でも多段推論級の精度を狙う(HotpotQA 等で最大20%向上を報告)。多跳問答や探索の効率改善に寄与。 (arXiv) 自前グラフの統合や“低コストでグラフ併用”に向く。
サーベイ:GraphRAG の標準ワークフロー(G-Indexing→G-Retrieval→G-Generation)の俯瞰。導入前に一読推奨。 (arXiv) ② 要約・全体把握
GraphRAG(QFS志向):クエリ焦点型要約を、KG+コミュニティ要約の組合せでスケールさせる。 全社横断レポートや巨大コーパスのテーマ抽出に。 (arXiv) DAG/ツリー系の階層要約インデックス。 (arXiv) ③ エージェント/対話メモリ
Theanine(記憶システム):メモリの削除を前提にしない。過去の出来事を時間・因果リンクでタイムライン化し、**“出来事の推移/因果”**を文脈として応答生成に注入。評価枠組み TeaFarm も提示(NAACL 2025)。長期対話の文脈保持に特化。 (arXiv) ④ 検証・説明・整合性チェック
PROVで由来(誰が/何から/いつ生成)のエッジを保持し、回答時に根拠パスを提示。AIFで主張-根拠-反論の論証グラフを保持して“なぜそう言えるか”を語れる。 (W3C, Wikipedia) 3) 代表アプローチの比較(要点だけ)
table:_
系統 主要抽出 使う構造 強み/用途(要点)
GraphRAG(Microsoft) LLMでKG抽出+コミュニティ検出→階層サマリ KG+階層(グローバル/ローカル/DRIFT) 全体像・多文書のQFSに強い。運用手引き・実装が充実。 (Microsoft GitHub, Microsoft) HippoRAG エンティティ/関係 KG+Personalized PageRank 多跳QAで低コスト高精度。単段取得でも強い。 (arXiv) LlamaIndex-KG 三つ組抽出 Subgraph RAG 既存RAGにKGリトリーバを足す構成が簡単。 (LlamaIndex) Theanine 対話メモリ断片 時間・因果で連結したタイムライン 長期対話で“変化の経緯”を理解して応答に反映。 (arXiv) RAPTOR 埋め込み→クラスタ 階層サマリ木(Tree/DAG) 巨大コーパスを上位概念から段階的に検索。 (arXiv) 4) 実装の勘所(設計パターン)
(a) データモデル設計
Property Graph or RDF:クエリ容易さ(Cypher)か標準語彙/相互運用性(RDF/OWL, PROV-O)か。出典/生成過程は最初から PROV で付けると後が楽。 (W3C) ノード型の設計:Entity / Event / Claim / Source / Community / Memory 等。時間(発生/観測/有効期間)と因果は一次クラス市民。
IDと同定:コア参照統合(同一人物/組織の別表記)。知識整備のコストを最初期に払うと、後段の多跳検索が安定する。
(b) 抽出パイプライン(最小構成)
1. 分割(段落/文/発話)→言語前処理(NER, co-ref)
3. 時間・因果リンク:イベント時刻/順序/因果を抽出(ルール+LLM、あるいは既存手法)。 (arXiv) 4. 正規化/同定(KBリンク, 辞書, Embedding)
5. 格納(Graph DB / RDF ストア)+二重インデックス(ベクトル&グラフ)
6. (任意)階層化:GraphRAGのコミュニティ検出→レポート生成、RAPTOR の階層要約木を事前計算。 (Microsoft, arXiv) (c) 取得(Retrieval)の作法
グローバル:コミュニティ要約を横断して合成(GraphRAG: Global/DRIFT)。テーマ系の質問に効く。 (Microsoft) ランキング:PPR/短経路/中心性と埋め込みの類似度をハイブリッドに。HippoRAG は PPR が要(実装上の良い出発点)。 (arXiv) (d) 生成(Generation)
プロンプトに“構造”を渡す:サブグラフ(ノード/エッジ/プロヴナンス)+必要最小の原文テキスト。
階層要約の合成:GraphRAG のコミュニティ・レポート→部分回答→最終要約という段階合成は大規模でも破綻しにくい。 (arXiv) (e) メモリ(対話/エージェント)
Theanine流:メモリを削除せず、時間・因果で連結したタイムラインから必要部分を提示。ユーザ状態の変化・経緯理解に有効。MemGPT/LongMem は溢れた履歴の入出庫(階層メモリ)で補完。 (arXiv, NeurIPS Proceedings) (f) 評価
QA/要約:正確性(EM/F1)、包括性/多様性(GraphRAG 論文のQFS設定など)。 (arXiv) メモリ統合理解:Theanine の TeaFarm のような反事実テストで「過去の出来事の推移」を本当に使えているかを見る。 (arXiv) (g) リスクと対策
抽出の幻覚:LLM抽出は誤リンク/過抽象化が出る。二段階抽出(候補→検証)や出典必須で緩和。
更新とドリフト:新規文書のインクリ更新と、古い要約/コミュニティの再計算戦略を設計。GraphRAG はグローバル/ローカル/DRIFT の切替でコスト/品質を調整。 (Microsoft) 5) まずの実装テンプレ(最小構成)
1. ベース:ベクトルRAG(埋め込み+原文保存)。
2. KG 併用:LlamaIndex KnowledgeGraphIndexで三つ組を生成・格納(Neo4j でも RDF でも可)。同時に PROV-O で出典を結線。 (LlamaIndex, W3C) 3. グラフ活用:
必要に応じてコミュニティ検出→階層サマリを前計算(グローバルやDRIFT質問に対応)。 (Microsoft) 多跳が多いなら HippoRAG の PPR を導入。 (arXiv) 4. 対話メモリ:ユーザ毎に出来事ノード(発話/行動/好み)を時刻・因果で連結してタイムラインを維持(Theanineの方針)。 (arXiv) 6) 使い分けの指針(ざっくり)
**「全体像・テーマ」**を尋ねる:GraphRAG(グローバル/DRIFT) or RAPTOR。 (arXiv) 7) 補足:Graph-of-Thoughts系(“思考”のグラフ化)
抽出対象は「外部テキスト」ではなくLLMの中間思考だが、グラフ構造(再利用・分岐・合流)で推論を強化する系。外部KGと併用して推論の骨格に使える。 (arXiv) 参考・出発点リンク(抜粋)
HippoRAG(NeurIPS'24) (arXiv) Theanine(NAACL'25) (arXiv) GraphRAG Survey(2024) (arXiv) 次の一手(実務向けメモ)
PoCでは:①三つ組抽出+Subgraph RAG(安価)→②コミュニティ要約/DRIFT(“全体像”質問対応)→③PPR(多跳強化)→④対話タイムライン(長期記憶)の順で拡張。
メトリクス:QA(EM/F1)、包括性/多様性(QFS系)、反事実(TeaFarm)を混ぜる。 (arXiv) ポリシー:全出力にプロヴナンス(出典パス)を付与。将来の監査・可観測性に効く。 (W3C) 必要なら、手元データ/要件(コーパス規模、質問パターン、遅延予算)に合わせて最小構成の設計図まで具体化します。