

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Bedrock Data Automation を使用して非構造化データを有意義なインサイトに変換する
<a name="bda"></a>

## Bedrock Data Automation とは
<a name="bda-what-is"></a>

Bedrock Data Automation (BDA) は、ドキュメント、画像、動画、音声などの非構造化コンテンツから価値あるインサイトを抽出するプロセスを簡素化する、クラウドベースのサービスです。BDA は、生成 AI を活用して、マルチモーダルデータの構造化形式への変換を自動化します。これにより、デベロッパーはアプリケーションを構築して、複雑なワークフローをより迅速かつ正確に自動化できるようになります。

ユースケースの例を以下に示します。
+ **ドキュメント処理:** BDA を使用すると、分類、抽出、正規化、検証などの複雑なドキュメント処理タスクをオーケストレーションする必要なく、インテリジェントドキュメント処理 (IDP) ワークフローを大規模に自動化できます。これにより、非構造化ドキュメントをビジネス固有の構造化データ出力に変換できます。BDA 出力をカスタマイズして、既存のシステムやワークフローと統合することができます。
+ **メディア分析:** 非構造化動画に有意義なインサイトを追加します。各シーンの要約の作成、安全でないコンテンツや明示的なコンテンツの識別、動画に表示されるテキストの抽出、広告やブランドに基づいたコンテンツの分類を行うことができます。これらのインサイトを活用すると、インテリジェントな動画検索を実現し、コンテキスト広告の配置を改善することができ、ブランドの安全性とコンプライアンスの強化につながります。
+ **生成 AI アシスタント:** ドキュメント、画像、動画、音声から抽出したリッチでモダリティ固有のデータ表現を提供することで、検索拡張世代 (RAG) を活用した質問への回答アプリケーションのパフォーマンスを向上させます。

BDA は、単一のインターフェイスを介してマルチモーダルコンテンツを処理できる、統合された API 駆動型エクスペリエンスを提供するため、複数の AI モデルとサービスを管理およびオーケストレーションする必要がなくなります。ビジュアルグラウンディングや信頼度スコアなどの安全対策が組み込まれているため、BDA を使用すると、抽出されたインサイトの正解率と信頼性が向上し、エンタープライズワークフローへの統合が容易になります。

# Bedrock Data Automation の仕組み
<a name="bda-how-it-works"></a>

Bedrock Data Automation (BDA) を使用すると、ドキュメント、イメージ、動画、音声など、特定のデータタイプに対する処理ニーズに基づいて出力を構成できます。BDA は標準出力またはカスタム出力を生成できます。BDA の仕組みを理解するための重要な概念は、次のとおりです。初めて使用する場合は、標準出力に関する情報から開始してください。
+ 標準出力 – 他の情報を指定せずにファイルを BDA に送信すると、デフォルトの標準出力が返されます。これは、データ型に基づく一般的に必要な情報で構成されます。例としては、音声の文字起こし、動画のシーンの概要、ドキュメント概要などがあります。これらの出力は、プロジェクトを使用して変更することで、ユースケースに合わせて調整できます。詳細については、「[Bedrock Data Automation の標準出力](bda-standard-output.md)」を参照してください。
+ カスタム出力 – ドキュメント、音声、イメージのみ。ブループリントを使用して抽出する情報を正確に定義するには、カスタム出力を選択します。ブループリントは、ファイルから取得するフィールドのリストで構成されます。各フィールドは、特定のユースケースを満たすために抽出する必要がある情報を表します。独自のブループリントを作成することも、BDA ブループリントカタログから事前定義されたブループリントを選択することもできます。詳細については、「[カスタム出力とブループリント](bda-custom-output-idp.md)」を参照してください。
+ プロジェクト – プロジェクトは、出力の構成を変更して整理できる BDA リソースです。各プロジェクトには、ドキュメント、イメージ、動画、音声の標準出力設定と、ドキュメント、音声、イメージのカスタム出力ブループリントを含めることができます。プロジェクトは、`InvokeDataAutomationAsync` API コールで参照され、ファイルの処理方法を BDA に指示します。プロジェクトとプロジェクトのユースケースの詳細については、「[Bedrock Data Automation のプロジェクト](bda-projects.md)」を参照してください。

# Bedrock Data Automation のプロジェクト
<a name="bda-projects"></a>

Amazon Bedrock Data Automation (BDA) を使用してファイルを処理する 1 つの方法は、プロジェクトを作成することです。プロジェクトは、標準出力設定とカスタム出力設定の両方をグループ化したものです。プロジェクトでは標準出力は必須ですが、カスタム出力はオプションです。プロジェクト ARN を使用して `InvokeDataAutomationAsync` API を呼び出すと、そのプロジェクトで定義された構成設定を使用してファイルが自動的に処理されます。その後、プロジェクトの設定に基づいて出力が生成されます。

プロジェクトには、`LIVE` または `DEVELOPMENT` のいずれかのステージを指定できます。各ステージは、プロジェクトの一意かつ変更可能なバージョンです。つまり、`DEVELOPMENT` ステージで編集やテストを行い、`LIVE` ステージを使用して顧客のリクエストを処理できるということです。`DEVELOPMENT` プロジェクトはコンソールからアクセスできないため、API を介して変更および呼び出す必要があります。

プロジェクトでは、1 つのリソースを複数のファイルタイプで使用できます。例えば、プロジェクト名 ABC を使用して BDA に送信されたオーディオファイルは、プロジェクト ABC のオーディオ標準出力設定を使用して処理されます。プロジェクト名 ABC を使用して BDA に送信されたドキュメントは、プロジェクト ABC のドキュメント標準出力設定を使用して処理されます。

プロジェクトを使用すると、標準出力を設定する際の柔軟性が向上します。各標準出力には、文字起こしや概要などの設定可能なオプションがあり、プロジェクトではこれらのオプションを変更して、ユースケースにより適したものにすることができます。ドキュメント、オーディオ、画像用のブループリントを使用してプロジェクトを設定し、カスタム出力を定義することもできます。カスタム出力を生成するように設定されているプロジェクトは、標準出力も自動的に生成します。

次のセクションでは、プロジェクトの使用例をいくつか紹介します。

## 標準出力でのプロジェクトの使用
<a name="bda-standard-example"></a>

オーディオファイル全体とビデオファイル全体から文字起こしの概要のみを抽出するユースケースについて考えてみましょう。デフォルトでは、BDA にオーディオファイルとビデオファイルを送信すると、完全な文字起こしとともに、文字起こしの概要とシーンレベルの概要、検出されたテキストなどの情報を受け取ることができます。このユースケースでは、不要な情報を収集するために余分な時間とリソースを費やす必要はありません。このユースケースでは、オーディオファイルとビデオファイルに対して概要機能のみを有効にするよう、標準出力プロジェクトを設定できます。

API またはコンソールを使用してこれを行うには、プロジェクトを作成し、オーディオとビデオの標準出力設定を変更します。ビデオの場合は、**[ビデオ全体の概要]** を有効にしますが、他の抽出 (オーディオ全体の文字起こし、シーンの概要、コンテンツモデレーションなど) は無効にしてください。オーディオの場合は、この設定を繰り返します。概要のみを生成するようにプロジェクトを設定した後、プロジェクトを保存し、プロジェクトの Amazon リソースネーム (ARN) を書き留めます。この ARN を `InvokeDataAutomationAsync` オペレーションで使用して、大規模にファイルを処理できます。BDA にオーディオファイルまたはビデオファイルを渡し、このプロジェクトの ARN を指定すると、各ファイルの概要のみを出力として受け取ることができます。なお、この例ではドキュメントや画像に対して実行された設定はありませんでした。つまり、そのプロジェクトの ARN を使用して BDA に画像またはドキュメントを渡すと、それらのファイルに対応するデフォルトの標準出力を受け取るということです。

## カスタム出力と標準出力でのプロジェクトの使用
<a name="bda-mixed-example"></a>

このユースケースでは、ドキュメントおよびオーディオファイルの標準出力の概要を生成し、ドキュメントからカスタムフィールドを抽出する必要があると想定しましょう。プロジェクトを作成した後、オーディオの標準出力を設定して **[オーディオ全体の概要]** を有効にし、他の抽出が有効になっていないことを確認してください。ドキュメントの場合は、この標準出力設定を繰り返します。次に、新しいブループリントを追加するか、BDA グローバルカタログから既存のブループリントを選択すると、ドキュメントに対してカスタム出力を設定できます。このプロジェクトの ARN を使用して BDA に渡されるドキュメントは、標準出力のドキュメント全体の概要と、定義されたカスタムフィールドに対応するブループリント出力を生成します。このプロジェクトの ARN を使用して BDA に渡されるオーディオファイルは、全体の概要を生成します。

ドキュメントを処理するときは、プロジェクトに渡される異なる種類のドキュメントに複数のブループリントを使用することをお勧めします。1 つのプロジェクトには、最大 40 個のドキュメントブループリントをアタッチできます。BDA は、プロジェクトに設定された適切なブループリントに自動的にドキュメントをマッチングし、そのブループリントを用いてカスタム出力を生成します。さらに、ドキュメントを一括で渡すこともできます。複数のドキュメントを含むファイルを渡した場合、プロジェクト作成時にドキュメントの分割を選択できます。これを選択した場合、BDA はファイルをスキャンし、コンテキストに基づいて個々のドキュメントに分割します。それらの個々のドキュメントは、その後、正しいブループリントとマッチングして処理されます。

現在、画像はプロジェクトごとに 1 つのブループリント定義のみをサポートしています。画像ファイルタイプの JPG と PNG は、それぞれのコンテンツに基づいて画像として扱われる場合とスキャンされたドキュメントとして扱われる場合があります。ドキュメントのカスタム出力を処理する際には、画像に対してカスタムブループリントを作成することを推奨します。これにより、BDA はテキストを含む画像ファイルに対して必要な出力を提供します。

オーディオファイルも、プロジェクトごとに 1 つのブループリント定義のみをサポートしています。

# プロジェクト使用中にドキュメントを分割する
<a name="bda-document-splitting"></a>

Amazon Bedrock データ自動化 (BDA) は、 Amazon Bedrock API を使用する際のドキュメントの分割をサポートしています。分割を有効にすると、BDA は複数の論理ドキュメントを含む PDF を取得し、処理に向けて個別のドキュメントに分割して処理できます。

分割が完了すると、分割済みのドキュメントの各セグメントは個別に処理されます。つまり、入力ドキュメントにはさまざまなタイプのドキュメントを含めることができます。例えば、3 つの銀行取引明細書と 1 つの W2 を含む PDF がある場合、個別に処理するために、4 つの別々のドキュメントへの分割が試行されます。

BDA 自動分割は、最大 3,000 ページのファイル、個別のドキュメントは最長 20 ページまでサポートします。

ドキュメントを分割するオプションは、デフォルトでオフになっていますが、API の使用時にオンに切り替えることができます。分割機能を有効にしてプロジェクトを作成する例は、以下のとおりです。省略記号は、プロジェクトに提供された追加のブループリントを表します。

```
   response = client.create_data_automation_project(
    projectName=project_name,
    projectDescription="Provide a project description",
    projectStage='LIVE',
    standardOutputConfiguration=output_config,
    customOutputConfiguration={
    'blueprints': [
        {
        'blueprintArn': Blueprint ARN,
        'blueprintStage': 'LIVE'
        },
        ...
        ]
        },
         overrideConfiguration={'document': {'splitter': {'state': 'ENABLED'}}}
)
```

分割プロセスを有効にする部分は、overrideConfiguration の行です。この行は分割機能を設定し、同じファイル内で複数のドキュメントを渡すことができるようにします。

ドキュメントは、ドキュメント内のセマンティック境界によって分割されます。

