Amazon A2I 输出数据 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon A2I 输出数据

当您的机器学习工作流程发送Amazon A2I数据对象时,将创建一个人工循环,并且人工审核者会收到一个任务以审核该数据对象。每个人工审核任务的输出数据存储在您在人工审核工作流程中指定的 Amazon Simple Storage Service (Amazon S3) 输出存储桶中。数据路径使用以下模式,其中 YYYY/MM/DD/hh/mm/ss 用年 (YYYY)、月 (MM) 和日 (DD) 表示人工循环创建日期,以及用小时 (hh)、分钟 (mm) 和秒 (ss) 表示创建时间。

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

输出数据的内容取决于您使用的任务类型(内置或自定义)和人力类型。您的输出数据始终包含来自工作人员的响应。此外,输出数据还可能包括有关人工循环、人工审核者(工作人员)和数据对象的元数据。

可以使用以下部分了解有关不同任务类型和人力Amazon A2I的输出数据格式的更多信息。

来自内置任务类型的输出数据

Amazon A2I 内置任务类型包括 Amazon Textract 和 Amazon Rekognition。除了人工响应之外,这些任务之一的输出数据还包括有关创建人工循环的原因的详细信息以及有关用于创建人工循环的集成服务的信息。可以使用下表了解有关所有内置任务类型的输出数据架构的更多信息。每个这些参数的值取决于您用于 的服务Amazon A2I。有关这些特定于服务的值的更多信息,请参阅此部分中的第二个表。

参数 值类型 示例值 描述
awsManagedHumanLoopRequestSource

字符串

AWS/Rekognition/DetectModerationLabels/Image/V3AWS/Textract/AnalyzeDocument/Forms/V1 API 操作和 请求Amazon A2I创建人工循环的关联 AWS 服务。这是您用于配置Amazon A2I人工循环的 API 操作。
flowDefinitionArn

字符串

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

用于创建人工循环的人工审核工作流程(流定义)的 Amazon 资源编号 (ARN)。

humanAnswers

JSON 对象列表

