Étiquette | Explication | Type de données |
Table en entrée | Table ou classe d’entités contenant un champ de texte qui comporte le texte en entrée pour le modèle et un champ d’étiquette qui comporte les étiquettes de classe cible. | Feature Layer; Table View |
Champ de texte | Champ de texte dans la table ou la classe d’entités en entrée qui contient le texte que le modèle doit classer. | Field |
Champ d’étiquette | Champ de texte dans la table ou la classe d’entités en entrée qui contient les étiquettes de classe cible pour l’entraînement du modèle. Dans le cas de la classification de texte à plusieurs étiquettes, spécifiez plusieurs champs de texte. | Field |
Modèle en sortie | Emplacement du dossier en sortie qui stocke le modèle entraîné. | Folder |
Fichier de modèle pré-entraîné (Facultatif) | Modèle pré-entraîné qui est utilisé pour optimiser le nouveau modèle. L’entrée peut être un fichier de définition de modèle Esri (.emd) ou un fichier de paquetage d’apprentissage profond (.dlpk). Un modèle pré-entraîné avec des classes similaires peut être optimisé pour s’ajuster 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 backbone que ceux qui serviront à entraîner le nouveau modèle. | File |
Nombre maximal d’époques (Facultatif) | Nombre maximal d’époques pour lesquelles le modèle est entraîné. Si le nombre maximal d’époques est égal à 1, le jeu de données va et vient une fois à travers le réseau neuronal. La valeur par défaut est 5. | Long |
Backbone du modèle (Facultatif) | Spécifie le réseau neuronal préconfiguré qui servira d’encodeur pour le modèle et qui extraira les représentations d’entité du texte en entrée sous la forme de vecteurs de longueur fixe. Ces vecteurs sont ensuite transmis en tant qu’entrée à la tête de classification du modèle.
| 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. Il est possible d’augmenter la taille de lot pour améliorer les performances de l’outil. Il convient toutefois de noter que le volume de mémoire utilisée est proportionnel à la taille de lot. Si un message d’erreur s’affiche pour mémoire insuffisante, utilisez une taille de lot plus petite. | Double |
Arguments du modèle (Facultatif) | Arguments supplémentaires pour l’initialisation du modèle, tels queseq_len pour la longueur de séquence maximale des données d’entraînement, qui seront pris en compte lors de l’entraînement du modèle. Reportez-vous aux arguments de mots-clés dans la documentation TextClassifier pour prendre connaissance de la liste des arguments de modèle pris en charge que vous pouvez utiliser. | Value Table |
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 |
Pourcentage de validation (Facultatif) | Pourcentage des échantillons d’entraînement utilisés pour valider le modèle. La valeur par défaut est 10. | Double |
Arrêter lorsque le modèle ne s’améliore plus (Facultatif) | Indique si l’entraînement du modèle s’arrête lorsque ce dernier cesse de s’améliorer ou continue jusqu’à atteindre la valeur du paramètre Nombre maximal d’époques.
| Boolean |
Adapter le backbone du modèle pour l’entraînement (Facultatif) | Spécifie si les couches backbone dans le modèle pré-entraîné sont figées afin que les pondérations et les biais conservent leur conception d’origine.
| Boolean |
Supprimer les balises HTML (Facultatif) | Indique si les balises HTML seront supprimées ou non du texte en entrée.
| Boolean |
Supprimer les URL (Facultatif) | Indique si les URL seront supprimées ou non du texte en entrée.
| Boolean |
Synthèse
Entraîne un modèle de classification de texte à une ou plusieurs étiquettes pour attribuer une catégorie ou une étiquette prédéfinie à un texte non structuré.
En savoir plus sur le fonctionnement de l’outil Classification de texte
Utilisation
Cet outil requiert l’installation des structures de Deep Learning. Pour configurer votre machine afin d’utiliser des structures d’apprentissage profond dans AllSource, consultez la rubrique Installer les structures d’apprentissage profond pour ArcGIS.
Cet outil permet également d’optimiser un modèle entraîné existant.
Pour exécuter cet outil avec un processeur, définissez le paramètre d’environnement Type de processeur sur GPU. Si vous avez plusieurs processeurs, spécifiez plutôt le paramètre d’environnement ID de GPU.
L’entrée dans l’outil est une table ou une classe d’entités contenant des données d’entraînement, avec un champ de texte contenant le texte en entrée et un champ d’étiquette contenant les étiquettes de 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 la FAQ sur le Deep Learning.
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 | Table ou classe d’entités contenant un champ de texte qui comporte le texte en entrée pour le modèle et un champ d’étiquette qui comporte les étiquettes de classe cible. | Feature Layer; Table View |
text_field | Champ de texte dans la table ou la classe d’entités en entrée qui contient le texte que le modèle doit classer. | Field |
label_field [label_field,...] | Champ de texte dans la table ou la classe d’entités en entrée qui contient les étiquettes de classe cible pour l’entraînement du modèle. Dans le cas de la classification de texte à plusieurs étiquettes, spécifiez plusieurs champs de texte. | Field |
out_model | Emplacement du dossier en sortie qui stocke le modèle entraîné. | Folder |
pretrained_model_file (Facultatif) | Modèle pré-entraîné qui est utilisé pour optimiser le nouveau modèle. L’entrée peut être un fichier de définition de modèle Esri (.emd) ou un fichier de paquetage d’apprentissage profond (.dlpk). Un modèle pré-entraîné avec des classes similaires peut être optimisé pour s’ajuster 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 backbone que ceux qui serviront à entraîner le nouveau modèle. | File |
max_epochs (Facultatif) | Nombre maximal d’époques pour lesquelles le modèle est entraîné. Si le nombre maximal d’époques est égal à 1, le jeu de données va et vient une fois à travers 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 qui extraira les représentations d’entité du texte en entrée sous la forme de vecteurs de longueur fixe. Ces vecteurs sont ensuite transmis en tant qu’entrée à la tête de classification du modèle.
| 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. Il est possible d’augmenter la taille de lot pour améliorer les performances de l’outil. Il convient toutefois de noter que le volume de mémoire utilisée est proportionnel à la taille de lot. Si un message d’erreur s’affiche pour mémoire insuffisante, utilisez une taille de lot plus petite. | Double |
model_arguments [model_arguments,...] (Facultatif) | Arguments supplémentaires pour l’initialisation du modèle, tels queseq_len pour la longueur de séquence maximale des données d’entraînement, qui seront pris en compte lors de l’entraînement du modèle. Reportez-vous aux arguments de mots-clés dans la documentation TextClassifier pour prendre connaissance de la liste des arguments de modèle pris en charge que vous pouvez utiliser. | 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 des échantillons d’entraînement utilisés pour valider le modèle. La valeur par défaut est 10. | Double |
stop_training (Facultatif) | Indique si l’entraînement du modèle s’arrête lorsque ce dernier cesse de s’améliorer ou continue jusqu’à atteindre la valeur du paramètre max_epochs.
| Boolean |
make_trainable (Facultatif) | Spécifie si les couches backbone dans le modèle pré-entraîné sont figées afin que les pondérations et les biais conservent leur conception d’origine.
| Boolean |
remove_html_tags (Facultatif) | Indique si les balises HTML seront supprimées ou non du texte en entrée.
| Boolean |
remove_urls (Facultatif) | Indique si les URL seront supprimées ou non du texte en entrée.
| Boolean |
Exemple de code
Le script suivant pour la fenêtre Python 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
Vous avez un commentaire à formuler concernant cette rubrique ?