Extrayez automatiquement le contenu de fichiers PDF à l'aide d'Amazon Textract - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Extrayez automatiquement le contenu de fichiers PDF à l'aide d'Amazon Textract

Créée par Tianxia Jia (AWS)

Environnement : Production

Technologies : apprentissage automatique et intelligence artificielle ; analyse ; mégadonnées

Services AWS : Amazon S3 ; Amazon Textract ; Amazon SageMaker

Récapitulatif

De nombreuses entreprises ont besoin d'extraire des informations à partir de fichiers PDF qui sont téléchargés vers leurs applications professionnelles. Par exemple, une organisation peut avoir besoin d'extraire avec précision des informations de fichiers PDF fiscaux ou médicaux à des fins d'analyse fiscale ou de traitement des demandes médicales.

Sur le cloud Amazon Web Services (AWS), Amazon Textract extrait automatiquement les informations (par exemple, le texte imprimé, les formulaires et les tableaux) des fichiers PDF et produit un fichier au format JSON contenant les informations du fichier PDF d'origine. Vous pouvez utiliser Amazon Textract dans l'AWS Management Console ou en implémentant des appels d'API. Nous vous recommandons d'utiliser des appels d'API programmatiques pour redimensionner et traiter automatiquement un grand nombre de fichiers PDF.

Lorsqu'Amazon Textract traite un fichier, il crée la liste d'Blockobjets suivante : pages, lignes et mots de texte, formulaires (paires clé-valeur), tableaux et cellules, et éléments de sélection. D'autres informations sur les objets sont également incluses, par exemple les cadres de délimitation, les intervalles de confiance, les identifiants et les relations. Amazon Textract extrait les informations relatives au contenu sous forme de chaînes. Des valeurs de données correctement identifiées et transformées sont nécessaires car elles peuvent être plus facilement utilisées par vos applications en aval. 

Ce modèle décrit un step-by-step flux de travail permettant d'utiliser Amazon Textract pour extraire automatiquement le contenu des fichiers PDF et le transformer en un résultat propre. Le modèle utilise une technique de correspondance de modèles pour identifier correctement le champ, le nom de clé et les tables requis, puis applique des corrections de post-traitement à chaque type de données. Vous pouvez utiliser ce modèle pour traiter différents types de fichiers PDF, puis redimensionner et automatiser ce flux de travail pour traiter des fichiers PDF au format identique.   

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif.

  • Un bucket Amazon Simple Storage Service (Amazon S3) existant pour stocker les fichiers PDF après leur conversion au format JPEG en vue de leur traitement par Amazon Textract. Pour plus d'informations sur les compartiments S3, consultez la présentation des compartiments dans la documentation Amazon S3.

  • Le bloc-notes Textract_PostProcessing.ipynb Jupyter (joint), installé et configuré. Pour plus d'informations sur les blocs-notes Jupyter, consultez la section Créer un bloc-notes Jupyter dans la documentation Amazon. SageMaker

  • Fichiers PDF existants au format identique.

  • Compréhension de Python.

Limites

Architecture

Le flux de travail de ce modèle exécute d'abord Amazon Textract sur un exemple de fichier PDF (première exécution), puis sur des fichiers PDF dont le format est identique à celui du premier PDF (exécution répétée). Le schéma suivant montre le flux de travail combiné de première exécution et de répétition qui extrait automatiquement et de manière répétée le contenu de fichiers PDF aux formats identiques.

Utilisation d'Amazon Textract pour extraire le contenu de fichiers PDF

Le diagramme montre le flux de travail suivant pour ce modèle :

  1. Convertissez un fichier PDF au format JPEG et stockez-le dans un compartiment S3. 

  2. Appelez l'API Amazon Textract et analysez le fichier JSON de réponse Amazon Textract. 

  3. Modifiez le fichier JSON en ajoutant la bonne KeyName:DataType paire pour chaque champ obligatoire. Créez un TemplateJSON fichier pour l'étape Repeat run.

  4. Définissez les fonctions de correction après le traitement pour chaque type de données (par exemple, float, entier et date).

  5. Préparez les fichiers PDF dont le format est identique à celui de votre premier fichier PDF.

  6. Appelez l'API Amazon Textract et analysez le JSON de réponse Amazon Textract.

  7. Associez le fichier JSON analysé au TemplateJSON fichier.

  8. Implémentez les corrections de post-traitement.

Le fichier de sortie JSON final contient le bon KeyName et Value pour chaque champ obligatoire.

Pile technologique cible

  • Amazon SageMaker 

  • Amazon S3 

  • Amazon Textract

Automatisation et mise à l'échelle

