

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

# カスタム出力とブループリント
<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 つから始めます。評価メトリクスを検査し、精度をさらに改善する必要があると思われる場合は、さらに例を追加します。

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