grobidOrg/grobid-client-python
Python client for GROBID Web services
grobid-client-python – GROBID ドキュメント解析サービスの Python ラッパー
概要 – 実行中の GROBID サーバーに REST API 経由で通信する、軽量で型定義がしっかりした Python ライブラリ (および付属の CLI) です。GROBID は、科学的な PDF や特許から構造化された情報 (メタデータ、参考文献、全文、図、表など) を抽出する機械学習ベースのツールです。このクライアントは、以下のような便利な機能を提供します:
- 並列処理 – 多くのファイルを並列に送信 (デフォルトのプールサイズ = 10、設定可能)。
- 柔軟な入力 – 単一の PDF、ディレクトリ、glob patterns、zip/tar アーカイブ、または
s3://オブジェクト (範囲ストリーミング、完全なダウンロードは不要)。 - 複数の出力形式 – 生の TEI XML、CORD-19 形式の JSON 表記、またはクリーンな Markdown。
- オプションの拡張機能 – PDF 座標抽出、レイアウトを考慮した文章分割、引用文献の統合、ID 生成など。
- 設定可能 – サーバー URL、タイムアウト、バッチサイズ、ロギング、および多くの処理フラグは、JSON 設定ファイルまたはコマンドラインオプションで設定可能です。
使用方法
- CLI –
grobid_client --input ./pdfs --output ./out processFulltextDocument(または README に記載されている他のサービス)。 - Library –
GrobidClientをインスタンス化し、コマンドラインと同じフラグを使用してclient.process(service, input_path, output_path, …)を呼び出します。
重要性 – GROBID のモデルは、学術論文や特許の構造を理解するために訓練されており、これは典型的な NLP/AI タスクです。並列 HTTP 调用, アーカイブ ストリーミング, S3 アクセス, 形式変換 を行うことで、このクライアントは研究者や開発者が低レベルのデータ処理に集中するのではなく、下游-downstream 分析に集中できるようにします。
Key Features (README より)
- 並列処理 による多くのドキュメントの処理。
- アーカイブ & S3 ストリーミング – 大規模なコレクションを完全に解凍またはダウンロードすることなく処理可能です。
- JSON & Markdown 変換 – TEI XML 出力を CORD-19 スキーマに合わせた JSON および Markdown に変換。
- 型ヒント と
py.typedマーカーによる静的型チェック。 - オプションの座標抽出 (
--tei_coordinates) および 文章分割 (--segment_sentences)。 - コマンドラインとライブラリ インターフェースは、同一のオプションセットを使用します。
- JSON による設定可能 (サーバー URL、バッチサイズ、タイムアウト、ロギングなど)。
Typical Workflow
- GROBID サーバーを起動 (ローカル Docker イメージ, ローカルインストール, またはホストされたデモ)。
- クライアントをインストール:
pip install grobid-client-python([s3]追加オプションが必要な場合は、[s3]を追加)。 - PDF を処理 – CLI または Python コードから、オプションで JSON/Markdown 出力を要求します。
- 結果を消費 – JSON 形式は、論文のメタデータ、本文、図、表、および引用文献の、すぐに使える構造化された表現を提供します。
When to Choose This Tool
- すでに GROBID を運用しており、大量の PDF コーパスを Pythonic な方法でバッチ処理したい場合。
- アーカイブや S3 オブジェクトを、ローカルディスクを使い果たさずにストリーミングしたい場合。
- 下流の NLP パイプラインのために、抽出されたデータを機器可読な JSON 形式で取得したい場合。
- HTTP 调用, アーカイブ ストリーミング, S3 アクセス, 形式変換 を行うことで、このクライアントは研究者や開発者が低レベルのデータ処理に集中するのではなく、下游-downstream 分析に集中できるようにします。
Limitations Mentioned
- 引用文献の統合 (CrossRef など外部サービスへのクエリ) は、時間がかかることがあり、より高いクライアントタイムアウト (≥ 120 s) が必要です。
- Windows サポートは Docker コンテナ経由のみです。
- クライアントは、アクセス可能な GROBID サーバーを前提としています。抽出モデル自体は含まれていません。
Bottom line – grobid-client-python は、GROBID の AI 駆動ドキュメント解析機能を利用するすべての人にとって、実用的でプロダクションレディなヘルパーです。生の PDF を最小限の労力で構造化された、検索可能なデータに変換します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト