

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Schéma JSON pour les conditions d’activation de boucle humaine dans l’IA augmentée d’Amazon
<a name="a2i-human-fallback-conditions-json-schema"></a>

`HumanLoopActivationConditions` est un paramètre d'entrée de l'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html). Ce paramètre est une chaîne au format JSON. Le format JSON modélise les conditions dans lesquelles une boucle humaine est créée lorsque ces conditions sont évaluées par rapport à la réponse d'une API de service d'IA d'intégration (telle que `Rekognition.DetectModerationLabels` ou `Textract.AnalyzeDocument`). Cette réponse est appelée *inférence*. Par exemple, Amazon Rekognition envoie une inférence d'une étiquette de modération avec un score de fiabilité associé. Dans cet exemple, l'inférence est la meilleure estimation du modèle de l'étiquette appropriée pour une image. Pour Amazon Textract, l'inférence est basée sur l'association entre des blocs de texte (*paires clé-valeur*), par exemple l'association entre `Name:` et `Sue` dans un formulaire, ainsi que du contenu dans un bloc de texte, ou un *bloc de mot*, par exemple « Nom ».

Voici le schéma pour le format JSON. Au niveau supérieur, `HumanLoopActivationConditions` a un tableau JSON, `Conditions`. Chaque membre de ce tableau est une condition indépendante qui, si elle équivaut à `true`, entraîne la création d'une boucle humaine par Amazon A2I. Chaque condition indépendante de ce type peut être une condition simple ou une condition complexe. Une condition simple a les attributs suivants :
+ `ConditionType` : cet attribut identifie le type de condition. Chaque API de service d'IA AWS qui s'intègre à Amazon A2I définit son propre ensemble de `ConditionTypes` autorisées. 
  + Rekognition `DetectModerationLabels` - Cette API prend en charge les valeurs `ConditionType` `ModerationLabelConfidenceCheck` et `Sampling`.
  + Textract `AnalyzeDocument` - Cette API prend en charge les valeurs `ConditionType` `ImportantFormKeyConfidenceCheck`, `MissingImportantFormKey` et `Sampling`.
+ `ConditionParameters` - Il s'agit d'un objet JSON qui paramètre la condition. L'ensemble des attributs autorisés de cet objet dépend de la valeur de `ConditionType`. Chaque `ConditionType` définit son propre ensemble de `ConditionParameters`. 

Un membre du tableau `Conditions` peut modéliser une condition complexe. Pour cela, des conditions simples sont connectées logiquement à l'aide des opérateurs logiques `And` et `Or`, et des conditions simples sous-jacentes sont imbriquées. Deux niveaux d'imbrication maximum sont pris en charge. 

```
{
    "$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"
            }
        }
    }
}
```

**Note**  
Les conditions d'activation de boucle humaine ne sont pas disponibles pour les flux de vérification humaine qui sont intégrés à des types de tâches personnalisés. Le paramètre `HumanLoopActivationConditions` est désactivé pour les types de tâches personnalisés. 

