langextract: データの正確な検証のためにソーステキストにデータをマッピングする構造化情報抽出ライブラリ

langextract: データの正確な検証のためにソーステキストにデータをマッピングする構造化情報抽出ライブラリ

何を解決するか

LangExtractは、非構造化テキストドキュメントから構造化された情報を抽出するために設計されたPythonライブラリです。臨床ノートやレポートのような、整理されていない自由形式のテキストを、抽出されたすべての情報が容易に検証できるようにソーステキストに基づいていることを保証しながら、整理されたデータに変換するという課題に対処します。

仕組み

このライブラリは、大規模言語モデル(LLM)とfew-shotプロンプティング戦略を使用します。ユーザーは、プロンプトと、テキストがどのように構造化されたエンティティにマッピングされるべきかを示す高品質な例をいくつか提供することで、抽出タスクを定義します。長いドキュメントを扱うために、テキストのチャンク分割、並列処理、および再現率を向上させるための複数回の抽出パスを採用しています。

対象者

モデルのファインチューニングを行うことなく、非構造化テキストを構造化されたデータセットに変換する必要がある開発者や研究者向けに構築されています。特に、追跡可能性と精度が求められる医療レポートや文学分析などのドメイン固有のドキュメントを扱う人々に有用です。

ハイライト

  • 正確なソースへのグラウンディング: 抽出内容をソーステキスト内の正確な文字間隔にマッピングし、視覚的な追跡可能性を提供します。
  • 信頼できる構造化出力: (サポートされているモデルにおいて)制御された生成(controlled generation)を使用し、few-shotの例を用いて一貫したスキーマを強制します。
  • 長文ドキュメントの最適化: 並列処理と複数回のパスを使用して、「haystack内の針」問題を克服します。
  • インタラクティブな可視化: 抽出されたエンティティを元のコンテキスト内で可視化するための、自己完結型のHTMLファイルを生成します。
  • 柔軟なLLMサポート: クラウドモデル(Gemini, OpenAI)およびOllamaを介したローカルモデルと互換性があります。
  • 拡張可能なプロバイダーシステム: プラグインシステムを介して、ユーザーがカスタムLLMプロバイダーを追加することを可能にします。

Sources