

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.

# Vérification de contenu inappropriée avec Amazon Augmented AI
<a name="a2i-rekognition"></a>

Amazon Augmented AI (Amazon A2I) vous permet de créer les workflows requis pour la vérification humaine des prédictions de Machine Learning.

Amazon Rekognition est directement intégré à Amazon A2I afin que vous puissiez facilement implémenter une vérification humaine pour la détection d’images dangereuses. Amazon A2I fournit un workflow de vérification humaine pour la modération des images. Cela vous permet de consulter facilement les prédictions d’Amazon Rekognition. Vous pouvez définir des seuils de confiance pour votre cas d’utilisation et les ajuster au fil du temps. Avec Amazon A2I, vous pouvez utiliser un pool d’évaluateurs au sein de votre propre organisation ou Amazon Mechanical Turk. Vous pouvez également recourir à des vendeurs de main d’œuvre présélectionnés par AWS pour garantir la qualité et la conformité aux procédures de sécurité.

Les étapes suivantes vous expliquent comment configurer Amazon A2I avec Amazon Rekognition. Tout d’abord, vous créez une définition de flux avec Amazon A2I avec les conditions qui déclenchent l’examen réalisé par un humain. Ensuite, vous transmettez l’Amazon Resource Name (ARN) de la définition de flux à l’opération `DetectModerationLabel` Amazon Rekognition. Dans la réponse `DetectModerationLabel`, vous pouvez voir si une vérification humaine est nécessaire. Les résultats de la vérification humaine sont disponibles dans un compartiment Amazon S3 défini par la définition du flux.

