ゼファーネットのロゴ

Amazon Textractを使用して、追跡可能なカスタムのマルチフォーマットドキュメント解析パイプラインを構築します

日付:

組織形態は、金融サービスからヘルスケアなど、さまざまな業界にわたる主要なビジネスツールとして機能します。 たとえば、税務管理業界の税務申告フォームを考えてみましょう。このフォームでは、ほぼ同じ情報で毎年新しいフォームが発行されます。 セクターを超えたAWSのお客様は、日常のビジネス慣行の一環として、情報をフォームで処理および保存する必要があります。 これらのフォームは、データキャプチャの技術的手段が実用的でない組織に情報を流入させるための主要な手段として機能することがよくあります。

フォームを使用して情報を収集することに加えて、何年にもわたって提供してきました アマゾンテキストラック、AWSのお客様は、行われた構造の変更、追加または変更されたフィールド、またはフォームの年やバージョンの変更などの他の考慮事項に基づいて、組織フォームを頻繁にバージョン管理することがわかりました。

フォームの構造やコンテンツが変更されると、従来のOCRシステムに問題が発生したり、情報の取得に使用されるダウンストリームツールに影響を与えたりすることがよくあります。これは、同じ情報を毎年取得し、形式に関係なく使用するためにデータを集約する必要がある場合でも同様です。ドキュメントの。

この問題を解決するために、この投稿では、AmazonTextractを使用してイベント駆動型のサーバーレスマルチフォーマットドキュメント解析パイプラインを構築およびデプロイする方法を示します。

ソリューションの概要

次の図は、ソリューションアーキテクチャを示しています。

まず、このソリューションは、パイプラインの取り込みを使用して提供します Amazon シンプル ストレージ サービス (Amazon S3)、Amazon S3イベント通知、および Amazon シンプル キュー サービス (Amazon SQS)フォームがターゲットのAmazonS3パーティションに到達したときに処理が開始されるようにキューに入れます。 上のイベント アマゾンイベントブリッジ 作成され、に送信されます AWSラムダ AmazonTextractジョブをトリガーするターゲット。

Lambdaや AWSステップ関数 AWSAIサービスとAWSAnalyticsおよびデータベースサービス間の非同期サービス統合を作成して、ウェアハウジング、分析、AIおよび機械学習(ML)を実現します。 この投稿では、ステップ関数を使用して、AmazonTextract非同期APIへのリクエストの状態を非同期的に制御および維持する方法を示します。 これは、呼び出しと応答を管理するためにステートマシンを使用することによって実現されます。 ステートマシン内でLambdaを使用して、Amazon Textractからのページ化されたAPI応答データを、OCRを使用して抽出された半構造化テキストデータを含む単一のJSONオブジェクトにマージします。

次に、標準化されたアプローチを使用してさまざまなフォームをフィルタリングし、このOCRデータを以下を使用して共通の構造化形式に集約します。 アマゾンアテナ およびSQLAmazonTextract JSON セルデ.

サーバーレスステップ関数を使用してこのパイプラインで実行されたステップをトレースし、処理状態を追跡し、各状態の出力を保持できます。 これは、パイプラインの結果の説明性を長期的に促進するために、AmazonTextractなどのサービスからのすべての予測の結果を保持する必要があるデータを処理するときに一部の業界の顧客が好むことです。

最後に、Athenaテーブルで抽出されたデータをクエリできます。

次のセクションでは、を使用してパイプラインを設定する手順を説明します。 AWS CloudFormation、パイプラインをテストし、新しいフォームバージョンを追加します。 このパイプラインは、すべてのコンポーネント(取り込み、テキスト抽出、テキスト処理)が独立しており、分離されているため、保守可能なソリューションを提供します。

CloudFormationスタックのデフォルトの入力パラメーターを定義する

CloudFormationスタックの入力パラメーターを定義するには、 default.propertiesparams フォルダに入力し、次のコードを入力します。

- set the default value for parameter 'pInputBucketName' for Input S3 bucket - set the default value for parameter 'pOutputBucketName' for Output S3 bucket - set the default value for parameter 'pInputQueueName' for Ingest SQS (a.k.a job scheduler)

ソリューションを展開する

パイプラインをデプロイするには、次の手順を実行します。

  1. 選択する 発射スタック:
  2. 選択する Next.
  3. 次のスクリーンショットに示すようにスタックの詳細を指定し、 Next.
  4. スタックオプションを構成する セクションで、オプションのタグ、権限、およびその他の詳細設定を追加します。
  5. 選択する Next.
  6. スタックの詳細を確認し、 AWS CloudFormationがカスタム名でIAMリソースを作成する可能性があることを認めます.
  7. 選択する スタックを作成.

これにより、AWSアカウントでスタックのデプロイが開始されます。