{ "answerContent": { "AWS/Rekognition/DetectModerationLabels/Image/V3": { "moderationLabels": [...] } },
{ "answerContent": { "AWS/Textract/AnalyzeDocument/Forms/V1": { "blocks": [...] } },
包含 中的工作线程响应的 JSON 对象的列表answerContent

此对象还包含提交详细信息,如果使用了私有人力,还包含工作人员元数据。要了解更多信息,请参阅“跟踪工作人员活动”。

对于从 生成的人工循环输出数据Amazon Rekognition,DetectModerationLabel查看任务,此参数仅包含正向响应。例如,如果工作人员选择 No content (无内容),则不包含此响应。

humanLoopName

字符串

'human-loop-name'

人工循环的名称。
inputContent

JSON 对象

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

AWS 服务在请求创建人工循环Amazon A2I时发送到 的输入内容。

aiServiceRequest

JSON 对象

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

发送到与 集成的 AWS 服务的原始请求Amazon A2I。例如,如果您将 Amazon Rekognition 与 结合使用Amazon A2I,则这包括通过 API 操作 发出的请求DetectModerationLabels。对于 Amazon Textract 集成,这包括通过 发出的请求AnalyzeDocument

aiServiceResponse

JSON 对象

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

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

来自 AWS 服务的完整响应。这是用于确定是否需要人工审核的数据。此对象可能包含有关未与人工审查者共享的数据对象的元数据。

selectedAiServiceResponse

JSON 对象

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

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

aiServiceResponse 与 中的激活条件匹配的 的子集ActivationConditions

当对推理进行随机采样或所有推理触发的激活条件aiServiceResponse时, 中列出的所有数据对象selectedAiServiceResponse都将在 中列出。

humanTaskActivationConditionResults

JSON 对象

{ "Conditions": [...] }

中的一个 JSON 对象inputContent,其中包含创建人工循环的原因。这包括人工审核工作流(流定义)中包含的激活条件 (Conditions) 的列表,每个条件的–评估结果此结果为 truefalse。要了解有关激活条件的更多信息,请参阅Amazon Augmented AI 中用于人工循环激活条件的 JSON 架构

选择下表中的选项卡以了解特定于任务类型的参数,并查看每种内置任务类型的示例 output-data 代码块。

Amazon Textract Task Type Output Data

使用Amazon Textract内置集成时,您会在输出数据'AWS/Textract/AnalyzeDocument/Forms/V1'中看到 awsManagedHumanLoopRequestSource 作为 的值。

answerContent 参数包含一个 Block 对象,其中包含发送到 的所有数据块的人工响应Amazon A2I。

aiServiceResponse 参数还包括一个 Block 对象Amazon Textract,该对象包含 对使用 发送到 的原始请求的响应AnalyzeDocument

要了解有关您在数据块对象中看到的参数的更多信息,请参阅 中的数据块Amazon Textract 开发人员指南。

以下是来自 Amazon A2I 文档分析推理的 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": "", "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

使用Amazon Textract内置集成时,您会看到字符串'AWS/Rekognition/DetectModerationLabels/Image/V3'作为输出数据awsManagedHumanLoopRequestSource中 的值。

answerContent 参数包含一个 moderationLabels 对象,其中包含发送到 的所有审核标签的人工响应Amazon A2I。

aiServiceResponse 参数还包括一个 moderationLabels 对象Amazon Rekognition,其中包含 对发送到 的原始请求的响应DetectModerationLabels

要了解有关您在数据块对象中看到的参数的更多信息,请参阅 中的 ModerationLabelAmazon Rekognition 开发人员指南。

以下是 Amazon A2I 图像审核推理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": "", "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" } } }

来自自定义任务类型的输出数据

将 Amazon A2I 添加到自定义人工审核工作流程时,您会在从人工审核任务返回的输出数据中看到以下参数。

参数 值类型 描述

flowDefinitionArn

字符串

用于创建人工循环的人工审核工作流程(流定义)的 Amazon 资源编号 (ARN)。

humanAnswers

JSON 对象列表

包含 中的工作线程响应的 JSON 对象的列表answerContent。此参数中的值由从工作人员任务模板收到的输出决定。

如果使用私有人力,则包含工作人员元数据。要了解更多信息,请参阅“跟踪工作人员活动”。

humanLoopName

字符串 人工循环的名称。

inputContent

JSON 对象

发送到 的请求Amazon A2I中的 的输入内容StartHumanLoop

以下是与 Amazon A2I 和 的自定义集成的输出数据示例Amazon Transcribe。在此示例中, inputContent 包含:

  • 中 mp4 文件的路径Amazon S3和视频标题

  • 从 返回的转录Amazon Transcribe(从Amazon Transcribe输出数据解析)

  • 工作人员任务模板用于剪辑 mp4 文件的开始和结束时间,并向工作人员显示视频的相关部分

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

跟踪工作人员活动

Amazon A2I 提供可用于跟踪任务输出数据中各个工作人员的信息。要标识处理人工审核任务的工作线程,请使用来自 中的输出数据的以下内容Amazon S3:

  • acceptanceTime 是工作人员接受任务的时间。此日期和时间戳的格式YYYY-MM-DDTHH:MM:SS.mmmZ为年 (YYYY)、月 (MM)、日 (DD)、小时 (HH)、分钟 (MM)、秒 (SS) 和毫秒 (mmm)。日期和时间由 T 分隔。

  • submissionTime 是工作人员使用 Submit (提交) 按钮提交注释的时间。此日期和时间戳的格式YYYY-MM-DDTHH:MM:SS.mmmZ为年 (YYYY)、月 (MM)、日 (DD)、小时 (HH)、分钟 (MM)、秒 (SS) 和毫秒 (mmm)。日期和时间由 T 分隔。

  • timeSpentInSeconds 报告工作人员主动处理该任务的总时间(以秒为单位)。此指标不包括工作人员暂停或休息的时间。

  • workerId 对于每个工作人员都是唯一的。

  • 如果您使用私有人力,请在 中workerMetadata看到以下内容。

    • identityProviderType 是用于管理私有人力的服务。

    • issuer 是与分配给此人工审核任务的工作团队关联的 Cognito 用户池或 OIDC 身份提供商 (IdP) 发布者。

    • sub 唯一标识符是指工作程序。如果您使用 创建人力Amazon Cognito,则可以使用 使用此 ID 检索有关此工作线程的详细信息(如名称或用户名Amazon Cognito)。要了解如何操作,请参阅在 中管理和搜索用户账户Amazon Cognito 开发者指南

以下是您使用 创建Amazon Cognito私有人力时可能看到的输出示例。这在 中确定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" } }

以下是使用您自己的 OIDC IdP 创建私有人力时可能看到的输出的示例:

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

要了解有关使用私有人力的更多信息,请参阅使用私有人力