*Pour visionner une démonstration complète de l'utilisation d'Amazon A2I avec Amazon Rekognition, consultez l'un des didacticiels suivants dans le manuel Amazon AI Developer Guide. SageMaker *
+ [Démonstration : démarrer dans la console Amazon A2I](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-get-started-console.html)
+ [Démonstration : démarrer à l’aide de l’API Amazon A2I](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-get-started-api.html)

  Pour commencer à utiliser l’API, vous pouvez également exécuter un exemple de bloc-notes Jupyter. Consultez [Utiliser une instance de SageMaker bloc-notes avec Amazon A2I Jupyter Notebook](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-task-types-general.html#a2i-task-types-notebook-demo) pour utiliser l'intégration du bloc-notes Amazon [Augmented AI (Amazon A2I) à Amazon Rekognition](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Rekognition%20DetectModerationLabels.ipynb) [Exemple] dans une instance de bloc-notes AI. SageMaker 

**Exécution DetectModerationLabels avec Amazon A2I**
**Note**  
Créez toutes vos ressources Amazon A2I et Amazon Rekognition dans la même région AWS.

1. Remplissez les conditions requises répertoriées dans [Getting Started with Amazon Augmented AI](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-getting-started.html) dans la *documentation sur l'SageMaker IA*.

   N'oubliez pas non plus de configurer vos autorisations IAM comme indiqué sur la page [Autorisations et sécurité dans Amazon Augmented AI](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-permissions-security.html) de la *documentation sur l'SageMaker IA*.

1. Suivez les instructions de [création d'un flux de travail de révision humain](https://docs.aws.amazon.com/sagemaker/latest/dg/create-human-review-console.html) dans la *documentation de l'SageMaker IA*.

   Un workflow de vérification humaine gère le traitement d’une image. Il contient les conditions qui déclenchent une vérification humaine, l’équipe de travail à laquelle l’image est envoyée, le modèle d’interface utilisateur utilisé par l’équipe de travail et le compartiment Amazon S3 vers lequel les résultats de l’équipe de travail sont envoyés.

   Dans le cadre de votre `CreateFlowDefinition` appel, vous devez `HumanLoopRequestSource` régler le « AWS/Rekognition/DetectModerationLabels/Image/V3 ». Après cela, vous devez décider comment vous souhaitez configurer vos conditions qui déclenchent la vérification humaine.

   Avec Amazon Rekognition, vous disposez de deux options pour `ConditionType` : `ModerationLabelConfidenceCheck`, et `Sampling`.

   `ModerationLabelConfidenceCheck` crée une boucle humaine lorsque la confiance d’une étiquette de modération se situe dans une plage. Enfin, `Sampling` envoie un pourcentage aléatoire des documents traités pour vérification humaine. Chaque `ConditionType` utilise un ensemble différent de `ConditionParameters` pour définir les résultats de la vérification humaine.

   `ModerationLabelConfidenceCheck` a `ConditionParameters` `ModerationLableName` qui définit la clé qui doit être vérifiée par les opérateurs. De plus, il a confiance, qui définit la fourchette de pourcentage pour l'envoi à une évaluation humaine avec LessThan, GreaterThan, et Equals. `Sampling`a `RandomSamplingPercentage` défini un pourcentage de documents qui seront soumis à un examen humain.

   L’exemple de code suivant est un appel partiel de `CreateFlowDefinition`. Il envoie une image pour vérification humaine si elle est évaluée à moins de 98% sur l’étiquette « Suggestif », et à plus de 95% sur l’étiquette « Maillots de bain ou sous-vêtements féminins ». Cela signifie que si l’image n’est pas considérée comme suggestive, mais comporte une femme en sous-vêtements ou maillot de bain, vous pouvez vérifier l’image en utilisant la vérification humaine.

   ```
       def create_flow_definition():
       '''
       Creates a Flow Definition resource
   
       Returns:
       struct: FlowDefinitionArn
       '''
       humanLoopActivationConditions = json.dumps(
           {
               "Conditions": [
                   {
                     "And": [
                       {
                           "ConditionType": "ModerationLabelConfidenceCheck",
                           "ConditionParameters": {
                               "ModerationLabelName": "Suggestive",
                               "ConfidenceLessThan": 98
                           }
                       },
                       {
                           "ConditionType": "ModerationLabelConfidenceCheck",
                           "ConditionParameters": {
                               "ModerationLabelName": "Female Swimwear Or Underwear",
                               "ConfidenceGreaterThan": 95
                           }
                       }
                     ]
                  }
               ]
           }
       )
   ```

   `CreateFlowDefinition` renvoie un `FlowDefinitionArn`, que vous utilisez à l’étape suivante lorsque vous appelez `DetectModerationLabels`.

   Pour plus d'informations, consultez [CreateFlowDefinition](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateFlowDefinition.html)le Guide de *référence des API d' SageMaker IA*.

1. Définissez le paramètre `HumanLoopConfig` lorsque vous appelez `DetectModerationLabels`, comme dans [Détection d’images inappropriées](procedure-moderate-images.md). Consultez l’étape 4 pour des exemples d’un appel `DetectModerationLabels` avec définition `HumanLoopConfig`.

   1. Dans le paramètre `HumanLoopConfig`, définissez `FlowDefinitionArn` sur l’ARN de la définition de flux que vous avez créée à l’étape 2.

   1. Définissez votre `HumanLoopName`. Cela doit être unique dans une région et en minuscules.

   1. (Facultatif) Vous pouvez utiliser `DataAttributes` pour définir si l’image que vous avez transmise à Amazon Rekognition est exempte ou non de données d'identification personnelle (PII). Vous devez définir ce paramètre pour envoyer des informations à Amazon Mechanical Turk.

1. Exécutez `DetectModerationLabels`.

   Les exemples suivants montrent comment utiliser le `HumanLoopConfig` set AWS CLI et AWS SDK pour Python (Boto3) pour l'exécuter `DetectModerationLabels` avec.

------
#### [ AWS SDK pour Python (Boto3) ]

   L’exemple de demande suivant utilise le SDK for Python (Boto3). Pour plus d’informations, consultez [detect\_moderation\_labels](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rekognition.html#Rekognition.Client.detect_moderation_labels) dans la *Référence des API du kit AWS SDK pour Python (Boto)*.

   ```
   import boto3
   
   rekognition = boto3.client("rekognition", aws-region)
   
   response = rekognition.detect_moderation_labels( \
           Image={'S3Object': {'Bucket': bucket_name, 'Name': image_name}}, \
           HumanLoopConfig={ \
               'HumanLoopName': 'human_loop_name', \
               'FlowDefinitionArn': , "arn:aws:sagemaker:aws-region:aws_account_number:flow-definition/flow_def_name" \
               'DataAttributes': {'ContentClassifiers': ['FreeOfPersonallyIdentifiableInformation','FreeOfAdultContent']}
            })
   ```

------
#### [ AWS CLI ]

   L'exemple de demande suivant utilise la AWS CLI. Pour plus d’informations, consultez [detect-moderation-labels](https://docs.aws.amazon.com/cli/latest/reference/rekognition/detect-moderation-labels.html) dans la *[Référence des commandes de l’](https://docs.aws.amazon.com/cli/latest/reference/)*.

   ```
   $ aws rekognition detect-moderation-labels \
       --image "S3Object={Bucket='{{bucket_name}}',Name='{{image_name}}'}" \
       --human-loop-config HumanLoopName="{{human_loop_name}}",FlowDefinitionArn="arn:aws:sagemaker:{{aws-region}}:{{aws_account_number}}:flow-definition/{{flow_def_name}}",DataAttributes='{ContentClassifiers=["FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent"]}'
   ```

   ```
   $ aws rekognition detect-moderation-labels \
       --image "S3Object={Bucket='{{bucket_name}}',Name='{{image_name}}'}" \
       --human-loop-config \
           '{"HumanLoopName": "{{human_loop_name}}", "FlowDefinitionArn": "arn:aws:sagemaker:{{aws-region}}:{{aws_account_number}}:flow-definition/{{flow_def_name}}", "DataAttributes": {"ContentClassifiers": ["FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent"]}}'
   ```

------

   Lorsque vous exécutez la `DetectModerationLabels` commande `HumanLoopConfig` Activé, Amazon Rekognition SageMaker appelle l'opération d'API AI. `StartHumanLoop` Cette commande prend la réponse auprès de `DetectModerationLabels` et la vérifie par rapport aux conditions de la définition de flux dans l’exemple. Si elle remplit les conditions d’examen, elle renvoie un `HumanLoopArn`. Cela signifie que les membres de l’équipe de travail que vous définissez dans votre définition de flux peuvent maintenant vérifier l’image. L’appel de l’opération d’exécution Amazon Augmented AI `DescribeHumanLoop` fournit des informations sur le résultat de la boucle. Pour plus d'informations, consultez [ DescribeHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DescribeHumanLoop.html)la *documentation de référence de l'API Amazon Augmented AI*.

   Une fois l’image révisée, vous pouvez voir les résultats dans le compartiment spécifié dans le chemin de sortie de votre définition de flux. Amazon A2I vous informera également par le biais d'Amazon CloudWatch Events lorsque la révision sera terminée. Pour connaître les événements à rechercher, consultez la section [CloudWatch Événements](https://docs.aws.amazon.com/sagemaker/latest/dg/augmented-ai-cloudwatch-events.html) de la *documentation sur l'SageMaker IA*.

   Pour plus d'informations, consultez [Getting Started with Amazon Augmented AI](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-getting-started.html) dans la *documentation sur l'SageMaker IA*.