Utilisation du schéma JSON pour les conditions d'activation de boucle humaine avec Amazon Textract - Amazon SageMaker

Utilisation du schéma JSON pour les conditions d'activation de boucle humaine avec Amazon Textract

Lorsqu'elle est utilisée avec Amazon A2I, l'opération AnalyzeDocument prend en charge les entrées suivantes dans le paramètre ConditionType :

  • ImportantFormKeyConfidenceCheck - Utilisez cette condition pour créer une boucle humaine lorsque la fiabilité d'inférence se situe dans une plage spécifiée pour les clés de formulaire de document et les blocs de mots. Une clé de formulaire est un mot dans un document, qui est associé à une entrée. L'entrée est appelée valeur. Ensemble, les clés de formulaire et les valeurs sont appelées paires clé-valeur. Un bloc de mots fait référence aux mots qui sont reconnus par Amazon Textract à l'intérieur d'un bloc de texte détecté. Pour en savoir plus sur les blocs de documents Amazon Textract, veuillez consulter Documents et objets de blocdans le guide du développeur Amazon Textract.

  • MissingImportantFormKey - Utilisez cette condition pour créer une boucle humaine lorsque Amazon Textract n'a pas identifié la clé ou ses alias associés dans le document.

  • Sampling - Utilisez cette condition pour spécifier un pourcentage de formulaires à soumettre à vérification humaine, indépendamment des scores de fiabilité d'inférence. Utilisez cette condition pour effectuer les opérations suivantes :

    • Auditer votre modèle ML en effectuant un échantillonnage aléatoire de tous les formulaires analysés par votre modèle et en soumettant un pourcentage spécifié à vérification humaine.

    • En utilisant la condition ImportantFormKeyConfidenceCheck, effectuez un échantillonnage aléatoire d'un pourcentage des inférences qui ont rempli les conditions spécifiées dans ImportantFormKeyConfidenceCheck pour démarrer une boucle humaine et soumettre à vérification humaine uniquement le pourcentage spécifié.

Note

Si vous envoyez la même demande à AnalyzeDocument plusieurs fois, le résultat de Sampling ne changera pas pour l'inférence de cette entrée. Par exemple, si vous effectuez une demande AnalyzeDocument une fois, et que Sampling n'initie pas de boucle humaine, les demandes suivantes adressées à AnalyzeDocument avec la même configuration n'initieront pas de boucle humaine.

ImportantFormKeyConfidenceCheck Entrées et résultats

Le ConditionType ImportantFormKeyConfidenceCheck prend en charge les ConditionParameters suivants :

  • ImportantFormKey - Chaîne représentant une clé d'une paire clé-valeur détectée par Amazon Textract, qui doit être vérifiée par des employés humains. Si la valeur de ce paramètre est la valeur spéciale passe-partout (*), toutes les clés sont alors considérées comme correspondant à la condition. Vous pouvez l'utiliser pour modéliser le cas où une paire clé-valeur quelconque satisfaisant à certains seuils de fiabilité nécessite une vérification humaine.

  • ImportantFormKeyAliases - Tableau qui représente d'autres orthographes ou équivalents logiques pour la clé de formulaire importante.

  • KeyValueBlockConfidenceEquals

  • KeyValueBlockConfidenceLessThan

  • KeyValueBlockConfidenceLessThanEquals

  • KeyValueBlockConfidenceGreaterThan

  • KeyValueBlockConfidenceGreaterThanEquals

  • WordBlockConfidenceEquals

  • WordBlockConfidenceLessThan

  • WordBlockConfidenceLessThanEquals

  • WordBlockConfidenceGreaterThan

  • WordBlockConfidenceGreaterThanEquals

Lorsque vous utilisez ConditionType ImportantFormKeyConfidenceCheck, Amazon A2I envoie les inférences de bloc clé-valeur et de bloc de mots des blocs clé-valeur, ainsi que les alias associés que vous avez spécifiés dans ImportantFormKey et ImportantFormKeyAliases pour vérification humaine.

Lors de la création d'une définition de flux, si vous utilisez le modèle de tâche d'employé par défaut fourni dans la section Human review workflows (Flux de vérification humaine) de la console Amazon SageMaker, les inférences de clé-valeur et de bloc envoyées pour vérification humaine par cette condition d'activation sont incluses dans l'interface utilisateur de l'employé. Si vous utilisez un modèle de tâche d'employé personnalisé, vous devez inclure l'élément {{ task.input.selectedAiServiceResponse.blocks }} de sorte à inclure les données d'entrée de valeur initiale (inférences) à partir d'Amazon Textract. Pour obtenir un exemple de modèle personnalisé utilisant cet élément d'entrée, veuillez consulter Exemple de modèle personnalisé pour Amazon Textract.

MissingImportantFormKey Entrées et résultats

Le ConditionType MissingImportantFormKey prend en charge les ConditionParameters suivants :

  • ImportantFormKey - Chaîne représentant une clé d'une paire clé-valeur détectée par Amazon Textract, qui doit être vérifiée par des employés humains.

  • ImportantFormKeyAliases - Tableau qui représente d'autres orthographes ou équivalents logiques pour la clé de formulaire importante.

Lorsque vous utilisez le ConditionType MissingImportantFormKey, si la clé dans ImportantFormKey ou les alias dans ImportantFormKeyAliases ne sont pas inclus dans l'inférence Amazon Textract, ce formulaire sera envoyé pour vérification humaine et aucune paire clé-valeur prévue ne sera incluse. Par exemple, si Amazon Textract a seulement identifié l'Address et le Phone dans un formulaire, mais pas le ImportantFormKey Name (dans le type de condition MissingImportantFormKey), ce formulaire serait envoyé pour vérification humaine sans aucune des clés de formulaire détectées (Address et Phone).

Si vous utilisez le modèle de tâche d'employé par défaut fourni dans la console SageMaker, une tâche sera créée demandant aux employés d'identifier la clé ImportantFormKey et la valeur associée. Si vous utilisez un modèle de tâche d'employé personnalisé, vous devez inclure l'élément HTML personnalisé <task.input.humanLoopContext> pour configurer cette tâche.

Entrées et résultats d'échantillonnage

Sampling ConditionType prend en charge RandomSamplingPercentage ConditionParameters. L'entrée pour RandomSamplingPercentage doit être un nombre réel compris entre 0,01 et 100. Ce nombre représente le pourcentage de données pouvant faire l'objet d'une vérification humaine et qui sont soumises à vérification humaine. Si vous utilisez la condition Sampling sans aucune autre condition, ce nombre représente le pourcentage de toutes les inférences obtenues par l'opération AnalyzeDocument à partir d'une seule demande qui sont soumises à vérification humaine.

Si vous spécifiez la condition Sampling sans autre type de condition, toutes les inférences de clé-valeur et de bloc sont soumises à vérification humaine.

Lors de la création d'une définition de flux, si vous utilisez le modèle de tâche d'employé par défaut fourni dans la section Human review workflows (Flux de vérification humaine) de la console SageMaker, toutes les inférences de clé-valeur et de bloc envoyées pour vérification humaine par cette condition d'activation sont incluses dans l'interface utilisateur d'employé. Si vous utilisez un modèle de tâche d'employé personnalisé, vous devez inclure l’élément {{ task.input.selectedAiServiceResponse.blocks }} de sorte à inclure les données d'entrée de valeur initiale (inférences) à partir d’Amazon Textract. Pour obtenir un exemple de modèle personnalisé utilisant cet élément d'entrée, veuillez consulter Exemple de modèle personnalisé pour Amazon Textract.

Exemples

Une seule condition doit avoir la valeur true pour initier une boucle humaine, mais Amazon A2I évalue en fait toutes les conditions pour chaque objet analysé par Amazon Textract. Les vérificateurs humains sont chargés de vérifier les clés de formulaire importantes pour toutes les conditions qui équivalaient à true.

Exemple 1 : détection des clés de formulaire importantes avec des indices de confiance figurant dans une plage spécifiée qui initient une boucle humaine