ドキュメントの分割は、ブループリントの適用には依存せずに処理され、分割されたドキュメントは、最も近いブループリントとマッチングされます。BDA がブループリントとマッチングする方法の詳細については、「[ブループリントのマッチングを理解する](#bda-blueprint-matching)」を参照してください。

## ブループリントのマッチングを理解する
<a name="bda-blueprint-matching"></a>

ブループリントのマッチングは、次の要素に基づいて行われます。
+  ブループリント名 
+  ブループリントの説明 
+  ブループリントのフィールド 

ドキュメントを処理する際に、マッチング先の複数のブループリントを指定できます。これにより、適切なブループリントを使用して、さまざまなドキュメントタイプを処理できます。データオートメーション API を呼び出す際に、複数のブループリント ID を指定することができます。BDA は、各ドキュメントを最適なブループリントとマッチングしようとします。これにより、多種のドキュメントタイプを単一のバッチで処理できます。これは、ドキュメントのタイプが異なることが予想される場合 (銀行取引明細書、請求書、パスポートなど) に役に立ちます。

ドキュメント形式が非常に異なるため、または特殊なプロンプトが必要なため、個別のブループリントが必要な場合は、ドキュメントタイプごとに 1 つのブループリントを作成すると、マッチングに役立ちます。有益なブループリントを作成する方法の詳細については、「[ブループリントを作成するためのベストプラクティス](#bda-blueprint-best-practices)」を参照してください。

## ブループリントを作成するためのベストプラクティス
<a name="bda-blueprint-best-practices"></a>

 ブループリントを最大限に活用するには、次のベストプラクティスに従ってください。
+ マッチングに役立つように、ブループリントの名前と説明を明確かつ詳細に記述します。
+ 関連するブループリントを複数提供すると、BDA は最適なものを選択できます。ドキュメントの形式が大幅に異なる場合は、それぞれ個別のブループリントを作成します。
+ 最大限の正解率が必要な場合は、ベンダーまたはドキュメントのソースごとに専用のブループリントを作成することを検討してください。
+ プロジェクトに同じタイプの 2 つのブループリント (2 つの W2 ブループリントなど) を含めないでください。ドキュメントの処理には、ドキュメント自体とブループリントの情報が使用されます。単一のプロジェクトに同じタイプの複数のブループリントを含めると、パフォーマンスが低下します。

BDA は、ドキュメント分割と複数のブループリントのマッチングを活用することで、各ドキュメントに最も適切な抽出ロジックを適用しながら、さまざまなドキュメントセットをより柔軟に処理することができます。

# モダリティとルーティングファイルタイプを無効化する
<a name="bda-routing-enablement"></a>

デフォルトでは、BDA のプロジェクトは、異なるセマンティックモダリティにソートすることにより、サポートされているファイルタイプを処理します。プロジェクトを作成または編集するとき、処理するモダリティと、どのファイルタイプをどのモダリティに送信するかを変更できます。このセクションでは、さまざまなモダリティの有効化と無効化、特定のモダリティへのファイルのルーティング、BDA のデフォルトのルーティング手順について説明します。

## モダリティ処理を無効化する
<a name="bda-modality-enablement"></a>

プロジェクトを作成するとき、あらゆる種類のファイルの処理が含まれているわけではないユースケースが存在する場合があります。例えば、ドキュメントとオーディオファイルのみを処理すればよいことがあります。その場合、画像として処理される JPEG や動画として処理される MP4 を BDA が送信することを防ぐ必要があります。モダリティ有効化により、プロジェクト内の特定のモダリティをオフにし、BDA の処理からのレスポンスをキュレートすることができます。

**BDA コンソールでモダリティを無効化する**  
BDA コンソールを使用する場合、モダリティ有効化はチェックリストによって処理されます。チェックリストでは、プロジェクトの編集または作成中に各モダリティを選択または選択解除することができます。これらのオプションは、[詳細設定] タブの下にあります。プロジェクトでは少なくとも 1 つのモダリティを選択する必要があります。

![\[Modality enablement options with checkboxes for document, image, video, and audio.\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/modalityenableconsole.png)


**BDA API を使用してモダリティを無効化する**  
BDA API を使用する場合、モダリティ有効化は `CreateDataAutomation` オペレーションにある `overrideConfiguration` リクエスト要素によって処理されます。各モダリティには、モダリティの `ENABLED` または `DISABLED` を宣言できる関連付けセクションがあります。以下は、ドキュメントモダリティとオーディオモダリティのみが有効になっている `overrideConfiguration` 要素の例です。`modalityProcessing` フラグはデフォルトで `ENABLED` に設定されています。

```
"overrideConfiguration" : {
    "document": {
        "splitter": {
            "state": ENABLED
        },
        "modalityProcessing": {
            "state": ENABLED
        },
    },
    "image": {
        "modalityProcessing": {
            "state": DISABLED
        }
    },
    "video": {
        "modalityProcessing": {
            "state": DISABLED 
        }
    },
    "audio": {
        "modalityProcessing": {
            "state": ENABLED
        }
    },
    ...
}
```

このセクションの最後にある省略記号は、`modalityRouting` 要素の削除を示しています。これについては、次のセクションで詳しく説明します。

## 特定の処理タイプにファイルをルーティングする
<a name="bda-modality-routing"></a>

特定のファイルタイプを、さまざまな要素に基づいて異なるモダリティにルーティングすることができます。モダリティルーティングを使用すると、特定のファイルタイプを手動で特定のモダリティ処理にルーティングするよう設定できます。JPEG と PNG は、ドキュメント処理または画像処理のいずれかにルーティングできます。MP4 と MOV は、動画処理またはオーディオ処理のいずれかにルーティングできます。

**BDA コンソールを使用してルーティングする**  
ブループリントを作成または編集するとき、[詳細設定] タブで新しい手動モダリティルーティングを追加することを選択できます。これにより、使用可能な 4 つのファイルタイプのいずれかを選択し、ルーティングする処理モダリティを選択できます。以下は、PNG ファイルをドキュメント処理モダリティに送信する手動モダリティルーティングが表示された、コンソールのスクリーンショットです。

**注記**  
JPEG ファイルの設定は、「.jpeg」ファイルと「.jpg」ファイルの両方に適用されます。MP4 設定は、「.mp4」ファイルと「.m4v」ファイルの両方に適用されます。

![\[AWS コンソールの画像。PNG およびドキュメントとして選択された、ファイルタイプとモダリティ送信先というラベルが付けられたドロップダウンメニューのペアを示しています。\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/manualrouting.png)


**BDA API を使用してルーティングする**  
モダリティ有効化と同様、モダリティルーティングは `overrideConfiguration` リクエスト要素を介して処理されます。以下は、`overrideConfiguration` の `modalityRouting` 部分の例です。この例では、すべてのモダリティが有効になっていると仮定し、JPEG および PNG ファイルをドキュメントモダリティに、MP4 および MOV ファイルをオーディオモダリティにルーティングします。

```
...
   "modalityRouting": {
        "jpeg": DOCUMENT, 
        "png": DOCUMENT,  
        "mp4": AUDIO,     
        "mov": AUDIO      
    }
}
```

例の先頭にある省略記号は、`overrideConfiguration` の残りの部分の削除を示しています。これについては、モダリティ有効化とドキュメントスプリッタ機能に関するセクションで詳しく説明します。

## InvokeDataAutomationAsync API の標準ルーティング
<a name="bda-standard-routing-async"></a>

独自のルーティング手順が設定されていない場合、BDA はファイルタイプに基づいて標準の一連の手順を使用し、BDA がルーティングするモダリティを決定します。デフォルトの手順を以下の表に示します。

PNG と JPEG は、セマンティック分類をデフォルトの動作としてリストします。つまり、BDA は、内部モデルを使用して、送信されたファイルが画像であるかドキュメントであるかのインジケーターを確認し、ルーティングを自動的に実行します。


| ファイルタイプ | デフォルトルーティング動作 | 
| --- | --- | 
|  PNG  |  セマンティック分類 (画像またはドキュメント)  | 
|  JPEG  |  セマンティック分類 (画像またはドキュメント)  | 
|  PDF、TIFF  |  ドキュメント  | 
|  MP4、MOV  |  動画  | 
|  AMR、FLAC、M4A、MP3、OGG、WEBM、WAV  |   音声  | 

## InvokeDataAutomation API の標準ルーティング
<a name="bda-standard-routing-sync"></a>

[InvokeDataAutomation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomation.html) API は、送信された PNG または JPEG ファイルが内部モデルを使用するイメージまたはドキュメントであるかどうかを示すインジケータも確認し、ルーティングを自動的に実行します。デフォルトの手順を以下の表に示します。

PNGsと JPEGsセマンティック分類子をデフォルトの動作として一覧表示します。つまり、BDA は、内部モデルを使用して、送信されたファイルが画像であるかドキュメントであるかのインジケーターを確認し、ルーティングを自動的に実行します。PDF ファイルと TIFF ファイルは、処理のためにドキュメントモダリティにルーティングされます。InvokeDataAutomation API は現在、オーディオファイルとビデオファイルをサポートしていません。


| ファイルタイプ | デフォルトルーティング動作 | 
| --- | --- | 
|  PNG  |  セマンティック分類 (画像またはドキュメント)  | 
|  JPEG  |  セマンティック分類 (画像またはドキュメント)  | 
|  PDF、TIFF  |  ドキュメント  | 

# Bedrock Data Automation に必要なクロスリージョンサポート
<a name="bda-cris"></a>

BDA では、ファイルを処理する際にクロスリージョン推論サポートを使用する必要があります。クロスリージョン推論により、Amazon Bedrock Data Automation は、地理的に最適なリージョン (下記の表を参照) を自動的に選択して推論リクエストを処理し、利用可能なコンピューティングリソースとモデルの可用性を最大化して、最高レベルのカスタマーエクスペリエンスを提供できるようになります。クロスリージョン推論の使用に追加コストはかかりません。クロスリージョン推論リクエストは、データが最初に存在していた地域に属する AWS リージョン 内に保持されます。例えば、米国内で行われたリクエストは、米国の AWS リージョン内に保持されます。データは送信元リージョンにのみ保存されますが、クロスリージョン推論を使用する場合、リクエストと出力結果がプライマリリージョン外に移動される可能性があります。すべてのデータは、Amazon の安全なネットワークを介した送信中に暗号化されます。

さまざまな推論プロファイルの ARN は、次の表のとおりです。アカウント ID は、実際に使用しているアカウント ID に置き換えます。


| 送信元リージョン | Amazon リソースネーム (ARN)  | サポート対象のリージョン | 
| --- | --- | --- | 
|  米国東部 (バージニア北部)  |  arn:aws:bedrock:us-east-1:*account id*:data-automation-profile/us.data-automation-v1  |  us-east-1 us-east-2 us-west-1 us-west-2  | 
|  米国西部 (オレゴン)  |  arn:aws:bedrock:us-west-2:*account id*:data-automation-profile/us.data-automation-v1  |  us-east-1 us-east-2 us-west-1 us-west-2  | 
|  欧州 (フランクフルト)  |  arn:aws:bedrock:eu-central-1:*account id*:data-automation-profile/eu.data-automation-v1  |  eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3  | 
|  欧州 (アイルランド)  |  arn:aws:bedrock:eu-west-1:*account id*:data-automation-profile/eu.data-automation-v1  |  eu-central-1 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-3  | 
|  欧州 (ロンドン)  |  arn:aws:bedrock:eu-west-2:*account id*:data-automation-profile/eu.data-automation-v1  |  eu-west-2  | 
|  アジアパシフィック (ムンバイ)  |  arn:aws:bedrock:ap-south-1:*account id*:data-automation-profile/apac.data-automation-v1  |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 ap-southeast-4  | 
|  アジアパシフィック (シドニー)  |  arn:aws:bedrock:ap-southeast-2:*account id*:data-automation-profile/apac.data-automation-v1  |  ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 ap-southeast-4  | 
|  AWS GovCloud (米国西部)  |  arn:aws:bedrock:gov-cloud:*account id*:data-automation-profile/us-gov.data-automation-v1  |  us-gov-west-1  | 

以下は、`us-east-1` または `us-west-2` で、CRIS が有効になっているドキュメントを処理するための IAM ポリシーの例です。

```
{"Effect": "Allow",
 "Action": ["bedrock:InvokeDataAutomationAsync"],
 "Resource": [
  "arn:aws:bedrock:us-east-1:account_id:data-automation-profile/us.data-automation-v1",
  "arn:aws:bedrock:us-east-2:account_id:data-automation-profile/us.data-automation-v1",
  "arn:aws:bedrock:us-west-1:account_id:data-automation-profile/us.data-automation-v1",
  "arn:aws:bedrock:us-west-2:account_id:data-automation-profile/us.data-automation-v1"]}
```

# Bedrock Data Automation の標準出力
<a name="bda-standard-output"></a>

標準出力は、 Amazon Bedrock データオートメーション (BDA) を操作するデフォルトの方法です。ブループリントやプロジェクトが確立されていない状態でドキュメントを BDA API に渡すと、そのファイルタイプのデフォルトの標準出力が返されます。標準出力は、各データ型の設定情報を保存するプロジェクトを使用して変更できます。各プロジェクトのデータ型ごとに 1 つの標準出力を設定できます。BDA は、カスタム出力レスポンスと連携する場合でも、常に標準出力レスポンスを提供します。

各データ型の標準出力オプションはさまざまです。これらのオプションの一部は、デフォルトの Bedrock Data Automation レスポンスの一部ですが、プロジェクトでデータ型を操作するためのトグルとしてのみ存在するものもあります。以降のセクションでは、各データ型に固有のレスポンスオプションについて説明し、デフォルトとオプションの両方を提供します。

# ドキュメント
<a name="bda-output-documents"></a>

ドキュメントの標準出力では、関心のあるレスポンスの詳細度を設定し、出力に出力形式とテキスト形式を確立できます。有効にできる出力の一部を以下に示します。

**注記**  
BDA は DOCX ファイルを処理できます。DOCX ファイルを処理するために、ファイルは PDF に変換されます。つまり、ページ番号マッピングは DOCX ファイルには機能しません。JSON\$1 オプションとページの詳細度が選択されている場合、変換された PDF のイメージが出力バケットにアップロードされます。

## レスポンスの詳細度
<a name="document-granularity"></a>

レスポンスの詳細度によって、ドキュメントテキスト抽出から受け取るレスポンスの種類が決まります。詳細度の各レベルは、多くの個別のレスポンスを提供し、ページはすべてのテキストをまとめて抽出し、単語は各単語を個別のレスポンスとして提供します。使用可能な詳細度レベルは次のとおりです。
+ ページレベルの詳細度 – これはデフォルトで有効になっています。ページレベルの詳細度は、選択したテキスト出力形式でドキュメントの各ページを提供します。PDF を処理する場合、このレベルの詳細度を有効にすると、埋め込まれたハイパーリンクが検出されて返されます。
+ 要素レベルの詳細度 (レイアウト) – これはデフォルトで有効になっています。ドキュメントのテキストを任意の出力形式で、さまざまな要素に分割して提供します。図、表、段落などの要素。これらは、ドキュメントの構造に基づいて論理的な読み取り順序で返されます。PDF を処理する場合、このレベルの詳細度を有効にすると、埋め込まれたハイパーリンクが検出されて返されます。
+ 単語レベルの詳細度 – より広範なコンテキスト分析を使用せずに、個々の単語に関する情報を提供します。各単語とその場所がページに表示されます。

## 出力設定
<a name="document-output-settings"></a>

出力設定により、ダウンロードした結果の構造が決まります。この設定はコンソール専用です。出力設定のオプションは次のとおりです。
+ JSON – ドキュメント分析のデフォルトの出力構造。設定からの情報を含む JSON 出力ファイルを提供します。
  + 非同期 [InvokeDataAutomationAsync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomationAsync.html) API: 非同期 API の JSON 出力は S3 のみです。
  + Sync [InvokeDataAutomation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomation.html) API: JSON 出力は、 を活用して S3 またはインラインに設定できます`outputconfiguration`。S3 が選択されている場合、出力 JSON は S3 のみになります (インラインではありません）。S3 が指定されていない場合、Sync API 出力は JSON インラインのみをサポートします。
+ JSON\$1files – 非同期 [InvokeDataAutomationAsync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomationAsync.html) API でのみ使用できます。この設定を使用すると、JSON 出力と、異なる出力に対応するファイルの両方が生成されます。例えば、この設定ではテキスト抽出全体のテキストファイル、構造マークダウンを含むテキストのマークダウンファイル、およびテキストに含まれる各テーブルの CSV ファイルが提供されます。ドキュメント内の図は、図のトリミングと修正されたイメージとともに保存されます。また、DOCX ファイルを処理していて、このオプションを選択した場合、DOCX ファイルの変換された PDF が出力フォルダにあります。これらの出力は、出力フォルダの `standard_output/logical_doc_id/assets/` にあります。

**注記**  
同期 API は、JSON 以外の追加のファイルを出力しません。出力 JSON には、標準出力テキスト形式の一部として選択されたテキスト形式のみが含まれます。Sync API は Figure クロップまたは修正済みイメージを出力しません。
DocX は Sync API ではサポートされていません。

## テキスト形式
<a name="document-text-format"></a>

テキスト形式は、さまざまな抽出オペレーションを介して提供されるさまざまな種類のテキストを特定します。テキスト形式には、次のオプションをいくつでも選択できます。
+ プレーンテキスト – この設定では、フォーマットやその他のマークダウン要素に留意せずに、テキストのみの出力を提供します。
+ マークダウン付きのテキスト – 標準出力のデフォルトの出力設定。マークダウン要素が統合されたテキストを提供します。
+ HTML を使用したテキスト – レスポンスに統合された HTML 要素を含むテキストを提供します。
+ CSV – ドキュメント内のテーブルの CSV 構造化出力を提供します。この設定では、ドキュメントの他の要素ではなく、テーブルに対してのみレスポンスが提供されます。

## 境界ボックスと生成フィールド
<a name="additional-response-document"></a>

ドキュメントには、選択した詳細度に基づいて出力を変更する 2 つのレスポンスオプションがあります。「境界ボックス」と「生成フィールド」です。「境界ボックス」を選択すると、コンソールレスポンスのドロップダウンでクリックした要素または単語の視覚的な概要が表示されます。これにより、レスポンスの特定要素をより簡単に追跡できます。「境界ボックス」は、JSON でボックスの 4 つのコーナーの座標として返されます。

「生成フィールド」を選択すると、10 単語バージョンと 250 単語バージョンの両方でドキュメントの概要が生成されます。次に、要素をレスポンスの詳細度として選択すると、ドキュメント内で検出された各図のわかりやすいキャプションが生成されます。図には、チャート、グラフ、イメージなどがあります。

------
#### [ Async ]

このセクションでは、ドキュメントファイルで API オペレーション InvokeDataAutomationAsync を実行することで受け取るさまざまなレスポンスオブジェクトに焦点を当てます。以下に、レスポンスオブジェクトの各セクションを分類し、サンプルドキュメントの完全な入力済みレスポンスを示します。最初に受け取るセクションは `metadata` です。

```
"metadata":{
   "logical_subdocument_id":"XXXX-XXXX-XXXX-XXXX",
   "semantic_modality":"DOCUMENT",
   "s3_bucket":"bucket",
   "s3_prefix":"prefix"
},
```

上記の最初のセクションでは、ドキュメントに関連付けられたメタデータの概要を示します。このセクションでは、S3 情報に加えて、レスポンスにどのモダリティが選択されたかついても説明します。

```
"document":{
   "representation":{
      "text":"document text",
      "html":"document title document content",
      "markdown":"# text"
   },
   "description":"document text",
   "summary":"summary text",
   "statistics":{
      "element_count":5,
      "table_count":1,
      "figure_count":1,
      "word_count":1000,
      "line_count":32
   }
},
```

上記のセクションでは、ドキュメントレベルの詳細度情報を提供します。説明セクションと概要セクションは、ドキュメントに基づいて生成されたフィールドです。表現セクションは、ドキュメントの実際のコンテンツをさまざまなフォーマットスタイルで提供します。最後に、統計には、セマンティック要素の数、図、単語、行の数など、ドキュメントの実際のコンテンツに関する情報が含まれます。

これはテーブルエンティティに関する情報です。InvokeDataAutomationAsync (非同期) リクエストでは、位置情報、さまざまな形式のテキスト、テーブル、および読み取り順序に加えて、S3 バケット内のテーブルの csv 情報とトリミングされたイメージを特に返します。CSV 情報には、さまざまなヘッダー、フッター、タイトルが示されます。イメージは、InvokeDataAutomationAsync リクエストで設定されたプレフィックスの s3 バケットにルーティングされます。InvokeDataAutomation (同期) リクエストでは、S3 バケット内のテーブルの csv およびトリミングされたイメージはサポートされていません。

PDF を処理すると、レスポンスの統計セクションに、ドキュメント内に存在するハイパーリンクの数を示す `hyperlinks_count` も含まれます。

```
{
   "id":"entity_id",
   "type":"TEXT",
   "representation":{
      "text":"document text",
      "html":"document title document content",
      "markdown":"# text"
   },
   "reading_order":2,
   "page_indices":[
      0
   ],
   "locations":[
      {
         "page_index":0,
         "bounding_box":{
            "left":0.0,
            "top":0.0,
            "width":0.05,
            "height":0.5
         }
      }
   ],
   "sub_type":"TITLE/SECTION_TITLE/HEADER/FOOTER/PARAGRAPH/LIST/PAGE_NUMBER"
},
```

これは、レスポンスの `TYPE` 行で示される、ドキュメント内のテキストに使用されるエンティティです。ここでも表現は、テキストをさまざまなフォーマットで示します。`reading_order` は、読者がテキストを論理的に見る時期を示します。これは、関連するキーと値に基づくセマンティック順序です。例えば、段落のタイトルをそれぞれの段落に読み取り順に関連付けます。`page_indices` は、テキストがどのページにあるかを示します。次は位置情報です。レスポンスで有効になっていた場合は、テキスト境界ボックスが表示されます。最後に、エンティティサブタイプがあります。このサブタイプは、検出されたテキストの種類に関するより詳細な情報を提供します。サブタイプの完全な一覧については、「API リファレンス」を参照してください。

```
{
   "id":"entity_id",
   "type":"TABLE",
   "representation":{
      "html":"table.../table",
      "markdown":"| header | ...",
      "text":"header \t header",
      "csv":"header, header, header\n..."
   },
   "csv_s3_uri":"s3://",
   "headers":[
      "date",
      "amount",
      "description",
      "total"
   ],
   "reading_order":3,
   "title":"Title of the table",
   "footers":[
      "the footers of the table"
   ],
   "crop_images":[
      "s3://bucket/prefix.png",
      "s3://bucket/prefix.png"
   ],
   "page_indices":[
      0,
      1
   ],
   "locations":[
      {
         "page_index":0,
         "bounding_box":{
            "left":0,
            "top":0,
            "width":1,
            "height":1
         }
      },
      {
         "page_index":1,
         "bounding_box":{
            "left":0,
            "top":0,
            "width":1,
            "height":1
         }
      }
   ],
   "sub_type":"TITLE/SECTION_TITLE/HEADER/FOOTER/PARAGRAPH/LIST/PAGE_NUMBER"
},
```

これはテーブルエンティティに関する情報です。位置情報、テキスト、テーブル、読み取り順序のさまざまな形式に加えて、S3 バケット内のテーブルの csv 情報とトリミングされたイメージを特に返します。CSV 情報には、さまざまなヘッダー、フッター、タイトルが示されます。イメージは、InvokeDataAutomation リクエストで設定されたプレフィックスの s3 バケットにルーティングされます。

```
{

   "id":"entity_id",

   "type":"FIGURE",

   "summary":"",

   "representation":{

      "text":"document text",

      "html":"document title document content",

      "markdown":"# text"

   },

   "crop_images":[

      "s3://bucket/prefix.png",

      "s3://bucket/prefix.png"

   ],

   "locations":[

      {

         "page_index":0,

         "bounding_box":{

            "left":0,

            "top":0,

            "width":1,

            "height":1

         }

      }

   ],

   "sub_type":"CHART",

   "title":"figure title",

   "rai_flag":"APPROVED/REDACTED/REJECTED",

   "reading_order":1,

   "page_indices":[

      0

   ]

}
,
```

これは、ドキュメントのグラフやチャートなどの図に使用されるエンティティです。テーブルと同様に、これらの数値はトリミングされ、イメージはプレフィックスに設定された s3 バケットに送信されます。さらに、タイトルテキストの `sub_type` と図タイトルのレスポンスが返され、それがどのような図であるかを示されます。

```
"pages":[
   {
      "id":"page_id",
      "page_index":0,
      "detected_page_number":1,
      "representation":{
         "text":"document text",
         "html":"document title document content",
         "markdown":"# text"
      },
      "statistics":{
         "element_count":5,
         "table_count":1,
         "figure_count":1,
         "word_count":1000,
         "line_count":32
      },
      "asset_metadata":{
         "rectified_image":"s3://bucket/prefix.png",
         "rectified_image_width_pixels":1700,
         "rectified_image_height_pixels":2200
      }
   }
],
```

標準出力で抽出するエンティティの最後はページです。「ページ」は「テキスト」エンティティと同じですが、さらにページ番号が含まれ、検出されたページ番号がページに表示されます。

```
"text_lines":[
   {
      "id":"line_id",
      "text":"line text",
      "reading_order":1,
      "page_index":0,
      "locations":{
         "page_index":0,
         "bounding_box":{
            "left":0,
            "top":0,
            "width":1,
            "height":1
         }
      }
   }
],
```

```
"text_words":[
   {
      "id":"word_id",
      "text":"word text",
      "line_id":"line_id",
      "reading_order":1,
      "page_index":0,
      "locations":{
         "page_index":0,
         "bounding_box":{
            "left":0,
            "top":0,
            "width":1,
            "height":1
         }
      }
   }
]
```

これらの最後の 2 つの要素は、個々のテキスト部用です。単語レベルの詳細度では各単語のレスポンスが返されますが、デフォルトの出力ではテキスト行のみが報告されます。

------
#### [ Sync ]

このセクションでは、ドキュメントファイルで API オペレーション InvokeDataAutomation を実行することで受け取る、さまざまなレスポンスオブジェクトに焦点を当てます。以下に、レスポンスオブジェクトの各セクションを分類し、サンプルドキュメントの完全な入力済みレスポンスを示します。最初に受け取るセクションは `metadata` です。

```
            "metadata": {
                "logical_subdocument_id": "1",
                "semantic_modality": "DOCUMENT",
                "number_of_pages": X,
                "start_page_index": "1",
                "end_page_index": X,
                "file_type": "PDF"
            },
```

上記の最初のセクションでは、ドキュメントに関連付けられたメタデータの概要を示します。Synchronous InvokeDataAutomation API は現在ドキュメント分割をサポートしていないため、logical\$1subdocument\$1id は常に 1 に等しくなります。

```
"document":{
   "representation":{
      "text":"document text",
      "html":"document title document content",
      "markdown":"# text"
   },
   "description":"document text",
   "summary":"summary text",
   "statistics":{
      "element_count":5,
      "table_count":1,
      "figure_count":1,
      "word_count":1000,
      "line_count":32
   }
},
```

上記のセクションでは、ドキュメントレベルの詳細度情報を提供します。説明セクションと概要セクションは、ドキュメントに基づいて生成されたフィールドです。表現セクションは、ドキュメントの実際のコンテンツをさまざまなフォーマットスタイルで提供します。最後に、統計には、セマンティック要素の数、図、単語、行の数など、ドキュメントの実際のコンテンツに関する情報が含まれます。

注: 非同期 InvokeDataAutomationAsync リクエストとは異なり、同期 InvokeDataAutomation リクエストは、S3 バケット内のテーブルの csv 情報とトリミングされたイメージの返しをサポートしていません。

```
{
"id":"entity_id",
   "type":"TEXT",
   "representation":{
"text":"document text",
      "html":"document title document content",
      "markdown":"# text"
   },
   "reading_order":2,
   "page_indices":[
      0
   ],
   "locations":[
      {
"page_index":0,
         "bounding_box":{
"left":0.0,
            "top":0.0,
            "width":0.05,
            "height":0.5
         }
      }
   ],
   "sub_type":"TITLE/SECTION_TITLE/HEADER/FOOTER/PARAGRAPH/LIST/PAGE_NUMBER"
},
```

 これはドキュメント内のテキストに使用されるエンティティで、レスポンスの TYPE 行で示されます。ここでも表現はテキストをさまざまな形式で示します。 reading\$1order は、読者がテキストを論理的に見るタイミングを示します。これは、関連するキーと値に基づくセマンティック順序です。たとえば、段落のタイトルをそれぞれの段落に読み上げ順に関連付けます。 page\$1indices は、テキストがどのページにあるかを示します。次は位置情報です。レスポンスで有効になっていた場合は、テキスト境界ボックスが表示されます。最後に、エンティティサブタイプがあります。このサブタイプは、検出されたテキストの種類に関するより詳細な情報を提供します。サブタイプの完全な一覧については、「API リファレンス」を参照してください。

```
{
    "id": "entity_id",
    "type": "TABLE",
    "representation": {
        "html": "table.../table",
        "markdown": "| header | ...",
        "text": "header \t header",
        "csv": "header, header, header\n..."
    },
    "headers": ["date", "amount", "description", "total"],
    "reading_order": 3,
    "title": "Title of the table",
    "footers": ["the footers of the table"],
    "page_indices": [0, 1],
    "locations": [{
        "page_index": 0,
        "bounding_box": {
            "left": 0,
            "top": 0,
            "width": 1,
            "height": 1
        }
    }, {
        "page_index": 1,
        "bounding_box": {
            "left": 0,
            "top": 0,
            "width": 1,
            "height": 1
        }
    }]
},
```

これはテーブルエンティティに関する情報です。CSV 情報には、さまざまなヘッダー、フッター、タイトルが示されます。

```
{

    "id": "entity_id",
    "type": "FIGURE",
    "summary": "",
    "representation": {
        "text": "document text",
        "html": "document title document content",
        "markdown": "# text"
    },

    "locations": [

        {
            "page_index": 0,
            "bounding_box": {
                "left": 0,
                "top": 0,
                "width": 1,
                "height": 1
            }
        }
    ],

    "sub_type": "CHART",
    "title": "figure title",
    "reading_order": 1,
    "page_indices": [
        0
    ]
},
​
```

これは、ドキュメントのグラフやチャートなどの図に使用されるエンティティです。タイトルテキストの `sub_type`とフィギュアタイトルレスポンスが表示され、どのようなフィギュアであるかが示されます。

```
"pages":[
   "pages":[
   {
"id":"page_id",
      "page_index":0,
      "detected_page_number":1,
      "representation":{
"text":"document text",
         "html":"document title document content",
         "markdown":"# text"
      },
      "statistics":{
"element_count":5,
         "table_count":1,
         "figure_count":1,
         "word_count":1000,
         "line_count":32
      },
      "asset_metadata":{
"rectified_image":"s3://bucket/prefix.png",
         "rectified_image_width_pixels":1700,
         "rectified_image_height_pixels":2200
      }
   }
],
```

標準出力で抽出するエンティティの最後はページです。「ページ」は「テキスト」エンティティと同じですが、さらにページ番号が含まれ、検出されたページ番号がページに表示されます。

```
"text_lines":[
   {
      "id":"line_id",
      "text":"line text",
      "reading_order":1,
      "page_index":0,
      "locations":{
         "page_index":0,
         "bounding_box":{
            "left":0,
            "top":0,
            "width":1,
            "height":1
         }
      }
   }
],
```

```
"text_words":[
   {
      "id":"word_id",
      "text":"word text",
      "line_id":"line_id",
      "reading_order":1,
      "page_index":0,
      "locations":{
         "page_index":0,
         "bounding_box":{
            "left":0,
            "top":0,
            "width":1,
            "height":1
         }
      }
   }
]
```

これらの最後の 2 つの要素は、個々のテキスト部用です。単語レベルの詳細度では各単語のレスポンスが返されますが、デフォルトの出力ではテキスト行のみが報告されます。

------

## 追加のファイル形式のメタデータ JSON
<a name="output-json-plus"></a>

追加のファイル形式フラグから追加のファイルを受け取ると、抽出された修正済みイメージの JSON ファイルを取得します。「BDA」は、ホモグラフィを使用してイメージを 90 度の角度に回転させることで、回転されたイメージを修正します。JSON の例を以下に示します。

```
        "asset_metadata": {
            "rectified_image": "s3://bucket/prefix.png",
            "rectified_image_width_pixels": 1700,
            "rectified_image_height_pixels": 2200,
            "corners": [
                [
                    0.006980135689736235,
                    -0.061692718505859376
                ],
                [
                    1.10847711439684,
                    0.00673927116394043
                ],
                [
                    0.994479346419327,
                    1.050548828125
                ],
                [
                    -0.11249661383904497,
                    0.9942819010416667
                ]
            ]
        }
```

「コーナー」は、イメージで検出されたコーナーを表し、ドキュメントのホモグラフィを形成するために使用されます。このホモグラフィは、他のプロパティを維持しながらイメージを回転させるために使用されます。

# イメージ
<a name="bda-ouput-image"></a>

Amazon Bedrock Data Automation (BDA) 機能は、画像処理を行って画像からインサイトを生成するための包括的な標準出力のセットを提供します。このインサイトを使用すると、コンテンツ検出、コンテキストに応じた広告配置、ブランドの安全性など、幅広いアプリケーションやユースケースを実現できます。画像の標準出力の一部として使用できる各オペレーションタイプの概要を次に示します。

## 画像概要
<a name="image-summarization"></a>

画像概要により、画像のわかりやすいキャプションを生成します。この機能は、標準出力設定内でデフォルトで有効になっています。

## IAB 分類
<a name="iab-classification"></a>

Interactive Advertising Bureau (IAB) 分類により、標準の広告分類を適用して画像コンテンツを分類します。プレビューでは、BDA は 24 のトップレベル (L1) カテゴリと 85 のセカンドレベル (L2) カテゴリをサポートします。BDA でサポートされている IAB カテゴリのリストをダウンロードするには、[ここ](samples/iab-taxonomy.zip)をクリックしてください。

## ロゴ検出
<a name="image-logo-detection"></a>

この機能により、画像内のロゴを識別し、画像内で検出された各ロゴの座標を示す境界ボックス情報と信頼度スコアを提供します。この機能は、デフォルトでは有効になっていません。

## 画像テキスト検出
<a name="image-text-detection"></a>

この機能により、画像に視覚的に表示されるテキストを検出して抽出し、画像内で検出された各テキスト要素の座標を示す境界ボックス情報と信頼度スコアを提供します。この機能は、標準出力設定内でデフォルトで有効になっています。

## コンテンツモデレーション
<a name="content-moderation"></a>

コンテンツモデレーションにより、画像内の不適切なコンテンツ、望ましくないコンテンツ、または不快なコンテンツを検出します。プレビューでは、BDA は、露骨な描写、局部を含む控えめなヌードやキスの描写、水着または下着、暴力、薬物とタバコ、アルコール、ヘイトシンボルという 7 つのモデレーションカテゴリをサポートします。画像内の露骨なテキストにはフラグが付けられません。

 境界ボックスと関連する信頼度スコアは、テキスト検出など、画像内の位置座標を提供する関連機能で有効または無効にすることができます。デフォルトでは、画像概要と画像テキスト検出が有効になっています。

## 画像の標準出力
<a name="image-standard-output-example"></a>

BDA で処理された画像の標準出力の例を次に示します。各セクションは短縮され、説明で区切られています。

```
{
"metadata": {
    "id": "image_123",
    "semantic_modality": "IMAGE",
    "s3_bucket": "my-s3-bucket",
    "s3_prefix": "images/",
    "image_width_pixels": 1920,
    "image_height_pixels": 1080,
    "color_depth": 24,
    "image_encoding": "JPEG"
},
```

レスポンスの最初の部分は、画像のメタデータです。これは、ファイル名、エンコードタイプ、S3 バケットの場所、コンテンツに関する詳細情報を提供します。

```
"image": {
    "summary": "Lively party scene with decorations and supplies",
```

レスポンスの先頭にあるのは、画像の生成概要です。

```
    "iab_categories": [
        {
            "id": "iab_12345",
            "type": "IAB",
            "category": "Party Supplies",
            "confidence": 0.9,
            "parent_name": "Events & Attractions",
            "taxonomy_level": 2
        },
        {
            "id": "iab_67890",
            "type": "IAB",
            "category": "Decorations",
            "confidence": 0.8,
            "parent_name": "Events & Attractions",
            "taxonomy_level": 1
        }
    ],
```

次に、レスポンスにアタッチされた IAB カテゴリがあります。これらは、標準の IAB 分類を使用した、さまざまなタイプの広告分類を表します。各カテゴリに、信頼度スコア、taxonomy\$1level、一般的な上位カテゴリを示す parent\$1name があります。

```
    "content_moderation": [
        {
            "id": "mod_12345",
            "type": "MODERATION",
            "category": "Drugs & Tobacco Paraphernalia & Use",
            "confidence": 0.7,
            "parent_name": "Drugs & Tobacco",
            "taxonomy_level": 2
        }
    ], 
    ...
```

コンテンツモデレーションには、画像内の露骨であると考えられるコンテンツに関する情報が含まれます。これらにはそれぞれ信頼度スコアとカテゴリがあり、このセクションで前述したコンテンツモデレーションカテゴリと一致しています。

```
    "text_words": [
        {
            "id": "word_1",
            "text": "lively",
            "confidence": 0.9,
            "line_id": "line_1",
            "locations": [
                {
                    "bounding_box": {
                        "left": 100,
                        "top": 200,
                        "width": 50,
                        "height": 20
                    },
                    "polygon": [
                        {"x": 100, "y": 200},
                        {"x": 150, "y": 200},
                        {"x": 150, "y": 220},
                        {"x": 100, "y": 220}
                    ]
                }
            ]
        },
        ...
```

このセクションは、信頼度や画像内の画面上の位置など、画像内で検出された各単語の明細を示します。また、`line_id` を使用して、単語がある行にフラグが付けられます。

```
    "text_lines": [
        {
            "id": "line_1",
            "text": "lively party",
            "confidence": 0.9,
            "locations": [
                {
                    "bounding_box": {
                        "left": 100,
                        "top": 200,
                        "width": 200,
                        "height": 20
                    },
                    "polygon": [
                        {"x": 100, "y": 200},
                        {"x": 300, "y": 200},
                        {"x": 300, "y": 220},
                        {"x": 100, "y": 220}
                    ]
                }
            ]
        }
    ]
},
```

ここでは、複数の単語が 1 行単位でまとめて検出され、信頼度スコアと境界ボックスが示されます。

```
"statistics": {
    "entity_count": 7,
    "object_count": 3,
    "line_count": 2,
    "word_count": 9
}
}
```

最後に、統計情報があります。これらは、オブジェクトなど、画像内のすべてのコンテンツの内訳を示します

# 動画
<a name="bda-ouput-video"></a>

BDA には、動画のインサイトを処理および生成するための標準出力セットが用意されています。各オペレーションタイプの詳細を次に示します。

## 動画全体の概要
<a name="video-summarization"></a>

動画全体の概要は、動画について全体的な概要を生成します。動画全体で表示される主要なテーマ、イベント、および情報を簡潔な概要にまとめます。動画全体の概要は、製品概要、トレーニング、ニュースキャスト、トークショー、ドキュメンタリーなど、説明的な対話を含むコンテンツ向けに最適化されています。BDA は、動画全体の概要とシーンの概要に含まれるオーディオシグナル (例: 話者が自己紹介をする) またはビジュアルシグナル (例: プレゼンテーションスライドに話者の名前が表示される) に基づいて、一意の話者ごとに名前を付けようとします。一意の話者の名前が解決されない場合は、一意の番号 (speaker\$10 など) で表されます。

## 章のサマリー
<a name="video-scene-summarization"></a>

動画の章の概要は、ビデオ内の個々のシーンのわかりやすい概要になります。動画の章は、動画内でアクションまたは物語の一貫した単位を形成する一連のショットです。この機能は、ビジュアルキュートとオーディブルキューに基づいて動画を意味のあるセグメントに分割し、セグメントにタイムスタンプを付けてそれぞれを要約します。

## IAB 分類
<a name="video-iab-classification"></a>

Interactive Advertising Bureau (IAB) 分類では、標準的な広告分類法を適用し、ビジュアル要素とオーディオ要素に基づいて動画のシーンを分類します。プレビューでは、BDA は 24 のトップレベル (L1) カテゴリと 85 のセカンドレベル (L2) カテゴリをサポートします。BDA でサポートされている IAB カテゴリのリストをダウンロードするには、[ここ](samples/iab-taxonomy.zip)をクリックしてください。

## オーディオ全体の文字起こし
<a name="full-audio-transcript"></a>

オーディオ全体の文字起こし機能は、オーディオファイル内のすべての発話を完全なテキストで表現します。高度な音声認識テクノロジーを使用して、対話、ナレーション、その他のオーディオ要素を正確に書き起こします。文字起こしには話者の識別が含まれるため、話者に基づいてオーディオ コンテンツ内を簡単に移動および検索できます。

## ビデオ内のテキスト
<a name="text-in-video"></a>

この機能は、ビデオに視覚的に表示されるテキストを検出して抽出します。静的テキスト (タイトルや字幕など) と動的テキスト (グラフィック内の動くテキストなど) の両方を識別できます。画像テキスト検出と同様に、検出された各テキスト要素の境界ボックス情報を提供するため、ビデオフレーム内の正確なローカリゼーションが可能です。

## ロゴ検出
<a name="video-logo-detection"></a>

この機能はビデオ内のロゴを識別して、ビデオフレーム内で検出された各ロゴの座標を示す境界ボックス情報および信頼度スコアを提供します。この機能は、デフォルトでは有効になっていません。

## コンテンツモデレーション
<a name="video-content-moderation"></a>

コンテンツモデレーションでは、ビデオ内の不適切なコンテンツ、望ましくないコンテンツ、または不快なコンテンツを検出します。BDA は、露骨な描写、局部を含む控えめなヌードやキスの描写、水着または下着、暴力、薬物とタバコ、アルコール、ヘイトシンボルという 7 つのモデレーションカテゴリをサポートします。ビデオ内の露骨なテキストにはフラグは付きません。

境界ボックスと関連する信頼度スコアは、テキスト検出など、ビデオ内の位置座標を提供する関連機能で有効または無効にすることができます。デフォルトでは、ビデオ全体の概要、シーンの概要、およびビデオテキスト検出が有効になっています。

**注記**  
 ビデオごとに 1 つのオーディオトラックのみがサポートされています。字幕ファイル形式 (SRT、VTT など) はサポートされていません。

## ビデオ標準出力
<a name="video-standard-output"></a>

BDA で処理されたビデオの標準出力の例を次に示します。

```
{
"metadata": {
    "asset_id": "0",
    "semantic_modality": "VIDEO",
    "s3_bucket": "bedrock-data-automation-gamma-assets-us-east-1",
    "s3_key": "demo-assets/Video/MakingTheCut.mp4",
    "format": "QuickTime / MOV",
    "frame_rate": 30,
    "codec": "h264",
    "duration_millis": 378233,
    "frame_width": 852,
    "frame_height": 480
  },
```

この最初のセクションでは、ビデオに関するメタデータ情報について説明します。これには、バケットの場所、形式、フレーム レート、その他の重要な情報が含まれます。

```
"shots": [ ...

    {
      "shot_index": 3,
      "start_timecode_smpte": "00:00:08:19",
      "end_timecode_smpte": "00:00:09:25",
      "start_timestamp_millis": 8633,
      "end_timestamp_millis": 9833,
      "start_frame_index": 259,
      "end_frame_index": 295,
      "duration_smpte": "00:00:01:06",
      "duration_millis": 1200,
      "duration_frames": 36,
      "confidence": 0.9956437242589935,
      "chapter_indices": [
        1
      ]
    },
```

これは、応答のショット要素の例です。ショットとはビデオの一部分であり、通常、ビデオの編集やカットに関連付けられています。ショットには、開始要素と終了要素、および chapter\$1indicies 要素が含まれます。この要素は、ショットが、ビデオのより大きなセクション (章という) のどれに属しているかを示します。

```
"chapters": [
    {
      "start_timecode_smpte": "00:00:00:00",
      "end_timecode_smpte": "00:00:08:18",
      "start_timestamp_millis": 0,
      "end_timestamp_millis": 8600,
      "start_frame_index": 0,
      "end_frame_index": 258,
      "duration_millis": 8600,
      "shot_indices": [
        0,
        1,
        2
      ],
      "summary": "At an elegant outdoor venue, a man in a suit and a woman in a patterned dress stand on a raised platform overlooking a reflective pool. The setting is adorned with palm trees and lush greenery, creating a tropical atmosphere. The man initiates the event by asking if they should begin, to which the woman responds affirmatively. As the scene progresses, the focus shifts to a woman wearing a distinctive black and white patterned coat, her hair styled in a bun. She stands alone in a dimly lit room, facing away from the camera. The narrative then moves to a formal setting where a man in a dark suit stands before a curtain backdrop, suggesting he may be about to address an audience or perform. The scene concludes with a view of the entire venue, showcasing its tropical charm with a swimming pool surrounded by palm trees and decorative lighting, indicating it's prepared for a special occasion.",
```

章はビデオよりも大きなくくりになります。次に、ショットなどの開始情報と終了情報、および shot\$1indicies 要素を含めます。shot\$1indicies は、任意の章内にどのショットが含まれるかを示します。最後に、概要要素は、章のコンテンツについて生成された概要を提供します。

```
 "frames": [...
         {
          "timecode_smpte": "00:00:03:15",
          "timestamp_millis": 3500,
          "frame_index": 105,
          "content_moderation": [],
          "text_words": [
            {
              "id": "266db64a-a7dc-463c-b710-7a178a2cc4cc",
              "type": "TEXT_WORD",
              "confidence": 0.99844897,
              "text": "ANDREA",
              "locations": [
                {
                  "bounding_box": {
                    "left": 0.1056338,
                    "top": 0.7363281,
                    "width": 0.19806337,
                    "height": 0.068359375
                  },
                  "polygon": [
                    {
                      "x": 0.1056338,
                      "y": 0.7363281
                    },
                    {
                      "x": 0.30369717,
                      "y": 0.7363281
                    },
                    {
                      "x": 0.30369717,
                      "y": 0.8046875
                    },
                    {
                      "x": 0.1056338,
                      "y": 0.8046875
                    }
                  ]
                }
              ],
              "line_id": "57b760fc-c410-418e-aee3-7c7ba58a71c2"
            },
```

ビデオの最小粒度はフレームで、ビデオ内にある 1 つの画像を表します。フレームには、content\$1moderation と text\$1words という 2 つの重要な応答要素があります。1 つ目の content\$1moderation は、フレームのコンテンツが検出された場合に、コンテンツモデレーションカテゴリに基づいてそのコンテンツに関する情報を提供します。2 番目の text\$1words は、クローズドキャプションなど、ビデオ内に表示されるテキストの場所と情報を提供します。

```
    "statistics": {
    "shot_count": 148,
    "chapter_count": 11,
    "speaker_count": 11
  }
}
```

最後に、統計では、特定のビデオに含まれるショット、話者、章の数など、検出に関する情報の内訳が提供されます。

# 音声
<a name="audio-processing"></a>

Amazon Bedrock Data Automation (BDA) 機能には、オーディオファイルのインサイトを処理および生成するための一連の標準出力が用意されています。各オペレーションタイプの詳細を次に示します。

## オーディオ全体の概要
<a name="audio-audio-summarization"></a>

オーディオ全体の概要は、オーディオファイル全体の全体的な概要を生成します。オーディオ全体で表示される主要なテーマ、イベント、および情報を簡潔な概要にまとめます。

## オーディオ全体の文字起こし
<a name="audio-audio-transcript"></a>

オーディオ全体の文字起こし機能は、オーディオ内のすべての音声コンテンツを完全なテキストで表現します。高度な音声認識テクノロジーを使用して、対話、ナレーション、その他のオーディオ要素を正確に書き起こします。文字起こしにはタイムスタンプが含まれているため、発話された単語に基づいてオーディオコンテンツ内を簡単に移動および検索できます。

### 話者とチャネルのラベル付け
<a name="w2aac28b8c11c13b5b3b7"></a>

生成された文字起こしでは、チャネルや話者のラベル付けを有効にできます。これにより、各チャネルまたは話者に番号が付けられ、チャネルが使用されていて、特定の話者が話しているときに文字起こし内で示されます。このラベルは、レスポンス内に「spk\$1」と表示され、その後に話者ごとに一意の番号 (最大 30 人) が続きます。最初の話者は「spk\$10」、その次は「spk\$11」となります。オーディオチャネルは、「ch\$10」というラベルが付いた最初のチャネルと同様に表示されますが、ラベル付けできるのは 2 つのチャネルのみです。

## トピックの概要
<a name="audio-topic-summary"></a>

オーディオトピックの概要は、オーディオファイルをトピックと呼ばれるセクションに分割し、それらを要約してキー情報を提供します。これらのトピックには、オーディオファイル全体に配置するのに役立つタイムスタンプが付けられています。この機能は、デフォルトでは有効になっていません。

## コンテンツモデレーション
<a name="audio-content-moderation"></a>

コンテンツモデレーションは、オーディオおよびテキストベースのキューを使用して、音声ベースの有害コンテンツを 7 つの異なるカテゴリに識別および分類します。
+ ****不敬****: 無礼、下品、攻撃的な単語やフレーズ、または頭字語を含む言葉。
+ ****ヘイトスピーチ****: 人種、民族、性同一性、宗教、性的指向、能力、出身国、その他のアイデンティティグループなど、アイデンティティに基づいて個人またはグループを批判、侮辱、否定する発言。
+  ****セクシャル: ****体の一部、身体的特徴、性別への直接的または間接的な言及により、性的関心、活動、性的嗜好を示す発言。
+ ****侮辱****: 屈辱的、嘲笑的、侮辱的、または軽蔑的な言葉を含む発言。この種の発言は、「いじめ」とも呼ばれます。
+ ****暴力または脅し: ****個人または集団に対して苦痛や痛み、敵意を与えることを意図する脅迫的な発言。
+ ****グラフィックスピーチ:**** 視覚的に説明的で詳細、不快かつ生々しい画像を使った発言。この種の言葉は、受け手の不快感を増幅させるために、意図的に冗長になることが多いのです。
+ ****ハラスメントや虐待****: 相手を侮辱したり対象化したりする発言など、受け手の心理的健康に影響を与えることを意図した発言。この種の言葉は、「ハラスメント」とも呼ばれます。

## オーディオ標準出力
<a name="audio-standard-output-example"></a>

このセクションでは、オーディオファイルで API オペレーション InvokeDataAutomation を実行することで受け取るさまざまなレスポンスオブジェクトに焦点を当てます。以下に、レスポンスオブジェクトの各セクションを分類し、サンプルドキュメントの完全な入力済みレスポンスを示します。最初に受け取るセクションは `metadata` です。

```
 "metadata": {
    "asset_id": "0",
    "semantic_modality": "AUDIO",
    "s3_bucket": "bedrock-data-automation-gamma-assets-us-east-1",
    "s3_key": "demo-assets/Audio/AWS_TCA-Call-Recording-2.wav",
    "sample_rate": 8000,
    "bitrate": 256000,
    "number_of_channels": 2,
    "codec": "pcm_s16le",
    "duration_millis": 237560,
    "format": "wav",
    "dominant_asset_language": "EN",
    "generative_output_language": "DEFAULT/EN"
  }
```

このセクションでは、s3 の場所、ビットレート、オーディオチャネル、形式など、ファイルに関する情報が分類されます。次に、`audio_items` を見ていきます。

`dominant_asset_language` indicaties は、秒単位の長さに基づいて、音声の中で最も存在する言語を指定します。 は、レスポンス出力がどの言語になるか`generative_output_language`を示します。「DEFAULT」に設定すると、主要言語が使用されます。

```
"audio_items": [
    {
      "item_index": 0,
      "audio_segment_index": 0,
      "content": "Auto",
      "start_timestamp_millis": 9,
      "end_timestamp_millis": 119
    },
    ...
]
```

項目セクションには、オーディオファイルのサウンドごとの内訳が含まれています。各項目は通常、単語の長さに関するものです。item\$1index は audio\$1items インデックス内の項目の場所を示し、audio\$1segment\$1index は次に説明するセグメントインデックス内の項目の位置を示します。

```
"audio_segments": [
    {
      "start_timestamp_millis": 0,
      "end_timestamp_millis": 1970,
      "segment_index": 0,
      "type": "TRANSCRIPT",
      "text": "Auto sales, Cherry speaking. How can I help you?",
      "speaker": {
        "speaker_label": "spk_0"
      },
      "channel": {
        "channel_label": "ch_0"
      },
      "audio_item_indices": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11
      ],
      "language": "EN"
    },
    ...
]
```

ここでは、長い期間に基づいてファイルの内訳を取得します。各セグメントは、ほぼ 1 文に相当します。セグメントに含まれるオーディオ項目とセグメント自体のテキストが示されています。次に、コンテンツモデレーションを見てみましょう。

話者とチャネルのラベル付けを有効にすると、このセグメントに存在する話者とチャネルを示す `speaker_label` セクションと `channel_label` セクションが表示されます。

```
"content_moderation": [
      {
        "id": "93068e72-290d-4aad-8717-a2cd0e02b0d0",
        "type": "AUDIO_MODERATION",
        "confidence": 0.0476,
        "start_timestamp_millis": 0,
        "end_timestamp_millis": 1970,
        "moderation_categories": [
          {
            "category": "profanity",
            "confidence": 0.1582
          },
          ...
        ]
      },
      ...
]
```

コンテンツモデレーションセクションでは、個々のセグメントを調べて 7 つのモデレーションカタゴリのどれに該当するかを分析し、各セクションの信頼スコアを算出できます。次のセクションはトピックです。

```
"topics": [
    {
      "topic_index": 0,
      "start_timestamp_millis": 0,
      "end_timestamp_millis": 36790,
      "summary": "As follows:\n\nSuzanne, a customer, recently had her Hyundai serviced at the auto sales shop where Carrie works. Suzanne had a 3 p.m. appointment and got her car serviced, which included an oil change and filter changes. However, when Suzanne left the shop, her oil light was still on, which she found concerning. Carrie acknowledged that this sometimes happens, even after a service visit, and assured Suzanne that she would look into the issue further.",
      "transcript": {
        "representation": {
          "text": "Auto sales, Cherry speaking. How can I help you? Yeah, hi Carrie, um, my name is Suzanne. I literally just left your shop. Um, I just went in and got my Hyundai service. Um, it just was, it just needed like filter error changes oil change and all that kind of stuff, um, but. When I left and my oil light is still on and I don't know why. Got it. You just got it serviced here, but when you drove off the light was still on. Is that what happened? Yeah, yeah, yeah, like I literally like I had a 3 p.m. appointment and I just got it, you know, believe it or not, this, this happens."
        }
      },
      "audio_segment_indices": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10
      ]
    },
    ...
]
```

トピックセクションは、セグメントの次のレベルの詳細度です。これらはセグメントのグループ化であり、概念によって大まかに分類されます。各トピックには、生成されたトピックの概要とトピックの正確なテストが含まれています。レスポンスの最後の部分は統計です。

```
 "statistics": {
    "word_count": 749,
    "topic_count": 4
  }
```

このセクションでは、オーディオファイルに関する情報が要約されます。これには、単語数トピックと合計トピックが含まれます。

# カスタム出力とブループリント
<a name="bda-custom-output-idp"></a>

Amazon Bedrock Data Automation (BDA) を使用すると、カスタム出力の設定を使用して、抽出結果をさらにファインチューニングできます。カスタム出力は、ブループリントと呼ばれるアーティファクトで設定されます。ブループリントは、ファイルから情報を抽出する方法を記述した指示リストであり、出力の変換と調整を可能にします。ブループリントの詳細と詳しいウォークスルーについては、「[ブループリント](bda-blueprint-info.md)」を参照してください。

カスタム出力設定は、プロジェクトとも連携して機能します。BDA にファイルを渡し、設定済みのブループリント (複数可) があるプロジェクトを参照すると、BDA は適切なブループリントを使用してファイルを処理します。これは、最大 40 のドキュメントのブルーペリント、単一のイメージブループリント、単一の音声ブループリント、および/または単一の動画ブループリントで機能します。複数のブループリントを使用する場合、BDA は想定されるレイアウトに最も一致するブループリントへのドキュメントの送信を試行します。プロジェクトとカスタム出力の詳細については、「[Bedrock Data Automation のプロジェクト](bda-projects.md)」を参照してください。

**注記**  
カスタム出力が処理するすべてのファイルは、BDA のファイル制限に従う必要があります。ファイルの制限の詳細については、「BDA の前提条件」を参照してください。

# ブループリント
<a name="bda-blueprint-info"></a>

ブループリント設は、ファイル処理のビジネスロジックの設定に使用できるアーティファクトです。各ブループリントは、抽出できるフィールド名のリスト、フィールドの応答を抽出する際のデータ形式 (文字列、数値、ブール値など)、およびデータの正規化と検証ルールを指定するために使用できる各フィールドの自然言語コンテキストで構成されます。W2、給与明細、ID カードなど、処理するファイルのクラスごとにブループリントを作成できます。ブループリントは、コンソールまたは API を使用して作成できます。作成する各ブループリントは、独自のブループリント ID と ARN を持つ AWS リソースです。

抽出にブループリントを使用する場合は、カタログブループリントまたはカスタム作成されたブループリントを使用できます。抽出元のファイルの種類が既にわかっている場合は、カタログブループリントがあらかじめ用意されている開始点になります。カタログにないファイルのカスタムブループリントを作成できます。ブループリントを作成するときは、ブループリントプロンプトからブループリントを生成したり、個々のフィールドを追加して手動で作成したり、JSON エディタを使用してブループリントの JSON を作成したりするなど、いくつかの方法を使用できます。これらはアカウントに保存して共有できます。

**注記**  
オーディオブループリントは、ブループリントプロンプトでは作成できません。

ブループリントの最大サイズは 100,000 文字で、JSON 形式です。[InvokeDataAutomationAsync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomationAsync.html) API で使用する設計図の場合、設計図あたりの最大フィールド数は 100 です。[InvokeDataAutomation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomation.html) API で使用する設計図の場合、設計図あたりの最大フィールド数は 15 です。

**注記**  
ブループリントを使用する場合、フィールド内またはブループリントの作成でプロンプトを使用することがあります。信頼できるソースのみがプロンプト入力を制御できるようにします。 Amazon Bedrock は、ブループリントのインテントを検証する責任を負いません。

## ブループリントのチュートリアル
<a name="bda-blueprint-walkthrough"></a>

パスポートなどの ID 文書を例に、この文書のブループリントを確認していきましょう。

![\[標準的なフィールドが含まれるサンプルパスポート。レイアウトと抽出されるデータフィールドを示しています。\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/passport2.png)


コンソールで作成したこの ID 文書のブループリントの例を次に示します。

![\[さまざまなカテゴリを含むパスポート フィールド定義のテーブルレイアウト。ブループリントの例を示しています。\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/bdapassport.png)


本質的に、ブループリントはフィールドを含むデータ構造であり、そのフィールドには BDA カスタム出力によって抽出された情報が含まれます。抽出テーブルには、2 種類のフィールド (明示的なものと暗黙的なもの) があります。明示的な抽出は、文書で確認できる明記された情報に使用されます。暗黙的な抽出は、文書に表示される方法から変換する必要がある情報に使用されます。例えば、社会保障番号からダッシュを削除して、111-22-3333 から 111223333 に変換する場合などが考えられます。フィールドには、特定の基本コンポーネントが含まれます。
+ フィールド名: ドキュメントから抽出する各フィールドに対して指定できる名前です。`Place_Birth` や `Place_of_birth` など、ダウンストリームシステムのフィールドに使用する名前を使用できます。
+ 説明: ブループリントの各フィールドに自然言語コンテキストを提供して、従うべきデータの正規化ルールまたは検証ルールを記述する入力です。例えば、`Date of birth in YYYY-MM-DD format`、`Is the year of birth before 1992?` です。ブループリントで繰り返し、BDA の応答の精度を高める方法としてもプロンプトを使用できます。必要なフィールドを説明する詳細なプロンプトを提供すると、基礎となるモデルの精度が向上します。プロンプトは最大 300 文字まで可能です。
+ 結果: プロンプトとフィールド名に基づいて BDA により抽出される情報。
+ タイプ: フィールドの応答で使用するデータ形式。文字列、数値、ブール値、文字列の配列、数値の配列をサポートしています。
+ 信頼スコア: 抽出が正確であるという BDA の確実性の割合。オーディオおよびイメージの設計図は信頼スコアを返しません。
+ 抽出タイプ: 抽出のタイプで、明示的なものか推測されたものになります。
+ ページ番号: 結果が見つかった文書のページ。オーディオブループリントと動画ブループリントはページ番号を返しません。

BDA カスタム出力では、単純なフィールドに加えて、テーブルフィールド、グループ、カスタムタイプなど、ドキュメント抽出で発生する可能性のあるユースケースに対応するオプションがいくつか提供されます。

**テーブルフィールド**  
フィールドを作成するときは、基本フィールドの代わりにテーブルフィールドを作成できます。他のフィールドと同様に、フィールドに名前を付けて、プロンプトを指定できます。列フィールドを指定することもできます。これらのフィールドには、列名、列の説明、および列タイプがあります。抽出テーブルに表示される場合、テーブルフィールドにはテーブル名の下にグループ化された列の結果が含まれます。テーブルフィールドには、最大 15 個のサブフィールドのみを含めることができます。

**グループ**  
グループは、複数の結果を抽出内の 1 つの場所に整理するために使用される構造です。グループを作成するときは、グループに名前を付け、フィールドを作成してそのグループに配置できます。このグループは抽出テーブルでマークされ、その下にはグループ内のフィールドが一覧表示されます。

**カスタムタイプ**  
ブループリントプレイグラウンドでブループリントを編集するときに、カスタムタイプを作成できます。どのフィールドもカスタムタイプにできます。このタイプは一意の名前を持ち、検出を構成するフィールドの作成を促します。例えば、Address というカスタムタイプを作成して、その中に「zip\$1code」、「city\$1name」、「street\$1name」、「state」というフィールドを含めます。そして、文書の処理中に、「company\$1address」フィールドでカスタムタイプを使用できます。このフィールドは、カスタムタイプの下にある行にグループ化された情報をすべて返します。ブループリントごとに最大 30 個のカスタムタイプフィールドを持つことができます。

# ブループリントの作成
<a name="bda-idp"></a>

## カスタム出力のブループリントを作成する方法
<a name="how-to-create-blueprints"></a>

Amazon Bedrock データ自動化 (BDA) を使用すると、BDA が抽出できる任意のファイルタイプのカスタムブループリントを作成できます。ブループリントを使用して、入力ファイルに必要な出力形式と抽出ロジックを定義できます。カスタムブループリントを作成することで、特定の要件を満たすように BDA の出力をカスタマイズできます。

1 つのプロジェクト内で、以下を適用できます。
+ 最大 40 個の複数のドキュメントブループリント。これにより、同じプロジェクト内でさまざまなタイプのドキュメントを処理でき、それぞれに独自のカスタム抽出ロジックを定義できます。
+ 1 つのイメージブループリント。これにより、プロジェクト内のイメージ処理の一貫性が確保されます。
+ 1 つのオーディオブループリント。
+ 1 つのビデオブループリント。

### ブループリントの作成
<a name="creating-blueprints-methods"></a>

 BDA でブループリントを作成するには、次の 2 つの方法があります。
+ ブループリントプロンプトの使用
+ ブループリントの手動作成

#### ブループリントプロンプトの使用
<a name="creating-blueprints-methods-assistant"></a>

 ブループリントプロンプトは、ブループリントを作成するためのガイド付きの自然言語ベースのインターフェイスを提供します。プロンプトを使用してブループリントを作成するには: 

1.  BDA コンソールの **[ブループリント]** セクションに移動します。

1.  **[ブループリントの作成]** をクリックし、**[ブループリントプロンプトを使用する]** を選択します。

1.  ブループリントのデータ型 (ドキュメント、イメージ、オーディオ、ビデオ) を選択します。

1.  自然言語で抽出するフィールドとデータを記述します。例:「請求書番号、合計金額、ベンダー名を請求書から抽出する。」

1.  プロンプトは、説明に基づいてブループリントを生成します。

1.  生成されたブループリントを確認し、必要な調整を行います。ブループリントプロンプトはシングルターンベースです。つまり、新しい情報だけでなく、プロンプトを変更するためのすべての情報を再入力する必要があります。

1.  ブループリントを保存して名前を付けます。

##### ブループリントプロンプトの例
<a name="w2aac28b8c14c11b3b9b7b7"></a>

次のセクションでは、オーディオブループリントのブループリントプロンプトの例について説明します。このユースケースでは、顧客とカスタマーサービス担当者間の会話から情報を抽出するブループリントを作成します。以下のスクリーンショットは、コンソールのプロンプトウィンドウを示しています。

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/audio-bpa-prompt.png)


スクリーンショットの下部には、ボックスの入力に基づいて AI が生成したプロンプトが表示されます。言及するフィールドがどのように処理されるかを確認できます。次に、プロンプトから作成されたブループリントを確認できます。

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/audio-bpa-example.png)


ここでは、会話から処理することが予想される情報を確認できます。フィールドに問題がなければ、すぐにオーディオファイルの処理を開始できます。ブループリントを編集する場合は、直接編集するのではなく、複製を作成する必要があります。プロンプトを他の結果に合わせて調整することもできます。

#### ブループリントの手動作成
<a name="creating-blueprints-methods-id"></a>

 より高度なユーザーやきめ細かな制御を必要とするユーザーの場合は、ブループリントを手動で作成できます。

1.  BDA コンソールの **[ブループリント]** セクションに移動します。

1.  **[ブループリントの作成]** をクリックし、**[手動で作成する]** を選択します。

1.  ブループリントのデータ型 (ドキュメント、イメージ、オーディオ、ビデオ) を選択します。

1.  抽出するフィールドを定義し、データ型、形式、および検証ルールを指定します。

1.  ドキュメントの分割やレイアウト処理などの追加設定を行います。

1.  ブループリントを保存して名前を付けます。

ブループリント JSON エディタを使用して、ブループリントを作成または変更することもできます。これにより、テキストエディタを介してブループリントの JSON を直接調整できます。

### プロジェクトへのブループリントの追加
<a name="adding-blueprints-projects"></a>

プロジェクトはマルチモーダルコンテンツ処理ワークフローのコンテナとして機能し、ブループリントはそれらのワークフローの抽出ロジックを定義します。ブループリントをプロジェクトに追加して、そのプロジェクトで処理するファイルにブループリントを適用します。

 プロジェクトにブループリントを追加するには 

1.  BDA コンソールの **[プロジェクト]** セクションに移動します。

1.  ブループリントを追加するプロジェクトを選択します。

1.  **[ブループリントを追加]** または **[ブループリントの管理]** をクリックします。

1.  使用可能なブループリントのリストから、追加するブループリントを選択します。

1.  ブループリントのプロジェクト固有の設定を構成します。

1.  プロジェクトへの変更を保存します。

### フィールドの定義
<a name="bda-images-defining-fields"></a>

開始するために、product\$1type など、抽出または生成する情報を識別するフィールドを作成できます。フィールドごとに、説明、データ型、推論タイプを指定する必要があります。

フィールドを定義するには、以下のパラメータを指定する必要があります。
+ *説明:* フィールドが表す内容の自然言語の説明を提供します。この説明は、フィールドのコンテキストと目的を理解して、データを正確に抽出するのに役立ちます。
+ *タイプ:* フィールドの値のデータ型を指定します。BDA は以下のタイプをサポートします。
  + 文字列: テキストベースの値の場合
  + 数値: 数値の場合
  + ブール値: true または false の値。
  + 配列: 同じタイプの複数の値を持つことができるフィールドの場合 (文字列の配列や数値の配列など)
+ *推論タイプ:* フィールドの値のレスポンス生成を処理する方法を BDA に指示します。イメージの場合、BDA は推論タイプのみをサポートします。つまり、BDA はイメージ内に存在する情報に基づいてフィールド値を推測します。

ビデオの場合、フィールドにはオプションとして粒度も含まれます。この特性の詳細については、「ビデオのブループリントの作成」を参照してください。

次の図は、 Amazon Bedrock コンソールの「フィールドの追加」モジュールと、次のフィールドと値の例を示しています。
+ フィールド名: product\$1type
+ タイプ: 文字列
+ 指示: 衣類、電子製品、食品と飲み物など、アドバタイズされる主な製品やサービスは何ですか?
+ 抽出タイプ: 推測。

![\[Amazon Bedrock イメージフィールドを指定するドロップダウンメニューとテキストフィールドを示す UI。\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/bda-console-add-fields-new.png)


API の JSON スキーマで同じフィールド定義がどのように表示されるかの例を次に示します。

```
"product_type":{
"type": "string",
"inferenceType": "inferred",
"description": "What is the primary product or service being advertised, e.g., Clothing, Electronics, Food & Beverage, etc.?"
}
```

この例では、以下のようになっています：
+  タイプは文字列に設定され、product\$1type フィールドの値をテキストベースする必要があることを示しています。
+ inferenceType は推論に設定され、イメージ内に存在する情報に基づいて値を推測するように BDA に指示します。
+ 説明には、フィールドがイメージ内の製品タイプを識別する必要があることを明確にする追加のコンテキストが記載されています。product\$1type フィールドの値の例は、衣類、電化製品、食品または飲み物です。

フィールドごとにこれらのパラメータを指定することで、イメージからインサイトを正確に抽出して生成するために必要な情報を BDA に提供します。

### プロジェクトバージョンの作成
<a name="blueprints-project-verions"></a>

プロジェクトで作業するときは、ブループリントのバージョンを作成できます。バージョンは、ブループリントのイミュータブルなスナップショットであり、現在の設定と抽出ロジックを保持します。このブループリントバージョンは、データの処理を開始するリクエストで渡すことができ、バージョンの作成時にブループリントで指定されたロジックに従って BDA がドキュメントを処理します。

`CreateBlueprintVersion` オペレーションを使用してバージョンを作成できます。

Amazon Bedrock コンソールでは、ブループリントを作成および保存することもできます。ブループリントを保存すると、そのブループリントに ID が割り当てられます。その後、ブループリントを公開できます。これにより、そのブループリントの編集できないスナップショットバージョンが作成されます。例えば、プロジェクトに関連付けられたブループリントが「DocBlueprint」の場合、作成されたプロジェクトバージョンは「DocBlueprint\$11」になります。これ以上「DocBlueprint\$11」を変更することはできませんが、ベースブループリントを編集することはできます。ブループリントに変更を加えて再度公開すると、「DocBlueprint\$12」などの新しいバージョンが作成されます。ブループリントバージョンは、複製して新しいブループリントのベースとして使用できます。

# ブループリントを活用してさまざまな IDP タスクを実現する
<a name="idp-cases"></a>

ブループリントは、ドキュメント処理のための非常に汎用性の高いツールです。以下のセクションでは、さまざまな IDP 目標を念頭に置いたブループリントの作成について説明します。さらに、このセクションでは、ドキュメントのブループリントの作成の詳細について詳しく説明します。

# 分類のブループリントを作成する
<a name="idp-cases-classification"></a>

BDA では、ブループリント作成時にドキュメントクラスを割り当て、説明を入力することでドキュメントを分類できます。ドキュメントクラスを使用すると、ドキュメントタイプを大まかに分類できます。説明では、そのドキュメントクラスに含まれるコンテンツや要素について、より詳細な情報を提供します。説明には、ドキュメントに含まれるデータの一般的なタイプと、ドキュメントの目的や想定されるエンティティなどのその他の関連情報を指定することをお勧めします。

ドキュメントクラスとその説明の例は、次のとおりです。


| ドキュメントクラス | 説明 | 
| --- | --- | 
|  Invoice  |  請求書とは、ある企業から個人または他の企業に提供されたサービスや購入された商品のリストが記載されたドキュメントです。請求書には、支払い期限や未払い額などの詳細が記載されています。  | 
|  給与明細  |  このドキュメントは、雇用主が従業員に発行し、一定期間に従業員が受け取った給与が記載されています。通常、各所得税項目と税額控除項目の内訳が含まれます。  | 
|  領収書  |  物品の販売、譲渡、またはサービスの提供に伴い、個人が金銭の支払いまたは資産を受け取ったことを認めるドキュメントです。すべての領収書には購入日が記載されている必要があります。  | 
|  W2  |  これは、ある会計年度中に雇用主から受け取った個人所得を申告するための納税申告書です。  | 

ブループリントのフィールドを作成したら、次の手順を実行します。

1. ブループリントの作成ページで、**[ブループリントのプロンプトを保存して終了]** をクリックします。

1. [ブループリント名] には、ブループリントの名前を入力します。

1. [ドキュメントクラス] には、分類するドキュメントのタイプを表すクラス名を入力します。

1. [説明] フィールドには、ドキュメントタイプの詳細な説明を入力します。個人、会社、住所、商品の詳細、その他の関連情報など、これらのドキュメントで一般的に記載されるデータや要素のタイプに関する情報を含めます。

1. [ブループリントを公開] をクリックします。

ブループリントを作成したら、InvokeDataAutomationAsync API リクエストで、単数または複数のブループリント ID を指定することで、推論中にドキュメントを分類できます。

BDA は、各ブループリントで指定されたドキュメントクラスと説明を使用して、ドキュメントを正確に分類し、処理します。処理のためにドキュメントを送信すると、BDA はドキュメントのコンテンツを分析し、指定されたブループリントのリストと照合します。その後、ドキュメントはブループリントフィールドの指示に基づいて分類および処理され、必要な構造で出力が生成されます。

# 抽出用のブループリントの作成
<a name="idp-cases-extraction"></a>

BDA を使用すると、ブループリントの作成時にドキュメントから抽出する特定のデータフィールドを定義できます。これは、検索する情報とその情報を解釈する方法について BDA をガイドする一連の指示として機能します。

**フィールドの定義**  
最初に、employee\$1id や product\$1name など、抽出が必要な各フィールドのプロパティを作成できます。フィールドごとに、説明、データ型、推論タイプを指定する必要があります。

抽出するフィールドを定義するには、次のパラメータを指定する必要があります。
+ フィールド名: フィールドが表す内容についての人間が読み取れる説明を入力します。この説明は、フィールドのコンテキストと目的を理解して、データを正確に抽出するのに役立ちます。
+ 指示: フィールドが表す内容についての自然言語での説明を入力します。この説明は、フィールドのコンテキストと目的を理解して、データを正確に抽出するのに役立ちます。
+ タイプ: フィールドの値のデータ型を指定します。BDA では、以下のデータ型がサポートされています。
  + 文字列: テキストベースの値の場合
  + 数値: 数値の場合
  + ブール値: true/false 値の場合
  + 配列: 同じタイプの複数の値を持つことができるフィールドの場合 (文字列の配列や数値の配列など)
+ 推論タイプ: フィールドの値の抽出を処理する方法を BDA に指示します。サポートされている推論タイプは次のとおりです。
  + 明示: BDA は、ドキュメントから直接値を抽出します。
  + 推論: BDA は、ドキュメントに存在する情報に基づいて値を推測します。

すべてのパラメータを含むフィールド定義の例を次に示します。

------
#### [ Console ]

![\[「フィールド名」と「指示」を追加する方法を示すコンソール。[タイプ] は [文字列] に設定され、[抽出タイプ] は [明示] に設定されています。\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/bdaadd.png)


------
#### [ API ]

```
"product_name":{
   "type":"string",
   "inferenceType":"Explicit",
   "description":"The short name of the product without any extra details"
}
```

------

この例では、以下のようになっています：
+ type は string に設定され、product\$1name フィールドの値をテキストベースにする必要があることを示しています。
+ inferenceType は Explicit に設定され、変換や検証を行わずにドキュメントから直接値を抽出するように BDA に指示します。
+ この指示では、追加のコンテキストを提供し、フィールドには追加の詳細なしで製品の短縮名を含める必要があることを明確にしています。

各フィールドにこれらのパラメータを指定することで、ドキュメントから目的のデータを正確に抽出して解釈するために必要な情報を BDA に提供します。


| フィールド | 手順 | 抽出タイプ | タイプ | 
| --- | --- | --- | --- | 
|  ApplicantsName  |  申請者のフルネーム  |  明示的  |  string  | 
|  DateOfBirth  |  従業員の生年月日  |  明示的  |  string  | 
|  セールス  |  総収益または売上  |  明示的  |  数値  | 
|  Statement\$1starting\$1balance  |  期首残高  |  明示的  |  数値  | 

**複数値フィールド**  
フィールドに複数の値が含まれる可能性がある場合は、配列またはテーブルを定義できます。

**フィールドのリスト**  
値のリストを含むフィールドには、配列データ型を定義できます。

この例では、「OtherExpenses」は文字列の配列として定義されているため、BDA はそのフィールドに対して複数の経費項目を抽出できます。

------
#### [ Console ]

![\[「フィールド名」と「指示」を追加する方法を示すコンソール。[タイプ] は [文字列の配列] に設定され、[抽出タイプ] は [明示] に設定されています。\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/bdaarray.png)


------
#### [ API ]

```
"OtherExpenses":{
   "type":"array",
   "inferenceType":"Explicit",
   "description":"Other business expenses not included in fields 8-26 or field 30",
   "items":{
      "type":"string"
   }
}
```

------

**テーブル**  
ドキュメントに表形式データが含まれている場合は、スキーマ内にテーブル構造を定義できます。

この例では、「SERVICES\$1TABLE」はテーブルタイプとして定義され、製品名、説明、数量、単価、金額などの列フィールドがあります。

------
#### [ Console ]

![\[「フィールド名」と「指示」を追加する方法を示すコンソール。[タイプ] は [テーブル] に、[抽出タイプ] は [明示] に設定され、追加された列固有のフィールドが表示されています。\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/bdatable.png)


------
#### [ API ]

```
"definitions":{
   "LINEITEM":{
      "properties":{
         "quantity":{
            "type":"number",
            "inferenceType":"Explicit"
         },
         "unit price":{
            "type":"number",
            "inferenceType":"Explicit"
         },
         "amount":{
            "type":"number",
            "inferenceType":"Explicit",
            "description":"Unit Price * Quantity"
         },
         "product name":{
            "type":"string",
            "inferenceType":"Explicit",
            "description":"The short name of the product without any extra details"
         },
         "product description":{
            "type":"string",
            "inferenceType":"Explicit",
            "description":"The full item list description text"
         }
      }
   }
},
"properties":{
   "SERVICES_TABLE":{
      "type":"array",
      "description":"Line items table listing all the items / services charged in the invoice including quantity, price, amount, product / service name and description.",
      "items":{
         "$ref":"#/definitions/LINEITEM"
      }
   },
   "...
        ..."
]
```

------

適切なフィールドの説明、データ型、推論型を含む包括的なスキーマを定義することで、形式や表現のバリエーションに関係なく、BDA にドキュメントから目的の情報を正確に抽出させることができます。

# 正規化のためのブループリントを作成する
<a name="idp-cases-normalization"></a>

BDA には、特定の要件に従って抽出されたデータを変換および標準化できる正規化機能が用意されています。これらの正規化タスクは、キー正規化と値正規化に分類できます。

**キー正規化**  
ドキュメントフィールドは、表現方法やラベル付け方法が異なることがよくあります。例えば、「社会保障番号」フィールドは、「SSN」、「Tax ID」、「TIN」などのバリエーションで表示される可能性があります。この課題に対応するため、BDA にはキー正規化が用意されています。これにより、フィールド定義内のバリエーションに関する指示を提供できます。

キー正規化を活用すれば、同じフィールドの異なる表現を認識し、標準化されたキーにマッピングするよう BDA をガイドできます。この機能により、ソースドキュメントに存在するバリエーションに関係なく、データが一貫して抽出および整理されます。


| フィールド | 手順 | 抽出タイプ | タイプ | 
| --- | --- | --- | --- | 
|  LastName  |  姓または姓  |  明示的  |  String  | 
|  BirthNum  |  出生証明書のドキュメント番号またはファイル番号  |  明示的  |  String  | 
|  OtherIncome  |  連邦政府および州政府のガソリン税や燃料税のクレジットまたは返金を含むその他の所得  |  明示的  |  Number  | 
|  BusinessName  |  W9 に記入する企業、請負業者、または事業体の名前  |  明示的  |  String  | 
|  力率  |  この使用明細項目に使用される力率または乗数  |  明示的  |  String  | 
|  BirthPlace  |  子供が生まれる病院または施設の名前  |  明示的  |  String  | 
|  けがの原因  |  けがや職業病の原因 (仕事との関連など)  |  明示的  |  String  | 

事前定義された値セットまたは列挙型を持つフィールドの場合、フィールド命令内で期待される値または範囲を指定できます。例に示すように、バリエーションは引用符で囲むことをお勧めします。


| フィールド | 手順 | 抽出タイプ | タイプ | 
| --- | --- | --- | --- | 
|  LICENSE\$1CLASS  |  「A」、「B」、または「C」のいずれかの 1 文字のクラスコード  |  明示的  |  String  | 
|  sex  |  性別。「M」または「F」のいずれか  |  明示的  |  String  | 
|  InformantType  |  情報のタイプ。「親」または「その他」のいずれか  |  明示的  |  String  | 
|  情報収集チャネル  |  「対面インタビュー」、「電話インタビュー」、「ファックスまたはメール」、「E メールまたはインターネット」のいずれか  |  明示的  |  String  | 

**値の非正規化**  
値の正規化はデータ処理パイプラインの重要なタスクであり、抽出されたデータを、一貫性のある標準化された形式に変換する必要があります。このプロセスにより、ダウンストリームシステムで互換性の問題やあいまいさが生じることなく、データをシームレスに消費して処理できるようになります。

BDA の正規化機能を使用すると、形式を標準化し、測定単位とキャスト値を特定のデータ型に変換できます。

値の正規化タスクでは、正規化後にドキュメントの未加工テキストまたは OCR と正確に一致しない可能性があるため、抽出タイプとして推定を使用する必要があります。例えば、「YYYY-MM-DD」のという形式にする必要がある「06/25/2022」のような日付値は、正規化後に「2022-06-25」として抽出されるため、ドキュメントからの OCR 出力と一致しません。

形式を標準化する: 値を定義済みの形式 (短縮コード、番号付けスキーム、特定の日付形式など) に変換できます。これにより、業界標準や組織の慣例に従うことで、データ表現の一貫性を確保できます。


| フィールド | 手順 | 抽出タイプ | タイプ | 
| --- | --- | --- | --- | 
|  ssn  |  SSN (XXX-XX-XXX 形式)  |  推定  |  String  | 
|  STATE  |  状態の 2 文字のコード  |  推定  |  String  | 
|  EXPIRATION\$1DATE  |  有効期限 (YYYY-MM-DD 形式)  |  推定  |  String  | 
|  DATE\$1OF\$1BIRTH  |  ドライバーの生年月日 (YYYY-MM-DD 形式)  |  推定  |  String  | 
|  CHECK\$1DATE  |  小切手に署名された日付。YYYY-MM-DD に形式変更  |  推定  |  String  | 
|  PurchaseDate  |  車両の購入日 (mm/dd/yy 形式)  |  推定  |  String  | 

「該当なし」などのシナリオを処理することにより、値を標準の測定単位または特定のデータ型に変換することもできます。


| フィールド | 手順 | 抽出タイプ | タイプ | 
| --- | --- | --- | --- | 
|  WEIGHT  |  重量をポンドに変換  |  推定  |  Number  | 
|  HEIGHT  |  高さをインチに変換  |  推定  |  Number  | 
|  nonqualified\$1plans\$1income  |  フィールド 11 の値。N/A の場合は 0。  |  推定  |  Number  | 

# 変換用のブループリントを作成する
<a name="idp-cases-transformation"></a>

BDA を使用すると、特定の要件に応じてデータフィールドを分割したり再構築したりできます。この機能を使用すると、抽出されたデータを下流システムや分析ニーズにより適した形式に変換できます。

多くの場合、ドキュメントには複数の情報を単一のフィールドにまとめたフィールドが含まれている場合があります。BDA を使用すると、データの操作と分析を容易にするために、これらのフィールドを個別のフィールドに分割できます。例えば、ドキュメントに人物の名前が単一のフィールドとして含まれている場合、名前、ミドルネーム、姓、サフィックスを別々のフィールドに分割できます。

変換タスクでは、値の正規化が必要かどうかに応じて、抽出タイプを明示的または推論として定義できます。


| フィールド | 手順 | 抽出タイプ | タイプ | 
| --- | --- | --- | --- | 
|  FIRST\$1NAME  |  名  |  明示的  |  文字列  | 
|  MIDDLE\$1NAME  |  ミドルネームまたはイニシャル  |  明示的  |  文字列  | 
|  LAST\$1NAME  |  ドライバーの名前  |  明示的  |  文字列  | 
|  SUFFIX  |  PhD、MSc などのサフィックス  |  明示的  |  文字列  | 

もう 1 つの例として、単一のフィールドとして表示できるアドレスブロックがあります。


| フィールド | 手順 | 抽出タイプ | タイプ | 
| --- | --- | --- | --- | 
|  通り  |  住所は何ですか。  |  明示的  |  文字列  | 
|  市  |  都市は何ですか。  |  明示的  |  文字列  | 
|  State  |  県または州は何ですか。  |  明示的  |  文字列  | 
|  ZipCode  |  住所の郵便番号は何ですか。  |  明示的  |  文字列  | 

これらのフィールドは、完全に個別のフィールドとして定義することも、カスタムタイプを作成することもできます。カスタムタイプは、さまざまなフィールドで再利用できます。以下の例では、「EmployeeName」と「ManagerName」に使用するカスタムタイプ「NameInfo」を作成します。

![\[カスタムタイプの詳細を追加する方法を示すコンソール。カスタムタイプに追加されたサブプロパティも表示されています。\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/bdacustomtype.png)


# 検証用のブループリントを作成する
<a name="idp-cases-validation"></a>

BDA では、検証ルールを定義して、抽出されたデータの正解率を確保できます。これらの検証ルールをブループリントに組み込むことで、BDA は抽出されたデータに対してさまざまなチェックを実行できます。BDA を使用すると、特定のビジネスまたは業界の要件に合わせたカスタム検証を作成できます。この機能の幅広さを説明する検証の例は、次のとおりです。

**数値検証**  
数値検証は、抽出された数値データが指定された値の範囲内にあるか、特定の基準を満たしているかをチェックするために使用します。これらの検証は、金額、数量などの数値データのフィールドに適用できます。


| フィールド | 手順 | 抽出タイプ | タイプ | 
| --- | --- | --- | --- | 
|  BalanceGreaterCheck  |  以前の残高は 1,000 USD を超えているか  |  推定  |  ブール値  | 
|  総利益は売上と COGS の差と等しくなるか  |  検証の質問  |  推定  |  ブール値  | 
|  is\$1gross\$1pay\$1valid  |  年初来の支払い額合計は、給与明細に記載の最高金額の値か  |  推定  |  ブール値  | 

**日時の検証**  
日付や時刻の検証は、抽出された日付データまたは時刻データが特定の範囲内にあるか、特定の基準を満たしているかをチェックするために使用されます。これらの検証は、期日、有効期限日、またはその他の日付や時刻に関連するデータなどのフィールドに適用できます。


| フィールド | 手順 | 抽出タイプ | タイプ | 
| --- | --- | --- | --- | 
|  was\$1injury\$1reported\$1after\$11\$1month  |  負傷が雇用主に報告されたのは、負傷した日から 1 か月以上後だったか  |  推定  |  ブール値  | 
|  is\$1overdue  |  明細書は期限切れか 支払い額の期限が切れているか  |  推定  |  ブール値  | 
|  is\$1delivery\$1date\$1valid  |  配送日は今後 30 日以内か  |  推定  |  ブール値  | 

**文字列/形式の検証**  
文字列または形式の検証は、抽出されたデータが特定の形式に準拠しているか、事前定義済みのパターンと一致するかをチェックするために使用されます。これらの検証は、名前、住所、またはその他のテキストデータなどのフィールドに適用できます。


| フィールド | 手順 | 抽出タイプ | タイプ | 
| --- | --- | --- | --- | 
|  routing\$1number\$1valid  |  銀行支店コードが 9 桁の場合は true  |  推定  |  ブール値  | 
|  Is\$1NumMeterIDsListed  |  請求書には 5 つを超えるメーター ID が記載されているか  |  推定  |  ブール値  | 

BDA のカスタム検証機能を使用すると、複数の条件、計算、または論理操作を組み合わせて複雑な検証ルールを作成し、抽出されたデータが目的の基準を満たしていることを確認することができます。これらの検証には、クロスフィールドチェック、計算、またはビジネスプロセスや規制要件に固有のその他のカスタムロジックが含まれる場合があります。

これらの検証ルールをブループリントに組み込むことで、BDA は抽出されたデータを自動的に検証し、正解率と特定の要件へのコンプライアンスを確保できます。この機能を使用すると、検証が失敗した場合の人間によるレビューをトリガーできます。

# イメージのブループリントの作成
<a name="bda-idp-images"></a>

Amazon Bedrock Data Automation (BDA) を使用すると、イメージモダリティ用のカスタムブループリントを作成できます。ブループリントを使用して、入力ファイルに必要な出力形式と抽出ロジックを定義できます。カスタムブループリントを作成することで、特定の要件を満たすように BDA の出力をカスタマイズできます。単一のプロジェクト内で、単一のイメージのブループリントを適用できます。

## イメージのデータフィールドの定義
<a name="bda-images-defining-data-fields"></a>

BDA では、ブループリントを作成して、イメージから識別する特定のフィールドを定義できます。これは、イメージからどのような情報を抽出して生成するかを BDA に指示する指示セットとして機能します。

### 広告のイメージのブループリントフィールドの例
<a name="w2aac28b8c14c11b9b5b5"></a>

広告のイメージを分析するためのブループリントフィールドの例をいくつか紹介します。




|  |  |  |  | 
| --- |--- |--- |--- |
| フィールド | 手順 | 抽出タイプ | タイプ | 
| product\$1type | What is the primary product or service being advertised? Ex: Clothing, Electronics, Food & Beverage | inferred | string | 
| product\$1placement | How is the product placed in the advertisement image, e.g., centered, in the background, held by a person, etc.? | inferred | string | 
| product\$1size | Product size is small if size is less than 30% of the image, medium if it is between 30 to 60%, and large if it is larger than 60% of the image | inferred | string | 
| image\$1style | Classify the image style of the ad. For example, product image, lifestyle, portrait, retro, infographic, none of the above. | inferred | string | 
| image\$1background | Background can be" solid color, natural landscape, indoor, outdoor, or abstract.  | inferred | string | 
| promotional\$1offer | Does the advertisement include any discounts, offers, or promotional messages? | inferred | boolean | 

### メディア検索のブループリントフィールドの例
<a name="w2aac28b8c14c11b9b5b7"></a>

メディア検索用にイメージからメタデータを生成するためのブループリントフィールドの例をいくつか紹介します。




|  |  |  |  | 
| --- |--- |--- |--- |
| フィールド | 手順 | 抽出タイプ | タイプ | 
| person\$1counting | How many people are in the image? | inferred | number | 
| indoor\$1outdoor\$1classification | Is the image indoor or outdoor? | inferred | string | 
| scene\$1classification | Classify the setting or environment of the image. Ex: Urban, Rural, Natural, Historical, Residential, Commercial, Recreational, Public Spaces | inferred | string | 
| animal\$1identification | Does the image contain any animals? | inferred | boolean | 
| animal\$1type | What type of animals are present in the image? | inferred | string | 
| color\$1identification | Is the image in color or black and white? | inferred | string | 
| vehicle\$1identification | Is there any vehicle visible in the image? | inferred | string | 
| vehicle\$1type | What type of vehicle is present in the image? | inferred | string | 
| watermark\$1identification | Is there any watermark visible in the image? | inferred | boolean | 

# 音声のブループリントの作成
<a name="creating-blueprint-audio"></a>

イメージブループリントと同様に、音声ブループリントは各プロジェクトで 1 つのみ使用できます。

以下は、音声処理でのフィールドの例です。

## 音声ファイルのブループリントフィールドの例
<a name="example-audio-fields"></a>


|  |  |  |  | 
| --- |--- |--- |--- |
| フィールド | 手順 | 抽出タイプ | タイプ | 
| transcript\$1summary | Generate a concise abstractive summary of the conversation, focusing on the main topics and key themes. Ensure accuracy by summarizing only what is explicitly discussed, without adding specific details not present in the conversation. Keeping the response within 100 words. | inferred | string | 
| topics | The main topics of the audio transcript, listed as single words. | inferred | [string] (Array of strings) | 
| category | The category of the audio (not the topic). Choose from General conversation, Media, Hospitality, Speeches, Meetings, Education, Financial, Public sector, Healthcare, Sales, Audiobooks, Podcasts, 911 calls, Other. | inferred | string | 
| spoken\$1named\$1entities | Any named entities (typically proper nouns) explicitly mentioned in the audio transcript including locations, brand names, company names, product names, services, events, organizations, etc. Do not include names of people, email addresses or common nouns.  | extractive | [string] (Array of strings) | 

## 会話分析のブループリントフィールドの例
<a name="example-audio-analytics"></a>


|  |  |  |  | 
| --- |--- |--- |--- |
| フィールド | 手順 | 抽出タイプ | タイプ | 
| call\$1summary | Summarize the caller-agent conversation in under 100 words. Start with the caller's request, then the agent's response and actions, ending with outcomes or follow-ups. Include key details like emails, links, or callbacks. For multiple issues, summarize each with its outcome and next steps. | inferred | string | 
| call\$1categories | The category (or categories) of the call. Choose one or more from Billing, Tech support, Customer service, Account support, Sales, Complaints, Product issues, Service issues, General inquiries, Other. | inferred | [string] (Array of strings) | 
| spoken\$1locations | Locations explicitly mentioned in the conversation, including cities, states, and countries. | extractive | [string] | 
| call\$1opening | Did the agent greet the caller and introduce themselves at the beginning of the call?  | extractive | boolean | 

# 動画のブループリントの作成
<a name="creating-blueprint-video"></a>

動画ファイルのブループリントでは、他のブループリントと比較して、特にフィールド作成に関して、独自の特徴がいくつかあります。動画ブループリントには、粒度と呼ばれるパラメータがあり、フィールドを動画またはチャプターのどちらかに設定できます。フィールドを動画に設定すると、動画全体にわたって検出が行われます。例えば、クリップ全体の概要が必要な場合は、そのフィールドの粒度を動画に設定します。

粒度をチャプターに設定したフィールドの場合は、その代わりに動画の各チャプターに対するレスポンスを返します。フィールドは、動画の各チャプターの値を返します。前の例から続けて、動画の各部分の概要が必要な場合は、粒度をチャプターに設定します。

チャプター粒度フィールドを作成する際に、固有のデータ型であるエンティティの配列を設定できます。例えば、動画内の視覚的に目立つオブジェクトを検出する場合は、`key-visual-objects` というフィールドを作成し、このフィールドの型をエンティティの配列に設定します。このフィールドは、配列オブジェクト内のエンティティの名前を返します。

以下は、動画処理でのフィールドの例です。動画ブループリント内のエンティティとエンティティ配列を除くすべてのフィールドは、推論されているものとみなされます。

## メディア検索のブループリントのフィールド例
<a name="example-video-fields-search"></a>


|  |  |  |  |  | 
| --- |--- |--- |--- |--- |
| フィールド | 手順 | 抽出タイプ | タイプ | 詳細度 | 
| key-visual-objects | Please detect all the visually prominent objects in the video | extractive | Array of entities | [ "chapter" ] | 
| keywords | Searchable terms that capture key themes, cast, plot elements, and notable aspects of TV shows and movies to enhance content discovery. | inferred | Array of strings | ["video"] | 
| genre | The genre of the content. | inferred | string | ["video"] | 
| video-type | Identify the type of video content | inferred | enums: ["Movie", "TV series", "News", "Others"] | [ "video" ] | 

## 基調講演のハイライトでのブループリントのフィールド例
<a name="example-video-fields-keynote"></a>


|  |  |  |  |  | 
| --- |--- |--- |--- |--- |
| フィールド | 手順 | 抽出タイプ | タイプ | 詳細度 | 
| broadcast-setting | The physical setting or environment where the broadcast or training session is taking place. | inferred | enums["conference hall", "classroom", "outdoor venue", "Others", "Not applicable to the video"] | [ "video" ] | 
| broadcast-audience-engagement | The level of engagement or interaction between the speakers and the audience. | inferred | enums["interactive", "passive", "Not applicable to the video"] | ["video"] | 
| broadcast-visual-aids | A list of notable visual aids or materials used during the presentation, such as slides, diagrams, or demonstrations. | inferred | Array of strings | ["video"] | 
| broadcast-audience-size | The size of the audience present at the event. | inferred | enums["large crowd", "medium crowd", "small group", "Not applicable to this video"] | [ "chapter" ] | 
| broadcast-presentation-topics | A list of key topics, subjects, or themes covered in the presentation or training session. | inferred | enums: ["Movie", "TV series", "News", "Others"] | [ "video" ] | 

## 広告分析でのブループリントのフィールド例
<a name="example-video-fields-ad"></a>


|  |  |  |  |  | 
| --- |--- |--- |--- |--- |
| フィールド | 手順 | 抽出タイプ | タイプ | 詳細度 | 
| ads-video-ad-categories | The ad categories for the video | inferred | enums["Health and Beauty", "Weight Loss", "Food and Beverage", "Restaurants", "Political", "Cryptocurrencies and NFT", "Money Lending and Finance", "Tobacco", "Other", "Video is not an advertisement"] | [ "video" ] | 
| ads-video-language | The primary language of the advertisement | inferred | string | ["video"] | 
| ads-video-primary-brand | The main brand or company being advertised in the video. | inferred | string | ["video"] | 
| ads-video-main-message | The primary message or tagline conveyed in the advertisement | inferred | string | [ "video" ] | 
| ads-video-message-clarity | How clear and understandable the main message of the advertisement is | inferred | enums: ["clear", "ambiguous", "Not applicable to the video"] | [ "video" ] | 
| ads-video-target-audience-interests | Specific interests or hobbies that the target audience is likely to have | inferred | Array of strings | [ "video" ] | 
| ads-video-product-type | The category or type of product being advertised | inferred | enums: ["electronics", "apparel", "food\$1and\$1beverage", "automotive", "home\$1appliances", "other", "Not applicable to the video"] | [ "video" ] | 
| ads-video-product-placement | The way the product is positioned or showcased in the advertisement | inferred | enums: ["front\$1and\$1center", "background", "held\$1by\$1person", "other", "Not applicable to the video"] | [ "video" ] | 
| ads-video-product-features | The key features or specifications of the advertised product highlighted in the video | inferred | Array of strings | [ "video" ] | 
| ads-video-number-of-products | The number of distinct products or variations featured in the advertisement | inferred | number | [ "video" ] | 

動画は、動画コンテンツ内の特定のエンティティを識別して特定するのに役立つエンティティ配列型もサポートしています。この機能は、検出されたエンティティの配列を返します。以下は、顧客のブループリント内のエンティティの配列の例です。

```
  "field_name": {
        "items": {
            "$ref": "bedrock-data-automation#/definitions/Entity"
        },
        "type": "array",
        "instruction": "Please detect all the visually prominent objects in the video",
        "granularity": [
            "chapter"
        ]
    }
```

**注記**  
`bedrock-data-automation#/definitions/Entity` は BDA 所有のサービスタイプです。結果を解析するには、以下のスキーマを使用できます。

```
       {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "$id": "bedrock-data-automation",
        "type": "object",
        "definitions": {
            "BoundingBox": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "left": {
                        "type": "number"
                    },
                    "top": {
                        "type": "number"
                    },
                    "width": {
                        "type": "number"
                    },
                    "height": {
                        "type": "number"
                    }
                }
            },
            "Entity": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "label": {
                        "type": "string"
                    },
                    "bounding_box": {
                        "$ref": "bedrock-data-automation#/definitions/BoundingBox"
                    },
                    "confidence": {
                        "type": "number"
                    }
                }
            }
        },
        "properties": {}
    }
```

# グラウンドトゥルースでブループリントを最適化する
<a name="bda-optimize-blueprint-info"></a>

サンプルコンテンツアセットに正しい期待される結果を提供することで、ブループリントの精度を向上させることができます。ブループリント命令の最適化では、サンプルを使用してブループリントフィールドの自然言語命令を絞り込むため、推論**結果**の精度が向上します。

設計図指示の最適化は、請求書番号、契約金額、税フォームフィールドなど、ドキュメントに直接表示される特定の値を抽出する必要がある場合に最適です。本番環境で処理するドキュメント、特に精度の問題が発生したドキュメントを表すアセットの例を 3～10 個提供することをお勧めします。

**ブループリント命令の最適化の仕組み**  
設計図命令の最適化は、期待される結果と最初の推論結果の違いを分析します。このサービスは、サンプルアセット全体でより正確な結果が得られるまで、ブループリントの各フィールドの自然言語手順を繰り返し調整します。このプロセスは、モデルトレーニングや微調整を必要とせずに数分で完了します。

最適化プロセスを開始するときは、サンプルアセットとそれに対応するグラウンドトゥルースデータ、つまり各フィールドに対して抽出する予定の正しい値を指定します。設計図命令の最適化は、これらの値を推論結果と比較し、精度を向上させるためにフィールドの説明を調整します。最適化が完了すると、完全一致率やグラウンドトゥルースに対して測定された F1 スコアなど、精度の向上を示す精度メトリクスを受け取ります。

**ブループリントの最適化を開始する前に必要なもの**  
**フィールドが定義された設計図**。コンソールまたは API を使用してブループリントを作成します。ブループリントには、抽出するデータのフィールド名と初期説明が含まれている必要があります。

**コンテンツアセットの例**。ドキュメントの本稼働ワークロードを表す 3～10 個のドキュメントアセットを収集します。ブループリントのすべてのフィールドを含む例を選択します。

**例で期待される結果**。各サンプルアセットから抽出する正しい値を準備します。これらの値は、最適化中に手動で入力することも、マニフェストファイルを使用してアップロードすることもできます。

**S3 バケットの場所**。サンプルアセットとグラウンドトゥルースデータを保存する S3 バケットを指定します。独自のバケットを指定するか、サービスにバケットの作成を許可できます。

**ブループリントを最適化するStep-by-stepのプロセス**  
ブループリントを最適化するには、Amazon Bedrock Data Automation コンソールのブループリントの詳細ページから開始します。これはドキュメントモダリティでのみ使用できることに注意してください。

ステップ 1. 最適化**設計図**を選択して、最適化ワークフローを開始します。

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/bda-blueprint-optimize-button.png)


ステップ 2. **サンプルアセットをアップロードします**。ローカルデバイスまたは S3 の場所から最大 10 個のコンテンツアセットを選択します。サービスはアセットをアップロードし、各ファイルのサムネイルを表示します。以前にこのブループリントを最適化した場合は、新しい例を追加したり、既存の例を削除したりできます。

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/bda-optimize-files-selector.png)


ステップ 3. **各アセットのグラウンドトゥルースを提供します**。アセットを選択してグラウンドトゥルースエディタを開きます。エディタには、ドキュメントプレビューが左側に表示され、ブループリントフィールドの簡易テーブルが右側に表示されます。各フィールドに、Ground Truth 列に抽出する予定の正しい値を入力します。

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/bda-optimize-files-ground-truth.png)


ステップ 4. Ground Truth エントリを高速化するには、**Auto-populate** を選択してアセットの初期推論を実行し、**結果**列の値から **Ground Truth** 列を自動的に入力します。先に進む前に、誤った値を編集します。

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/bda-optimize-ground-truth-edit.png)


ステップ 5. **最適化を開始します**。選択したすべてのアセットのグラウンドトゥルースエントリを完了したら、**最適化の開始**を選択します。データ自動化は、例を分析し、各フィールドの自然言語の手順を調整します。進行状況インジケータには、「アセットの読み取り」や「ブループリントの自然言語指示の変更」などのメッセージで最適化ステータスが表示されます。

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/bda-start-optimization-button.png)


ステップ 6. **評価メトリクスを確認します**。最適化が完了すると、**メトリクス**セクションにブループリントの精度メトリクスが表示されます。メトリクスは、最適化前と最適化後のパフォーマンスを比較します。全体的な F1 スコア、信頼スコア、完全一致率を確認して、設計図が精度要件を満たしているかどうかを評価します。

**サンプルファイルごとのメトリクス**タブには、各サンプルアセットのフィールドレベルの精度が表示されます。これらのメトリクスを使用して、改善されたフィールドと、追加の例や手動調整が必要なフィールドを特定します。

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/bda-optimize-metrics.png)


ステップ 7. **最適化を完了**します。評価メトリクスが要件を満たしている場合は、**最適化されたブループリントを保存**を選択して、最適化されたブループリントを本番環境に昇格させます。ブループリントでは、今後のすべての推論リクエストに対して、洗練された自然言語の手順を使用するようになりました。

**ブループリントの再最適化**  
設計図をいつでも再最適化して、精度をさらに向上させることができます。ブループリントの詳細ページに戻り、**ブループリントの最適化**を選択します。サービスには、以前に最適化に使用したアセットとグラウンドトゥルース値が表示されます。

再最適化するには、新しいサンプルアセットを追加したり、既存のアセットのグラウンドトゥルース値を編集したり、ワークロードを表しなくなったアセットを削除したりできます。**最適化の開始**を選択すると、ブループリント命令の最適化は、現在のブループリント命令と新しい命令との比較を計算します。

**最適化後にブループリントを編集する**  
最適化ブループリントからフィールドを追加または削除すると、サービスは最適化履歴と関連するサンプルアセットを削除します。編集する前に、アセットの場所とグラウンドトゥルースラベルを含むマニフェストファイルをダウンロードします。マニフェストファイルは JSON 形式を使用し、以前の最適化のすべてのフィールドとグラウンドトゥルース値が含まれます。最適化作業を維持するには、編集したブループリントを再最適化するときにマニフェストファイルをアップロードします。データ自動化は、グラウンドトゥルース値を一致するフィールドに自動的に適用します。ブループリントに存在しなくなったフィールドはマニフェストから削除されます。新しいフィールドには、入力するまでグラウンドトゥルース値はありません。

**最適化コストを管理する**  
ブループリント命令の最適化では、自然言語命令を手動で編集し、各サンプルドキュメントに対して繰り返しテストする場合と同様に、推論コストが発生します。大まかな計算では、例として指定するページ数は、ブループリントを最適化するときに課金されるページ数になります。最適化を実行するたびに、サンプルアセットが複数回処理され、手順が絞り込まれます。コストを最小限に抑えるには、初期最適化の例を 3～5 つから始めます。評価メトリクスを検査し、精度をさらに改善する必要があると思われる場合は、さらに例を追加します。

さらに、最適化された自然言語命令は元の命令よりも長く、より詳細になる傾向があり、ランタイム推論コストが増加する可能性があります。

# Bedrock Data Automation コンソールを使用する
<a name="bda-blueprints-console"></a>

Amazon Bedrock Data Automation (BDA) では、情報を処理する際に 2 つの主要なアーティファクトが使用されます。出力設定が保存されるプロジェクト、および非構造化コンテンツの出力形式と抽出ロジックをカスタマイズできるブループリントです。

このセクションでは、BDA コンソールでのプロジェクトとブループリントの作成について説明します。BDA 内でのプロジェクトの仕組みの詳細については、「[Bedrock Data Automation のプロジェクト](bda-projects.md)」を参照してください。BDA におけるブループリントの詳細については、「[カスタム出力のブループリントを作成する方法](bda-idp.md#how-to-create-blueprints)」を参照してください。

## BDA コンソールのプロジェクト
<a name="projects-in-bda-console"></a>

BDA コンソールでは、プロジェクトを作成および管理できます。プロジェクトを使用すると、推論オペレーションの実行時に取得される標準出力を制御したり、推論中にカスタム出力を処理する方法を制御したりできます。

プロジェクトは、次の方法で作成します。

1. Amazon Bedrock サービスに移動します。サイドバーメニューから [データオートメーション] を選択します。

1. [プロジェクトを作成] を選択します。

1. プロジェクトに名前を付け、[プロジェクトを作成] を再度選択します。

1. これにより、プロジェクトの詳細ページが表示され、プロジェクトで有効になっている標準出力を確認できます。その後、[カスタム出力] タブを選択し、[ブループリントの作成] オプションを選択することで、カスタム出力を制御できます。さらに、既存のブループリントをプロジェクトに追加できます。

## BDA コンソールでのブループリントの作成
<a name="accessing-bda-console"></a>

または、サイドバーメニューから [データオートメーション] を選択し、カスタム出力設定に直接移動することもできます。BDA ダッシュボードで、[カスタム出力設定] タブを見つけてクリックします。これにより、ブループリント管理ページが表示されます。

## ブループリント作成を開始する
<a name="initiating-blueprint-creation"></a>

1. [ブループリントの作成] ボタンをクリックして、新しいブループリントの作成プロセスを開始します。

1. [コンピュータからアップロード] または [S3 からインポート] を選択し、処理するファイルを表すファイルを指定します。

1. ブループリント生成用のブループリントプロンプトを入力します。プロンプトを入力するとき、アップロードしたドキュメントで検索できるフィールドを指定できます。データの正規化または検証を指定することもできます。

1. [ブループリントを生成] を選択します。

1. ブループリントに名前を付け、[ブループリントの作成] を選択します。

1. [カスタムブループリント] セクションで、[ブループリントの作成] ボタンを選択できます。

1. ブループリントが作成され、提供されたプロンプトに基づいて識別された抽出を確認できます。

## ブループリントをプレビューする
<a name="previewing-the-blueprint"></a>

プレビュー機能を使用し、サンプルデータを使用してブループリントをテストします。これにより、抽出とフォーマットが正常に機能していることを確認できます。

[ブループリントプロンプトを保存して終了する] を選択して、ブループリントをリソースとして保存します。

## ブループリントを管理する
<a name="managing-blueprints"></a>

作成後、ブループリントダッシュボードからブループリントを管理できます。オプションには以下が含まれます。
+ 既存のブループリントを編集する
+ ブループリントを複製する
+ ブループリントの削除
+ ブループリントのバージョン履歴を表示する

[プロジェクトに追加] ドロップダウンメニューを選択し、作成したプロジェクトを選択することで、プロジェクトにブループリントを追加することもできます。

## ブループリントを使用する
<a name="using-your-blueprint"></a>

作成したら、ブループリントを BDA プロジェクトで使用するか、API コールで直接使用して、非構造化コンテンツを処理できます。ブループリントを使用するには、次の手順に従います。
+ API コールを行う場合は、リクエストパラメータにブループリント ARN を含めます。詳細については、API コールに関するセクションを参照してください。
+ API コールを行う場合は、ブループリントを含むプロジェクトの ARN を含めます。詳細については、API コールに関するセクションを参照してください。

## コンソールを使用してドキュメントを処理する
<a name="processing-documents-with-console"></a>

BDA コンソールでは、BDA が非構造化コンテンツから抽出できるインサイトを簡単にテストおよびプレビューすることもできます。これらのテストは、一度に 1 つのドキュメントでしか実行できません。複数のドキュメントを処理するには、「API の使用」を参照してください。サンプルドキュメント、画像、動画、またはオーディオファイルをアップロードすることができます。コンソールには、BDA が生成できるデフォルトのインサイトと、作成したカスタムブループリントを適用するオプションが表示されます。

作成してプロジェクトに適用したブループリントをテストするには、[データオートメーション] の [プロジェクト] セクションに移動し、プロジェクトを選択します。

プロジェクトの詳細ページが表示されたら、[テスト] を選択します。テストページでファイルを選択し、作成した標準出力またはブループリントを使用してファイルを処理できます。

# Bedrock Data Automation API を使用する
<a name="bda-using-api"></a>

 Amazon Bedrock データ自動化 (BDA) 機能は、データを処理するための合理化された API ワークフローを提供します。すべてのモダリティにおいて、このワークフローは、プロジェクトの作成、分析の呼び出し、結果の取得の 3 つの主要なステップで構成されます。処理されたデータのカスタム出力を取得するには、分析オペレーションを呼び出すときにブループリント ARN を指定します。

## データ自動化プロジェクトを作成する
<a name="create-data-automation-project"></a>

BDA を使用してファイルの処理を開始するには、まずデータ自動化プロジェクトを作成する必要があります。これは、CreateDataAutomationProject オペレーションまたは Amazon Amazon Bedrock コンソールの 2 つの方法で実行できます。

### API を使用する
<a name="using-the-api"></a>

API を使用してプロジェクトを作成する場合は、CreateDataAutomationProject を呼び出します。プロジェクトを作成するときは、よく処理するファイルの種類 (使用する予定のモダリティ) の設定を定義する必要があります。画像の標準出力を設定する方法の例を次に示します。

```
{
    "standardOutputConfiguration": {
        "image": {
            "state": "ENABLED",
            "extraction": {
                "category": {
                    "state": "ENABLED",
                    "types": [
                        "CONTENT_MODERATION",
                        "TEXT_DETECTION"
                    ]
                },
                "boundingBox": {
                    "state": "ENABLED"
                }
            },
            "generativeField": {
                "state": "ENABLED",
                "types": [
                    "IMAGE_SUMMARY",
                    "IAB"
                ]
            }
        }
    }
}
```

API により入力設定が検証されます。一意の ARN を持つ新しいプロジェクトが作成されます。後で使用できるようにプロジェクト設定が保存されます。パラメータを指定せずにプロジェクトを作成した場合、デフォルト設定が適用されます。例えば、画像を処理する場合、画像の要約とテキスト検出がデフォルトで有効になります。

 AWS アカウントごとに作成できるプロジェクトの数には制限があります。特定の設定の組み合わせは許可されないか、追加のアクセス許可が必要になる場合があります。

------
#### [ Async ]

**データ自動化非同期を呼び出す**

プロジェクトをセットアップすると、[InvokeDataAutomationAsync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomationAsync.html) オペレーションを使用してイメージの処理を開始できます。カスタム出力を使用する場合は、リクエストごとに 1 つのブループリント ARN のみ送信できます。

この API コールは、指定された S3 バケット内のファイルの非同期処理を開始します。API は、処理されるプロジェクト ARN とファイルを受け入れ、非同期処理ジョブを開始します。プロセスを追跡するため、ジョブ ID が返されます。プロジェクトが存在しない場合、発信者に必要なアクセス許可がない場合、または入力ファイルがサポートされている形式でない場合、エラーが発生します。

以下は、JSON リクエストの構造です。

```
{
   {
   "blueprints": [ 
      { 
         "blueprintArn": "string",
         "stage": "string",
         "version": "string"
      }
   ],
   "clientToken": "string",
   "dataAutomationConfiguration": { 
      "dataAutomationProjectArn": "string",
      "stage": "string"
   },
   "dataAutomationProfileArn": "string",
   "encryptionConfiguration": { 
      "kmsEncryptionContext": { 
         "string" : "string" 
      },
      "kmsKeyId": "string"
   },
   "inputConfiguration": { 
      "assetProcessingConfiguration": { 
         "video": { 
            "segmentConfiguration": { ... }
         }
      "s3Uri": "string"
   },
   "notificationConfiguration": { 
      "eventBridgeConfiguration": { 
         "eventBridgeEnabled": boolean
      }
   },
   "outputConfiguration": { 
      "s3Uri": "string"
   },
   "tags": [ 
      { 
         "key": "sstring",
         "value": "string"
      }
   ]
}
}
```

動画ファイルで `InvokeDataAutomationAsync` を実行すると、データ抽出対象の動画全体として扱われる動画の 5 分以上のセクションを設定できます。この時間は、開始ミリ秒と終了ミリ秒のタイムスタンプで設定されます。この情報は `assetProcessingConfiguration` 要素に追加されます。

------
#### [ Sync ]

**データ自動化を呼び出す**

または、[InvokeDataAutomation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomation.html) オペレーションを使用することもできます。`InvokeDataAutomation` オペレーションはイメージの処理のみをサポートします。

この API コールは、S3 リファレンスを介して、またはペイロードで提供される の同期処理を開始します。API は、処理するプロジェクト ARN とファイルを受け入れ、構造化されたインサイトをレスポンスで返します。プロジェクトが存在しない場合、発信者に必要なアクセス許可がない場合、または入力ファイルがサポートされている形式でない場合、エラーが発生します。分析されたイメージが意味的にドキュメントとして分類されている場合、InvokeDataAutomation はイメージのみをサポートするため、これはエラーとしても発生します。このエラーを回避するには、プロジェクトでモダリティルーティングを使用して、すべてのイメージファイルタイプをイメージとして強制的にルーティングできます (「」を参照[モダリティとルーティングファイルタイプを無効化する](bda-routing-enablement.md))。

以下は、イメージとドキュメントの両方の JSON リクエストの構造です。同期 API リクエストは、イメージバイトと S3 バケットの両方をサポートします。イメージバイトを使用するには、inputConfiguration」セクション`“s3Uri”: “string”`の を に置き換えるだけです。`“bytes“: “base64-encoded string“``outputConfiguration`オプションで、デフォルトはインライン出力です。S3 uri が outputConfiguration として提供されている場合、暗号化された出力は指定された S3 バケットに配置されます。

```
{
   {
    "blueprints": [ 
       { 
          "blueprintArn": "string",  //use for image
          "stage": "string",
          "version": "string"
       }
    ],
    "dataAutomationConfiguration": { 
       "dataAutomationProjectArn": "string",
       "stage": "string"
    },
    "dataAutomationProfileArn": "string",
    "inputConfiguration": { 
          "s3Uri": "string"
    },
    "outputConfiguration": { 
       "s3Uri": "string"
    }  
 }
}
```

出力には、InvokeDataAutomation の呼び出しで指定されたファイル、オペレーション、カスタム出力設定の両方に応じて、一意の構造が含まれます。このレスポンスには、標準出力レスポンスとカスタム出力レスポンスの両方が含まれていることに注意してください。

------

標準出力設定とカスタム出力設定の両方を使用した JSON レスポンスの構造は次のとおりです。

```
{
  "semanticModality": "IMAGE",
  "outputSegments": [
    {
      "customOutputStatus": "MATCH",
      "standardOutput": {
        "image": {
          "summary": "This image shows a white Nike running shoe with a black Nike swoosh logo on the side. The shoe has a modern design with a thick, cushioned sole and a sleek upper part. The word \"ROUKEA\" is visible on the sole of the shoe, repeated twice. The shoe appears to be designed for comfort and performance, suitable for running or athletic activities. The background is plain and dark, highlighting the shoe.",
          "iab_categories": [
            {
              "category": "Style and Fashion",
              "confidence": 0.9890000000000001,
              "taxonomy_level": 1,
              "parent_name": "",
              "id": "0ebe86c8-e9af-43f6-a7bb-182a61d2e1fd",
              "type": "IAB"
            },
            {
              "category": "Men's Fashion",
              "confidence": 0.9890000000000001,
              "taxonomy_level": 2,
              "parent_name": "Style and Fashion",
              "id": "13bd456a-3e1b-4681-b0dd-f42a8d5e5ad5",
              "type": "IAB"
            },
            {
              "category": "Style and Fashion",
              "confidence": 0.853,
              "taxonomy_level": 1,
              "parent_name": "",
              "id": "177b29a1-0e40-45c1-8540-5f49a3d7ded3",
              "type": "IAB"
            },
            {
              "category": "Women's Fashion",
              "confidence": 0.853,
              "taxonomy_level": 2,
              "parent_name": "Style and Fashion",
              "id": "f0197ede-3ba6-498b-8f7b-43fecc5735ef",
              "type": "IAB"
            }
          ],
          "content_moderation": [],
          "logos": [
            {
              "id": "2e109eb6-39f5-4782-826f-911b62d277fb",
              "type": "LOGOS",
              "confidence": 0.9170872209665809,
              "name": "nike",
              "locations": [
                {
                  "bounding_box": {
                    "left": 0.3977411523719743,
                    "top": 0.4922481227565456,
                    "width": 0.2574246356942061,
                    "height": 0.15461772197001689
                  }
                }
              ]
            }
          ],
          "text_words": [
            {
              "id": "f70301df-5725-405e-b50c-612e352467bf",
              "type": "TEXT_WORD",
              "confidence": 0.10091366487951722,
              "text": "ROUKEA",
              "locations": [
                {
                  "bounding_box": {
                    "left": 0.6486002310163024,
                    "top": 0.6783271480251003,
                    "width": 0.13219473954570082,
                    "height": 0.05802226710963898
                  },
                  "polygon": [
                    {
                      "x": 0.6486002310163024,
                      "y": 0.7025876947351404
                    },
                    {
                      "x": 0.7760931467045249,
                      "y": 0.6783271480251003
                    },
                    {
                      "x": 0.7807949705620032,
                      "y": 0.7120888684246991
                    },
                    {
                      "x": 0.6533020989743271,
                      "y": 0.7363494151347393
                    }
                  ]
                }
              ],
              "line_id": "9147fec0-d869-4d58-933e-93eb7164c404"
            }
          ],
          "text_lines": [
            {
              "id": "9147fec0-d869-4d58-933e-93eb7164c404",
              "type": "TEXT_LINE",
              "confidence": 0.10091366487951722,
              "text": "ROUKEA",
              "locations": [
                {
                  "bounding_box": {
                    "left": 0.6486002310163024,
                    "top": 0.6783271480251003,
                    "width": 0.13219473954570082,
                    "height": 0.05802226710963898
                  },
                  "polygon": [
                    {
                      "x": 0.6486002310163024,
                      "y": 0.7025876947351404
                    },
                    {
                      "x": 0.7760931467045249,
                      "y": 0.6783271480251003
                    },
                    {
                      "x": 0.7807949705620032,
                      "y": 0.7120888684246991
                    },
                    {
                      "x": 0.6533020989743271,
                      "y": 0.7363494151347393
                    }
                  ]
                }
              ]
            }
          ]
        },
        "statistics": {
          "iab_category_count": 4,
          "content_moderation_count": 0,
          "logo_count": 1,
          "line_count": 1,
          "word_count": 1
        },
        "metadata": {
          "semantic_modality": "IMAGE",
          "image_width_pixels": 173,
          "image_height_pixels": 148,
          "image_encoding": "jpeg",
          "s3_bucket": "test-bucket",
          "s3_key": "uploads/test-image.jpeg"
        }
      },
      "customOutput": {
        "matched_blueprint": {
          "arn": "arn:aws:bedrock:us-east-1:123456789012:blueprint/test",
          "version": "1",
          "name": "test-blueprint",
          "confidence": 1.0
        },
        "inference_result": {
          "product_details": {
            "product_category": "footwear"
          },
          "image_sentiment": "Positive",
          "image_background": "Solid color",
          "image_style": "Product image",
          "image_humor": false
        }
      }
    }
  ]
}
```

## データ自動化ステータスを取得する
<a name="get-data-automation-status"></a>

処理ジョブのステータスをチェックして結果を取得するには、GetDataAutomationStatus を使用します。

GetDataAutomationStatus API を使用すると、ジョブの進行状況をモニタリングし、処理が完了したら結果にアクセスできます。InvokeDataAutomationAsync によって返される呼び出し ARN が API により受け入れられます。ジョブの現在のステータスがチェックされ、関連情報が返されます。ジョブが完了すると、S3 内の結果の場所が示されます。

ジョブがまだ進行中の場合は、現在の状態 (「InProgress」など) が返されます。ジョブが完了すると、S3 内の結果の場所とともに「Success」が返されます。エラーが発生した場合、エラーの詳細とともに「ServiceError」または「ClientError」が返されます。

リクエスト JSON は次の形式です。

```
{
   "InvocationArn": "string" // Arn
}
```

## 非同期出力レスポンス
<a name="async-output-response"></a>

ファイル処理の結果は、入力画像用に設定された S3 バケットに保存されます。出力には、InvokeDataAutomationAsync の呼び出しで指定されたファイルモダリティとオペレーションタイプの両方に応じて、一意の構造が含められます。

特定のモダリティの標準出力の詳細については、「[Bedrock Data Automation の標準出力](bda-standard-output.md)」を参照してください。

例えば、画像には以下の情報が含められる可能性があります。
+ 画像の要約: 画像のわかりやすい要約またはキャプション。
+ IAB 分類: IAB 分類に基づく分類。
+ 画像テキスト検出: 境界ボックス情報を含む抽出テキスト。
+ コンテンツモデレーション: 画像内の不適切、望ましくない、または不快なコンテンツを検出します。

以下は、画像処理の出力のスニペット例です。

```
{
    "metadata": {
        "id": "image_123",
        "semantic_modality": "IMAGE",
        "s3_bucket": "my-s3-bucket",
        "s3_prefix": "images/",
        "image_width_pixels": 1920,
        "image_height_pixels": 1080
    },
    "image": {
        "summary": "A lively party scene with colorful decorations and supplies",
        "iab_categories": [
            {
                "category": "Party Supplies",
                "confidence": 0.9,
                "parent_name": "Events & Attractions"
            }
        ],
        "content_moderation": [
            {
                "category": "Drugs & Tobacco Paraphernalia & Use",
                "confidence": 0.7
            }
        ],
        "text_words": [
            {
                "id": "word_1",
                "text": "lively",
                "confidence": 0.9,
                "line_id": "line_1",
                "locations": [
                    {
                        "bounding_box": {
                            "left": 100,
                            "top": 200,
                            "width": 50,
                            "height": 20
                        },
                        "polygon": [
                            {
                                "x": 100,
                                "y": 200
                            },
                            {
                                "x": 150,
                                "y": 200
                            },
                            {
                                "x": 150,
                                "y": 220
                            },
                            {
                                "x": 100,
                                "y": 220
                            }
                        ]
                    }
                ]
            }
        ]
    }
}
```

この構造化された出力により、ダウンストリームアプリケーションとの統合とさらなる分析が容易になります。

## ブループリント最適化 APIs
<a name="blueprint-optimization-apis"></a>

### InvokeBlueprintOptimizationAsync
<a name="invoke-blueprint-optimization-async"></a>

サンプルコンテンツアセットに正しい期待される結果を提供することで、ブループリントの精度を向上させることができます。ブループリント命令の最適化では、例を使用してブループリントフィールドの自然言語命令を絞り込むため、推論*結果*の精度が向上します。

ブループリントの場合、InvokeBlueprintOptimizationAsync API を呼び出して非同期最適化ジョブを開始し、グラウンドトゥルースデータに基づいてブループリントフィールドの手順を改善できます。

**リクエスト本文**  


```
{
    "blueprint": {
        "blueprintArn": "arn:aws:bedrock:us-east-1:123456789012:blueprint/my-document-processor",
        "stage": "DEVELOPMENT"
    },
    "samples": [
        {
            "assetS3Object": {
                "s3Uri": "s3://my-optimization-bucket/samples/document1.pdf"
            },
            "groundTruthS3Object": {
                "s3Uri": "s3://my-optimization-bucket/ground-truth/document1-expected.json"
            }
        }
    ],
    "outputConfiguration": {
        "s3Object": {
            "s3Uri": "s3://my-optimization-bucket/results/optimization-output"
        }
    },
    "dataAutomationProfileArn": "arn:aws:bedrock:us-east-1:123456789012:data-automation-profile/my-profile"
}
```

**応答**  


```
{
    "invocationArn": "arn:aws:bedrock:us-east-1:123456789012:blueprint-optimization-invocation/opt-12345abcdef"
}
```

**重要**  
invocationArn を保存して、最適化ジョブのステータスをモニタリングします。

### GetBlueprintOptimizationStatus
<a name="get-blueprint-optimization-status"></a>

InvokeBlueprintOptimizationAsync 非同期 API を呼び出して出力されたブループリント最適化ジョブの現在のステータスと結果を取得します。GetBlueprintOptimizationStatus は、InvokeBlueprintOptimizationAsync によって返される呼び出し ARN を受け入れます。

**応答**  


```
{
    "status": "Success",
    "outputConfiguration": {
        "s3Object": {
            "s3Uri": "s3://my-optimization-bucket/results/optimization-output"
        }
    }
}
```

**ステータス値:**  

+ 作成済み - ジョブが作成されました
+ InProgress - 最適化が実行中
+ Success - 最適化が正常に完了しました
+ ServiceError - 内部サービスエラーが発生しました
+ ClientError - 無効なリクエストパラメータ

### CopyBlueprintStage
<a name="copy-blueprint-stage"></a>

ソースステージからターゲットステージ (例: 開発ステージからライブステージへ）。これは、ステージ間で optimizationSamples フィールドを含むすべての設定を同期するために使用されます。

**リクエスト本文**  


```
{
    "blueprintArn": "arn:aws:bedrock:us-east-1:123456789012:blueprint/my-document-processor",
    "sourceStage": "DEVELOPMENT",
    "targetStage": "LIVE"
}
```

**ステージ値:**  

+ 開発 - 開発/テストステージ
+ LIVE - 本番稼働ステージ

**応答**  


```
{}
```

**警告**  
このオペレーションはターゲットステージ設定を上書きし、簡単に元に戻すことはできません。LIVE ステージにコピーする前に、徹底的なテストを行ってください。

# Bedrock Data Automation での推論とリソースのタグ付け
<a name="bda-tagging"></a>

BDA リソースと推論の管理に役立つように、メタデータをタグとして割り当てられます。タグは、プロジェクトやブループリントなどの AWS リソースに割り当てるラベルです。各タグは、キーと値から構成されます。

リソースにタグを付けることで、AWS リソースを目的、所有者、アプリケーションなど、さまざまな方法で分類できます。推論のタグ付けの仕組みは少し異なります。このようなタグ付けにより、プロジェクトやブループリントのみでなく、BDA API の特定の呼び出しも分類できます。詳細については、「AWSリソースのタグ付け」を参照してください。

分類以外にも、推論タグを使用すると、毎月のコスト配分を確認できます。詳細については、AWS Billing and Cost Management ユーザーガイドの「コスト配分タグの使用」を参照してください。

タグは、以下のことに役立ちます。
+ AWS リソースの特定と整理。多くの AWS のリソースではタグ付けがサポートされるため、さまざまなサービスのリソースに同じタグを割り当てて、リソースの関連を示すことができます。
+ リソースへのアクセス制御。Amazon Bedrock でタグを使用して、Amazon Bedrock リソースへのアクセスを制御するポリシーを作成することができます。これらのポリシーを IAM ロールまたはユーザーにアタッチして、タグベースのアクセスコントロールを有効にできます。
+ コストの割り当て。タグは、AWS Billing and Cost Management ダッシュボードでアクティベートします。AWS では、タグを使用してコストを分類し、毎月のコスト割り当てレポートを設定することができます。推論タグでのみ使用できます。

API タグ付けオペレーションの使用方法など、リソースや推論のタグ付けの詳細については、「[Amazon Bedrock リソースにタグ付け](tagging.md)」を参照してください。

# Bedrock Data Automation を使用するための前提条件
<a name="bda-limits"></a>

BDA のファイルは、処理に向けて特定の要件を満たす必要があります。次の表は、さまざまなファイルタイプについての要件を説明しています。

------
#### [ Async ]

**非同期ドキュメントファイルの要件**

次の表は、Invoke Data Automation Async API を使用して処理されるファイルの要件を示しています。


**ドキュメントファイルの要件**  

|  要件の説明  |  要件の詳細  | 
| --- | --- | 
|  (コンソール) ドキュメントファイルあたりの最大ページ数  |  20  | 
|  分割機能が有効である間のドキュメントあたりの最大ページ数  |  3000  | 
|  (コンソール) 最大ファイル容量 (MB 単位)  |  200  | 
|  最大ファイルサイズ (MB 単位)  |  500  | 
|  サポートされるファイル形式  |  PDF、TIFF、JPEG、PNG、DOCX  | 
|  PDF 固有の制限  |  最大高さと最大幅は、40 インチ、9,000 ポイント。PDF はパスワードでの保護不可。PDF には JPEG 2000 形式の画像を含めることができる。  | 
|  ドキュメントの回転と画像サイズ  |  BDA は、45 度の平面内回転など、ドキュメントのあらゆる平面内回転をサポートする。 BDAは、全辺が 10,000 ピクセル以下の解像度の画像をサポートする。  | 
|  テキストの配置  |   テキストは文書内で横書きで配置できる。横書きに配列したテキストは、ドキュメントの回転角度を問わず、読み取ることができる。BDA は、ドキュメント内の縦書きテキスト (日本語や中国語などの言語で一般的な、垂直方向に記述されたテキスト) の配置はサポートしていない。  | 
|  文字サイズ  |  検出されるテキストの最小の高さは 15 ピクセル。150 DPI の場合、これは 8 ポイントフォントと同じサイズ。  | 
|  文字タイプ  |  BDA は、手書き文字認識と印刷文字認識の両方をサポートする。  | 

**注記**  
DOCX ファイルの処理では、PDF に変換される。このため、ページ番号マッピングは DOCX ファイルでは機能しない。JSON\$1 オプションとページの粒度が選択されている場合、変換された PDF の画像は出力バケットにアップロードされる。

ブループリント命令の最適化は、以下の違いがあるドキュメントに対して上記のすべての制限をサポートしています。
+ 合計 10 個のドキュメントアセットの例
+ コンソールと API のドキュメントアセット例あたり 20 ページ
+ ドキュメントアセットの合計例の 200MB 
+ PDF、DOCX、TIFF ドキュメントファイル形式のみ

------
#### [ Sync ]

**ドキュメントファイルの要件を同期する**

次の表は、Invoke Data Automation API を使用して処理されるファイルの要件を示しています。


**ドキュメントファイルの要件**  

|  要件の説明  |  要件の詳細  | 
| --- | --- | 
|  (コンソール) ドキュメントファイルあたりの最大ページ数  |  10  | 
|  ドキュメントファイルあたりの最大ページ数 (スプリッターは使用できません)  |  10  | 
|  (コンソール) 最大ファイル容量 (MB 単位)  |  50  | 
|  最大ファイルサイズ (MB 単位)  |  50  | 
|  サポートされるファイル形式  |  PDF、TIFF、JPEG、PNG  | 
|  PDF 固有の制限  |  最大高さと最大幅は、40 インチ、9,000 ポイント。PDF はパスワードでの保護不可。PDF には JPEG 2000 形式の画像を含めることができる。  | 
|  ドキュメントの回転と画像サイズ  |  BDA は、45 度の平面内回転など、ドキュメントのあらゆる平面内回転をサポートする。 BDAは、全辺が 10,000 ピクセル以下の解像度の画像をサポートする。  | 
|  テキストの配置  |   テキストは文書内で横書きで配置できる。横書きに配列したテキストは、ドキュメントの回転角度を問わず、読み取ることができる。BDA は、ドキュメント内の縦書きテキスト (日本語や中国語などの言語で一般的な、垂直方向に記述されたテキスト) の配置はサポートしていない。  | 
|  文字サイズ  |  検出されるテキストの最小の高さは 15 ピクセル。150 DPI の場合、これは 8 ポイントフォントと同じサイズ。  | 
|  文字タイプ  |  BDA は、手書き文字認識と印刷文字認識の両方をサポートする。  | 

**注記**  
図の字幕は、10 ページのドキュメント (同期) あたり 20 個のイメージと 1 ページあたり 20 個のイメージ (非同期) で機能します。

**ヒント**  
同期 API 処理を高速化するためのヒント:  
絶対に必要な場合を除き、生成フィールドを無効にします。
必要な粒度と出力テキスト形式のみを選択します (複数を選択するのではなく）。
ブループリントを簡素化して、抽出されるフィールドの数をできるだけ減らします。
可能な場合は、ブループリントのテーブルフィールドとリストフィールドの数を減らします。

------


**設計図の要件**  

|  要件の説明  |  要件の詳細  | 
| --- | --- | 
|  プロジェクトあたりのブループリントの最大数  |  40  | 
|  アカウントあたりのプロジェクトの最大数  |  100  | 
|  アカウントあたりのブループリントの最大数  |  1,000  | 
|  ブループリントバージョンの最大数  |  100  | 
|  ブループリントリーフフィールドの最大数  |  100  | 
|  ブループリントリストリーフフィールドの最大数  |  30  | 
|  ブループリント名の最大長  |  60 文字  | 
|  ブループリントフィールドの説明の最大長  |  600 文字 (ドキュメント）、500 文字 (image/video/audio)  | 
|  ブループリントフィールド名の最大長  |  60 文字  | 
|  最大ブループリントサイズ  |  100,000 文字 (JSON 形式)  | 


**画像ファイルの要件**  

|  要件の説明  |  要件の詳細  | 
| --- | --- | 
|  最大ファイルサイズ (MB 単位)  |  5  | 
|  最大解像度  |  8k  | 
|  サポートされるファイル形式  |  JPEG、PNG  | 


**動画ファイルの要件**  

|  要件の説明  |  要件の詳細  | 
| --- | --- | 
|  最大ファイルサイズ (MB 単位)  |  10240  | 
|  動画の最大長 (分単位)  |  240  | 
|  サポートされるファイル形式  |  H.264、H.265/HEVC、VP8、VP9、AV1、または MPEG-4 ビジュアルビデオコーデックを使用した MP4、MOV、AVI、MKV、または WEBM のコンテナ形式  | 
|  プロジェクトあたりの動画ブループリントの最大数  |  1  | 
|  推論開始リクエストあたりの動画ブループリントの最大数  |  1  | 
|  最小解像度  |  224  | 
|  最大解像度  |  7680  | 
|  最小フレームレート (フレーム/秒)  |  1  | 
|  最大フレームレート (フレーム/秒)  |  60  | 


**音声ファイルの要件**  

|  要件の説明  |  要件の詳細  | 
| --- | --- | 
|  サポートされている入力言語  |  英語、ドイツ語、スペイン語、フランス語、イタリア語、ポルトガル語、日本語、韓国語、中国語、台湾語、広東語。 *\$1上記の言語でサポートされているすべてのロケール。*  | 
|  サポートされている出力言語  |  英語、またはオーディオの主要言語。  | 
|  最小音声サンプルレート (Hz)  |  8000  | 
|  最大音声サンプルレート (Hz)  |  48000  | 
|  最大ファイルサイズ (MB 単位)  |  2048  | 
|  音声の最大長 (分単位)  |  240  | 
|  最小音声長 (ミリ秒)  |  500  | 
|  サポートされるファイル形式  |  AMR、FLAC、M4A、MP3、Ogg、WAV  | 
|  プロジェクトあたりの最大音声ブループリント  |  1  | 
|  推論開始リクエストあたりの最大音声ブループリント  |  1  | 
|  音声ファイルの最大音声チャネル  |  2  | 

# Amazon Bedrock Data Automation CLI の使用
<a name="bda-cli-guide"></a>

 Amazon Bedrock データ自動化 (BDA) 機能は、データを処理するための合理化された CLI ワークフローを提供します。すべてのモダリティにおいて、このワークフローは、プロジェクトの作成、カスタム出力用のブループリントの作成、ドキュメントの処理という 3 つの主要なステップで構成されます。このガイドでは、BDA を使用するための主要な CLI コマンドについて説明します。

## 最初の Data Automation プロジェクトを作成する
<a name="create-data-automation-project-cli"></a>

BDA の使用を開始するには、まず `create-data-automation-project` コマンドを使用してプロジェクトを作成します。

処理の対象となる次のサンプルパスポートについて考えてみましょう。

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/passport2.png)


プロジェクトを作成するときは、処理するファイルのタイプの構成設定を定義する必要があります。次のコマンドは、画像処理プロジェクトを作成するための最小限の実例を示しています。

```
aws bedrock-data-automation create-data-automation-project \
    --project-name "ImageProcessingProject" \
    --standard-output-configuration '{
        "image": {
            "extraction": {
                "category": {
                    "state": "ENABLED",
                    "types": ["TEXT_DETECTION"]
                },
                "boundingBox": {
                    "state": "ENABLED"
                }
            },
            "generativeField": {
                "state": "ENABLED"
            }
        }
    }'
```

このコマンドは、入力設定を検証し、一意の ARN を持つ新しいプロジェクトを作成します。レスポンスには、プロジェクトの ARN とステージが含まれます。

```
{
    "projectArn": "Amazon Resource Name (ARN)",
    "projectStage": "DEVELOPMENT",
    "status": "IN_PROGRESS"
}
```

パラメータを指定せずにプロジェクトを作成した場合、デフォルト設定が適用されます。例えば、画像を処理する場合、画像の要約とテキスト検出がデフォルトで有効になります。

## 完全なパラメータのリファレンス
<a name="create-project-parameters"></a>

次の表は、`create-data-automation-project` コマンドで利用可能なパラメータの一覧です。


**create-data-automation-project のパラメータ**  

| [Parameter] (パラメータ) | 必須 | デフォルト | [Description] (説明) | 
| --- | --- | --- | --- | 
| --project-name | はい | 該当なし | Data Automation プロジェクトの名前 | 
| --project-type | いいえ | プロジェクトのタイプは、使用できるランタイム処理 API を定義します。 ASYNCプロジェクトは invoke-bedrock-data-automation-async API でのみ使用できますが、 SYNC プロジェクトは invoke-bedrock-data-automation API でのみ使用できます。 | 
| --project-stage | いいえ | LIVE | プロジェクトのステージ (DEVELOPMENT または LIVE) | 
| --standard-output-configuration | はい | 該当なし | 標準出力処理の JSON 設定 | 
| --custom-output-configuration | いいえ | 該当なし | カスタム出力処理の JSON 設定 | 
| --encryption-configuration | いいえ | 該当なし | プロジェクトの暗号化設定 | 
| --client-token | いいえ | 自動生成 | リクエストのべき等性を確保するための一意の識別子 | 

## ブループリントの作成
<a name="create-blueprint-cli"></a>

プロジェクトを作成したら、`create-blueprint` コマンドを使用してブループリントを作成し、データ処理の構造を定義できます。

パスポート処理に合わせたブループリントを作成するための最小限の実例を次に示します。

```
aws bedrock-data-automation create-blueprint \
    --blueprint-name "passport-blueprint" \
    --type "IMAGE" \
    --blueprint-stage "DEVELOPMENT" \
    --schema '{
        "class": "Passport",
        "description": "Blueprint for processing passport images",
        "properties": {
            "passport_number": {
                "type": "string",
                "inferenceType": "explicit",
                "instruction": "The passport identification number"
            },
            "full_name": {
                "type": "string",
                "inferenceType": "explicit",
                "instruction": "The full name of the passport holder"
            }
        }
    }'
```

このコマンドは、指定されたスキーマを使用して新しいブループリントを作成します。ドキュメントを処理するときにこのブループリントを使用すると、定義されたスキーマに従って構造化データを抽出できます。

## ブループリントの使用
<a name="using-blueprint-cli"></a>

### プロジェクトへのブループリントの追加
<a name="adding-blueprint-to-project"></a>

プロジェクトにブループリントを追加するには、`update-data-automation-project` コマンドを使用します。

```
aws bedrock-data-automation update-data-automation-project \
    --project-arn "Amazon Resource Name (ARN)" \
    --standard-output-configuration '{
        "image": {
            "extraction": {
                "category": {
                    "state": "ENABLED",
                    "types": ["TEXT_DETECTION"]
                },
                "boundingBox": {
                    "state": "ENABLED"
                }
            },
            "generativeField": {
                "state": "ENABLED",
                "types": ["IMAGE_SUMMARY"]
            }
        }
    }' \
    --custom-output-configuration '{
        "blueprints": [
            {
                "blueprintArn": "Amazon Resource Name (ARN)",
                "blueprintVersion": "1",
                "blueprintStage": "LIVE"
            }
        ]
    }'
```

### ブループリントの統合の検証
<a name="verifying-blueprint-integration"></a>

`get-data-automation-project` コマンドを使用してブループリントの統合を検証できます。

```
aws bedrock-data-automation get-data-automation-project \
    --project-arn "Amazon Resource Name (ARN)"
```

### 複数のブループリントの管理
<a name="managing-multiple-blueprints"></a>

すべてのブループリントを表示するには、`list-blueprints` コマンドを使用します。

```
aws bedrock-data-automation list-blueprints
```

## ドキュメントを非同期的に処理する
<a name="invoke-data-automation-cli"></a>

BDA でドキュメントを処理する前に、まずドキュメントを S3 バケットにアップロードする必要があります。プロジェクトのセットアップが完了したら、 `invoke-data-automation-async` コマンドを使用してドキュメントを処理できます。

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
    --input-configuration '{
        "s3Uri": "s3://my-bda-documents/invoices/invoice-123.pdf"
    }' \
    --output-configuration '{
        "s3Uri": "s3://my-bda-documents/output/"
    }' \
    --data-automation-configuration '{
        "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
        "stage": "LIVE"
    }' \
    --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

このコマンドは、処理ステータスの確認に使用できる呼び出し ARN を返します。

```
{
    "invocationArn": "Amazon Resource Name (ARN)"
}
```

## 処理ステータスを確認する
<a name="get-data-automation-status-cli"></a>

処理ジョブのステータスを確認するには、`get-data-automation-status` コマンドを使用します。

```
aws bedrock-data-automation-runtime get-data-automation-status \
    --invocation-arn "Amazon Resource Name (ARN)"
```

このコマンドは、処理ジョブの現在のステータスを返します。

```
{
    "status": "COMPLETED",
    "creationTime": "2025-07-09T12:34:56.789Z",
    "lastModifiedTime": "2025-07-09T12:45:12.345Z",
    "outputLocation": "s3://my-bda-documents/output/efgh5678/"
}
```

可能なステータス値は以下のとおりです。
+ `IN_PROGRESS`: 処理ジョブは現在実行中です。
+ `COMPLETED`: 処理ジョブは正常に完了しました。
+ `FAILED`: 処理ジョブは失敗しました。エラーの詳細については、レスポンスを確認してください。
+ `STOPPED`: 処理ジョブは手動で停止されました。

## 結果を取得する
<a name="retrieve-results-cli"></a>

処理が完了したら、S3 バケット内の出力ファイルを一覧表示できます。

```
aws s3 ls s3://my-bda-documents/output/efgh5678/
```

結果をローカルマシンにダウンロードするには:

```
aws s3 cp s3://my-bda-documents/output/efgh5678/ ~/Downloads/bda-results/ --recursive
```

出力には、プロジェクト設定と適用したブループリントに基づく構造化データが含まれます。

## ドキュメントを同期的に処理する
<a name="process-docs-sync"></a>

BDA でドキュメントを処理する前に、まずドキュメントを S3 バケットにアップロードする必要があります。Sync API は、S3 バケットまたはイメージバイトを介した両方の入力 (S3 を使用しないドキュメントの処理) を処理します。コマンドは、プロジェクト設定と適用したブループリントに基づいて構造化データを返します。

```
aws bedrock-data-automation-runtime invoke-data-automation \
    --input-configuration '{
        "s3Uri": "s3://my-bda-documents/invoices/invoice-123.pdf"
    }' \
    --data-automation-configuration '{
        "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
        "stage": "LIVE"
    }' \
    --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

## イメージを同期的に処理する
<a name="process-images-sync"></a>

コマンドは、プロジェクト設定と適用したブループリントに基づいて構造化データを返します。

```
aws bedrock-data-automation-runtime invoke-data-automation \
    --input-configuration '{
        "s3Uri": "s3://my-bda-documents/invoices/advertisement_latest.jpeg"
    }' \
    --data-automation-configuration '{
        "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
        "stage": "LIVE"
    }' \
    --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

# ブループリント操作の CLI
<a name="bda-blueprint-operations"></a>

このガイドでは、AWS Command Line Interface (CLI) for Amazon BedrockData Automation (BDA) を通じて利用できる設計図オペレーションについて説明します。

## ブループリントの作成
<a name="create-blueprints-cli"></a>

ブループリントは、ドキュメント、画像、音声、または動画のファイルから抽出するデータの構造とプロパティを定義します。新しいブループリントを定義するには、create-blueprint コマンドを使用します。

以下のコマンドは、パスポート画像からデータを抽出するための新しいブループリントを作成します。

**[Syntax]** (構文)

```
aws bedrock-data-automation create-blueprint \
      --blueprint-name "passport-blueprint" \
      --type "IMAGE" \
      --blueprint-stage "DEVELOPMENT" \
      --schema '{
        "class": "Passport",
        "description": "Blueprint for processing passport images",
        "properties": {
          "passport_number": {
            "type": "string",
            "inferenceType": "explicit",
            "instruction": "The passport identification number"
          },
          "full_name": {
            "type": "string",
            "inferenceType": "explicit",
            "instruction": "The full name of the passport holder"
          },
          "expiration_date": {
            "type": "string",
            "inferenceType": "explicit",
            "instruction": "The passport expiration date"
          }
        }
      }'
```

## 完全なパラメータのリファレンス
<a name="create-blueprint-parameters"></a>

次の表は、`create-blueprint` コマンドで利用可能なパラメータの一覧です。


**create-blueprint のパラメータ**  

| [Parameter] (パラメータ) | 必須 | デフォルト | [Description] (説明) | 
| --- | --- | --- | --- | 
| --blueprint-name | はい | 該当なし | ブループリントの名前 | 
| --type | はい | 該当なし | コンテンツタイプ (画像、ドキュメント、音声、動画) | 
| --blueprint-stage | 不可 | LIVE | ブループリントのステージ (開発環境または本番環境) | 
| --schema | はい | 該当なし | ブループリントの構造を定義する JSON スキーマ | 
| --client-token | 不可 | 自動生成 | リクエストのべき等性を確保するための一意の識別子 | 

## ブループリント設定の表示
<a name="view-blueprint-cli"></a>

**すべてのブループリントを一覧表示する**

アカウントに関連付けられているすべてのブループリントのリストを取得するには、list-blueprints コマンドを使用します。

**[Syntax]** (構文)

```
aws bedrock-data-automation list-blueprints
```

**ブループリントの詳細を表示する**

スキーマや構成など、特定のブループリントに関する詳細情報を表示するには、get-blueprint コマンドを使用します。

**[Syntax]** (構文)

```
aws bedrock-data-automation get-blueprint \
      --blueprint-arn "Amazon Resource Name (ARN)"
```

**特定のバージョンを検査する**

バージョン管理されたブループリントを使用する場合に、特定のバージョンを表示するには、get-blueprint コマンドで --blueprint-version オプションを使用します。

**[Syntax]** (構文)

```
      aws bedrock-data-automation get-blueprint \
      --blueprint-arn "Amazon Resource Name (ARN)" \
      --blueprint-version "version-number"
```

**特定のステージを検査する**

開発ステージまたは本番環境ステージでブループリントを表示するには、以下を使用します。

```
      aws bedrock-data-automation get-blueprint \
      --blueprint-arn "Amazon Resource Name (ARN)" \
      --blueprint-stage "LIVE"
```

## ブループリントの仕様の編集
<a name="edit-blueprint-cli"></a>

**ブループリント設定を更新する**

既存のブループリントのスキーマまたはプロパティを変更するには、update-blueprint コマンドを使用します。

**[Syntax]** (構文)

```
aws bedrock-data-automation update-blueprint \
      --blueprint-arn "Amazon Resource Name (ARN)" \
      --schema '{
        "class": "Passport",
        "description": "Updated blueprint for processing passport images",
        "properties": {
          "passport_number": {
            "type": "string",
            "inferenceType": "explicit",
            "instruction": "The passport identification number"
          },
          "full_name": {
            "type": "string",
            "inferenceType": "explicit",
            "instruction": "The full name of the passport holder"
          },
          "expiration_date": {
            "type": "string",
            "inferenceType": "explicit",
            "instruction": "The passport expiration date"
          }
        }
      }'
```

**注:** ブループリントを更新する際は、変更しないフィールドであっても、完全なスキーマを指定する必要があります。

**本番環境に昇格する**

ブループリントを本番稼働のために開発ステージから本番環境ステージに移動させるには、update-blueprint コマンドで、--blueprint-stage オプションを使用します。

**[Syntax]** (構文)

```
aws bedrock-data-automation update-blueprint \
      --blueprint-arn "Amazon Resource Name (ARN)" \
      --blueprint-stage "LIVE"
```

**ブループリントのバージョニング**

大幅な変更を加える前に、create-blueprint-version コマンドを使用してブループリントの新しいバージョンを作成し、現在の状態を保存します。

**[Syntax]** (構文)

```
aws bedrock-data-automation create-blueprint-version \
      --blueprint-arn "Amazon Resource Name (ARN)"
```

## ブループリントタグの管理
<a name="tag-management-cli"></a>

タグを使用すると、ブループリントを整理および分類して、管理を簡素化するのに役立ちます。

**タグを追加する**

タグを追加して、メタデータをブループリントに適用します。

**[Syntax]** (構文)

```
aws bedrock-data-automation tag-resource \
      --resource-arn "Amazon Resource Name (ARN)" \
      --tags '{"Department":"Finance","Project":"PassportProcessing"}'
```

**タグを削除する**

untag-resource コマンドを使用して、ブループリントから特定のタグを削除します。

**[Syntax]** (構文)

```
aws bedrock-data-automation untag-resource \
      --resource-arn "Amazon Resource Name (ARN)" \
      --tag-keys '["Department","Project"]'
```

**タグを表示する**

ブループリントに関連付けられているすべてのタグを一覧表示するには、list-tags-for-resource コマンドを使用します。

**[Syntax]** (構文)

```
aws bedrock-data-automation list-tags-for-resource \
      --resource-arn "Amazon Resource Name (ARN)"
```

## ブループリントの削除
<a name="delete-blueprint-cli"></a>

**ブループリント全体を削除する**

ブループリントとブループリントのすべてのバージョンを完全に削除するには、delete-blueprint コマンドを使用します。

**[Syntax]** (構文)

```
aws bedrock-data-automation delete-blueprint \
          --blueprint-arn "Amazon Resource Name (ARN)"
```

**注:** このコマンドはブループリントを完全に削除するため、復元することはできません。

**重要:** 現在いずれかのプロジェクトで使用されているブループリントは、削除することはできません。削除する前に、プロジェクトのカスタム出力設定でブループリントが参照されていないことを確認する必要があります。

## 設計図の最適化
<a name="blueprint-optimization-cli"></a>

### 設計図の最適化の呼び出し
<a name="invoking-blueprint-optimization"></a>

非同期ブループリント最適化ジョブを開始して、各ブループリントフィールドのブループリントの指示と結果の精度を向上させます。

**[Syntax]** (構文)

```
aws bedrock-data-automation invoke-blueprint-optimization-async \
    --blueprint blueprintArn="arn:aws:bedrock:<region>:<account_id>:blueprint/<blueprint_id>",stage="DEVELOPMENT" \
    --samples '[
        {
            "assetS3Object": {
                "s3Uri": "s3://my-optimization-bucket/samples/document1.pdf"
            },
            "groundTruthS3Object": {
                "s3Uri": "s3://my-optimization-bucket/ground-truth/document1-expected.json"
            }
        }
    ]' \
    --output-configuration s3Object='{s3Uri="s3://my-optimization-bucket/results/optimization-output"}' \
    --data-automation-profile-arn "Amazon Resource Name (ARN):data-automation-profile/default"
```

### 設計図の最適化ステータスの確認
<a name="checking-blueprint-optimization-status"></a>

ブループリント最適化ジョブの進行状況と結果をモニタリングします。

**[Syntax]** (構文)

```
aws bedrock-data-automation get-blueprint-optimization-status \
    --invocation-arn "arn:aws:bedrock:<region>:<account_id>:blueprint-optimization-invocation/opt-12345abcdef"
```

このコマンドを使用して、最適化ジョブのステータスを追跡します。レスポンスには、現在のステータス (作成済み、InProgress、成功、ServiceError、または ClientError) と、完了時の出力設定の詳細が含まれます。

### 設計図ステージのコピー
<a name="copying-blueprint-stages"></a>

あるステージから別のステージにブループリントをコピーする

**[Syntax]** (構文)

```
aws bedrock-data-automation copy-blueprint-stage \
    --blueprint-arn "arn:aws:bedrock:<region>:<account_id>:blueprint/<blueprint_id>" \
    --source-stage "DEVELOPMENT" \
    --target-stage "LIVE"
```

**注意:** このコマンドは、ブループリント設定全体をソースステージからターゲットステージにコピーし、ターゲットステージの既存の設定を上書きします。

**重要:** 本番環境 (LIVE) ステージにコピーする前に、ブループリントがソースステージで徹底的にテストされていることを確認します。この操作は簡単に元に戻すことができません。

# CLI を介した処理
<a name="bda-document-processing-cli"></a>

BDA でドキュメントを処理する前に、まずドキュメントを S3 バケットにアップロードする必要があります。

**[Syntax]** (構文)

```
aws s3 cp <source> <target> [--options]
```

例:

```
aws s3 cp /local/path/document.pdf s3://my-bda-bucket/input/document.pdf
```

------
#### [ Async ]

**基本的な処理コマンド構造**

ファイルを処理するには、`invoke-data-automation-async` コマンドを使用します。

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
        --input-configuration '{
            "s3Uri": "s3://amzn-s3-demo-bucket/sample-images/sample-image.jpg"
        }' \
        --output-configuration '{
            "s3Uri": "s3://amzn-s3-demo-bucket/output/"
        }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

**高度な処理コマンド構造**

**タイムセグメントを使用した動画処理**

動画ファイルの場合、処理するタイムセグメントを指定できます。

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
        --input-configuration '{
            "s3Uri": "s3://my-bucket/video.mp4",
            "assetProcessingConfiguration": {
                "video": {
                    "segmentConfiguration": {
                        "timestampSegment": {
                            "startTimeMillis": 0,
                            "endTimeMillis": 300000
                        }
                    }
                }
            }
        }' \
        --output-configuration '{
            "s3Uri": "s3://my-bucket/output/"
        }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

**カスタムブループリントの使用**

カスタムブループリントは、以下のコマンドで直接指定できます。

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
        --input-configuration '{
            "s3Uri": "s3://my-bucket/document.pdf"
        }' \
        --output-configuration '{
            "s3Uri": "s3://my-bucket/output/"
        }' \
        --blueprints '[
            {
                "blueprintArn": "Amazon Resource Name (ARN)",
                "version": "1",
                "stage": "LIVE"
            }
        ]' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

**暗号化の設定の追加**

セキュリティを強化するために、暗号化の設定を追加できます。

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
        --input-configuration '{
            "s3Uri": "s3://my-bucket/document.pdf"
        }' \
        --output-configuration '{
            "s3Uri": "s3://my-bucket/output/"
        }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --encryption-configuration '{
            "kmsKeyId": "Amazon Resource Name (ARN)",
            "kmsEncryptionContext": {
                "Department": "Finance",
                "Project": "DocumentProcessing"
            }
        }' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

