ファイルの集約・編集を簡単に ! Document Understanding Solution を試してみた !

2023-08-02
AWS ソリューション紹介

長谷川  一登 (監修 : 稲田 大陸、田中 彰人)

皆さん、こんにちは ! プロフェッショナルサービスコンサルタントの長谷川一登です。

AWS ソリューション」では、世界中のユーザーが直面する一般的な問題に対して、AWS を用いた解決策を提供しています。AWS ソリューションの実装は AWS CloudFormation のテンプレートで提供されており、ユーザーは簡単にお手元の環境でソリューションを実装することができます。

今回はそんな AWS ソリューションの 1 つである「Document Understanding Solution」について紹介します!Document Understanding Solution は、複数のドキュメントから情報の検索・マスキングを行う Web アプリケーションです。本ブログではソリューション概要、デプロイ方法、使い方について解説します。

複数の書類やフォームを横断的に検索・編集をするためには、それらからデータの抽出・構造化・集約を行う必要があります。例えば、データの抽出のステップでは書類から光学文字認識 (OCR) などの文字認識機能を利用して文字を認識し、キーワード検出用のツールなどを用いて、データを抽出しています。また、ここで抽出されたデータに対してタグ付けやフィルタリングを行うことで、データを構造化し保管しています。これらの作業は時間がかかる上、データの抽出と構造化の間で手動のプロセスが存在した場合、エラーが発生してしまう可能性があります。

このような、複数の書類から検索・編集を実現する際に発生する課題を解決するソリューションが Document Understanding Solution です ! 本ソリューション ではデータの抽出・構造化・集約の 3 ステップを自動化し、書類をアップロードをするだけでアップロードされた複数の書類に対して横断的に検索・編集することができるソリューションです。

それでは、本ソリューションの概要や使い方をご説明いたします !

ご注意

本記事で紹介する AWS サービスを起動する際には、料金がかかります。builders.flash メールメンバーになっていただくと、特典として、毎月抽選で 300 名の方に無料でハンズオン記事をお試しいただける AWS 無料クーポンをプレゼントしています。こちらをぜひご活用ください。また、本記事ではコスト試算に関してもご紹介しておりますので、コストの詳細はそちらをご確認ください。

*ハンズオン記事およびソースコードにおける免責事項 »

この記事のデモを無料でお試しいただけます »

毎月提供されるデベロッパー向けアップデート情報とともに、クレジットコードを受け取ることができます。 

ソリューション概要

Document Understanding Solution は、取得したファイルのテキスト分析、テーブルやキーと値のペアなどの構造データの識別、重要な情報の抽出、データからのスマート検索インデックスの作成を簡単にできる Web アプリケーションです。
本ソリューションは、AWS AI (人工知能) サービス を利用して、さまざまな業界の以下のようなビジネス問題を解決します。

  • Discovery: 複数の PDF や画像などのスキャンされたドキュメントからの情報検索
  • Compliance: ドキュメント上の情報の編集
  • Workflow automation: 複数のファイルに対するバルク処理

例えば、ユーザーは本ソリューションを用いて、カスタマーからのフィードバックやリクエストフォームをデジタル化し、データとして蓄積したり、商品の領収書や企業のバランスシートを CSV ファイルに変換することができます。また、ドキュメントに含まれる日付や人物名、場所などの情報に黒塗りなどの編集を行うことも可能です。さらに、後述する Amazon Kendra のサポート機能を有効にすることで、機械学習ベースの検索を可能にします。

注意として、ブログ執筆時点では、Amazon Textract が東京・大阪リージョンでご利用いただけません。そのため、本ブログでは Document Understanding Solution をバージニア北部リージョンにデプロイします。また、Amazon Textract が日本語非対応のため、本ソリューションは日本語のドキュメントにはご利用いただけません。

アーキテクチャ

