L’intelligence artificielle (IA) et l’apprentissage automatique (ML) ont été largement adoptés dans les entreprises et les organisations gouvernementales. Le traitement des données non structurées est devenu plus facile grâce aux progrès du traitement du langage naturel (NLP) et aux services d'IA/ML conviviaux tels que Extrait d'Amazon, Amazon Transcribeet une Amazon comprendre. Les organisations ont commencé à utiliser des services d'IA/ML comme Amazon Comprehend pour créer des modèles de classification avec leurs données non structurées afin d'obtenir des informations approfondies qu'elles n'avaient pas auparavant. Bien que vous puissiez utiliser des modèles pré-entraînés avec un minimum d'effort, sans une conservation des données et un réglage du modèle appropriés, vous ne pouvez pas profiter de tous les avantages des modèles IA/ML.
Dans cet article, nous expliquons comment créer et optimiser un modèle de classification personnalisé à l'aide d'Amazon Comprehend. Nous démontrons cela à l'aide d'une classification personnalisée Amazon Comprehend pour créer un modèle de classification personnalisé multi-étiquettes, et fournissons des directives sur la façon de préparer l'ensemble de données de formation et d'ajuster le modèle pour répondre aux mesures de performances telles que l'exactitude, la précision, le rappel et le score F1. Nous utilisons les artefacts de sortie de formation du modèle Amazon Comprehend, comme une matrice de confusion, pour ajuster les performances du modèle et vous guider dans l'amélioration de vos données de formation.
Vue d'ensemble de la solution
Cette solution présente une approche pour créer un modèle de classification personnalisé optimisé à l'aide d'Amazon Comprehend. Nous passons par plusieurs étapes, notamment la préparation des données, la création de modèles, l'analyse des mesures de performances du modèle et l'optimisation de l'inférence basée sur notre analyse. Nous utilisons un Amazon Sage Maker cahier et les terres parsemées de Console de gestion AWS pour effectuer certaines de ces étapes.
Nous passons également en revue les meilleures pratiques et techniques d'optimisation lors de la préparation des données, de la création et du réglage du modèle.
Pré-requis
Si vous ne disposez pas d'une instance de notebook SageMaker, vous pouvez en créer une. Pour obtenir des instructions, reportez-vous à Créer une instance de notebook Amazon SageMaker.
Préparer les données
Pour cette analyse, nous utilisons l'ensemble de données Toxic Comment Classification de Kaggle. Cet ensemble de données contient 6 étiquettes avec 158,571 10 points de données. Cependant, chaque étiquette ne contient que moins de 1 % du total des données comme exemples positifs, deux des étiquettes en ayant moins de XNUMX %.
Nous convertissons l'ensemble de données Kaggle existant en Amazon Comprehend format CSV à deux colonnes avec les étiquettes divisées à l'aide d'un délimiteur vertical (|). Amazon Comprehend attend au moins une étiquette pour chaque point de données. Dans cet ensemble de données, nous rencontrons plusieurs points de données qui ne correspondent à aucune des étiquettes fournies. Nous créons une nouvelle étiquette appelée propre et attribuons à tous les points de données qui ne sont pas toxiques un résultat positif avec cette étiquette. Enfin, nous avons divisé les ensembles de données organisés en ensembles de données de formation et de test en utilisant un ratio de 80/20 par étiquette.
Nous utiliserons le cahier de préparation des données. Les étapes suivantes utilisent l'ensemble de données Kaggle et préparent les données pour notre modèle.
- Sur la console SageMaker, choisissez Instances de bloc-notes dans le volet de navigation.
- Sélectionnez l'instance de notebook que vous avez configurée et choisissez Ouvrez Jupyter.
- Sur le Nouveauté menu, choisissez terminal.
- Exécutez les commandes suivantes dans le terminal pour télécharger les artefacts requis pour cette publication :
- Fermez la fenêtre du terminal.
Vous devriez voir trois cahiers et train.csv fichiers.
- Choisissez le cahier Préparation des données.ipynb.
- Exécutez toutes les étapes dans le bloc-notes.
Ces étapes préparent l'ensemble de données Kaggle brut à servir d'ensembles de données de formation et de test organisés. Les ensembles de données organisés seront stockés dans le bloc-notes et Service de stockage simple Amazon (Amazon S3).
Tenez compte des directives de préparation des données suivantes lorsque vous traitez des ensembles de données multi-étiquettes à grande échelle :
- Les ensembles de données doivent contenir au moins 10 échantillons par étiquette.
- Amazon Comprehend accepte un maximum de 100 étiquettes. Il s’agit d’une limite souple qui peut être augmentée.
- Assurez-vous que le fichier de l'ensemble de données est correctement formaté avec le délimiteur approprié. Des délimiteurs incorrects peuvent introduire des étiquettes vides.
- Tous les points de données doivent avoir des étiquettes.
- Les ensembles de données de formation et de test doivent avoir une répartition équilibrée des données par étiquette. N'utilisez pas de distribution aléatoire, car cela pourrait introduire des biais dans les ensembles de données de formation et de test.
Créer un modèle de classification personnalisé
Nous utilisons les ensembles de données de formation et de test que nous avons créés lors de l'étape de préparation des données pour construire notre modèle. Les étapes suivantes créent un modèle de classification personnalisée multi-étiquettes Amazon Comprehend :
- Sur la console Amazon Comprehend, choisissez Classement personnalisé dans le volet de navigation.
- Selectionnez Créer un nouveau modèle.
- Pour Nom du modèle, entrez le modèle de classification toxique.
- Pour Nom de la version, entrez 1.
- Pour Annotation et format des données, choisissez Utilisation du mode multi-étiquettes.
- Pour Ensemble de données d'entraînement, entrez l'emplacement de l'ensemble de données de formation organisé sur Amazon S3.
- Selectionnez Ensemble de données de test fourni par le client et entrez l'emplacement des données de test organisées sur Amazon S3.
- Pour Des données de sortie, entrez l'emplacement Amazon S3.
- Pour Rôle IAM, sélectionnez Créer un rôle IAM, spécifiez le suffixe du nom comme « comprehend-blog ».
- Selectionnez Création pour démarrer la formation du modèle de classification personnalisé et la création du modèle.
La capture d'écran suivante montre les détails du modèle de classification personnalisé sur la console Amazon Comprehend.
Optimiser les performances du modèle
La capture d'écran suivante montre les mesures de performances du modèle. Il comprend des indicateurs clés tels que la précision, le rappel, le score F1, l'exactitude, etc.
Une fois le modèle entraîné et créé, il générera le fichier output.tar.gz, qui contient les étiquettes de l'ensemble de données ainsi que la matrice de confusion pour chacune des étiquettes. Pour affiner davantage les performances de prédiction du modèle, vous devez comprendre votre modèle avec les probabilités de prédiction pour chaque classe. Pour ce faire, vous devez créer une tâche d'analyse pour identifier les scores Amazon Comprehend attribués à chacun des points de données.
Effectuez les étapes suivantes pour créer une tâche d'analyse :
- Sur la console Amazon Comprehend, choisissez Emplois d'analyse dans le volet de navigation.
- Selectionnez Créer un emploi.
- Pour Nom, Entrer
toxic_train_data_analysis_job
. - Pour Type d'analyse, choisissez Classement personnalisé.
- Pour Modèles de classification et volants d'inertie, Spécifiez
toxic-classification-model
. - Pour Version, précisez 1.
- Pour Emplacement S3 des données d'entrée, saisissez l'emplacement du fichier de données d'entraînement organisé.
- Pour Format d'entrée, choisissez Un document par ligne.
- Pour Données de sortie Emplacement S3, entrez l'emplacement.
- Pour Autorisations d'accès, sélectionnez Utiliser un rôle IAM existant et choisissez le rôle créé précédemment.
- Selectionnez Créer un emploi pour démarrer le travail d'analyse.
- Sélectionnez le Emplois d'analyse pour afficher les détails du travail. Veuillez prendre note de l'identifiant du travail sous Détails du travail. Nous utiliserons l’identifiant du travail dans notre prochaine étape.
Répétez les étapes pour démarrer la tâche d'analyse pour les données de test organisées. Nous utilisons les résultats de prédiction de nos tâches d'analyse pour en savoir plus sur les probabilités de prédiction de notre modèle. Veuillez noter les identifiants des tâches de formation et d’analyse de tests.
Nous utilisons les Modèle-Seuil-Analyse.ipynb cahier pour tester les sorties sur tous les seuils possibles et noter la sortie en fonction de la probabilité de prédiction à l'aide de scikit-learn precision_recall_curve
fonction. De plus, nous pouvons calculer le score F1 à chaque seuil.
Nous aurons besoin des identifiants de tâche d'analyse Amazon Comprehend comme entrée pour Modèle-Seuil-Analyse carnet de notes. Vous pouvez obtenir les identifiants de tâche à partir de la console Amazon Comprehend. Exécutez toutes les étapes de Modèle-Seuil-Analyse cahier pour observer les seuils pour toutes les classes.
Remarquez comment la précision augmente à mesure que le seuil augmente, tandis que l'inverse se produit avec le rappel. Pour trouver l'équilibre entre les deux, nous utilisons le score F1 où il présente des pics visibles dans leur courbe. Les pics du score F1 correspondent à un seuil particulier pouvant améliorer les performances du modèle. Remarquez que la plupart des étiquettes se situent autour de la barre des 0.5 pour le seuil, à l'exception de l'étiquette de menace, qui a un seuil autour de 0.04.
Nous pouvons ensuite utiliser ce seuil pour des étiquettes spécifiques qui sont sous-performantes avec uniquement le seuil par défaut de 0.5. En utilisant les seuils optimisés, les résultats du modèle sur les données de test s'améliorent pour la menace d'étiquette de 0.00 à 0.24. Nous utilisons le score F1 maximum au seuil comme référence pour déterminer le positif ou le négatif pour cette étiquette au lieu d'une référence commune (une valeur standard comme > 0.7) pour toutes les étiquettes.
Gérer les classes sous-représentées
Une autre approche efficace pour un ensemble de données déséquilibré est suréchantillonnage. En suréchantillonnant la classe sous-représentée, le modèle voit la classe sous-représentée plus souvent et souligne l'importance de ces échantillons. Nous utilisons le Suréchantillonnage-sous-représenté.ipynb notebook pour optimiser les ensembles de données.
Pour cet ensemble de données, nous avons testé l'évolution des performances du modèle sur l'ensemble de données d'évaluation à mesure que nous fournissons davantage d'échantillons. Nous utilisons la technique de suréchantillonnage pour augmenter l'occurrence de classes sous-représentées afin d'améliorer les performances.
Dans ce cas particulier, nous avons testé sur 10, 25, 50, 100, 200 et 500 exemples positifs. Notez que même si nous répétons les points de données, nous améliorons intrinsèquement les performances du modèle en mettant l'accent sur l'importance de la classe sous-représentée.
Prix
Avec Amazon Comprehend, vous payez au fur et à mesure en fonction du nombre de caractères de texte traités. Faire référence à Amazon comprendre les prix pour les coûts réels.
Nettoyer
Lorsque vous avez fini d'expérimenter cette solution, nettoyez vos ressources pour supprimer toutes les ressources déployées dans cet exemple. Cela vous aide à éviter des coûts continus sur votre compte.
Conclusion
Dans cet article, nous avons fourni les meilleures pratiques et des conseils sur la préparation des données, le réglage du modèle à l'aide de probabilités de prédiction et des techniques pour gérer les classes de données sous-représentées. Vous pouvez utiliser ces bonnes pratiques et techniques pour améliorer les mesures de performances de votre modèle de classification personnalisé Amazon Comprehend.
Pour plus d'informations sur Amazon Comprehend, visitez Ressources pour les développeurs Amazon Comprehend pour trouver des ressources vidéo et des articles de blog, et consultez FAQ AWS Comprendre.
À propos des auteurs
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.
Prince Mallari est un scientifique des données NLP au sein de l'équipe des services professionnels d'AWS, spécialisé dans les applications de NLP pour les clients du secteur public. Il est passionné par l'utilisation du ML comme outil permettant aux clients d'être plus productifs. Dans ses temps libres, il aime jouer à des jeux vidéo et en développer un avec ses amis.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- PlatoHealth. Veille biotechnologique et essais cliniques. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/improve-prediction-quality-in-custom-classification-models-with-amazon-comprehend/
- :possède
- :est
- :où
- $UP
- 1
- 10
- 100
- 200
- 24
- 25
- 50
- 500
- 7
- 9
- a
- A Propos
- Accepte
- Compte
- précision
- à travers
- présenter
- En outre
- Adoption
- progrès
- AI
- AI / ML
- Tous
- permettre
- aussi
- Bien que
- Amazon
- Amazon comprendre
- Amazon Sage Maker
- Amazon Web Services
- an
- selon une analyse de l’Université de Princeton
- et les
- tous
- applications
- Applications de la PNL
- une approche
- SONT
- autour
- AS
- Outils
- attribué
- At
- éviter
- AWS
- Balance
- basé
- BE
- car
- devenez
- before
- référence
- avantages.
- LES MEILLEURS
- les meilleures pratiques
- jusqu'à XNUMX fois
- biais
- Blog
- Blogue
- construire
- Développement
- la performance des entreprises
- by
- appelé
- CAN
- Peut obtenir
- maisons
- Modifications
- caractères
- Selectionnez
- classe
- les classes
- classification
- CLIENTS
- commentaire
- Commun
- complet
- comprendre
- calcul
- configurée
- confusion
- Console
- contient
- continue
- convertir
- Costs
- engendrent
- créée
- création
- organisée
- curation
- courbe
- Customiser
- des clients
- Clients
- données
- points de données
- Préparation des données
- Data Scientist
- ensembles de données
- traitement
- profond
- Réglage par défaut
- page de livraison.
- démontrer
- déployé
- détails
- Déterminer
- Développeur
- développement
- distribution
- do
- document
- Ne pas
- download
- pendant
- chacun
- plus facilement
- Efficace
- effort
- souligne
- mettant l'accent
- Entrer
- Entreprise
- évaluation
- exemple
- exemples
- Sauf
- exécuter
- existant
- attend
- Expliquer
- f1
- Automne
- famille
- National
- Déposez votre dernière attestation
- Fichiers
- finalement
- la traduction de documents financiers
- Trouvez
- Abonnement
- Pour
- amis
- De
- plein
- fonction
- plus
- Games
- générer
- obtenez
- Go
- Goes
- Gouvernement
- l'orientation
- guide
- lignes directrices
- manipuler
- Vous avez
- ayant
- he
- aide
- sa
- Comment
- How To
- Cependant
- HTML
- http
- HTTPS
- ID
- identifier
- ids
- importance
- améliorer
- l'amélioration de
- in
- inclut
- Y compris
- Améliore
- increased
- d'information
- intrinsèquement
- contribution
- idées.
- instance
- plutôt ;
- Des instructions
- Intelligence
- développement
- introduire
- IT
- Emploi
- Emplois
- juste
- ACTIVITES
- Libellé
- Etiquettes
- langue
- grande échelle
- APPRENTISSAGE
- apprentissage
- au
- moins
- comme
- LIMIT
- emplacement
- click
- machine learning
- a prendre une
- gestion
- marque
- Matrice
- max
- maximales
- Découvrez
- Menu
- métrique
- Métrique
- pourrait
- minimal
- minimum
- ML
- modèle
- numériques jumeaux (digital twin models)
- PLUS
- (en fait, presque toutes)
- Films
- must
- prénom
- Nature
- Traitement du langage naturel
- Navigation
- Besoin
- négatif
- Nouveauté
- next
- nlp
- cahier
- Remarquer..
- nombre
- observer
- événement
- of
- souvent
- on
- ONE
- uniquement
- à mettre en œuvre pour gérer une entreprise rentable. Ce guide est basé sur trois décennies d'expérience
- Optimiser
- optimisé
- l'optimisation
- organisations
- nos
- sortie
- pain
- particulier
- passionné
- Payer
- /
- performant
- en particulier pendant la préparation
- pipe
- Platon
- Intelligence des données Platon
- PlatonDonnées
- jouer
- veuillez cliquer
- Point
- des notes bonus
- positif
- possible
- Post
- Poteaux
- pratiques
- pragmatique
- La précision
- prédiction
- préparation
- Préparer
- cadeaux
- précédemment
- d'ouvrabilité
- Traité
- traitement
- productif
- professionels
- correct
- fournir
- à condition de
- public
- qualité
- aléatoire
- rapport
- raw
- réaliser
- reportez-vous
- conditions
- Resources
- Résultats
- Rôle
- sagemaker
- Scientifique
- But
- secteur
- sur le lien
- vu
- voit
- besoin
- Services
- plusieurs
- devrait
- Spectacles
- étapes
- Soft
- sur mesure
- Solutions
- RÉSOUDRE
- quelques
- spécialisation
- groupe de neurones
- scission
- Standard
- Commencer
- j'ai commencé
- étapes
- Étapes
- storage
- stockée
- tel
- Prenez
- équipe
- technique
- techniques
- terminal
- tester
- examiné
- texte
- que
- qui
- Le
- leur
- puis
- Ces
- l'ont
- this
- ceux
- menace
- trois
- порог
- Avec
- fiable
- à
- outil
- Total
- qualifié
- Formation
- deux
- sous
- sous-représenté
- comprendre
- us
- Fédéral américain
- utilisé
- convivial
- en utilisant
- Plus-value
- Vidéo
- jeux vidéo
- Voir
- visible
- Visiter
- vs
- personne(s) regarde(nt) cette fiche produit
- we
- web
- services Web
- WELL
- quand
- qui
- tout en
- répandu
- sera
- fenêtre
- comprenant
- sans
- vos contrats
- Vous n'avez
- Votre
- zéphyrnet
- Zip