**イベント通知**

次のとおり、処理完了の EventBridge 通知を有効にします。

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
        --input-configuration '{
            "s3Uri": "s3://my-bucket/document.pdf"
        }' \
        --output-configuration '{
            "s3Uri": "s3://my-bucket/output/"
        }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --notification-configuration '{
            "eventBridgeConfiguration": {
                "eventBridgeEnabled": true
            }
        }' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

**処理ステータスの確認**

プロジェクトの作成ステータスを確認するには、以下のとおり、`get-data-automation-status` コマンドを使用します。

```
aws bedrock-data-automation-runtime get-data-automation-status \
        --invocation-arn "Amazon Resource Name (ARN)"
```

レスポンスには、次のとおり現在のステータスが含まれます。

```
{
        "status": "COMPLETED",
        "creationTime": "2025-07-24T12:34:56.789Z",
        "lastModifiedTime": "2025-07-24T12:45:12.345Z",
        "outputLocation": "s3://my-bucket/output/abcd1234/"
        }
```

**処理結果を取得する**

**S3 での出力ファイルの検索**

次のとおり、S3 バケットのファイルを一覧表示します。

```
aws s3 ls s3://amzn-s3-demo-bucket/output/
```

次のとおり、結果をローカルマシンにダウンロードします。

```
aws s3 cp s3://amzn-s3-demo-bucket/output/ ~/Downloads/bda-results/ --recursive
```

