Entrenamiento del modelo de reconocimiento de entidades con nombre personalizadas
Artigo
El entrenamiento es el proceso en el que el modelo aprende de los datos etiquetados. Una vez que se complete el entrenamiento, podrá ver el rendimiento del modelo para determinar si necesita mejorarlo.
Para entrenar un modelo, se inicie un trabajo de entrenamiento, pero solo los trabajos completados correctamente crean un modelo. Los trabajos de entrenamiento expiran después de siete días, lo que significa que no podrá recuperar los detalles del trabajo después de este tiempo. Si el trabajo de entrenamiento se completó correctamente y se creó un modelo, este no se verá afectado. Solo puede tener un trabajo de entrenamiento ejecutándose a la vez y no puede iniciar otros trabajos en el mismo proyecto.
Los tiempos de entrenamiento pueden oscilar desde unos minutos cuando se trabaja con pocos documentos, hasta varias horas según el tamaño del conjunto de datos y la complejidad del esquema.
Prerrequisitos
Un proyecto creado correctamente con una cuenta de Azure Blob Storage configurada
Datos del texto que se ha cargado en la cuenta de almacenamiento.
Antes de iniciar el proceso de entrenamiento, los documentos etiquetados del proyecto se dividen en un conjunto de entrenamiento y un conjunto de pruebas. Cada uno de ellos sirve una función diferente.
El conjunto de entrenamiento se usa en el entrenamiento del modelo, es el conjunto del que este aprende las entidades etiquetadas y qué intervalos de texto se van a extraer como entidades.
El conjunto de pruebas es un conjunto ciego que no se introduce en el modelo durante el entrenamiento, sino solo durante la evaluación.
Una vez completado con éxito el entrenamiento del modelo, este se utiliza para realizar predicciones a partir de los documentos de la prueba y, en función de estas predicciones, se calculan las métricas de evaluación.
Se recomienda asegurarse de que todas las entidades se representan adecuadamente en el conjunto de entrenamiento y pruebas.
Reconocimiento de entidades con nombre personalizadas admite dos métodos para la división de datos:
Dividir automáticamente el conjunto de pruebas de los datos de entrenamiento: El sistema dividirá los datos etiquetados entre los conjuntos de entrenamiento y pruebas, según los porcentajes especificados. La división de porcentaje recomendada es del 80 % para el entrenamiento y el 20 % para las pruebas.
Nota
Si elige la opción Automatically splitting the testing set from training data (Dividir automáticamente el conjunto de pruebas de los datos de entrenamiento), solo los datos asignados al conjunto de entrenamiento se dividirán según los porcentajes proporcionados.
Usar una división manual de datos de entrenamiento y pruebas: este método permite a los usuarios definir qué documentos etiquetados deben pertenecer al conjunto. Este paso solo está habilitado si ha agregado documentos al conjunto de pruebas durante el etiquetado de datos.
Seleccione Trabajos de entrenamiento en el menú de la izquierda.
Seleccione Iniciar un trabajo de entrenamiento en el menú superior.
Seleccione Train a new model (Entrenar un nuevo modelo) y escriba el nombre del modelo en el cuadro de texto. Para sobrescribir un modelo existente, seleccione esta opción y elija el modelo que quiera sobrescribir del menú desplegable. La sobrescritura de un modelo entrenado es irreversible, pero no afectará a los modelos implementados hasta que implemente el nuevo modelo.
Seleccione el método de división de datos. Puede elegir Automatically splitting the testing set from training data (Dividir automáticamente el conjunto de pruebas de los datos de entrenamiento), y el sistema dividirá los datos etiquetados entre los conjuntos de entrenamiento y pruebas, según los porcentajes especificados. También puede usar una división manual de datos de entrenamiento y pruebas; esta opción solo está habilitada si ha agregado documentos al conjunto de pruebas durante el etiquetado de datos. Consulte Entrenamiento de un modelo para obtener información sobre la división de datos.
Seleccione el botón Entrenar.
Si selecciona el id. de trabajo de entrenamiento de la lista, aparecerá un panel lateral donde podrá comprobar el progreso del entrenamiento, el estado del trabajo y otros detalles de este trabajo.
Nota
Los trabajos de entrenamiento completados correctamente serán los únicos que generarán modelos.
El entrenamiento puede tardar entre un par de minutos y varias horas en función del tamaño de los datos etiquetados.
Solo puede haber un trabajo de entrenamiento ejecutándose en un momento dado. No se puede iniciar otro trabajo de entrenamiento dentro del mismo proyecto hasta que se complete el trabajo en ejecución.
Inicio del trabajo de entrenamiento
Envíe una solicitud POST mediante la dirección URL, los encabezados y el cuerpo JSON para enviar un trabajo de entrenamiento. Reemplace los valores de los marcadores de posición por sus propios valores.
Nombre del proyecto. Este valor distingue mayúsculas de minúsculas.
myProject
{API-VERSION}
Versión de la API a la que se llama. El valor al que se hace referencia aquí se corresponde con la versión más reciente publicada. Consulte Ciclo de vida del modelo para obtener más información sobre otras versiones de API disponibles.
2022-05-01
encabezados
Use el siguiente encabezado para autenticar la solicitud.
Clave
Valor
Ocp-Apim-Subscription-Key
Clave para el recurso. Se usa para autenticar las solicitudes de API.
Cuerpo de la solicitud
Use el siguiente código JSON en el cuerpo de la solicitud. El modelo se denominará {MODEL-NAME} una vez completado el entrenamiento. Solo los trabajos de entrenamiento correctos generarán modelos.
Nombre que se asignará al modelo una vez entrenado correctamente.
myModel
trainingConfigVersion
{CONFIG-VERSION}
Se trata de la versión de modelo que se usará para entrenar el modelo.
2022-05-01
evaluationOptions
Opción para dividir los datos en conjuntos de entrenamiento y pruebas.
{}
kind
percentage
Métodos de división. Los valores posibles son percentage o manual. Para más información, consulte Cómo entrenar un modelo.
percentage
trainingSplitPercentage
80
Porcentaje de los datos etiquetados que se incluirán en el conjunto de entrenamiento. El valor recomendado es 80.
80
testingSplitPercentage
20
Porcentaje de los datos etiquetados que se incluirán en el conjunto de pruebas. El valor recomendado es 20.
20
Nota
trainingSplitPercentage y testingSplitPercentage solo son necesarios si Kind está establecido en percentage y la suma de ambos porcentajes es igual a 100.
Una vez que envíe la solicitud de API, recibirá una respuesta 202 que indica que el trabajo se ha enviado correctamente. En los encabezados de respuesta, extraiga el valor location. Tendrá el formato siguiente:
{JOB-ID} se usa para identificar la solicitud, ya que esta operación es asincrónica. Puede usar esta dirección URL para obtener el estado del entrenamiento.
Obtención del estado del trabajo de entrenamiento
El entrenamiento puede tardar un tiempo en función del tamaño de los datos de entrenamiento y la complejidad del esquema. Puede usar la siguiente solicitud para mantener el sondeo del estado del trabajo de entrenamiento hasta que se complete correctamente.
Use la siguiente solicitud GET para obtener el estado del proceso de entrenamiento del modelo. Reemplace los valores de los marcadores de posición por sus propios valores.
Nombre del proyecto. Este valor distingue mayúsculas de minúsculas.
myProject
{JOB-ID}
Id. para buscar el estado del entrenamiento del modelo. Este valor se encuentra en el valor de encabezado location que recibió en el paso anterior.
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION}
Versión de la API a la que se llama. El valor al que se hace referencia aquí se corresponde con la versión más reciente publicada. Consulte Ciclo de vida del modelo para obtener más información sobre otras versiones de API disponibles.
2022-05-01
encabezados
Use el siguiente encabezado para autenticar la solicitud.
Clave
Valor
Ocp-Apim-Subscription-Key
Clave para el recurso. Se usa para autenticar las solicitudes de API.
Cuerpo de la respuesta
Una vez que envíe la solicitud, recibirá la siguiente respuesta.
Para cancelar un trabajo de entrenamiento en Language Studio, vaya a la página Trabajos de entrenamiento. Seleccione el trabajo de entrenamiento que desea cancelar y seleccione Cancelar en el menú superior.
Cree una solicitud POST con la dirección URL, los encabezados y el cuerpo JSON que se indican a continuación para cancelar un trabajo de entrenamiento.
URL de la solicitud
Use la siguiente dirección URL al crear la solicitud de API. Reemplace los valores de los marcadores de posición por sus propios valores.
Nombre del proyecto. Este valor distingue mayúsculas de minúsculas.
EmailApp
{JOB-ID}
Este valor es el identificador del trabajo de entrenamiento.
XXXXX-XXXXX-XXXX-XX
{API-VERSION}
Versión de la API a la que se llama. El valor al que se hace referencia es para la versión del modelo más reciente publicada.
2022-05-01
encabezados
Use el siguiente encabezado para autenticar la solicitud.
Clave
Valor
Ocp-Apim-Subscription-Key
Clave para el recurso. Se usa para autenticar las solicitudes de API.
Después de enviar la solicitud de API, recibirá una respuesta 202 con un encabezado Operation-Location que se usa para comprobar el estado del trabajo.
Pasos siguientes
Una vez que se complete el entrenamiento, podrá ver el rendimiento del modelo para tener la opción de mejorarlo, si es necesario. Cuando esté satisfecho con el modelo, puede implementarlo y permitir que esté disponible para extraer entidades del texto.