Créer un pipeline de classification avec la classification personnalisée Amazon Comprehend (Partie I)


« Les données stockées dans du texte, de l'audio, des médias sociaux et d'autres sources non structurées peuvent constituer un avantage concurrentiel pour les entreprises qui savent comment les utiliser. »

Seulement 18% des organisations dans un Enquête 2019 de Deloitte ont déclaré être capables de tirer parti de données non structurées. La majorité des données, entre 80% et 90%, sont des données non structurées. Il s’agit d’une importante ressource inexploitée qui pourrait potentiellement donner aux entreprises un avantage concurrentiel si elles savaient comment l’utiliser. Il peut être difficile de tirer des enseignements de ces données, en particulier si des efforts sont nécessaires pour les classer, les étiqueter ou les étiqueter. La classification personnalisée Amazon Comprehend peut être utile dans cette situation. Amazon Comprehend est un service de traitement du langage naturel (NLP) qui utilise l'apprentissage automatique pour découvrir des informations et des connexions précieuses dans le texte.

La catégorisation ou la classification des documents présente des avantages significatifs dans tous les domaines d'activité :

  • Recherche et récupération améliorées – En classant les documents en sujets ou catégories pertinents, il est beaucoup plus facile pour les utilisateurs de rechercher et de récupérer les documents dont ils ont besoin. Ils peuvent effectuer une recherche dans des catégories spécifiques pour affiner les résultats.
  • Gestion des connaissances – Le classement systématique des documents contribue à organiser la base de connaissances d'une organisation. Il permet de localiser plus facilement les informations pertinentes et de voir les liens entre les contenus associés.
  • Flux de travail rationalisés – Le tri automatique des documents peut aider à rationaliser de nombreux processus commerciaux tels que le traitement des factures, le support client ou la conformité réglementaire. Les documents peuvent être automatiquement acheminés vers les bonnes personnes ou flux de travail.
  • Gains de temps et d'argent – La catégorisation manuelle des documents est fastidieuse, longue et coûteuse. Les techniques d’IA peuvent prendre en charge cette tâche banale et catégoriser des milliers de documents en peu de temps et à un coût bien moindre.
  • Génération d'informations – L'analyse des tendances dans les catégories de documents peut fournir des informations commerciales utiles. Par exemple, une augmentation des plaintes des clients dans une catégorie de produits pourrait signifier que certains problèmes doivent être résolus.
  • Gouvernance et application des politiques – La configuration de règles de catégorisation des documents permet de garantir que les documents sont correctement classés conformément aux politiques et aux normes de gouvernance d'une organisation. Cela permet un meilleur suivi et un meilleur audit.
  • Expériences personnalisées – Dans des contextes tels que le contenu d’un site Web, la catégorisation des documents permet de présenter un contenu personnalisé aux utilisateurs en fonction de leurs intérêts et préférences, déterminés par leur comportement de navigation. Cela peut augmenter l’engagement des utilisateurs.

La complexité du développement d'un modèle d'apprentissage automatique de classification sur mesure varie en fonction de divers aspects tels que la qualité des données, l'algorithme, l'évolutivité et la connaissance du domaine, pour n'en citer que quelques-uns. Il est essentiel de commencer par une définition claire du problème, des données propres et pertinentes, et de passer progressivement par les différentes étapes de développement du modèle. Cependant, les entreprises peuvent créer leurs propres modèles d'apprentissage automatique uniques à l'aide de la classification personnalisée Amazon Comprehend pour classer automatiquement les documents texte en catégories ou balises, afin de répondre aux exigences spécifiques de l'entreprise et de les mapper aux technologies commerciales et aux catégories de documents. Le marquage ou la catégorisation humaine n’étant plus nécessaires, les entreprises peuvent économiser beaucoup de temps, d’argent et de main d’œuvre. Nous avons simplifié ce processus en automatisant l'ensemble du pipeline de formation.

Dans la première partie de cet article de blog en plusieurs séries, vous apprendrez à créer un pipeline de formation évolutif et à préparer les données de formation pour les modèles Comprehend Custom Classification. Nous présenterons un pipeline de formation de classificateur personnalisé qui peut être déployé dans votre compte AWS en quelques clics. Nous utilisons l'ensemble de données d'actualités de la BBC et formerons un classificateur pour identifier la classe (par exemple politique, sportive) à laquelle appartient un document. Le pipeline permettra à votre organisation de réagir rapidement aux changements et de former de nouveaux modèles sans avoir à repartir de zéro à chaque fois. Vous pouvez facilement faire évoluer et former plusieurs modèles en fonction de votre demande.