AWS ソリューションで提供された CloudFormation テンプレートをデフォルトのパラメータで実行すると、以下のアーキテクチャが環境にデプロイされます。

  1. Document Understanding Solution は Amazon Simple Storage Service (Amazon S3) 上にホストされた Web アプリケーションから利用することができ、Amazon CloudFront 経由でアクセスできます。ユーザーの認証には Amazon Cognito が用いられ、バックエンドとの通信は Amazon API Gateway を介して Amazon Lambda で行われます。
  2. ドキュメントをアップロードする方法として、Web アプリケーション上で行う方法と、バルク処理のために直接 Amazon S3 バケットにアップロードする方法があります。ドキュメントのメタデータは API によってトリガーされた Lambda 関数によって Amazon DynamoDB へ追加されます。
  3. Amazon DynamoDB へデータが登録されると、ドキュメントを処理する Lambda 関数がトリガーされます。ここではファイルの種類に応じて適当な処理が行われます。Amazon Simple Notification Service (Amazon SNS) と Amazon Simple Queue Service (Amazon SQS) がフロー制御に用いられ、Amazon Textract でドキュメントからテキストや構造情報が抽出されます。抽出されたテキストは更なる分析のために Amazon ComprehendAmazon Comprehend Medical へ送信されます。
  4. 分析結果は S3 バケットへ、メタデータは DynamoDB へ保存されます。それらの情報は Amazon OpenSearch ServiceAmazon Kendra で検索するために用いることができます。

コスト試算

本ソリューションでのコストは、Amazon Kendra を有効にし、デプロイするリージョンをバージニア北部リージョンにした場合、月額約 $2,400 です。Amazon Kendra を有効にしない場合は、月額約 $600 です。

本ソリューションのコストは、リソースの使用量やリクエストの量に応じた変動コストと、デプロイされたリソースに対する 1 時間ベースの固定コストに分解されます。以下の表に 1 ヶ月あたりのそれぞれのコストの参考値を示します。ここで、変動コストは月に約 2500 の文字、 500 の表、500 の key-value フォームを含む 1000 ページの書類を分析することを仮定しています。

AWS サービス 1 ヶ月あたりの料金 [USD]
Amazon Textract 32.50
Amazon Comprehend Medical 250.00
Amazon Comprehend 2.50
1 ヶ月あたりの変動料金合計 285.00

表 1: 変動コスト

AWS サービス 1 ヶ月あたりの料金 [USD]
Amazon OpenSearch Service 306.60
Amazon Kendra (Optional) 1800.00
1 ヶ月あたりの固定料金合計 2106.60

表 2: 固定コスト


デプロイ方法 / 設定方法

AWS のマネジメントコンソールにログインした状態で、こちらのリンク にアクセスすることで、このような画面に遷移します。

Amazon S3 URL が document-understanding-solution.template になっていることを確認して、右下の「次へ」をクリックします。

デフォルトの AWS リージョンはバージニア北部になっているので、他のリージョンでデプロイしたい場合は右上の「リージョン選択」から希望のリージョンを設定します。

クリックすると拡大します

こちらの画面に遷移したら、「スタック名」、「Email」を入力します。Amazon Kendra を有効かするかどうかもこの画面で設定することができます。

スタック名には「DocumentUnderstandingSolution」などの任意の名前を入力します。Email アドレスの欄には、デプロイ時に、ログインに必要な情報が送信されますので、受信できるメールアドレスを入力してください。Amazon Kendra を有効にすることで、以下の機能がサポートされます。(上記のコスト試算の例に記載の通り、Amazon Kendra を有効にした場合、追加のコストがかかる点にご注意ください。)

  • 自然言語クエリ検索
  • FAQ マッチング
  • ユーザーコンテキストに基づく検索結果ランキング

クリックすると拡大します

入力が完了したら、「次へ」をクリックします。

スタックオプションの設定の画面でも「次へ」をクリックし、レビューのページに移動したら、設定を確認し、スタックを作成します。

30-60 分待って、右のように全てのスタックのステータスが CREATE_COMPLETE になったらデプロイ完了です。


動作確認

それでは実際に Document Understanding Solution を使ってみましょう。

Web アプリケーションにログインする

AWS CloudFormation からデプロイする際にパラメータとして設定したメールアドレスに、Web アプリケーションの URL、Username、Password が送信されます。

送信された URL にアクセスするとログイン画面が表示されるので、送られてきた Username と Password でログインします。

初回のログインの際はパスワードの変更が要求されるので、指示に従ってパスワードの変更を行いましょう。

クリックすると拡大します

ログインが完了するとこのような画面が表示されます。Discovery、Compliance、Workflow automation はそれぞれ以下のような機能を持ちます。

  • Discovery : スキャン済みの複数の画像や PDF などのドキュメントから情報を検索する
  • Compliance : ドキュメント上の情報を編集する
  • Workflow automation : 複数のファイルを直接 Amazon S3 バケットにアップロードすることで、バルク処理を行う

クリックすると拡大します

