martes, 25 de noviembre de 2008

Avances y Retos en los sistemas de VOZ

Las interfaces de voz actualmente son capaces de lidiar con la vocalización de una palabra, un conjunto de palabras, oraciones o incluso conjunto de oraciones.

En un principio, las interfaces de voz tenían que enfrentarse a los siguientes aspectos:

  • Dependencia en el usuario: En un principio, los sistemas eran muy dependientes al timbre de voz de un usuario específico. Era común que una vez programado un software, ya no era capaz de reconocer el timbre de voz de otro usuario. Ahora, los programas de comandos por voz son capaces de distinguir a múltiples usuarios con poco entrenamiento previo.
  • Generación de vocabularios: La creación de este tipo de software tenía que lidiar con la creación de librerías con vocablos elementales muy extensos (y a veces pesados, dependiendo el idioma). Estos diccionarios son quienes proveen a la computadora el mapeo entre lo que dice el usuario y los caracteres que representan.
  • Fidelidad: Capacidad de identificar los vocablos en diversas condiciones. La fidelidad será mejor si se cuentan con más diccionarios.
  • Entrenamiento: Para mejorar la fidelidad, los usuarios tienen que repetir frases estandarizadas con las que el software puede ajustarse al timbre de voz de una persona.

Los puntos anteriores han sido trabajados y actualmente los programas con interfaces de voz tienen una fidelidad de hasta un 98%. Ahora, por mencionar algunos retos de estas interfaces tenemos:

  • Robusto ante ruido: Lograr que un sistema funcione ante diversas condiciones de ruido.
  • Uso de diversos micrófonos: Evitar distorsión al utilizar distintos micrófonos, o una serie de micrófonos en un área determinada.
  • Reverberación: Identificar reverberación o sonido viciado de manera automática cuando las bocinas están muy cerca al micrófono.
  • Modelado acústico: ¿Cómo modelamos fonemas y variaciones acústicas?
  • Modelado de lenguaje: Relacionado a establecer qué tan parecidas son las palabras acústicamente hablando. Cómo identificarlas dependiendo el contexto.
  • Inducción gramatical automática: Lidia con el problema de crear gramáticas para facilitar el desarrollo de sistemas que hablen adecuadamente.

Definitivamente abordar los retos anteriores no es nada sencillo; sin embargo, de la solución de estos problemas podremos contar con un sistema que permita una interacción por voz con uno o varios usuarios de manera más natural.

Eso evitara que la gente se encabrite como en el siguiente video lol.



O conversaciones como esta:

Computer:
Would you like to check your account balance or transfer funds?
Caller:
What's my account balance?
Computer:
I did not understand. Please repeat your request
Caller:
I said what's my account balance?
Computer:
I did not understand. Please repeat your request
Caller:
Listen, I want my account balance!!! or put on the line to your supervisor, now!
Computer:
I did not understand. Please repeat your request
Caller:
F****** off!!! ACCOUNT BALANCE!!! ACCOUNT BALANCE!!! peace of sh#$%

[Jonathan 2008]
Jonahan Eisenzopf, 2008. Top 10 Best Practices for Voice User Interface Design.

[Stephen 2002]
Stephen Cook, 2002. Speach recognition, How to.

[Acero 2008]
Alex Acero, 2008. Speech Technology (Redmond). Microsoft Research.