TL

Cloud Service

Amazon Textract

文書画像や PDF から文字・表・フォームを構造を保ったまま抽出する、フルマネージドな OCR/ドキュメント解析サービス。

基礎AIF-C01運用上の優秀性
最終更新: 2026-06-13公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.スキャン文書や画像から、単純な文字だけでなく表やフォームの項目と値を構造化して抽出する。
  • 2.請求書や本人確認書類など、定型帳票向けの特化 API も備える。
  • 3.管理サーバー不要のフルマネージドで、処理したページ数に応じた従量課金。

解決する課題

紙の帳票や PDF をデータ化するとき、従来の OCR は文字を平坦なテキスト列として返すだけで、表のセルやフォームの項目名と値の対応関係は失われがちでした。Amazon Textract は、機械学習によって文書のレイアウトを理解し、文字に加えて表やフォームの構造ごと抽出します。

  • スキャン画像や PDF から**文字(行・単語)**を抽出する OCR
  • 請求書・申込書などのをセル単位で、行と列の構造を保って抽出
  • フォームの「項目名と値」のペア(キーとバリュー)を関連付けて抽出
  • 抽出結果を後段の検索・分析・自動入力・ワークフロー承認へ流し込む

OCR エンジンの学習やインフラ運用を自前で抱えずに、API 呼び出しだけで構造化データを得られる点が中心的な価値です。

主要概念と用語

  • OCR(光学的文字認識): 画像中の文字を機械可読なテキストに変換する技術。Textract の基礎
  • 同期 API: 単一ページの画像や小さな文書をその場で処理し、結果を即座に返す方式。低遅延の単発処理向け
  • 非同期 API: 複数ページの PDF など大きな文書を S3 経由でジョブとして処理し、完了後に結果を取得する方式
  • Block(ブロック): 抽出結果の構成要素。ページ・行・単語・表・セル・キーバリューなどの種類があり、相互の関係を持つ階層的なデータ構造
  • フォーム抽出(キーバリュー): 「氏名」と「山田太郎」のように、項目名とその値を対応付けて抽出する機能
  • 表抽出(テーブル): 表を行・列・セルとして認識し、表構造を保って抽出する機能
  • クエリ: 「請求書番号は何か」といった自然文の問いを投げ、該当する値を返させる抽出方式
  • 特化 API: 請求書・領収書向けの Analyze Expense、本人確認書類向けの Analyze ID など、定型帳票に特化した抽出 API
  • 信頼度スコア: 抽出した各要素の確からしさを示す値。後段の人手確認の要否判定に使う

仕様・制限・クォータ

  • 入力は一般的な画像形式と PDF に対応し、非同期処理では入力を S3 に配置するのが基本
  • 結果は Block の集合からなる構造化された出力(JSON)として得られ、各要素に位置情報(バウンディングボックス)と信頼度スコアを含む
  • 同期処理は単一ページ相当の小さな入力向け、複数ページの文書は非同期処理を用いるのが基本
  • 1 文書あたりのページ数、ファイルサイズ、同時実行ジョブ数などにアカウント単位のクォータがあり、引き上げ申請が可能
  • 手書き文字の抽出にも対応するが、印刷文字に比べ精度は内容や筆跡に依存する

対応フォーマット・上限値・対応言語は更新されるため、最新の公式ドキュメントで確認してください。

内部の仕組み

利用者から見ると、文書画像を渡すと AWS 側のマネージドな機械学習モデルが推論し、構造化データを返すブラックボックスとして扱えます。

  • 同期処理: 画像のバイト列または S3 上のオブジェクトを直接渡し、その場で Block の一覧を受け取る
  • 非同期処理: S3 上の文書を指定してジョブを開始し、完了をポーリングまたは通知(Amazon SNS など)で受け取ってから結果を取得する。複数ページや大きな PDF はこちらを使う
  • 文字抽出だけを行う軽量な処理と、表やフォーム、クエリまで解析する高度な処理は API として分かれており、必要な機能だけを指定して呼び出す
  • 抽出された要素は親子関係(ページが行を含み、表がセルを含む、など)を持つ Block として返され、利用側でこの関係をたどって表やフォームを再構成する

モデルの学習やスケーリング、ハードウェアの管理はすべて AWS 側が担います。

設計パターン / ベストプラクティス

  • 非同期パイプライン化: S3 への文書アップロードをトリガに Lambda でジョブを起動し、完了通知(SNS や EventBridge)で後続処理へ流す疎結合構成
  • 必要な解析だけ指定する: 単純な文字起こしで足りる場合は文字抽出のみを使い、表・フォーム解析は必要なときだけ有効化してコストと処理を抑える
  • 定型帳票は特化 API を使う: 請求書・領収書なら Analyze Expense、運転免許証などの本人確認書類なら Analyze ID を使うと、項目を自前でマッピングする手間を減らせる
  • 信頼度スコアで人手確認を振り分ける: スコアが一定未満の項目だけ人のレビューに回す Human-in-the-loop(A2I などと連携)を組み込み、自動化と正確性を両立する
まず特化 API を検討

請求書や本人確認書類のように構造が決まった帳票は、汎用のフォーム抽出で項目名を自力で対応付けるより、Analyze Expense や Analyze ID といった特化 API を使うほうが実装が簡単で精度も安定しやすいです。

