Entrenamiento de un modelo de clasificación de texto personalizado
Artículo
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 mejorar el modelo.
Para entrenar un modelo, inicie un trabajo de entrenamiento. Solo los trabajos completados correctamente crean un modelo utilizable. Los trabajos de entrenamiento expiran después de siete días. Después de este período, no podrá recuperar los detalles del trabajo. Si el trabajo de entrenamiento se completó correctamente y se creó un modelo, no se verá afectado por la expiración del trabajo. 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.
Requisitos previos
Antes de entrenar el modelo, necesita lo siguiente:
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. Este es el conjunto desde el que el modelo aprende la clase o las clases asignadas a cada documento.
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 entrenado correctamente el modelo, se usa para realizar predicciones de los documentos del conjunto de pruebas. En función de estas predicciones, se calcularán lasmétricas de evaluación del modelo.
Se recomienda asegurarse de que todas las clases se representan adecuadamente en el conjunto de entrenamiento y pruebas.
La clasificación de texto personalizado 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. El sistema intentará tener una representación de todas las clases del conjunto de entrenamiento. 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 tiempo para entrenar el modelo puede llevar entre unos 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. Obtenga 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 completado el entrenamiento, podrá ver el rendimiento del modelo para opcionalmente mejorar el modelo, si es necesario. Una vez que esté satisfecho con el modelo, puede implementarlo, para que pueda usarse para clasificar texto.