Prepara tus datos de entrenamiento

Para entrenar tu modelo personalizado, proporciona muestras representativas del tipo de documentos que deseas analizar, etiquetados de la manera en que deseas que AutoML Natural Language etiquete documentos similares. La calidad de los datos de entrenamiento tiene un gran impacto en la eficacia del modelo que creas y, por extensión, en la calidad de las predicciones que muestra ese modelo.

Recopilar y etiquetar documentos de entrenamiento

El primer paso es recopilar un conjunto diverso de documentos de entrenamiento que reflejen la variedad de documentos que deseas que procese el modelo personalizado. Los pasos de preparación de los documentos de entrenamiento varían según si estás entrenando un modelo para la clasificación, la extracción de entidades o el análisis de opiniones.

Importar documentos de entrenamiento

Puedes importar datos de entrenamiento en AutoML Natural Language mediante un archivo CSV en el que se enumeren los documentos y, opcionalmente, que incluya sus etiquetas de categoría o valores de opinión. AutoML Natural Language crea un conjunto de datos a partir de los documentos enumerados.

Datos de entrenamiento y de evaluación

AutoML Natural Language divide los documentos de entrenamiento en tres conjuntos para entrenar un modelo: un conjunto de entrenamiento, un conjunto de validación y un conjunto de prueba.

AutoML Natural Language usa el conjunto de entrenamiento para crear el modelo. El modelo prueba múltiples algoritmos y parámetros mientras busca patrones en los datos de entrenamiento. A medida que el modelo identifica patrones, usa el conjunto de validación para probar los algoritmos y patrones. AutoML Natural Language elige los algoritmos y patrones con mejor rendimiento de aquellos identificados durante la etapa de entrenamiento.

Después de identificar los patrones y algoritmos con mejor rendimiento, AutoML Natural Language los aplica al conjunto de pruebas para evaluar la tasa de error, la calidad y la exactitud.

De forma predeterminada, AutoML Natural Language divide los datos de entrenamiento de forma aleatoria en los tres conjuntos:

  • El 80% de los documentos se usan para el entrenamiento.
  • El 10% de los documentos se utilizan para la validación (ajuste de hiperparámetros o para decidir cuándo detener el entrenamiento).
  • El 10% de los documentos se reservan para pruebas (no se usan durante el entrenamiento).

Si deseas especificar a qué conjunto debe pertenecer cada documento de tus datos de entrenamiento, puedes asignar explícitamente los documentos a los conjuntos en el archivo CSV como se describe en la siguiente sección.

Crear un archivo CSV de importación

Una vez que hayas recopilado todos tus documentos de entrenamiento, crea un archivo CSV en el que se enumeren todos. El archivo CSV puede tener cualquier nombre de archivo, debe estar codificado en UTF-8 y debe terminar con la extensión .csv. Debe almacenarse en el bucket de Cloud Storage asociado con su proyecto.

El archivo CSV tiene una fila para cada documento de entrenamiento y las siguientes columnas en cada fila:

  1. A qué conjunto asignar el contenido de esta fila. Esta columna es opcional y puede ser uno de los siguientes valores:

    • TRAIN: Usa el document para entrenar el modelo.
    • VALIDATION: Usa el document para validar los resultados que muestra el modelo durante el entrenamiento.
    • TEST: Usa el document para verificar los resultados del modelo después de entrenarlo.

    Si incluyes valores en esta columna para especificar los conjuntos, te recomendamos que identifiques, al menos, el 5% de tus datos para cada categoría. El uso de menos del 5% de tus datos para el entrenamiento, la validación o las pruebas puede producir resultados inesperados y modelos ineficaces.

    Si no incluyes valores en esta columna, comienza cada fila con una coma para indicar que la primera columna está vacía. AutoML Natural Language divide de forma automática tus documentos en tres conjuntos: aproximadamente el 80% de los datos para entrenamiento, el 10% para validación y el 10% para pruebas (hasta 10,000 pares para validación y pruebas).

  2. El contenido a clasificar. Esta columna contiene el URI de Cloud Storage para el documento. Los URI de Cloud Storage distinguen entre mayúsculas y minúsculas.

    Para la clasificación y el análisis de opiniones, el documento puede ser un archivo de texto, un archivo PDF, un archivo TIFF o un archivo ZIP; para la extracción de entidades, es un archivo JSONL.

    Para la clasificación y el análisis de opiniones, el valor de esta columna puede ser texto en línea entrecomillado en lugar de un URI de Cloud Storage.

  3. Para los conjuntos de datos de clasificación, tienes la opción de incluir una lista de etiquetas separadas por comas que identifican cómo se categoriza el documento. Las etiquetas deben comenzar con una letra, y solo deben contener letras, números y guiones bajos. Puedes incluir hasta 20 etiquetas para cada documento.

    Para los conjuntos de datos de análisis de opiniones, puedes incluir un número entero que indique el valor de la opinión para el contenido. El valor de la opinión varía de 0 (muy negativo) a un valor máximo de 10 (muy positivo).

