Étiquette | Explication | Type de données |
Input Table (Table en entrée) | Classe d’entités ou table contenant un champ de texte avec le texte en entrée du modèle et un champ d’étiquette contenant les étiquettes de la classe cible. | Feature Layer; Table View |
Text Field (Champ de texte) | Champ de texte dans la classe d’entités en entrée ou table qui contient le texte qui sera classé par le modèle. | Field |
Champ d’étiquette | Champ de texte dans la classe d’entités en entrée ou table qui contient les étiquettes de la classe cible pour l’entraînement du modèle. Dans le cas d’une classification de texte à plusieurs étiquettes, spécifiez plusieurs champs de texte. | Field |
Output Model (Modèle en sortie) | Emplacement du dossier en sortie qui va contenir le modèle entraîné. | Folder |
Pretrained Model File (Fichier de modèle pré-entraîné) (Facultatif) | Modèle pré-entraîné qui sera utilisé pour affiner le nouveau modèle. L’entrée peut être un fichier de définition de modèle Esri (.emd) ou un fichier de paquetage de Deep Learning (.dlpk). Un modèle pré-entraîné avec des classes similaires peut être affiné en vue de son adaptation au nouveau modèle. Le modèle pré-entraîné doit avoir été entraîné avec le même type de modèle et le même modèle d’architecture que ceux qui seront utilisés pour entraîner le nouveau modèle. | File |
Max Epochs (Nombre maximal d’époques) (Facultatif) | Nombre maximal d’époques pour lequel le modèle sera entraîné. Une valeur maximale d’époques de 1 signifie que le jeu de données va et vient une fois sur le réseau neuronal. La valeur par défaut est 5. | Long |
Model Backbon (Modèle de backbone) (Facultatif) | Spécifie le réseau neuronal préconfiguré qui servira d’encodeur pour le modèle et extraira les représentations d’entité du texte en entrée sous la forme de vecteurs de longueur fixe. Ces vecteurs sont ensuite transmis sous forme d’entrée au modèle de classification.
| String |
Taille de lot (Facultatif) | Nombre d’échantillons d’entraînement qui seront traités en une fois La valeur par défaut est de 2. L’augmentation de la taille du lot peut améliorer les performances de l’outil. Cependant, plus la taille augmente, plus la mémoire utilisée est importante. Si une erreur se produit en raison d’une mémoire insuffisante, utillisez une taille de lot plus petite. | Double |
Arguments du modèle (Facultatif) | Arguments supplémentaires pour l’initialisation du modèle, tels que seq_len pour la longueur de séquence maximale des données d’entraînement, qui seront pris en compte pour l’entraînement du modèle. Voir les arguments de mot-clé dans la documentation TextClassifier pour obtenir la liste des arguments de modèle pris en charge qui peuvent être utilisés. | Value Table |
Learning Rate (Vitesse d’apprentissage) (Facultatif) | Taille de l’intervalle indiquant dans quelle mesure les pondérations du modèle seront ajustées au cours du processus d’entraînement Si aucune valeur n’est spécifiée, une vitesse d’apprentissage optimale est déterminée automatiquement. | Double |
Validation Percentage (Pourcentage de validation) (Facultatif) | Pourcentage d’échantillons d’entraînement qui sera utilisé pour valider le modèle. La valeur par défaut est 10. | Double |
Stop when model stops improving (Arrêter lorsque le modèle ne s’améliore plus) (Facultatif) | Spécifie si l’entraînement du modèle s’arrête lorsque le modèle ne s’améliore plus ou tant que la valeur de paramètre Max Epochs (Nombre maximal d’époques) n’a pas été atteinte.
| Boolean |
Make model backbone trainable (Adapter le backbone du modèle pour l’entraînement) (Facultatif) | Indique si les couches de backbone dans le modèle pré-entraîné sont figées pour que la conception originale des pondérations et des biais soit conservée.
| Boolean |
Remove HTML Tags (Supprimer les balises HTML) (Facultatif) | Indique si les balises HTML sont supprimées ou non du texte en entrée
| Boolean |
Remove URLs (Supprimer les URL) (Facultatif) | Indique si les URL sont supprimées ou non du texte en entrée
| Boolean |
Synthèse
Entraîner un modèle de classification de texte à une seule ou plusieurs étiquettes pour attribuer une étiquette ou une catégorie prédéfinie au texte non structuré.
En savoir plus sur le fonctionnement de la classification de texte
Utilisation
Cet outil requiert l’installation des structures d’apprentissage profond. Pour configurer votre machine afin d’utiliser des structures d’apprentissage profond dans ArcGIS Pro, consultez la rubrique Installer les structures d’apprentissage profond pour ArcGIS.
Cet outil peut également être utilisé pour affiner un modèle entraîné existant.
Pour exécuter cet outil avec un processeur graphique, définissez l’environnement Processor Type (Type de processeur) sur GPU. Si vous disposez de plusieurs GPU, indiquez l’environnement GPU ID (ID de GPU) à la place.
L’entrée de l’outil est une table ou une classe d’entités contenant des données d’entraînement, avec une zone de texte contenant le texte en entrée et un champ d’étiquette contenant les étiquettes de la classe cible.
Pour en savoir plus sur les exigences relatives à l’exécution de cet outil, ainsi que sur les problèmes que vous pouvez rencontrer, consultez les rubriques FAQ Apprentissage profond. .
Paramètres
arcpy.geoai.TrainTextClassificationModel(in_table, text_field, label_field, out_model, {pretrained_model_file}, {max_epochs}, {model_backbone}, {batch_size}, {model_arguments}, {learning_rate}, {validation_percentage}, {stop_training}, {make_trainable}, {remove_html_tags}, {remove_urls})
Nom | Explication | Type de données |
in_table | Classe d’entités ou table contenant un champ de texte avec le texte en entrée du modèle et un champ d’étiquette contenant les étiquettes de la classe cible. | Feature Layer; Table View |
text_field | Champ de texte dans la classe d’entités en entrée ou table qui contient le texte qui sera classé par le modèle. | Field |
label_field [label_field,...] | Champ de texte dans la classe d’entités en entrée ou table qui contient les étiquettes de la classe cible pour l’entraînement du modèle. Dans le cas d’une classification de texte à plusieurs étiquettes, spécifiez plusieurs champs de texte. | Field |
out_model | Emplacement du dossier en sortie qui va contenir le modèle entraîné. | Folder |
pretrained_model_file (Facultatif) | Modèle pré-entraîné qui sera utilisé pour affiner le nouveau modèle. L’entrée peut être un fichier de définition de modèle Esri (.emd) ou un fichier de paquetage de Deep Learning (.dlpk). Un modèle pré-entraîné avec des classes similaires peut être affiné en vue de son adaptation au nouveau modèle. Le modèle pré-entraîné doit avoir été entraîné avec le même type de modèle et le même modèle d’architecture que ceux qui seront utilisés pour entraîner le nouveau modèle. | File |
max_epochs (Facultatif) | Nombre maximal d’époques pour lequel le modèle sera entraîné. Une valeur maximale d’époques de 1 signifie que le jeu de données va et vient une fois sur le réseau neuronal. La valeur par défaut est 5. | Long |
model_backbone (Facultatif) | Spécifie le réseau neuronal préconfiguré qui servira d’encodeur pour le modèle et extraira les représentations d’entité du texte en entrée sous la forme de vecteurs de longueur fixe. Ces vecteurs sont ensuite transmis sous forme d’entrée au modèle de classification.
| String |
batch_size (Facultatif) | Nombre d’échantillons d’entraînement qui seront traités en une fois La valeur par défaut est de 2. L’augmentation de la taille du lot peut améliorer les performances de l’outil. Cependant, plus la taille augmente, plus la mémoire utilisée est importante. Si une erreur se produit en raison d’une mémoire insuffisante, utillisez une taille de lot plus petite. | Double |
model_arguments [model_arguments,...] (Facultatif) | Arguments supplémentaires pour l’initialisation du modèle, tels que seq_len pour la longueur de séquence maximale des données d’entraînement, qui seront pris en compte pour l’entraînement du modèle. Voir les arguments de mot-clé dans la documentation TextClassifier pour obtenir la liste des arguments de modèle pris en charge qui peuvent être utilisés. | Value Table |
learning_rate (Facultatif) | Taille de l’intervalle indiquant dans quelle mesure les pondérations du modèle seront ajustées au cours du processus d’entraînement Si aucune valeur n’est spécifiée, une vitesse d’apprentissage optimale est déterminée automatiquement. | Double |
validation_percentage (Facultatif) | Pourcentage d’échantillons d’entraînement qui sera utilisé pour valider le modèle. La valeur par défaut est 10. | Double |
stop_training (Facultatif) | Spécifie si l’entraînement du modèle s’arrête lorsque le modèle ne s’améliore plus ou tant que la valeur de paramètre max_epochsn’a pas été atteinte.
| Boolean |
make_trainable (Facultatif) | Indique si les couches de backbone dans le modèle pré-entraîné sont figées pour que la conception originale des pondérations et des biais soit conservée.
| Boolean |
remove_html_tags (Facultatif) | Indique si les balises HTML sont supprimées ou non du texte en entrée
| Boolean |
remove_urls (Facultatif) | Indique si les URL sont supprimées ou non du texte en entrée
| Boolean |
Exemple de code
Le script de fenêtre Python suivant illustre l’utilisation de la fonction TrainTextClassificationModel.
# Name: TrainTextClassification.py
# Description: Train a text classifier model to classify text in different classes.
#
# Requirements: ArcGIS Pro Advanced license
# Import system modules
import arcpy
import os
arcpy.env.workspace = "C:/textanalysisexamples/data"
# Set local variables
in_table = "training_data_textclassifier.csv"
out_folder = "c\\textclassifier"
# Run Train Text Classification Model
arcpy.geoai.TrainTextClassificationModel(in_table, out_folder,
max_epochs=2, text_field="Address", label_field="Country", batch_size=16)
Environnements
Informations de licence
- Basic: Non
- Standard: Non
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?