GraphRAG — グラフRAG

From Systems analysis wiki
Jump to navigation Jump to search

GraphRAGは、Retrieval-Augmented Generation (RAG)の高度なパラダイムであり、従来の断片的なテキストチャンクに対する検索の代わりに、ナレッジグラフ(Knowledge Graph, KG)を使用します[1]。グラフ構造は、エンティティ間の関連性やドメイン概念の階層を明示的に表現するため、LLMが多段階の論理的な知識抽出を行い、より文脈を意識した説明可能な回答を生成することを可能にします[2]

GraphRAGアプローチは、古典的なRAGと比較して、複雑なマルチホップ(multi‑hop)クエリを扱う際に大きな利点を示します。これは、回答が複数の文書に散在する複数の事実の組み合わせに依存する場合です[3]

古典的RAGの限界とグラフの利点

非構造化テキストに対するベクトル検索に基づく古典的なRAGは、特に複雑な企業シナリオにおいて致命的となる、いくつかの根本的な制約に直面します:

  • 構造的関連性の欠如: 従来のRAGはテキストチャンクを独立した単位として扱い、それらの間の明示的な関連性を認識しません。これにより、multi‑hopクエリに対して非効率になります。回答を得るためには事実の連鎖(A→B→C)をたどる必要がありますが、検索では最初と最後の要素(AとC)しか見つけられず、中間を見逃してしまいます[1]
  • セマンティックな曖昧さ: 専門分野(医療、法律、工学など)では、用語は特定の意味を持ちます。ベクトル検索は、全体のテーマを捉えることはできても、特定のオブジェクトの役割を誤って解釈し、結果として無関係なコンテキストを抽出してしまうことがあります。
  • 限定的な説明可能性: 古典的なRAGは文書の断片を提供しますが、それらの断片がどのように論理的な連鎖を形成しているかの明確な証拠を示しません。対照的に、GraphRAGはこのプロセスを透明化し、グラフ内のパスを証拠として提供し、主張を情報源に結びつけること(引用)を要求します[4]

GraphRAGは、知識を関連するエンティティと関係性のネットワークとして表現することでこれらの問題を解決し、システムが単に類似したテキストを見つけるだけでなく、形式化されたドメインモデルに基づいて論理的な推論を実行できるようにします。

GraphRAGのアーキテクチャ

GraphRAGの一般的なパイプラインは、ナレッジグラフの構築と利用のステップを追加することで、古典的なRAGを拡張します。これは、オフラインでの準備とオンラインでのクエリ処理の2つの主要な段階に分かれています。

ステージ1:インジェストとインデックス作成(オフライン)

この段階では、ソースデータ(ドキュメント、データベース)が、グラフ表現とベクトル表現という2つの相互補完的な形式に変換されます。

  1. 知識抽出: NLPパイプラインを使用して、テキストから構造化された事実が抽出されます:
    • 固有表現認識(Named Entity Recognition, NER): エンティティ(人物、組織、製品)の言及を検出します。
    • エンティティリンキング(Entity Linking, EL): 言及をグラフ内の正規の識別子にリンクさせ、曖昧さを解消します(例:「山田太郎」と「山田氏」を同じノードにする)[5]
    • 関係抽出(Relation Extraction, RE): エンティティ間の関係を特定します(例:企業X買収スタートアップY)。
  2. グラフのモデリングと保存: 抽出されたトリプレット(主語-述語-目的語)は、グラフデータベースにロードされます。モデル(プロパティグラフまたはRDF)の選択はタスクに依存します。各事実の来歴provenance)——元のドキュメントとテキストチャンクへのリンク——を保存することが非常に重要です[3]。グラフには、時間valid_from/valid_to)や信頼度confidence)に関するメタデータも追加できます。
  3. ハイブリッドインデックス作成: グラフと並行して、元のテキストチャンクのベクトルインデックスが作成されます。これにより、グラフ上の構造的検索とテキストのセマンティック検索を組み合わせることが可能になります。

