

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.

# Données de sortie Amazon A2I
<a name="a2i-output-data"></a>

Lorsque votre flux de machine learning envoie un objet de données à Amazon A2I, une *boucle humaine* est créée et les vérificateurs humains reçoivent une *tâche* de vérification de cet objet de données. Les données de sortie de chaque tâche de vérification humaine sont stockées dans le compartiment de sortie Amazon Simple Storage Service (Amazon S3) que vous spécifiez dans votre flux de vérification humaine. Dans le chemin d'accès aux données, `YYYY/MM/DD/hh/mm/ss` représente la date de création de la boucle humaine avec l'année (`YYYY`), le mois (`MM`) et le jour (`DD`), ainsi que l'heure de création avec l'heure (`hh`), les minutes (`mm`) et les secondes (`ss`). 

```
s3://customer-output-bucket-specified-in-flow-definition/flow-definition-name/YYYY/MM/DD/hh/mm/ss/human-loop-name/output.json
```

Le contenu de vos données de sortie dépend du [type de tâche](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-task-types-general.html) (intégré ou personnalisé) et du type de [main-d'œuvre](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management.html) que vous utilisez. Vos données de sortie incluent toujours la réponse de l'employé humain. En outre, les données en sortie peuvent inclure des métadonnées sur la boucle humaine, le vérificateur humain (employé) et l'objet de données. 

Consultez les sections suivantes pour en savoir plus sur le format des données de sortie Amazon A2I selon les différents types de tâches et de main-d’œuvre. 

## Données de sortie à partir de types de tâches intégrés
<a name="sms-output-data-textract"></a>

Les types de tâches intégrés Amazon A2I incluent Amazon Textract et Amazon Rekognition. En plus des réponses humaines, les données de sortie de l'une de ces tâches incluent des détails sur la raison de la création de la boucle humaine et des informations sur le service intégré utilisé pour la créer. Consultez le tableau suivant pour en savoir plus sur le schéma des données de sortie de tous les types de tâches intégrés. La *valeur* de chacun de ces paramètres dépend du service que vous utilisez avec Amazon A2I. Reportez-vous au second tableau de cette section pour plus d'informations sur ces valeurs spécifiques au service. 


****  

| Paramètre | Type de valeur | Exemple de valeurs | Description | 
| --- | --- | --- | --- | 
| awsManagedHumanLoopRequestSource |  String  | AWS/Rekognition/DetectModerationLabels/Image/V3 ou AWS/Textract/AnalyzeDocument/Forms/V1 | L'opération d'API et les AWS services associés qui ont demandé à Amazon A2I de créer une boucle humaine. Il s'agit de l'opération d’API que vous utilisez pour configurer votre boucle humaine Amazon A2I. | 
| flowDefinitionArn |  String  | arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name |  Amazon Resource Number (ARN) du flux de vérification humaine (définition de flux) utilisé pour créer la boucle humaine.   | 
| humanAnswers |  Liste d’objets JSON  | <pre>{<br />"answerContent": {<br />    "AWS/Rekognition/DetectModerationLabels/Image/V3": {<br />        "moderationLabels": [...]<br />    }<br />},</pre> or<pre>{<br />    "answerContent": {<br />        "AWS/Textract/AnalyzeDocument/Forms/V1": {<br />            "blocks": [...]<br />    }<br />},</pre> | Liste d'objets JSON qui contiennent des réponses d’employé dans answerContent. Cet objet contient également des détails d’envoi et, si une main-d’œuvre privée a été utilisée, des métadonnées d’employé. Pour en savoir plus, veuillez consulter la section [Suivi de l'activité des employés](#a2i-worker-id-private). Pour les données de sortie de boucle humaine produites à partir des tâches de vérification `DetectModerationLabel` Amazon Rekognition, ce paramètre ne contient que des réponses positives. Par exemple, si les employés sélectionnent *Aucun contenu*, cette réponse n'est pas incluse. | 
| humanLoopName |  String  |  `'human-loop-name'`  | Nom de la boucle humaine. | 
| inputContent |  Objet JSON  |  <pre>{<br />    "aiServiceRequest": {...},<br />    "aiServiceResponse": {...},<br />    "humanTaskActivationConditionResults": {...},<br />    "selectedAiServiceResponse": {...}<br />}</pre>  |  Le contenu d'entrée que le AWS service a envoyé à Amazon A2I lorsqu'il a demandé la création d'une boucle humaine.   | 
| aiServiceRequest |  Objet JSON  | <pre>{<br />    "document": {...},<br />    "featureTypes": [...],<br />    "humanLoopConfig": {...}<br />}</pre>or <pre>{<br />    "image": {...},<br />    "humanLoopConfig": {...}<br />}</pre> |  La demande initiale envoyée au AWS service intégré à Amazon A2I. Par exemple, si vous utilisez Amazon Rekognition avec Amazon A2I, cela inclut la demande effectuée via l'opération d’API `DetectModerationLabels`. Pour les intégrations Amazon Textract, cela inclut la demande effectuée via `AnalyzeDocument`.  | 
| aiServiceResponse |  Objet JSON  |  <pre>{<br />    "moderationLabels": [...],<br />    "moderationModelVersion": "3.0"<br />}</pre> or <pre>{<br />    "blocks": [...],<br />    "documentMetadata": {}<br />}</pre>  |  La réponse complète du AWS service. Il s'agit des données utilisées pour déterminer si une vérification humaine est nécessaire. Cet objet peut contenir des métadonnées sur l'objet de données qui ne sont pas partagées avec des vérificateurs humains.   | 
| selectedAiServiceResponse |  Objet JSON  |  <pre>{<br />    "moderationLabels": [...],<br />    "moderationModelVersion": "3.0"<br />}</pre> or <pre>{<br />    "blocks": [...],<br />    "documentMetadata": {}<br />}</pre>  |  Le sous-ensemble du module `aiServiceResponse` qui correspond aux conditions d'activation dans`ActivationConditions`. Tous les objets de données répertoriés dans `aiServiceResponse` sont répertoriés dans `selectedAiServiceResponse` lorsque les inférences sont échantillonnées au hasard, ou que toutes les inférences ont initié des conditions d'activation.  | 
| humanTaskActivationConditionResults |  Objet JSON  |  <pre>{<br />     "Conditions": [...]<br />}</pre>  |  Un objet JSON dans `inputContent` qui contient la raison de la création d’une boucle humaine. Cela inclut une liste des conditions d'activation (`Conditions`) incluses dans votre flux de vérification humaine (définition de flux), ainsi que le résultat de l'évaluation pour chaque condition. Ce résultat est `true` ou `false`. Pour en savoir plus sur les conditions d'activation, veuillez consulter [Schéma JSON pour les conditions d’activation de boucle humaine dans l’IA augmentée d’Amazon](a2i-human-fallback-conditions-json-schema.md).  | 

Dans le tableau suivant, sélectionnez un onglet pour en savoir plus sur les paramètres spécifiques au type de tâche et voir un exemple de bloc de code de données de sortie pour chacun des types de tâches intégrés.

------
#### [ Amazon Textract Task Type Output Data ]

Lorsque vous utilisez l'intégration intégrée Amazon Textract, vous voyez `'AWS/Textract/AnalyzeDocument/Forms/V1'` comme valeur de `awsManagedHumanLoopRequestSource` dans vos données de sortie.

Le paramètre `answerContent` contient un objet `Block` qui inclut des réponses humaines pour tous les blocs envoyés à Amazon A2I.

Le paramètre `aiServiceResponse` inclut également un objet `Block` avec la réponse d'Amazon Texttract à la demande d'origine envoyée à l'aide de `AnalyzeDocument`.

Pour en savoir plus sur les paramètres que vous voyez dans l'objet bloc, reportez-vous à [Block (Bloc)](https://docs.aws.amazon.com/textract/latest/dg/API_Block.html) dans le *Guide du développeur Amazon Textract*. 

Voici un exemple de données de sortie provenant d'une vérification humaine Amazon A2I des inférences d'analyse de documents Amazon Textract. 

```
{
    "awsManagedHumanLoopRequestSource": "AWS/Textract/AnalyzeDocument/Forms/V1",
    "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
    "humanAnswers": [
        {
            "answerContent": {
                "AWS/Textract/AnalyzeDocument/Forms/V1": {
                    "blocks": [...]
                }
            },
            "submissionTime": "2020-09-28T19:17:59.880Z",
            "workerId": "111122223333",
            "workerMetadata": {
                "identityData": {
                    "identityProviderType": "Cognito",
                    "issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_111111",
                    "sub": "c6aa8eb7-9944-42e9-a6b9-111122223333"
                }
            }
        }
    ],
    "humanLoopName": "humnan-loop-name",
    "inputContent": {
        "aiServiceRequest": {
            "document": {
                "s3Object": {
                    "bucket": "amzn-s3-demo-bucket1",
                    "name": "document-demo.jpg"
                }
            },
            "featureTypes": [
                "TABLES",
                "FORMS"
            ],
            "humanLoopConfig": {
                "dataAttributes": {
                    "contentClassifiers": [
                        "FreeOfPersonallyIdentifiableInformation"
                    ]
                },
                "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
                "humanLoopName": "humnan-loop-name"
            }
        },
        "aiServiceResponse": {
            "blocks": [...],
            "documentMetadata": {
                "pages": 1
            }
        },
        "humanTaskActivationConditionResults": {
            "Conditions": [
                {
                    "EvaluationResult": true,
                    "Or": [
                        {
                            "ConditionParameters": {
                                "ImportantFormKey": "Mail address",
                                "ImportantFormKeyAliases": [
                                    "Mail Address:",
                                    "Mail address:",
                                    "Mailing Add:",
                                    "Mailing Addresses"
                                ],
                                "KeyValueBlockConfidenceLessThan": 100,
                                "WordBlockConfidenceLessThan": 100
                            },
                            "ConditionType": "ImportantFormKeyConfidenceCheck",
                            "EvaluationResult": true
                        },
                        {
                            "ConditionParameters": {
                                "ImportantFormKey": "Mail address",
                                "ImportantFormKeyAliases": [
                                    "Mail Address:",
                                    "Mail address:",
                                    "Mailing Add:",
                                    "Mailing Addresses"
                                ]
                            },
                            "ConditionType": "MissingImportantFormKey",
                            "EvaluationResult": false
                        }
                    ]
                }
            ]
        },
        "selectedAiServiceResponse": {
            "blocks": [...]
        }
    }
}
```

------
#### [ Amazon Rekognition Task Type Output Data ]

Lorsque vous utilisez l'intégration intégrée Amazon Textract, vous voyez la chaîne `'AWS/Rekognition/DetectModerationLabels/Image/V3'` comme valeur de `awsManagedHumanLoopRequestSource` dans vos données de sortie.

Le paramètre `answerContent` contient un objet `moderationLabels` qui inclut des réponses humaines pour toutes les étiquettes de modération envoyées à Amazon A2I.

Le paramètre `aiServiceResponse` inclut également un objet `moderationLabels` avec la réponse d'Amazon Texttract à la demande d'origine envoyée à l'aide de `DetectModerationLabels`.

Pour en savoir plus sur les paramètres que vous voyez dans l'objet de bloc, consultez le manuel Amazon Rekognition Developer Guide. [ModerationLabel](https://docs.aws.amazon.com/rekognition/latest/dg/API_ModerationLabel.html) 

Voici un exemple de données de sortie provenant d'une vérification humaine Amazon A2I des inférences d'analyse d’image Amazon Rekognition. 

```
{
    "awsManagedHumanLoopRequestSource": "AWS/Rekognition/DetectModerationLabels/Image/V3",
    "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
    "humanAnswers": [
        {
            "answerContent": {
                "AWS/Rekognition/DetectModerationLabels/Image/V3": {
                    "moderationLabels": [...]
                }
            },
            "submissionTime": "2020-09-28T19:22:35.508Z",
            "workerId": "ef7294f850a3d9d1",
            "workerMetadata": {
                "identityData": {
                    "identityProviderType": "Cognito",
                    "issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_111111",
                    "sub": "c6aa8eb7-9944-42e9-a6b9-111122223333"
                }
            }
        }
    ],
    "humanLoopName": "humnan-loop-name",
    "inputContent": {
        "aiServiceRequest": {
            "humanLoopConfig": {
                "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
                "humanLoopName": "humnan-loop-name"
            },
            "image": {
                "s3Object": {
                    "bucket": "amzn-s3-demo-bucket1",
                    "name": "example-image.jpg"
                }
            }
        },
        "aiServiceResponse": {
            "moderationLabels": [...],
            "moderationModelVersion": "3.0"
        },
        "humanTaskActivationConditionResults": {
            "Conditions": [
                {
                    "EvaluationResult": true,
                    "Or": [
                        {
                            "ConditionParameters": {
                                "ConfidenceLessThan": 98,
                                "ModerationLabelName": "Suggestive"
                            },
                            "ConditionType": "ModerationLabelConfidenceCheck",
                            "EvaluationResult": true
                        },
                        {
                            "ConditionParameters": {
                                "ConfidenceGreaterThan": 98,
                                "ModerationLabelName": "Female Swimwear Or Underwear"
                            },
                            "ConditionType": "ModerationLabelConfidenceCheck",
                            "EvaluationResult": false
                        }
                    ]
                }
            ]
        },
        "selectedAiServiceResponse": {
            "moderationLabels": [
                {
                    "confidence": 96.7122802734375,
                    "name": "Suggestive",
                    "parentName": ""
                }
            ],
            "moderationModelVersion": "3.0"
        }
    }
}
```

------

## Données de sortie à partir de types de tâches personnalisés
<a name="sms-output-data-custom"></a>

Lorsque vous ajoutez Amazon A2I à un flux de vérification humaine personnalisé, les paramètres suivants s'affichent dans les données de sortie renvoyées par les tâches de vérification humaine. 


****  

| Paramètre | Type de valeur | Description | 
| --- | --- | --- | 
|  `flowDefinitionArn`  |  String  |  Amazon Resource Number (ARN) du flux de vérification humaine (définition de flux) utilisé pour créer la boucle humaine.   | 
|  `humanAnswers`  |  Liste d’objets JSON  | Liste d'objets JSON qui contiennent des réponses d’employé dans answerContent. La valeur de ce paramètre est déterminée par la sortie reçue de votre [Modèle de tâche d’employé](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-instructions-overview.html). Si vous utilisez une main-d'œuvre privée, les métadonnées d'employé sont incluses. Pour en savoir plus, veuillez consulter la section [Suivi de l'activité des employés](#a2i-worker-id-private). | 
|  `humanLoopName`  | String | Nom de la boucle humaine. | 
|  `inputContent`  |  Objet JSON  |  Le contenu d'entrée envoyé à Amazon A2I dans la demande à [https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StartHumanLoop.html](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_StartHumanLoop.html).  | 

Voici un exemple de données de sortie provenant d'une intégration personnalisée avec Amazon A2I et Amazon Transcribe. Dans cet exemple, le paramètre `inputContent` comprend :
+ Un chemin vers un fichier .mp4 dans Amazon S3 et le titre de la vidéo
+ La transcription renvoyée par Amazon Transcribe (analysée à partir des données de sortie Amazon Transcribe)
+ Une heure de début et de fin utilisée par le modèle de tâche d'employé pour découper le fichier .mp4 et montrer aux employés une partie pertinente de la vidéo

```
{
    "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name",
    "humanAnswers": [
        {
            "answerContent": {
                "transcription": "use lambda to turn your notebook"
            },
            "submissionTime": "2020-06-18T17:08:26.246Z",
            "workerId": "ef7294f850a3d9d1",
            "workerMetadata": {
                "identityData": {
                    "identityProviderType": "Cognito",
                    "issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_111111",
                    "sub": "c6aa8eb7-9944-42e9-a6b9-111122223333"
                }
            }

        }
    ],
    "humanLoopName": "human-loop-name",
    "inputContent": {
        "audioPath": "s3://amzn-s3-demo-bucket1/a2i_transcribe_demo/Fully-Managed Notebook Instances with Amazon SageMaker - a Deep Dive.mp4",
        "end_time": 950.27,
        "original_words": "but definitely use Lambda to turn your ",
        "start_time": 948.51,
        "video_title": "Fully-Managed Notebook Instances with Amazon SageMaker - a Deep Dive.mp4"
    }
}
```

## Suivi de l'activité des employés
<a name="a2i-worker-id-private"></a>

Amazon A2I fournit des informations que vous pouvez utiliser pour suivre les employés individuels dans les données de sortie de la tâche. Pour identifier l’employé qui a travaillé sur la tâche de vérification humaine, utilisez les éléments suivants à partir des données de sortie d'Amazon S3 :
+ Le`acceptanceTime` est l'heure à laquelle l’employé a accepté la tâche. Le format de cette date et de cet horodatage est `YYYY-MM-DDTHH:MM:SS.mmmZ` pour l'année (`YYYY`), le mois (`MM`), le jour (`DD`), l’heure (`HH`), les minutes (`MM`), les secondes (`SS`) et les millisecondes (`mmm`). La date et l'heure sont séparées par un **T**. 
+ Le `submissionTime` est l'heure à laquelle l'employé a soumis ses annotations à l'aide du bouton **Envoyer**. Le format de cette date et de cet horodatage est `YYYY-MM-DDTHH:MM:SS.mmmZ` pour l'année (`YYYY`), le mois (`MM`), le jour (`DD`), l’heure (`HH`), les minutes (`MM`), les secondes (`SS`) et les millisecondes (`mmm`). La date et l'heure sont séparées par un **T**. 
+ `timeSpentInSeconds` indique la durée totale, en secondes, pendant laquelle un employé a travaillé activement sur cette tâche. Cette métrique n’inclut pas l’heure à laquelle un employé s’est mis en pause ou a pris une pause.
+ Le `workerId` est unique à chaque employé. 
+ Si vous utilisez une [main-d’œuvre privée](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private.html), dans `workerMetadata`, vous voyez ce qui suit.
  + Le `identityProviderType` est le service utilisé pour gérer la main-d'œuvre privée. 
  + Le `issuer` est le groupe d’utilisateurs Amazon Cognito ou le diffuseur du fournisseur d’identité (IdP) OpenID Connect (OIDC), associé à l'équipe de travail affectée à cette tâche de vérification humaine.
  + Un `sub` identifiant unique fait référence à l’employé. Si vous créez une main-d'œuvre à l'aide d'Amazon Cognito, vous pouvez extraire des détails sur cet employé (par ex., son nom ou son nom d'utilisateur) associés à cet ID à l’aide d’Amazon Cognito. Pour savoir comment procéder, veuillez consulter [Managing and Searching for User Accounts (Gestion et recherche de comptes utilisateur)](https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#manage-user-accounts-searching-user-attributes) dans le *[Guide du développeur Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/)*.

Voici un exemple de la sortie que vous pouvez voir si vous utilisez Amazon Cognito pour créer une main-d’œuvre privée. Ceci est identifié dans le `identityProviderType`.

```
"submissionTime": "2020-12-28T18:59:58.321Z",
"acceptanceTime": "2020-12-28T18:59:15.191Z", 
"timeSpentInSeconds": 40.543,
"workerId": "a12b3cdefg4h5i67",
"workerMetadata": {
    "identityData": {
        "identityProviderType": "Cognito",
        "issuer": "https://cognito-idp.aws-region.amazonaws.com/aws-region_123456789",
        "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
    }
}
```

 Voici un exemple de la sortie que vous pouvez voir si vous utilisez votre propre IdP OIDC pour créer une main-d'œuvre privée :

```
"workerMetadata": {
        "identityData": {
            "identityProviderType": "Oidc",
            "issuer": "https://example-oidc-ipd.com/adfs",
            "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
        }
}
```

Pour en savoir plus sur les mains d’œuvre privées, veuillez consulter [Main-d’œuvre privée](sms-workforce-private.md).