スタックが正常にデプロイされたら、次のセクションで説明するようにパイプラインのテストを開始できます。

パイプラインをテストする

デプロイが成功したら、次の手順を実行してパイプラインをテストします。

  1. ダウンロード サンプルファイル お使いのコンピューターに。
  2. 作る /uploads 新しく作成された入力S3バケットの下のフォルダー(パーティション)。
  3. 次のような個別のフォルダ(パーティション)を作成します jobapplications/uploads.
  4. 求人応募の最初のバージョンをサンプルのドキュメントフォルダからにアップロードします /uploads/jobapplications パーティション。

パイプラインが完了すると、このバージョンのドキュメントで抽出されたKey-Valueを次の場所で見つけることができます。 /OuputS3/03-textract-parsed-output/jobapplications Amazon S3コンソールで。

アテナの表にもあります(applications_data_table)で データベース メニュー(jobapplicationsdatabase).

  1. 求人応募のXNUMX番目のバージョンをサンプルのドキュメントフォルダから /uploads/jobapplications パーティション。

パイプラインが完了すると、このバージョンで抽出されたKey-Valueを次の場所で見つけることができます。 /OuputS3/03-textract-parsed-output/jobapplications Amazon S3コンソールで。

アテナの表にもあります(applications_data_table)で データベース メニュー(jobapplicationsdatabase).

完了です。 パイプラインが正常にデプロイされました。

新しいフォームバージョンを追加する

新しいフォームバージョンのソリューションの更新は簡単です。各フォームバージョンは、処理スタックでクエリをテストすることによってのみ更新する必要があります。

更新を行った後、AWS CloudFormation APIを使用して更新されたパイプラインを再デプロイし、新しいドキュメントを処理して、パイプラインに変更を加えるために必要な中断と開発の労力を最小限に抑えながら、スキーマの同じ標準データポイントに到達できます。 この柔軟性は、解析と抽出の動作を分離し、AthenaのJSON SerDe機能を使用することで実現され、組織が情報を収集するために処理する必要のある任意の数のフォームバージョンに対してこのパイプラインを保守可能なソリューションにします。

インジェストソリューションを実行すると、受信フォームからのデータに、それらに関連付けられたファイルと入力に関する情報が自動的にAthenaに入力されます。 フォーム内のデータが非構造化データから構造化データに移行すると、分析、MLモデリングなどのダウンストリームアプリケーションで使用できるようになります。

クリーンアップ

継続的な請求が発生しないようにするには、完了したら、このソリューションの一部として作成したリソースを削除します。

  1. Amazon S3コンソールで、CloudFormationスタックの一部として作成したバケットを手動で削除します。
  2. AWS CloudFormationコンソールで、 スタック ナビゲーションペインに表示されます。
  3. メインスタックを選択し、 削除.

これにより、ネストされたスタックが自動的に削除されます。

まとめ

この投稿では、ドキュメント処理をトレースおよびカスタマイズしようとしている顧客が、AmazonTextractを使用してイベント駆動型のサーバーレスマルチフォーマットドキュメント解析パイプラインを構築およびデプロイする方法を示しました。 このパイプラインは、すべてのコンポーネント(取り込み、テキスト抽出、テキスト処理)が独立して分離されているため、保守可能なソリューションを提供し、組織がソリューションを運用して多様な処理ニーズに対応できるようにします。

今日ソリューションを試して、コメントセクションにフィードバックを残してください。


著者について

エミリー・スワード AWSProfessionalServicesのデータサイエンティストです。 彼女は、英国スコットランドのエジンバラ大学で、自然言語処理(NLP)に重点を置いて、人工知能の分野で卓越した科学の修士号を取得しています。 エミリーは、AI対応の製品研究開発、オペレーショナルエクセレンス、および公共部門と民間部門の組織で実行されているAIワークロードのガバナンスに焦点を当てた、応用科学およびエンジニアリングの役割を果たしてきました。 彼女はAWSシニアスピーカーとして、そして最近ではAWS Well-Architected in the MachineLearningLensの著者として顧客ガイダンスに貢献しています。

サンディープ・シン AWSProfessionalServicesのデータサイエンティストです。 彼は、カリフォルニア州サンディエゴ州立大学(SDSU)で、AIとデータサイエンスを専攻する情報システムの理学修士号を取得しています。 彼は、強力なコンピューターサイエンスのバックグラウンドを持つフルスタックのデータサイエンティストであり、AIシステムと制御設計を専門とする信頼できるアドバイザーです。 彼は、顧客が影響力の大きいプロジェクトを正しい方向に導くのを支援し、クラウドジャーニーで顧客にアドバイスと指導を行い、最先端のAI/ML対応ソリューションを構築することに情熱を注いでいます。

スポット画像

最新のインテリジェンス

スポット画像

私たちとチャット

やあ! どんな御用でしょうか?