Reconocimiento automático del habla
También: ASR
Actualizado el
Definición
El reconocimiento automático del habla (ASR, por sus siglas en inglés) es el campo del aprendizaje automático, y el tipo de modelos, que convierte en texto el audio de la voz humana. Los modelos de ASR son el motor de cualquier producto de dictado y transcripción.
Los modelos de ASR modernos son redes neuronales entrenadas con grandes cantidades de voz grabada. Entre las familias más conocidas están Whisper (OpenAI, código abierto), Parakeet (NVIDIA, código abierto) y los motores propietarios de los servicios en la nube de Google, Apple y otros.
La calidad del ASR suele expresarse como tasa de error por palabra (WER) sobre audio de referencia. La calidad real también depende de tu micrófono, tu habitación, tu acento y tu vocabulario, y por eso los diccionarios por usuario y el vocabulario de cada ámbito importan tanto como el modelo principal.
Cómo se construyen los modelos
Un modelo de ASR se entrena con pares de audio y su transcripción correcta, cientos de miles de horas, hasta que puede predecir el texto de un audio que nunca ha oído. Los sistemas antiguos separaban el modelo acústico (de sonidos a fonemas) del modelo de lenguaje (de fonemas a palabras probables). Los actuales son de extremo a extremo: una sola red convierte el audio directamente en tokens de texto, lo que es más sencillo, más preciso y más fácil de ejecutar en hardware de consumo.
Hoy dominan dos arquitecturas. Los modelos codificador-decodificador, como Whisper, leen un fragmento entero de audio y luego escriben la transcripción, lo que los hace precisos y orientados a lotes. Los modelos transductores, como Parakeet, emiten tokens a medida que llega el audio, lo que permite usarlos en directo.
Qué decide la precisión en la práctica
El tamaño del modelo y los datos de entrenamiento marcan el techo. Todo lo que queda por debajo depende de ti: la calidad del micrófono, la distancia a la que estás, el eco de la habitación, el ruido de fondo, el acento y el vocabulario. Los nombres, la jerga y los términos de producto son donde todos los modelos tropiezan, porque son raros en los datos de entrenamiento, y por eso un diccionario personal y un paso de corrección que tenga en cuenta el contexto suelen mejorar la precisión diaria más que pasar a un modelo más grande.
Los modelos abiertos cambiaron la categoría
Hasta 2022, el ASR competitivo vivía detrás de las API en la nube. La publicación abierta de Whisper, seguida de Parakeet y otros, puso el reconocimiento más avanzado al alcance de cualquiera, y Apple silicon dio a los portátiles la potencia para ejecutarlo. Por eso el dictado privado y local pasó en pocos años de ser un compromiso a ser lo normal.
Cómo comparar dos modelos ASR con tu propia voz
Las puntuaciones de los benchmarks describen el audio de los benchmarks. La única forma de saber cómo maneja un modelo tu voz, tu sala y tu vocabulario es ejecutarlo sobre una grabación tuya. La herramienta de línea de comandos del modelo abierto Whisper lo convierte en una tarea breve en Terminal. Antes necesita tener instalados Python y ffmpeg.
- Grábate durante uno o dos minutos hablando como sueles dictar, con algunos nombres y términos técnicos, y guárdalo como archivo de audio.
- Instala Whisper en Terminal con: pip install -U openai-whisper
- Transcribe el archivo con un modelo pequeño: whisper myclip.m4a --model small --output_format txt
- Cambia el nombre del archivo de texto que ha creado y ejecuta el mismo comando con --model turbo.
- Compara las dos transcripciones con lo que dijiste de verdad y cuenta en cada una las palabras erróneas, las que faltan y las que sobran.
- Divide el número de errores entre el número de palabras que dijiste. Esa es tu tasa personal de error por palabra con cada modelo.
Lo que devuelve un modelo ASR además de palabras
Los reconocedores antiguos devolvían una ristra de palabras en minúsculas. Los modelos abiertos actuales devuelven más, y saber qué ofrecen te dice lo que puede hacer un producto basado en ellos sin trabajo extra.
- Puntuación y mayúsculas. Parakeet TDT 0.6B incluye ambas entre sus funciones integradas.
- Marcas de tiempo. Parakeet devuelve marcas de tiempo por palabra y por segmento, y Whisper tiene una opción word_timestamps.
- Archivos de subtítulos. La herramienta de línea de comandos de Whisper puede generar salida en txt, vtt, srt, tsv y json.
- El idioma. Whisper y Parakeet TDT 0.6B v3 detectan los dos el idioma hablado cuando no lo indicas.
- Una traducción. Los modelos multilingües de Whisper pueden traducir al inglés la voz en otros idiomas.
¿Es preciso el ASR? Por qué un mismo modelo tiene muchas puntuaciones
No hay una única cifra de precisión para un modelo ASR. NVIDIA indica una tasa media de error por palabra del 6,34 % para Parakeet TDT 0.6B v3 en los ocho conjuntos de pruebas en inglés del Hugging Face Open ASR Leaderboard, pero cada conjunto va desde el 1,93 % en LibriSpeech test-clean hasta el 11,42 % en Earnings-22, que son grabaciones de presentaciones de resultados de empresas.
El idioma importa tanto como el tipo de audio. La ficha del modelo Whisper dice que los modelos dan buenos resultados en unos 10 idiomas, y que la precisión es menor en los idiomas con menos datos de entrenamiento. Cuando leas una puntuación, comprueba con qué conjunto de pruebas y en qué idioma se midió antes de compararla con otra.
Preguntas que hace la gente.
¿Cuál es el mejor modelo de ASR para dictar?
Para dictar en directo, un modelo capaz de funcionar en streaming como Parakeet, porque las palabras aparecen mientras hablas. Para la mayor cobertura de idiomas, un modelo entrenado en muchos idiomas, como Whisper con 99 u Omnilingual ASR de Meta con más de 1.600. La mayoría de las buenas herramientas usan más de uno y eligen según el idioma y la tarea. En Apple silicon, todos funcionan en local.
¿El ASR es lo mismo que la conversión de voz a texto?
ASR es el nombre técnico de los modelos y del campo de investigación. Voz a texto es el nombre corriente de lo que hacen. En una página de producto, los dos son intercambiables.
¿Por qué el ASR escribe mal mis nombres?
Porque un modelo solo ha visto un nombre tantas veces como apareció en el audio de entrenamiento, y para la mayoría de los nombres y términos de producto eso es muy poco. Escribe la grafía más probable de esos sonidos. Un diccionario con tus propios términos, y una corrección basada en los nombres que puede ver en pantalla o en tu proyecto, lo arreglan mejor que cualquier cambio de modelo.
¿Qué significa ASR?
ASR son las siglas en inglés de automatic speech recognition, reconocimiento automático de voz. Es la tecnología que convierte en texto la voz grabada o en directo.
¿Puedo ejecutar un modelo ASR en mi propio ordenador?
Sí. Los modelos abiertos como Whisper y Parakeet se pueden descargar y ejecutar en local. Whisper se instala con pip y funciona desde Terminal en un Mac.
¿Los modelos ASR añaden puntuación?
Muchos de los actuales sí. NVIDIA incluye la puntuación y las mayúsculas automáticas entre las funciones de Parakeet TDT 0.6B, y Whisper también escribe texto con puntuación.