ステージ2:クエリ処理と回答生成(オンライン)

  1. クエリの解析: ユーザーのクエリを分析し、グラフへの「エントリポイント」となる主要なエンティティを特定します。
  2. サブグラフの抽出: GraphRAGは個別のチャンクを検索する代わりに、「エントリポイント」周辺の関連するグラフの断片である関連サブグラフを見つけ、回答に必要な情報を含みます。これには、k-hop探索Personalized PageRank (PPR)などのアルゴリズムが使用されます[6]
  3. ハイブリッド検索と結果のマージ: サブグラフの抽出と並行して、ベクトルインデックスやレキシカル(BM25)インデックスでの検索が実行されます。グラフとテキストからの結果が統合され、次のステップに渡されます。
  4. 再ランキング(Re‑ranking): 統合された候補リスト(グラフのノードとテキストチャンク)は、より高精度なモデル(例:クロスエンコーダー)を使用して再ランキングされ、最も関連性の高い情報が選択されます。これにより、ノイズを除去し、精度を向上させることができます[7]
  5. コンテキストのパッケージ化と生成: 選択され、ランキングされたコンテキスト(サブグラフとテキスト)は、LLMが理解しやすい形式(例:情報源を明記した主張のリスト)に変換されます。この豊富なコンテキストが、最終的な回答を生成するためのプロンプトに入力されます。
  6. トレーサビリティと引用: グラフ内の「事実 ↔ 情報源」の関連付けにより、生成された回答には、各テーゼを裏付けるドキュメントへの正確な参照が含まれます。これにより、高い信頼性と透明性が確保されます。

コンポーネントの比較表

GraphRAGアーキテクチャの主要コンポーネントの比較分析
コンポーネント/側面 実装の選択肢 利点 欠点/リスク 推奨されるケース
ナレッジグラフモデル RDF/OWL 厳密なオントロジー、論理的推論(reasoning)、Linked Open Dataとの互換性。 関係の属性(時間、情報源)を補助的なエンティティ(reification)なしで保存するのが難しい。 既存のオントロジーを持つセマンティックにリッチなドメイン。演繹が必要な場合。
プロパティグラフ (Neo4j, etc.) 柔軟性、ノード/エッジに任意のプロパティ、高いパフォーマンス。 手動での明確なスキーマ定義が必要、さもなければ「無秩序」になるリスク。統一された標準がない。 非構造化データでの迅速な開始。ドキュメントとの統合(マルチモデルDB)。
サブグラフの抽出 k‑hop BFS / DFS 深さkまでのすべてのノードをカバーし、実装が容易。 グラフの「爆発」:ノード数の雪崩的な増加。多くのノイズを返す可能性がある。 小さなグラフ、または深さ1~2での探索。階層構造。
Personalized PageRank (PPR) 真に関連性の高いノードに焦点を当て、ノイズをフィルタリングする[6] 遠いが重要なノードを見逃す可能性がある(パスが少なくても、それが重要な場合)。 多数のパスを持つ複雑なネットワーク(ソーシャルグラフ、引用グラフなど)。
ハイブリッド検索 結合リスト (重みλによるスカラー融合) 重みλを調整することで、タスクに応じてprecision/recallのバランスを取ることができる[8] 固定されたλは、すべてのクエリタイプに対して最適ではない。 プロトタイピング段階。一方の情報源が明らかに重要であるとわかっている場合。
Cross‑encoder rerank 大幅な精度向上。複雑な相互関係を考慮できる。 レイテンシが増加する。学習データまたは既製のモデルの使用が必要[7] 高精度が求められるシナリオ(法律、医療など)、最も関連性の高いコンテキストが重要な場合。
データセキュリティ サブグラフのフィルタリング (RBAC/ABAC) 詳細な制御(ノードレベルまで)により、漏洩を防ぐ。 「死角」:重要なノードが除外されると、回答が不完全になる可能性がある。 アクセス要件が厳しい企業環境(PII、GDPR、企業秘密など)。

トレーサビリティ、信頼性、セキュリティ

GraphRAGの主な利点の一つは、透明性のある証拠の連鎖を提示できることです。「ブラックボックス」の回答の代わりに、システムは「事実Aは[doc1]で言及されている。それは事実B[doc2]に関連しており、[doc3]によればBはCにつながる」という推論のパスを示すことができます。これにより、ユーザーの信頼が高まり、デバッグが容易になります。

さらに、グラフ構造により、きめ細かいアクセス制御(RBAC/ABAC)を実装できます。グラフ内の各ノードやエッジにアクセスラベルを付与することができます。サブグラフを抽出する際、システムはユーザーが権限を持たないデータを自動的にフィルタリングし、機密性の高い分野(金融、人事、医療など)でのセキュリティを確保します。

品質の評価

GraphRAGシステムの評価は多段階であり、各コンポーネントのメトリクスを含みます:

  • 知識抽出メトリクス: グラフ構築の品質を評価するためのNERおよびREのF1スコア。
  • サブグラフ抽出メトリクス: Subgraph Recall@K(回答に必要なノード/エッジが抽出されたサブグラフに含まれているケースの割合)およびマルチホップ質問に対するPath Precision/Recall
  • LLMの回答メトリクス:
    • 忠実性 / 接地性(Faithfulness / Groundedness): 回答が提供されたコンテキストにどれだけ厳密に基づいているか。
    • 人的評価(Human evaluation): 正確性、完全性、一貫性の基準に基づいた専門家による評価。