運用・監視

  • API 呼び出しやジョブの状態は CloudWatch のメトリクス・ログで監視する
  • 非同期ジョブの完了・失敗は SNSEventBridge で受け取り、後続処理や通知を自動化する
  • API 操作の監査証跡は CloudTrail に記録される
  • 失敗ジョブはエラー理由(非対応フォーマット、破損ファイル、権限不足など)を確認し、入力データと IAM 設定を見直す
非同期前提で設計する

複数ページ文書の解析は即時には終わりません。結果を同期的に待つ作りにせず、通知やポーリングで完了を待つ非同期設計にしてください。

コスト

  • 課金は基本的に処理したページ数に対する従量制で、サーバーの常時起動費用は発生しない
  • 文字抽出のみ、フォーム抽出、表抽出、クエリ、特化 API といった機能ごとに単価が異なる傾向があり、有効にした機能が増えるほどページ単価は上がる
  • 必要のない高度解析を無効化し、再処理を避けることがコスト最適化につながる

具体的な単価は変動するため、料金は公式の料金ページで確認してください。少数のサンプル文書で検証してから本番のボリュームを見積もるのが安全です。

セキュリティ

  • アクセス制御は IAM で行い、入出力に使う S3 バケットへの最小権限のみを付与する
  • 保存データは S3 側の暗号化(KMS 管理鍵を含む)、転送は TLS で保護する
  • 本人確認書類や医療文書など機微な情報を扱う場合は、入出力バケットのアクセスポリシーを限定し、抽出後のデータの保管・マスキングにも配慮する
  • VPC 内のリソースからプライベートに到達したい場合は VPC エンドポイント経由のアクセスを検討する
バケット権限の付与に注意

ジョブ用の IAM ロールに広すぎる S3 権限を与えると、想定外のデータへアクセスできてしまいます。対象バケット・プレフィックスに絞った最小権限にしてください。機微文書を扱う場合は特に厳格に絞ります。

Well-Architected の観点

  • 運用上の優秀性: マネージドサービスにより運用負荷を下げ、S3・Lambda・SNS・EventBridge と組み合わせてドキュメント処理パイプラインを自動化・可観測化できる
  • セキュリティ: IAM の最小権限、保存・転送時の暗号化で機微文書を保護する
  • コスト最適化: 従量課金のため、不要な高度解析を避け、必要な機能だけを指定する
  • 信頼性: 非同期・疎結合な構成にし、ジョブ失敗時の再試行や通知、低信頼度項目の人手確認を組み込む

試験で問われるポイント

頻出
  • 「文書画像から文字・表・フォームを抽出する AWS サービスは?」→ Amazon Textract
  • 「単なる文字だけでなく、項目名と値の対応や表構造まで欲しい」→ フォーム抽出・表抽出(汎用 OCR との違い)
  • 「請求書や領収書」→ Analyze Expense、「運転免許証など本人確認書類」→ Analyze ID
  • 「複数ページの大きな PDF」→ 非同期 API、「単一ページの即時処理」→ 同期 API
  • 抽出テキストの感情分析やエンティティ抽出は Amazon Comprehend、画像内の物体やシーンの認識は Amazon Rekognition と組み合わせる

関連サービス・比較

画像を扱う点で混同しやすい Amazon Rekognition と比較します。Rekognition は画像・動画の内容認識が主目的で、文書の構造化抽出は Textract の役割です。

観点Amazon TextractAmazon Rekognition
主目的文書からの文字・表・フォーム抽出画像・動画の内容認識
代表的な用途帳票のデータ化・OCR・自動入力物体やシーン検出・顔分析・コンテンツ管理
扱う構造表やフォームの構造を保って抽出画像中のラベルや位置を検出
文字の扱い文書レイアウトを理解した高度な抽出画像内テキストの簡易検出が中心

ハンズオン / CLI例

# S3 上の単一ページ画像から文字・フォーム・表を解析(同期)
aws textract analyze-document \
  --document '{"S3Object":{"Bucket":"my-input-bucket","Name":"form.png"}}' \
  --feature-types '["FORMS","TABLES"]'

# 複数ページ PDF の文字抽出を非同期で開始し、ジョブ ID を取得
aws textract start-document-text-detection \
  --document-location '{"S3Object":{"Bucket":"my-input-bucket","Name":"invoice.pdf"}}'

# 開始したジョブの結果を取得(SUCCEEDED になったら Blocks を参照)
aws textract get-document-text-detection \
  --job-id <ここにジョブ ID>

AWS Service

Amazon Textractを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

AI / 機械学習

比較で見る軸

クラウド: AWS / カテゴリ: AI / 機械学習 / 難易度: basic

導入後に効く点

請求書や本人確認書類など、定型帳票向けの特化 API も備える。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
AWS
カテゴリ
AI / 機械学習
難易度
basic
関連資格
AIF-C01
設計柱
operational

判断チェックリスト

  • 自社の用途が「AI / 機械学習 / operational」に近いか確認する。
  • 強みである「スキャン文書や画像から、単純な文字だけでなく表やフォームの項目と値を構造化して抽出する。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

AI / 機械学習operationalAIF-C01