Dados de saída do Amazon A2I - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Dados de saída do Amazon A2I

Quando seu fluxo de trabalho de machine learning envia um objeto de dados ao Amazon A2I, um loop humano é criado e os revisores humanos recebem uma tarefa para revisar esse objeto de dados. Os dados de saída de cada tarefa de revisão humana são armazenados no bucket de saída do Amazon Simple Storage Service (Amazon S3) que você especifica em seu fluxo de trabalho de revisão humana. No caminho para os dados, YYYY/MM/DD/hh/mm/ss representa a data de criação do ciclo humano com o ano (YYYY), mês (MM) e dia (DD), e o horário de criação com a hora (hh), minuto (mm) e segundo (ss).

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

O conteúdo dos dados de saída depende do tipo de tarefa (incorporada ou personalizada) e do tipo de força de trabalho que você usa. Seus dados de saída sempre incluem a resposta do opeardor humano. Além disso, os dados de saída podem incluir metadados sobre o loop humano, o revisor humano (operador) e o objeto de dados.

Use as seções a seguir para saber mais sobre o formato de dados de saída do Amazon A2I para diferentes tipos de tarefas e forças de trabalho.

Dados de saída de tipos de tarefas incorporados

Os tipos de tarefas incorporadas do Amazon A2I incluem Amazon Textract e Amazon Rekognition. Além das respostas humanas, os dados de saída de uma dessas tarefas incluem detalhes sobre o motivo pelo qual o loop humano foi criado e informações sobre o serviço integrado usado para criar o loop humano. Use a tabela a seguir para saber mais sobre o esquema de dados de saída para todos os tipos de tarefas incorporadas. O valor de cada um desses parâmetros depende do serviço que você usa com o Amazon A2I. Consulte a segunda tabela nesta seção para obter mais informações sobre esses valores específicos do serviço.

Parâmetro Tipo de valor Valores de exemplo Descrição
awsManagedHumanLoopRequestSource

Cadeia de caracteres

AWS/Rekognition/DetectModerationLabels/Image/V3 ou AWS/Textract/AnalyzeDocument/Forms/V1 A operação da API e AWS os serviços associados que solicitaram que a Amazon A2I criasse um loop humano. Essa é a operação de API que você usa para configurar seu loop humano Amazon A2I.
flowDefinitionArn

String

arn:aws:sagemaker:us-west-2:111122223333:flow-definition/flow-definition-name

O nome de recurso da Amazon (ARN) do fluxo de trabalho de revisão humana (definição do fluxo) usado para criar o loop humano.

humanAnswers

Lista de objetos JSON

