Annotation de fichiers PDF - Amazon Comprehend

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.

Annotation de fichiers PDF

Avant de pouvoir annoter vos PDF d'entraînement dans SageMaker Ground Truth, vous devez remplir les conditions préalables suivantes :

  • Installer python3.8.x

  • Installer jq

  • Installation de la AWS CLI

    Si vous utilisez la région us-east-1, vous pouvez ignorer l'installation de la AWS CLI car elle est déjà installée dans votre environnement Python. Dans ce cas, vous créez un environnement virtuel pour utiliser Python 3.8 dans AWS Cloud9.

  • Configurez vos AWS informations d'identification

  • Créez une équipe privée de SageMaker Ground Truth pour prendre en charge les annotations

    Assurez-vous d'enregistrer le nom de l'équipe de travail que vous avez choisi dans votre nouveau personnel privé, tel que vous l'utiliserez lors de l'installation.

Configuration de votre environnement

  1. Si vous utilisez Windows, installez Cygwin ; si vous utilisez Linux ou Mac, ignorez cette étape.

  2. Téléchargez les artefacts d'annotation depuis GitHub. Décompressez le fichier.

  3. Dans la fenêtre de votre terminal, accédez au dossier décompressé (amazon-comprehend-semi-structured- documents-annotation-tools-main).

  4. Ce dossier inclut un choix de ceux Makefiles que vous pouvez exécuter pour installer les dépendances, configurer un environnement virtuel Python et déployer les ressources requises. Consultez le fichier readme pour faire votre choix.

  5. L'option recommandée utilise une seule commande pour installer toutes les dépendances dans un environnement virtuel, crée la AWS CloudFormation pile à partir du modèle et déploie la pile sur vous Compte AWS avec des instructions interactives. Exécutez la commande suivante :

    make ready-and-deploy-guided

    Cette commande présente un ensemble d'options de configuration. Assurez-vous que vous Région AWS êtes correct. Pour tous les autres champs, vous pouvez accepter les valeurs par défaut ou renseigner des valeurs personnalisées. Si vous modifiez le nom de la AWS CloudFormation pile, notez-le selon vos besoins dans les étapes suivantes.

    Session de terminal affichant les options AWS CloudFormation de configuration.

    La CloudFormation pile crée et gère les AWS lambdas, les rôles AWS IAM et les compartiments AWS S3 requis pour l'outil d'annotation.

    Vous pouvez consulter chacune de ces ressources sur la page de détails de la pile de la CloudFormation console.

  6. La commande vous invite à démarrer le déploiement. CloudFormation crée toutes les ressources de la région spécifiée.

    Session de terminal affichant la AWS CloudFormation configuration déployée.

    Lorsque le statut de la CloudFormation pile passe à create-complete, les ressources sont prêtes à être utilisées.

Téléchargement d'un PDF dans un compartiment S3

Dans la section Configuration, vous avez déployé une CloudFormation pile qui crée un compartiment S3 nommé comprehend-semi-structured-documents-$ {AWS::Region}-${AWS::AccountId}. Vous chargez maintenant vos documents PDF source dans ce compartiment.

Note

Ce compartiment contient les données requises pour votre tâche d'étiquetage. La politique du rôle d'exécution Lambda autorise la fonction Lambda à accéder à ce compartiment.

Vous pouvez trouver le nom du compartiment S3 dans les détails de la CloudFormation pile à l'aide de la clé « SemiStructuredDocumentsS3Bucket ».

  1. Créez un nouveau dossier dans le compartiment S3. Nommez ce nouveau dossier « src ».

  2. Ajoutez vos fichiers source PDF dans votre dossier « src ». Dans une étape ultérieure, vous annotez ces fichiers pour entraîner votre outil de reconnaissance.

  3. (Facultatif) Voici un exemple de AWS CLI que vous pouvez utiliser pour télécharger vos documents sources depuis un répertoire local vers un compartiment S3 :

    aws s3 cp --recursive local-path-to-your-source-docs s3://deploy-guided/src/

    Ou, avec votre région et votre numéro de compte :

    aws s3 cp --recursive local-path-to-your-source-docs s3://deploy-guided-Region-AccountID/src/

  4. Vous disposez désormais d'une équipe privée de SageMaker Ground Truth et vous avez téléchargé vos fichiers sources dans le compartiment S3, deploy-guided/src/ ; vous êtes prêt à commencer à annoter.

Création d'une tâche d'annotation

Le script comprehend-ssie-annotation-tool-cli.py présent dans le bin répertoire est une simple commande wrapper qui simplifie la création d'une tâche d'étiquetage SageMaker Ground Truth. Le script python lit les documents sources de votre compartiment S3 et crée un fichier manifeste d'une seule page correspondant avec un document source par ligne. Le script crée ensuite une tâche d'étiquetage, qui nécessite le fichier manifeste comme entrée.

