miércoles, 26 de noviembre de 2008

Via Voice 10

La primera computadora que tuve era una ensamble de 64MB de memoria RAM y 333Mhz de procesamiento. A pesar de las características tan limitadas, traía un software que permitía dictarle a la computadora: así fue como conocí las interfaces de voz. El software era lento y fácilmente superado por una taquimecanógrafa; no obstante era lo suficientemente veloz y preciso para que el intento valiera la pena en un usuario común y corriente.

El Software del que estoy hablando es nada más y nada menos que Via Voice de IBM cuya primera versión fue liberada en 1999. Actualmente se encuentran por ahí de la versión 10 y tiene características "multi-modales", es decir, todo el proceso de dictado en un procesador de palabras se puede realizar sin tocar en ningún momento el teclado o el mouse.

A diferencia del reconocedor de Windows es más versátil al identificar en qué momento es un comando y en qué momento se trata del dictado de palabras. La versión 10 tiene 4 ediciones diferentes: Pro USB, Advanced, Standard y Personal (con dos alternativas similares para Mac OS).

En la edición Advanced, el software es capaz de crear comandos dependiendo la costumbre del usuario. A difrencia del proporcionado por Windows, es el software quien se entrena para entender a la persona y no al revés. El programa funciona en cualquier aplicación que permita entrada de texto así como también para navegar por el Web utilizando la voz.

Otra de sus características técnicas es que es uno de las primeras aplicaciones en utilizar técnicas de eliminación de ruido.

En su versión Personal tiene un costo de 30 usd y en la Advanced de 80 usd, y es lo que a mi consideración no lo ha hecho popular a pesar de su demo gratuito.

Por otro lado, a pesar de los grandes avances en reconocimiento de voz y adaptabilidad, el dictado no siempre es un método popular para escribir textos. La principal razón que los usuarios dan es la confiabilidad; prefieren ir a la segura con el teclado que estarse peleando con un un micrófono que quizá no les entienda del todo.

[IBM 2005]
IBM Via Voice, 2005. Home Web page.

martes, 25 de noviembre de 2008

Your pad or MiPad

Continuando con este asunto de las interfaces de voz, una de las primeras aplicaciones desarrolladas por Microsoft en los laboratorios de reconocimiento de voz es MiPad. La aplicación es "multimodal interactive notepad", y está pensada para dispositivos móviles. Según los laboratorios de Microsoft, es la combinación perfecta entre comandos de voz y el uso de un stylus. Aquí se muestra un ejemplo de baja fidelidad de la aplicación:



La idea es que al presionar "Tap & Talk" los campos que son difíciles de llenar con un stylus, sean llenados con comandos de voz. Y como se trata de campos predefinidos, el reconocedor de voz puede trabajar de mejor forma, ya que en campos donde se pide un número telefónico el sistema esperará vocalizaciones relacionadas con dígitos, o bien con nombres para el caso de otros registros.

El software esaba pensado enn un inicio para el uso interno de los investigadores en Microsoft; sin embargo tuvo tanto éxito que se programó una versión comercial para iPaq de Compaq. Un video de la demostración puede ser consultado aquí.

MiPad ofrece la posibilidad de corregir una palabra a través de menús contextuales, haciendo tap sobre una palabra equivocada y luego repitiendo el comando de voz para corregirla. El formato Tap y habla (Tap and talk) siempre está disponible en el dispositivo, permitiendo crear accesos directos a las aplicaciones de la iPaq sin tener que muchos clics con el incómodo stylus. "Quiero registrar una cita" abrirá inmediatamente el formulario para guardar citas.

Como vemos en el ejemplo anterior, las ventajas de las interfaces manejadas por voz son interesantes. Por enlistar algunas observamos:

1. Se dispone de las manos y la vista libres. En el caso del ejemplo anterior sería un modo más eficiente pra introducir texto.

2. Ideal para discapacitados. En aplicaciones Web o de escritorio para ciegos, o con problemas que impidan introducir texto de manera natural. Por ejemplo, una página Web puede ser leída automáticamente después de una búsqueda por voz.