評価を自動化するため、専門のベンチマーク(例:WebQuestionsSP, GrailQA)やフレームワーク(例:RAGAS)が使用されます[9]

関連項目

  • Retrieval‑Augmented Generation (RAG)
  • ナレッジグラフ
  • ベクトルデータベース
  • Embedding
  • AIエージェント
  • LLMの評価とベンチマーク

参考文献

  • Zhang, Q. et al. (2025). A Survey of Graph Retrieval‑Augmented Generation for Customized Large Language Models. arXiv:2501.13958.
  • Xu, Z. et al. (2024). Retrieval‑Augmented Generation with Knowledge Graphs for Customer Service Question Answering. arXiv:2404.17723.
  • Hu, Y. et al. (2024). GRAG: Graph Retrieval‑Augmented Generation. arXiv:2405.16506.
  • Nakano, R. et al. (2021). WebGPT: Browser‑assisted Question‑Answering with Human Feedback. arXiv:2112.09332.
  • Yang, R. et al. (2025). KG‑IRAG: A Knowledge Graph‑Based Iterative Retrieval‑Augmented Generation Framework for Temporal Reasoning. arXiv:2503.14234.
  • Song, Y. et al. (2023). Advancements in Complex Knowledge Graph Question Answering: A Survey. DOI:10.3390/electronics12214395.
  • Nogueira, R.; Cho, K. (2019). Passage Re‑ranking with BERT. arXiv:1901.04085.
  • Hsu, H.‑L.; Tzeng, J. (2025). DAT: Dynamic Alpha Tuning for Hybrid Retrieval in Retrieval‑Augmented Generation. arXiv:2503.23013.
  • Lewis, P. et al. (2020). Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks. arXiv:2005.11401.
  • Karpukhin, V. et al. (2020). Dense Passage Retrieval for Open‑Domain Question Answering. arXiv:2004.04906.
  • Sun, H. et al. (2018). Open‑Domain Question Answering Using Early Fusion of Knowledge Bases and Text (GRAFT‑Net). arXiv:1809.00782.
  • Sun, H.; Bedrax‑Weiss, T.; Cohen, W. W. (2019). PullNet: Open‑Domain Question Answering with Iterative Retrieval on Knowledge Bases and Text. arXiv:1904.09537.
  • He, X. et al. (2024). G‑Retriever: Retrieval‑Augmented Generation for Textual Graph Understanding and Question Answering. arXiv:2402.07630.
  • Es, S.; James, J.; Espinosa‑Anke, L.; Schockaert, S. (2024). RAGAs: Automated Evaluation of Retrieval Augmented Generation. ACL:2024.eacl-demo.16.

注釈

  1. 1.0 1.1 Zhang, Q., et al. A Survey of Graph Retrieval-Augmented Generation for Customized Large Language Models. arXiv, 2025. arXiv:2501.13958.
  2. Xu, Z., et al. Retrieval-Augmented Generation with Knowledge Graphs for Customer Service Question Answering. SIGIR, 2024. arXiv:2404.17723; DOI: 10.1145/3626772.3661370.
  3. 3.0 3.1 Hu, Y., et al. GRAG: Graph Retrieval‑Augmented Generation. arXiv, 2024. arXiv:2405.16506; также в Findings of NAACL 2025: ACL Anthology.
  4. Nakano, R., et al. WebGPT: Browser‑assisted question‑answering with human feedback. arXiv, 2021. arXiv:2112.09332.
  5. Yang, R., et al. KG‑IRAG: A Knowledge Graph‑Based Iterative Retrieval‑Augmented Generation Framework for Temporal Reasoning. arXiv, 2025. arXiv:2503.14234.
  6. 6.0 6.1 Song, Y., Li, W., Dai, G., Shang, X. Advancements in Complex Knowledge Graph Question Answering: A Survey. Electronics, 2023. DOI: 10.3390/electronics12214395.
  7. 7.0 7.1 Nogueira, R., Cho, K. Passage Re‑ranking with BERT. arXiv, 2019. arXiv:1901.04085.
  8. Hsu, H.‑L.; Tzeng, J. DAT: Dynamic Alpha Tuning for Hybrid Retrieval in Retrieval‑Augmented Generation. arXiv, 2025. arXiv:2503.23013.
  9. Es, S.; James, J.; Espinosa Anke, L.; Schockaert, S. RAGAs: Automated Evaluation of Retrieval Augmented Generation. EACL (System Demonstrations), 2024. ACL:2024.eacl-demo.16; также preprint: arXiv:2309.15217.