Conditions préalables

  • Un compte AWS actif (Cliquez ici pour créer un nouveau compte AWS)
  • Accès à Amazon Comprehend, Amazon S3, Amazon Lambda, Amazon Step Function, Amazon SNS et Amazon CloudFormation
  • Données de formation (semi-structure ou texte) préparées dans la section suivante
  • Connaissances de base sur Python et le Machine Learning en général

Préparer les données d'entraînement

Cette solution peut prendre en compte soit format de texte (ex. CSV) ou format semi-structuré (ex. PDF).

Saisie de texte

La classification personnalisée Amazon Comprehend prend en charge deux modes : multi-classes et multi-étiquettes.

En mode multi-classes, chaque document peut se voir attribuer une et une seule classe. Les données de formation doivent être préparées sous forme de fichier CSV à deux colonnes, chaque ligne du fichier contenant une seule classe et le texte d'un document démontrant la classe.

CLASSE, Texte du document 1 CLASSE, Texte du document 2...

Exemple pour Ensemble de données d'actualités de la BBC:

Les affaires et l'Europe accusent les États-Unis de la faiblesse du dollar... La technologie et les taxis collectent des montagnes de téléphones portables... ...

En mode multi-étiquette, chaque document se voit attribuer au moins une classe, mais peut en avoir plusieurs. Les données de formation doivent se présenter sous la forme d'un fichier CSV à deux colonnes, dont chaque ligne du fichier contient une ou plusieurs classes et le texte du document de formation. Plus d'une classe doit être indiquée en utilisant un délimiteur entre chaque classe.

CLASSE, Texte du document 1 CLASSE|CLASSE|CLASSE, Texte du document 2 ...

Aucun en-tête ne doit être inclus dans le fichier CSV pour l'un ou l'autre mode de formation.

Entrée semi-structurée

À partir de 2023, Amazon Comprehend prend désormais en charge les modèles de formation utilisant des documents semi-structurés. Les données d'entraînement pour la saisie semi-structurée sont constituées d'un ensemble de documents étiquetés, qui peuvent être des documents pré-identifiés provenant d'un référentiel de documents auquel vous avez déjà accès. Voici un exemple de données CSV de fichier d'annotations requises pour la formation (Exemples de données):

CLASSE, document1.pdf, 1 CLASSE, document1.pdf, 2 ...

