Personnalisez les règles métier pour un traitement intelligent des documents grâce à l'examen humain et à la visualisation BI PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Personnalisez les règles métier pour un traitement intelligent des documents avec une révision humaine et une visualisation BI

Une quantité massive de documents commerciaux sont traités quotidiennement dans tous les secteurs. Beaucoup de ces documents sont sur papier, numérisés dans votre système sous forme d'images ou dans un format non structuré tel que PDF. Chaque entreprise peut appliquer des règles uniques associées à son expérience commerciale lors du traitement de ces documents. Comment extraire des informations avec précision et les traiter de manière flexible est un défi auquel de nombreuses entreprises sont confrontées.

Amazon Intelligent Document Processing (IDP) vous permet de tirer parti de la technologie d'apprentissage automatique (ML) à la pointe de l'industrie sans expérience préalable en ML. Cet article présente une solution incluse dans le Atelier Amazon IDP montrant comment traiter des documents pour servir des règles commerciales flexibles à l'aide des services Amazon AI. Vous pouvez utiliser l'étape par étape suivante Carnet Jupyter pour compléter le laboratoire.

Extrait d'Amazon vous aide à extraire facilement du texte de divers documents, et IA augmentée d'Amazon (Amazon A2I) vous permet de mettre en œuvre un examen humain des prédictions ML. Le modèle Amazon A2I par défaut vous permet de créer un pipeline d'examen humain basé sur des règles, par exemple lorsque le score de confiance d'extraction est inférieur à un seuil prédéfini ou que des clés requises sont manquantes. Mais dans un environnement de production, vous avez besoin du pipeline de traitement de documents pour prendre en charge des règles métier flexibles, telles que la validation du format de chaîne, la vérification du type et de la plage de données et la validation des champs dans les documents. Cet article montre comment vous pouvez utiliser Amazon Textract et Amazon A2I pour personnaliser un pipeline de traitement de documents générique prenant en charge des règles commerciales flexibles.

Vue d'ensemble de la solution

Pour notre exemple de solution, nous utilisons le Formulaire d'impôt 990, un formulaire de l'IRS (Internal Revenue Service) des États-Unis qui fournit au public des informations financières sur une organisation à but non lucratif. Pour cet exemple, nous ne couvrons que la logique d'extraction de certains champs de la première page du formulaire. Vous trouverez d'autres exemples de documents sur le Site de l'IRS.

Le diagramme suivant illustre le pipeline IDP qui prend en charge les règles métier personnalisées avec examen humain.

L'architecture est composée de trois étapes logiques :

  • extraction – Extrayez les données du formulaire fiscal 990 (nous utilisons la page 1 comme exemple).
    • Récupérer un échantillon d'image stocké dans un Service de stockage simple Amazon (Amazon S3) seau.
    • Appelez l'API analyse_document d'Amazon Textract à l'aide de Requêtes fonctionnalité pour extraire le texte de la page.
  • Validation – Appliquez des règles commerciales flexibles avec un examen humain dans la boucle.
    • Validez les données extraites par rapport aux règles métier, telles que la validation de la longueur d'un champ ID.
    • Envoyez le document à Amazon A2I pour qu'un humain l'examine si des règles commerciales échouent.
    • Les réviseurs utilisent l'interface utilisateur Amazon A2I (un site Web personnalisable) pour vérifier le résultat de l'extraction.
  • Visualisation BI - Nous utilisons Amazon QuickSight pour créer un tableau de bord d'intelligence d'affaires (BI) montrant les informations sur les processus.

Personnaliser les règles métier

