

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

# 人間によるレビューワークフローを作成する
<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)」を参照してください。

# Amazon Augmented AI のヒューマンループのアクティベーション条件に対する JSON スキーマ
<a name="a2i-human-fallback-conditions-json-schema"></a>

`HumanLoopActivationConditions` は [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html) API の入力パラメータです。このパラメータは JSON 形式の文字列です。JSON によってヒューマンループを作成する条件をモデル化し、それらの条件を統合 AI サービス API (`Rekognition.DetectModerationLabels` や `Textract.AnalyzeDocument` など) からのレスポンスに対して評価します。このレスポンスは、*推論*と呼ばれます。例えば、Amazon Rekognition でモデレーションラベルの推論とそれに関する信頼スコアを送信するとします。その場合、推論は、モデルによってイメージの最も適切なラベルであると推定されたものになります。Amazon Textract では、推論はテキストのブロックの関連性 (キーと値のペア) に対して作成されます。例えば、フォームの `Name:` と `Sue` の関連性やテキストのブロック (単語ブロック) の内容 (「名前」など) です。****

以下に、JSON のスキーマを示します。最上位レベルでは、`HumanLoopActivationConditions` には JSON 配列、`Conditions` があります。この配列の各メンバーは、`true` と評価された場合、Amazon A2I がヒューマンループを作成する独立した条件です。このような独立した条件は、単純な条件または複雑な条件にすることができます。単純な条件には、次の属性があります。
+ `ConditionType`: この属性は、条件のタイプを識別します。Amazon A2I と統合される各 AWS AI サービス API は、許可される `ConditionTypes` の独自のセットを定義します。
  + Rekognition `DetectModerationLabels` - この API では、`ModerationLabelConfidenceCheck` と `Sampling` `ConditionType` の値がサポートされています。
  + Textract `AnalyzeDocument` - この API では、`ImportantFormKeyConfidenceCheck`、`MissingImportantFormKey`、`Sampling` `ConditionType` の値がサポートされています。
+ `ConditionParameters` - これは、条件をパラメータ化する JSON オブジェクトです。このオブジェクトで許可される属性のセットは、`ConditionType` の値によって異なります。それぞれの `ConditionType` が独自の `ConditionParameters` のセットを定義します。

`Conditions` 配列のメンバーは、複雑な条件をモデル化できます。これは、論理演算子の `And` および `Or` を使用して基になる単純な条件をネストして、単純な条件を論理的に結合することで実現されます。最大 2 つのレベルのネストがサポートされています。

```
{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
        "Condition": {
            "type": "object",
            "properties": {
                "ConditionType": {
                    "type": "string"
                },
                "ConditionParameters": {
                    "type": "object"
                }
            },
            "required": [
                "ConditionType"
            ]
        },
        "OrConditionArray": {
            "type": "object",
            "properties": {
                "Or": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "$ref": "#/definitions/ComplexCondition"
                    }
                }
            }
        },
        "AndConditionArray": {
            "type": "object",
            "properties": {
                "And": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                        "$ref": "#/definitions/ComplexCondition"
                    }
                }
            }
        },
        "ComplexCondition": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Condition"
                },
                {
                    "$ref": "#/definitions/OrConditionArray"
                },
                {
                    "$ref": "#/definitions/AndConditionArray"
                }
            ]
        }
    },
    "type": "object",
    "properties": {
        "Conditions": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/ComplexCondition"
            }
        }
    }
}
```

**注記**  
ヒューマンループのアクティブ化条件は、カスタムタスクタイプと統合されたヒューマンレビューワークフローでは使用できません。カスタムタスクタイプでは、`HumanLoopActivationConditions` パラメータは無効です。

**Topics**
+ [Amazon Textract でヒューマンループのアクティベーション条件 JSON スキーマを使用する](a2i-json-humantaskactivationconditions-textract-example.md)
+ [Amazon Rekognition でヒューマンループのアクティベーション条件 JSON スキーマを使用する](a2i-json-humantaskactivationconditions-rekognition-example.md)

# Amazon Textract でヒューマンループのアクティベーション条件 JSON スキーマを使用する
<a name="a2i-json-humantaskactivationconditions-textract-example"></a>

