- Notas relacionadas
- Antes de empezar
- Primeros pasos
- Proyectos
- Conjuntos de datos
- Paquetes ML
- Procesos
- Habilidades ML
- Logs de ML
- Document Understanding en AI Center
- Tutorial
- Guía básica de resolución de problemas
Guía del usuario de AI Center
Clasificación de texto en inglés
Paquetes del SO > Análisis de idioma > EnglishTextClassification
Este es un modelo genérico y reentrenable para la clasificación en inglés. Este paquete ML debe reentrenarse. Si se implementa sin entrenarse antes, la implementación fallará con un error que indica que el modelo no está entrenado.
Este modelo es una arquitectura de aprendizaje profundo para la clasificación de idiomas. Se basa en el modelo RoBERTa, un método autogestionado para preentrenar los sistemas de procesamiento de idiomas naturales. Puede utilizarse una GPU tanto en el momento del servicio como en el del entrenamiento. Una GPU ofrece de 5 a 10 veces más mejoras en la velocidad. El modelo se hizo de código abierto por Facebook AI Research.
JSON con el nombre de clase predecido; confianza asociada a esa predicción de clase (entre 0-1).
Ejemplo:
{
"class": "Positive",
"confidence": 0.9422031841278076
}
{
"class": "Positive",
"confidence": 0.9422031841278076
}
Procesos
Este paquete es compatible con los tres tipos de procesos (entrenamiento completo, entrenamiento y evaluación).
Para la mayoría de casos de uso, no se necesitan especificaciones de parámetros; el modelo utiliza técnicas avanzadas para encontrar un modelo eficiente. En entrenamientos posteriores al primero, el modelo utiliza el aprendizaje incremental (es decir, se utilizará la versión previamente entrenada, al final de una ejecución de entrenamiento).
Leer varios archivos
De forma predeterminada, este modelo leerá todos los archivos con la extensión .csv y .json. (de forma recurrente) en el directorio proporcionado.
Formato de archivo CSV:
Cada archivo CSV puede tener cualquier número de columnas, aunque el modelo solo utilizará dos. Esas columnas estarán especificadas con los parámetros input_column (si no se establece, el valor predeterminado será "input") y target_column (si no se establece, el valor predeterminado será "target").
Por ejemplo, un único archivo CSV puede tener la siguiente apariencia:
input,target
I like this movie,positive
I hated the acting,negative
input,target
I like this movie,positive
I hated the acting,negative
En el archivo de ejemplo anterior, puede iniciarse cualquier tipo de proceso sin añadir ningún parámetro adicional. En el siguiente ejemplo, las columnas deben especificarse de forma explícita:
review,sentiment
I like this movie,positive
I hated the acting,negative
review,sentiment
I like this movie,positive
I hated the acting,negative
Los archivos que no tengan las columnas especificadas por input_column y target_column se omitirán. Además, el delimitador que se utilizará para analizar el archivo puede establecerse estableciendo los parámetros de csv_delimiter. Por ejemplo, si tu archivo está separado por tabuladores, guárdalo con la extensión .csv y establece el parámetro csv_delimiter a ** **
Formato de archivo JSON:
Cada archivo JSON puede ser para un único punto de datos o una lista de puntos de datos. Es decir, cada archivo JSON puede tener uno de los dos siguientes formatos: Un solo punto de datos en un archivo JSON:
{
"input": "I like this movie",
"target": "positive"
}
{
"input": "I like this movie",
"target": "positive"
}
Varios puntos de datos en un archivo .json:
[
{
"input": "I like this movie",
"target": "positive"
},
{
"input": "I hated the acting",
"target": "negative"
}
]
[
{
"input": "I like this movie",
"target": "positive"
},
{
"input": "I hated the acting",
"target": "negative"
}
]
Como ocurre con el archivo .csv, si se establecen los parámetros de input_column y target_column, el formato anula "input" con input_column y "target" con target_column.
Todos los archivos válidos (todos los archivos CSV y los archivos JSON que se ajustan al formato anterior) se fusionarán.
Leer un único archivo
En algunos casos, puede ser útil utilizar un único archivo (aunque tu directorio tenga muchos archivos). En este caso, puede utilizarse el parámetro csv_name. Si se establece, el proceso solo leerá ese archivo. Cuando se establece este parámetro, se habilitan dos parámetros adicionales:
- csv_start_index, que permite al usuario especificar la fila donde empezar a leer.
- csv_end_index, que permite al usuario especificar la fila donde acabar de leer.
Por ejemplo, puedes tener un archivo grande con 20 000 filas, pero podrías querer ver rápidamente cómo se vería una ejecución de entrenamiento en un subconjunto de datos. En este caso, puedes especificar el nombre del archivo y establecer csv_end_index en un valor mucho menor que 20 000.
- input_column: cambia este valor para que coincida con el nombre de tu columna de input del conjunto de datos ("input", de forma predeterminada).
- target_column: cambia este valor para que coincida con el nombre de tu columna de input del conjunto de datos ("target", de forma predeterminada).
- evaluation_metric: establece este valor para cambiar el resultado de la métrica de la función de evaluación y emerger en la IU. Este parámetro puede establecerse en uno de los siguientes valores: "accuracy" (predeterminado), "auroc" (área en la curva ROC), "precision", "recall", "matthews correlation" (coeficiente de la correlación de matthews) y "fscore".
- csv_name: utiliza esta variable si quieres especificar un archivo .csv único que se leerá desde el conjunto de datos.
- csv_start_index: permite especificar la fila donde empezar a leer. Se utiliza en combinación con csv_name.
- csv_end_index: permite especificar la fila donde acabar de leer. Se utiliza en combinación con csv_name.
La función de entrenamiento produce tres artefactos:
- train.csv: los datos que se utilizaron para entrenar el modelo, guardados aquí para su control y trazabilidad.
- validation.csv: los datos que se utilizaron para validar el modelo.
learning-rate-finder.png
: la mayoría de usuarios nunca tendrá que preocuparse de esto. Los usuarios avanzados pueden encontrar esto útil (consulta la sección avanzada). - train-report.pdf: un informe que contiene información resumida de esta ejecución. La primera sección incluye todos los parámetros que el usuario ha especificado. La segunda sección incluye estadísticas sobre los datos (el número de puntos de datos para el entrenamiento, la validación y la suma de comprobación de cada archivo). La última sección incluye dos trazados:
- Trazado de pérdidas: esto traza la pérdida de entrenamiento y de validación como una función del número de epochs. La versión de paquete ML de output siempre será la versión que tuvo la pérdida mínima de validación (no el modelo en el último epoch).
- Trazado de métricas: esto traza una serie de métricas calculadas en el conjunto de validación al final de cada epoch.
La función de evaluación produce dos artefactos:
- evaluation.csv: los datos que se utilizaron para evaluar el modelo.
- evaluation-report.pdf: un informe que contiene información de resumen de esta ejecución. La primera sección incluye todos los parámetros que el usuario ha especificado. La segunda sección incluye estadísticas sobre los datos (el número de puntos de datos para la evaluación y la suma de comprobación del archivo). La tercera sección incluye estadísticas de esa evaluación (para multiclase, las mediciones son ponderadas). La última sección incluye un plan de la matriz de confusión, y un cálculo por clase de "accuracy" (exactitud), "precision" (precisión), "recall" (sensibilidad) y "support" (especifidad), además de sus valores promediados.
Papel
RoBERTa: un enfoque de preentrenamiento BERT robustamente optimizado de Yinhan Liu, Myle Ott, et al.