Datos de salida de Amazon A2I - Amazon SageMaker

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

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 (integrada o personalizada) y del tipo de personal 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 desde tipos de tareas integradas

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 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

{ "answerContent": { "AWS/Rekognition/DetectModerationLabels/Image/V3": { "moderationLabels": [...] } },
o
{ "answerContent": { "AWS/Textract/AnalyzeDocument/Forms/V1": { "blocks": [...] } },
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.

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

{ "aiServiceRequest": {...}, "aiServiceResponse": {...}, "humanTaskActivationConditionResults": {...}, "selectedAiServiceResponse": {...} }

El contenido de entrada que el AWS servicio envió a Amazon A2I cuando solicitó la creación de un bucle humano.

aiServiceRequest

Objeto JSON

{ "document": {...}, "featureTypes": [...], "humanLoopConfig": {...} }
o
{ "image": {...}, "humanLoopConfig": {...} }

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

{ "moderationLabels": [...], "moderationModelVersion": "3.0" }

o

{ "blocks": [...], "documentMetadata": {} }

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

{ "moderationLabels": [...], "moderationModelVersion": "3.0" }

o

{ "blocks": [...], "documentMetadata": {} }

El subconjunto del aiServiceResponse que coincide con las condiciones de activación en ActivationConditions.

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

{ "Conditions": [...] }

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.

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 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": "DOC-EXAMPLE-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 ModerationLabeldesarrolladores 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": "DOC-EXAMPLE-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

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 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.

Si utiliza personal privado, se incluyen los metadatos de los trabajadores. Para obtener más información, consulte Seguimiento de la actividad del trabajador.

humanLoopName

Cadena El nombre del bucle humano.

inputContent

Objeto JSON.

El contenido de entrada enviado a Amazon A2I en la solicitud a StartHumanLoop.

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://DOC-EXAMPLE-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

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, 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 en la Guía para desarrolladores de Amazon Cognito.

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 Usar personal privado.