このガイドでは、Gemini Flash や GPT-4o などのビジョン言語モデル (VLM) を使用して PDF から構造化データを抽出する方法を説明します。
Google の視覚言語モデルの最新シリーズである Gemini は、テキストと画像の理解において最先端のパフォーマンスを示しました。この改善されたマルチモーダル機能と長いコンテキスト ウィンドウにより、図、チャート、表、ダイアグラムなど、従来の抽出モデルでは困難であった視覚的に複雑な PDF データの処理に特に役立ちます。
これにより、ビジュアル ファイルや Web 抽出用の独自のデータ抽出ツールを簡単に構築できます。方法は次のとおりです:
Gemini の長いコンテキスト ウィンドウとマルチモーダル機能により、従来の抽出モデルでは困難であった視覚的に複雑な PDF データの処理に特に役立ちます。
抽出に入る前に、開発環境をセットアップしましょう。このガイドは、システムに Python がインストールされていることを前提としています。そうでない場合は、https://www.python.org/downloads/
からダウンロードしてインストールします。⚠️ Python を使用したくない場合は、thepi.pe のクラウド プラットフォームを使用して、コードを記述せずにファイルをアップロードし、結果を CSV としてダウンロードできることに注意してください。
ターミナルまたはコマンド プロンプトを開き、次のコマンドを実行します:
pip install git https://github.com/emcf/thepipe pip install pandas
Python を初めて使用する人のために説明すると、pip は Python のパッケージ インストーラーであり、これらのコマンドは必要なライブラリをダウンロードしてインストールします。
パイプを使用するには、API キーが必要です。
免責事項: thepi.pe は無料のオープンソース ツールですが、API にはトークンあたり約 0.00002 ドルのコストがかかります。このようなコストを回避したい場合は、GitHub でローカル設定手順を確認してください。選択した LLM プロバイダーに引き続き料金を支払う必要があることに注意してください。
入手して設定する方法は次のとおりです:
次に、これを環境変数として設定する必要があります。プロセスはオペレーティング システムによって異なります:
Windows の場合:
macOS および Linux の場合:
ターミナルを開き、シェル設定ファイル (例: ~/.bashrc または ~/.zshrc) に次の行を追加します:
export THEPIPE_API_KEY=your_api_key_here
次に、設定をリロードします:
source ~/.bashrc # or ~/.zshrc
抽出を成功させる鍵は、抽出するデータの明確なスキーマを定義することです。数量明細書ドキュメントからデータを抽出するとします:
数量明細書ドキュメントのページの例。各ページのデータは他のページから独立しているため、抽出は「ページごと」に行われます。ページごとに抽出するデータが複数あるため、複数の抽出を True
に設定します。
列名を確認すると、次のようなスキーマを抽出できます:
schema = { "item": "string", "unit": "string", "quantity": "int", }
pi.pe プラットフォームでお好みに合わせてスキーマを変更できます。 [スキーマの表示] をクリックすると、Python API
で使用するためにコピーして貼り付けることができるスキーマが表示されます。次に、extract_from_file を使用して PDF からデータを取得しましょう:
from thepipe.extract import extract_from_file results = extract_from_file( file_path = "bill_of_quantity.pdf", schema = schema, ai_model = "google/gemini-flash-1.5b", chunking_method = "chunk_by_page" )
ここでは、各ページを AI モデルに個別に送信したいため、chunking_method="chunk_by_page" としています (PDF は大きすぎて一度にすべてを送信できません)。 PDF ページにはそれぞれ複数行のデータが含まれるため、multiple_extractions=True も設定します。 PDF のページは次のようになります:
pi.pe プラットフォームで表示された数量明細書 PDF の抽出結果
抽出結果は辞書のリストとして返されます。これらの結果を処理して pandas DataFrame:
を作成できます。
import pandas as pd df = pd.DataFrame(results) # Display the first few rows of the DataFrame print(df.head())
これにより、テキスト コンテンツや図や表などの視覚要素の説明など、抽出されたすべての情報を含む DataFrame が作成されます。
データを DataFrame に保存したので、それをさまざまな形式に簡単にエクスポートできます。以下にいくつかのオプションがあります:
df.to_excel("extracted_research_data.xlsx", index=False, sheet_name="Research Data")
これにより、「Research Data」という名前のシートを含む「extracted_research_data.xlsx」という名前の Excel ファイルが作成されます。 Index=False パラメーターにより、DataFrame インデックスが別の列として含まれることがなくなります。
より単純な形式を希望する場合は、CSV にエクスポートできます:
df.to_csv("extracted_research_data.csv", index=False)
これにより、Excel または任意のテキスト エディタで開くことができる CSV ファイルが作成されます。
抽出を成功させる鍵は、明確なスキーマを定義し、AI モデルのマルチモーダル機能を活用することにあります。これらの手法に慣れてくると、カスタム チャンク方法、カスタム抽出プロンプト、抽出プロセスを大規模なデータ パイプラインに統合するなど、より高度な機能を探索できるようになります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3