**出力構造の理解**

出力には通常、以下が含まれます。
+ `standard-output.json`: 標準の抽出結果が含まれます。
+ `custom-output.json`: カスタムブループリントの結果が含まれます。
+ `metadata.json`: 処理メタデータと信頼スコアが含まれます。

**一般的なレスポンスフィールド**

標準の出力には通常、以下が含まれます。
+ `extractedData`: 抽出された主な情報
+ `confidence`: 抽出された各フィールドの信頼スコア
+ `metadata`: タイムスタンプやモデルの詳細を含む処理情報
+ `boundingBoxes`: 検出された要素の場所情報 (有効にした場合)

**エラー処理とトラブルシューティング**

一般的なエラーシナリオと解決策:
+ **無効な S3 URI**: S3 バケットが存在し、適切なアクセス許可があることを確認します。
+ **data-automation-profile-arn の欠落**: このパラメータはすべての処理リクエストに必要です。
+ **プロジェクトが見つかりません**: プロジェクト ARN が適切で、該当プロジェクトが存在することを検証します。
+ **サポートされていないファイル形式**: ファイル形式が BDA でサポートされていることを確認します。

**処理ジョブへのタグの追加**

以下のとおり、処理ジョブの整理と追跡に役立つタグを追加できます。

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
        --input-configuration '{
            "s3Uri": "s3://my-bucket/document.pdf"
        }' \
        --output-configuration '{
            "s3Uri": "s3://my-bucket/output/"
        }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --tags '[
            {
                "key": "Department",
                "value": "Finance"
            },
            {
                "key": "Project",
                "value": "InvoiceProcessing"
            }
        ]' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
