创建人工审核工作流程 (API) - Amazon Textract

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

创建人工审核工作流程 (API)

您可以创建人工审核工作流程,或流定义使用 Amazon A2I,CreateFlowDefinitionoperation.

在此示例中,您可以在 Amazon S3 中使用自己的文档,也可以下载此示例文档然后将其存储在 S3 存储桶中。

确保您的 Amazon S3 存储桶位于同一位置AWS你计划用来调用的区域AnalyzeDocument. 要创建存储桶,请按照中的说明操作创建存储桶中的Amazon Storage Service 控制台用户指南.

先决条件

要使用 Amazon A2I API 创建人工审核工作流程,您必须完成以下先决条件:

  • 配置 IAM 角色,同时调用 Amazon A2I 和 Amazon Textract API 操作的权限。要开始使用,您可以将 AWS 策略、AmazonAugmentedAIFullAccess 和 AmazonTextractFullAccess 附加到 IAM 角色。记录 IAM 角色 Amazon 资源名称 (ARN),以后您将需要它。

    有关使用 Amazon Textract 时的更精细的权限,请参阅Amazon Textract 基于身份的策略示例. 对于 Amazon A2I,请参阅Amazon Advanced Augmented AI 中的权限和安全性中的Amazon SageMaker 开发人员指南.

  • 创建一个私人工作团队并记录工作组 ARN。如果您是 Amazon A2I 的新用户,请按照中的说明进行操作。第 1 步:创建工作团队(控制台).

  • 创建工作人员任务模板。按照中的说明进行操作创建工作线程任务模板以使用 Amazon A2I 控制台创建模板。在创建模板时,选择提取形式提取为了模板类型. 在模板中,替换s3_arn将与您的文档的 Amazon S3 ARN 结合在一起。在中添加其他员工说明<full-instructions header="Instructions"></full-instructions>.

    如果您要预览模板,请确保您的 IAM 角色具有中介绍的权限。启用工作人员任务模板预览.

    创建模板后,记录工作人员任务模板 ARN。

您使用在中创建的资源先决条件配置CreateFlowDefinition请求. 在此请求中,您还要指定 JSON 格式的激活条件。要了解如何配置激活条件,请参阅将人工循环激活条件 JSON 架构与 Amazon Textract 一起使用.

创建人工审核工作流程(适用于 Python 的 AWS 开发工具包 (Boto3))

要使用此示例,请替换红色将文本包含您的规范和资源。

首先,使用以下代码将激活条件编码为 JSON 对象。如果 Amazon Textract 返回的信心分数低于 99,则会触发人工评论邮寄地址及其值,或者如果文档中检测到的任何键值对返回的置信度分数低于 90。如果您使用本示例中提供的示例文档,则这些激活条件将创建人工审阅任务。

import json humanLoopActivationConditions = json.dumps("{ "Conditions": [ { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "Mail Address", "KeyValueBlockConfidenceLessThan": 99, "WordBlockConfidenceLessThan": 99 } }, { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "*", "KeyValueBlockConfidenceLessThan": 90, "WordBlockConfidenceLessThan": 90 } } ] }" )

使用humanLoopActivationConditions要配置create_flow_definition请求. 以下示例使用 SDK for Python (Boto3) 调用create_flow_definition在 us-west-2 区 AWS 中。它指定使用私有工作团队。

response = client.create_flow_definition( FlowDefinitionName='string', HumanLoopRequestSource={ 'AwsManagedHumanLoopRequestSource': "AWS/Textract/AnalyzeDocument/Forms/V1" }, HumanLoopActivationConfig={ 'HumanLoopActivationConditionsConfig': { 'HumanLoopActivationConditions': humanLoopActivationConditions } }, HumanLoopConfig={ 'WorkteamArn': "arn:aws:sagemaker:us-west-2:111122223333:workteam/private-crowd/work-team-name", 'HumanTaskUiArn': "arn:aws:sagemaker:us-west-2:111122223333:human-task-ui/worker-task-template-name", 'TaskTitle': "Add a task title", 'TaskDescription': "Describe your task", 'TaskCount': 1, 'TaskAvailabilityLifetimeInSeconds': 3600, 'TaskTimeLimitInSeconds': 86400, 'TaskKeywords': ["Document Review", "Content Review"] } }, OutputConfig={ 'S3OutputPath': "s3://DOC-EXAMPLE-BUCKET/prefix/", }, RoleArn="arn:aws:iam::111122223333:role/role-name" )