Transformer du texte à l’aide d’algorithmes de Deep Learning (GeoAI)

Synthèse

Exécute un modèle entraîné de séquence en séquence sur un champ de texte dans une table ou classe d’entités et le met à jour avec un nouveau champ contenant le texte converti, transformé ou traduit.

En savoir plus sur le fonctionnement de la transformation 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 AllSource, 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é à l’aide de l’outil Train Text Classification Model (Entraîner un modèle de classification de texte). Le paramètre Input Model Definition File (Fichier de définition de 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 doivent être stockés en local.

  • Cet outil peut fonctionner sur un CPU ou un GPU. Toutefois, le Deep Learning étant une tâche qui demande beaucoup de ressources de calcul, il est recommandé d’utiliser un GPU. Pour exécuter cet outil avec un GPU, définissez l’environnement Processor Type (Type de processeur) sur GPU. Si vous disposez de plusieurs GPU, indiquez l’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 les rubriques FAQ Apprentissage profond. .

Paramètres

ÉtiquetteExplicationType de données
Input Table (Table en entrée)

Table ou classe d’entités ponctuelles, linéaires ou surfaciques en entrée contenant le texte à transformer.

Feature Layer; Table View
Text Field (Champ de texte)

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

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

Modèle entraîné qui sera utilisé pour la classification. Le fichier de définition de 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) stocké en local.

File
Result Field (Champ de résultat)
(Facultatif)

Nom du champ qui doit contenir le texte transformé dans la table ou la classe d’entités en sortie. Le nom du champ par défaut est Result.

String
Arguments du modèle
(Facultatif)

Arguments supplémentaires (un seuil de confiance, par exemple) qui seront utilisés pour régler la sensibilité du modèle.

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

Value Table
Batch Size (Taille de lot)
(Facultatif)

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

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
Minimum Sequence Length (Longueur de séquence minimale)
(Facultatif)

Nombre minimal de caractères de la chaîne de texte en sortie. La valeur par défaut est 20.

Double
Maximum Sequence Length (Longueur de séquence maximale)
(Facultatif)

Nombre maximal de caractères de la chaîne de texte en sortie. La valeur par défaut est 50.

Double

Sortie obtenue

ÉtiquetteExplicationType de données
Updated Table (Table mise à jour)

Classe d’entités ponctuelles, linéaires ou surfaciques ou la table contenant le texte transformé dérivé des données en entrée.

Table View; Feature Layer

arcpy.geoai.TransformTextUsingDeepLearning(in_table, text_field, in_model_definition_file, {result_field}, {model_arguments}, {batch_size}, {minimum_sequence_length}, {maximum_sequence_length})
NomExplicationType de données
in_table

Table ou classe d’entités ponctuelles, linéaires ou surfaciques en entrée contenant le texte à transformer.

Feature Layer; Table View
text_field

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

Field
in_model_definition_file

Modèle entraîné qui sera utilisé pour la classification. Le fichier de définition de 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) stocké en local.

File
result_field
(Facultatif)

Nom du champ qui doit contenir le texte transformé dans la table ou la classe d’entités en sortie. Le nom du champ par défaut est Result.

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

Arguments supplémentaires (un seuil de confiance, par exemple) qui seront utilisés pour régler la sensibilité du modèle.

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

Value Table
batch_size
(Facultatif)

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

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
minimum_sequence_length
(Facultatif)

Nombre minimal de caractères de la chaîne de texte en sortie. La valeur par défaut est 20.

Double
maximum_sequence_length
(Facultatif)

Nombre maximal de caractères de la chaîne de texte en sortie. La valeur par défaut est 50.

Double

Sortie obtenue

NomExplicationType de données
updated_table

Classe d’entités ponctuelles, linéaires ou surfaciques ou la table contenant le texte transformé dérivé des données en entrée.

Table View; Feature Layer

Exemple de code

TransformTextUsingDeepLearning (fenêtre Python)

Le script de fenêtre Python suivant illustre l’utilisation de la fonction TransformTextUsingDeepLearning.

# Name: TransformText.py
# Description: Translate text from English to German
#
# Requirements: ArcGIS Pro Advanced license

# Import system modules
import arcpy
import os

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

# Set local variables
in_table = os.path.join("translationdata")
pretrained_model_path_emd = "c:\\translatedata\\Seq2Seq.emd"

# Run Transform Text Using Deep Learning
arcpy.geoai.TransformTextUsingDeepLearning(in_table, "EnglishText", pretrained_model_path_emd)