Reconocimiento de voz
El dictado de voz de OK Google, el SIRI de Apple, o el Alexa de Amazon tienen mucha ciencia y tecnología detrás que les permitió procesar miles de horas de grabación de sonidos, de decenas de lenguajes, para relacionarlos con millones de palabras escritas. Para entender cómo funciona todo esto, conversamos con Claudio Estienne, del grupo de Procesamiento del Habla del Instituto de Ingeniería Biomédica de la UBA.

El procesamiento del habla es algo que hoy en día damos por descontado cuando usamos un teléfono celular, y le dictamos un mensaje, o una búsqueda, o pedimos que nos traduzca algo en el momento. Lo cierto es que hay décadas de trabajo científico y tecnológico detrás de ello. Hoy en día las ganancias económicas que aporta la tecnología del procesamiento del habla a las empresas del área de la telefonía móvil son enormes, sin contar con los avances que están permeando a otras áreas de la ciencia y la tecnología, como el reconocimiento facial, entre otras.
Perece sencillo: escucho una e, escribo una e en la computadora, ¿no? Para nosotros es muy fácil identificar que casa, casita o casas se refieren a lo mismo, pero un programa de computadora o aplicación, no son inteligentes, sólo tienen la inteligencia que el programador le da, y poderle brindar la capacidad de identificar entre algo que a nosotros nos parece tan simple, requiere de mucho trabajo y dinero.
“Los sistemas actuales de reconocimiento de voz se basan en modelizar estadísticamente cada una de las palabras que el sistema es capaz de entender”, nos explicó el ingeniero Claudio Estienne, investigador y docente de la Facultad de Ingeniería de la Universidad de Buenos Aires. “Este conjunto de palabras que se definen al construir el sistema se llama vocabulario”.
Para ello deben contar con cientos de miles de horas de grabación de diferentes hablantes vocalizando tanto los sonidos para cada letra como cada palabra de un idioma. Por cada audio se necesita de su correspondiente parte escrita: millones de palabras. Esto requiere de mucha inversión económica y una terrible cantidad de recursos que sólo se encuentran disponibles para apenas unos 50 lenguajes, de los 6900 que existen en el mundo.
“Sólo unos 2000 tienen representación en forma escrita y 473 están casi extintos”, explicó el ingeniero. “Sin embargo, aplicaciones como SIRI, Google VoiceSearch, y Google Translate sólo están disponibles en menos de 100 lenguajes”.
Allí es donde entra una de las principales líneas de investigación del equipo de Estienne, salvar e inmortalizar lenguajes de bajos recursos, que se están perdiendo por tener pocos hablantes. Por ejemplo, unos 20 de pueblos originarios de nuestro territorio, 10 de los cuales están en peligro de extinción.
Enseñando a las máquinas a escuchar
“El procesamiento del habla abarca un conjunto de áreas que incluyen: codificación del habla, reconocimiento de voz, síntesis de voz, traducción automática, verificación e identificación del hablante, diarización y comprensión del lenguaje entre otras”, nos contó Estienne.
Todas estas áreas van desde el tratamiento que se le debe hacer a la voz para poder almacenarla de forma digital, a fin de poder comprimirla sin pérdida de información, hasta el reconocimiento de qué palabra coincide con cada uno de esos sonidos, y que el programa pueda comprender qué significa, o si las palabras las dijeron diferentes personas.
“La verificación de hablante se refiere a las técnicas para determinar por medio de la voz si un hablante es quien dice ser o es un impostor”, explicó el ingeniero. “Esto tiene mucho interés en el área forense para casos de espionaje o secuestros extorsivos. La identificación del hablante se ocupa de identificar a un hablante determinado entre un conjunto de hablantes que el sistema conoce. La diarización consiste en encontrar en un audio los segmentos del mismo que corresponden a un determinado hablante”.
“Los algoritmos y modelos estadísticos usados en procesamiento del habla suelen ser similares a los usados en otros problemas relacionados con ciencia de datos e inteligencia artificial como reconocimiento de imágenes, reconocimiento facial, etc”, contó Estienne. “El progreso en los últimos ocho años ha sido extraordinario gracias a las llamadas redes neuronales profundas, en particular en el procesamiento del habla”.
Redes de neuronas virtuales
Claudio Estienne y su Grupo de Procesamiento del Habla,que funciona en el Instituto de Ingeniería Biomédica, utilizan conjuntos asociados de algoritmos muy complejos que son conocidos como Redes Neuronales Profundas. “Las redes neuronales son una categoría de algoritmos computacionales que se usan en aprendizaje automático (machine learning)”, aclaró Estienne.
“Casi todo lo que tiene que ver con machine learning se refiere a algoritmos que son capaces de aprender una tarea mejorando el rendimiento cuando aumenta la experiencia”, continuó el experto.“Este tipo de redes neuronales se empezó a usar en los 80, pero debido a que no había tanta capacidad computacional su utilización resultó bastante limitada”.
“A principios de los 2010 se empezaron a implementar con muchas capas, de ahí el nombre de deeplearning, redes neuronales con muchas capas de profundidad, y empezaron a tener resultados muy buenos en casi todas las aplicaciones de machine learning, o aprendizaje automático”, contó el ingeniero.
“Una red neuronal en general está compuesta por una serie de capas de neuronas”, detalló Estienne. “La primera capa recibe la información de entrada, por ejemplo la imagen de una foto. Esta capa hace un cierto procesamiento sobre la imagen y le pasa el resultado a la siguiente capa, que recibe esa información como entrada, la procesa y la pasa a la siguiente. Así hasta la última capa la cual, en base a la información de las capas anteriores, toma la decisión de salida: por ejemplo si la imagen es una cara, decir a quien pertenece”.
El paradigma de Cero Recursos
Las lenguas más habladas del mundo, como el inglés o el castellano, cuentan con lo que los expertos suelen llamar muchos recursos. Es decir, existen miles de horas de audio, y millones de textos escritos. Eso es vital para poder realizar todos los beneficios que aporta el reconocimiento de voz digital,pero esa cantidad de recursos apenas están disponibles para unos 50 lenguajes.
A los miles de lenguajes que quedan fuera se les suele llamar de “bajos recursos”, y no se benefician de la aplicación de las tecnologías del habla. En la Argentina, si bien el español es de “altos recursos”, existen otros 20 lenguajes de pueblos originarios que no lo son, dentro de los cuales 10 están en peligro de extinción.
“Sería interesante disponer de sistemas que puedan transcribir lenguajes que se están perdiendo”, nos contó Estienne. “Porque el costo de obtención de los recursos mencionados está fuera del alcance de pequeños grupos de investigación como el nuestro, ya que además del costo de los recursos en sí debe agregarse el costo computacional de procesar dicha masa de datos”.
Por eso es que el grupo de Procesamiento del Habla de la Facultad de Ingeniería se propuso lograrlo utilizando una estrategia diferente: “Construir sistemas de reconocimiento de voz de un lenguaje usando solamente la información que tendría disponible un bebé que aprende a hablar dicho lenguaje”.
“Es claro que los humanos no aprendemos a hablar escuchando millones de horas de grabación transcripta, lo cual hace suponer que otros paradigmas de aprendizaje deberían ser investigados”, explicó Estienne. “Ahí es donde aplicamos el paradigma de "cero recursos", que consiste en enseñarle a un sistema a aprender como un bebé”.
Por ahora están lejos de lograr esta meta, que no es sencilla. Se están centrando en tareas más “modestas”, pero de utilidad práctica como la detección de palabras clave. Esta consiste en encontrar determinadas palabras en un audio dado, como por ejemplo la cantidad de veces que aparece COVID19 en un programa de noticias. De este modo van aprendiendo cómo enseñarle a un bebé virtual a aprender un lenguaje nuevo, enseñándole a identificar las palabras que escucha.