Voici un exemple de code JSON HumanLoopActivationConditions qui initie une boucle humaine si l'une quelconque des trois conditions suivantes est remplie :

  • L'API AnalyzeDocument Amazon Textract renvoie une paire clé-valeur dont la clé est l'un de Employee Name, Name ou EmployeeName, avec une fiabilité du bloc clé-valeur inférieure à 60 et une fiabilité de chaque bloc de mots composant la clé et la valeur inférieure à 85.

  • L'API AnalyzeDocument Amazon Textract renvoie une paire clé-valeur dont la clé est l'un de Pay Date, PayDate, DateOfPay ou pay-date, avec une fiabilité du bloc clé-valeur inférieure à 65 et une fiabilité de chaque bloc de mots composant la clé et la valeur inférieure à 85.

  • L'API AnalyzeDocument Amazon Textract renvoie une paire clé-valeur dont la clé est l'un de Gross Pay, GrossPay ou GrossAmount, avec une fiabilité du bloc clé-valeur inférieure à 60 et une fiabilité de chacun des blocs de mots composant la clé et la valeur inférieure à 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 } } ] }

Exemple 2 : utilisation de ImportantFormKeyConfidenceCheck

Dans l'exemple suivant, si Amazon Textract détecte une paire clé-valeur dont la fiabilité pour le bloc clé-valeur est inférieure à 60, et inférieure à 90 pour les blocs de mots sous-jacents, il crée une boucle humaine. Les vérificateurs humains sont chargés de vérifier toutes les paires clé-valeur de formulaire qui ont satisfait aux comparaisons des valeurs de fiabilité.

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

Exemple 3 : Utiliser l'échantillonnage

Dans l'exemple suivant, 5 % des inférences découlant d'une demande AnalyzeDocument Amazon Textract sont soumises à vérification humaine. Toutes les paires clé-valeur détectées renvoyées par Amazon Textract sont soumises à vérification humaine.

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

Exemple 4 : utilisation de MissingImportantFormKey

Dans l'exemple suivant, si Mailing Address ou son alias Mailing Address:, est absent des clés détectées par Amazon Textract, une vérification humaine est initiée. Lors de l'utilisation du modèle de tâche d'employé par défaut, l'interface utilisateur d'employé demande aux employés d'identifier la clé Mailing Address ou Mailing Address:, ainsi que sa valeur associée.

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

Exemple 5 : utilisation d'un échantillonnage et ImportantFormKeyConfidenceCheck avec l'opérateur And

Dans cet exemple, 5 % des paires clé-valeur détectées par Amazon Textract, dont la clé est l'un de Pay Date, PayDate, DateOfPay ou pay-date avec une fiabilité du bloc clé-valeur inférieure à 65 et les fiabilités de chacun des blocs de mots constituant la clé et la valeur inférieures à 85, sont soumises à vérification humaine.

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

Exemple 6 : utilisation d'un échantillonnage et ImportantFormKeyConfidenceCheck avec l'opérateur And

Utilisez cet exemple pour configurer votre flux de vérification humaine afin qu'il envoie toujours des inférences de faible fiabilité d'une paire clé-valeur spécifiée pour une vérification humaine et un échantillon d'inférence de haute fiabilité d'une paire clé-valeur à un taux spécifié.

Dans l'exemple suivant, une vérification humaine est initiée de l'une des manières suivantes :

  • Les paires clé-valeur détectées, dont la clé est l'un de Pay Date, PayDate, DateOfPay ou pay-date, avec des valeurs de fiabilité de clé-valeur et de bloc de mots inférieures à 60, sont soumises à vérification humaine. Seule la clé de formulaire Pay Date (et ses alias), ainsi que les valeurs associées, sont soumises à vérification humaine.

  • 5 % des paires clé-valeur détectées dont la clé est l'un de Pay Date, PayDate, DateOfPay ou pay-date, avec des valeurs de fiabilité de clé-valeur et de bloc de mots supérieures à 90, sont soumises à vérification humaine. Seule la clé de formulaire Pay Date (et ses alias), ainsi que les valeurs associées, sont soumises à vérification humaine.

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

Exemple 7 : utilisation d'un échantillonnage et ImportantFormKeyConfidenceCheck avec l'opérateur Or

Dans l'exemple suivant, l'opération AnalyzeDocument Amazon Textract renvoie une paire clé-valeur, dont la clé est l'un de Pay Date, PayDate, DateOfPay ou pay-date, avec une fiabilité du bloc clé-valeur inférieure à 65 et les fiabilités de chacun des blocs de mots composant la clé et la valeur inférieures à 85. De plus, 5 % de tous les autres formulaires initient une boucle humaine. Pour chaque formulaire choisi au hasard, toutes les paires clé-valeur détectées pour ce formulaire sont soumises à vérification humaine.

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