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

Synthèse

Exécute un modèle de reconnaissance d’entités nommées entraîné sur les fichiers texte d’un dossier 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 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é 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 d’apprentissage profond (.dlpk). Les fichiers de modèle doivent être stockés localement.

  • Cet outil peut s’exécuter sur une UC 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 la FAQ sur le Deep Learning.

Paramètres

ÉtiquetteExplicationType de données
Dossier en entrée

Dossier contenant les fichiers texte sur lesquels l’extraction d’entités nommées doit être effectuée.

Folder
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
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) stocké localement.

File
Arguments du modèle
(Facultatif)

Arguments supplémentaires, tels qu’un seuil de confiance, qui seront utilisés pour ajuster la sensibilité du modèle.

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

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 et produit des résultats plus précis.

String
Localisateur en entrée
(Facultatif)

Localisateur qui sera utilisé pour géocoder les adresses détectées 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

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

Dossier contenant les fichiers texte sur lesquels l’extraction d’entités nommées doit être effectuée.

Folder
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
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) stocké localement.

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

Arguments supplémentaires, tels qu’un seuil de confiance, qui seront utilisés pour ajuster la sensibilité du modèle.

Les noms des arguments sont 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.

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 et produit des résultats plus précis.

String
in_locator
(Facultatif)

Localisateur qui sera utilisé pour géocoder les adresses détectées 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

Exemple de code

ExtractEntitiesUsingDeepLearning (fenêtre Python)

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

# Name: ExtractEntities.py
# Description: Extract useful entities like "Address", "Date" from text.  
#
# Requirements: ArcGIS Pro Advanced license

# 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)