業務で扱う文書の多くは、PDF の契約書や手書きの申請書、スキャンした請求書といった「非構造化データ」です。これらを人手で読み解き、Excel や業務システムへ転記する作業は膨大な時間を要し、ミスも起こりがちです。私自身、複数の企業で「月末に請求書を100枚転記する」「契約条項を一つひとつチェックする」といった現場を見てきました。こうした課題に対し、Claude Code を活用した文書解析・情報抽出の仕組みを導入すれば、転記作業の大幅な削減と精度の向上が期待できます。本記事では、Claude Code で PDF・画像から必要な情報を取り出し、構造化データへ変換するまでの具体的な手順と、実務で精度を高めるプロンプト設計のポイントを解説します。

i

本記事の結論: Claude Code は Vision API と連携し、PDF・画像文書から項目を抽出して構造化データへ変換する仕組みを短期間で構築できる。精度向上にはプロンプトでのフォーマット指定とバリデーションロジックの組み込みが有効。

Claude Code が文書解析に向く理由

Claude Code(Anthropic Claude を基盤とするコーディング支援 AI)は、コード生成だけでなく Vision API を通じた画像・PDF の読み取りにも対応しています。従来の OCR ソリューションは文字認識に特化していますが、Claude は文脈を理解した上で「この画像の中で契約金額はどこか」「この請求書の消費税額はいくらか」といった意味的な抽出を行えます。

一般的な OCR では、文字列を機械的に読み取った後、位置情報やキーワードをルールベースで処理する必要があります。一方 Claude Code を使えば、プロンプトで「請求書の発行日・金額・項目を JSON 形式で出力」と指示するだけで、文脈を踏まえた抽出結果を得られます。これにより、複雑なルール設定やレイアウト学習の手間を省き、短期間で文書解析の仕組みを立ち上げられます。

ただし Claude Code はあくまで汎用 LLM であり、専門の OCR エンジンと比べて文字認識精度が常に上回るわけではありません。手書き文字や低解像度スキャン画像では誤認識が起こる場合もあります。実務では、Claude の抽出結果を後段のバリデーションロジックで検証し、必要に応じて人間が最終確認する運用設計が重要です。

i

Vision API の仕様: Claude の Vision 機能は、JPEG/PNG/PDF(複数ページ対応)を入力として受け取り、画像内のテキストや表構造を解析できます。API 経由で利用する際は、画像をBase64エンコードしてリクエストに含める形式が一般的です。

PDF・画像からの情報抽出手順

実際に Claude Code で文書から情報を抽出する基本的な流れを示します。

1. 文書ファイルの準備 — PDF や画像ファイルを Claude が読み取れる形式(JPEG/PNG/PDF)で用意します。複数ページの PDF を扱う場合、ページごとに分割するか、Claude API のマルチページ対応機能を利用します。

2. プロンプト設計 — 抽出したい項目と出力形式を明確に指示します。例:「この請求書から、発行日・請求先企業名・税抜金額・消費税額・合計金額を JSON 形式で出力してください」。フォーマット例を提示すると精度が向上します。

3. API 呼び出しとレスポンス取得 — Claude API(Messages API)に画像データとプロンプトを送信し、抽出結果を JSON や CSV 形式で受け取ります。Python や Node.js などでスクリプトを組み、バッチ処理にも対応できます。

4. バリデーションと後処理 — 抽出された金額や日付が妥当な範囲内か、必須項目が欠落していないかをチェックします。異常値があれば人間へアラートを送る仕組みを設けると、精度と信頼性が高まります。

実務では、複数の文書フォーマットに対応するため、プロンプトを文書種別ごとにテンプレート化しておくと運用が安定します。契約書・請求書・申請書それぞれで抽出項目が異なるため、文書分類のステップを先に挟むケースも多く見られます。文書分類についてはClaude Code 法務契約書レビュー自動化でも触れていますので、併せて参照してください。

構造化データへの変換パターン

抽出した情報を業務システムへ取り込むには、構造化データ(JSON/CSV/XML など)への変換が必要です。Claude は出力形式をプロンプトで指定できるため、直接 JSON スキーマを提示して整形させることが可能です。

JSON 形式での出力例