Amazon A2I で使用する場合、`AnalyzeDocument` オペレーションでは、`ConditionType` パラメータで次の入力がサポートされます。
+ `ImportantFormKeyConfidenceCheck` - この条件を使用して、推論の信頼度がドキュメントのフォームのキーと単語ブロックに対して指定した範囲内である場合にヒューマンループを作成します。*フォームのキー*は、入力に関連付けられているドキュメント内の任意の単語です。入力は*値*と呼ばれます。フォームのキーと値の組み合わせは、*キーと値のペア*と呼ばれます。単語ブロックは、検出されたテキストのブロック内で Amazon Textract によって認識される単語を指します。**Amazon Textract ドキュメントブロックの詳細については、*Amazon Textract デベロッパーガイド*の「[ドキュメントとブロックオブジェクト](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-document-layout.html)」を参照してください。
+ `MissingImportantFormKey` - Amazon Textract でドキュメント内のキーまたは関連するエイリアスが識別されなかった場合、この条件を使用してヒューマンループを作成します。
+ `Sampling` - 推論信頼スコアに関係なく、人間によるレビュー用に送る推論の割合を指定するには、この条件を使用します。この条件を使用して、次のオペレーションを行います。
  + モデルによって分析されたすべてのフォームからランダムにサンプリングし、指定した割合をヒューマンレビューに送ることにより、ML モデルを監査します。
  + `ImportantFormKeyConfidenceCheck` 条件を使用して、`ImportantFormKeyConfidenceCheck` で指定したヒューマンループを開始するための条件と一致する推論の何割かをランダムにサンプリングし、その指定した割合のみをヒューマンレビューに送ります。

**注記**  
同じリクエストを `AnalyzeDocument` に複数回送っても、その入力の推論に対する `Sampling` の結果は変わりません。例えば、`AnalyzeDocument` へのリクエストを 1 回行って `Sampling` によってヒューマンループが開始されなかった場合、同じ設定で `AnalyzeDocument` に続けてリクエストを行ってもヒューマンループは開始されません。

## `ImportantFormKeyConfidenceCheck` の入力と結果
<a name="a2i-textract-importantformkeycofidencecheck"></a>

`ImportantFormKeyConfidenceCheck` `ConditionType` では、以下の `ConditionParameters` がサポートされています。
+ `ImportantFormKey` - Amazon Textract によって検出されるキーと値のペアのキーを表す文字列であり、人間のワーカーによるレビューが必要です。このパラメータの値が特別なキャッチオール値 (\$1) の場合、すべてのキーは条件に一致していると見なされます。これを使用することにより、キーと値のペアが信頼度の特定のしきい値を超えた場合にヒューマンレビューを必要とする条件をモデル化できます。
+ `ImportantFormKeyAliases` - 重要なフォームキーの代替スペルまたは論理的な同等を表す配列です。
+ `KeyValueBlockConfidenceEquals`
+ `KeyValueBlockConfidenceLessThan`
+ `KeyValueBlockConfidenceLessThanEquals`
+ `KeyValueBlockConfidenceGreaterThan`
+ `KeyValueBlockConfidenceGreaterThanEquals`
+ `WordBlockConfidenceEquals`
+ `WordBlockConfidenceLessThan`
+ `WordBlockConfidenceLessThanEquals`
+ `WordBlockConfidenceGreaterThan`
+ `WordBlockConfidenceGreaterThanEquals`

`ImportantFormKeyConfidenceCheck` `ConditionType` を使用すると、Amazon A2I によって、人間によるレビューのために `ImportantFormKey` と `ImportantFormKeyAliases` で指定されているキーと値のブロック、そのキーと値のブロックの単語ブロックの推論、関連付けられているエイリアスが送られます。