**Topics**
+ [Utilisation du schéma JSON pour les conditions d'activation de boucle humaine avec Amazon Textract](a2i-json-humantaskactivationconditions-textract-example.md)
+ [Utilisation du schéma JSON pour les conditions d'activation de boucle humaine avec Amazon Rekognition](a2i-json-humantaskactivationconditions-rekognition-example.md)

# Utilisation du schéma JSON pour les conditions d'activation de boucle humaine avec Amazon Textract
<a name="a2i-json-humantaskactivationconditions-textract-example"></a>

Lorsqu'elle est utilisée avec Amazon A2I, l'opération `AnalyzeDocument` prend en charge les entrées suivantes dans le paramètre `ConditionType` :
+ `ImportantFormKeyConfidenceCheck` - Utilisez cette condition pour créer une boucle humaine lorsque la fiabilité d'inférence se situe dans une plage spécifiée pour les clés de formulaire de document et les blocs de mots. Une *clé de formulaire* est un mot dans un document, qui est associé à une entrée. L'entrée est appelée *valeur*. Ensemble, les clés de formulaire et les valeurs sont appelées *paires clé-valeur*. Un *bloc de mots* fait référence aux mots qui sont reconnus par Amazon Textract à l'intérieur d'un bloc de texte détecté. Pour en savoir plus sur les blocs de documents Amazon Textract, consultez [Documents et objets de bloc](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-document-layout.html) dans le *Guide du développeur Amazon Textract*.
+ `MissingImportantFormKey` - Utilisez cette condition pour créer une boucle humaine lorsque Amazon Textract n'a pas identifié la clé ou ses alias associés dans le document. 
+ `Sampling` - Utilisez cette condition pour spécifier un pourcentage de formulaires à soumettre à vérification humaine, indépendamment des scores de fiabilité d'inférence. Utilisez cette condition pour effectuer les opérations suivantes :
  + Auditer votre modèle ML en effectuant un échantillonnage aléatoire de tous les formulaires analysés par votre modèle et en soumettant un pourcentage spécifié à vérification humaine.
  + En utilisant la condition `ImportantFormKeyConfidenceCheck`, effectuez un échantillonnage aléatoire d'un pourcentage des inférences qui ont rempli les conditions spécifiées dans `ImportantFormKeyConfidenceCheck` pour démarrer une boucle humaine et soumettre à vérification humaine uniquement le pourcentage spécifié. 

**Note**  
Si vous envoyez la même demande à `AnalyzeDocument` plusieurs fois, le résultat de `Sampling` ne changera pas pour l'inférence de cette entrée. Par exemple, si vous effectuez une demande `AnalyzeDocument` une fois, et que `Sampling` n'initie pas de boucle humaine, les demandes suivantes adressées à `AnalyzeDocument` avec la même configuration n'initieront pas de boucle humaine.

## `ImportantFormKeyConfidenceCheck` Entrées et résultats
<a name="a2i-textract-importantformkeycofidencecheck"></a>

Le `ConditionType` `ImportantFormKeyConfidenceCheck` prend en charge les `ConditionParameters` suivants :
+ `ImportantFormKey` - Chaîne représentant une clé d'une paire clé-valeur détectée par Amazon Textract, qui doit être vérifiée par des employés humains. Si la valeur de ce paramètre est la valeur spéciale passe-partout (\$1), toutes les clés sont alors considérées comme correspondant à la condition. Vous pouvez l'utiliser pour modéliser le cas où une paire clé-valeur quelconque satisfaisant à certains seuils de fiabilité nécessite une vérification humaine.
+ `ImportantFormKeyAliases` - Tableau qui représente d'autres orthographes ou équivalents logiques pour la clé de formulaire importante. 
+ `KeyValueBlockConfidenceEquals`
+ `KeyValueBlockConfidenceLessThan`
+ `KeyValueBlockConfidenceLessThanEquals`
+ `KeyValueBlockConfidenceGreaterThan`
+ `KeyValueBlockConfidenceGreaterThanEquals`
+ `WordBlockConfidenceEquals`
+ `WordBlockConfidenceLessThan`
+ `WordBlockConfidenceLessThanEquals`
+ `WordBlockConfidenceGreaterThan`
+ `WordBlockConfidenceGreaterThanEquals`

Lorsque vous utilisez `ConditionType` `ImportantFormKeyConfidenceCheck`, Amazon A2I envoie les inférences de bloc clé-valeur et de bloc de mots des blocs clé-valeur, ainsi que les alias associés que vous avez spécifiés dans `ImportantFormKey` et `ImportantFormKeyAliases` pour vérification humaine.

Lorsque vous créez une définition de flux, si vous utilisez le modèle de tâches de travail par défaut fourni dans la section **Workflows de révision humaine** de la console Amazon SageMaker AI, les inférences clé-valeur et de bloc envoyées pour examen humain par cette condition d'activation sont incluses dans l'interface utilisateur du travailleur. Si vous utilisez un modèle de tâche d'employé personnalisé, vous devez inclure l'élément `{{ task.input.selectedAiServiceResponse.blocks }}` de sorte à inclure les données d'entrée de valeur initiale (inférences) à partir d'Amazon Textract. Pour obtenir un exemple de modèle personnalisé utilisant cet élément d’entrée, consultez [Exemple de modèle personnalisé pour Amazon Textract](a2i-custom-templates.md#a2i-custom-templates-textract-sample).

## `MissingImportantFormKey` Entrées et résultats
<a name="a2i-textract-missingimportantformkey"></a>

Le `ConditionType` `MissingImportantFormKey` prend en charge les `ConditionParameters` suivants :
+ `ImportantFormKey` - Chaîne représentant une clé d'une paire clé-valeur détectée par Amazon Textract, qui doit être vérifiée par des employés humains.
+ `ImportantFormKeyAliases` - Tableau qui représente d'autres orthographes ou équivalents logiques pour la clé de formulaire importante. 

Lorsque vous utilisez le `ConditionType` `MissingImportantFormKey`, si la clé dans `ImportantFormKey` ou les alias dans `ImportantFormKeyAliases` ne sont pas inclus dans l'inférence Amazon Textract, ce formulaire sera envoyé pour vérification humaine et aucune paire clé-valeur prévue ne sera incluse. Par exemple, si Amazon Textract a seulement identifié l'`Address` et le `Phone` dans un formulaire, mais pas le `ImportantFormKey` `Name` (dans le type de condition `MissingImportantFormKey`), ce formulaire serait envoyé pour vérification humaine sans aucune des clés de formulaire détectées (`Address` et `Phone`).

Si vous utilisez le modèle de tâche de travail par défaut fourni dans la console SageMaker AI, une tâche est créée pour demander aux travailleurs d'identifier la clé `ImportantFormKey` et la valeur associée. Si vous utilisez un modèle de tâche d'employé personnalisé, vous devez inclure l'élément HTML personnalisé `<task.input.humanLoopContext>` pour configurer cette tâche. 

## Entrées et résultats d'échantillonnage
<a name="a2i-textract-randomsamplingpercentage"></a>

`Sampling` `ConditionType` prend en charge `RandomSamplingPercentage` `ConditionParameters`. L'entrée pour `RandomSamplingPercentage` doit être un nombre réel compris entre 0,01 et 100. Ce nombre représente le pourcentage de données pouvant faire l'objet d'une vérification humaine et qui sont soumises à vérification humaine. Si vous utilisez la condition `Sampling` sans aucune autre condition, ce nombre représente le pourcentage de toutes les inférences obtenues par l'opération `AnalyzeDocument` à partir d'une seule demande qui sont soumises à vérification humaine.

Si vous spécifiez la condition `Sampling` sans autre type de condition, toutes les inférences de clé-valeur et de bloc sont soumises à vérification humaine. 

Lorsque vous créez une définition de flux, si vous utilisez le modèle de tâches de travail par défaut fourni dans la section **Workflows de révision humaine** de la console SageMaker AI, toutes les inférences clé-valeur et de bloc envoyées pour examen humain par cette condition d'activation sont incluses dans l'interface utilisateur du travailleur. Si vous utilisez un modèle de tâche d'employé personnalisé, vous devez inclure l'élément `{{ task.input.selectedAiServiceResponse.blocks }}` de sorte à inclure les données d'entrée de valeur initiale (inférences) à partir d'Amazon Textract. Pour obtenir un exemple de modèle personnalisé utilisant cet élément d’entrée, consultez [Exemple de modèle personnalisé pour Amazon Textract](a2i-custom-templates.md#a2i-custom-templates-textract-sample).

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

Une seule condition doit avoir la valeur `true` pour initier une boucle humaine, mais Amazon A2I évalue en fait toutes les conditions pour chaque objet analysé par Amazon Textract. Les vérificateurs humains sont chargés de vérifier les clés de formulaire importantes pour toutes les conditions qui équivalaient à `true`.

**Exemple 1 : détection des clés de formulaire importantes avec des indices de confiance figurant dans une plage spécifiée qui initient une boucle humaine**

Voici un exemple de code JSON `HumanLoopActivationConditions` qui initie une boucle humaine si l'une quelconque des trois conditions suivantes est remplie :
+ L'API `AnalyzeDocument` Amazon Textract renvoie une paire clé-valeur dont la clé est l'un de `Employee Name`, `Name` ou `EmployeeName`, avec une fiabilité du bloc clé-valeur inférieure à 60 et une fiabilité de chaque bloc de mots composant la clé et la valeur inférieure à 85.
+ L'API `AnalyzeDocument` Amazon Textract renvoie une paire clé-valeur dont la clé est l'un de `Pay Date`, `PayDate`, `DateOfPay` ou `pay-date`, avec une fiabilité du bloc clé-valeur inférieure à 65 et une fiabilité de chaque bloc de mots composant la clé et la valeur inférieure à 85.
+ L'API `AnalyzeDocument` Amazon Textract renvoie une paire clé-valeur dont la clé est l'un de `Gross Pay`, `GrossPay` ou `GrossAmount`, avec une fiabilité du bloc clé-valeur inférieure à 60 et une fiabilité de chacun des blocs de mots composant la clé et la valeur inférieure à 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
            }
        }
    ]
}
```

**Exemple 2 : utilisation de `ImportantFormKeyConfidenceCheck`**

Dans l'exemple suivant, si Amazon Textract détecte une paire clé-valeur dont la fiabilité pour le bloc clé-valeur est inférieure à 60, et inférieure à 90 pour les blocs de mots sous-jacents, il crée une boucle humaine. Les vérificateurs humains sont chargés de vérifier toutes les paires clé-valeur de formulaire qui ont satisfait aux comparaisons des valeurs de fiabilité.

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

**Exemple 3 : Utiliser l'échantillonnage**

Dans l'exemple suivant, 5 % des inférences découlant d'une demande `AnalyzeDocument` Amazon Textract sont soumises à vérification humaine. Toutes les paires clé-valeur détectées renvoyées par Amazon Textract sont soumises à vérification humaine.

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

**Exemple 4 : utilisation de `MissingImportantFormKey`**

Dans l'exemple suivant, si `Mailing Address` ou son alias `Mailing Address:`, est absent des clés détectées par Amazon Textract, une vérification humaine est initiée. Lors de l'utilisation du modèle de tâche d'employé par défaut, l'interface utilisateur d'employé demande aux employés d'identifier la clé `Mailing Address` ou `Mailing Address:`, ainsi que sa valeur associée. 

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

**Exemple 5 : utilisation d'un échantillonnage et `ImportantFormKeyConfidenceCheck` avec l'opérateur `And`**

Dans cet exemple, 5 % des paires clé-valeur détectées par Amazon Textract, dont la clé est l'un de `Pay Date`, `PayDate`, `DateOfPay` ou `pay-date` avec une fiabilité du bloc clé-valeur inférieure à 65 et les fiabilités de chacun des blocs de mots constituant la clé et la valeur inférieures à 85, sont soumises à vérification humaine.

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

**Exemple 6 : utilisation d'un échantillonnage et `ImportantFormKeyConfidenceCheck` avec l'opérateur `And`**

Utilisez cet exemple pour configurer votre flux de vérification humaine afin qu'il envoie toujours des inférences de faible fiabilité d'une paire clé-valeur spécifiée pour une vérification humaine et un échantillon d'inférence de haute fiabilité d'une paire clé-valeur à un taux spécifié. 

Dans l'exemple suivant, une vérification humaine est initiée de l'une des manières suivantes : 
+ Les paires clé-valeur détectées, dont la clé est l'un de `Pay Date`, `PayDate`, `DateOfPay` ou `pay-date`, avec des valeurs de fiabilité de clé-valeur et de bloc de mots inférieures à 60, sont soumises à vérification humaine. Seule la clé de formulaire `Pay Date` (et ses alias), ainsi que les valeurs associées, sont soumises à vérification humaine. 
+ 5 % des paires clé-valeur détectées dont la clé est l'un de `Pay Date`, `PayDate`, `DateOfPay` ou `pay-date`, avec des valeurs de fiabilité de clé-valeur et de bloc de mots supérieures à 90, sont soumises à vérification humaine. Seule la clé de formulaire `Pay Date` (et ses alias), ainsi que les valeurs associées, sont soumises à vérification humaine. 

```
{
  "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
                    }
                }
            ]
        }
      ]
    }
  ]
}
```

**Exemple 7 : utilisation d'un échantillonnage et `ImportantFormKeyConfidenceCheck` avec l'opérateur `Or`**

Dans l'exemple suivant, l'opération `AnalyzeDocument` Amazon Textract renvoie une paire clé-valeur, dont la clé est l'un de `Pay Date`, `PayDate`, `DateOfPay` ou `pay-date`, avec une fiabilité du bloc clé-valeur inférieure à 65 et les fiabilités de chacun des blocs de mots composant la clé et la valeur inférieures à 85. De plus, 5 % de tous les autres formulaires initient une boucle humaine. Pour chaque formulaire choisi au hasard, toutes les paires clé-valeur détectées pour ce formulaire sont soumises à vérification humaine.

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

# Utilisation du schéma JSON pour les conditions d'activation de boucle humaine avec Amazon Rekognition
<a name="a2i-json-humantaskactivationconditions-rekognition-example"></a>

Lorsqu'elle est utilisée avec Amazon A2I, l’opération Amazon Rekognition `DetectModerationLabels` prend en charge les entrées suivantes dans les paramètres `ConditionType` :
+ `ModerationLabelConfidenceCheck` Utilisez ce type de condition pour créer une boucle humaine lorsque la fiabilité de l'inférence est faible pour une ou plusieurs étiquettes spécifiées.
+ `Sampling` Utilisez cette condition pour spécifier un pourcentage de toutes les inférences à soumettre à vérification humaine. Utilisez cette condition pour effectuer les opérations suivantes :
  + Auditer votre modèle ML en effectuant un échantillonnage aléatoire de toutes les inférences de votre modèle et en soumettant un pourcentage spécifié à vérification humaine.
  + En utilisant la condition `ModerationLabelConfidenceCheck`, effectuez un échantillonnage aléatoire d'un pourcentage des inférences qui ont rempli les conditions spécifiées dans `ModerationLabelConfidenceCheck` pour démarrer une boucle humaine et soumettre à vérification humaine uniquement le pourcentage spécifié. 

**Note**  
Si vous envoyez la même demande à `DetectModerationLabels` plusieurs fois, le résultat de `Sampling` ne changera pas pour l'inférence de cette entrée. Par exemple, si vous effectuez une demande `DetectModerationLabels` une fois, et que `Sampling` n'initie pas de boucle humaine, les demandes suivantes adressées à `DetectModerationLabels` avec la même configuration n'initieront pas de boucle humaine. 

Lorsque vous créez une définition de flux, si vous utilisez le modèle de tâche de collaborateur par défaut fourni dans la section **Workflows de révision humaine** de la console Amazon SageMaker AI, les inférences envoyées pour examen humain selon ces conditions d'activation sont incluses dans l'interface utilisateur du travailleur lorsqu'un collaborateur ouvre votre tâche. Si vous utilisez un modèle de tâche d'employé personnalisé, vous devez inclure l'élément HTML personnalisé `<task.input.selectedAiServiceResponse.blocks>` pour accéder à ces inférences. Pour obtenir un exemple de modèle personnalisé utilisant cet élément HTML, consultez [Exemple de modèle personnalisé pour Amazon Rekognition](a2i-custom-templates.md#a2i-custom-templates-rekognition-sample).

## `ModerationLabelConfidenceCheck` Entrées
<a name="a2i-rek-moderationlabelconfidencecheck"></a>

Pour `ModerationLabelConfidenceCheck` `ConditionType`, les `ConditionParameters` suivants sont pris en charge :
+ `ModerationLabelName`— Le nom exact (distinguant majuscules et minuscules) d'une personne [ModerationLabel](https://docs.aws.amazon.com/rekognition/latest/dg/API_ModerationLabel.html)détectée par l'opération Amazon Rekognition. `DetectModerationLabels` Vous pouvez spécifier la valeur passe-partout spéciale (\$1) pour indiquer n'importe quelle étiquette de modération.
+ `ConfidenceEquals`
+ `ConfidenceLessThan`
+ `ConfidenceLessThanEquals`
+ `ConfidenceGreaterThan`
+ `ConfidenceGreaterThanEquals`

Lorsque vous utilisez `ModerationLabelConfidenceCheck` `ConditionType`, Amazon A2I envoie des inférences d'étiquette pour les étiquettes que vous avez spécifiées dans `ModerationLabelName` afin qu'elles soient soumises à vérification humaine.

## Entrées d'échantillonnage
<a name="a2i-rek-randomsamplingpercentage"></a>

`Sampling` `ConditionType` prend en charge `RandomSamplingPercentage` `ConditionParameters`. L'entrée du paramètre `RandomSamplingPercentage` doit être un nombre réel compris entre 0,01 et 100. Ce nombre représente le pourcentage d'inférences pouvant faire l'objet d'une vérification humaine et qui sont soumises à vérification humaine. Si vous utilisez la condition `Sampling` sans aucune autre condition, ce nombre représente le pourcentage de toutes les inférences obtenues par une seule demande `DetectModerationLabel` qui sont soumises à vérification humaine.

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

**Exemple 1 : utilisation de `ModerationLabelConfidenceCheck` avec l'opérateur `And`**

L'exemple suivant d'une condition `HumanLoopActivationConditions` initie une boucle HumanLoop lorsqu'une ou plusieurs des conditions suivantes sont remplies :
+ Amazon Rekognition détecte l'étiquette de modération `Graphic Male Nudity` avec une fiabilité comprise entre 90 et 99.
+ Amazon Rekognition détecte l'étiquette de modération `Graphic Female Nudity` avec une fiabilité comprise entre 80 et 99.

Notez l'utilisation des opérateurs logiques `Or` et `And` pour modéliser cette logique.

Même si une seule des deux conditions sous l’opérateur `Or` doit avoir pour valeur `true` pour qu’une boucle humaine soit créée, l’IA augmentée d’Amazon évalue en fait toutes les conditions. Les vérificateurs humains sont chargés de passer en revue les étiquettes de modération pour toutes les conditions qui équivalaient à `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
                         }
                     }
                 ]
             }
         ]
     }]
}
```

**Exemple 2 : utilisation de `ModerationLabelConfidenceCheck` avec la valeur catch-all (\$1) **

Dans l'exemple suivant, en cas de détection d'une étiquette de modération avec une fiabilité supérieure ou égale à 75, une boucle humaine est initiée. Les intervenants humains sont chargés de passer en revue toutes les étiquettes de modération dont les scores de fiabilité sont supérieurs ou égaux à 75.

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

**Exemple 3 : Utiliser l'échantillonnage**

Dans l'exemple suivant, 5 % des inférences Amazon Rekognition découlant d'une demande `DetectModerationLabels` sont soumises à vérification humaine. Lorsque vous utilisez le modèle de tâches de travail par défaut fourni dans la console SageMaker AI, toutes les étiquettes de modération renvoyées par Amazon Rekognition sont envoyées aux travailleurs pour examen.

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

**Exemple 4 : utilisation d’un échantillonnage et `ModerationLabelConfidenceCheck` avec l’opérateur `And`**

Dans cet exemple, 5 % des inférences Amazon Rekognition de l'étiquette de modération `Graphic Male Nudity` avec un indice de fiabilité supérieur à 50 sont soumises à vérification humaine. Lorsque vous utilisez le modèle de tâches de travail par défaut fourni dans la console SageMaker AI, seules les inférences de l'`Graphic Male Nudity`étiquette sont envoyées aux travailleurs pour examen. 

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

**Exemple 5 : utilisation d'un échantillonnage et `ModerationLabelConfidenceCheck` avec l'opérateur `And`**

Utilisez cet exemple pour configurer votre flux de vérification humaine afin qu'il soumette toujours à vérification humaine les inférences de faible fiabilité d'une étiquette spécifiée, ainsi qu'un échantillon d'inférence de haute fiabilité d'une étiquette à un taux spécifié. 

Dans l'exemple suivant, une vérification humaine est initiée de l'une des manières suivantes : 
+ Les inférences pour l'étiquette de modération `Graphic Male Nudity` dont les scores de fiabilité sont inférieurs à 60 sont toujours soumises à vérification humaine. Seule l'étiquette `Graphic Male Nudity` est soumise à vérification humaine. 
+ 5 % de toutes les inférences de l'étiquette de modération `Graphic Male Nudity` dont les indices de fiabilité sont supérieurs à 90 sont soumises à vérification humaine. Seule l'étiquette `Graphic Male Nudity` est soumise à vérification humaine. 

```
{
  "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
                    }
                }
            ]
        }
      ]
    }
  ]
}
```

**Exemple 6 : utilisation d'un échantillonnage et `ModerationLabelConfidenceCheck` avec l'opérateur `Or`**

Dans l'exemple suivant, une boucle humaine est créée si la réponse d'inférence Amazon Rekognition contient l'étiquette « Nudité masculine explicite (Graphic Male Nudity) » avec une fiabilité d'inférence supérieure à 50. De plus, 5 % de toutes les autres inférences initient une boucle humaine. 

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