É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 où sera stocké le modèle entraîné. | Folder |
Fichier de modèle pré-entraîné (Facultatif) | Modèle pré-entraîné 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 est transmis 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 utilisés pour initialiser le modèle. L’argument de modèle pris en charge est sequence_length, ce qui permet de définir la longueur de séquence maximale des données d’entraînement à prendre en compte pour l’entraînement du modèle. | 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 appliqué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 pour les modèles de backbone basés sur des transformeurs et 50 pour le backbone Mistral. | 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 Max Epochs (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 |
Prompt (Facultatif) | Entrée ou instruction spécifique donnée à un grand modèle de langage (LLM) pour générer une sortie attendue. La valeur par défaut est Classer le texte fourni dans les classes spécifiées. Ne pas créer de nouvelles étiquettes pour la classification. | String |
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 ArcGIS Pro, 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 peut être 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.
Cet outil utilise des backbones basés sur des transformeurs pour entraîner des modèles de classification de texte et prend en charge l’apprentissage en contexte avec des invites à l’aide du grand modèle de langage (LLM) Mistral. Pour installer le backbone Mistral, reportez-vous à la rubrique ArcGIS Mistral Backbone.
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}, {prompt})
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 où sera stocké le modèle entraîné. | Folder |
pretrained_model_file (Facultatif) | Modèle pré-entraîné 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 est transmis 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 utilisés pour initialiser le modèle. L’argument de modèle pris en charge est sequence_length, ce qui permet de définir la longueur de séquence maximale des données d’entraînement à prendre en compte pour l’entraînement du modèle. | 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 appliqué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 pour les modèles de backbone basés sur des transformeurs et 50 pour le backbone Mistral. | 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 |
prompt (Facultatif) | Entrée ou instruction spécifique donnée à un grand modèle de langage (LLM) pour générer une sortie attendue. La valeur par défaut est Classer le texte fourni dans les classes spécifiées. Ne pas créer de nouvelles étiquettes pour la classification. | String |
Exemple de code
L’exemple suivant démontre comment utiliser 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
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 ?