今回は、Discovery と Compliance の機能についてみていきたいと思います!

Discovery

では、Discovery を利用してみましょう。

Discovery」 をクリックするとこのような画面になります。Document Understanding Solution にあらかじめ用意された複数の英語のサンプルファイルが確認できます。

今回は「health」を検索してみます。

クリックすると拡大します

このような結果になりました。複数のドキュメントに渡って単語が検索されている様子が確認できます。

クリックすると拡大します

CloudFormation からデプロイする際、Amazon Kendra を有効にしていると、Amazon Kendra を利用した検索も可能になります。今回は Amazon Kendra を有効にしていたので、Amazon OpenSearch Service との結果を比較できます。

サンプルファイルに対して「What is diabetes?」と検索した結果はこのようになりました。それぞれで検索結果が大きく異なることが確認できます。Amazon Kendra を利用すると、この例のような文章での検索に対して、機械学習を利用した回答を得ることができます。

クリックすると拡大します

Compliance

次に Compliance の機能を用いてドキュメントを編集してみましょう。今回は、あらかじめ用意されたサンプルドキュメントを利用することで検証します。

こちらの画面が、サンプルドキュメントの Employment Application を示したものです。左上の赤枠で囲われた部分で、編集する項目を選ぶことができます。試しに 「Key-Value Pairs」 を選択してみましょう。

クリックすると拡大します

結果はこちらの画面の通りです。Key と Value が緑と黄色でハイライトされている様子が確認できます。

次に右端の赤で囲われている「Redact」(黒塗り) をクリックして Mailing Adress を編集してみましょう。

クリックすると拡大します

Mailing Address が黒塗りされました。もちろん、編集されたドキュメントをダウンロードすることも可能です。

次に左上から「Tables」を選択しましょう。

クリックすると拡大します

表がハイライトされ、表の内容が CSV ファイルとしてダウンロード可能なことが確認できます。

クリックすると拡大します


リソースの削除方法

AWS マネジメントコンソールの AWS CloudFormation のスタック一覧から作成したスタックを全て削除します。

右上の「削除」を選択することで作成したスタックは削除されます。

これとは別に、CloudFormation によって作成された S3 バケット、Dynamo DB テーブル、CodeCommit のレポジトリを手動で削除する必要があります。それぞれのコンソール (Amazon S3Amazon Dynamo DBAWS CodeCommit) から該当のリソースを削除しましょう。

クリックすると拡大します


まとめ

今回は、書類の集約・編集を簡単にすることが出来る「Document Understanding Solutionの概要や使い方についてご紹介しました。アプリケーションは AWS CloudFromation テンプレートを用いることで簡単にデプロイできました。また、アプリケーションを利用することで、複数のドキュメントから情報を検索したり、編集したりすることができることが確認できました。

builders.flash では定期的に AWS ソリューションライブラリからソリューションをピックアップして概要やユースケース、手順のご紹介をする記事の連載を行っていますので是非ご確認ください!


builders.flash メールメンバーへ登録することで
AWS のベストプラクティスを毎月無料でお試しいただけます

筆者プロフィール

長谷川 一登 (Kazuto Hasegawa)
アマゾン ウェブ サービス ジャパン合同会社
プロフェッショナルサービス本部 アソシエイトコンサルタント

2022 年 4 月入社のプロフェッショナルサービスコンサルタントです。料理と筋トレが趣味で、美味しいものをたくさん食べれるように筋トレを頑張っています。

監修者プロフィール

稲田 大陸 (Riku Inada)
アマゾン ウェブ サービス ジャパン合同会社
ソリューションアーキテクト

2021 年 4 月に AWS Japan に入社した、筋トレが趣味なソリューションアーキテクトです。現在は製造業のお客様を中心にクラウド活用の技術支援を担当しています。好きな AWS のサービスは AWS AmplifyAmazon Location Service です。週末には美味しいお酒を求めてフラフラしています。

田中 彰人 (Akihito Tanaka)
アマゾン ウェブ サービス ジャパン合同会社
プロフェッショナルサービス本部 コンサルタント

コンサルタントとして、Cloud CoE の立ち上げや、マスマイグレーションの計画策定・実行、AWS 設計ガイドライン作成などのご支援を行っています。

AWS を無料でお試しいただけます

AWS 無料利用枠の詳細はこちら ≫
5 ステップでアカウント作成できます
無料サインアップ ≫
ご不明な点がおありですか?
日本担当チームへ相談する