{
  "document_type": "invoice",
  "issue_date": "2025-01-15",
  "vendor_name": "株式会社サンプル商事",
  "amount_excluding_tax": 100000,
  "tax_amount": 10000,
  "total_amount": 110000,
  "line_items": [
    {"description": "商品A", "quantity": 10, "unit_price": 5000},
    {"description": "商品B", "quantity": 5, "unit_price": 10000}
  ]
}

このように階層構造を持たせることで、明細行まで含めた詳細な情報を一度に取得できます。CSV 形式が必要な場合も、プロンプトで「CSV形式でヘッダー行を含めて出力」と指示すれば対応可能です。

データベース連携とBI活用

構造化した情報は、PostgreSQL や MySQL などのリレーショナルデータベースへ格納し、Power BI や Tableau といった BI ツールで集計・分析する流れが一般的です。Claude Code データ分析・BIツール連携では、抽出後のデータを分析基盤へ投入する手法を詳しく解説しています。

文書解析から得たデータを蓄積していくことで、「どの取引先からの請求が多いか」「契約条件の傾向はどうか」といった経営判断に役立つ情報を可視化できます。ただし、個人情報や機密情報を含む文書を扱う際は、データベースへの保存時に暗号化やアクセス制御を適切に設定する必要があります。

機密情報の取り扱い: 文書に含まれる個人情報や取引先の機密データは、GDPR や日本の個人情報保護法に準拠した管理が求められます。Claude API へのデータ送信時は通信の暗号化(HTTPS)を必ず利用し、保存先データベースのアクセス権限を最小化してください。

精度向上のためのプロンプト設計

Claude Code による文書解析の精度は、プロンプトの具体性に大きく左右されます。以下のポイントを押さえることで、誤抽出や欠落を減らせます。

プロンプト設計のポイント説明効果
出力形式の明示JSON スキーマや CSV のヘッダー例を示すフォーマットが安定し、後処理が容易
項目の定義を具体化「合計金額は税込か税抜か」「日付は YYYY-MM-DD 形式」など曖昧さが減り、誤解釈が減少
サンプルを提示実際の文書例と期待する出力を1セット示すFew-shot 学習により精度向上
境界ケースの指示「金額が記載されていない場合は null」などエラーハンドリングが明確化

実際の運用では、最初に少数の文書でプロンプトを調整し、精度が安定してから本番投入する段階的なアプローチが有効です。特に契約書や法務文書のように、条項の微妙な表現を読み解く必要がある場合、プロンプトに「この条項が存在するか Yes/No で答え、存在する場合は該当箇所を引用」といった指示を加えると、後からの検証が容易になります。

また、Claude の出力が不安定な場合は、Temperature パラメータを低めに設定(0.0〜0.3)することで、より決定的な応答を得やすくなります。ただし Temperature を下げすぎると柔軟性が失われるため、文書の多様性に応じて調整が必要です。

複数文書の一括処理とバッチ運用

月次でまとまった量の請求書や契約書を処理する場合、スクリプトによるバッチ処理が有効です。以下は Python での簡易的な実装例です(擬似コード)。

import anthropic
import base64
import json

client = anthropic.Anthropic(api_key="YOUR_API_KEY")

def extract_invoice_data(image_path):
    with open(image_path, "rb") as f:
        image_data = base64.standard_b64encode(f.read()).decode("utf-8")
    
    message = client.messages.create(
        model="claude-3-5-sonnet-20241022",
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": [
                    {
                        "type": "image",
                        "source": {
                            "type": "base64",
                            "media_type": "image/jpeg",
                            "data": image_data,
                        },
                    },
                    {
                        "type": "text",
                        "text": "この請求書から、発行日・請求先・金額を JSON 形式で抽出してください。"
                    }
                ],
            }
        ],
    )
    return json.loads(message.content[0].text)

# 複数ファイルを処理
invoice_files = ["invoice1.jpg", "invoice2.jpg", "invoice3.jpg"]
results = [extract_invoice_data(f) for f in invoice_files]

このスクリプトを cron や AWS Lambda で定期実行すれば、毎月のルーチン作業を自動化できます。ただし、大量の文書を一度に処理する際は API のレート制限に注意が必要です。Anthropic の API にはリクエスト数やトークン数の上限が設定されているため、並列度を調整するか、エラー時のリトライロジックを組み込むことが推奨されます。