Vous pouvez définir une règle métier générique au format JSON suivant. Dans l'exemple de code, nous définissons trois règles :

  • La première règle concerne le champ ID employeur. La règle échoue si le score de confiance d'Amazon Textract est inférieur à 99 %. Pour cet article, nous avons défini un seuil de score de confiance élevé, qui se brisera par conception. Vous pouvez ajuster le seuil à une valeur plus raisonnable pour réduire les efforts humains inutiles dans un environnement réel, par exemple 90 %.
  • La deuxième règle concerne le champ DLN (l'identifiant unique du formulaire fiscal), qui est requis pour la logique de traitement en aval. Cette règle échoue si le champ DLN est manquant ou a une valeur vide.
  • La troisième règle concerne également le champ DLN mais avec un type de condition différent : LengthCheck. La règle est rompue si la longueur du DLN n'est pas de 16 caractères.

Le code suivant montre nos règles métier au format JSON :

rules = [
    {
        "description": "Employee Id confidence score should greater than 99",
        "field_name": "d.employer_id",
        "field_name_regex": None, # support Regex: "_confidence$",
        "condition_category": "Confidence",
        "condition_type": "ConfidenceThreshold",
        "condition_setting": "99",
    },
    {
        "description": "dln is required",
        "field_name": "dln",
        "condition_category": "Required",
        "condition_type": "Required",
        "condition_setting": None,
    },
    {
        "description": "dln length should be 16",
        "field_name": "dln",
        "condition_category": "LengthCheck",
        "condition_type": "ValueRegex",
        "condition_setting": "^[0-9a-zA-Z]{16}$",
    }
]

Vous pouvez étendre la solution en ajoutant d'autres règles métier suivant la même structure.

Extraire du texte à l'aide d'une requête Amazon Textract

Dans l'exemple de solution, nous appelons l'API analyse_document d'Amazon Textract question fonctionnalité pour extraire des champs en posant des questions spécifiques. Vous n'avez pas besoin de connaître la structure des données dans le document (tableau, formulaire, champ implicite, données imbriquées) ni de vous soucier des variations entre les versions et les formats du document. Les requêtes utilisent une combinaison d'indices visuels, spatiaux et linguistiques pour extraire les informations que vous recherchez avec une grande précision.

Pour extraire la valeur du champ DLN, vous pouvez envoyer une requête avec des questions en langage naturel, telles que "Qu'est-ce que le DLN ?" Amazon Textract renvoie le texte, la confiance et d'autres métadonnées s'il trouve des informations correspondantes sur l'image ou le document. Voici un exemple de demande de requête Amazon Textract :

textract.analyze_document(
        Document={'S3Object': {'Bucket': data_bucket, 'Name': s3_key}},
        FeatureTypes=["QUERIES"],
        QueriesConfig={
                'Queries': [
                    {
                        'Text': 'What is the DLN?',
                       'Alias': 'The DLN number - unique identifier of the form'
                    }
               ]
        }
)

Définir le modèle de données

L'exemple de solution construit les données dans un format structuré pour servir l'évaluation de la règle métier générique. Pour conserver les valeurs extraites, vous pouvez définir un modèle de données pour chaque page de document. L'image suivante montre comment le texte de la page 1 correspond aux champs JSON.Modèle de données personnalisé

Chaque champ représente le texte, la case à cocher ou la cellule de tableau/formulaire d'un document sur la page. L'objet JSON ressemble au code suivant :

{
    "dln": {
        "value": "93493319020929",
        "confidence": 0.9765, 
        "block": {} 
    },
    "omb_no": {
        "value": "1545-0047",
        "confidence": 0.9435,
        "block": {}
    },
    ...
}

Vous pouvez trouver la définition détaillée de la structure JSON dans le GitHub repo.

Évaluer les données par rapport aux règles métier

L'exemple de solution est fourni avec une classe Condition, un moteur de règles génériques qui prend les données extraites (telles que définies dans le modèle de données) et les règles (telles que définies dans les règles métier personnalisées). Il renvoie deux listes avec des conditions échouées et satisfaites. Nous pouvons utiliser le résultat pour décider si nous devons envoyer le document à Amazon A2I pour examen humain.

Le code source de la classe Condition est dans l'exemple GitHub repo. Il prend en charge la logique de validation de base, telle que la validation de la longueur, de la plage de valeurs et du seuil de score de confiance d'une chaîne. Vous pouvez modifier le code pour prendre en charge davantage de types de conditions et une logique de validation complexe.

Créer une interface utilisateur Web Amazon A2I personnalisée

Amazon A2I vous permet de personnaliser l'interface utilisateur Web du réviseur en définissant un modèle de tâche de travailleur. Le modèle est une page Web statique en HTML et JavaScript. Vous pouvez transmettre des données à la page de réviseur personnalisée à l'aide de la Liquide syntaxe.

Dans la solution d'échantillon, le modèle d'interface utilisateur Amazon A2I personnalisé affiche la page à gauche et les conditions de défaillance à droite. Les réviseurs peuvent l'utiliser pour corriger la valeur d'extraction et ajouter leurs commentaires.

La capture d'écran suivante montre notre interface utilisateur Amazon A2I personnalisée. Il affiche le document image d'origine à gauche et les conditions d'échec suivantes à droite :

  • Les numéros DLN doivent comporter 16 caractères. Le DLN réel comporte 15 caractères.
  • Le score de confiance de employer_id est inférieur à 99 %. Le score de confiance réel est d'environ 98 %.

Les réviseurs peuvent vérifier manuellement ces résultats et ajouter des commentaires dans le CHANGEMENT DE RAISON zones de texte.Interface utilisateur d'examen A2I personnalisée

Pour plus d'informations sur l'intégration d'Amazon A2I dans n'importe quel flux de travail ML personnalisé, consultez plus de 60 modèles de travail prédéfinis sur le dépôt GitHub et Utiliser Amazon Augmented AI avec des types de tâches personnalisés.

Traiter la sortie Amazon A2I

Une fois que l'examinateur utilisant l'interface utilisateur personnalisée d'Amazon A2I a vérifié le résultat et choisi Envoyer, Amazon A2I stocke un fichier JSON dans le dossier du compartiment S3. Le fichier JSON inclut les informations suivantes au niveau racine :

  • L'ARN de la définition du flux Amazon A2I et le nom de la boucle humaine
  • Réponses humaines (entrée de l'examinateur collectée par l'interface utilisateur Amazon A2I personnalisée)
  • Contenu d'entrée (les données d'origine envoyées à Amazon A2I lors du démarrage de la tâche de boucle humaine)

