arrow_back Back to Works
LLM・生成AI

因果関係抽出 GraphRAG

文書から原因→結果の関係を自動抽出してNeo4jグラフに格納し、自然言語で因果チェーンを検索・可視化するシステム。

Duration

短期開発

Team

1名

Engineered With PythonNeo4jOpenAILangChainStreamlitPyVis

01 // OVERVIEW

プロジェクト概要

テキスト文書を入力すると因果関係(原因→結果)を自動抽出し、Neo4jグラフデータベースに構造化して保存するシステム。
自然言語で「根本原因を遡る」「波及する結果を辿る」といった因果チェーン探索ができ、StreamlitとPyVisによるインタラクティブなグラフ可視化も備える。

02 // KEY FEATURES

主な機能

account_tree

因果関係の自動抽出とグラフ構築

LangChain + OpenAI (gpt-4o-mini) で文書から因果関係ペア(原因→結果)を抽出し、Neo4j APOCへ格納。サイドバーにテキストやファイルを入力するだけでグラフが構築される。

search

自然言語による因果チェーン探索

「〇〇の原因は?」「〇〇の根本原因は?」などの自然言語クエリに対し、端的・詳細の2モードで回答。根本原因を遡る探索と波及結果を辿る探索の両方に対応する。

hub

インタラクティブなグラフ可視化

StreamlitアプリとPyVis + NetworkXを組み合わせ、ノード・エッジをブラウザ上でインタラクティブに操作できる可視化画面を提供。管理者はノード・エッジの追加・削除・重み編集も可能。

03 // TECHNICAL DEEP-DIVE

技術的ハイライト

Solution

異なる表現の同一概念をグラフ上でマージする

文書中で言い回しが異なる同一概念が複数のノードとして分散してしまう問題に対し、類似ノードの統合・関連付け機能を設け、グラフの整合性を保てる設計とした。

Solution

外部API非依存のオンプレ構成にも転用可能な設計

クラウドAPIを前提としつつ、LLMプロバイダを切り替えやすい構成とすることで、オンプレ環境(Ollama + Llama系)への移行にも対応できるアーキテクチャを維持している。

04 // IMPACT & RESULTS

成果

Neo4j

グラフDBで因果関係を永続管理

2モード

端的・詳細の回答形式を切替

Docker完結

docker compose up で即起動

Ready to Build?

同じようなシステムを構築したいですか?まずはお気軽にご相談ください。

無料相談