{ "answerContent": { "AWS/Rekognition/DetectModerationLabels/Image/V3": { "moderationLabels": [...] } },
ou
{ "answerContent": { "AWS/Textract/AnalyzeDocument/Forms/V1": { "blocks": [...] } },
Uma lista de objetos JSON que contêm respostas de operadores em answerContent.

Esse objeto também contém detalhes do envio e, se uma força de trabalho privada foi usada, metadados do operador. Para saber mais, consulte Monitore a atividade do operador.

Para dados de saída de loop humano produzidos a partir de tarefas de revisão do DetectModerationLabel Amazon Rekognition, esse parâmetro contém somente respostas positivas. Por exemplo, se os operadores selecionarem Sem conteúdo, essa resposta não será incluída.

humanLoopName

String

'human-loop-name'

O nome do loop humano.
inputContent

Objeto JSON

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

O conteúdo de entrada que o AWS serviço enviou para a Amazon A2I quando solicitou a criação de um loop humano.

aiServiceRequest

Objeto JSON

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

A solicitação original enviada ao AWS serviço integrado ao Amazon A2I. Por exemplo, se você usa o Amazon Rekognition com o Amazon A2I, isso inclui a solicitação feita por meio da operação da API do DetectModerationLabels. Para integrações do Amazon Textract, isso inclui a solicitação feita por meio de AnalyzeDocument.

aiServiceResponse

Objeto JSON

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

ou

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

A resposta completa do AWS serviço. Esses são os dados usados para determinar se uma revisão humana é necessária. Esse objeto pode conter metadados sobre o objeto de dados que não são compartilhados com revisores humanos.

selectedAiServiceResponse

Objeto JSON

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

ou

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

O subconjunto do aiServiceResponse que corresponde às condições de ativação em ActivationConditions.

Todos os objetos de dados listados em aiServiceResponse são listados selectedAiServiceResponse quando as inferências são amostradas aleatoriamente ou todas as inferências iniciam as condições de ativação.

humanTaskActivationConditionResults

Objeto JSON

{ "Conditions": [...] }

Um objeto JSON inputContent que contém o motivo pelo qual um loop humano foi criado. Isso inclui uma lista das condições de ativação (Conditions) incluídas em seu fluxo de trabalho de revisão humana (definição de fluxo) e o resultado da avaliação de cada condição — esse resultado é true ou false. Para saber mais sobre condições de ativação, consulte Esquema JSON para condições de ativação de loop humano no Amazon Augmented AI.

Selecione uma aba na tabela a seguir para aprender sobre os parâmetros específicos do tipo de tarefa e ver um bloco de código de exemplo de dados de saída para cada um dos tipos de tarefa incorporados.

Amazon Textract Task Type Output Data

Quando você utiliza a integração incorporada do Amazon Textract, você verá 'AWS/Textract/AnalyzeDocument/Forms/V1' como o valor para awsManagedHumanLoopRequestSource nos seus dados de saída.

O parâmetro answerContent contém um objeto Block que inclui respostas humanas para todos os blocos enviados para o Amazon A2I.

O parâmetro aiServiceResponse também inclui um objeto Block com a resposta do Amazon Textract à solicitação original enviada usando para AnalyzeDocument.

Para saber mais sobre os parâmetros que você vê no objeto de bloco, consulte Bloquear no Guia do desenvolvedor do Amazon Textract.

A seguir está um exemplo dos dados de saída de uma revisão humana do Amazon Textract para análise de documentos no Amazon A2I.

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

Quando você utiliza a integração incorporada do Amazon Textract, você verá a string 'AWS/Rekognition/DetectModerationLabels/Image/V3' como o valor para awsManagedHumanLoopRequestSource nos seus dados de saída.

O parâmetro answerContent contém um objeto moderationLabels que contém respostas humanas para todos os blocos enviados para o Amazon A2I.

O parâmetro aiServiceResponse também inclui um objeto moderationLabels com a resposta do Amazon Rekognition à solicitação original enviada usando para DetectModerationLabels.

Para saber mais sobre os parâmetros que você vê no objeto de bloco, consulte o Guia do desenvolvedor ModerationLabeldo Amazon Rekognition.

A seguir está um exemplo dos dados de saída de uma revisão humana do Amazon Rekognition Image para inferências de moderação no Amazon A2I.

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

Dados de saída dos tipos de tarefas personalizadas

Quando você adiciona o Amazon A2I a um fluxo de trabalho de revisão humana personalizado, você verá os seguintes parâmetros nos dados de saída retornados das tarefas de revisão humana.

Parâmetro Tipo de valor Descrição

flowDefinitionArn

Cadeia de caracteres

O nome de recurso da Amazon (ARN) do fluxo de trabalho de revisão humana (definição do fluxo) usado para criar o loop humano.

humanAnswers

Lista de objetos JSON

Uma lista de objetos JSON que contêm respostas de operadores em answerContent. O valor desse parâmetro é determinado pela saída recebida do seu modelo de tarefa de trabalho.

Se você estiver usando uma força de trabalho privada, os metadados do operador serão incluídos. Para saber mais, consulte Monitore a atividade do operador.

humanLoopName

String O nome do loop humano.

inputContent

Objeto JSON

O conteúdo de entrada enviado para a Amazon A2I na solicitação para StartHumanLoop.

Veja a seguir um exemplo de dados de saída de uma integração personalizada com o Amazon A2I e o Amazon Transcribe. Neste exemplo, o inputContent consiste em:

  • Um caminho para um arquivo.mp4 no Amazon S3 e o título do vídeo

  • A transcrição retornada do Amazon Transcribe (analisada a partir dos dados de saída do Amazon Transcribe)

  • Um horário de início e término usado pelo modelo de tarefa do operador para recortar o arquivo.mp4 e mostrar aos operadores uma parte relevante do 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" } }

Monitore a atividade do operador

O Amazon A2I fornece informações que você pode usar para rastrear operadores individuais nos dados de saída da tarefa. Para identificar o funcionário que trabalhou na tarefa de revisão humana, use o seguinte dos dados de saída no Amazon S3:

  • acceptanceTime é a hora em que o operador aceitou a tarefa. O formato desse carimbo de data e hora é YYYY-MM-DDTHH:MM:SS.mmmZ para o ano (YYYY), mês (MM), dia (DD), hora (HH), minuto (MM), segundo (SS) e milissegundo (mmm). A data e a hora são separadas por um T.

  • submissionTime é a hora em que o operador enviou suas anotações usando o botão Enviar. O formato desse carimbo de data e hora é YYYY-MM-DDTHH:MM:SS.mmmZ para o ano (YYYY), mês (MM), dia (DD), hora (HH), minuto (MM), segundo (SS) e milissegundo (mmm). A data e a hora são separadas por um T.

  • O timeSpentInSeconds relata o tempo total, em segundos, em que um operador trabalhou ativamente nessa tarefa. Essa métrica não inclui o momento em que um trabalhador fez uma pausa ou fez uma pausa.

  • O workerId é exclusivo para cada operador.

  • Se você usa uma força de trabalho privada no workerMetadata, você vê o seguinte.

    • O serviço identityProviderType usado para gerenciar a força de trabalho privada.

    • O issuer é o grupo de usuários do Amazon Cognito ou o emissor do provedor de identidade (IdP) do OpenID Connect (OIDC) associado à equipe de trabalho designada para essa tarefa de revisão humana.

    • Um identificador exclusivo sub que se refere ao operador. Se você criar uma força de trabalho usando o Amazon Cognito, poderá recuperar detalhes sobre esse operador (como nome ou nome de usuário) associados a essa ID usando o Amazon Cognito. Para saber como, consulte Gerenciamento e pesquisa de contas de usuários no Guia do desenvolvedor do Amazon Cognito.

Veja a seguir um exemplo do resultado que você pode ver se usar o Amazon Cognito para criar uma força de trabalho privada. Isso é identificado no 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 seguir está um exemplo da saída que você pode ver se usar seu próprio provedor de identidade OpenID Connect (OIDC) para criar uma força de trabalho privada:

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

Para saber mais sobre como usar forças de trabalho privadas, consulte Usar uma força de trabalho privada.