Amazon Textract で自動化するドキュメント処理 - OCR からフォーム・テーブル抽出まで
OCR を超えたフォーム・テーブルの構造認識で、請求書・領収書・身分証明書からデータを自動抽出する。A2I による人間レビューの統合も紹介します。
Textract の API 体系
Textract は機械学習ベースのドキュメント分析サービスで、従来の OCR を超えた構造化データの抽出を提供します。DetectDocumentText は基本的な OCR 機能で、画像や PDF からテキストを行・ワード単位で抽出します。AnalyzeDocument はフォーム (キー・バリューペア) とテーブル (行列構造) を認識する高度な分析機能です。例えば、申込書の「氏名: 山田太郎」からキー「氏名」とバリュー「山田太郎」を自動的にペアリングします。AnalyzeExpense は請求書・領収書に特化した API で、ベンダー名、請求日、合計金額、税額、明細行を構造化データとして抽出します。AnalyzeID は運転免許証やパスポートから氏名、生年月日、住所などの情報を抽出します。
大量ドキュメントの非同期処理
同期 API は単一ページの画像に対応しますが、複数ページの PDF や大量のドキュメントを処理する場合は非同期 API を使用します。StartDocumentTextDetection や StartDocumentAnalysis で処理を開始し、SNS トピックに完了通知が送信されます。Lambda 関数で通知を受け取り、GetDocumentTextDetection や GetDocumentAnalysis で結果を取得するイベント駆動アーキテクチャが標準的なパターンです。S3 へのドキュメントアップロードをトリガーに Lambda で Textract を呼び出し、抽出結果を DynamoDB に格納するパイプラインを構築することで、ドキュメント処理を完全に自動化できます。
精度向上と人間によるレビュー
Textract の抽出結果には各フィールドに信頼度スコア (0-100%) が付与されます。信頼度が閾値を下回る結果に対しては、 Amazon Augmented AI (A2I) を使用して人間のレビューワークフローにルーティングできます。レビュー担当者は A2I のコンソールで元のドキュメントと抽出結果を並べて確認し、修正を加えます。修正結果はフィードバックとして蓄積され、後続の処理の品質向上に活用できます。 Textract のクエリ機能を使用すると、自然言語で質問 (例: 「患者の名前は?」) を指定してドキュメントから特定の情報を抽出でき、フォーム構造が不定のドキュメントにも対応できます。 Textract のアルゴリズムを網羅的に学ぶなら、技術書 (Amazon)を参照してください。
Textract の料金
Textract の料金は API ごとの従量課金です。DetectDocumentText (OCR) は 1 ページあたり約 0.0015 ドル、AnalyzeDocument (フォーム・テーブル) は約 0.015 ドル、AnalyzeExpense (請求書) は約 0.01 ドル、AnalyzeID (身分証明書) は約 0.01 ドルです。Queries 機能は 1 ページあたり約 0.015 ドルに 1 クエリあたり約 0.005 ドルが加算されます。大量のドキュメントを処理する場合、まず DetectDocumentText で OCR を実行し、構造化データの抽出が必要なページのみ AnalyzeDocument を適用する 2 段階処理でコストを最適化できます。
身分証明書処理と本人確認
AnalyzeID は、運転免許証やパスポートといった身分証明書から、氏名・生年月日・住所・有効期限などを構造化して取り出します。口座開設や会員登録の本人確認 (KYC) で、利用者が撮影した証明書から自動で情報を読み取り、入力フォームへ反映する用途に向きます。手入力の手間とミスを減らし、登録体験をなめらかにできます。ただし、扱うのは機微な個人情報であるため、取得目的の明示、保管期間の管理、アクセス制御を徹底し、必要がなくなったデータは確実に削除する運用が前提になります。
Comprehend との連携による意味理解
Textract は文字や構造を取り出すところまでを担い、その内容の意味を解釈するには Comprehend との組み合わせが有効です。抽出したテキストを Comprehend に渡せば、人名・組織名・日付といった固有表現の抽出、文書の分類、感情の判定などが行えます。さらに、文書中の個人情報を検出して伏せ字にする処理を加えれば、保管や共有の前に機微な情報を保護できます。文字の抽出と意味の理解を役割分担させることで、単なるデータ化を超えた、内容に基づく自動処理のパイプラインを構築できます。
座標情報を活かした検証とハイライト
Textract の結果には、抽出した各要素がページ上のどこにあるかを示す座標情報 (バウンディングボックス) が含まれます。これを使うと、元のドキュメント画像の上に抽出箇所を重ねて表示し、レビュー担当者がどの部分から値を読み取ったかを一目で確認できます。位置情報を手がかりに、特定の領域に書かれた値だけを採用するといった精緻な抽出ルールも組めます。抽出結果と原本を視覚的に対応づけられるため、確認作業が速くなり、誤抽出の発見や修正もしやすくなります。
セキュリティとコンプライアンス
業務文書には、個人情報や機密情報が含まれることが多いため、処理基盤のセキュリティ設計が重要です。保存するドキュメントと抽出結果は暗号化し、アクセスは IAM で最小権限に絞ります。インターネットを経由させたくない場合は、VPC エンドポイント経由で Textract を呼び出し、通信を閉域に保てます。処理の各段階で誰が何にアクセスしたかを記録し、監査できるようにします。データの保持期間を定め、不要になった原本や抽出結果を確実に削除する仕組みを設けることで、コンプライアンス要件を満たした文書処理を実現できます。
まとめ
Textract は従来の OCR を超え、ドキュメントの構造を理解した上でデータを抽出するサービスです。フォーム、テーブル、請求書、身分証明書など、ドキュメントの種類に応じた専用 API を提供し、手動のデータ入力作業を大幅に削減します。A2I との統合で人間のレビューを組み込むことで、高精度が求められる業務プロセスにも対応できます。