Preparar los datos de entrenamiento

Consulta cómo preparar tus datos de audio y texto para optimizar un modelo de Speech-to-Text personalizado en la Google Cloud consola de Speech. La calidad de los datos de entrenamiento influye en la eficacia de los modelos que creas. Deberá crear un conjunto de datos diverso que contenga audio representativo y contexto de texto directamente relevantes para lo que el modelo responderá durante el tiempo de inferencia en producción, incluido el ruido y el vocabulario inusual.

Para entrenar de forma eficaz un modelo personalizado de Speech-to-Text, necesitas lo siguiente:

  • Un mínimo de 100 horas de audio de datos de entrenamiento, ya sea solo audio o con la transcripción de texto correspondiente como datos verificados. Estos datos son fundamentales para la fase de entrenamiento inicial, ya que permiten que el modelo aprenda los matices de los patrones de habla y el vocabulario. Para obtener más información, consulta Crear un conjunto de datos de referencia.
  • Un conjunto de datos independiente de al menos 10 horas de audio de datos de validación, con la transcripción de texto correspondiente como verdad fundamental.

Antes de empezar

Asegúrate de que tienes una cuenta de Google Cloud , has creado un proyecto de Google Cloud y has habilitado la API Speech-to-Text:

  1. Ve a Cloud Storage.
  2. Crea un contenedor si aún no tienes uno.

Crear conjunto de datos

Para crear un conjunto de datos, tendrás que crear dos subdirectorios en el segmento de Cloud Storage que elijas. Sigue convenciones de nomenclatura sencillas:

  1. Crea un subdirectorio training_dataset para almacenar todos tus archivos de entrenamiento.
  2. Crea un subdirectorio validation_dataset para almacenar todos tus archivos de entrenamiento.
  3. Sube tus archivos de audio y de texto a los directorios siguiendo las directrices de anotación de la verdad fundamental.

Directrices de conjuntos de datos

  • Tanto para el entrenamiento como para la validación, los formatos de archivo admitidos son .wav para los archivos de audio con codificación LINEAR16 y .txt para los archivos de texto, si están disponibles. No uses caracteres que no sean ASCII en los nombres de archivo.
  • Los archivos de audio que estén en el mismo directorio deben proporcionarse en un archivo TXT independiente, cada uno con el mismo nombre que el archivo WAV correspondiente (por ejemplo, my_file_1.wav y my_file_1.txt). Solo debe haber un archivo de transcripción por archivo de audio.

Datos de preparación

  • Todos los archivos de entrenamiento deben proporcionarse en el mismo directorio, sin carpetas anidadas.
  • Opcional: Si está disponible, proporciona transcripciones de los archivos de audio. No se necesitan marcas de tiempo.
  • Asegúrate de que la duración acumulada de los archivos de audio sea superior a 100 horas. Si no es así, la tarea de entrenamiento fallará.

A continuación, se muestra un ejemplo de cómo debería ser la estructura del directorio después de subir los archivos como conjunto de datos de entrenamiento:

├── training_dataset
│   ├── example_1.wav
│   ├── example_1.txt
│   ├── example_2.wav
│   ├── example_2.txt
│   ├── example_3.wav (Note: Audio only instance, without corresponding text)
│   └── example_4.wav (Note: Audio only instance, without corresponding text)

Datos de validación

  • Todos los archivos de validación se proporcionan en el mismo directorio llamado validation_dataset, sin carpetas anidadas.
  • Los audios de validación no deben durar más de 30 segundos cada uno.
  • Proporciona transcripciones correctas de cada uno de los archivos de audio del mismo directorio en un archivo TXT independiente.

A continuación se muestra un ejemplo de cómo debería ser la estructura del directorio después de subir los archivos como conjunto de datos de validación:

├── validation_dataset
│   ├── example_1.wav
│   ├── example_1.txt
│   ├── example_2.wav
│   └── example_2.txt

Directrices de anotación de datos validados

Consulta las siguientes instrucciones de formato.

Numbers

Los números cardinales y ordinales solo deben transcribirse con cifras.

  • Audio: "Una baraja de cartas tiene 52 cartas, 13 rangos de los cuatro palos: diamantes, corazones, tréboles y picas"
  • Texto de referencia: "Una baraja de cartas tiene 52 cartas, 13 rangos de los cuatro palos: diamantes, corazones, tréboles y picas"

Moneda y unidades

Transcríbelos tal como se escriben habitualmente en la configuración regional de la transcripción. Abreviar todas las unidades que sigan a valores numéricos. Si el contexto deja claro que un número o una secuencia de números se refiere a una moneda o a una hora, formatéalo como tal.

Fecha y hora

Transcribe las fechas y las horas en el formato habitual del idioma de transcripción. Escribe las horas en formato hh:mm, si es posible.

Direcciones

Transcribe los nombres completos de las ubicaciones, las carreteras y los estados, por ejemplo, con abreviaturas cuando se pronuncien explícitamente. Las entidades y las ubicaciones deben transcribirse separadas por comas.

Nombres propios y acentos

Transcribe usando la ortografía y la puntuación oficiales. Si un nombre personal puede escribirse de varias formas y el contexto no ayuda, usa la forma más frecuente.

Nombres de marcas, productos y títulos de contenido multimedia

Transcríbelos tal como se escriben oficialmente y de la forma más habitual.

Interjecciones

Las risas u otras vocalizaciones que no sean palabras deben transcribirse con un máximo de tres sílabas. Las risas que se incluyan en el discurso deben ignorarse por completo. Ejemplo:

  • Audio: "ja ja ja ja ja"
  • Texto de referencia: "hahaha"

Varios interlocutores

No las separes con etiquetas de interlocutor, ya que la diarización no suele ser compatible.

Siguientes pasos

Consulta los recursos para aprovechar los modelos de voz personalizados en tu aplicación: