La corta-historia de la larga-historia de sistemas de reconocimiento de voz para el Español de México


Esté texto está inspirado en una plática impartida durante el panel de PLN realizado en Khipu 2023 (ya sé algunos piensan que speech no es PLN 🤷); y también lo escribo para celebrar la publicación de este artículo que nos tomó una década alcanzar.

¿Cuál es la importancia de las notas?

En el vertiginoso mundo del campo de Inteligencia Artificial uno pensaría que la única forma de lograr avanzar nuestro entendimiento del mundo es producir resultados día con día, sin embargo no siempre es la regla. Por eso me parece importante registrar nuestra experiencia tratando de hacer sistemas de reconocimiento de voz1 para el Español de México, ya que es un ejemplo de investigación que denomino de cocción lenta, es decir investigación que se hace a través de los años poco a poco.

Por otro lado, en esto años que hemos estado haciendo esta investigación hemos enfrentado varios retos asociados a nuestra posición en el ecosistema de la investigación (no somos un centro de especialización en el tema… todavía 😉, en la región no existe inversión💸, es un tema que requiere muchos datos🗄️ y poder de cómputo🖥️). También cometimos varios errores que esperamos que nuevas/vos entusiastas del tema no cometan.

Además creo que dado los avances del campo habrá una intersección cada vez más grande entre el campo de voz y las tareas de PLN, y creo importante documentar dónde estamos ahora:

  • Traducción de voz a voz
  • Sistemas de diálogos con capacidades de voz
  • Resumen de grabaciones de voz

Antecedentes

Es interesante que la idea de crear reconocedores de voz para el Español de México surgió de la mano de la creación de corpus (colecciones de datos lingüísticamente motivados) en E.U. durante la segunda mitad de los noventa, en dónde la creación de reconocedores de voz para el Inglés se estaba estabilizando y se vislumbraba que los corpus serían una pieza importante para avanzar el campo. Ejemplo de estos corpus son:

Estos recursos se pusieron a disposición a través de la organización Linguistic Data Consortium que tiene como misión preservar los recursos, mientras da acceso a estos de forma digital. Sin embargo para tener acceso a los recursos es necesario pagar por el recurso o estar suscrito. Esto fue afortunado para los recursos que lograron sobrevivir todo este tiempo, pero desafortunado para los pioneros del reconocedores de voz del Español de México de inicios del mileno y de la región, ya que no tuvieron acceso directo a estos recursos. Algunos ejemplos de trabajos pioneros en este tema son:

En todos estos casos se crearon nuevos recursos para poder hacer investigación en el campo y la región.

En particular DIMEx100 es un recurso del que conozco bastante porque se creó en el laboratorio donde comencé hacer investigación en PLN. Además el proyecto logró continuidad a través de tres factores:

  • Unió un equipo de lingüistas y computólogos en búsqueda de entender el habla de México
  • Esto desembocó en establecer un componente fonético para el Español de México muy sólido
  • Se absorbió el conocimiento técnico necesario para crear reconocedores de voz

Detours

Para 2009, me unía al esfuerzo de hacer reconocedores de voz para el Español de México con el objetivo de habilitar la tecnología para un robot de Servicio. Tuve suerte porque llegué a un espació que tenía un recurso, DIMEx100, y dominaba una tecnología, Sphinx 3 . En este momento, la tecnología de reconocimiento de voz no era tan sólida y nos permitió explorar líneas alternativas relacionadas a la voz:

Pasando la estafeta

Para 2013 Carlos Hernandez-Mena comenzaba su doctorado y dado a qué no tiene acceso a datos (DIMEx100 tiene una licencia cerrada) decide recolectar su propios corpus, comienza con el corpus CIEMPIESS . Siguiendo los pasos de DIMEx100 y dado que la tecnología de esa época necesitaba una etiquetación a nivel fonético para los llamados diccionarios de pronunciación también los construye con un componente fonético fuerte. Y más que pasar la estafeta, él la tomó 😀 y se propuso diseñar su corpus siguiente los siguientes enfoques:

  1. Habla espontánea, aunque los primeros recursos fueron de habla espontanea después el campo se concentró en habla leía que resulta mucho más fácil de reconocer.
  2. Usó para sus recursos una licencia abierta para poder compartirlos.
  3. Se fijó en tener un balance de género, corpus como DIMEx100 fueron diseñanos con esto en mente, pero más adelante cuando se obtienen datos de internet el balance de género no necesariamente se cumple.

