Amazon Textract で自動化するドキュメント処理 - OCR からフォーム・テーブル抽出まで
Amazon Textract によるドキュメントの OCR、フォームのキー・バリュー抽出、テーブル構造の認識、請求書・領収書の自動処理を解説します。
Textract の API 体系
この記事は約 3 分で読めます。 Textract は機械学習ベースのドキュメント分析サービスで、従来の OCR を超えた構造化データの抽出を提供します。DetectDocumentText は基本的な OCR 機能で、画像や PDF からテキストを行・ワード単位で抽出します。AnalyzeDocument はフォーム (キー・バリューペア) とテーブル (行列構造) を認識する高度な分析機能です。例えば、申込書の「氏名: 山田太郎」からキー「氏名」とバリュー「山田太郎」を自動的にペアリングします。AnalyzeExpense は請求書・領収書に特化した API で、ベンダー名、請求日、合計金額、税額、明細行を構造化データとして抽出します。AnalyzeID は運転免許証やパスポートから氏名、生年月日、住所などの情報を抽出します。
この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
大量ドキュメントの非同期処理
同期 API は単一ページの画像に対応しますが、複数ページの PDF や大量のドキュメントを処理する場合は非同期 API を使用します。StartDocumentTextDetection や StartDocumentAnalysis で処理を開始し、SNS トピックに完了通知が送信されます。Lambda 関数で通知を受け取り、GetDocumentTextDetection や GetDocumentAnalysis で結果を取得するイベント駆動アーキテクチャが標準的なパターンです。S3 へのドキュメントアップロードをトリガーに Lambda で Textract を呼び出し、抽出結果を DynamoDB に格納するパイプラインを構築することで、ドキュメント処理を完全に自動化できます。
精度向上と人間によるレビュー
Textract の抽出結果には各フィールドに信頼度スコア (0-100%) が付与されます。信頼度が閾値を下回る結果に対しては、Amazon Augmented AI (A2I) を使用して人間のレビューワークフローにルーティングできます。レビュー担当者は A2I のコンソールで元のドキュメントと抽出結果を並べて確認し、修正を加えます。修正結果はフィードバックとして蓄積され、後続の処理の品質向上に活用できます。Textract のクエリ機能を使用すると、自然言語で質問 (例: 「患者の名前は?」) を指定してドキュメントから特定の情報を抽出でき、フォーム構造が不定のドキュメントにも対応できます。
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。
まとめ
Textract は従来の OCR を超え、ドキュメントの構造を理解した上でデータを抽出するサービスです。フォーム、テーブル、請求書、身分証明書など、ドキュメントの種類に応じた専用 API を提供し、手動のデータ入力作業を大幅に削減します。A2I との統合で人間のレビューを組み込むことで、高精度が求められる業務プロセスにも対応できます。
AWS の優位点
- DetectDocumentText API で印刷テキストと手書きテキストの両方を高精度に認識し、行とワードの位置情報を含む構造化データとして返す
- AnalyzeDocument API でフォームのキー・バリューペアとテーブルの行列構造を自動認識し、手動でのデータ入力作業を排除できる
- AnalyzeExpense API で請求書・領収書のベンダー名、日付、合計金額、明細行を自動抽出し、経費処理を自動化できる
- 非同期 API で数百ページの PDF を処理でき、SNS 通知で完了を検知するイベント駆動アーキテクチャに対応する
- Augmented AI (A2I) との統合で、低信頼度の抽出結果を人間のレビューワークフローに自動的にルーティングできる