PDFからインサイトへ:AWS生成AIサービスによるインテリジェント文書処理パイプラインの構築
この記事では、Amazon Bedrockとその機能(BDA、Strands Agent、Knowledge Base)を活用して、コスト効率が高くスケーラブルなインテリジェント文書処理パイプラインをAWS上で構築する方法を説明します。最小限の開発努力で文書からコンテキストを理解し、分析することが可能です。
組織は毎日、保険金請求、請求書、法的契約書、医療記録など、数百万もの文書を処理しています。従来のOCRソリューションはテキストを抽出できますが、複雑な文書に埋め込まれたコンテキスト、関係性、意味を理解することはできません。この制限により、手動介入が必要となり、処理時間とコストが増加し、エラーが発生する可能性があります。
Amazon Bedrock Data Automation (BDA) は、文書、画像、ビデオ、音声ファイルを含むマルチモーダルコンテンツから意味のあるインサイトを抽出するための統一APIエクスペリエンスを提供します。従来のソリューションとは異なり、BDAは文書コンテキストを理解し、抽出データを検証し、正確性のための信頼度スコアを提供します。BDAは、文書分類、抽出、正規化、検証を含む複雑なタスクを自動化するパイプラインを通じて文書を処理します。文書が提出されると、BDAは自動的に論理境界に沿って分割し、各セクションを適切な文書タイプに分類し、正しい処理ブループリントにマッチングします。このインテリジェントなルーティングにより、手動による文書の仕分けや複数のAIモデルの調整が不要になります。このサービスは幅広いファイル形式をサポートし、APIリクエストあたり最大3,000ページ、500MBを処理できるため、さまざまな文書タイプを大規模に処理するのに適しています。
この記事では、Amazon Bedrockとその機能を活用して、AWS上でコスト効率が高くスケーラブルなインテリジェント文書処理パイプラインを構築する方法を概説します。BDAはAmazon Bedrock内のマネージドサービスであり、文書からのインサイト抽出を自動化します。BDAが文書コンテンツを抽出および分析する一方、Amazon Bedrock AgentCore RuntimeでホストされるStrands Agentが専門的な処理タスクを調整し、Amazon Bedrock Knowledge Baseが複数の文書にわたるコンテキスト理解を可能にする方法を示します。これらの機能を統一アーキテクチャ内で組み合わせることで、組織は最小限の開発努力で文書処理ワークフローを変革できます。
ソリューションの概要
私たちのインテリジェント文書処理パイプラインは、生成AIとオーケストレーションされたワークフローを組み合わせ、文書から自動的に抽出、分析(プロット、グラフ、チャートの視覚的分析を含む)、インサイトを導出し、複数のデータソースにわたるコンテキストと関係性を維持します。このソリューションは4つの統合レイヤーを通じて文書を処理します:
入力処理レイヤー:文書アップロードが処理のオーケストレーションとステートマシン連携をトリガーします。 抽出・保存レイヤー:生テキストとテーブルの抽出、画像と視覚要素の分析、スケーラブルなデータ統合。 インテリジェンスレイヤー:セマンティック検索による知識ベースの取り込み、マルチモーダル基盤モデル(FM)分析、大規模言語モデル(LLM)による解釈。 エージェント連携レイヤー:コーディネーターエージェントと専門タスクエージェント。
アーキテクチャコンポーネント
入力処理レイヤーはこのソリューションの基盤を形成します。このレイヤーは、受信ドキュメントの初期受信とルーティングを管理します。指定されたAmazon Simple Storage Service(Amazon S3)バケットにドキュメントが到着すると、ドキュメントアップロードが処理ワークフローをトリガーし、PDFやスキャン文書(PDF)などのさまざまな形式をサポートします。
BDAは入力処理レイヤーのコア抽出エンジンとして機能し、統一APIを通じて文書分割、分類、コンテンツ抽出を処理します。AWS Step Functionsは、抽出・保存レイヤーでBDAの機能を最大限に活用するためにワークフローをオーケストレーションし、プロセス全体を通じて運用の可視性と制御を提供します。詳細なオーケストレーションフローは次のとおりです:
ドキュメント取り込み:ファイルはさまざまな形式でS3バケットに到着します。各形式は統一APIを通じて処理され、形式固有の前処理は不要です。 メタデータ記録:ワークフローは、追跡、監査証跡、レポート作成のためにAmazon DynamoDBに文書メタデータを記録します。これには、ファイルタイプ、サイズ、提出時間、処理ステータスが含まれます。 ページ数分析:ワークフローはページ数をチェックして処理戦略を最適化します。BDAは自動的に文書分割を処理し、最大3,000ページの文書を処理できます。Step Functionsでのページ数チェックは、非同期ジョブの適切なタイムアウト値を設定し、異常に大きな文書を監視および警告するのに役立ちます。 BDA処理呼び出し:ワークフローはInvokeDataAutomationAsync APIを使用して非同期BDAジョブを起動します。その後、BDAは自動的に:論理境界に沿って文書を分割(分割あたり最大20ページ);各セクションを文書タイプに分類;適切なブループリントに文書をマッチング(カスタム出力を使用する場合);テキスト、テーブル、フォーム、視覚要素を含むすべてのコンテンツを抽出します。 タストークンを使用した非同期処理:ワークフローはタストークンを保存し、BDAジョブの完了を待ちます。このパターンにより、効率的なリソース利用が可能になり、数千の文書を同時に処理できます。 エラー処理とルーティング:包括的なエラー処理が、成功処理、検証エラー、タイムアウト、サポートされていないファイルタイプなど、さまざまなシナリオを管理し、文書が失われず、すべての問題がレビュー用に記録されることを保証します。
このオーケストレーションアプローチは、各処理段階で適切な分岐ロジックと例外管理を備えた、高度にスケーラブルなサーバーレスパイプラインを提供します。
抽出・保存レイヤー
このレイヤーはソリューションの中核であり、BDAが生コンテンツを構造化されたアクション可能なデータに変換する主要エンジンとして機能します。以下で詳細を説明します。
Amazon Bedrock Data Automationは主要な処理エンジンとして、2つの柔軟な出力オプションを提供します: 標準出力 – データ型に基づいて一般的に必要な情報を提供します。文書の要約、読み上げ順のテキスト、表と図のキャプション、生成インサイトなどが含まれます。標準出力はプロジェクトを通じてカスタマイズでき、処理ニーズに応じてヘッダー、フッター、タイトル、図などの特定の抽出機能を有効または無効にすることができます。 ブループリントを使用したカスタム出力 – アイデアは、文書タイプごとに1つのブループリントを作成することです。同じタイプの文書にわたって共通の情報を抽出するために同じ指示セットを使用するためです。ただし、異なる文書タイプでは、異なる情報のために異なるブループリントが必要です。たとえば、パスポートと銀行取引明細書では異なるブループリントが必要です。すべての銀行取引明細書は1つのブループリントのみで処理されるべきです。なぜなら、銀行や形式に関係なく、銀行取引明細書から抽出したい情報のタイプは同じであるべきだからです。ブループリントは、特定のフィールド、データ形式、抽出指示を定義することで、抽出される情報を正確に制御できます。プロジェクトには最大40の文書ブループリントを含めることができ、BDAが各文書を適切なブループリントに自動的にマッチングします。これにより、請求書、契約書、フォームなど、多様な文書タイプを単一の統一ワークフロー内で処理できます。
さらに、BDAは以下を提供します: 単一インターフェースを介したマルチモーダルコンテンツ処理のための統一APIエクスペリエンス 処理改善のための複数リージョンにわたるクロスリージョン推論機能 正確性のためのビジュアルグラウンディングと信頼度スコアを含む組み込みのセーフガード 特定の文書タイプの出力形式を標準化するためのカスタムブループリントのサポート
視覚分析処理は、BDAの機能を利用して、従来のOCRソリューションでは解釈できないプロット、図、チャート、視覚要素からインサイトを抽出します。BDAは、図のキャプション作成時に画像クロップを出力し、これらの視覚要素から詳細なテキスト記述と構造化データを生成してダウンストリームワークフローに含めます。たとえば、BDAがチャートを処理する場合、以下を生成します: チャートの内容と目的を説明する生成キャプション グラフからの抽出データポイントと傾向 図やフローチャートからの構造的関係 視覚要素を文書内の位置にリンクするバウンディングボックス座標
すべての文書形式のダウンストリーム処理:サポートされているすべての文書形式(PDF、PNG、JPG、TIFF、DOC、DOCX)は統一APIを通じて処理されます。BDAからの抽出コンテンツ(視覚要素の説明を含む)は、Amazon Bedrock Knowledge Basesでのインデックス作成とベクトル化のために手動で設定でき、多様な文書タイプにわたるセマンティック検索を可能にします。BDAにはKnowledge Basesとの組み込み統合もあり、知識ベースへの文書取り込み時にパーサーとして機能し、BDA標準出力(ブループリント不要)を使用できます。このダウンストリームワークフローは、BDAからの構造化JSON出力を受け取り、元のファイル形式に関係なく一貫した処理を可能にします。
文書からのデータ抽出には以下が含まれます: レイアウトを保持した読み上げ順のテキスト抽出 セル関係を維持したテーブル構造認識 フォームフィールド検出とキーと値のペア抽出 チャート、グラフ、図を含む視覚要素の分析とキャプション生成 抽出要素の正確な位置追跡のためのバウンディングボックス座標 コンテキストを保持した文書レベルおよびページレベルの要約
インテリジェンスレイヤー
このレイヤーはソリューションの認知エンジンです。Amazon Bedrock Knowledge BasesはAmazon OpenSearch Serverlessと連携するように設定する必要があり、セマンティック検索とRAG(Retrieval Augmented Generation)機能を通じて生のコンテンツを実用的なインサイトに変換します。以下で詳細を説明します。
Amazon Bedrock Knowledge BasesとAmazon OpenSearch Serverlessにより、以下の方法でセマンティック検索とRAGワークフローが可能になります: インテリジェントクエリのための処理済み文書コンテンツのインデックス作成 文書コレクション間の類似性検索のためのベクトル埋め込みの維持 複数の文書とデータソースにまたがる複雑なクエリのサポート
Amazon Bedrock基盤モデル(FM)は、チャートやグラフの解釈、文書レイアウトの理解、テキストと視覚コンポーネント間のクロスモーダル関係検出など、視覚コンテンツを分析します。
エージェント連携レイヤー
このレイヤーはソリューションのインテリジェンスを組織化します。Amazon Bedrock AgentCore Runtime上のStrands Agentは、リクエストタイプに基づいてリクエストを適切な専門エージェントにルーティングし、複雑な文書分析のためにエージェント間通信を調整することで、全体的な処理ワークフローを管理します。
専門タスクエージェントは特定の文書処理機能を処理します: 市場アナリストエージェント:金融市場レポートや投資文書用。 投資顧問エージェント:ポートフォリオ分析やアドバイザリー文書用。 外部APIエージェント:金融データプロバイダー、規制データベース、市場インテリジェンスプラットフォームへの安全なAPI接続によるリアルタイムのサードパーティデータ統合用。 コーディネーターエージェントは、外部APIエージェントからのリアルタイム市場データをAmazon Bedrock知識ベースに保存された履歴データと比較して、相互参照検証を実行します。
実装アーキテクチャ
処理パイプラインはイベント駆動型のアプローチを採用し、複数の専門レイヤーを一貫したワークフローに統合します。各ステップが前のステップに基づいて構築される論理的な進行に従います。文書アップロードから始まり、Amazon S3イベントをトリガーしてステートマシンを起動し、多様なコンテンツタイプから意味を抽出するマルチモーダル処理に進みます。パイプラインはエージェント連携を継続し、指示を行います。
[コスト制御のため記事は途中で終了]