将人工循环激活条件 JSON 架构与 Amazon Textract 结合使用 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

将人工循环激活条件 JSON 架构与 Amazon Textract 结合使用

与 Amazon A2I 一起使用时,AnalyzeDocument 操作支持 ConditionType 参数中的以下输入:

  • ImportantFormKeyConfidenceCheck – 对于文档表单键和单词块,当推理置信度在指定范围内时,使用此条件创建人工循环。表单键 是文档中与输入关联的任何单词。输入称为。表单键和值一起称为键/值对单词块 是指 Amazon Textract 在检测的文本块内识别的单词。要了解有关Amazon Textract文档块的更多信息,请参阅 https://docs.amazonaws.cn/textract/latest/dg/how-it-works-document-layout.html 中的Amazon Textract 开发人员指南文档和数据块对象

  • MissingImportantFormKey – 使用此条件可在 Textract 未在文档中标识键或其关联的别名时创建人工循环。

  • Sampling – 使用此条件指定发送进行人工审核的表单百分比,而不考虑推理置信度得分。使用此条件来执行以下操作:

    • 通过对模型分析的所有表单随机抽样并发送指定百分比的表单进行人工审核,对 ML 模型进行审计。

    • 使用 ImportantFormKeyConfidenceCheck 条件随机抽样满足 ImportantFormKeyConfidenceCheck 中指定的条件的一定百分比的推理以启动人工循环,并仅发送指定的百分比进行人工审核。

注意

如果您向 AnalyzeDocument 多次发送同一请求,则该输入的推理的 Sampling 结果不会更改。例如,如果您发出一次 AnalyzeDocument 请求,并且 Sampling 未触发 HumanLoop,则以后发送给 AnalyzeDocument 的具有相同配置的请求将不会触发人工循环。

ImportantFormKeyConfidenceCheck 输入和结果

ImportantFormKeyConfidenceCheck ConditionType 支持以下 ConditionParameters

  • ImportantFormKey – 一个字符串,表示 Amazon Textract 检测到的键/值对中的键,该键需要人工审核。如果此参数的值是包罗万象的特殊值 (*),则所有键都被视为与条件匹配。您可以使用此项,对满足特定置信度阈值的任何键/值对都需要人工审核的情况进行建模。

  • ImportantFormKeyAliases – 表示重要表单键的替代拼写或逻辑等效物的数组。

  • KeyValueBlockConfidenceEquals

  • KeyValueBlockConfidenceLessThan

  • KeyValueBlockConfidenceLessThanEquals

  • KeyValueBlockConfidenceGreaterThan

  • KeyValueBlockConfidenceGreaterThanEquals

  • WordBlockConfidenceEquals

  • WordBlockConfidenceLessThan

  • WordBlockConfidenceLessThanEquals

  • WordBlockConfidenceGreaterThan

  • WordBlockConfidenceGreaterThanEquals

当您使用 ImportantFormKeyConfidenceCheck ConditionType 时,Amazon A2I 发送键/值块和键/值块的单词块推理,以及您在 ImportantFormKeyImportantFormKeyAliases 中指定的关联别名供人工审核。

在创建流定义时,如果您使用控制台的 Human reviewAmazon SageMaker workflows (人工审核工作流程) 部分中提供的默认工作人员任务模板,则通过此激活条件发送的供人工审核的键值和块推理将包含在工作人员 UI 中。如果您使用自定义工作人员任务模板,则需要包含 {{ task.input.selectedAiServiceResponse.blocks }} 元素以包含来自 Amazon Textract 的初始值输入数据(推理)。有关使用此输入元素的自定义模板的示例,请参阅Amazon Textract 的自定义模板示例

MissingImportantFormKey 输入和结果

MissingImportantFormKey ConditionType 支持以下 ConditionParameters

  • ImportantFormKey – 一个字符串,表示 Amazon Textract 检测到的键/值对中的键,该键需要人工审核。

  • ImportantFormKeyAliases – 表示重要表单键的替代拼写或逻辑等效物的数组。