Por ejemplo, el archivo CSV para un conjunto de datos de clasificación de varias etiquetas podría tener lo siguiente:

TRAIN, gs://my-project-lcm/training-data/file1.txt,Sports,Basketball
VALIDATION, gs://my-project-lcm/training-data/ubuntu.zip,Computers,Software,Operating_Systems,Linux,Ubuntu
TRAIN, gs://news/documents/file2.txt,Sports,Baseball
TEST, "Miles Davis was an American jazz trumpeter, bandleader, and composer.",Arts_Entertainment,Music,Jazz
TRAIN,gs://my-project-lcm/training-data/astros.txt,Sports,Baseball
VALIDATION,gs://my-project-lcm/training-data/mariners.txt,Sports,Baseball
TEST,gs://my-project-lcm/training-data/cubs.txt,Sports,Baseball

Errores comunes de .csv

  • Usar caracteres unicode en las etiquetas. Por ejemplo, los caracteres japoneses no son compatibles
  • Usar espacios y caracteres no alfanuméricos en las etiquetas
  • Líneas vacías
  • Columnas vacías (líneas con dos comas sucesivas)
  • Comillas faltantes en texto insertado que incluya comas
  • Uso incorrecto de mayúsculas en las rutas de Cloud Storage
  • Un control de acceso incorrecto configurado para tus documentos Tu cuenta de servicio debe tener acceso de lectura o superior, o bien los archivos deben tener acceso público de lectura
  • Referencias a archivos que no son de texto, como archivos JPEG Asimismo, los archivos que no son archivos de texto, pero que se renombraron con una extensión de texto, causarán un error
  • El URI de un documento dirige a un bucket diferente del proyecto actual. Solo se puede acceder a los archivos del bucket del proyecto
  • Archivos sin formato CSV

Crear un archivo ZIP de importación

Para los conjuntos de datos de clasificación, puedes importar documentos de entrenamiento mediante un archivo ZIP. En el archivo ZIP, crea una carpeta para cada etiqueta o valor de opinión, y guarda cada documento dentro de la carpeta correspondiente a la etiqueta o el valor que se aplicará a ese documento. Por ejemplo, el archivo ZIP de un modelo que clasifica correspondencia comercial podría tener esta estructura:

correspondence.zip
    transactional
        letter1.pdf
        letter2.pdf
        letter5.pdf
    persuasive
        letter3.pdf
        letter7.pdf
        letter8.pdf
    informational
        letter6.pdf
    instructional
        letter4.pdf
        letter9.pdf

AutoML Natural Language aplica los nombres de las carpetas como etiquetas a los documentos de la carpeta. Para un conjunto de datos de análisis de opiniones, los nombres de las carpetas son los valores de opinión:

sentiment.zip
    0
        document4.txt
    1
        document3.txt
        document1.txt
        document5.txt
    2
        document2.txt
        document6.txt
        document8.txt
        document9.txt
    3
        document7.txt

¿Qué sigue?