バッチ処理の運用設計については、Claude Code API連携・システム統合パターンでも詳しく解説しています。REST API との連携やエラーハンドリングの実装例を参照してください。

i

レート制限の目安: Claude API のレート制限は契約プランにより異なります。詳細は Anthropic 公式ドキュメントで確認し、必要に応じて上限緩和を申請してください。大量処理を行う場合は、事前にテストを実施し、実行時間と費用を見積もることが重要です。

文書分類と振り分けの自動化

複数種類の文書が混在する環境では、まず文書を分類してから適切な抽出処理へ振り分けるステップが有効です。Claude は画像を見て「これは請求書か、契約書か、申請書か」を判定できます。

分類プロンプトの例:

「添付した文書画像を見て、以下のカテゴリに分類してください。出力は JSON 形式で category フィールドのみ返してください。カテゴリ: invoice(請求書), contract(契約書), application(申請書), other(その他)」

分類結果に基づき、それぞれの文書種別に特化した抽出プロンプトを適用することで、精度と処理速度が向上します。例えば、契約書なら「契約期間・更新条件・解除条項」を重点的に抽出し、請求書なら「金額・支払期日・明細」に絞る、といった設計が可能です。

文書分類の仕組みは、RPA ツールや BPM(Business Process Management)システムとも連携しやすく、書類が到着したら自動で分類→抽出→システム登録という一連のフローを組むこともできます。

精度検証と運用フィードバック

Claude Code の文書解析を本格運用する前に、精度検証のステップを設けることが重要です。以下のような指標でチェックします。

  • 抽出精度: 人間が正解データを用意し、Claude の出力と一致する割合を算出
  • 欠落率: 必須項目が抽出されなかった文書の割合
  • 誤認識率: 金額や日付が実際と異なる値で抽出された割合

初期段階では、数十件のサンプル文書で精度を測定し、プロンプトを調整します。精度が 90% を超えるまでチューニングを続け、残りの誤りについては人間による最終チェックを入れる運用が現実的です。

運用開始後も、定期的に抽出結果をレビューし、新しい文書フォーマットや例外パターンが現れた際にプロンプトを更新していく継続的な改善が必要です。DigiRise では、導入企業ごとに文書サンプルを用いた精度検証ワークショップを実施し、現場に合わせたプロンプトテンプレートを共同で作成しています。

4ステップ
基本的な抽出フロー
3種類
主な出力形式(JSON/CSV/XML)
段階的
精度向上のアプローチ

まとめ

Claude Code を活用した文書解析・情報抽出は、PDF・画像から必要な項目を構造化データへ変換し、業務システムへ自動投入する仕組みを短期間で構築できます。プロンプトでの出力形式指定と、バリデーションロジックの組み込みにより、実務レベルの精度を確保することが可能です。

重要なポイントは以下の通りです。

  • Claude の Vision API を使い、画像・PDF から文脈を踏まえた情報抽出が行える
  • プロンプトで JSON スキーマを提示することで、構造化データへの変換を直接実行
  • 文書分類のステップを入れることで、複数種類の文書に対応できる
  • 精度向上には、出力形式の明示・サンプル提示・境界ケースの指示が有効
  • 大量処理時は API レート制限を考慮し、バッチ運用設計を行う

実際の導入では、業界特有の文書フォーマットや用語への対応、既存システムとの連携設計が課題となります。DigiRise では、Claude Code を用いた文書解析の仕組み構築を研修とコンサルティングの両面で支援しています。現場の文書サンプルを用いた精度検証ワークショップや、API 連携の実装支援まで、段階的に伴走する体制を整えています。

文書解析の自動化を検討されている方は、ぜひ無料相談をご活用ください。貴社の文書種別や業務フローに合わせた最適な導入プランをご提案します。

DigiRise の Claude Code 法人導入支援: 研修プログラム(基礎〜応用)とコンサルティング(要件定義・実装支援・運用設計)を組み合わせ、貴社の文書解析業務を AI で効率化します。無料相談はこちら

関連記事