Classer du texte à l’aide du Deep Learning (GeoAI)

Synthèse

Exécute un modèle de classification de texte entraîné sur un champ de texte dans une table ou une classe d’entités et met à jour chaque enregistrement en lui attribuant une étiquette de classe ou de catégorie avec une valeur de confiance pour chaque classe.

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 nécessite un fichier de définition de modèle contenant des informations de modèle entraîné. Le modèle peut être entraîné avec l’outil Entraîner le modèle de classification de texte. Le paramètre Fichier de définition du modèle en entrée peut être un fichier JSON de définition de modèle Esri (.emd) ou un paquetage de modèle de Deep Learning (.dlpk). Les fichiers de modèle peuvent être stockés localement ou hébergés sur ArcGIS Living Atlas.

  • Cet outil peut s’exécuter sur une unité centrale (UC) ou une unité de traitement graphique (GPU). Toutefois, le Deep Learning sollicite d’importantes ressources de calcul et un GPU est recommandé. Pour exécuter cet outil avec un processeur, définissez le paramètre d’environnement Type de processeur sur GPU. Si vous avez plusieurs unités de traitement graphique, spécifiez plutôt le paramètre d’environnement ID de GPU.

  • 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

ÉtiquetteExplicationType de données
Table en entrée

Table ou classe d’entités ponctuelles, linéaires ou surfaciques en entrée qui contient le texte à classer et étiqueter.

Feature Layer; Table View
Champ de texte

Champ de texte dans la table ou classe d’entités en entrée qui contient le texte à classer.

Field
Fichier de définition du modèle en entrée

Modèle entraîné qui sera utilisé pour la classification. Le fichier de définition du modèle peut être un fichier JSON de définition de modèle Esri (.emd) ou un paquetage de modèle de Deep Learning (.dlpk) qui est stocké localement ou hébergé sur ArcGIS Living Atlas (.dlpk_remote).

File
Champ d’étiquette de classe
(Facultatif)

Nom du champ qui contiendra l’étiquette de classe ou de catégorie attribuée par le modèle. Le nom de champ par défaut est ClassLabel.

String
Arguments du modèle
(Facultatif)

Arguments supplémentaires, tels que sequence_length ou confidence_threshold, qui seront utilisés pour ajuster la sortie du modèle.

Les noms des arguments sont renseignés par l’outil.

Remarque :

L’argument du modèle confidence_threshold est applicable uniquement pour la classification de texte à plusieurs étiquettes.

Value Table
Obtenir une explication pour chaque prévision
(Facultatif)

Indique si des explications SHAP sont générées. Le délai de génération d’une explication dépend de la longueur de l’entrée.

  • Coché : une explication SHAP est générée pour chaque ligne de la table en sortie.
  • Décoché : aucune explication SHAP n’est générée. Il s’agit de l’option par défaut.
Boolean
Taille de lot
(Facultatif)

Nombre d’échantillons d’entraînement qui seront traités en une fois. La valeur par défaut est 4.

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

Sortie obtenue

ÉtiquetteExplicationType de données
Table mise à jour

Table ou classe d’entités ponctuelles, linéaires ou surfaciques en sortie qui contient le texte classé et étiqueté obtenu à partir des données en entrée avec la valeur de confiance de chaque classe.

Table View; Feature Layer

arcpy.geoai.ClassifyTextUsingDeepLearning(in_table, text_field, in_model_definition_file, {class_label_field}, {model_arguments}, {explain}, {batch_size})
NomExplicationType de données
in_table

Table ou classe d’entités ponctuelles, linéaires ou surfaciques en entrée qui contient le texte à classer et étiqueter.

Feature Layer; Table View
text_field

Champ de texte dans la table ou classe d’entités en entrée qui contient le texte à classer.

Field
in_model_definition_file

Modèle entraîné qui sera utilisé pour la classification. Le fichier de définition du modèle peut être un fichier JSON de définition de modèle Esri (.emd) ou un paquetage de modèle de Deep Learning (.dlpk) qui est stocké localement ou hébergé sur ArcGIS Living Atlas (.dlpk_remote).

File
class_label_field
(Facultatif)

Nom du champ qui contiendra l’étiquette de classe ou de catégorie attribuée par le modèle. Le nom de champ par défaut est ClassLabel.

String
model_arguments
[model_arguments,...]
(Facultatif)

Arguments supplémentaires, tels que sequence_length ou confidence_threshold, qui seront utilisés pour ajuster la sortie du modèle.

Les noms des arguments sont renseignés par l’outil.

Remarque :

L’argument du modèle confidence_threshold est applicable uniquement pour la classification de texte à plusieurs étiquettes.

Value Table
explain
(Facultatif)
  • ENABLE_SHAPUne explication SHAP est générée pour chaque ligne de la table en sortie.
  • DISABLE_SHAPAucune explication SHAP n’est générée. Il s’agit de l’option par défaut.
Boolean
batch_size
(Facultatif)

Nombre d’échantillons d’entraînement qui seront traités en une fois. La valeur par défaut est 4.

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

Sortie obtenue

NomExplicationType de données
updated_table

Table ou classe d’entités ponctuelles, linéaires ou surfaciques en sortie qui contient le texte classé et étiqueté obtenu à partir des données en entrée avec la valeur de confiance de chaque classe.

Table View; Feature Layer

Exemple de code

ClassifyTextUsingDeepLearning (fenêtre Python)

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction ClassifyTextUsingDeepLearning.

# Name: ClassifyText.py
# Description: Classify text into multiple classes
#
# Requirements: ArcGIS Pro Advanced license

# Import system modules
import arcpy

arcpy.env.workspace = "C:/textanalysisexamples/data"

# Set local variables
in_table = "TextClassifierData"
pretrained_model_path_emd = "c:\\classifydata\\TextClassifier.emd"

# Run Classify Text Using Deep Learning
arcpy.geoai.ClassifyTextUsingDeepLearning(in_table, "Address", pretrained_model_path_emd)

Informations de licence

  • Basic: Non
  • Standard: Non
  • Advanced: Oui

Rubriques connexes