在使用 MissingImportantFormKey ConditionType 时,如果 ImportantFormKey 中的键或 ImportantFormKeyAliases 中的别名未包含在 Amazon Textract 推理中,则将发送表单以进行人工审查,并且将不包含任何预测的键值对。例如,如果 Amazon Textract 仅标识表单中的 AddressPhone,但缺少 ImportantFormKey Name(在 MissingImportantFormKey 条件类型中),则将发送表单以进行人工审查,而不包含任何检测到的表单键(AddressPhone)。

如果您使用 SageMaker 控制台中提供的默认工作人员任务模板,则将创建一个任务,要求工作人员标识 ImportantFormKey 中的键和关联值。如果您使用自定义工作人员任务模板,则需要包含 <task.input.humanLoopContext> 自定义 HTML 元素以配置此任务。

采样输入和结果

Sampling ConditionType 支持 RandomSamplingPercentage ConditionParametersRandomSamplingPercentage 的输入必须是 0.01 到 100 之间的实数。此数字表示符合人工审核条件并将发送进行人工审核的数据百分比。如果您在不使用任何其他条件的情况下使用 Sampling 条件,则此数字表示单个请求中的 AnalyzeDocument 操作的所有推理中,发送供人工审核的百分比。

如果您指定 Sampling 条件而没有任何其他条件类型,则所有键/值和块推理都会发送给工作人员审核。

在创建流定义时,如果您使用控制台的 Human reviewSageMaker workflows (人工审核工作流程) 部分中提供的默认工作人员任务模板,则通过此激活条件发送供人工审核的所有键值和数据块推理都将包含在工作人员 UI 中。如果您使用自定义工作人员任务模板,则需要包含 {{ task.input.selectedAiServiceResponse.blocks }} 元素以包含来自 Amazon Textract 的初始值输入数据(推理)。有关使用此输入元素的自定义模板的示例,请参阅Amazon Textract 的自定义模板示例

Examples

虽然只有一个条件需要评估为 true 即可触发人工循环,但 Amazon A2I 将评估 Amazon Textract 分析的每个对象的所有条件。人工审查者被要求审查评估为 true 的所有条件的重要表单键。

示例 1:检测置信度在指定范围内将触发 HumanLoop 的重要表单键

下面是一个 HumanLoopActivationConditions JSON 示例,如果满足以下三个条件中的任何一个,则触发 HumanLoop:

  • Textract AnalyzeDocument API 返回一个键值对,其键是 Employee NameNameEmployeeName 中的一个,键值块的置信度小于 60,组成键和值的每个单词块的置信度小于 85。

  • Textract AnalyzeDocument API 返回一个键值对,其键是 Pay DatePayDateDateOfPaypay-date 中的一个,键值块的置信度小于 65,组成键和值的每个单词块的置信度小于 85。

  • Textract AnalyzeDocument API 返回一个键值对,其键是 Gross PayGrossPayGrossAmount 中的一个,键值块的置信度小于 60,组成键和值的每个单词块的置信度小于 85。

{ "Conditions": [ { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "Employee Name", "ImportantFormKeyAliases": [ "Name", "EmployeeName" ], "KeyValueBlockConfidenceLessThan": 60, "WordBlockConfidenceLessThan": 85 } }, { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "Pay Date", "ImportantFormKeyAliases": [ "PayDate", "DateOfPay", "pay-date" ], "KeyValueBlockConfidenceLessThan": 65, "WordBlockConfidenceLessThan": 85 } }, { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "Gross Pay", "ImportantFormKeyAliases": [ "GrossPay", "GrossAmount" ], "KeyValueBlockConfidenceLessThan": 60, "WordBlockConfidenceLessThan": 85 } } ] }

示例 2:使用 ImportantFormKeyConfidenceCheck

在以下示例中,如果 Amazon Textract 检测到某个键/值对,其置信度低于 60,并且基础单词块的置信度低于 90,则会创建 HumanLoop。人工审查者被要求审查与置信值比较公式匹配的所有表单键值对。

{ "Conditions": [ { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "*" "KeyValueBlockConfidenceLessThan": 60, "WordBlockConfidenceLessThan": 90 } } ] }

示例 3:使用采样

