

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

# 人間によるレビューワークフローを作成する
<a name="a2i-create-flow-definition"></a>

Amazon Augmented AI (Amazon A2I) の人間によるレビューワークフローまたはフロー定義を使用して、次の項目を指定します。****
+ Amazon Textract および Amazon Rekognition 組み込みタスクタイプの場合、ヒューマンループが呼び出される条件
+ タスクの送信先となるワークフォース
+ ワーカータスクテンプレートと呼ばれるワークフォースが受け取る一連の指示**
+ タスクを受け取ったワーカーの数やタスクを完了するための時間制限など、ワーカータスクの構成 
+ 出力データが保存される場所 

人間によるレビューワークフローは SageMaker AI コンソールまたは SageMaker AI [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html) オペレーションを使用して作成できます。フロー定義の作成中に、Amazon Textract および Amazon Rekognition タスクタイプのコンソールを使用してワーカータスクテンプレートを作成できます。

**重要**  
Amazon A2I カスタムタスクタイプでは、ヒューマンループを開始するヒューマンループのアクティベーション条件 (信頼しきい値など) は使用できません。コンソールを使用してカスタムタスクタイプのフロー定義を作成する場合、アクティベーション条件を指定することはできません。Amazon A2I API を使用してカスタムタスクタイプのフロー定義を作成する場合、`HumanLoopActivationConditions` パラメータの `HumanLoopActivationConditionsConfig` 属性を設定することはできません。ヒューマンレビューが開始されるタイミングを制御するには、カスタムアプリケーションで `StartHumanLoop` が呼び出される条件を指定します。この場合、すべての `StartHumanLoop` 呼び出しはヒューマンレビューになります。詳細については、「[カスタムタスクタイプで Amazon Augmented AI を使用する](a2i-task-types-custom.md)」を参照してください。

**前提条件**

人間によるレビューワークフロー定義を作成するには、[Augmented AI の使用の前提条件](a2i-getting-started-prerequisites.md) で説明されている前提条件を満たしている必要があります。

API を使用して任意のタスクタイプのフロー定義を作成する場合、またはコンソールでフロー定義を作成するときにカスタムタスクタイプを使用する場合、まずワーカータスクテンプレートを作成します。詳細については、「[ワーカータスクテンプレートを作成および管理する](a2i-instructions-overview.md)」を参照してください。

