Extraire des entités à l’aide du Deep Learning (GeoAI)

Synthèse

Exécute un modèle de reconnaissance d’entités nommé entraîné sur les fichiers texte d’un dossier, ou un champ de texte d’une classe ou d’une table d’entités, pour extraire des entités et des emplacements (tels que des adresses, des noms de lieux ou de personnes, des dates ou des valeurs monétaires) dans une table. Si les entités extraites contiennent des adresses, l’outil les géocode à l’aide du localisateur adapté et génère une classe d’entités en sortie.

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 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 reconnaissance d’entités. La valeur du paramètre 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 peuvent être stockés localement ou hébergés sur ArcGIS Living Atlas of the World.

  • Cet outil prend en charge les modèles entraînés avec des backbones basés sur un module de transformation et le backbone Mistral. Pour installer le backbone Mistral, reportez-vous à la rubrique ArcGIS Mistral Backbone.

  • Cet outil prend en charge l’utilisation de modèles de langage tiers créés avec la fonctionnalité d’extensibilité du modèle. La fonctionnalité d’extensibilité du modèle permet de réaliser des tâches d’extraction d’entités à l’aide d’un fichier de modèle Deep Learning personnalisé (.dlpk) qui n’est pas créé avec l’outil Entraîner le modèle de reconnaissance d’entités. Pour en savoir plus sur la création d’un fichier de modèle (.dlpk) Deep Learnnig personnalisé, consultez Utiliser des modèles de langage tiers avec ArcGIS.

  • Cet outil peut s’exécuter sur un CPU ou un 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 processeurs, 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 les rubriques FAQ Apprentissage profond. .

Paramètres

ÉtiquetteExplicationType de données
Dossier ou table en entrée

L’entrée pour ce paramètre peut être l’une des suivantes :

  • Classe ou table d’entités contenant la colonne texte sur laquelle l’extraction d’entités nommées doit être effectuée.
  • Dossier contenant les fichiers texte sur lesquels l’extraction d’entités nommées doit être effectuée.
Folder; Feature Layer; Table View; Feature Class
Table en sortie

Table ou classe d’entités en sortie qui contient les entités extraites. Si un localisateur est fourni et que le modèle extrait des adresses, la classe d’entités sera générée par le géocodage des adresses extraites.

Feature Class; Table; Feature Layer
Fichier de définition du modèle en entrée

Modèle entraîné à utiliser pour extraire des entités du texte. 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).

Pour utiliser un fichier .dlpk qui est entraîné avec le backbone Mistral, il doit être installé avant d’utiliser le modèle. Pour installer le backbone Mistral, reportez-vous à la rubrique ArcGIS Mistral Backbone.

Le fichier .dlpk peut également être un modèle de langage tiers.

Attention :

Un modèle de langage tiers .dlpk peut contenir du code dangereux. Utilisez ces modèles uniquement si vous approuvez leur source.

File
Arguments du modèle
(Facultatif)

Arguments supplémentaires qui seront utilisés par le modèle lors de la réalisation de l’inférence. L’argument du modèle pris en charge est sequence_length, qui permettra d’ajuster la sortie du modèle.

Remarque :

Lorsque vous utilisez un modèle de langage tiers, les arguments du modèle sont mis à jour conformément aux paramètres spécifiés dans le fichier .dlpk. Pour en savoir plus sur la définition des arguments de modèle, consultez la section getParameterInfo de la rubrique Utiliser des modèles de langage tiers avec ArcGIS.

Value Table
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
Zone de localisation
(Facultatif)

Zone ou région géographique dans laquelle les adresses sont censées être localisées. Le texte spécifié sera ajouté à l’adresse extraite par le modèle.

Le localisateur utilise les informations de zone de localisation pour identifier la région ou la zone géographique dans laquelle l’adresse se trouve pour produire des résultats plus précis.

String
Localisateur en entrée
(Facultatif)

Localisateur qui sera utilisé pour géocoder les adresses dans les documents texte en entrée. Un point est généré pour chaque adresse géocodée correctement, puis stocké dans la classe d’entités en sortie.

Address Locator
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 classe ou une table d’entités.

Field

arcpy.geoai.ExtractEntitiesUsingDeepLearning(in_folder, out_table, in_model_definition_file, {model_arguments}, {batch_size}, {location_zone}, {in_locator}, text_field)
NomExplicationType de données
in_folder

L’entrée pour ce paramètre peut être l’une des suivantes :

  • Classe ou table d’entités contenant la colonne texte sur laquelle l’extraction d’entités nommées doit être effectuée.
  • Dossier contenant les fichiers texte sur lesquels l’extraction d’entités nommées doit être effectuée.
Folder; Feature Layer; Table View; Feature Class
out_table

Table ou classe d’entités en sortie qui contient les entités extraites. Si un localisateur est fourni et que le modèle extrait des adresses, la classe d’entités sera générée par le géocodage des adresses extraites.

Feature Class; Table; Feature Layer
in_model_definition_file

Modèle entraîné à utiliser pour extraire des entités du texte. 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).

Pour utiliser un fichier .dlpk qui est entraîné avec le backbone Mistral, il doit être installé avant d’utiliser le modèle. Pour installer le backbone Mistral, reportez-vous à la rubrique ArcGIS Mistral Backbone.

Le fichier .dlpk peut également être un modèle de langage tiers.

Attention :

Un modèle de langage tiers .dlpk peut contenir du code dangereux. Utilisez ces modèles uniquement si vous approuvez leur source.

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

Arguments supplémentaires qui seront utilisés par le modèle lors de la réalisation de l’inférence. L’argument du modèle pris en charge est sequence_length, qui permettra d’ajuster la sortie du modèle.

Remarque :

Lorsque vous utilisez un modèle de langage tiers, les arguments du modèle sont mis à jour conformément aux paramètres spécifiés dans le fichier .dlpk. Pour en savoir plus sur la définition des arguments de modèle, consultez la section getParameterInfo de la rubrique Utiliser des modèles de langage tiers avec ArcGIS.

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.

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

Zone ou région géographique dans laquelle les adresses sont censées être localisées. Le texte spécifié sera ajouté à l’adresse extraite par le modèle.

Le localisateur utilise les informations de zone de localisation pour identifier la région ou la zone géographique dans laquelle l’adresse se trouve pour produire des résultats plus précis.

String
in_locator
(Facultatif)

Localisateur qui sera utilisé pour géocoder les adresses dans les documents texte en entrée. Un point est généré pour chaque adresse géocodée correctement, puis stocké dans la classe d’entités en sortie.

Address Locator
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 classe ou une table d’entités.

Field

Exemple de code

ExtractEntitiesUsingDeepLearning (script autonome)

L’exemple suivant démontre comment utiliser la fonction ExtractEntitiesUsingDeepLearning.

# Name: ExtractEntities.py
# Description: Extract useful entities such as "Address", "Date" from text.  

# Import system modules
import arcpy
import os

arcpy.env.workspace = "C:/textanalysisexamples/data"
dbpath = "C:/textanalysisexamples/Text_analysis_tools.gdb"

# Set local variables
in_folder = 'test_data'
out_table = os.path.join(dbpath, "ExtractedEntities")

pretrained_model_path_emd = "c:\\extractentities\\EntityRecognizer.emd"

# Run Extract Entities Using Deep Learning
arcpy.geoai.ExtractEntitiesUsingDeepLearning(
    in_folder, out_table, pretrained_model_path_emd)

Informations de licence

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

Rubriques connexes