Le script python utilise le compartiment et la CloudFormation pile S3 que vous avez configurés dans la section Configuration. Les paramètres d'entrée requis pour le script sont les suivants :

  • input-s3-path : URI S3 vers les documents source que vous avez chargés dans votre compartiment S3. Par exemple : s3://deploy-guided/src/. Vous pouvez également ajouter votre région et votre numéro de compte à ce chemin. Par exemple : s3://deploy-guided-Region-AccountID/src/.

  • cfn-name : nom de la CloudFormation pile. Si vous avez utilisé la valeur par défaut pour le nom de la pile, votre nom de fichier cfn est sam-app.

  • work-team-name: Le nom du personnel que vous avez créé lorsque vous avez créé le personnel privé dans SageMaker Ground Truth.

  • job-name-prefix: le préfixe de la tâche d'étiquetage SageMaker Ground Truth. Notez que ce champ est limité à 29 caractères. Un horodatage est ajouté à cette valeur. Par exemple : my-job-name-20210902T232116.

  • entity-types : les entités que vous souhaitez utiliser lors de votre travail d'étiquetage, séparées par des virgules. Cette liste doit inclure toutes les entités que vous souhaitez annoter dans votre jeu de données d'entraînement. La tâche d'étiquetage Ground Truth affiche uniquement ces entités afin que les annotateurs puissent étiqueter le contenu des documents PDF.

Pour afficher les arguments supplémentaires pris en charge par le script, utilisez l'-hoption permettant d'afficher le contenu de l'aide.

  • Exécutez le script suivant avec les paramètres d'entrée décrits dans la liste précédente.

    python bin/comprehend-ssie-annotation-tool-cli.py \ --input-s3-path s3://deploy-guided-Region-AccountID/src/ \ --cfn-name sam-app \ --work-team-name my-work-team-name \ --region us-east-1 \ --job-name-prefix my-job-name-20210902T232116 \ --entity-types "EntityA, EntityB, EntityC" \ --annotator-metadata "key=info,value=sample,key=Due Date,value=12/12/2021"

    Le script produit le résultat suivant :

    Downloaded files to temp local directory /tmp/a1dc0c47-0f8c-42eb-9033-74a988ccc5aa Deleted downloaded temp files from /tmp/a1dc0c47-0f8c-42eb-9033-74a988ccc5aa Uploaded input manifest file to s3://comprehend-semi-structured-documents-us-west-2-123456789012/input-manifest/my-job-name-20220203-labeling-job-20220203T183118.manifest Uploaded schema file to s3://comprehend-semi-structured-documents-us-west-2-123456789012/comprehend-semi-structured-docs-ui-template/my-job-name-20220203-labeling-job-20220203T183118/ui-template/schema.json Uploaded template UI to s3://comprehend-semi-structured-documents-us-west-2-123456789012/comprehend-semi-structured-docs-ui-template/my-job-name-20220203-labeling-job-20220203T183118/ui-template/template-2021-04-15.liquid Sagemaker GroundTruth Labeling Job submitted: arn:aws:sagemaker:us-west-2:123456789012:labeling-job/my-job-name-20220203-labeling-job-20220203t183118 (amazon-comprehend-semi-structured-documents-annotation-tools-main) user@3c063014d632 amazon-comprehend-semi-structured-documents-annotation-tools-main %

Annoter avec SageMaker Ground Truth

Maintenant que vous avez configuré les ressources requises et créé une tâche d'étiquetage, vous pouvez vous connecter au portail d'étiquetage et annoter vos PDF.

  1. Connectez-vous à la SageMaker console à l'aide des navigateurs Web Chrome ou Firefox.

  2. Sélectionnez Labeling workforce, puis Private.

  3. Sous Résumé du personnel privé, sélectionnez l'URL de connexion au portail d'étiquetage que vous avez créée avec votre personnel privé. Connectez-vous avec les informations d'identification appropriées.

    Si aucune tâche n'est répertoriée, ne vous inquiétez pas : la mise à jour peut prendre un certain temps, en fonction du nombre de fichiers que vous avez chargés pour annotation.

  4. Sélectionnez votre tâche et, dans le coin supérieur droit, choisissez Commencer à travailler pour ouvrir l'écran d'annotation.

    Vous verrez l'un de vos documents s'ouvrir dans l'écran d'annotation et, au-dessus, les types d'entités que vous avez fournis lors de la configuration. À droite de vos types d'entités, vous trouverez une flèche que vous pouvez utiliser pour parcourir vos documents.

    L'écran d'annotation d'Amazon Comprehend.

    Annotez le document ouvert. Vous pouvez également supprimer, annuler ou étiqueter automatiquement vos annotations sur chaque document ; ces options sont disponibles dans le panneau droit de l'outil d'annotation.

    Options disponibles dans le panneau droit d'annotation d'Amazon Comprehend.

    Pour utiliser la balise automatique, annotez une instance de l'une de vos entités ; toutes les autres instances de ce mot spécifique sont ensuite automatiquement annotées avec ce type d'entité.

    Lorsque vous avez terminé, sélectionnez Soumettre en bas à droite, puis utilisez les flèches de navigation pour passer au document suivant. Répétez cette opération jusqu'à ce que vous ayez annoté tous vos PDF.

Après avoir annoté tous les documents de formation, vous pouvez trouver les annotations au format JSON dans le compartiment Amazon S3 à cet emplacement :

/output/your labeling job name/annotations/

Le dossier de sortie contient également un fichier manifeste de sortie, qui répertorie toutes les annotations contenues dans vos documents de formation. Vous trouverez votre fichier manifeste de sortie à l'emplacement suivant.

/output/your labeling job name/manifests/