Améliorez l'extraction de données et le traitement des documents avec Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Améliorez l'extraction de données et le traitement des documents avec Amazon Textract

Le traitement intelligent des documents (IDP) a été largement adopté par les entreprises et les organisations gouvernementales. Estimations Gartner le marché des personnes déplacées connaîtra une croissance de plus de 100 % d’une année sur l’autre et devrait atteindre 4.8 milliards de dollars en 2022.

IDP aide à transformer les données structurées, semi-structurées et non structurées provenant de divers formats de documents en informations exploitables. Le traitement des données non structurées est devenu beaucoup plus facile grâce aux progrès de la reconnaissance optique de caractères (OCR), de l'apprentissage automatique (ML) et du traitement du langage naturel (NLP).

Les techniques IDP se sont considérablement développées, nous permettant d'extraire, de classer, d'identifier et de traiter des données non structurées. Avec des services basés sur l'IA/ML tels que Extrait d'Amazon, Amazon Transcribeet une Amazon comprendre, la création d'une solution IDP est devenue beaucoup plus simple et ne nécessite pas de compétences spécialisées en IA/ML.

Dans cet article, nous montrons comment utiliser Amazon Textract pour extraire des données significatives et exploitables à partir d'une large gamme de fichiers PDF multiformats complexes. Les fichiers PDF sont difficiles ; ils peuvent contenir une variété d'éléments de données tels que des en-têtes, des pieds de page, des tableaux contenant des données dans plusieurs colonnes, des images, des graphiques, des phrases et des paragraphes dans différents formats. Nous explorons la phase d'extraction des données d'IDP et comment elle se connecte aux étapes impliquées dans un processus documentaire, telles que l'ingestion, l'extraction et le post-traitement.

Vue d'ensemble de la solution

Amazon Textract propose diverses options d'extraction de données, en fonction de votre cas d'utilisation. Vous pouvez utiliser des formulaires, des tableaux, des extractions basées sur des requêtes, la reconnaissance de l'écriture manuscrite, des factures et reçus, des documents d'identité, etc. Toutes les données extraites sont renvoyées avec coordonnées du cadre de délimitation. Cette solution utilise Constructions CDK Amazon Textract IDP pour créer le flux de travail de traitement de documents qui gère l'appel asynchrone d'Amazon Textract, l'extraction de réponse brute et la persistance dans Service de stockage simple Amazon (Amazon S3). Cette solution ajoute un composant de post-traitement Amazon Textract au flux de travail de base pour gérer l'extraction de texte basée sur les paragraphes.

Le diagramme suivant montre le flux de traitement des documents.

Le flux de traitement des documents contient les étapes suivantes :

  1. Le flux d'extraction de documents est lancé lorsqu'un utilisateur télécharge un document PDF sur Amazon S3.
  2. Un événement de notification d'objet S3 déclenché par le nouvel objet S3 avec un uploads/ préfixe, qui déclenche le Fonctions d'étape AWS flux de travail asynchrone.
  3. La AWS Lambda fonction SimpleAsyncWorkflow Decider valide le document PDF. Cette étape évite le traitement de documents invalides.
  4. TexttractAsyncTexttractAsync est une construction IDP CDK qui résume l'invocation d'Amazon Texttract Async API, manipulation Service de notification simple d'Amazon (Amazon SNS) et traitement des flux de travail. Voici quelques étapes de haut niveau :
    1. La construction appelle le Amazon Texttract asynchrone StartDocumentTextDetectionStartDocumentTextDetection API.
    2. Amazon Textract traite le fichier PDF et publie un événement d'état d'achèvement dans une rubrique Amazon SNS.
    3. Amazon Textract stocke les résultats paginés dans Amazon S3.
    4. Construct gère l'événement d'achèvement Amazon Textract et renvoie le préfixe de sortie des résultats paginés au flux de travail principal.
  5. La fonction Lambda Texttract Postprocessor utilise le contenu extrait dans le compartiment Amazon S3 de résultats pour récupérer les données du document. Cette fonction parcourt tous les fichiers et extrait les données à l'aide de cadres de délimitation et d'autres métadonnées. Il effectue diverses optimisations de post-traitement pour agréger les données des paragraphes, identifier et ignorer les en-têtes et les pieds de page, combiner les phrases réparties sur les pages, traiter les données dans plusieurs colonnes, etc.
  6. La fonction Lambda du postprocesseur Texttract conserve les données de paragraphe agrégées sous forme de fichier CSV dans Amazon S3.

Déployer la solution avec le AWS CDK

Pour déployer la solution, lancez le Kit de développement AWS Cloud (AWS CDK) en utilisant AWSCloud9 ou depuis votre système local. Si vous lancez à partir de votre système local, vous devez avoir installé AWS CDK et Docker. Suivez les instructions dans le GitHub repo pour le déploiement.

La pile crée les composants clés représentés dans le diagramme d'architecture.

Testez la solution

