翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
処理フェーズ
Amazon Textract は PDF ファイルの内容を文字列として抽出し、ダウンストリームのアプリケーションでは直接使用できません(たとえば、数値を集計して統計を生成する場合など)。データ値は、ダウンストリームのアプリケーション(コストの傾向を時系列としてプロットする場合など)でより簡単に使用できるため、正しく識別および変換されたデータ値が必要です。PDF ファイル処理を実装するには、新しい PDF ファイルタイプごとに 1 つの PDF ファイルを Amazon Textract で一度処理し、JSONTemplate
形式のファイルを生成する必要があります。
AWS Lambda関数が開始されると取り込みフェーズ、次の図に示すステップが実行されます。
![AWS Lambdaこの関数は Amazon Textract を呼び出して PDF ファイルを処理し、Template定義済みの定義済みの JSON ファイルを使用し、最終出力を S3 バケットに保存する前に後処理ルールを適用します。](images/buildingcompletefileprocessing-diagram2.png)
図表に示す内容は以下のステップを実装する Lambda 関数です。
-
Amazon Textract を呼び出して PDF ファイルを処理し、コンテンツを抽出し、JSON 形式のファイルを返します。
-
JSON ファイルを取得し、
Template
各フィールドのキー名と値のタイプが正しい事前定義の JSON ファイルを使用してフォームとテーブルを解析します。このプロセスにより、解析された JSON ファイルが提供されます。 -
後処理ルールを適用し、
Template
JSON ファイルを使用して解析された JSON ファイルの各値を修正します。これによりFinal
JSON ファイルが生成されます。定義済みのTemplate
JSON ファイルは S3 バケットに保存できます。 -
S3 出力バケット内の PDF ファイルごとに 1 つの
Final
JSON ファイルに加えて、JSON ファイルを PDF ファイルごとに 1 つのレコードとして Amazon DynamoDB に保存します。
Amazon Textract を使用して PDF ファイルからコンテンツを自動的に抽出し、 step-by-step クリーンな出力に処理するワークフローについては、AWS規範的ガイダンスウェブサイトの「Amazon Textract を使用して PDF ファイルからコンテンツを自動的に抽出する」というパターンを参照してください。このパターンでは、テンプレートマッチング手法を使用して必要なフィールド、キー名、およびテーブルを正しく識別し、各データ型に後処理による修正を適用します。
処理フェーズのベストプラクティス
次の 4 つのベストプラクティスを使用して、処理フェーズを成功させてください。
-
処理する PDF ファイルタイプごとにテンプレート JSON ファイルを作成します。これらのさまざまなテンプレート JSON ファイルを、Lambda 関数によって呼び出される S3 バケットに保存できます。1 つの Lambda 関数でさまざまな PDF ファイルタイプを処理する場合は、PDF ファイルタイプごとに一意の識別子(たとえば、S3 バケット内の PDF ファイルタイプのフォルダー名)を使用する必要があります。Lambda 関数は呼び出されると、適切なテンプレート JSON ファイルを取得して処理します。
-
Lambda 関数の各ステップのステータスを正確に追跡するメカニズムを設定します。たとえば、Amazon Textract 呼び出し後、最終的な JSON ファイルが Amazon DynamoDB テーブルに保存されるとき、PDF ファイルが S3
Success
バケットに保存されたときのステータスを追加できます。また、個別の DynamoDB テーブルを作成して、各ステップにおける各 PDF ファイルのステータスを追跡して、プロセスを可視化することもできます。 -
多数の PDF ファイルをバッチ処理する場合、失敗した操作を自動的に再試行することで、スロットリングや接続切断を管理できます。Amazon Textract では、接続が切断されたり、1 秒あたりのトランザクション (TPS) の最大数 (TPS) を超えたりすると、スロットリングが発生する可能性があります。失敗した操作を自動的に再試行する詳細と手順については、Amazon Textract ドキュメントの「スロットリングされた呼び出しと切断された接続の処理」を参照してください。
-
複数ページの PDF ファイルがある場合は、非同期操作を使用してファイル全体を処理するか、PDF ファイルを個別のページに分割し、同期操作を使用して各ページを処理し、各ページの結果を組み合わせることができます。非同期オペレーションの完全なコード実装については、Amazon Textract ドキュメントの「複数ページのドキュメント内のテキストの検出と分析」を参照してください。同期操作の使用方法の詳細については、Amazon Textract ドキュメントの「単一ページのドキュメント内のテキストの検出と分析」を参照してください。