Voici un exemple de JSON généré par Amazon A2I :

{
  "flowDefinitionArn": "arn:aws:sagemaker:us-east-1:711334203977:flow-definition/a2i-custom-ui-demo-workflow",
  "humanAnswers": [
    {
      "acceptanceTime": "2022-08-23T15:23:53.488Z",
      "answerContent": {
        "Change Reason 1": "Missing X at the end.",
        "True Value 1": "93493319020929X",
        "True Value 2": "04-3018996"
      },
      "submissionTime": "2022-08-23T15:24:47.991Z",
      "timeSpentInSeconds": 54.503,
      "workerId": "94de99f1bc6324b8",
      "workerMetadata": {
        "identityData": {
          "identityProviderType": "Cognito",
          "issuer": "https://cognito-idp.us-east-1.amazonaws.com/us-east-1_URd6f6sie",
          "sub": "cef8d484-c640-44ea-8369-570cdc132d2d"
        }
      }
    }
  ],
  "humanLoopName": "custom-loop-9b4e67ff-2c9f-40f9-aae5-0e26316c905c",
  "inputContent": {...} # the original input send to A2I when starting the human review task
}

Vous pouvez implémenter une logique d'extraction, de transformation et de chargement (ETL) pour analyser les informations du JSON de sortie Amazon A2I et les stocker dans un fichier ou une base de données. La solution d'échantillon est livrée avec un fichier CSV avec les données traitées. Vous pouvez l'utiliser pour créer un tableau de bord BI en suivant les instructions de la section suivante.

Créer un tableau de bord dans Amazon QuickSight

L'exemple de solution comprend une étape de création de rapports avec un tableau de bord de visualisation servi par Amazon QuickSight. Le tableau de bord BI affiche des métriques clés telles que le nombre de documents traités automatiquement ou manuellement, les champs les plus populaires nécessitant une révision humaine et d'autres informations. Ce tableau de bord peut vous aider à obtenir une vue d'ensemble du pipeline de traitement des documents et à analyser les raisons courantes à l'origine de l'examen humain. Vous pouvez optimiser le flux de travail en réduisant davantage l'intervention humaine.

L'exemple de tableau de bord comprend des métriques de base. Vous pouvez étendre la solution à l'aide d'Amazon QuickSight pour afficher davantage d'informations sur les données.Tableau de bord BI

Développez la solution pour prendre en charge davantage de documents et de règles métier

Pour étendre la solution afin de prendre en charge davantage de pages de document avec les règles métier correspondantes, vous devez apporter les modifications suivantes :

  • Créez un modèle de données pour la nouvelle page dans la structure JSON représentant toutes les valeurs que vous souhaitez extraire des pages. Se référer au Définir le modèle de données section pour un format détaillé.
  • Utilisez Amazon Textract pour extraire le texte du document et remplir les valeurs du modèle de données.
  • Ajoutez des règles métier correspondant à la page au format JSON. Se référer au Personnaliser les règles métier section pour le format détaillé.

L'interface utilisateur Amazon A2I personnalisée dans la solution est générique, ce qui ne nécessite aucune modification pour prendre en charge les nouvelles règles métier.

Conclusion

Le traitement intelligent des documents est en forte demande et les entreprises ont besoin d'un pipeline personnalisé pour prendre en charge leur logique métier unique. Amazon A2I propose également un modèle intégré intégré à Amazon Textract pour mettre en œuvre vos cas d'utilisation d'examen humain. Il vous permet également de personnaliser la page du réviseur pour répondre à des exigences flexibles.

Cet article vous a guidé à travers une solution de référence utilisant Amazon Textract et Amazon A2I pour créer un pipeline IDP qui prend en charge des règles métier flexibles. Vous pouvez l'essayer en utilisant le Carnet Jupyter dans le dépôt de l'atelier GitHub IDP.


À propos des auteurs

Personnalisez les règles métier pour un traitement intelligent des documents grâce à l'examen humain et à la visualisation BI PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Lana Zhang est un architecte de solutions principal au sein de l'équipe AWS WWSO AI Services avec une expertise en IA et ML pour le traitement intelligent des documents et la modération de contenu. Elle est passionnée par la promotion des services AWS AI et aide les clients à transformer leurs solutions commerciales.

Personnalisez les règles métier pour un traitement intelligent des documents grâce à l'examen humain et à la visualisation BI PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
Sonali Sahou dirige l'équipe d'architectes de solutions IA/ML de traitement intelligent des documents chez Amazon Web Services. Elle est une technophile passionnée et aime travailler avec les clients pour résoudre des problèmes complexes en utilisant l'innovation. Son principal domaine d'intérêt est l'intelligence artificielle et l'apprentissage automatique pour le traitement intelligent des documents.

Horodatage:

Plus de Apprentissage automatique AWS