```

------
#### [ Sync ]

**基本的な処理コマンド構造**

ファイルを処理するには、`invoke-data-automation` コマンドを使用します。

```
        aws bedrock-data-automation-runtime invoke-data-automation \
        --input-configuration '{
            "s3Uri": "s3://amzn-s3-demo-bucket/sample-images/sample-image.jpg"
        }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
        --region "aws-region"
```

**高度な処理コマンド構造**

S3 バケットへの出力

```
        aws bedrock-data-automation-runtime invoke-data-automation \
        --input-configuration '{
            "s3Uri": "s3://amzn-s3-demo-bucket/sample-images/sample-image.jpg"
        }' \
        --output-configuration '{"s3Uri": "s3://amzn-s3-demo-bucket/output/" }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
        --region "aws-region"   //document only
```

バイト入力を使用する

```
        aws bedrock-data-automation-runtime invoke-data-automation \
        --input-configuration '{
            "bytes": #blob input
        }' \
        --output-configuration '{"s3Uri": "s3://amzn-s3-demo-bucket/output/" }' \
        --data-automation-configuration '{
            "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
            "stage": "LIVE"
        }' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
        --region "aws-region"
```

**注記**  
**バイト**  
base64 でエンコードされたドキュメントバイトの BLOB。バイトの BLOB で提供されるドキュメントの最大サイズは 50 MB です。タイプは Base64-encodedされたバイナリデータオブジェクトである必要があります。

**カスタムブループリントを使用する (イメージのみ)**

```
        aws bedrock-data-automation-runtime invoke-data-automation \
        --input-configuration '{
            "s3Uri": "s3://amzn-s3-demo-bucket/sample-images/sample-image.jpg"
        }' \
        --blueprints '[{"blueprintArn": "Amazon Resource Name (ARN)", "version": "1", "stage": "LIVE" } ]' \
        --data-automation-profile-arn "Amazon Resource Name (ARN)"
        --region "aws-region"