3. Ideal para personas con poca habilidad en el teclado. Interfaces basadas en voz son útiles para aquellos que escriben lento en el teclado.

4. Personas disléxicas. Las interfaces de voz minimizan este problema ya que la dislexia se presenta generalmente al escribir

[Microsoft 2008]
Microsoft Speech Lab, 2008. Your Pad or MiPad. Speech Technology Home.


[Kirriemuir 2003]
John Kirriemuir, 2003. Speech Recognition Technologies.

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.

Las interfaces de usuario basadas en VOZ

¿Alguna vez han marcado al conmutador principal de la UDLA?, los que han tenido la oportunidad de hacerlo habrán notado que existe un conmutador "automático" que permite contactar a un departamento de la universidad con tan sólo decir su nombre; por ejemplo, "Segruidad", "Sorteo", "CEUDLA", etc.

Una interfaz de usuario basada en voz es aquella donde el usuario interactua con las computadoras o dispositivos electrónicos utilizando comandos de voz para iniciar procesos o servicios automatizados. Algunos de estos pueden responder de la misma forma (con voz), mientras que otros sólo se enfocan en realizar una tarea. [Nielsen 2003]. El software con interfaces basadas en voz utiliza dispositivos como micrófonos y bocinas para procesar/transmitir mensajes de voz.

En ocasiones para algunos, resulta difícil darse a entender con este tipo de sistemas por las siguientes razones:

1. El usuario adopta una posición astuta y trata de corromper el software. Prueba a la máquina con palabras apenas entendibles.

2. El que habla se siente inseguro porque identifica que su interlocutor es una máquina.

3. El usuario se desespera cuando el sistema no reconoce lo que dijo.

4. La persona al saber que habla con una computadora, utiliza palabras monosilábicas o frases cortadas creyendo que de esta manera será más facil darse a entender.

5. El interlocutor no consigue su objetivo debido a que el software no interpreta adecuadamente las palabras.

Aunque suene a tecnología sacada de star trek, las interfaces de voz tienen su fundamento en el reconocimiento del habla la cual es transformada en caracteres legibles por la computadora.


El proceso anterior transforma los patrones de ondas sonoros en fonemas (pe: "bla", "ble", "bli", "blo", "blu"). Así mismo, tiene distintas clasificaciones, las cuales dependen de cómo el software identifica el inicio y fin de una instrucción de voz. Algunas de estas son [Stephen 2002]:

1. Palabras aisladas: El software necesita un silencio considerable antes y después del sonido muestra. A estos sistemas se les conoce como "escucho/no-escucho".

2. Palabras conectadas: El software puede interpretar palabras de corrido con una ligera pausa antes y después de cada palabra.

3. Habla contínua: Son de los sistemas más complejos porque deben determinar las fronteras de cada palabra por sí solos. Son ideales para dictado y generalmente requieren entrenamiento por redes neuronales para adaptarse a la forma de hablar de una persona.

4. Habla espontánea: Similar al anterior, son programas con la capacidad de reconocer palabras o fonemas que no tienen significado sintáctico pero sí semántico, como expresiones o interjecciones.

5. Verificación de voz: Verifican si un comando de voz fue emitido por una persona determinada. Algunos ejemplos son los sistemas de seguridad o grupal donde se realiza una tarea dependiendo el usuario que la pide.

Suena descabellado el que una computadora entienda lo que decimos al hablar naturalmente. Si bien ha sido un gran reto transformar el habla en comandos legibles por una computadora, los avances en hardware y software nos impresionan al observar los resultados como en programas de dictado.

[Nielsen 2003]
Jackob Nielsen, 2003. Voice Interfaces: Assessing the Potential.

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

sábado, 25 de octubre de 2008

Se aprende de los blogs.

Hola a todos nuevamente. Sé que no soy un bloguero adicto y que por ende no actualizo este espacio con mucha frecuencia. Sin embargo, hoy tuve a bien descansar como oso polar en hibernación y dedicarle un rato a la lectura de blogs.