コンソールで組み込みタスクタイプのフロー定義を作成するときにワーカータスクテンプレートをプレビューする場合、フロー定義の作成に使用するロールに、[ワーカータスクテンプレートプレビューを有効にする](a2i-permissions-security.md#permissions-for-worker-task-templates-augmented-ai) で説明されているようなポリシーを使用して、テンプレートアーティファクトを含む Amazon S3 バケットにアクセスするアクセス許可を付与してください。



**Topics**
+ [ヒューマンレビューワークフローを作成する (コンソール)](#a2i-create-human-review-console)
+ [ヒューマンレビューワークフローを作成する (API)](#a2i-create-human-review-api)
+ [Amazon Augmented AI のヒューマンループのアクティベーション条件に対する JSON スキーマ](a2i-human-fallback-conditions-json-schema.md)

## ヒューマンレビューワークフローを作成する (コンソール)
<a name="a2i-create-human-review-console"></a>

この手順では、SageMaker AI コンソールを使用して Amazon Augmented AI (Amazon A2I) の人間によるレビューワークフローを作成します。Amazon A2I を初めて使用する場合、組織内のユーザーを使用してプライベートワークチームを作成し、フロー定義の作成時にこのワークチームの ARN を使用することをお勧めします。プライベートワークフォースを設定し、ワークチームを作成する方法については、「[プライベートワークフォースを作成する (Amazon SageMaker AI コンソール)](sms-workforce-create-private-console.md)」を参照してください。プライベートワークフォースをすでに設定している場合は、「[SageMaker AI コンソールを使用して作業チームを作成する](sms-workforce-management-private-console.md#create-workteam-sm-console)」を参照して、そのワークフォースにワークチームを追加する方法を学習します。

組み込みタスクタイプの 1 つで Amazon A2I を使用している場合、コンソールで人間によるレビューワークフローを作成するときに、Augmented AI が提供するデフォルトのワーカータスクテンプレートを使用してワーカー指示を作成できます。Augmented AI で提供されるデフォルトテンプレートのサンプルについては、[Amazon A2I を使用したユースケースと例](a2i-task-types-general.md)の組み込みタスクタイプを参照してください。

**フロー定義を作成するには (コンソール)**

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. ナビゲーションペインの [**Augmented AI** ] セクションで、[**Human review workflows (ヒューマンレビューワークフロー)**] を選択し、[**Create human review workflow (ヒューマンレビューワークフローの作成)**] を選択します。

1. [**Overview (概要)**] で、次の操作を行います。

   1. [**Name (名前)**] に、一意のワークフロー名を入力します。名前は小文字で、アカウントの AWS リージョン内で一意である必要があり、最大 63 文字を使用できます。有効な文字は、a～z、0～9、- (ハイフン) です。

   1. [**S3 location for output (出力先の S3 の場所)**] に、ヒューマンレビューの結果を保存する S3 バケットを入力します。バケットは、ワークフローと同じ AWS リージョンに配置する必要があります。

   1. **[IAM role]** (IAM ロール) に対して、必要なアクセス許可を持つロールを選択します。組み込みタスクタイプを選択し、コンソールでワーカーテンプレートをプレビューする場合は、「[ワーカータスクテンプレートプレビューを有効にする](a2i-permissions-security.md#permissions-for-worker-task-templates-augmented-ai)」で説明されているポリシーのタイプをアタッチしたロールを指定します。

1. [**Task type (タスクタイプ)**] で、ヒューマンワーカーが実行するタスクタイプを選択します。

1. Amazon Rekognition または Amazon Textract タスクタイプを選択した場合、人間によるレビューを実行する条件を指定します。
   + Amazon Rekognition 画像モデレーションタスクの場合、人間によるレビューを開始する推論信頼スコアのしきい値間隔を選択します。
   + Amazon Textract タスクの場合、特定のフォームキーが欠落しているとき、またはフォームキー検出の信頼性が低いときに、人間によるレビューを開始できます。テキスト内のすべてのフォームキーを評価した後、フォームキーに必要なしきい値より信頼度が低い場合に、人間によるレビューを開始することもできます。**Identification confidence** (識別信頼度) と **Qualification confidence** (資格信頼度) の 2 つの変数を使用して信頼しきい値を指定します。これらの変数の詳細については、「[Amazon Textract で Amazon Augmented AI を使用する](a2i-textract-task-type.md)」を参照してください。
   + どちらのタスクタイプでも、一部のデータオブジェクト (イメージまたはフォーム) とそのラベルを人間にランダムに送信してレビューすることができます。

1. ワーカータスクテンプレートを設定および指定します。

   1. Amazon Rekognition または Amazon Textract タスクタイプを使用している場合は、次のようにします。

      1. [**Create template (テンプレートの作成)**] セクションで、次の操作を行います。
        + Amazon Rekognition および Amazon Textract タスクタイプの Amazon A2I デフォルトテンプレートを使用してワーカー向け指示書を作成するには、**[Build from a default template]** (デフォルトテンプレートからビルド) を選択します。
          + [**Build from a default template (デフォルトテンプレートからビルド)**] を選択した場合、[**Worker task design (ワーカータスクデザイン)**] で指示を作成します。
            + 現在の AWS リージョンで一意の**テンプレート名**を指定します。
            + [**Instructions (指示)**] セクションを使用して、タスクを完了するための詳しい手順を指定します。ワーカーが高い精度を達成できるよう、良い例と悪い例を挙げます。
            + (オプション) [**Additional instructions (追加手順)**] を提供して、ワーカーに追加の情報と手順を提供します。

              効果的な手順の作成については、「[適切なワーカー指示書の作成](a2i-creating-good-instructions-guide.md)」を参照してください。
        + テンプレートを作成したら、[**Template (テンプレート)**] メニューからテンプレートを選択し、ワーカーに対してタスクを簡単に説明するための [**Task description (タスクの説明)**] を入力します。カスタムテンプレートを作成する方法については、「[ワーカータスクテンプレートを作成する](a2i-worker-template-console.md#a2i-create-worker-template-console)」を参照してください。

   1. カスタムタスクタイプを使用している場合は、次の手順を行います。

      1. **[Worker task template]** (ワーカータスクテンプレート) セクションで、リストからテンプレートを選択します。SageMaker AI コンソールで作成したすべてのテンプレートがこのリストに表示されます。カスタムタスクタイプのテンプレートを作成する方法については、「[ワーカータスクテンプレートを作成および管理する](a2i-instructions-overview.md)」を参照してください。

1. (オプション) ワーカーテンプレートをプレビューします。

   Amazon Rekognition および Amazon Textract タスクタイプの場合、**[See a sample worker task]** (サンプルワーカータスクを表示) を選択してワーカータスク UI をプレビューできます。

   カスタムタスクタイプのフロー定義を作成している場合は、`RenderUiTemplate` オペレーションを使用してワーカータスク UI をプレビューできます。詳細については、「[ワーカータスクテンプレートをプレビューする](a2i-custom-templates.md#a2i-preview-your-custom-template)」を参照してください。

1. [**Workers (ワーカー)**] で、ワークフォースタイプを選択します。

1. **[作成]** を選択します。

### 次のステップ
<a name="a2i-next-step-createflowdefinition-console"></a>

ヒューマンレビューワークフローを作成すると、コンソールの [**Human review workflows (ヒューマンレビューワークフロー)**] に表示されます。フロー定義の Amazon リソースネーム (ARN) および設定の詳細を表示するには、名前を選択してワークフローを選択します。

組み込みタスクタイプを使用している場合は、フロー定義 ARN を使用して、その AWS サービスの API (Amazon Textract API など) を使用してヒューマンループを開始できます。カスタムタスクタイプの場合、ARN を使用して、Amazon Augmented AI ランタイム API によるヒューマンループを開始できます。両方のオプションの詳細については、「[ヒューマンループを作成および開始する](a2i-start-human-loop.md)」を参照してください。

## ヒューマンレビューワークフローを作成する (API)
<a name="a2i-create-human-review-api"></a>

SageMaker API を使用してフロー定義を作成するには、`CreateFlowDefinition` オペレーションを使用します。[Augmented AI の使用の前提条件](a2i-getting-started-prerequisites.md)を完了したら、次の手順に従って、この API オペレーションを使用する方法について説明します。

`CreateFlowDefinition` オペレーションの概要と各パラメータの詳細については、「[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html)」を参照してください。

**フロー定義を作成するには (API)**

1. `FlowDeﬁnitionName` に一意の名前を入力します。名前はアカウントの AWS リージョン内で一意である必要があり、最大 63 文字を使用できます。有効な文字は、a～z、0～9、- (ハイフン) です。

1. `RoleArn` に、データソースへのアクセスを許可するように設定したロールの ARN を入力します。

1. `HumanLoopConfig` に、ワーカーに関する情報と、ワーカーに表示する内容を入力します。`HumanLoopConfig` の各パラメータの詳細については、「[HumanLoopConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html#sagemaker-CreateFlowDefinition-request-HumanLoopActivationConfig)」を参照してください。

1. (オプション) 組み込みタスクタイプを使用している場合、`HumanLoopActivationConﬁg` でヒューマンループを開始する条件を指定します。`HumanLoopActivationConﬁg` パラメータに必要な入力を作成する方法については、「[Amazon Augmented AI のヒューマンループのアクティベーション条件に対する JSON スキーマ](a2i-human-fallback-conditions-json-schema.md)」を参照してください。ここで条件を指定しない場合、組み込みタスクタイプに関連付けられた AWS サービス (Amazon Textract や Amazon Rekognition など) にフロー定義を指定すると、そのサービスはレビューのためにすべてのタスクを人間のワーカーに送信します。

   カスタムタスクタイプを使用している場合、`HumanLoopActivationConfig` は無効になります。カスタムタスクタイプを使用してタスクをヒューマンワーカーに送信するタイミングを制御する方法については、「[カスタムタスクタイプで Amazon Augmented AI を使用する](a2i-task-types-custom.md)」を参照してください。

1. (オプション) 組み込みタスクタイプを使用する場合、統合のソース (Amazon Rekognition や Amazon Textract など) を [HumanLoopRequestSource](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanLoopRequestSource.html) パラメータに指定します。

1. `OutputConfig` の場合、Amazon Simple Storage Service (Amazon S3) でヒューマンループの出力を保存する場所を指定します。

1. (オプション) `Tags` を使用して、フロー定義の分類と整理に役立つキーと値のペアを入力します。タグはそれぞれ、1 つのキーと 1 つの値で構成されており、どちらもお客様側が定義します。

------
#### [ Amazon Textract – Key-value pair extraction ]

 AWS SDK for Python (Boto3)を使用して Amazon Textract の人間によるレビューワークフロー (フロー定義) を作成するリクエストの例を次に示します。`'AWS/Textract/AnalyzeDocument/Forms/V1'` を使用して Amazon Textract ヒューマンループを作成する必要があります。Mechanical Turk ワークフォースを使用している場合は `PublicWorkforceTaskPrice` のみを含めます。

```
sagemaker_client = boto3.client('sagemaker', {{aws_region}})

response = sagemaker_client.create_flow_definition(
    FlowDefinitionName='ExampleFlowDefinition',
    HumanLoopRequestSource={
         'AwsManagedHumanLoopRequestSource': 'AWS/Textract/AnalyzeDocument/Forms/V1'
    }, 
    HumanLoopActivationConfig={
        'HumanLoopActivationConditionsConfig': {
            'HumanLoopActivationConditions': '{{{...}}}'
        }
    },
    HumanLoopConfig={
        'WorkteamArn': 'arn:aws:sagemaker:{{aws_region}}:{{aws_account_number}}:workteam/private-crowd/{{workteam_name}}',
        'HumanTaskUiArn': 'arn:aws:sagemaker:{{aws_region}}:{{aws_account_number}}:human-task-ui/{{template_name}}',
        'TaskTitle': 'Example task title',
        'TaskDescription': 'Example task description.',
        'TaskCount': {{123}},
        'TaskAvailabilityLifetimeInSeconds': {{123}},
        'TaskTimeLimitInSeconds': {{123}},
        'TaskKeywords': [
            'Keyword1','Keyword2'
        ],
        'PublicWorkforceTaskPrice': {
            'AmountInUsd': {
                'Dollars': {{123}},
                'Cents': {{123}},
                'TenthFractionsOfACent': {{123}}
            }
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://{{bucket/path/}}',
        'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab'
    },
    RoleArn='arn:aws:iam::{{aws_account_number}}:role/{{role_name}}',
    Tags=[
        {
            'Key': 'KeyName',
            'Value': 'ValueName'
        },
    ]
)
```

------
#### [ Amazon Rekognition – Image moderation ]

 AWS SDK for Python (Boto3)を使用して Amazon Rekognition の人間によるレビューワークフロー (フロー定義) を作成するリクエストの例を次に示します。`'AWS/Rekognition/DetectModerationLabels/Image/V3'` を使用して Amazon Rekognition フロー定義を作成する必要があります。Mechanical Turk ワークフォースを使用している場合は `PublicWorkforceTaskPrice` のみを含めます。

```
sagemaker_client = boto3.client('sagemaker', {{aws_region}})

response = sagemaker_client.create_flow_definition(
    FlowDefinitionName='ExampleFlowDefinition',
    HumanLoopRequestSource={
         'AwsManagedHumanLoopRequestSource': 'AWS/Rekognition/DetectModerationLabels/Image/V3'
    }, 
    HumanLoopActivationConfig={
        'HumanLoopActivationConditionsConfig': {
            'HumanLoopActivationConditions': '{{{...}}}'
        }
    },
    HumanLoopConfig={
        'WorkteamArn': 'arn:aws:sagemaker:{{aws_region}}:{{aws_account_number}}:workteam/private-crowd/{{workteam_name}}',
        'HumanTaskUiArn': 'arn:aws:sagemaker:{{aws_region}}:{{aws_account_number}}:human-task-ui/{{template_name}}',
        'TaskTitle': 'Example task title',
        'TaskDescription': 'Example task description.',
        'TaskCount': {{123}},
        'TaskAvailabilityLifetimeInSeconds': {{123}},
        'TaskTimeLimitInSeconds': {{123}},
        'TaskKeywords': [
            'Keyword1','Keyword2'
        ],
        'PublicWorkforceTaskPrice': {
            'AmountInUsd': {
                'Dollars': {{123}},
                'Cents': {{123}},
                'TenthFractionsOfACent': {{123}}
            }
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://{{bucket/path/}}',
        'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab'
    },
    RoleArn='arn:aws:iam::{{aws_account_number}}:role/{{role_name}}',
    Tags=[
        {
            'Key': {{'KeyName'}},
            'Value': {{'ValueName'}}
        },
    ]
)
```

------
#### [ Custom Workflow ]

カスタムの統合で人間によるレビューワークフロー (フロー定義) を作成するリクエストの例を次に示します。このタイプの人間によるレビューワークフローを作成する場合、`HumanLoopRequestSource` をフロー定義リクエストから省略します。Mechanical Turk ワークフォースを使用している場合に含める必要があるのは `PublicWorkforceTaskPrice` のみです。

```
sagemaker_client = boto3.client('sagemaker', {{aws_region}})

response = sagemaker_client.create_flow_definition(
    FlowDefinitionName='ExampleFlowDefinition',
    HumanLoopActivationConfig={
        'HumanLoopActivationConditionsConfig': {
            'HumanLoopActivationConditions': '{{{...}}}'
        }
    },
    HumanLoopConfig={
        'WorkteamArn': 'arn:aws:sagemaker:{{aws_region}}:{{aws_account_number}}:workteam/private-crowd/{{workteam_name}}',
        'HumanTaskUiArn': 'arn:aws:sagemaker:{{aws_region}}:{{aws_acount_number}}:human-task-ui/{{template_name}}',
        'TaskTitle': 'Example task title',
        'TaskDescription': 'Example task description.',
        'TaskCount': {{123}},
        'TaskAvailabilityLifetimeInSeconds': {{123}},
        'TaskTimeLimitInSeconds': {{123}},
        'TaskKeywords': [
            'Keyword1','Keyword2'
        ],
        'PublicWorkforceTaskPrice': {
            'AmountInUsd': {
                'Dollars': {{123}},
                'Cents': {{123}},
                'TenthFractionsOfACent': {{123}}
            }
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://{{bucket/path/}}',
        'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab'
    },
    RoleArn='arn:aws:iam::{{account_number}}:role/{{role_name}}',
    Tags=[
        {
            'Key': {{'KeyName'}},
            'Value': {{'ValueName'}}
        },
    ]
)
```

------

### 次のステップ
<a name="a2i-next-step-createflowdefinition-api"></a>

`CreateFlowDefinition` API オペレーションの正常な呼び出しの戻り値は、フロー定義 Amazon リソースネーム (ARN) です。

組み込みタスクタイプを使用している場合は、フロー定義 ARN を使用して、その AWS サービスの API (Amazon Textract API) を使用してヒューマンループを開始できます。カスタムタスクタイプの場合、ARN を使用して、Amazon Augmented AI ランタイム API によるヒューマンループを開始できます。これらのオプションの詳細については、「[ヒューマンループを作成および開始する](a2i-start-human-loop.md)」を参照してください。