lunes, 11 de febrero de 2008

Interfaces basadas en voz

Introducción.

La Interfaz de usuario es una forma de comunicación entre un usuario y la computadora, una forma de manipular archivos, manejar herramientas, configurar el equipo y cualquier trabajo computacional en donde el usuario intervenga.
Estamos acostumbrados a oír o leer sobre interfaces gráficas de usuario (GUI) o comandos de línea (interfaces no gráficas). De igual manera existen las interfaces basadas en voz, o por sus siglas en inglés: Voice User Interface (VUI) que es una interfaz de usuario que utiliza el reconocimiento de voz o diálogo para comunicar al usuario con la máquina.

La VUI aún esta en desarrollo y perfeccionamiento, es aquí donde los estudios de usabilidad son importantes, ya que la interfaz tiene que ser desarrollada de acuerdo al área a la que será destinada, por ejemplo, si ésta esta dirigída al público en general es importante que exista suficiente ayuda para un usuario principiante. Por el contrario, si esta destinada a un grupo pequeño de personas especializadas en este área, la interfaz deberá enfocarse en la productividad más que en la ayuda.

Principios del diseño de una interfaz basada en voz

El propósito de desarrollar una interfaz que esté basada en el reconocimiento de voz para funcionar es que ésta sea como una persona que sirva al usuario fielmente, es decir, que sea de gran ayuda para el usuario y que además sea respetuoso. Las interfaces que utilizan el reconocimiento de voz para interactuar con el usuario, generalmente eran consideradas como inteligencia artificial y nada más, está claro que es necesario desarrollar agentes inteligentes para tener en sí una interfaz basada en voz, pero cada vez está más cercano el hecho de tener computadoras con las cuales cualquier usuario pueda interactuar normalmente mediante la voz.

De acuerdo con Lotus Speech Initiative, existen ciertos principios que deben ser considerados al momento de desarrollar una interfaz basada en voz. El primer grupo de principios están orientados a la interacción natural y cortes de la máquina con el usuario.
  • El sistema deberá poder entender el lenguaje natural del usuario, es decir, deberá entender referencias que el usuario haga de algún pronombre. También deberá poder manejar comandos y preguntas que no necesariamente tengan información completa para ejecutarse, pero además, el sistema deberá pedir especificaciones cuando los comandos sean ambiguos o pedir información necesaria cuando así sea requerido.
  • El sistema no deberá interrumpir al usuario cuando este esté hablando, a menos que exista alguna emergencia o alguna notificación de alta prioridad.
  • El usuario podrá interrumpir al sistema, excepto en las situaciones de alta prioridad, si no es así, el sistema deberá detenerse cuando el usuario hable.
  • No deberán existir ciclos de preguntas, es decir, el usuario no deberá estar forzado a responder preguntas generadas por el sistema para seguir adelante en otros procesos.
  • Si el sistema tuviera algo que decir que no fuera respuesta a alguna pregunta del usuario, el sistema deberá pedir permiso para hablar, a menos que sea alguna cuestión de alta prioridad.
  • El sistema deberá poder manejar respuestas de cortesía como “gracias” o “de nada”, ya que existirán usuarios que las realicen por costumbre, así mismo el sistema deberá generar respuestas de cortesía.


El segundo grupo de principios está destinado a la confianza que el usuario tendrá al sistema y su dependencia hacia éste. Los usuarios tienen la necesidad de saber si han sido correctamente escuchados y si se está ejecutando el proceso que solicitaron, también tienen la necesidad de saber si la respuesta que consiguieron es la que estaban buscando. Actualmente el reconocimiento de voz es imperfecto en esta área.

  • Cuando el sistema responda a alguna pregunta, éste deberá referirse a la pregunta realizada por el usuario, de manera que “Si” o “25” no son respuestas aceptables.
  • Si algún procedimiento que fuera generado por el usuario no tuviera algún efecto visible para éste, el sistema deberá notificar que se llevo a cabo, por el contrario si el efecto es evidente (como el cierre de una ventana), entonces la simple acción será suficiente.
  • Los procedimientos de eliminación o irreversibles deberán ser confirmados por el usuario.
  • Si algún proceso tardara más que algunos segundos, entonces el sistema deberá indicar que el proceso se está llevando a cabo de manera específica, es decir, se deberán usar palabras como “imprimiendo” en vez de sólo “trabajando”, para que el usuario esté seguro de que el procedimiento correcto se está ejecutando.
  • El usuario debe poder cancelar algún comando que este en proceso.
  • Si el usuario por alguna razón no contesta a alguna pregunta generada por el sistema, entonces, después de cierto periodo de tiempo, el sistema deberá pedir permiso al usuario para hablar, y después preguntar si el usuario aún desea seguir ejecutando el comanda mencionado anteriormente, si es así, entonces el sistema deberá realizar la pregunta una vez más.


