

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Datos de salida de Amazon A2I
<a name="a2i-output-data"></a>

Cuando un flujo de trabajo de machine learning le envía un objeto de datos a Amazon A2I, se crea un *bucle humano* y los revisores humanos reciben la *tarea* de revisar dicho objeto. Los datos de salida de cada tarea de revisión humana se almacenan en el bucket de salida de Amazon Simple Storage Service (Amazon S3) que haya especificado en el flujo de trabajo de revisión humana. En la ruta de acceso a los datos, `{{YYYY}}/{{MM}}/{{DD}}/{{hh}}/{{mm}}/{{ss}}` representa la fecha de creación del bucle humano, con año (`YYYY`), mes (`MM`) y día (`DD`), así como la hora de creación, con hora (`hh`), minuto (`mm`) y segundo (`ss`). 

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

El contenido de los datos de salida depende del tipo de [tarea](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-task-types-general.html) (integrada o personalizada) y del tipo de [personal](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management.html) que utilice. Los datos de salida siempre incluyen la respuesta del trabajador humano. Además, los datos de salida pueden incluir metadatos sobre el bucle humano, el revisor humano (trabajador) y el objeto de datos. 

Utilice las siguientes secciones para obtener más información sobre el formato de datos de salida de Amazon A2I para diferentes tipos de tareas y plantillas. 

## Datos de salida de tipos de Built-In tareas
<a name="sms-output-data-textract"></a>

Amazon Textract y Amazon Rekognition son tipos de tareas integradas en Amazon A2I. Además de las respuestas humanas, los datos de salida de una de estas tareas incluyen detalles sobre el motivo por el que se creó el bucle humano e información sobre el servicio integrado utilizado para crearlo. Utilice la siguiente tabla para obtener más información sobre el esquema de datos de salida para todos los tipos de tareas integradas. El *valor* de cada uno de estos parámetros depende del servicio que utilice con Amazon A2I. Consulte la segunda tabla de esta sección para obtener más información sobre estos valores específicos del servicio. 


****  