Le fichier CSV d'annotations contient trois colonnes : la première colonne contient l'étiquette du document, la deuxième colonne est le nom du document (c'est-à-dire le nom du fichier) et la dernière colonne est le numéro de page du document que vous souhaitez inclure dans le fichier. ensemble de données de formation. Dans la plupart des cas, si le fichier CSV d'annotations se trouve dans le même dossier que tous les autres documents, il vous suffit alors de spécifier le nom du document dans la deuxième colonne. Cependant, si le fichier CSV se trouve à un emplacement différent, vous devrez alors spécifier le chemin d'accès à l'emplacement dans la deuxième colonne, par exemple chemin/vers/prefix/document1.pdf.

Pour plus de détails sur la façon de préparer vos données d’entraînement, veuillez vous référer à ici.

Vue d'ensemble de la solution

ML14789 1 image 1

  1. Le pipeline de formation Amazon Comprehend démarre lorsque les données de formation (fichier .csv pour la saisie de texte et fichier d'annotation .csv pour la saisie semi-structurée) sont téléchargées dans un compartiment Amazon Simple Storage Service (Amazon S3) dédié.
  2. Une fonction AWS Lambda est invoquée par le déclencheur Amazon S3 de sorte que chaque fois qu'un objet est téléchargé vers un emplacement Amazon S3 spécifié, la fonction AWS Lambda récupère le nom du compartiment source et le nom de clé de l'objet téléchargé et les transmet au flux de travail de la fonction de l'étape de formation.
  3. Dans la fonction d'étape de formation, après avoir reçu le nom du compartiment de données de formation et le nom de la clé d'objet comme paramètres d'entrée, un flux de travail de formation de modèle personnalisé démarre sous la forme d'une série de fonctions lambdas comme décrit :
    1. CommencerComprehendFormation: Cette fonction AWS Lambda définit un ComprendreClassificateur objet en fonction du type de fichiers d'entrée (c'est-à-dire texte ou semi-structuré), puis lance une tâche de formation à la classification personnalisée Amazon Comprehend en appelant créer_document_classifier Application Programming Interfact (API), qui renvoie un Job de formation Amazon Resource Names (ARN) . Par la suite, cette fonction vérifie l'état de la tâche de formation en appelant décrire_document_classifier API. Enfin, il renvoie un ARN de tâche de formation et un statut de tâche, en sortie pour l'étape suivante du flux de travail de formation.
    2. Obtenir le statut de l'emploi de formation: Cet AWS Lambda vérifie l'état de la tâche de formation toutes les 15 minutes, en appelant décrire_document_classifier API, jusqu'à ce que le statut de la tâche de formation passe à Terminé ou Échec.
    3. GénérerMultiClass ou GénérerMultiLabel: Si vous sélectionnez Oui pour le rapport de performances lors du lancement de la pile, l'un de ces deux AWS Lambda exécutera une analyse en fonction des sorties de votre modèle Amazon Comprehend, qui générera une analyse des performances par classe et l'enregistrera sur Amazon S3.
    4. GénérerMultiClass : Cet AWS Lambda sera appelé si votre entrée est MultiClasse et tu sélectionnes Oui pour le rapport de performance.
    5. GénérerMultiLabel : Cet AWS Lambda sera appelé si votre entrée est MultiÉtiquette et tu sélectionnes Oui pour le rapport de performance.
  4. Une fois la formation terminée avec succès, la solution génère les résultats suivants :
    1. Modèle de classification personnalisé : un ARN de modèle entraîné sera disponible dans votre compte pour les futurs travaux d'inférence.
    2. Matrice de confusion [En optionl] : Une matrice de confusion (matrice_de confusion.json) sera disponible dans le chemin de sortie Amazon S3 défini par l'utilisateur, en fonction de la sélection de l'utilisateur.
    3. Notification du service de notification simple Amazon [En optionl] : Un e-mail de notification sera envoyé sur l'état de la tâche de formation aux abonnés, en fonction de la sélection initiale de l'utilisateur.

Procédure pas à pas

Lancement de la solution

Pour déployer votre pipeline, procédez comme suit :

  1. Choisir Lancer la pile bouton:

ML14789 1 image 3

  1. Choisir Suivant

ML14789 1 image 4

  1. Spécifiez les détails du pipeline avec les options adaptées à votre cas d'utilisation :

ML14789 1 image 5

Informations pour chaque détail de pile :

  • Nom de la pile (obligatoire) – le nom que vous avez spécifié pour cette pile AWS CloudFormation. Le nom doit être unique dans la région dans laquelle vous le créez.
  • Q01ClassifierInputBucketName (obligatoire) – Le nom du compartiment Amazon S3 pour stocker vos données d'entrée. Il doit s'agir d'un nom unique au monde et la pile AWS CloudFormation vous aide à créer le compartiment lors de son lancement.
  • Q02ClassifierOutputBucketName (obligatoire) – Le nom du compartiment Amazon S3 pour stocker les sorties d'Amazon Comprehend et du pipeline. Il doit également s'agir d'un nom unique au monde.
  • Q03Format d'entrée – Une sélection déroulante, vous pouvez choisir texte (si vos données d'entraînement sont des fichiers csv) ou semi-structure (si vos données de formation sont semi-structurées [par exemple, fichiers PDF]) en fonction de votre format de saisie de données.
  • Q04Langue – Une sélection déroulante, choisissant la langue des documents dans la liste prise en charge. Veuillez noter qu'actuellement, seul l'anglais est pris en charge si votre format de saisie est semi-structuré.
  • Q05MultiClasse – Une sélection déroulante, sélectionnez Oui si votre entrée est en mode MultiClass. Sinon, sélectionnez Non.
  • Q06LabelDelimiter – Uniquement requis si votre réponse à Q05MultiClass est Non. Ce délimiteur est utilisé dans vos données d'entraînement pour séparer chaque classe.
  • Q07ValidationDataset – Une sélection déroulante, changez la réponse en Oui si vous souhaitez tester les performances d'un classificateur entraîné avec vos propres données de test.
  • Q08S3ValidationPath – Uniquement requis si votre réponse Q07ValidationDataset est Oui.
  • Rapport de performance Q09 – Une sélection déroulante, sélectionnez Oui si vous souhaitez générer le rapport de performances au niveau de la classe après la formation du modèle. Le rapport sera enregistré dans le compartiment de sortie spécifié dans Q02ClassifierOutputBucketName.
  • Q10Notification par e-mail – Une sélection déroulante. Sélectionner Oui si vous souhaitez recevoir une notification une fois le modèle formé.
  • Q11EmailID – Entrez une adresse e-mail valide pour recevoir une notification de rapport de performances. Veuillez noter que vous devez confirmer l'abonnement à partir de votre e-mail après le lancement de la pile AWS CloudFormation, avant de pouvoir recevoir une notification lorsque la formation est terminée.
  1. Dans la section Options de pile Amazon Configure, ajoutez des balises facultatives, des autorisations et d'autres paramètres avancés.

ML14789 1 image 6

  1. Choisir Suivant
  2. Vérifiez les détails de la pile et sélectionnez Je reconnais qu'AWS CloudFormation peut créer des ressources AWS IAM.