Vous pouvez automatiser le flux de travail de répétition à l'aide d'une fonction AWS Lambda qui lance Amazon Textract lorsqu'un nouveau fichier PDF est ajouté à Amazon S3. Amazon Textract exécute ensuite les scripts de traitement et le résultat final peut être enregistré sur un emplacement de stockage. Pour plus d'informations à ce sujet, consultez la section Utilisation d'un déclencheur Amazon S3 pour appeler une fonction Lambda dans la documentation Lambda.

Outils

  • Amazon SageMaker est un service de machine learning entièrement géré qui vous permet de créer et de former rapidement et facilement des modèles de machine learning, puis de les déployer directement dans un environnement hébergé prêt pour la production.

  • Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.

  • Amazon Textract permet d'ajouter facilement la détection et l'analyse du texte des documents à vos applications.

Épopées

TâcheDescriptionCompétences requises

Convertissez le fichier PDF.

Préparez le fichier PDF pour votre première utilisation en le divisant en une seule page et en le convertissant au format JPEG pour l'opération synchrone Amazon Textract (). Syn API

Remarque : vous pouvez également utiliser l'opération asynchrone Amazon Textract (Asyn API) pour les fichiers PDF de plusieurs pages.

Data scientist, développeur

Analysez le code JSON de réponse Amazon Textract.

Ouvrez le bloc-notes Textract_PostProcessing.ipynb Jupyter (joint) et appelez l'API Amazon Textract en utilisant le code suivant :

response = textract.analyze_document( Document={ 'S3Object': { 'Bucket': BUCKET, 'Name': '{}'.format(filename) } }, FeatureTypes=["TABLES", "FORMS"])

Analysez le JSON de réponse dans un formulaire et un tableau à l'aide du code suivant :

parseformKV=form_kv_from_JSON(response) parseformTables=get_tables_fromJSON(response)
Data scientist, développeur

Modifiez le fichier TemplateJSON.

Modifiez le JSON analysé pour chacun KeyName des en-têtes correspondants DataType (par exemple, chaîne, valeur flottante, entier ou date) et des en-têtes de tableau (par exemple, ColumnNames etRowNames).

Ce modèle est utilisé pour chaque type de fichier PDF individuel, ce qui signifie qu'il peut être réutilisé pour des fichiers PDF au format identique.

Data scientist, développeur

Définissez les fonctions de correction après le traitement.

Les valeurs figurant dans la réponse d'Amazon Textract pour le TemplateJSON fichier sont des chaînes. Il n'y a aucune différenciation pour la date, le flottant, le nombre entier ou la devise. Ces valeurs doivent être converties dans le type de données adapté à votre cas d'utilisation en aval. 

Corrigez chaque type de données en fonction du TemplateJSON fichier en utilisant le code suivant :

finalJSON=postprocessingCorrection(parsedJSON,templateJSON)
Data scientist, développeur
TâcheDescriptionCompétences requises

Préparez les fichiers PDF.

Préparez les fichiers PDF en les divisant en une seule page et en les convertissant au format JPEG pour l'opération synchrone Amazon Textract (). Syn API

Remarque : vous pouvez également utiliser l'opération asynchrone Amazon Textract (Asyn API) pour les fichiers PDF de plusieurs pages.

Data scientist, développeur

Appelez l'API Amazon Textract.

Appelez l'API Amazon Textract à l'aide du code suivant :

response = textract.analyze_document( Document={ 'S3Object': { 'Bucket': BUCKET, 'Name': '{}'.format(filename) } }, FeatureTypes=["TABLES", "FORMS"])
Data scientist, développeur

Analysez le code JSON de réponse Amazon Textract.

Analysez le JSON de réponse dans un formulaire et un tableau à l'aide du code suivant :

parseformKV=form_kv_from_JSON(response) parseformTables=get_tables_fromJSON(response)
Data scientist, développeur

Chargez le fichier TemplateJSON et associez-le au JSON analysé.

Utilisez le TemplateJSON fichier pour extraire les paires clé-valeur et le tableau corrects à l'aide des commandes suivantes :

form_kv_corrected=form_kv_correction(parseformKV,templateJSON) form_table_corrected=form_Table_correction(parseformTables, templateJSON) form_kv_table_corrected_final={**form_kv_corrected , **form_table_corrected}
Data scientist, développeur

Corrections après le traitement.

Utilisez DataType les fonctions de TemplateJSON fichier et de post-traitement pour corriger les données en utilisant le code suivant : 

finalJSON=postprocessingCorrection(form_kv_table_corrected_final,templateJSON)
Data scientist, développeur

Ressources connexes

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip