google/langextract
A Python library for extracting structured information from unstructured text using LLMs with precise source grounding and interactive visualization.
解決する課題
LangExtractは、大規模言語モデル(LLM)を使用して、非構造化テキストドキュメント(臨床ノートやレポートなど)から構造化された情報を抽出するように設計されています。特に、長文ドキュメントにおける「干草の中の針」的な抽出の課題と、正確なソース・グラウンディング(根拠付け)の必要性に対処し、抽出されたすべてのデータが元のテキストの正確な位置に遡れることを保証します。
仕組み
このライブラリは、ユーザー定義のプロンプトとfew-shot例を組み合わせて、LLMが重要な詳細を特定し整理できるようにガイドします。大規模なドキュメントを処理するために、テキストのチャンク分割、並列処理、および再現率を高めるための複数回の抽出パス戦略を採用しています。Google GeminiやOpenAIのようなクラウドベースのオプションから、Ollama経由のローカルモデルまで、幅広いモデルをサポートしています。システムは、抽出がソーステキストに基づいているか、LLMが例から情報を幻覚(ハルシネーション)させているかを自動的に検出し、後者をnull文字間隔でマークします。
対象者
モデルのファインチューニングを行うことなく、非構造化テキストを構造化データに変換する必要がある開発者や研究者、特に長文ドキュメントを扱う方や、トレーサビリティと検証が極めて重要となるヘルスケアなどの分野の方を対象としています。
ハイライト
- 正確なソース・グラウンディング: すべての抽出結果をソーステキスト内の正確な文字範囲にマッピングし、容易な検証を可能にします。
- 信頼性の高い構造化出力: 制御された生成とfew-shot例を使用して、一貫した出力スキーマを強制します。
- 長文ドキュメントの最適化: 並列処理とチャンク分割を使用して、大規模なテキスト全体で高い再現率を維持します。
- インタラクティブな可視化: 自己完結型のHTMLファイルを生成し、元のコンテキスト内での抽出エンティティを視覚的に確認できます。
- 柔軟なモデルサポート: Gemini、OpenAI、Ollama経由のローカルLLMに対応しており、カスタムプロバイダー用のプラグインシステムも備えています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト