Reconocimiento de habla (II): bases de datos y métricas

Rubén Rodríguez Abril

En este artículo analizaremos las principales bases de datos utilizadas para el entrenamiento de los modelos de ASR, algunas técnicas de aumento de datos y las métricas más importantes en la materia.

Bases de datos

Al igual sucede en otros ámbitos del NLP, los corpus utilizados para el entrenamiento de sistemas de ASR (automatic speech recognition, reconocimiento automático de habla) suelen contener tanto datos no supervisados, con los que se preentrena al modelo, como datos supervisados, que se utilizan para su afinamiento. Los primeros suelen constituir cerca del 80-90% del total y se componen a su vez de audio a secas (unpaired audio), extraído por lo general de videos de YouTube u otras fuentes similares, y texto a secas (unpaired text), que procede de obras literarias que se encuentran en el dominio público. Los corpus de datos supervisados contienen audio transcrito, y la principal tarea que se plantea en la confección de los mismos es la de alinear los diferentes fragmentos sonoros con su respectiva transcripción fonética.

El corpus de ASR más célebre y utilizado de todos es LibriSpeech, una colección, preparada por Vassil Panayotov con la asistencia de Daniel Povey, de más de 1000 audio libros procedentes del proyecto LibriVox, la mayoría de los cuales pertenecen a su vez al Proyecto Gutenberg. La base de datos contiene 803 millones de tokens y 977.000 palabras diferentes. Los datos de entrenamiento se estructura en tres particiones de 100, 360 y 500 horas respectivamente. Las dos primeras contienen habla limpia, es decir, sin ruido de fondo.

Figura 1: Cada fila de esta tabla corresponde a uno de los subconjuntos de LibriSpeech. Las columnas señalan su duración en horas, la minutos por hablante (de media), la cantidad de hablantes masculinos y femeninos.

Mozilla Common Voice es una base de datos creada a instancias de Mozilla en el año 2017, a partir de archivos MP3 donados por miles de voluntarios. En la actualidad contiene 9.283 horas de audio, acompañadas de sus respectivas transcripciones en texto y los metadatos del hablante (edad, sexo, origen geográfico). De ellas, 7.335 horas han sido ya validadas en 60 idiomas diferentes. Cualquier usuario donar su propia voz (lo cual se realiza leyendo en voz alta frases ofrecidas por la web) así como validar los clips de audio realizados por otros usuarios. Los datos almacenados están a disposición de todos.

El programa Babel, desarrollado por la IARPA, busca paliar la relativa escasez de material grabado en otras lenguas diferentes al inglés, particularmente no occidentales. Y desarrollar sistemas de reconocimiento lingüístico en estos idiomas poco comunes. Con este fin, son recopiladas grabaciones de lenguas pertenecientes a múltiples familias lingüísticas diferentes a la indoeuropea (ustroasiática, sinotibetana, dravídica, etc.). Las grabaciones tienen lugar en diferentes contextos (en un coche, en un café o en la calle) y utilizando diferentes dispositivos (portátiles, móviles, etc.).

Must-C es un corpus multilingüe, diseñado para facilitar el entrenamiento de sistemas de traducción a máquina desde el inglés a 14 lenguas diferentes. El audio es extraído de TED Talks en inglés, mientras que el alineamiento (es decir, la relación de correspondencia entre la lengua hablada, su transcripción y su traducción) se realiza frase a frase. El corpus en su lanzamiento contenía 237 horas mínimas de grabaciones transcritas por lenguaje (400 de media), que versaban sobre diferentes temas y tenían una buena calidad sonora.

VoxPopuli, creado por Facebook AI en 2021, contiene 400k horas de grabaciones sin etiquetar en 23 lenguas diferentes, lo que la convierte en una de las bases de datos más importante para aprendizaje no supervisado existentes en la actualidad. Ademas ofrece 17,3k horas de audio transcrito en 15 idiomas objetivo.

Europarl-ST es una base de datos creada para entrenar sistemas de traducción oral (Speech Language Translation, SLT) desde y hacia 9 idiomas diferentes, en 72 líneas de traducción diferentes. Se ha construido a partir de debates en el Parlamento Europeo sostenidos entre los años 2008 y 2022.

Técnicas de aumento de datos (data augmentation)

Como ya se señaló en múltiples artículos de esta web, las técnicas de aumentos de datos introducen variaciones en los datos de entrada, con el objetivo de prevenir el sobreajuste (overfitting) del modelo, e impedir su memorización. En este artículo, analizaremos tres de las técnicas más utilizadas en reconocimiento de habla: SpecAugment, SpecSwap y la perturbación de velocidad.

SpecAugment actúa distorsionando el espectrograma de entrada de tres maneras diferentes: Máscara de frecuencia, máscara de tiempo y curvatura temporal.

Figura 1: En SpecAugment el enmascaramiento no es más que la anulación (en amarillo) de franjas verticales (frecuencias) u horizontales (tiempo) del espectrograma-mel de la señal. La curvatura temporal supone la dilatación o contracción de una franja horizontal. Fuente: Attention-based hybrid CNN-LSTM and spectral data augmentation for COVID-19 diagnosis from cough sound.

Todas estas distorsiones otorgan robustez al modelo frente a las pérdidas temporales de señal, a la existencia de ruido o a las modificaciones de la señal.

En SpecSwap, las citadas franjas del espectrograma no son anuladas sino que se permutan horizontal y verticalmente.

Por último, la perturbación de velocidad consiste en la mera compresión o dilatación de la señal de audio original, a diferencia de lo que sucede en SpecAugment, en donde lo que se comprimen o dilatan son franjas verticales del espectrograma.

Métricas

Entre las métricas más utilizadas dentro del reconocimiento de habla (y, en general, en todo el ámbito del NLP) se encuentra WER (Word Error Rate), que mide la divergencia entre la cadena esperada y la cadena efectivamente producida por el modelo. Se define mediante la ecuación siguiente:

(S + D + I)/N

donde S son las sustituciones de palabras producidas, D las eliminaciones, I las inserciones, y N el número total de palabras de la cadena de referencia, WER no es más es una versión de la distancia de Levenshtein, adaptada al NLP.

En ocasiones, variantes de WER son utilizadas, como por ejemplo, la exactitud de palabras (Word Accuracy):

W Acc = 1 – WER

o la tasa de error de caracteres (Character Error Rate, CER), en el que la primera de las ecuaciones anteriores queda referida a caracteres antes que a palabras.