| Parámetro | Tipo de valor | Valores de ejemplo | Description (Descripción) | 
| --- | --- | --- | --- | 
| awsManagedHumanLoopRequestSource | Cadena | AWS/Rekognition/DetectModerationLabels/Image/V3 o AWS/Textract/AnalyzeDocument/Forms/V1 | La operación de la API y AWS los servicios asociados que solicitaron que Amazon A2I creara un bucle humano. Esta es la operación de API que utiliza para configurar el bucle humano de Amazon A2I. | 
| flowDefinitionArn | Cadena | arn:aws:sagemaker:us-west-2:{{111122223333}}:flow-definition/{{flow-definition-name}} | El número de recurso de Amazon (ARN) del flujo de trabajo de revisión humana (definición de flujo) utilizado para crear el bucle humano.  | 
| humanAnswers | Lista de objetos JSON | <pre>{<br />"answerContent": {<br />    "AWS/Rekognition/DetectModerationLabels/Image/V3": {<br />        "moderationLabels": [{{...}}]<br />    }<br />},</pre> o<pre>{<br />    "answerContent": {<br />        "AWS/Textract/AnalyzeDocument/Forms/V1": {<br />            "blocks": [{{...}}]<br />    }<br />},</pre> | Una lista de objetos JSON que contienen las respuestas de los trabajadores en answerContent. Este objeto también contiene los detalles del envío y, si se utilizó una plantilla privada, los metadatos de los trabajadores. Para obtener más información, consulte [Seguimiento de la actividad del trabajador](#a2i-worker-id-private). <br />En el caso de los datos de salida de bucle humano generados a partir de las tareas de revisión `DetectModerationLabel` de Amazon Rekognition, este parámetro solo contiene respuestas positivas. Por ejemplo, si los trabajadores seleccionan *Sin contenido*, esta respuesta no estará incluida. | 
| humanLoopName | Cadena | `'human-loop-name'` | El nombre del bucle humano. | 
| inputContent | Objeto JSON |  <pre>{<br />    "aiServiceRequest": {{{...}}},<br />    "aiServiceResponse": {{{...}}},<br />    "humanTaskActivationConditionResults": {{{...}}},<br />    "selectedAiServiceResponse": {{{...}}}<br />}</pre>  | El contenido de entrada que el AWS servicio envió a Amazon A2I cuando solicitó la creación de un bucle humano.  | 
| aiServiceRequest | Objeto JSON | <pre>{<br />    "document": {{{...}}},<br />    "featureTypes": [{{...}}],<br />    "humanLoopConfig": {{{...}}}<br />}</pre>o <pre>{<br />    "image": {{{...}}},<br />    "humanLoopConfig": {{{...}}}<br />}</pre> | La solicitud original enviada al AWS servicio integrado con Amazon A2I. Por ejemplo, si utiliza Amazon Rekognition con Amazon A2I, esto incluye la solicitud realizada a través de la operación de API `DetectModerationLabels`. En el caso de las integraciones de Amazon Textract, esto incluye la solicitud realizada a través de `AnalyzeDocument`. | 
| aiServiceResponse | Objeto JSON | <pre>{<br />    "moderationLabels": [{{...}}],<br />    "moderationModelVersion": "3.0"<br />}</pre>o<pre>{<br />    "blocks": [{{...}}],<br />    "documentMetadata": {}<br />}</pre> | La respuesta completa del servicio. AWS Estos son los datos que se utilizan para determinar si es necesaria una revisión humana. Este objeto puede contener metadatos sobre el objeto de datos que no se comparten con revisores humanos.  | 
| selectedAiServiceResponse | Objeto JSON | <pre>{<br />    "moderationLabels": [{{...}}],<br />    "moderationModelVersion": "3.0"<br />}</pre>o<pre>{<br />    "blocks": [{{...}}],<br />    "documentMetadata": {}<br />}</pre> | El subconjunto del `aiServiceResponse` que coincide con las condiciones de activación en `ActivationConditions`.<br />Todos los objetos de datos enumerados en `aiServiceResponse` aparecen en `selectedAiServiceResponse` cuando las inferencias se muestrean aleatoriamente o cuando todas las inferencias han iniciado las condiciones de activación. | 
| humanTaskActivationConditionResults | Objeto JSON |  <pre>{<br />     "Conditions": [{{...}}]<br />}</pre>  | Un objeto JSON en `inputContent` que contiene el motivo por el que se creó un bucle humano. Incluye una lista de las condiciones de activación (`Conditions`) incluidas en su flujo de trabajo de revisión humana (definición de flujo) y el resultado de la evaluación de cada condición (este resultado puede ser `true` o `false`). Para obtener más información sobre las condiciones de activación, consulte [Esquema JSON para condiciones de activación del bucle humano en Amazon Augmented AI](a2i-human-fallback-conditions-json-schema.md). | 

Seleccione una pestaña de la siguiente tabla para obtener información sobre los parámetros específicos del tipo de tarea y ver un ejemplo de bloque de códigos de datos de salida para cada uno de los tipos de tareas integrados.

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

Cuando utilice la integración integrada de Amazon Textract, verá `'AWS/Textract/AnalyzeDocument/Forms/V1'` como el valor para `awsManagedHumanLoopRequestSource` en los datos de salida.

El parámetro `answerContent` contiene un objeto `Block` que incluye las respuestas humanas para todos los bloques enviados a Amazon A2I.

El parámetro `aiServiceResponse` también incluye un objeto `Block` con la respuesta de Amazon Textract a la solicitud original enviada a `AnalyzeDocument`.

Para obtener más información sobre los parámetros que aparecen en el objeto de bloque, consulte [Block](https://docs.aws.amazon.com/textract/latest/dg/API_Block.html) en la *Guía para desarrolladores de Amazon Textract*. 

Lo que sigue es un ejemplo de los datos de salida en una revisión humana de Amazon A2I para las inferencias de análisis de documentos de 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 ]

Cuando utilice la integración integrada de Amazon Textract, verá la cadena `'AWS/Rekognition/DetectModerationLabels/Image/V3'` como el valor para `awsManagedHumanLoopRequestSource` en los datos de salida.

El parámetro `answerContent` contiene un objeto `moderationLabels` que incluye las respuestas humanas para todas las etiquetas de moderación enviadas a Amazon A2I.

El parámetro `aiServiceResponse` también incluye un objeto `moderationLabels` con la respuesta de Amazon Rekognition a la solicitud original enviada a `DetectModerationLabels`.

Para obtener más información sobre los parámetros que ve en el objeto de bloque, consulte la Guía para [ModerationLabel](https://docs.aws.amazon.com/rekognition/latest/dg/API_ModerationLabel.html)desarrolladores de Amazon Rekognition. 

Lo que sigue es un ejemplo de los datos de salida en una revisión humana de Amazon A2I para las inferencias de moderación de Amazon Rekognition Image. 

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

------

## Datos de salida desde tipos de tareas personalizadas
<a name="sms-output-data-custom"></a>

Al añadir Amazon A2I a un flujo de trabajo de revisión humana personalizado, aparecen los siguientes parámetros en los datos de salida devueltos por las tareas de revisión humana. 


****  

| Parámetro | Tipo de valor | Description (Descripción) | 
| --- | --- | --- | 
| `flowDefinitionArn` | Cadena | El número de recurso de Amazon (ARN) del flujo de trabajo de revisión humana (definición de flujo) utilizado para crear el bucle humano.  | 
| `humanAnswers` | Lista de objetos JSON | Una lista de objetos JSON que contienen las respuestas de los trabajadores en answerContent. El valor de este parámetro viene determinado por el resultado recibido de la [plantilla de tareas de trabajador](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-instructions-overview.html). Si utiliza personal privado, se incluyen los metadatos de los trabajadores. Para obtener más información, consulte [Seguimiento de la actividad del trabajador](#a2i-worker-id-private). | 
| `humanLoopName` | Cadena | El nombre del bucle humano. | 
| `inputContent` | Objeto JSON. | El contenido de entrada enviado a Amazon A2I en la solicitud a [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). | 

Lo que sigue es un ejemplo de datos de salida de una integración personalizada con Amazon A2I y Amazon Transcribe. En este ejemplo, el `inputContent` está compuesto por lo siguiente:
+ Una ruta a un archivo .mp4 en Amazon S3 y el título del vídeo.
+ La transcripción devuelta por Amazon Transcribe, analizada a partir de los datos de salida de Amazon Transcribe.
+ Hora de inicio y finalización empleadas por la plantilla de tareas de trabajador para recortar el archivo .mp4 y mostrarles a los trabajadores una parte relevante del vídeo.

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

## Seguimiento de la actividad del trabajador
<a name="a2i-worker-id-private"></a>

Amazon A2I proporciona información que puede utilizar para hacer un seguimiento de los trabajadores individuales en los datos de salida de las tareas. Para identificar al trabajador que ha trabajado en la tarea de revisión humana, utilice los siguientes elementos de los datos de salida de Amazon S3:
+ `acceptanceTime` es la hora a la que el trabajador aceptó la tarea. El formato de esta marca temporal es `YYYY-MM-DDTHH:MM:SS.mmmZ` para el año (`YYYY`), el mes (`MM`), el día (`DD`), la hora (`HH`), el minuto (`MM`), el segundo (`SS`) y el milisegundo (`mmm`). La fecha y la hora están separadas por una **T**. 
+ `submissionTime` es la hora a la que el trabajador envió sus anotaciones mediante el botón **Enviar**. El formato de esta marca temporal es `YYYY-MM-DDTHH:MM:SS.mmmZ`: `YYYY` para el año, `MM` para el mes, `DD` para el día, `HH` para la hora, `MM` para el minuto, `SS` para el segundo y `mmm` para el milisegundo. La fecha y la hora están separadas por una **T**. 
+ `timeSpentInSeconds` indica el tiempo total, en segundos, que un trabajador trabajó activamente en esa tarea. Esta métrica no incluye el tiempo en que un trabajador hizo una pausa o se tomó un descanso.
+ El `workerId` es único para cada trabajador. 
+ Si utiliza [personal privado](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private.html), en `workerMetadata` verá lo siguiente.
  + `identityProviderType` es el servicio que se utiliza para administrar al personal privado. 
  + `issuer` es el grupo de usuarios de Amazon Cognito o el emisor del proveedor de identidades (IdP) del OpenID Connect OIDC asociado al equipo de trabajo asignado a esta tarea de revisión humana.
  + Un identificador `sub` único hace referencia al trabajador. Si crea personal con Amazon Cognito, puede recuperar los detalles del trabajador (como el nombre o el nombre de usuario) asociado a este id. mediante Amazon Cognito. Para obtener más información, consulte [Gestión y búsqueda de cuentas de usuario](https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#manage-user-accounts-searching-user-attributes) en la *[Guía para desarrolladores de Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/)*.

A continuación, tenemos un ejemplo del resultado que puede ver si utiliza Amazon Cognito para crear personal privado. Esto se identifica en `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"
    }
}
```

 A continuación, tenemos un ejemplo del resultado que puede ver si utiliza su propio IdP de OIDC para crear personal privado:

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

Para obtener más información sobre el uso de personal privado, consulte [Personal privado](sms-workforce-private.md).