Extrayez automatiquement le contenu des PDF fichiers à 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 des PDF fichiers à l'aide d'Amazon Textract

Créée par Tianxia Jia () AWS

Environnement : Production

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

AWSservices : Amazon S3 ; Amazon Textract ; Amazon SageMaker

Récapitulatif

De nombreuses entreprises ont besoin d'extraire des informations à partir de PDF fichiers téléchargés vers leurs applications professionnelles. Par exemple, une organisation peut avoir besoin d'extraire avec précision des informations de PDF dossiers 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 PDF fichiers et produit un fichier JSON formaté contenant les informations du fichier d'origine. PDF Vous pouvez utiliser Amazon Textract dans la console de AWS gestion ou en API implémentant des appels. Nous vous recommandons d'utiliser des APIappels programmatiques pour redimensionner et traiter automatiquement un grand nombre de PDF fichiers.

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 et les relations. IDs 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 PDF fichiers et le transformer en une sortie 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 PDF fichiers, puis dimensionner et automatiser ce flux de travail pour traiter des PDF fichiers 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 PDF les fichiers après leur conversion au format destiné JPEG au 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

  • PDFFichiers existants dont le format est identique.

  • Compréhension de Python.

Limites

Architecture

Le flux de travail de ce modèle exécute d'abord Amazon Textract sur un PDF fichier d'exemple (première exécution), puis sur des PDF fichiers 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 PDF fichiers 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 PDF fichier au JPEG format et stockez-le dans un compartiment S3. 

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

  3. Modifiez le JSON fichier 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 PDF fichiers dont le format est identique à celui de votre premier PDF fichier.

  6. Appelez Amazon Textract API et analysez la réponse Amazon Textract. JSON

  7. Faites correspondre le JSON fichier analysé avec le TemplateJSON fichier.

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

Le fichier JSON de sortie 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 d'exécution répétée à l'aide d'une fonction AWS Lambda qui lance Amazon Textract lorsqu'un nouveau PDF fichier 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 PDF fichier.

Préparez le PDF fichier pour votre première utilisation en le divisant en une seule page et en le convertissant JPEG au format 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 multipages. PDF

Data scientist, développeur

Analysez la réponse d'Amazon TextractJSON.

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

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

Analysez la réponse JSON 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 JSON fichier modèle.

Modifiez les en-têtes analysés JSON pour chacun KeyName et les en-têtes de tableau correspondants DataType (par exemple, chaîne, nombre flottant, entier ou date) et de tableau (par exemple, ColumnNames etRowNames).

Ce modèle est utilisé pour chaque type de PDF fichier individuel, ce qui signifie qu'il peut être réutilisé pour PDF des fichiers 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 PDF fichiers.

Préparez les PDF fichiers en les divisant en une seule page et en les convertissant JPEG au format 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 multipages. PDF

Data scientist, développeur

Appelez Amazon TextractAPI.

Appelez Amazon Textract API en utilisant le code suivant :

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

Analysez la réponse d'Amazon TextractJSON.

Analysez la réponse JSON 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 JSON fichier modèle et associez-le au fichier analysé. JSON

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