```

------

# ユースケースの処理
<a name="bda-document-processing-examples"></a>

Amazon Bedrock Data Automation を使用すると、コマンドラインインターフェイス (CLI) を使用して、ドキュメント、イメージ、音声、動画を処理できます。各モダリティのワークフローは、プロジェクトの作成、分析の呼び出し、結果の取得で構成されます。

任意の方法のタブを選択し、その手順に従います。

------
#### [ Documents ]

**W2 からのデータの抽出**

![\[抽出されるレイアウトフィールドとデータフィールドを示す標準フィールドを含むサンプル W2 フォーム\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/W2.png)


W2 フォームを処理する場合のスキーマの例は次のとおりです。

```
{
  "class": "W2TaxForm",
  "description": "Simple schema for extracting key information from W2 tax forms",
  "properties": {
    "employerName": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The employer's company name"
    },
    "employeeSSN": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The employee's Social Security Number (SSN)"
    },
    "employeeName": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The employee's full name"
    },
    "wagesAndTips": {
      "type": "number",
      "inferenceType": "explicit",
      "instruction": "Wages, tips, other compensation (Box 1)"
    },
    "federalIncomeTaxWithheld": {
      "type": "number",
      "inferenceType": "explicit",
      "instruction": "Federal income tax withheld (Box 2)"
    },
    "taxYear": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The tax year for this W2 form"
    }
  }
}
```

W2 の処理を呼び出すコマンドは、次のようになります。

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
  --input-configuration '{
    "s3Uri": "s3://w2-processing-bucket-301678011486/input/W2.png"
  }' \
  --output-configuration '{
    "s3Uri": "s3://w2-processing-bucket-301678011486/output/"
  }' \
  --data-automation-configuration '{
    "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
    "stage": "LIVE"
  }' \
  --data-automation-profile-arn "Amazon Resource Name (ARN):data-automation-profile/default"
```

期待される値の例は、次のとおりです。

```
{
  "documentType": "W2TaxForm",
  "extractedData": {
    "employerName": "The Big Company",
    "employeeSSN": "123-45-6789",
    "employeeName": "Jane Doe",
    "wagesAndTips": 48500.00,
    "federalIncomeTaxWithheld": 6835.00,
    "taxYear": "2014"
  },
  "confidence": {
    "employerName": 0.99,
    "employeeSSN": 0.97,
    "employeeName": 0.99,
    "wagesAndTips": 0.98,
    "federalIncomeTaxWithheld": 0.97,
    "taxYear": 0.99
  },
  "metadata": {
    "processingTimestamp": "2025-07-23T23:15:30Z",
    "documentId": "w2-12345",
    "modelId": "amazon.titan-document-v1",
    "pageCount": 1
  }
}
```

------
#### [ Images ]

**旅行広告の例**

![\[ユーザーが広告から情報を抽出する方法を示すサンプルイメージ\]](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/bda/TravelAdvertisement.jpg)


旅行広告のスキーマの例は、次のとおりです。

```
{
  "class": "TravelAdvertisement",
  "description": "Schema for extracting information from travel advertisement images",
  "properties": {
    "destination": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The name of the travel destination being advertised"
    },
    "tagline": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The main promotional text or tagline in the advertisement"
    },
    "landscapeType": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The type of landscape shown (e.g., mountains, beach, forest, etc.)"
    },
    "waterFeatures": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "Description of any water features visible in the image (ocean, lake, river, etc.)"
    },
    "dominantColors": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The dominant colors present in the image"
    },
    "advertisementType": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The type of travel advertisement (e.g., destination promotion, tour package, etc.)"
    }
  }
}
```