ML14789 1 image 7

  1. Choisir Soumettre. Cela lance le déploiement du pipeline dans votre compte AWS.
  2. Une fois la pile déployée avec succès, vous pouvez commencer à utiliser le pipeline. Créer un /données d'entraînement dossier sous votre emplacement Amazon S3 spécifié pour la saisie. Remarque : Amazon S3 applique automatiquement le chiffrement côté serveur (SSE-S3) pour chaque nouvel objet, sauf si vous spécifiez une option de chiffrement différente. Veuillez consulter Protection des données dans Amazon S3 pour plus de détails sur la protection et le chiffrement des données dans Amazon S3.

ML14789 1 image 8 1

  1. Téléchargez vos données d'entraînement dans le dossier. (Si les données de formation sont semi-structurées, téléchargez tous les fichiers PDF avant de télécharger les informations sur l'étiquette au format .csv).

Vous avez terminé! Vous avez déployé avec succès votre pipeline et vous pouvez vérifier l'état du pipeline dans la fonction d'étape déployée. (Vous aurez un modèle entraîné dans votre panneau de classification personnalisé Amazon Comprehend).

ML14789 1 image 9 1

Si vous choisissez le modèle et sa version dans Amazon Comprehend Console, vous pouvez désormais voir plus de détails sur le modèle que vous venez de former. Il comprend le mode que vous sélectionnez, qui correspond à l'option Q05MultiClass, le nombre d'étiquettes et le nombre de documents formés et de test dans vos données de formation. Vous pouvez également vérifier les performances globales ci-dessous ; cependant, si vous souhaitez vérifier les performances détaillées de chaque classe, veuillez vous référer au rapport de performances généré par le pipeline déployé.

Quotas de services

Votre compte AWS dispose de quotas par défaut pour Amazon Comprehend et AmazonTextract, si les entrées sont au format semi-structuré. Pour afficher les quotas de service, veuillez vous référer ici pour Amazon Comprehend et ici pour AmazonTextract.

Nettoyer

Pour éviter d'encourir des frais courants, supprimez les ressources que vous avez créées dans le cadre de cette solution lorsque vous avez terminé.

  1. Sur la console Amazon S3, supprimez manuellement le contenu des compartiments que vous avez créés pour les données d'entrée et de sortie.
  2. Sur la console AWS CloudFormation, choisissez Piles dans le volet de navigation.
  3. Sélectionnez la pile principale et choisissez Supprimer.

ML14789 1 image 10 1

Cela supprime automatiquement la pile déployée.

  1. Votre modèle de classification personnalisé Amazon Comprehend formé restera dans votre compte. Si vous n'en avez plus besoin, dans la console Amazon Comprehend, supprimez le modèle créé.

Conclusion

Dans cet article, nous vous avons montré le concept d'un pipeline de formation évolutif pour les modèles de classification personnalisés Amazon Comprehend et vous avons fourni une solution automatisée pour former efficacement de nouveaux modèles. Le modèle AWS CloudFormation fourni vous permet de créer sans effort vos propres modèles de classification de texte, en répondant à l'échelle de la demande. La solution adopte la fonctionnalité Euclid récemment annoncée et accepte les entrées au format texte ou semi-structuré.

Maintenant, nous vous encourageons, nos lecteurs, à tester ces outils. Vous pouvez trouver plus de détails sur la préparation des données d’entraînement et comprendre les métriques du classificateur personnalisé. Essayez-le et voyez par vous-même comment il peut rationaliser votre processus de formation de modèles et améliorer l'efficacité. S'il vous plaît partagez-nous vos commentaires!


à propos des auteurs

snghigfSandeep Singh est un scientifique des données senior chez AWS Professional Services. Il a pour passion d'aider les clients à innover et à atteindre leurs objectifs commerciaux en développant des solutions de pointe basées sur l'IA/ML. Il se concentre actuellement sur l'IA générative, les LLM, l'ingénierie rapide et la mise à l'échelle de l'apprentissage automatique dans les entreprises. Il apporte les avancées récentes de l'IA pour créer de la valeur pour les clients.

jananyy 100Yanyan Zhang est un scientifique des données senior au sein de l'équipe Energy Delivery d'AWS Professional Services. Elle est passionnée par le fait d'aider les clients à résoudre des problèmes réels grâce à leurs connaissances en IA/ML. Récemment, elle s'est concentrée sur l'exploration du potentiel de l'IA générative et du LLM. En dehors du travail, elle aime voyager, s'entraîner et explorer de nouvelles choses.

wrick talukdarWrick Talukdar est architecte senior au sein de l'équipe Amazon Comprehend Service. Il travaille avec les clients AWS pour les aider à adopter l'apprentissage automatique à grande échelle. En dehors du travail, il aime lire et photographier.



Lien source

Laisser une réponse

Votre adresse email ne sera pas publiée. Les champs requis sont indiqués *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

fr_FRFrench