La GitHub repo contient les exemples de fichiers suivants :

  • sample_climate_change.pdf – Contient des en-têtes, des pieds de page et des phrases s’écoulant sur les pages
  • exemple_multicolonne.pdf – Contient des données dans deux colonnes, des en-têtes, des pieds de page et des phrases s'écoulant sur les pages

Pour tester la solution, procédez comme suit :

  1. Téléchargez les exemples de fichiers PDF dans le compartiment S3 créé par la pile : le téléchargement de fichiers déclenche le flux de travail Step Functions via la notification d'événement S3.
    aws s3 cp sample_climate_change.pdf s3://{bucketname}/uploads/sample_climate_change.pdf
    
    aws s3 cp sample_ multicolumn.pdf s3://{bucketname}/uploads/ sample_climate_ multicolumn.pdf

  2.  Ouvrez la console Step Functions pour afficher l'état du flux de travail. Vous devriez trouver une instance de workflow par document.Améliorez l'extraction de données et le traitement des documents avec Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  3. Attendez que les trois étapes soient terminées.
  4. Sur la console Amazon S3, accédez au préfixe S3 mentionné dans le chemin JSON TextractTempOutputJsonPath. La capture d'écran ci-dessous de la console Amazon S3 montre les résultats paginés Amazon Textract (dans ce cas, les objets 1 et 2) créés par Amazon Textract. La tâche de post-traitement stocke les paragraphes extraits de l'exemple de PDF sous forme extracted-text.csv.Améliorez l'extraction de données et le traitement des documents avec Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  5. Télécharger extracted-text.csv fichier pour afficher le contenu extrait.

La sample_climate_change.pdf Le fichier contient des phrases qui s'étendent sur les pages, comme le montre la capture d'écran suivante.

Améliorez l'extraction de données et le traitement des documents avec Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le post-processeur identifie et ignore l'en-tête et le pied de page, et combine le texte des pages en un seul paragraphe. Le texte extrait du paragraphe combiné devrait ressembler à :

« Des impacts d’une telle ampleur pourraient déborder les frontières nationales, aggravant encore les dégâts. L’élévation du niveau de la mer et d’autres changements provoqués par le climat pourraient pousser des millions de personnes à migrer : plus d’un cinquième du Bangladesh pourrait se retrouver sous l’eau avec une élévation du niveau de la mer d’un mètre, ce qui est une possibilité d’ici la fin du siècle. Les chocs liés au climat ont déclenché de violents conflits dans le passé, et les conflits constituent un risque sérieux dans des régions telles que l’Afrique de l’Ouest, le bassin du Nil et l’Asie centrale.

La sample_multi_column.pdf Le fichier comporte deux colonnes de texte avec des en-têtes et des pieds de page, comme indiqué dans la capture d'écran suivante.

Améliorez l'extraction de données et le traitement des documents avec Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le post-processeur identifie et ignore l'en-tête et le pied de page, traite le texte dans les colonnes de gauche à droite et combine les phrases incomplètes sur les pages. Le texte extrait doit construire des paragraphes à partir du texte de la colonne de gauche et séparer les paragraphes du texte de la colonne de droite. La dernière ligne de la colonne de droite est incomplète sur cette page et continue dans la colonne de gauche de la page suivante ; le post-processeur doit les combiner en un seul paragraphe.

Prix

Avec Amazon Textract, vous payez au fur et à mesure en fonction du nombre de pages du document. Faire référence à Tarification d'Amazon Textract pour les coûts réels.

Nettoyer

Lorsque vous avez fini d'expérimenter cette solution, nettoyez vos ressources à l'aide de l'option AWS CloudFormation console pour supprimer toutes les ressources déployées dans cet exemple. Cela vous aide à éviter des coûts continus sur votre compte.

Conclusion

Vous pouvez utiliser la solution présentée dans cet article pour créer un flux de travail d'extraction de documents efficace et traiter le document extrait en fonction de vos besoins. Si vous créez un système de traitement de documents intelligent, vous pouvez poursuivre le traitement du document extrait à l'aide d'Amazon Comprehend pour obtenir plus d'informations sur le document.

Pour plus d'informations sur Amazon Texttract, visitez Ressources de texte Amazon pour trouver des ressources vidéo et des articles de blog, et consultez FAQ Amazon Textract. Pour plus d'informations sur l'architecture de référence IDP, reportez-vous à Traitement intelligent des documents. Veuillez partager vos réflexions avec nous dans la section des commentaires ou dans la section des problèmes du projet GitHub référentiel.


À propos de l’auteur

Améliorez l'extraction de données et le traitement des documents avec Amazon Textract PlatoBlockchain Data Intelligence. Recherche verticale. Aï. Sathya Balakrishnan est un architecte senior de livraison client au sein de l'équipe des services professionnels d'AWS, spécialisé dans les solutions de données et de ML. Il travaille avec des clients financiers fédéraux américains. Il est passionné par la construction de solutions pragmatiques pour résoudre les problèmes commerciaux des clients. Dans ses temps libres, il aime regarder des films et faire de la randonnée avec sa famille.

Horodatage:

Plus de Apprentissage automatique AWS