在以下示例中,将 Amazon Textract AnalyzeDocument 请求得出的 5% 的推理发送给工作人员进行审查。Amazon Textract 返回的所有检测的键/值对将发送到工作人员进行审核。

{ "Conditions": [ { "ConditionType": "Sampling", "ConditionParameters": { "RandomSamplingPercentage": 5 } } ] }

示例 4:使用 MissingImportantFormKey

在以下示例中,如果 Mailing Address 检测到的键中缺少 Mailing Address: 或其别名 Amazon Textract,则将触发人工审查。在使用默认工作人员任务模板时,工作人员 UI 将要求工作人员标识键 Mailing AddressMailing Address: 及其关联值。

{ "ConditionType": "MissingImportantFormKey", "ConditionParameters": { "ImportantFormKey": "Mailing Address", "ImportantFormKeyAliases": ["Mailing Address:"] } }

示例 5:将抽样和 ImportantFormKeyConfidenceCheck 与 And 运算符一起使用

在此示例中,将 Amazon Textract 所检测的满足下列条件的 5% 的键/值对发送给工作人员进行审查:其键为 Pay DatePayDateDateOfPaypay-date 之一,键/值块的置信度小于 65,组成键和值的每个单词块的置信度小于 85。

{ "Conditions": [ { "And": [ { "ConditionType": "Sampling", "ConditionParameters": { "RandomSamplingPercentage": 5 } }, { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "Pay Date", "ImportantFormKeyAliases": [ "PayDate", "DateOfPay", "pay-date" ], "KeyValueBlockConfidenceLessThan": 65, "WordBlockConfidenceLessThan": 85 } } ] } ] }

示例 6:将抽样和 ImportantFormKeyConfidenceCheck 与 And 运算符一起使用

使用此示例可以配置人工审核工作流,始终将指定键/值对的低置信度推理发送进行人工审核,并按指定比率抽样键/值对的高置信度推理。

在以下示例中,通过以下方式之一触发人工审核:

  • 对于键/值对,在检测到其键是 Pay DatePayDateDateOfPaypay-date 之一,且键/值和单词块置信度低于 60 时,将发送工人工审核。仅将 Pay Date 表单键(及其别名)和关联值发送给工作人员进行审查。

  • 将检测到的满足下列条件的 5% 的键/值对发送给工作人员进行审查:其键是 Pay DatePayDateDateOfPaypay-date 之一,且键/值和单词块置信度大于 90。仅将 Pay Date 表单键(及其别名)和关联值发送给工作人员进行审查。

{ "Conditions": [ { "Or": [ { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "Pay Date", "ImportantFormKeyAliases": [ "PayDate", "DateOfPay", "pay-date" ], "KeyValueBlockConfidenceLessThan": 60, "WordBlockConfidenceLessThan": 60 } }, { "And": [ { "ConditionType": "Sampling", "ConditionParameters": { "RandomSamplingPercentage": 5 } }, { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "Pay Date", "ImportantFormKeyAliases": [ "PayDate", "DateOfPay", "pay-date" ], "KeyValueBlockConfidenceLessThan": 90 "WordBlockConfidenceGreaterThan": 90 } } ] } ] } ] }

示例 7:将抽样和 ImportantFormKeyConfidenceCheck 与 Or 运算符一起使用

在以下示例中,Amazon Textract AnalyzeDocument 操作返回一个键/值对,其键是 Pay DatePayDateDateOfPaypay-date 中的一个,键/值块的置信度小于 65,组成键和值的每个单词块的置信度小于 85。此外,所有其他表单中有 5% 的表单将触发人工循环。对于随机选择的每个表单,为该表单检测到的所有键值对都将发送给人员进行审查。

{ "Conditions": [ { "Or": [ { "ConditionType": "Sampling", "ConditionParameters": { "RandomSamplingPercentage": 5 } }, { "ConditionType": "ImportantFormKeyConfidenceCheck", "ConditionParameters": { "ImportantFormKey": "Pay Date", "ImportantFormKeyAliases": [ "PayDate", "DateOfPay", "pay-date" ], "KeyValueBlockConfidenceLessThan": 65, "WordBlockConfidenceLessThan": 85 } } } ] } ] }