多くの企業は、顧客により良いサービスを提供するために処理、整理、分類する必要のある大量のドキュメントに圧倒されています。 そのような例としては、ローンの申し込み、納税申告、請求などがあります。 このようなドキュメントは、より一般的に画像形式で受信され、ほとんどの場合、複数ページに渡って低品質の形式になっています。 競争力とコスト効率を高め、同時に安全性とコンプライアンスを維持するには、これらの企業はドキュメント処理機能を進化させて、処理時間を短縮し、自動化されたスケーラブルな方法で分類の精度を向上させる必要があります。 これらの企業は、ドキュメントの処理において次の課題に直面しています。
- 不適切、不要、または不快なコンテンツを検出するためにドキュメントをモデレートする
- 中小企業で採用されている手動のドキュメント分類は、時間がかかり、エラーが発生しやすく、費用がかかります。
- ルールベースのシステムを使用したOCR技術は十分にインテリジェントではなく、ドキュメント形式の変更に採用できません。
- 機械学習(ML)アプローチを採用している企業には、受信ドキュメントの量の急増に対処するためにモデルをスケーリングするためのリソースがないことがよくあります。
この投稿では、これらの課題に取り組み、これらの問題を効率的に解決するアーキテクチャを提供します。 使い方を紹介します Amazonの再認識 および アマゾンテキストラック ドキュメントの処理における人的労力を最適化および削減するため。 Amazon Rekognitionは、ドキュメント内のモデレーションラベルを識別し、を使用してそれらを分類します Amazon Rekognitionカスタムラベル。 Amazon Textractは、ドキュメントからテキストを抽出します。
この投稿では、手動の作業やカスタムコードを必要とせずに、ドキュメントを処理するためのXNUMXつのMLパイプライン(トレーニングと推論)の構築について説明します。 推論パイプラインの高レベルの手順は次のとおりです。
- Amazon Rekognitionを使用して、アップロードされたドキュメントのモデレートを実行します。
- Rekognition Custom Labelsを使用して、ドキュメントをW-2、請求書、銀行取引明細書、給与明細書などのさまざまなカテゴリに分類します。
- Amazon Textractを使用して、印刷されたテキスト、手書き、フォーム、表などのドキュメントからテキストを抽出します。
ソリューションの概要
このソリューションでは、次のAIサービス、サーバーレステクノロジー、マネージドサービスを使用して、スケーラブルでコスト効率の高いアーキテクチャを実装します。
- Amazon DynamoDB –あらゆる規模でXNUMX桁のミリ秒のパフォーマンスを提供するKey-Valueおよびドキュメントデータベース。
- アマゾンイベントブリッジ –アプリケーション、統合されたサービスとしてのソフトウェア(SaaS)アプリケーション、およびAWSサービスから生成されたイベントを使用して、イベント駆動型アプリケーションを大規模に構築するためのサーバーレスイベントバス。
- AWSラムダ –データの変更、システム状態の変化、ユーザーアクションなどのトリガーに応答してコードを実行できるサーバーレスコンピューティングサービス。
- Amazonの再認識 – MLを使用して、画像やビデオ内のオブジェクト、人物、テキスト、シーン、アクティビティを識別し、不適切なコンテンツを検出します。
- Amazon Rekognitionカスタムラベル – AutoMLをコンピュータービジョンと転移学習に使用して、カスタムモデルをトレーニングし、ビジネスニーズに固有の画像内のオブジェクトとシーンを識別できるようにします。
- Amazon Simple Storage Service(Amazon S3) –ドキュメントのオブジェクトストアとして機能し、微調整されたアクセス制御による一元管理を可能にします。
- Amazonステップ関数 –Lambda関数と複数のサービスをビジネスクリティカルなアプリケーションに簡単にシーケンスできるサーバーレス関数オーケストレーター。
- アマゾンテキストラック – MLを使用して、スキャンしたドキュメントからPDF、JPEG、またはPNG形式のテキストとデータを抽出します。
次の図は、推論パイプラインのアーキテクチャを示しています。
- ユーザーはドキュメントを入力S3バケットにアップロードします。
- アップロードは AmazonS3イベント通知 リアルタイムイベントをEventBridgeに直接配信します。 「
object created
」に対して定義されたフィルター EventBridgeルール ステップ関数ワークフローを開始します。 - ステップ関数ワークフローは、次のタスクを実行する一連のLambda関数をトリガーします。
- 最初の関数は前処理タスクを実行し、AmazonRekognitionへのAPI呼び出しを行います。
- 受信ドキュメントが画像形式(JPGやPNGなど)の場合、この関数はAmazon Rekognition APIを呼び出し、ドキュメントをS3オブジェクトとして提供します。 ただし、ドキュメントがPDF形式の場合、この関数はAmazonRekognitionAPIを呼び出すときに画像バイトをストリーミングします。
- ドキュメントに複数のページが含まれている場合、この関数はドキュメントを個々のページに分割し、それらを個別に処理する前に、出力S3バケットの中間フォルダーに保存します。
- 前処理タスクが完了すると、関数はAmazon RekognitionへのAPI呼び出しを行って不適切、不要、または不快なコンテンツを検出し、トレーニングされたRekognitionカスタムラベルモデルへの別のAPI呼び出しを行ってドキュメントを分類します。
- 3番目の関数はAmazonTextractへのAPI呼び出しを行い、入力ドキュメントからテキストを抽出して出力SXNUMXバケットに保存するジョブを開始します。
- XNUMX番目の関数は、モデレーションラベル、ドキュメント分類、分類の信頼性、Amazon TextractジョブID、ファイルパスなどのドキュメントメタデータをDynamoDBテーブルに保存します。
- 最初の関数は前処理タスクを実行し、AmazonRekognitionへのAPI呼び出しを行います。
要件に応じてワークフローを調整できます。たとえば、次を使用してこのワークフローに自然言語処理(NLP)機能を追加できます。 Amazon Comprehend 抽出されたテキストへの洞察を得るため。
トレーニングパイプライン
このアーキテクチャをデプロイする前に、Rekognitionカスタムラベルを使用してドキュメントをさまざまなカテゴリに分類するカスタムモデルをトレーニングします。 トレーニングパイプラインでは、を使用してドキュメントにラベルを付けます Amazon SageMakerグラウンドトゥルース。 次に、ラベル付けされたドキュメントを使用して、Rekognitionカスタムラベルを使用してモデルをトレーニングします。 この例では、 アマゾンセージメーカー ノートブックでこれらの手順を実行しますが、RekognitionCustomLabelsコンソールを使用して画像に注釈を付けることもできます。 手順については、を参照してください。 画像のラベル付け.
データセット
モデルをトレーニングするために、W2と請求書を含む次の公開データセットを使用します。
業界に関連する別のデータセットを使用できます。
次の表は、トレーニングとテストの間のデータセットの分割をまとめたものです。
CLASS | トレーニングセット | テストセット |
請求書 | 352 | 75 |
W-2 | 86 | 16 |
トータル | 438 | 91 |
AWSCloudFormationを使用してトレーニングパイプラインをデプロイする
デプロイします AWS CloudFormation 必要なプロビジョニングを行うためのテンプレート AWS IDおよびアクセス管理 (IAM)SageMakerノートブックインスタンスを含むトレーニングパイプラインの役割とコンポーネント。
- 米国東部(北バージニア州)地域で次のCloudFormationテンプレートを起動します。
- スタック名、次のような名前を入力します
document-processing-training-pipeline
. - 選択する Next.
- 機能と変換 セクションで、チェックボックスを選択して、AWSCloudFormationが作成する可能性があることを確認します IAMリソース.
- 選択する スタックを作成.
スタックの詳細ページには、スタックのステータスが次のように表示されます。 CREATE_IN_PROGRESS
。 ステータスがに変わるまで最大5分かかることがあります CREATE_COMPLETE
。 完了すると、出力を表示できます。 出力 タブには何も表示されないことに注意してください。
- スタックが正常に起動したら、SageMakerコンソールを開いて選択します ノートブックインスタンス ナビゲーション名に。
- のインスタンスを探します
DocProcessingNotebookInstance-
プレフィックスを付けて、ステータスがInServiceになるまで待ちます。 - 、選択する Jupyterを開く.
サンプルノートブックを実行する
ノートブックを実行するには、以下の手順を実行します。
- 選択する
Rekognition_Custom_Labels
ノートブックの例。
- 選択する ラン サンプルノートブックのセルを順番に実行します。
ノートブックは、トレーニングとテストイメージの準備、ラベル付け、マニフェストファイルの作成、モデルのトレーニング、Rekognitionカスタムラベルを使用したトレーニング済みモデルの実行のライフサイクル全体を示しています。 または、RekognitionCustomLabelsコンソールを使用してモデルをトレーニングして実行することもできます。 手順については、を参照してください。 モデルのトレーニング(コンソール).
ノートブックは一目瞭然です。 手順に従って、モデルのトレーニングを完了することができます。
- をメモします
ProjectVersionArn
後のステップで推論パイプラインを提供します。
SageMakerノートブックインスタンスの場合、使用期間に基づいて、選択したインスタンスタイプに対して課金されます。 モデルのトレーニングが終了したら、ノートブックインスタンスを停止して、アイドル状態のリソースのコストを回避できます。
AWSCloudFormationを使用して推論パイプラインをデプロイする
推論パイプラインをデプロイするには、次の手順を実行します。
- 米国東部(北バージニア州)地域で次のCloudFormationテンプレートを起動します。
- スタック名、次のような名前を入力します
document-processing-inference-pipeline
. - DynamoDB テーブル名、一意のDynamoDBテーブル名を入力します。 例えば、
document-processing-table
. - 入力バケット名、スタックが作成するS3バケットの一意の名前を入力します。 例えば、
document-processing-input-bucket
.
入力ドキュメントは、処理される前にこのバケットにアップロードされます。 入力バケットの名前を作成するときは、小文字のみを使用し、スペースは使用しないでください。 さらに、この操作は新しいS3バケットを作成するため、既存のバケットの名前を使用しないでください。 詳細については、を参照してください。 バケットの命名規則.
- 出力バケット名、出力バケットの一意の名前を入力します。 たとえば、d
ocument-processing-output-bucket
.
このバケットには、処理後に出力ドキュメントが保存されます。 また、Lambda関数によって分割された後の複数ページのPDF入力ドキュメントのページも保存されます。 入力バケットと同じ命名規則に従います。
- RekognitionカスタムラベルモデルARN、 入力します
ProjectVersionArn
Jupyterノートブックからメモした値。 - 選択する Next.
- ソフトウェア設定ページで、下図のように スタックオプションを構成する ページで、タグを含むスタックの追加パラメータを設定します。
- 選択する Next.
- 機能と変換 セクションで、チェックボックスを選択して、AWSCloudFormationがIAMリソースを作成する可能性があることを確認します。
- 選択する スタックを作成.
スタックの詳細ページには、スタックのステータスが次のように表示されます。 CREATE_IN_PROGRESS
。 ステータスがに変わるまで最大5分かかることがあります CREATE_COMPLETE
。 完了すると、出力を表示できます。 出力 タブには何も表示されないことに注意してください。
パイプラインを介してドキュメントを処理する
トレーニングパイプラインと推論パイプラインの両方を展開し、ソリューションを使用してドキュメントを処理する準備が整いました。
- Amazon S3コンソールで、入力バケットを開きます。
- サンプルドキュメントをS3フォルダーにアップロードします。
これによりワークフローが開始されます。 このプロセスでは、DynamoDBテーブルにドキュメント分類とモデレーションラベルが入力されます。 Amazon Textractからの出力は、 TextractOutput
フォルダにコピーします。
いくつかの異なるサンプルドキュメントをワークフローに送信し、DynamoDBテーブルに入力された次の情報を受け取りました。
DynamoDBテーブルにアイテムが表示されない場合、または出力S3バケットにアップロードされたドキュメントが表示されない場合は、 Amazon CloudWatchログ 対応するLambda関数を探し、失敗の原因となった潜在的なエラーを探します。
クリーンアップ
このソリューション用にデプロイされたリソースをクリーンアップするには、次の手順を実行します。
- CloudFormationコンソールで、 スタック.
- このソリューション用にデプロイされたスタックを選択します。
- 選択する 削除.
これらの手順では、S3バケット、DynamoDBテーブル、およびトレーニング済みのRekognitionカスタムラベルモデルは削除されません。 削除されない場合は、引き続きストレージ料金が発生します。 これらのリソースが不要になった場合は、それぞれのサービスコンソールから直接削除する必要があります。
まとめ
この投稿では、ドキュメントをモデレート、分類、および処理するための、スケーラブルで安全な自動化されたアプローチを紹介しました。 複数の業界の企業は、このソリューションを使用してビジネスを改善し、顧客により良いサービスを提供できます。 これにより、ドキュメント処理の高速化と精度の向上が可能になり、データ抽出の複雑さが軽減されます。 また、受信ドキュメントの処理に関与する人的労働力を削減することにより、セキュリティと個人データ法への準拠を向上させます。
詳細については、以下を参照してください AmazonRekognitionカスタムラベルガイド, AmazonRekognition開発者ガイド および AmazonTextract開発者ガイド。 Amazon Rekognition Custom Labelsを初めて使用する場合は、無料利用枠を使用して試してみてください。無料利用枠は3か月間続き、10か月あたり4時間の無料トレーニング時間と5,000か月あたり12時間の無料推論時間が含まれます。 Amazon Rekognitionの無料利用枠には、1,000か月間月額XNUMX枚の画像の処理が含まれます。 Amazon Textractの無料利用枠もXNUMXか月間続き、Detect DocumentTextAPIの月額XNUMXページが含まれます。
著者について
ジェイ・ラオ AWSのプリンシパルソリューションアーキテクトです。 彼は、顧客に技術的および戦略的なガイダンスを提供し、顧客がAWSでソリューションを設計および実装するのを支援することを楽しんでいます。
ウチェンナエグベ AWSのアソシエイトソリューションアーキテクトです。 彼は自由な時間をハーブ、お茶、スーパーフード、そしてそれらを日常の食事にどのように取り入れることができるかについて研究しています。
- "
- 000
- 10
- 100
- 116
- 12か月間
- 私たちについて
- アクセス
- 越えて
- 行動
- 活動
- NEW
- AI
- AIサービス
- Amazon
- 別の
- API
- アプローチ
- 建築
- 仲間
- 自動化
- AWS
- 銀行
- 請求
- 国境
- ボックス
- ビルド
- 建物
- バス
- ビジネス
- コール
- 機能
- 生じました
- 中央の
- 課題
- 変化する
- 荷担した
- 課金
- 選択する
- 分類
- コード
- 企業
- 競争力のある
- コンプライアンス
- 準拠した
- 計算
- コンピュータ
- 信頼
- 領事
- 含まれています
- コンテンツ
- 続ける
- 対応する
- コスト効率の良い
- カバー
- 作ります
- 作成します。
- 作成
- カスタム
- Customers
- データ
- データベース
- 配信
- 提供します
- 展開します
- 展開
- 設計
- 細部
- Developer
- ダイエット
- 異なります
- 直接に
- ドキュメント
- 効率良く
- 努力
- 努力
- 入力します
- イベント
- イベント
- 進化
- 例
- 例
- 既存の
- 抽出物
- 顔
- 不良解析
- 速いです
- 名
- フォロー中
- フォーム
- 形式でアーカイブしたプロジェクトを保存します.
- フォーム
- 無料版
- function
- 機能
- さらに
- ハンドル
- 助けます
- 助け
- より高い
- 認定条件
- しかしながら
- HTTPS
- 人間
- 識別する
- アイデンティティ
- 画像
- 実装する
- 改善します
- include
- 含ま
- 含めて
- 個人
- 産業
- 産業を変えます
- 情報
- 洞察
- 統合された
- インテリジェント-
- 関係する
- IT
- ジョブ
- ラベリング
- ラベル
- 言語
- 打ち上げ
- 学習
- 立法
- 機械
- 機械学習
- 作る
- マネージド
- 管理
- マニュアル
- 一致
- かもしれない
- ML
- モデル
- 月
- ヶ月
- 他には?
- の試合に
- ナチュラル
- ナビゲーション
- 必要
- ニーズ
- ノート
- 開いた
- 操作
- 最適化
- 注文
- 支払う
- のワークプ
- パフォーマンス
- 個人的な
- 個人データ
- 潜在的な
- 校長
- 問題
- プロセス
- 処理
- 提供します
- は、大阪で
- 提供
- 公共
- への
- 受け
- 減らします
- 縮小
- 関連した
- リソース
- 応答
- ルール
- ラン
- ランニング
- ド電源のデ
- 規模
- シーン
- 安全に
- セキュリティ
- シリーズ
- サーバレス
- サービス
- サービス
- セッションに
- 簡単な拡張で
- So
- ソフトウェア
- サービスとしてのソフトウェア
- 固体
- 溶液
- ソリューション
- 解決する
- スペース
- split
- 分割
- スタック
- 開始
- 都道府県
- 文
- Status:
- 滞在
- ストレージ利用料
- 店舗
- 店舗
- 戦略的
- 提出された
- 首尾よく
- システム
- タスク
- 税金
- 技術的
- テクニック
- テクノロジー
- test
- テスト
- 介して
- 時間
- 時間がかかる
- <font style="vertical-align: inherit;">回数</font>
- トレーニング
- 転送
- ユニーク
- us
- つかいます
- 値
- Verification
- 動画
- 詳しく見る
- バージニア州
- ビジョン
- ボリューム
- wait
- 無し
- 労働人口