Todo empezó cuando regresé de la peluquería. Recibí el correo electrónico de un compañero de la prepa que hace siglos no veo; ya desde entonces sabía que el muchacho era muy letrado, y bueno pa' la música. El correo mostraba un breve resumen de lo que fue el concierto de Flauta traversa y medios electroacústicos ofrecido por el flautista poblano Eduardo Muñoz. Luis Alvaz en su entrada describe de manera general el concierto y hace uno que otro comentario desde su perspectiva como músico y conocedor del tema.

Ya al final de la entrada hizo una recomendación para escuchar algunas de las piezas que se ofrecieron. Lo que más me llamó la atención fue cuando el buen Luis Alvaz comentó que la última melodía conmovió mucho al público por su originalidad, la combinación de la flauta y los sampleos de la obra. Decidí escucharla y efectivamente, me llevé el asombro de mi vida al oir algo nuevo, singular, rítmico y alegre. Aquí les dejo la pieza pa' que agasajen la oreja:

Jacob Ter Velhuis - Lipstick, para flauta y música electroacústica (fragmento)


Y ahí no para la cosa, tenía rato que no visitaba su blog y en la columna derecha hallé una imagen en referencia a una campaña de la escritura: "Eres lo que escribes, eres como escribes". Le eché un ojo y me sentí identificado con el movimiento.

Hubo un tiempo en que la gente me criticaba el hecho de escribir con acentos comas y demás en el messenger (cabe mencionar que aún me como signos de apertura y no soy una milargueza escribiendo documentos), y yo les respondía que me agradaba dejar las cosas en claro, que se me hace una buena maña y que incluso me ayuda a ser más contundente (muy pocos lo notan). Y la principal razón: que me recontra enerva la gente que utiliza emoticones mezclados con sus mensajes. Por lo anterior no me molesta en nada que los usen pa' reforzar una emoción, pero sí cuando están mezclados con lo que quieren decir, todo por descuido de no ponerles un shortcut apropiado al momento de agregarlos. Pareciera que la lengua escrita se degenera y deforma literalmente en caritas felices que mueven el dedo de un lado a otro para decir un simple "NO".

Por otro lado, en este blog aprendí que existió un Petit comité en el marco del Congreso Internacional de la Lengua Española (Petit no por pocos, sino porque se trata de chilpayates), el cual me arrancó unas buenas sonrisas por las conclusiones a las que llegaron los chamacos. Aquí les dejo parte del manifiesto pa' los que quieran echarle un ojo: Congresito de la Lengua Española.

Así pues, me sentí muy identificado con esa campaña y tuve la idea de compartirla con un amigo bloguero que escribe de perlas!, el estimado don @padaguan, de cuyo blog me he cultivado y aprendido bastante.

Finalmente, yendo de aquí para allá, encontré el blog del buen @guffo un caricaturista mexicano que también escribe de perlas. Ahí les dejo una de sus creaciones:


[Tomada de Guffo Caballero]

viernes, 15 de agosto de 2008

Cerrando ciclos.

Ha llegado el momento de terminar un ciclo más: CEUDLA 2007-2008. Recapitulando me doy cuenta que al principio estaba lleno de incredulidad e incertidumbre con respecto a las cosas politiqueras; es algo que no se lleva conmigo (y que mi madre siempre me reprocha a la hora de hacer trámites o grilla). No obstante, este ciclo me dejó boqui-abierto, sorprendido y sobre todo muy satisfecho. Se consumieron muchos proyectos que no tenía contemplados en paralelo con la innombrable (la tesis). Me hice de amigos (muy buenos) y puntos de vista diferentes y ahora sí como dicen por ahí, le di la oportunidad a la grilla, a la polaca y un tanto al chisme: salgo bien librado y a gusto.

Por ahora, a darle átomos y retomar las cuestiones académicas nuevamente, conseguir una agenda y organizarme todavía un poco mas.

No cabe duda que diversificar es la opción... intenten agregarle a sus vidas de todo un poco (novelas, chistes, antros, libros, juegos, deleites de pupila, etc...). Si no les gustó algo sabrán por dónde no caminar, pero si el resultado es agradable tendrán una satisfacción tremenda y algo más pal costal de las experiencias.

To be old and wise, you must first be young and stupid.