El tercer grupo de principios está relacionado con la consistencia y la transparencia del sistema.

  • La manera de hablar del sistema deberá arrojar palabras y frases que el usuario pueda entender, no usar palabras de las que no se entienda que se debe realizar acción alguna.
  • El sistema no deberá asumir cuestiones acerca de algún comando que el usuario ingresara, por ejemplo, si el usuario dice “abre este mensaje…” el sistema no debe asumir que el usuario quiera responder.
  • El habla del sistema deberá ser consistente y usar palabras similares para acciones similares.
  • El sistema no deberá hacer creer al usuario que éste es más inteligente que el sistema, ya que esto solo provocará que el usuario haga más cosas que el sistema no pueda reconocer o entender.




Aquí se presenta una conversación entre el sistema desarrollado por Lotus Speech Initiative y un usuario, se puede observar como cumplen con cada uno de los principios mencionados anteriormente:


User: What time is it?
LCI: The time is 4:49 PM.
User: Let me know when it is 5 o’clock.
LCI: Alarm set for 5:00 PM.
User: Show me my messages please.
LCI: Opens the mail inbox window.
User: Let me see the message from Beth.
LCI: Selects the first message from Beth Brownholtz. This
one?
User: No, the next one.
LCI: Opens the next message from Beth Brownholtz.
User: Forward this message to Robert
LCI: Robert Armes or Robert Corell?
User: Armes.
LCI: Creates a new message to Robert Armes containing the
contents of the original message.
User: Send this message.
LCI: Message sent.
User: Is Robert online?
LCI: Robert Armes is offline.
User: Notify me when he is available.
LCI: Monitoring chat status of Robert Armes.
User: Delete the message from Bill.
LCI: Selects the message. Are you sure?
User: Yes.
LCI: Deletes the message.
LCI: Excuse me?
User: What is it?
LCI: You have one new message.
User: Who is it from?
LCI: The message is from Julie Alweis.
User: What is it about?
LCI: The subject of the message is expense report.
User: File this in my management folder.
LCI: The message disappears from the inbox.
LCI: Excuse me?
User: Go ahead.
LCI: IBM has reached the limit of 93, trading at 93.06.
User: Tell me when IBM reaches ninety three and a half.
LCI: Monitoring IBM for a limit of 93.5.
User: What is ninety three times one hundred twenty?
LCI: 93 times 120 is 11,160.
User: Thanks.
LCI: You’re welcome!

lunes, 21 de enero de 2008

Experiencia personal: Estudio de Usabilidad.

1. Descripción del Software.

El software que estuvo sujeto a estudio esta diseñado para funcionar en una pantalla interactiva. Se trata de una herramienta que ayuda a entender ciertos conceptos de interacción colaborativa.
En el centro de la pantalla se encuentra un cuadro que esta dividido en cuatro, cada cuadrante representa cada uno de las diferentes categorías en donde se pueden clasificar los distintos conceptos, ya sea: mismo lugar - mismo tiempo, mismo lugar - diferente tiempo, diferente lugar - mismo tiempo o diferente lugar - diferente tiempo. Los conceptos se encuentran enlistados a la derecha de la pantalla. El usuario debe arrastrar cada concepto hacia el cuadrante al que éste corresponda.

2. Formularios y cuestionarios.

Antes de comenzar el estudio se nos dieron diferentes papeles a leer. Uno que me llamó mucho la atención fue el que trataba acerca de nuestros derechos como sujetos en el estudio, no me imagine que involucraría algo de ese estilo, sin embargo, al avanzar a través del estudio comprendí a que se debía. De igual forma durante el proceso de evaluación del software y al final de éste, contestamos un formulario que ayudaría a los evaluadores a determinar los detalles positivos y negativos del software.

3. Impresiones.

Al llevar a cabo el proceso de evalución se nos estuvo videograbando. En lo particular no me causó conflicto aluno al probar el sistema y pienso que igualmente fue para mis compañeros. Pienso también que el desempeño del equipo en general habría sido el mismo si la evaluación se hubiera llevado a cabo en un contexto sin observadores.

4. Comentarios.

Nunca había participado en algun estudio de este tipo y la experiencia me pareció bastante agradable. Además pienso que estudios como éste son muy importantes para el diseño y desarrollo de interfaces de computadoras, así como para cualquier tipo de sistema que se desee comprobar si está correctamente diseñado en cuanto a la interacción con el usuario.