Etiqueta | Explicación | Tipo de datos |
Carpeta de entrada | Carpeta que contiene datos de entrenamiento en forma de datasets estándar para tareas NER. Los datos de entrenamiento deben estar en archivos .json o .csv. El formato de archivo determina el tipo de dataset de la entrada. Estos son los tipos de dataset admitidos:
| Folder |
Modelo de salida | Ubicación de la carpeta de salida en la que se almacenará el modelo entrenado. | Folder |
Archivo de modelo preentrenado (Opcional) | Modelo previamente entrenado que se utilizará para ajustar con precisión el nuevo modelo. La entrada puede ser un archivo de definición de modelo de Esri (.emd) o un archivo de paquete de aprendizaje profundo (.dlpk). Es posible ajustar un modelo previamente entrenado con entidades similares para que se adapte al nuevo modelo. El modelo previamente entrenado se debe haber entrenado con el mismo tipo de modelo y el mismo modelo de base que se utilizará para entrenar el nuevo modelo. | File |
Entidad de dirección (Opcional) | La entidad de dirección se tratará como una ubicación. Durante la inferencia, dichas entidades se geocodificarán con el localizador especificado y se producirá una clase de entidad como resultado del proceso de extracción de entidades. Si no se proporciona un localizador o el modelo entrenado no extrae entidades de dirección, se generará en su lugar una tabla con las entidades extraídas. | String |
Máximo de épocas (Opcional) | Número máximo de épocas para las que se entrenará el modelo. Un valor de época máxima de 1 significa que el dataset se enviará hacia delante y hacia atrás a través de la red neuronal una vez. El valor predeterminado es 5. | Long |
Base del modelo (Opcional) | Especifica la red neuronal preconfigurada que se usará como arquitectura para entrenar el nuevo modelo.
| String |
Tamaño de lote (Opcional) | El número de muestras de entrenamiento que se procesarán a la vez. Este parámetro no se aplica a los modelos con la base de spaCy. El valor predeterminado es 2. 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 |
Argumentos de modelo (Opcional) | Argumentos adicionales para inicializar el modelo, como seq_len para la longitud máxima de secuencia de los datos de entrenamiento, que se tendrán en cuenta para entrenar el modelo. Consulte argumentos de palabra clave en la documentación de EntityRecognizer para obtener la lista de argumentos de modelos compatibles que se pueden utilizar. | Value Table |
Tasa de aprendizaje (Opcional) | El tamaño del paso que indica cuánto se ajustarán las ponderaciones del modelo durante el proceso de entrenamiento. Si no se especifica ningún valor, se deducirá automáticamente una tasa de aprendizaje óptima. | Double |
Porcentaje de validación (Opcional) | Porcentaje de muestras de entrenamiento que se utilizarán para validar el modelo. El valor predeterminado es 10. | Double |
Detener cuando el modelo deja de mejorar (Opcional) | Especifica si el entrenamiento del modelo se detendrá cuando el modelo deje de mejorar o hasta alcanzar el valor del parámetro Máximo de épocas.
| Boolean |
Hacer que la base del modelo se pueda entrenar (Opcional) | Especifica si las capas de base del modelo previamente entrenado se inmovilizarán, de modo que los pesos y sesgos permanezcan tal como se diseñaron originalmente.
| Boolean |
Resumen
Entrena un modelo de reconocimiento de entidades con nombre para extraer un conjunto predefinido de entidades de texto sin procesar.
Más información sobre cómo funciona Reconocimiento de entidades
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 también se puede utilizar para ajustar un modelo entrenado existente.
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.
La entrada a la herramienta es una carpeta que contiene archivos .json o .csv.
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
arcpy.geoai.TrainEntityRecognitionModel(in_folder, out_model, {pretrained_model_file}, {address_entity}, {max_epochs}, {model_backbone}, {batch_size}, {model_arguments}, {learning_rate}, {validation_percentage}, {stop_training}, {make_trainable})
Nombre | Explicación | Tipo de datos |
in_folder | Carpeta que contiene datos de entrenamiento en forma de datasets estándar para tareas NER. Los datos de entrenamiento deben estar en archivos .json o .csv. El formato de archivo determina el tipo de dataset de la entrada. Estos son los tipos de dataset admitidos:
| Folder |
out_model | Ubicación de la carpeta de salida en la que se almacenará el modelo entrenado. | Folder |
pretrained_model_file (Opcional) | Modelo previamente entrenado que se utilizará para ajustar con precisión el nuevo modelo. La entrada puede ser un archivo de definición de modelo de Esri (.emd) o un archivo de paquete de aprendizaje profundo (.dlpk). Es posible ajustar un modelo previamente entrenado con entidades similares para que se adapte al nuevo modelo. El modelo previamente entrenado se debe haber entrenado con el mismo tipo de modelo y el mismo modelo de base que se utilizará para entrenar el nuevo modelo. | File |
address_entity (Opcional) | La entidad de dirección se tratará como una ubicación. Durante la inferencia, dichas entidades se geocodificarán con el localizador especificado y se producirá una clase de entidad como resultado del proceso de extracción de entidades. Si no se proporciona un localizador o el modelo entrenado no extrae entidades de dirección, se generará en su lugar una tabla con las entidades extraídas. | String |
max_epochs (Opcional) | Número máximo de épocas para las que se entrenará el modelo. Un valor de época máxima de 1 significa que el dataset se enviará hacia delante y hacia atrás a través de la red neuronal una vez. El valor predeterminado es 5. | Long |
model_backbone (Opcional) | Especifica la red neuronal preconfigurada que se usará como arquitectura para entrenar el nuevo modelo.
| String |
batch_size (Opcional) | El número de muestras de entrenamiento que se procesarán a la vez. Este parámetro no se aplica a los modelos con la base de spaCy. El valor predeterminado es 2. 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 |
model_arguments [model_arguments,...] (Opcional) | Argumentos adicionales para inicializar el modelo, como seq_len para la longitud máxima de secuencia de los datos de entrenamiento, que se tendrán en cuenta para entrenar el modelo. Consulte argumentos de palabra clave en la documentación de EntityRecognizer para obtener la lista de argumentos de modelos compatibles que se pueden utilizar. | Value Table |
learning_rate (Opcional) | El tamaño del paso que indica cuánto se ajustarán las ponderaciones del modelo durante el proceso de entrenamiento. Si no se especifica ningún valor, se deducirá automáticamente una tasa de aprendizaje óptima. | Double |
validation_percentage (Opcional) | Porcentaje de muestras de entrenamiento que se utilizarán para validar el modelo. El valor predeterminado es 10. | Double |
stop_training (Opcional) | Especifica si el entrenamiento del modelo se detendrá cuando el modelo deje de mejorar o hasta alcanzar el valor del parámetro max_epochs.
| Boolean |
make_trainable (Opcional) | Especifica si las capas de base del modelo previamente entrenado se inmovilizarán, de modo que los pesos y sesgos permanezcan tal como se diseñaron originalmente.
| Boolean |
Muestra de código
El siguiente script de la ventana de Python muestra cómo utilizar la función TrainEntityRecognitionModel.
# Name: TrainEntityRecognizer.py
# Description: Train an Entity Recognition model to 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 = 'train_data'
out_folder = "test_bio_format"
# Run Train Entity Recognition Model
arcpy.geoai.TrainEntityRecognitionModel(in_folder, out_folder)