Étiquette | Explication | Type de données |
Dossier ou table en entrée | L’entrée peut être une des suivantes :
| Folder; Feature Layer; Table View; Feature Class |
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 entités 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 |
Entité d’adresse (Facultatif) | Entité d’adresse qui sera traitée comme un emplacement. Au cours de l’inférence, de telles entités sont géocodées à l’aide du localisateur spécifié et une classe d’entités est générée par le processus d’extraction d’entités. Si aucun localisateur n’est fourni ou si le modèle entraîné n’extrait pas les entités d’adresse, une table contenant les entités extraites est générée à la place. | String |
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é à utiliser comme architecture pour entraîner le nouveau 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 déduite 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 |
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 utiliser en entrée. Ce paramètre est requis lorsque la valeur du paramètre Dossier ou table en entrée est une table ou une classe d’entités. | Field |
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 Extraire les entités nommées appartenant aux classes spécifiées dans le texte fourni. Ne pas ajouter de balise aux entités appartenant à une autre classe. | String |
Synthèse
Entraîne un modèle de reconnaissance d’entités nommées pour extraire un ensemble prédéfini d’entités à partir d’un texte brut.
En savoir plus sur le fonctionnement de l’outil Reconnaissance d’entités
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 avec un champ de texte et des étiquettes d’entités nommées ou un dossier avec des données d’entraînement dans des fichiers .json ou .csv.
Cet outil utilise des backbones basés sur des transformeurs pour entraîner des modèles NER 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.TrainEntityRecognitionModel(in_folder, out_model, {pretrained_model_file}, {address_entity}, {max_epochs}, {model_backbone}, {batch_size}, {model_arguments}, {learning_rate}, {validation_percentage}, {stop_training}, {make_trainable}, text_field, {prompt})
Nom | Explication | Type de données |
in_folder | L’entrée peut être une des suivantes :
| Folder; Feature Layer; Table View; Feature Class |
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 entités 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 |
address_entity (Facultatif) | Entité d’adresse qui sera traitée comme un emplacement. Au cours de l’inférence, de telles entités sont géocodées à l’aide du localisateur spécifié et une classe d’entités est générée par le processus d’extraction d’entités. Si aucun localisateur n’est fourni ou si le modèle entraîné n’extrait pas les entités d’adresse, une table contenant les entités extraites est générée à la place. | String |
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é à utiliser comme architecture pour entraîner le nouveau 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 déduite 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 |
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 utiliser en entrée. Ce paramètre est requis lorsque la valeur du paramètre in_folder est une table ou une classe d’entités. | Field |
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 Extraire les entités nommées appartenant aux classes spécifiées dans le texte fourni. Ne pas ajouter de balise aux entités appartenant à une autre classe. | String |
Exemple de code
L’exemple suivant démontre comment utiliser la fonction TrainEntityRecognitionModel.
# Name: TrainEntityRecognizer.py
# Description: Train an Entity Recognition model to extract useful entities such as "Address", "Date" from text.
# Import system modules
import arcpy
arcpy.env.workspace = "C:/textanalysisexamples/data"
# Set local variables
in_folder = "train_data"
out_folder = "test_bio_format"
# Run Train Entity Recognition Model
arcpy.geoai.TrainEntityRecognitionModel(in_folder, out_folder)
Environnements
Informations de licence
- Basic: Non
- Standard: Non
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?