フロー定義を作成するときに、Amazon SageMaker AI コンソールの **[人間によるレビューワークフロー]** セクションで提供されているデフォルトのワーカータスクテンプレートを使用する場合、このアクティベーション条件によって人間によるレビュー用に送られたキーと値およびブロック推論がワーカー UI に含まれます。カスタムのワーカータスクテンプレートを使用する場合、Amazon Textract の初期値入力データ (推論) を含めるために `{{ task.input.selectedAiServiceResponse.blocks }}` 要素を含める必要があります。この入力要素を使用するカスタムテンプレートの例については、「[Amazon Textract のカスタムテンプレートの例](a2i-custom-templates.md#a2i-custom-templates-textract-sample)」を参照してください。

## `MissingImportantFormKey` の入力と結果
<a name="a2i-textract-missingimportantformkey"></a>

`MissingImportantFormKey` `ConditionType` では、以下の `ConditionParameters` がサポートされています。
+ `ImportantFormKey` - Amazon Textract によって検出されるキーと値のペアのキーを表す文字列であり、人間のワーカーによるレビューが必要です。
+ `ImportantFormKeyAliases` - 重要なフォームキーの代替スペルまたは論理的な同等を表す配列です。

`MissingImportantFormKey` `ConditionType` を使用する場合、`ImportantFormKey` または `ImportantFormKeyAliases` のエイリアスが Amazon Textract 推論に含まれていない場合、そのフォームは人間によるレビュー用に送られます。予測されたキーと値のペアは含められません。例えば、Amazon Textract によってフォーム内の `Address` および `Phone` のみが特定され、(`MissingImportantFormKey` 条件タイプ内で) `ImportantFormKey` `Name` が欠落していた場合、そのフォームは人間によるレビュー用に送られます。検出されたフォームキー (`Address` および `Phone`) は含められません。

SageMaker AI コンソールで提供されているデフォルトのワーカータスクテンプレートを使用する場合、`ImportantFormKey` のキーおよび関連する値を特定するようにワーカーに求めるタスクが作成されます。カスタムのワーカータスクテンプレートを使用する場合、このタスクを設定するにはカスタム HTML 要素の `<task.input.humanLoopContext>` を含める必要があります。

## サンプリングの入力と結果
<a name="a2i-textract-randomsamplingpercentage"></a>

`Sampling` `ConditionType` では、`RandomSamplingPercentage` `ConditionParameters` がサポートされています。`RandomSamplingPercentage` の入力は、0.01～100 の実数である必要があります。この数値は、人間によるレビューの対象となるデータの割合を表し、この割合が人間によるレビューに送られます。`Sampling` 条件をその他の条件を指定せずに使用する場合、この数値は 1 つのリクエストによって `AnalyzeDocument` オペレーションが行ったすべての推論に対する割合を表し、この割合が人間によるレビュー用に送られます。

その他の条件タイプを指定せずに `Sampling` 条件を指定すると、すべてのキーと値のペアとブロックの推論がレビューのためにワーカーに送られます。

フロー定義を作成するときに、SageMaker AI コンソールの **[人間によるレビューワークフロー]** セクションで提供されているデフォルトのワーカータスクテンプレートを使用する場合、このアクティベーション条件によって人間によるレビュー用に送られたすべてのキーと値およびブロック推論がワーカー UI に含まれます。カスタムのワーカータスクテンプレートを使用する場合、Amazon Textract の初期値入力データ (推論) を含めるために `{{ task.input.selectedAiServiceResponse.blocks }}` 要素を含める必要があります。この入力要素を使用するカスタムテンプレートの例については、「[Amazon Textract のカスタムテンプレートの例](a2i-custom-templates.md#a2i-custom-templates-textract-sample)」を参照してください。

## 例
<a name="a2i-json-activation-condition-examples"></a>

ヒューマンループを開始するために `true` と評価される必要がある条件は 1 つのみですが、Amazon A2I は Amazon Textract によって分析される各オブジェクトのすべての条件を評価します。人間によるレビュー担当者は、`true` と評価されたすべての条件の重要なフォームキーを確認するように求められます。

**例 1: ヒューマンループを開始する指定された範囲の信頼スコアを持つ重要なフォームキーを検出する**

次の 3 つの条件のいずれかが満たされた場合に、ヒューマンループを開始する `HumanLoopActivationConditions` JSON の例を以下に示します。
+ Amazon Textract `AnalyzeDocument` API は、キーが `Employee Name`、`Name`、`EmployeeName` のいずれかであるキーと値のペアで、キーと値のブロックの信頼度が 60 未満であり、キーと値を構成する各単語ブロックの信頼度が 85 未満のものを返します。
+ Amazon Textract `AnalyzeDocument` API は、キーが `Pay Date`、`PayDate`、`DateOfPay`、`pay-date` のいずれかであるキーと値のペアで、キーと値のブロックの信頼度が 65 未満であり、キーと値を構成する各単語ブロックの信頼度が 85 未満のものを返します。
+ Amazon Textract `AnalyzeDocument` API は、キーが `Gross Pay`、`GrossPay`、`GrossAmount` のいずれかであるキーと値のペアで、キーと値のブロックの信頼度が 60 未満であり、キーと値を構成する各単語ブロックの信頼度が 85 未満のものを返します。

```
{
    "Conditions": [
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Employee Name",
                "ImportantFormKeyAliases": [
                    "Name",
                    "EmployeeName"
                ],
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 85
            }
        },
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 65,
                "WordBlockConfidenceLessThan": 85
            }
        },
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Gross Pay",
                "ImportantFormKeyAliases": [
                    "GrossPay",
                    "GrossAmount"
                ],
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 85
            }
        }
    ]
}
```

**例 2: `ImportantFormKeyConfidenceCheck` を使用する**

次の例では、Amazon Textract によって、キーと値のブロックの信頼度が 60 未満で、基になる単語ブロックの信頼度が 90 未満のキーと値のペアが検出されると、ヒューマンループが作成されます。ヒューマンレビュー担当者は、信頼度の値の比較に一致するすべての形式のキーと値のペアを確認するように求められます。

```
{
    "Conditions": [
        {
            "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "*",
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 90
            }
        }
    ]
}
```

**例 3: Sampling を使用する**

次の例では、Amazon Textract の `AnalyzeDocument` へのリクエストによって行われた推論の 5% がレビューのために人間のワーカーに送られます。Amazon Textract から返された検出されたすべてのキーと値のペアがレビュー用にワーカーに送られます。

```
{
  "Conditions": [
    {
      "ConditionType": "Sampling",
      "ConditionParameters": {
        "RandomSamplingPercentage": 5
      }
    }
  ]
}
```

**例 4: `MissingImportantFormKey` を使用する**

次の例では、Amazon Textract によって検出されたキーで、`Mailing Address` またはそのエイリアス `Mailing Address:` が欠落している場合に、人間によるレビューが開始されます。デフォルトのワーカータスクテンプレートを使用する場合、ワーカーは、キー `Mailing Address` か、`Mailing Address:` および関連する値を特定するように、ワーカー UI によって要求されます。

```
{
    "ConditionType": "MissingImportantFormKey",
    "ConditionParameters": {
        "ImportantFormKey": "Mailing Address",
        "ImportantFormKeyAliases": ["Mailing Address:"]
    }
}
```

**例 5: サンプリングと `ImportantFormKeyConfidenceCheck` を `And` オペレーターで使用する**

この例では、Amazon Textract によって検出されたキーと値のペアの 5% のうち、キーが `Pay Date`、`PayDate`、`DateOfPay`、`pay-date` のいずれかであり、キーと値のブロックの信頼度が 65 未満で、キーと値を構成する各単語ブロックの信頼度が 85 未満のものがレビュー用にワーカーに送られます。

```
{
  "Conditions": [
    {
      "And": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
          "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 65,
                "WordBlockConfidenceLessThan": 85
            }
        }
      ]
    }
  ]
}
```

**例 6: サンプリングと `ImportantFormKeyConfidenceCheck` を `And` オペレーターで使用する**

この例では、指定したキーと値のペアの信頼度の低い推論は常にヒューマンレビューに送り、信頼度の高い推論は指定した割合でサンプリングするようにヒューマンレビューワークフローを設定します。

この例では、人間によるレビューは次のいずれかの方法で開始されます。
+ 検出されたキーと値のペアのうち、キーが `Pay Date`、`PayDate`、`DateOfPay`、`pay-date` のいずれかであり、キーと値のブロックおよび単語ブロックの信頼度が 60 未満のものが人間によるレビューに送られます。`Pay Date` フォームキー (およびそのエイリアス) と関連する値のみが、レビューのためにワーカーに送られます。
+ 検出されたキーと値のペアの 5% のうち、キーが `Pay Date`、`PayDate`、`DateOfPay`、`pay-date` のいずれかであり、キーと値のブロックおよび単語ブロックの信頼度が 90 より上のものが人間によるレビューに送られます。`Pay Date` フォームキー (およびそのエイリアス) と関連する値のみが、レビューのためにワーカーに送られます。

```
{
  "Conditions": [
    {
      "Or": [
       {
          "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 60,
                "WordBlockConfidenceLessThan": 60
            }
        },
        {
            "And": [
                {
                    "ConditionType": "Sampling",
                    "ConditionParameters": {
                        "RandomSamplingPercentage": 5
                    }
                },
                {
                    "ConditionType": "ImportantFormKeyConfidenceCheck",
                        "ConditionParameters": {
                            "ImportantFormKey": "Pay Date",
                            "ImportantFormKeyAliases": [
                                "PayDate",
                                "DateOfPay",
                                "pay-date"
                        ],
                        "KeyValueBlockConfidenceLessThan": 90
                        "WordBlockConfidenceGreaterThan": 90
                    }
                }
            ]
        }
      ]
    }
  ]
}
```

**例 7: サンプリングと `ImportantFormKeyConfidenceCheck` を `Or` オペレーターで使用する**

次の例では、Amazon Textract の `AnalyzeDocument` オペレーションによって、キーと値のペアのうち、キーが `Pay Date`、`PayDate`、`DateOfPay`、`pay-date` のいずれかであり、キーと値のブロックの信頼度が 65 未満で、キーと値を構成する各単語ブロックの信頼度が 85 未満のものが返されます。また、その他のすべてのフォームの 5% によって、ヒューマンループが開始されます。ランダムに選択された各フォームについて、そのフォームで検出されたすべてのキーと値のペアは、人間によるレビュー用に送られます。

```
{
  "Conditions": [
    {
      "Or": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
           "ConditionType": "ImportantFormKeyConfidenceCheck",
            "ConditionParameters": {
                "ImportantFormKey": "Pay Date",
                "ImportantFormKeyAliases": [
                    "PayDate",
                    "DateOfPay",
                    "pay-date"
                ],
                "KeyValueBlockConfidenceLessThan": 65,
                "WordBlockConfidenceLessThan": 85
            }
          }
        }
      ]
    }
  ]
}
```

# Amazon Rekognition でヒューマンループのアクティベーション条件 JSON スキーマを使用する
<a name="a2i-json-humantaskactivationconditions-rekognition-example"></a>

Amazon A2I で使用する場合、Amazon Rekognition `DetectModerationLabels` オペレーションでは、`ConditionType` パラメータで次の入力がサポートされます。
+ `ModerationLabelConfidenceCheck` - この条件タイプを使用することにより、指定した 1 つ以上のラベルの推論の信頼度が低い場合にヒューマンループを作成します。
+ `Sampling` - この条件を使用することにより、人間によるレビュー用に送るすべての推論の割合を指定します。この条件を使用して、次のオペレーションを行います。
  + ML モデルのすべての推論からランダムにサンプリングして、指定した割合をヒューマンレビューに送ることにより、モデルを監査します。
  + `ModerationLabelConfidenceCheck` 条件を使用して、`ModerationLabelConfidenceCheck` で指定したヒューマンループを開始するための条件と一致する推論の何割かをランダムにサンプリングし、その指定した割合のみをヒューマンレビューに送ります。

**注記**  
同じリクエストを `DetectModerationLabels` に複数回送っても、その入力の推論に対する `Sampling` の結果は変わりません。例えば、`DetectModerationLabels` へのリクエストを 1 回行って `Sampling` によってヒューマンループが開始されなかった場合、同じ設定で `DetectModerationLabels` に続けてリクエストを行ってもヒューマンループは開始されません。

フロー定義を作成するときに、Amazon SageMaker AI コンソールの **[人間によるレビューワークフロー]** セクションで提供されているデフォルトのワーカータスクテンプレートを使用する場合、これらのアクティベーション条件によって人間によるレビュー用に送られた推論はワーカーがタスクを開くとワーカー UI に含まれます。カスタムワーカータスクテンプレートを使用する場合は、それらの推論にアクセスするにはカスタム HTML 要素の `<task.input.selectedAiServiceResponse.blocks>` を含める必要があります。この HTML 要素を使用するカスタムテンプレートの例については、「[Amazon Rekognition のカスタムテンプレートの例](a2i-custom-templates.md#a2i-custom-templates-rekognition-sample)」を参照してください。

## `ModerationLabelConfidenceCheck` 入力
<a name="a2i-rek-moderationlabelconfidencecheck"></a>

`ModerationLabelConfidenceCheck` `ConditionType` では、以下の `ConditionParameters` がサポートされています。
+ `ModerationLabelName` - Amazon Rekognition `DetectModerationLabels`オペレーションによって検出された [ModerationLabel](https://docs.aws.amazon.com/rekognition/latest/dg/API_ModerationLabel.html) の正確な (大文字と小文字を区別する) 名前。特別なキャッチオール値 (\$1) を指定して、モデレーションラベルを示すことができます。
+ `ConfidenceEquals`
+ `ConfidenceLessThan`
+ `ConfidenceLessThanEquals`
+ `ConfidenceGreaterThan`
+ `ConfidenceGreaterThanEquals`

`ModerationLabelConfidenceCheck` `ConditionType` を使用すると、Amazon A2I によって、人間によるレビューのために `ModerationLabelName` で指定されているラベルの推論が送られます。

## 入力のサンプリング
<a name="a2i-rek-randomsamplingpercentage"></a>

`Sampling` `ConditionType` では、`RandomSamplingPercentage` `ConditionParameters` がサポートされています。`RandomSamplingPercentage` パラメータの入力は、0.01～100 の実数である必要があります。この数値は、ヒューマンレビューの対象となる推論の割合を表し、その数量がヒューマンレビューに送られます。`Sampling` 条件をその他の条件を指定せずに使用する場合、この数値は 1 つの `DetectModerationLabel` リクエストによって行われたすべての推論に対する割合を表し、その割合がヒューマンレビューに送られます。

## 例
<a name="a2i-json-rek-activation-condition-examples"></a>

**例 1: `ModerationLabelConfidenceCheck` を `And` オペレーターで使用する**

この `HumanLoopActivationConditions` 条件の例では、次の 1 つ以上の条件が満たされた場合にヒューマンループが開始されます。
+ Amazon Rekognition は、90 ～ 99 の信頼度を持つ `Graphic Male Nudity` モデレーションラベルを検出します。
+ Amazon Rekognition は、80 ～ 99 の信頼度を持つ `Graphic Female Nudity` モデレーションラベルを検出します。

このロジックのモデル化には、論理演算子の `Or` と `And` が使用されていることに注意してください。

ヒューマンループが作成されるために `Or` 演算子によって `true` と評価される必要がある条件は 2 つのうちの 1 つのみですが、Amazon Augmented AI はすべての条件を評価します。人間によるレビュー担当者は、`true` と評価されたすべての条件のモデレーションラベルを確認するように求められます。

```
{
     "Conditions": [{
         "Or": [{
                 "And": [{
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Male Nudity",
                             "ConfidenceLessThanEquals": 99
                         }
                     },
                     {
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Male Nudity",
                             "ConfidenceGreaterThanEquals": 90
                         }
                     }
                 ]
             },
             {
                 "And": [{
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Female Nudity",
                             "ConfidenceLessThanEquals": 99
                         }
                     },
                     {
                         "ConditionType": "ModerationLabelConfidenceCheck",
                         "ConditionParameters": {
                             "ModerationLabelName": "Graphic Female Nudity",
                             "ConfidenceGreaterThanEquals": 80
                         }
                     }
                 ]
             }
         ]
     }]
}
```

**例 2: `ModerationLabelConfidenceCheck` をキャッチオール値 (\$1)で使用する**

次の例では、信頼度が 75 以上のモデレーションラベルが検出された場合にヒューマンループが開始されます。ヒューマンレビュー担当者には、信頼スコアが 75 以上のすべてのモデレーションラベルをレビューすることが求められます。

```
{
    "Conditions": [
        {
            "ConditionType": "ModerationLabelConfidenceCheck",
            "ConditionParameters": {
                "ModerationLabelName": "*",
                "ConfidenceGreaterThanEquals": 75
            }
        }
    ]
}
```

**例 3: Sampling を使用する**

次の例では、`DetectModerationLabels` リクエストによって行われた Amazon Rekognition の推論の 5% が人間のワーカーに送られます。SageMaker AI コンソールで提供されているデフォルトのワーカータスクテンプレートを使用する場合、Amazon Rekognition から返されたすべてのモデレーションラベルがレビュー用にワーカーに送られます。

```
{
  "Conditions": [
    {
      "ConditionType": "Sampling",
      "ConditionParameters": {
        "RandomSamplingPercentage": 5
      }
    }
  ]
}
```

**例 4: サンプリングと `ModerationLabelConfidenceCheck` を `And` オペレーターで使用する**

この例では、Amazon Rekognition の信頼度が 50 より上の `Graphic Male Nudity` モデレーションラベルの推論の 5% がレビュー用にワーカーに送られます。SageMaker AI コンソールで提供されているデフォルトのワーカータスクテンプレートを使用する場合、`Graphic Male Nudity` ラベルの推論のみがレビュー用にワーカーに送られます。

```
{
  "Conditions": [
    {
      "And": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
          "ConditionType": "ModerationLabelConfidenceCheck",
          "ConditionParameters": {
            "ModerationLabelName": "Graphic Male Nudity",
            "ConfidenceGreaterThan": 50
          }
        }
      ]
    }
  ]
}
```

**例 5: サンプリングと `ModerationLabelConfidenceCheck` を `And` オペレーターで使用する**

この例では、指定したラベルの信頼度の低い推論は常に人間によるレビュー用に送られ、ラベルの信頼度の高い推論は指定した割合でサンプリングされるように人間によるレビューワークフローを設定します。

この例では、人間によるレビューは次のいずれかの方法で開始されます。
+ 信頼スコアが 60 未満の `Graphic Male Nudity` モデレーションラベルの推論は常にヒューマンレビューに送られます。`Graphic Male Nudity` ラベルのみがレビューのためにワーカーに送られます。
+ 信頼スコアが 90 より上の `Graphic Male Nudity` モデレーションラベルのすべての推論の 5% が人間によるレビュー用に送られます。`Graphic Male Nudity` ラベルのみがレビューのためにワーカーに送られます。

```
{
  "Conditions": [
    {
      "Or": [
        {
          "ConditionType": "ModerationLabelConfidenceCheck",
          "ConditionParameters": {
            "ModerationLabelName": "Graphic Male Nudity",
            "ConfidenceLessThan": 60
          }
        },
        {
            "And": [
                {
                    "ConditionType": "Sampling",
                    "ConditionParameters": {
                        "RandomSamplingPercentage": 5
                    }
                },
                {
                    "ConditionType": "ModerationLabelConfidenceCheck",
                    "ConditionParameters": {
                        "ModerationLabelName": "Graphic Male Nudity",
                        "ConfidenceGreaterThan": 90
                    }
                }
            ]
        }
      ]
    }
  ]
}
```

**例 6: サンプリングと `ModerationLabelConfidenceCheck` を `Or` オペレーターで使用する**

次の例では、Amazon Rekognition からの推論レスポンスに「Graphic Male Nudity」ラベルが含まれていて、推論の信頼度が 50 より上の場合にヒューマンループが作成されます。また、その他のすべての推論の 5% によって、ヒューマンループが開始されます。

```
{
  "Conditions": [
    {
      "Or": [
        {
          "ConditionType": "Sampling",
          "ConditionParameters": {
            "RandomSamplingPercentage": 5
          }
        },
        {
          "ConditionType": "ModerationLabelConfidenceCheck",
          "ConditionParameters": {
            "ModerationLabelName": "Graphic Male Nudity",
            "ConfidenceGreaterThan": 50
          }
        }
      ]
    }
  ]
}
```