AWS認定資格 WEB問題集&徹底解説
ソリューションアーキテクト – アソシエイト
AWSサービスの一つであるAmazon Textractはどんな内容なのでしょうか?また、AWS認定資格のソリューションアーキテクト-アソシエイト(SAA)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
1. サービス概要
Amazon Textractは、画像やPDFなどの文書からテキスト、手書き文字、フォーム、表、署名、クエリ回答などを抽出するフルマネージドの文書解析サービスです。 単純なOCRだけでなく、フォームのキーと値、表のセル構造、請求書/領収書、本人確認書類、住宅ローン文書など、文書の構造を理解して抽出できる点が特徴です。
試験では、Textractは「文書・帳票からテキストや構造を抽出」、Rekognitionは「一般画像/動画の物体・顔・テキスト検出」、Comprehendは「抽出済みテキストのNLP分析」と切り分けます。 低レイテンシの単一ページは同期API、複数ページPDFや大量文書はS3を使う非同期APIを選びます。
2. 主な特徴と機能
2.1 DetectDocumentText
DetectDocumentTextは、文書画像からLINEとWORDを抽出する基本OCR APIです。 表やフォームの構造が不要で、単純にテキストだけを取り出したい場合にコストと処理を抑えられます。
2.2 AnalyzeDocument
AnalyzeDocumentは、FORMS、TABLES、SIGNATURES、LAYOUT、QUERIESなどのFeatureTypesを指定して文書構造を抽出します。 キー/値ペア、表セル、チェックボックス、座標、信頼度をBlock構造で返すため、帳票処理の中核になります。
2.3 QueriesとCustom Queries
Queriesは「請求日はいくつか」「契約者名は誰か」のような自然言語の質問に対して、文書から該当値を抽出する機能です。 Custom Queriesは、特定帳票や業務要件に合わせて事前学習済みQueries機能をカスタマイズします。
2.4 特化API
AnalyzeExpenseは請求書や領収書、AnalyzeIDは米国政府発行の運転免許証やパスポートなどのID文書、Analyze Lendingは住宅ローン関連文書パッケージの分類と抽出に特化しています。 汎用のAnalyzeDocumentより、対象文書が明確な場合に選択肢になります。
2.5 同期APIと非同期API
同期APIは単一ページや低レイテンシ用途に向きます。 非同期API(StartDocumentTextDetection、StartDocumentAnalysisなど)はS3上のPDFや複数ページ文書を処理し、SNS通知やGet系APIで結果を取得します。
2.6 Human-in-the-loop
Amazon Augmented AI(A2I)と組み合わせると、信頼度が低い項目や重要項目を人間レビューに回せます。 金融、保険、医療、本人確認など、完全自動化が難しい高リスク文書処理で重要です。
3. アーキテクチャおよび技術要素
- アプリケーションまたはLambdaが画像バイト列、またはS3上の文書をTextract APIへ渡す。
- 単純OCRはDetectDocumentText、フォーム/表/QueriesはAnalyzeDocument、請求書やIDは特化APIを選択する。
- 複数ページPDFや大量文書はStart系の非同期APIを使い、SNS通知後にGet系APIで結果を取得する。
- TextractはPAGE、LINE、WORD、TABLE、CELL、KEY_VALUE_SETなどのBlockと座標・信頼度をJSONで返す。
- 結果をLambda/Step Functionsで整形し、DynamoDB、RDS、S3、OpenSearch Service、ERPなどへ連携する。
- 信頼度しきい値や業務ルールでA2Iの人間レビューを挟み、監査ログと修正結果を保存する。
典型構成は、S3アップロードをEventBridge/Lambdaで検知し、Textract非同期ジョブを起動、完了通知で結果を取得して後続DBへ保存する流れです。
4. セキュリティと認証・認可
- IAM最小権限:
textract:AnalyzeDocument、textract:StartDocumentAnalysis、S3入出力、SNS通知権限を用途別に限定する。 - S3/KMS: 入力文書、出力結果、人間レビュー成果物はS3ブロックパブリックアクセスとKMS暗号化で保護する。
- 転送時暗号化: API通信はTLSで保護され、S3アクセスもHTTPSとバケットポリシーで制御する。
- VPCエンドポイント: AWS PrivateLinkを使い、VPC内からTextract APIへプライベート接続できる。
- 監査: CloudTrailでAPI呼び出しを記録し、CloudWatch/EventBridgeでジョブ失敗や異常を検知する。
- 機密文書: 本人確認書類、請求書、医療・金融文書は保存期間、アクセス権、マスキング、人間レビュー権限を厳格に設計する。
5. 料金形態
Textractは処理したページ数とAPI/FeatureTypesに基づく従量課金です。必要な抽出だけを選ぶことがコスト最適化につながります。
- 基本OCR: DetectDocumentTextはテキスト抽出ページ数に応じて課金される。
- 文書分析: AnalyzeDocumentはFORMS、TABLES、QUERIESなど指定機能に応じて課金が変わる。
- 特化API: AnalyzeExpense、AnalyzeID、Analyze Lendingなどは対象文書とページ数に応じて課金される。
- 人間レビュー: A2Iを使う場合はレビュー作業や関連リソースのコストも発生する。
- 周辺コスト: S3、SNS、Lambda、Step Functions、KMS、CloudWatch Logs、データ転送を合わせて見積もる。
6. よくあるアーキテクチャ・設計パターン
- 請求書/領収書処理: AnalyzeExpenseでベンダー、日付、金額、明細を抽出し、ERPや会計システムへ連携する。
- フォーム自動入力: AnalyzeDocumentのFORMSでキー/値を抽出し、申込書やアンケートをDB化する。
- 表データ抽出: AnalyzeDocumentのTABLESでセル構造を抽出し、CSVや分析基盤に変換する。
- 本人確認書類処理: AnalyzeIDでID文書の氏名、住所、生年月日などを抽出し、本人確認フローへ連携する。
- 文書検索: DetectDocumentTextでPDF/画像の全文を抽出し、OpenSearch ServiceやKendraへインデックスする。
- 信頼度レビュー: TextractのConfidenceが低い項目をA2Iへ送り、人間が確認・補正する。
7. 設定・デプロイ手順(ハンズオン例)
- S3バケットを作成し、PDFまたは画像文書をアップロードする。暗号化とアクセス制御を確認する。
- 単純OCRならDetectDocumentText、フォーム/表ならAnalyzeDocument、請求書ならAnalyzeExpenseを選ぶ。
- 複数ページPDFではStartDocumentAnalysisなどの非同期APIを使い、SNS通知先とIAMロールを設定する。
- GetDocumentAnalysisなどで結果JSONを取得し、Block、Relationships、Geometry、Confidenceをパースする。
- 抽出結果をDynamoDB/RDS/S3へ保存し、低信頼度項目はA2Iや業務レビューへ送る。
- CloudTrail、CloudWatch、KMS、S3アクセスログで監査と運用監視を設定する。
8. 試験で問われやすいポイント
8.1 サービス選択
- Q: Amazon Textractは何をするサービス?
A: 文書画像やPDFからテキスト、フォーム、表、クエリ回答などを抽出する文書解析サービス。 - Q: 一般画像の物体検出や顔認識をしたい場合はTextract?
A: いいえ。一般画像/動画解析はAmazon Rekognitionを選ぶ。 - Q: 抽出したテキストの感情分析やPII検出をしたい場合は?
A: Amazon Comprehendと組み合わせる。
8.2 API選択
- Q: 文書から単純にLINE/WORDだけ抽出するAPIは?
A: DetectDocumentText。 - Q: フォームのキー/値や表セルを抽出するAPIは?
A: AnalyzeDocumentでFORMSやTABLESを指定する。 - Q: 請求書や領収書に特化した抽出APIは?
A: AnalyzeExpense。 - Q: 運転免許証やパスポートなどID文書に特化したAPIは?
A: AnalyzeID。 - Q: 文書に自然言語で質問して値を抽出する機能は?
A: Queries。業務帳票に合わせるならCustom Queriesも検討する。
8.3 同期/非同期
- Q: 単一ページ画像を低レイテンシで処理するには?
A: 同期APIを使う。 - Q: 複数ページPDFや大量文書を処理するには?
A: StartDocumentAnalysisなどの非同期APIを使い、S3入力とSNS通知を組み合わせる。 - Q: 非同期ジョブの結果取得APIは?
A: GetDocumentAnalysisやGetDocumentTextDetectionなどのGet系API。
8.4 結果構造とレビュー
- Q: Textract結果で表セルやキー/値の関係を表す単位は?
A: BlockとRelationships。 - Q: 抽出結果の確からしさを判断する値は?
A: Confidenceスコア。 - Q: 低信頼度や重要項目を人間に確認させるには?
A: Amazon Augmented AI(A2I)と連携する。
8.5 セキュリティと料金
- Q: 機密文書をTextractで処理する際の基本対策は?
A: S3ブロックパブリックアクセス、KMS暗号化、IAM最小権限、CloudTrail監査を設定する。 - Q: Textractの主な課金軸は?
A: 処理ページ数と利用API/FeatureTypes。 - Q: テキスト抽出だけでよい場合のコスト最適化は?
A: AnalyzeDocumentではなくDetectDocumentTextを使い、フォーム/表解析を避ける。