Clasificar texto con aprendizaje profundo (GeoAI)

Resumen

Ejecuta un modelo de clasificación de texto entrenado en un campo de texto en una tabla o clase de entidad y actualiza cada registro con una clase asignada o etiqueta de categoría con cada clase con un valor de confianza.

Más información sobre cómo funciona Clasificación de texto

Uso

  • Esta herramienta requiere la instalación de marcos de aprendizaje profundo. Para configurar su equipo para usar marcos de aprendizaje profundo en ArcGIS AllSource, consulte Instalar marcos de aprendizaje profundo para ArcGIS.

  • Esta herramienta requiere un archivo de definición de modelo que contenga información del modelo entrenado. El modelo se puede entrenar con la herramienta Entrenar modelo de clasificación de texto. El valor del parámetro Archivo de definición de modelo de entrada puede ser un archivo JSON de definición de modelo de Esri (.emd), o un paquete de modelo de aprendizaje profundo (.dlpk). Los archivos de modelo deben almacenarse localmente.

  • Esta herramienta se puede ejecutar en una CPU o una GPU. Sin embargo, el aprendizaje profundo requiere gran potencia de cómputo y se recomienda una GPU. Para ejecutar esta herramienta con la GPU, configure el entorno Tipo de procesador en GPU. Si tiene más de una GPU, especifique el entorno de Id. de GPU en su lugar

  • Para obtener información sobre los requisitos para ejecutar esta herramienta y los problemas que pueden presentarse, consulte Preguntas frecuentes sobre el aprendizaje profundo.

Parámetros

EtiquetaExplicaciónTipo de datos
Tabla de entrada

La tabla o clase de entidad poligonal, de punto o de línea de entrada que contiene el texto que se clasificará y etiquetará.

Feature Layer; Table View
Campo de texto

Un campo de texto en la tabla o clase de entidad de entrada que contiene el texto que se clasificará.

Field
Archivo de definición de modelo de entrada

El modelo entrenado que se utilizará para la clasificación. El archivo de definición de modelo puede ser un archivo JSON de definición de modelo de Esri (.emd), o un paquete de modelo de aprendizaje profundo (.dlpk) almacenado localmente.

File
Campo de etiqueta de clase
(Opcional)

Nombre del campo que contendrá la etiqueta de clase o categoría asignada por el modelo. El nombre de campo predeterminado es ClassLabel.

String
Argumentos de modelo
(Opcional)

Argumentos adicionales, como sequence_length o confidence_threshold, que se utilizarán para ajustar la salida del modelo.

La herramienta rellenará los nombres de los argumentos.

Nota:

El argumento de modelo confidence_threshold solo es aplicable a la clasificación de texto multietiqueta.

Value Table
Obtener explicación para cada predicción
(Opcional)

Especifica si se generarán explicaciones SHAP. El tiempo necesario para generar una explicación dependerá de la longitud de la entrada.

  • Activado: se generará una explicación SHAP para cada fila de la tabla de salida.
  • Desactivado: no se generará ninguna explicación SHAP. Esta es la opción predeterminada.
Boolean
Tamaño de lote
(Opcional)

El número de muestras de entrenamiento que se procesarán a la vez. El valor predeterminado es 4.

Aumentar el tamaño de lote puede mejorar el rendimiento de la herramienta; sin embargo, a medida que aumenta el tamaño del lote, se utiliza más memoria. Si se produce un error de memoria insuficiente, utilice un tamaño de lote más pequeño.

Double

Salida derivada

EtiquetaExplicaciónTipo de datos
Tabla actualizada

La tabla o clase de entidad poligonal, de punto o de línea de salida que contiene el texto clasificado y etiquetado que se deriva de los datos de entrada junto con el valor de confianza para cada clase.

Table View; Feature Layer

arcpy.geoai.ClassifyTextUsingDeepLearning(in_table, text_field, in_model_definition_file, {class_label_field}, {model_arguments}, {explain}, {batch_size})
NombreExplicaciónTipo de datos
in_table

La tabla o clase de entidad poligonal, de punto o de línea de entrada que contiene el texto que se clasificará y etiquetará.

Feature Layer; Table View
text_field

Un campo de texto en la tabla o clase de entidad de entrada que contiene el texto que se clasificará.

Field
in_model_definition_file

El modelo entrenado que se utilizará para la clasificación. El archivo de definición de modelo puede ser un archivo JSON de definición de modelo de Esri (.emd), o un paquete de modelo de aprendizaje profundo (.dlpk) almacenado localmente.

File
class_label_field
(Opcional)

Nombre del campo que contendrá la etiqueta de clase o categoría asignada por el modelo. El nombre de campo predeterminado es ClassLabel.

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

Argumentos adicionales, como sequence_length o confidence_threshold, que se utilizarán para ajustar la salida del modelo.

La herramienta rellenará los nombres de los argumentos.

Nota:

El argumento de modelo confidence_threshold solo es aplicable a la clasificación de texto multietiqueta.

Value Table
explain
(Opcional)
  • ENABLE_SHAPSe generará una explicación SHAP para cada fila de la tabla de salida.
  • DISABLE_SHAPNo se generará ninguna explicación SHAP. Esta es la opción predeterminada.
Boolean
batch_size
(Opcional)

El número de muestras de entrenamiento que se procesarán a la vez. El valor predeterminado es 4.

Aumentar el tamaño de lote puede mejorar el rendimiento de la herramienta; sin embargo, a medida que aumenta el tamaño del lote, se utiliza más memoria. Si se produce un error de memoria insuficiente, utilice un tamaño de lote más pequeño.

Double

Salida derivada

NombreExplicaciónTipo de datos
updated_table

La tabla o clase de entidad poligonal, de punto o de línea de salida que contiene el texto clasificado y etiquetado que se deriva de los datos de entrada junto con el valor de confianza para cada clase.

Table View; Feature Layer

Muestra de código

ClassifyTextUsingDeepLearning (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la función 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)