Para 2017, habíamos interiorizado los retos que enfrentamos en la creación de recursos para la generación de reconocedores de voz en Español de México y sobretodo notamos que no había recursos que ejemplificaran el tipo de datos que se necesitan de forma abierta. Este proceso de entender esta situación en el campo se registró en este artículo ; y para lograr la construcción de recursos netamente libres, se recurrió al Sistema de Servicio Social que forma parte de la educación superior en México, dónde por ley estudiantes universitarios tienen que “pagar” 640 horas en trabajo profesional a una actividad de provecho a la sociedad. La metodología seguida en este esfuerzo la registramos en este otro artículo .

Transición a nueva era de datos

El trabajo incansable de Carlos hizo posible la liberación de los siguientes corpus

Estos corpus conforman 216 horas de grabación, pero además gracias a alianzas y la disponibilidad de otros recursos; ahora Carlos puede entrenar con más de 900 horas de audio en Español!🎉💪

Transición a nueva era de tecnológica

El ecosistema tecnológico alrededor de voz ha cambiado varias veces durante este periodo. Comenzamos con Sphinx , en algún momento tuvimos que aprender sobre HTK ; para 2015 el sistema Kaldi se había popularizado para el desarrollo de sistemas de reconocimiento de voz (todavía es muy usado); finalmente en 2016 se comenzaría a consolidar una nueva era enfocada en técnicas de redes neuronales: NeMo , Wav2vec , Whisper

Cada cambio de tecnología significa un esfuerzo muy grande de aprender una nueva nomenclatura, de adaptar los formatos de los datos y de conseguir el hardware necesario para poder sacar provecho de estos avances. Sin embargo, en la nueva era de sistemas end-to-end vemos una convergencia que hace más fácil su uso e integración.

En esta nueva generación hemos podido ajustar de forma fina (FT) dos sistemas basados en NeMO (QuartzNet, Q) y Wav2Vec (W2V) y así obtener nuestros mejores resultados para voz espontanea.

Testing corpus W2V Whisper FT Q FT W2V
HUB-NE 12.84 10.82 14.48 7.48
Callhome 60.29 39.25 55.43 39.12
CIEMPIESS 23.16 15.25 18.57 11.17

Si quieren leer más sobre esta experiencia pueden consultar este artículo:

Nuevos modelos

Uno de los aspectos más interesantes de todo el trabajo invertido y de la época en que vivimos en términos de sistemas de IA, es que ahora Carlos nos comparte los modelos junto con el avance alcanzado de forma directa:

Perspectivas para el futuro

Aunque el reconocimiento de voz para Español de México ha sido difícil; ahora más que nunca es accesible, pronto estaremos estableciendo nuevas fronteras, además ya no hay necesidad de juntar cientos de horas para comenzar hacer algo interesante, con cinco se pueden comenzar adaptar los modelos para los dialectos y condiciones que nos interesen. Todavía existen varios retos para esta línea y para seguir haciendo investigación de cocción lenta:

  • Entender mejor el tipo de errores que la nueva generación de tecnología produce
  • Atender a los diferentes dialectos del Español de México
  • Investigar escenarios que impliquen mucho ruido y múltiples participantes
  • Incursionar en la traducción voz a voz para lenguas originarias

Y por supuesto seguiremos recolectando más corpus 🗫

Notas al pié de página


  1. Desde un punto de vista técnico debería llamarse reconocimeinto del habla en Español, en lugar de reconocimiento de voz; sin embargo, esta apreciación aparece tarde en el campo y prevalece el segundo término↩︎


comments powered by Disqus