旅行広告の処理を呼び出すコマンドは、次のようになります。

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
  --input-configuration '{
    "s3Uri": "s3://travel-ads-bucket-301678011486/input/TravelAdvertisement.jpg"
  }' \
  --output-configuration '{
    "s3Uri": "s3://travel-ads-bucket-301678011486/output/"
  }' \
  --data-automation-configuration '{
    "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
    "stage": "LIVE"
  }' \
  --data-automation-profile-arn "Amazon Resource Name (ARN):data-automation-profile/default"
```

期待される値の例は、次のとおりです。

```
{
  "documentType": "TravelAdvertisement",
  "extractedData": {
    "destination": "Kauai",
    "tagline": "Travel to KAUAI",
    "landscapeType": "Coastal mountains with steep cliffs and valleys",
    "waterFeatures": "Turquoise ocean with white surf along the coastline",
    "dominantColors": "Green, blue, turquoise, brown, white",
    "advertisementType": "Destination promotion"
  },
  "confidence": {
    "destination": 0.98,
    "tagline": 0.99,
    "landscapeType": 0.95,
    "waterFeatures": 0.97,
    "dominantColors": 0.96,
    "advertisementType": 0.92
  },
  "metadata": {
    "processingTimestamp": "2025-07-23T23:45:30Z",
    "documentId": "travel-ad-12345",
    "modelId": "amazon.titan-image-v1",
    "imageWidth": 1920,
    "imageHeight": 1080
  }
}
```

------
#### [ Audio ]

**通話の文字起こし**

旅行広告のスキーマの例は、次のとおりです。

```
{
  "class": "AudioRecording",
  "description": "Schema for extracting information from AWS customer call recordings",
  "properties": {
    "callType": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The type of call (e.g., technical support, account management, consultation)"
    },
    "participants": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The number and roles of participants in the call"
    },
    "mainTopics": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The main topics or AWS services discussed during the call"
    },
    "customerIssues": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "Any customer issues or pain points mentioned during the call"
    },
    "actionItems": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "Action items or next steps agreed upon during the call"
    },
    "callDuration": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The duration of the call"
    },
    "callSummary": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "A brief summary of the entire call"
    }
  }
}
```

通話の処理を呼び出すコマンドは、次のようになります。

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
  --input-configuration '{
    "s3Uri": "s3://audio-analysis-bucket-301678011486/input/AWS_TCA-Call-Recording-2.wav"
  }' \
  --output-configuration '{
    "s3Uri": "s3://audio-analysis-bucket-301678011486/output/"
  }' \
  --data-automation-configuration '{
    "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
    "stage": "LIVE"
  }' \
  --data-automation-profile-arn "Amazon Resource Name (ARN):data-automation-profile/default"
```

期待される値の例は、次のとおりです。

```
{
  "documentType": "AudioRecording",
  "extractedData": {
    "callType": "Technical consultation",
    "participants": "3 participants: AWS Solutions Architect, AWS Technical Account Manager, and Customer IT Director",
    "mainTopics": "AWS Bedrock implementation, data processing pipelines, model fine-tuning, and cost optimization",
    "customerIssues": "Integration challenges with existing ML infrastructure, concerns about latency for real-time processing, questions about data security compliance",
    "actionItems": [
      "AWS team to provide documentation on Bedrock data processing best practices",
      "Customer to share their current ML architecture diagrams",
      "Schedule follow-up meeting to review implementation plan",
      "AWS to provide cost estimation for proposed solution"
    ],
    "callDuration": "45 minutes and 23 seconds",
    "callSummary": "Technical consultation call between AWS team and customer regarding implementation of AWS Bedrock for their machine learning workloads. Discussion covered integration approaches, performance optimization, security considerations, and next steps for implementation planning."
  },
  "confidence": {
    "callType": 0.94,
    "participants": 0.89,
    "mainTopics": 0.92,
    "customerIssues": 0.87,
    "actionItems": 0.85,
    "callDuration": 0.99,
    "callSummary": 0.93
  },
  "metadata": {
    "processingTimestamp": "2025-07-24T00:30:45Z",
    "documentId": "audio-12345",
    "modelId": "amazon.titan-audio-v1",
    "audioDuration": "00:45:23",
    "audioFormat": "WAV",
    "sampleRate": "44.1 kHz"
  },
  "transcript": {
    "segments": [
      {
        "startTime": "00:00:03",
        "endTime": "00:00:10",
        "speaker": "Speaker 1",
        "text": "Hello everyone, thank you for joining today's call about implementing AWS Bedrock for your machine learning workloads."
      },
      {
        "startTime": "00:00:12",
        "endTime": "00:00:20",
        "speaker": "Speaker 2",
        "text": "Thanks for having us. We're really interested in understanding how Bedrock can help us streamline our document processing pipeline."
      },
      {
        "startTime": "00:00:22",
        "endTime": "00:00:35",
        "speaker": "Speaker 3",
        "text": "Yes, and specifically we'd like to discuss integration with our existing systems and any potential latency concerns for real-time processing requirements."
      }
      // Additional transcript segments would continue here
    ]
  }
}
```

------
#### [ Video ]

**動画の処理**

動画のスキーマの例は、次のとおりです。

```
{
  "class": "VideoContent",
  "description": "Schema for extracting information from video content",
  "properties": {
    "title": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The title or name of the video content"
    },
    "contentType": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The type of content (e.g., tutorial, competition, documentary, advertisement)"
    },
    "mainSubject": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "The main subject or focus of the video"
    },
    "keyPersons": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "Key people appearing in the video (hosts, participants, etc.)"
    },
    "keyScenes": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "Description of important scenes or segments in the video"
    },
    "audioElements": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "Description of notable audio elements (music, narration, dialogue)"
    },
    "summary": {
      "type": "string",
      "inferenceType": "explicit",
      "instruction": "A brief summary of the video content"
    }
  }
}
```

動画の処理を呼び出すコマンドは、次のようになります。

```
aws bedrock-data-automation-runtime invoke-data-automation-async \
  --input-configuration '{
    "s3Uri": "s3://video-analysis-bucket-301678011486/input/MakingTheCut.mp4",
    "assetProcessingConfiguration": {
      "video": {
        "segmentConfiguration": {
          "timestampSegment": {
            "startTimeMillis": 0,
            "endTimeMillis": 300000
          }
        }
      }
    }
  }' \
  --output-configuration '{
    "s3Uri": "s3://video-analysis-bucket-301678011486/output/"
  }' \
  --data-automation-configuration '{
    "dataAutomationProjectArn": "Amazon Resource Name (ARN)",
    "stage": "LIVE"
  }' \
  --data-automation-profile-arn "Amazon Resource Name (ARN):data-automation-profile/default"
```

期待される値の例は、次のとおりです。

```
{
  "documentType": "VideoContent",
  "extractedData": {
    "title": "Making the Cut",
    "contentType": "Fashion design competition",
    "mainSubject": "Fashion designers competing to create the best clothing designs",
    "keyPersons": "Heidi Klum, Tim Gunn, and various fashion designer contestants",
    "keyScenes": [
      "Introduction of the competition and contestants",
      "Design challenge announcement",
      "Designers working in their studios",
      "Runway presentation of designs",
      "Judges' critique and elimination decision"
    ],
    "audioElements": "Background music, host narration, contestant interviews, and design feedback discussions",
    "summary": "An episode of 'Making the Cut' fashion competition where designers compete in a challenge to create innovative designs. The episode includes the challenge announcement, design process, runway presentation, and judging."
  },
  "confidence": {
    "title": 0.99,
    "contentType": 0.95,
    "mainSubject": 0.92,
    "keyPersons": 0.88,
    "keyScenes": 0.90,
    "audioElements": 0.87,
    "summary": 0.94
  },
  "metadata": {
    "processingTimestamp": "2025-07-24T00:15:30Z",
    "documentId": "video-12345",
    "modelId": "amazon.titan-video-v1",
    "videoDuration": "00:45:23",
    "analyzedSegment": "00:00:00 - 00:05:00",
    "resolution": "1920x1080"
  },
  "transcript": {
    "segments": [
      {
        "startTime": "00:00:05",
        "endTime": "00:00:12",
        "speaker": "Heidi Klum",
        "text": "Welcome to Making the Cut, where we're searching for the next great global fashion brand."
      },
      {
        "startTime": "00:00:15",
        "endTime": "00:00:25",
        "speaker": "Tim Gunn",
        "text": "Designers, for your first challenge, you'll need to create a look that represents your brand and can be sold worldwide."
      }
      // Additional transcript segments would continue here
    ]
  }
}
```

------