miércoles, 11 de febrero de 2009

Avances en Interfaces de Usuario

Interfaces basadas en Reconocimiento de Voz
Dr. Alfredo Sánchez Huitrón
Efrén Hernández Cosco 128320
Interacción Humano-Computadora



Meta principal

El reconocimiento de voz es una parte de la Inteligencia Artificial que tiene como objetivo permitir la comunicación hablada entre seres humanos y ordenadores. El reconocimiento del habla debe ser capaz de descodificar los sonidos u otra información de nivel superior que forman parte de una determinada señal de habla. Dicha descodificación puede realizarse de diferentes formas, utilizando diferentes técnicas y con unos determinados requisitos de partida para la señal de habla a decodificar. Una vez decodificada se interpreta y se espera una retroalimentación por parte del usuario como por ejemplo: realizar una determinada tarea, manipular algún dato o archivo, configurar el ordenador, escuchar algún sonido, etc.

Sin duda la forma más común en la que nos comunicamos entre humanos es por medio del habla. Es por ello que la forma ideal de interactuar con un dispositivo o computadora sería por medio del habla. Esta naturalidad al interactuar con los dispositivos es compleja y se han llevado años estudiando el lenguaje y algoritmos para reconocimiento y síntesis de voz. Sin embargo las interfaces actuales han ido desde la interacción por medio del teclado, del ratón, hasta ahora el uso de interfaces táctiles y de voz. Es en este momento cuando las interfaces de voz empiezan a ganar terreno dentro del interfaces vanguardistas.

Centros de Investigación

Los centros de investigación en el área de reconocimiento de voz son muchos en todo el globo. Diversas universidades cuentan con laboratorios especializados para sus investigaciones. Algunos de los que han estado trabajando en el área son los siguientes:

Lehrstuhl für Informatik VI, RWTH Aachen (H. Ney)
™ The Acoustical Society of America (ASA).
Speech, Apple Computer.
™ Speech, CMU (Carnegie Mellon University).
ATR, Japan.
Speech, BBN.
ICSI Speech Group, Berkeley.
Infopad, Berkeley.
™ The Laboratory for Engineering Man/Machine Systems, Brown University.
Speech Vision and Robotics Group (SVR),Cambridge University Engineering Department (CUED).
Cepstral, LLC Voice building, speech synthesis
Digital Speech Processing, Universidad del estado de Arizona.
Institute of Speech Communication (ICP) en Grenoble.
The Institute of Electronics, Information and Communication Engineers (IEICE).
International Speech Communication Association (ISCA), conocido como ESCA (European SCA).
IP Bridges LLC., Open Source VOIP solutions.
Center for Language and Speech Processing en Universidad Johns Hopkins.
Speech Group at K.U.Leuven, Belgium.
KTH Department of Speech Communication and Music Acoustics, Sweden.
LIMSI, France.
Speech Recognition at LumenVox
Music, Mind and Machine Group at the MIT Media Lab.
™ The Spoken Language Systems Group (SLS) at MIT.
Microsoft Speech Research Group.
National Institute of Standards and Technology's Speech Group (NIST), USA.
™ A Speech Codecs page.
Speech Communication, ISCA's Journal.
Institute for Signal and Information Processing (ISIP) at Mississippi State University.
Center for Spoken Language Understanding (CSLU) at Oregon Graduate Institute (OGI).
™ C. Pallier's psycholinguistic links.
Philips Speech Processing.
Speech at Purdue University.
™ (SPIB), Rice.
™ CAIP, the Center for Computer Aids for Industrial Productivity, Speech and Language Processing Lab., at Rutgers University.
Speech Processing Lab at Shariff University of Technology, Iran.
Institute for Language, Speech and Hearing (ILASH) at Sheffield, UK.
Speech and Hearing Research Group at Sheffield, UK.
Speech Technology and Research at SRI.
Center for the Study of Language and Information (CSLI), Stanford.
Center for Computer Research in Music and Acoustics (CCRMA), Stanford.
Speech Integration Group at Sun Microsystems.
Telefónica Investigación y Desarrollo (Spain's Telefónica).
Grupo de Tecnología del Habla, GTH (Speech Technology Group) at Universidad Politécnica de Madrid (Technical University at Madrid), Spain.
Dept. of Electronics and Information Systems (ELIS) at the Universiteit Gent, in Belgium.
ASEL Speech Research Program at the University of Delaware.
Speech Processing and Auditory Perception Laboratory, UCLA.
UCSC collection of speech starting points at UCSC PSL.
Speech Communication Lab at the University of Maryland College Park.
Language and Speech at University of Nijmegen, Netherlands.
™ The TRAINS project at the University of Rochester.
Speech Analysis and Interpretation Lab at USC Viterbi School of Engineering.
Language Technology Research Group and a How-to guide about speech recognition at the University of Sydney, Australia.
™ The Signal, Speech and Language Interpretation Lab (SSLI) at the University of Washington.
Vocollect, Inc.
Voice Signal Technology
Laboratory for Digital Speech and Audio Processing at the Vrije Universiteit Brussel, Belgium.
YorkTalk
Institute for Robotics and Intelligent Systems (IRIS at Precarn Inc.).
Multitel-TCTS Lab.
Duisburg Universität.
Institut de Recherche en Informatique de Toulouse
™ The Australian Speech Science and Technology members.
Centre for Intelligent Information Processing Systems.
Spoken Language Working Group of the Expert Advisory Group on Language Engineering Standards (EAGLES)
Center for PersonKommunikation at the Aalborg University, Denmark.
Signal Processing Lab at Griffith University in Australia.

Cada uno de estos centros ha tenido diferentes aportaciones en el área de reconocimiento de voz, sin embargo, llevaría cientos de hojas el detallar cada una de sus aportaciones.
Los avances más recientes han sido propuestos por las siguientes universidades y laboratorios de donde se basará la información contenida en este reporte.

™ Universidad del estado de Arizona.
™ Universidad de Washington.
™ Universidad de Maryland.
™ Universidad de Washeda (Japón).
™ Universidad Paul Savatier (Francia).
™ Universidad de Amsterdam.
™ Universidad de Tampere (Finlandia).
™ Universidad Tecnológica Bentley (Australia).
™ Google Inc.
™ IBM Research.
™ Apple Inc.
™ Microsoft Research.

Logros claves y sus autores

En 1920 se crea el primer juguete electromecánico (“Radio Rex”), capaz de saltar cuando se pronuncia su nombre. A finales de la década de los 40 el Departamento de Defensa de USA, financia el desarrollo de una máquina para la traducción automática de mensajes interceptados a los rusos (proyecto fallido).
El inicio del reconocimiento de voz comenzó a finales de los 50’s con la llegada de la computadora digital. Juntamente con dispositivos capaces de capturar y analizar la voz abrió un panorama a investigadores para representar características acústicas y mostrar las propiedades de las palabras. Los laboratorios Bell, desarrollan el primer sistema capaz de reconocer dígitos sobre la línea telefónica.
El primer reconocedor fue el hecho por AT&T el cual era un software capaz de reconocer un discurso independientemente del locutor.
En los 60’s la segmentación automática de voz avanzó significativamente en unidades lingüísticas como fonemas, silabas, palabras; reconocimiento y clasificación de patrones, etc.
En los 70’s surgieron un número de técnicas realizadas en su mayoría por la Agencia DARPA (Defense Advanced Research Projects Agency). Se desarrollaron reconocedores que manejaban un dominio de reconocimiento mayor basados en el reconocimiento de patrones. Los reconocedores eran capaces de aceptar un vocabulario más extenso. Durante esta época se logró una mejora con respecto al reconocimiento para palabras aisladas y continuas. Se desarrollaron técnicas tales como Time Warping, modelado probabilístico y el algoritmo de retropropagación. También en esa misma década el sistema HARPY es capaz de reconocer frases completas con estructuras gramaticales simples (desarrollado en la Universidad Carnegie-Mellon). El sistema requería una capacidad equivalente a 50 ordenadores de aquella epoca.

Los 80’s se caracterizaron por el fuerte avance que se obtuvo en el reconocimiento de voz. Se empezaron a desarrollar aplicaciones con vocabularios grandes y se impulsaron el uso de modelos probabilísticos y redes neuronales, los cuales poco a poco mejoraron su desempeño. Un dato curioso fue que los estudios demostraron que la tasa de error en el reconocimiento cae a la mitad, cada dos años. En 1985 IBM desarrolla un sistema capaz de reconocer, en tiempo real, palabras aisladas de un conjunto de 20.000, después de 20 minutos de entrenamiento, con una tasa de error < 5%. Aparecen sistemas de dictado: generalmente requiere pausas entre palabras.
Para los 90’s el progreso de los sistemas de reconocimiento de voz es notable gracias a la innovación de la tecnología (computadoras y algoritmos). Los investigadores realizaron vocabularios grandes para usarse en el entrenamiento, desarrollo y pruebas de los sistemas. Además de que las técnicas de hace algunos años han sido mejoradas para obtener mejores reconocedores.
En 1996 Via Voice, desarrollado por IBM, permite el control del sistema operativo OS/2 mediante voz. SPHINX: Se convierte en el estado del arte en tecnología capaz de reconocer habla continua con grandes vocabularios. En 1997 Dragon presenta “Natural Speaking”, el primer sistema disponible para reconocimiento de habla continua.

Actualmente los logros se han diversificado y acrecentado de manera drástica. Las interfaces de voz proponen un nuevo futuro en la interacción entre humanos y computadoras.


Implicaciones para el desarrollo de interfaces

Reconocimiento de voz ha implicado esfuerzo y paciencia pero sus fines son muy prometedores. El desarrollo de interfaces que incluyan reconocimiento de voz es escaso y muy específico para ciertas aplicaciones. Aunque el campo de aplicación es innumerable, se siguen estudiando los comportamientos del habla desde el punto de vista antropológico, social y tecnológico, estas implicaciones y la riqueza con la que cada uno de los idiomas esta dotado exige altos estándares para la comunicación de usuarios y maquinas por medio de voz.
Algunas de las aplicaciones actuales son:
™ Telecomunicaciones.
™ Control domótico.
™ Sistemas de interacción humano-computadora.
™ Traducciones de lenguajes
™ Automatización de tareas.
™ Ayuda a personas que se les dificulta la interacción con el ratón y/o teclado.
™ Recuperación de información.
™ Diseño de interfaces.
™ Dispositivos móviles.
™ Videojuegos.
™ Aprendizaje.
™ Medicina.
™ Armamento.
™ Armamento.
™ Producción.
™ Oficina/escritorios.
A continuación se describirán brevemente el estado actual en el que se encuentra el diseño de interfaces basado en reconocimiento de voz, sus aplicaciones y avances más recientes.

Recientemente en el año 2008 Hillard hace una propuesta para el reconocimiento y traducción de idiomas. Sparseval es una base de parseo para reducir la tasa de error en el reconocimiento. Principalmente en el idioma como japonés o chino donde la traducción se hace de signos a palabras y viceversa es importante representar la información de una manera exacta para evitar una mala interpretación.

SpeechKit es un software que cuenta con una interfaz con reconocimiento de voz para asistir en la rehabilitación de pacientes con problemas motores. En este caso la Universidad de Australia se enfoca en pacientes que después de un accidente les cuesta desenvolverse bien de manera verbal. En ciertas terapias se necesita analizar al paciente de forma visual y auditiva por parte del terapeuta lo cual es difícil poner énfasis en los dispositivos de apoyo que en el paciente.

Flexible shortcuts es una interfaz basada en reconocimiento de voz para la ejecución de comandos. El software recibe de entrada una palabra continua relacionada con los comandos reales. En las palabras clave utilizadas para los comandos del software existe una jerarquía para ir avanzando progresivamente y realizar tareas complejas. Lo interesante es que el estudio de usabilidad y aceptabilidad del software indica claramente su efectividad y amabilidad con el usuario.

La universidad de Colima propone una posible aplicación de sistemas de reconocimiento de voz en ambientes de realidad virtual, y explicaciones de la implementación de un sistema de realidad virtual, donde se utilizaron comandos de voz a través una red neuronal basada en hardware, para controlar moléculas virtuales, el cual fue implementado en el Laboratorio de Realidad Virtual.

La universidad de Zaragoza ha trabajado en la creación de sillas de ruedas inteligentes controladas por voz. La ventaja de estas sillas de ruedas es que aumenta las posibilidades de los individuos con severas discapacidades motrices, especialmente en entornos donde resulta difícil maniobrar el vehículo.

Actualmente con el creciente desarrollo de dispositivos inteligentes cómo el iphone, ipod Touch, PDA’s y celulares las aplicaciones de voz se están desarrollando de manera vertiginosa y competitiva para tener las mejores interfaces en voz del mercado. En las referencias se citan algunos videos para mostrar algunos avances actuales.

Perspectivas

Hay perspectivas de todo tipo pero siempre enfocado en que el reconocimiento de voz es un área que tiene mucho por ofrecer. Debido al crecimiento que nuevas aplicaciones con reconocimiento de voz ha tenido los avances se empiezan a acrecentar y con ellos los beneficios y las exigencias en estas interfaces. 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.
Cada uno de los principios es totalmente válido y deben ser tomados en cuenta al realizar una interfaz con reconocedor de voz.
Las perspectivas que analizamos por parte de visionarios tecnológicos proponen teorías que hasta ahora sólo se observa en películas. El lograr que una computadora reciba no sólo señales de voz, sino que pueda interpretar el estado de ánimo del usuario, interpretar señas y gestos es un reto que aún esta lejos de nuestras manos. La forma más natural de comunicación es por medio del lenguaje hablado, dado este contexto sería la mejor forma de relacionarnos con los ordenadores, dispositivos, autos, casas, cualquier clase de aparatos, etc. Sin duda una nueva era de interacción entre humano-computadora se acerca y se esta forjando ahora.

Referencias:

Apuntes de cursos sobre Reconocimiento de Voz.
http://elies.rediris.es/elies12/cap241.htm
http://ict.udlap.mx/people/ingrid/Clases/IS412/index.html

Tesis:
López Moreno, J. 2000. Desarrollo de un reconocedor de dígitos con distinción de énfasis. Tesis Licenciatura. Ingeniería en Sistemas Computacionales. Departamento de Ingeniería en Sistemas Computacionales, Escuela de Ingeniería, Universidad de las Américas-Puebla. Mayo.

Laboratorios de investigación de reconocimiento de voz.
Universidad Carnegie Mellon http://www.speech.cs.cmu.edu/

Proceedings

Nakano, T. 2008. Flexible shortcuts: designing a new speech user interface for command execution. In CHI '08 Extended Abstracts on Human Factors in Computing Systems (Florence, Italy, April 05 - 10, 2008). CHI '08. ACM, New York, NY, 2621-2624. DOI= http://doi.acm.org/10.1145/1358628.1358729

Ross, S., Brownholtz, E., and Armes, R. 2004. Voice user interface principles for a conversational agent. In Proceedings of the 9th international Conference on intelligent User interfaces (Funchal, Madeira, Portugal, January 13 - 16, 2004). IUI '04. ACM, New York, NY, 364-365. DOI= http://doi.acm.org/10.1145/964442.964536

García Ruiz, M.A., Ceja Castillo, A.E., Mendoza Chávez, C.I. (2003). Sistemas de Reconocimiento de Voz en Ambientes Virtuales. V Jornadas Internacionales de las Ciencias Computacionales. FIME, Universidad de Colima.

Hillard, D. Hwang, M. Harper, M. Ostendorf, M. Parsing-based objective functions for speech recognition in translation applications. Speech and Signal Processing, 2008. ICASSP 2008. IEEE International Conference on Acoustics. Dept. of Electr. Eng., Washington Univ., Seattle, WA. 2008.

Calder, D. 2008. SpeechKit: a multimedia speech tool. In Proceedings of the 10th international Conference on information integration and Web-Based Applications & Services (Linz, Austria, November 24 - 26, 2008). G. Kotsis, D. Taniar, E. Pardede, and I. Khalil, Eds. iiWAS '08. ACM, New York, NY, 647-650. DOI= http://doi.acm.org/10.1145/1497308.1497432

J.M. Alcubierre. 2005. Silla de ruedas inteligente controlada por Voz. Primer Congreso Internacional de Domótica, Robótica y Teleasistencia para todos, 2005. Universidad de Zaragoza, España.

http://es.wikipedia.org/wiki/Comprensi%C3%B3n_del_lenguaje
http://128114.blogspot.com/2008/02/introduccin.html
http://agamenon.tsc.uah.es/Asignaturas/it/tdv/apuntes/Sintesis.pdf

Videos de interés:
Google mobile App
http://www.tecnoctrl.com/2008/11/reconocedor-de-voz-de-google-para-iphone-en-accion/
Windows Vista speech recognition.
http://www.youtube.com/watch?v=t4XFiF3lRlo&feature=related
Instinct. Tecnología para celulares
http://www.youtube.com/watch?v=zotw7CrXVyA

3 comentarios:

Efrén Hernández Cosco dijo...

Magnífico, se ve que te llevaste por lo menos 5 días trabajando arduamente en esto!!!

OZ dijo...

no creo que te hayas llevado 5 días :P pero sin duda es un excelente trabajo, ya que explica la evolución y uso de las interfaces de voz además de que las ilustra con buenos y novedosos ejemplos, sobretodo los vistos en clase los cuales fueron bastante buenos, en especial el del iphone que no tenía reconocimiento de voz.

Ahora bien el reconocimiento de voz es bastante complejo ya que involucra muchos factores humanos lo cual hace que sea algo dificil de automatizar.

De los trabajos que encontré y que me parecieron interesantes fueron:

Highly accurate children's speech recognition for interactive reading tutors using subword units

http://portal.acm.org/citation.cfm?id=1294371.1294556&coll=Portal&dl=GUIDE&CFID=34144190&CFTOKEN=54404520

el cual es un agente tutor que interactua con niños pequeños para enseñarles cosas y éste puede entender lo que dicen los niños de manera que la interaccion es lo más natural posible. me pareció un buen trabajo debido al esfuerzo que se hace por reconocer la voz de los niños y entender sus palabras las cuales muchas veces estan mal pronunciadas o dichas de ahi la importancia de este tipo de agentes que interactuan con los pequeños.

Por otra parte desde Windows vista se está trabajando fuertemente en el desarrollo del reconocimiento de voz enfocado mas que nada para las personas incapacitas, de todas formas sigue siendo una herramienta util aunque hoy en día no es del todo eficaz como uno quisiera, ya que se tiene que ser bastante preciso en cuanto a los comandos y a la forma de decir las cosas.

Finalmente creo que un gran impacto tendran las interfaces de reconocimiento de voz en la tecnología movil, ya que es donde más se sufre de la falta de teclados o cosas por el estilo, de esta manera con el reconocimiento de voz se facilitaran muchas tareas haciendo que los dispositivos moviles sean mas accesibles para los usuarios y sean mas faciles de usar

Luis Eduardo dijo...

Muy bien Efrencito, me sorprendes con tu blog y tu investigación muy bien hecha.

Me gustó que hayas puesto la historia del reconocimiento de voz de esta manera, con los puntos y logros más importantes de cada era. Así nos damos una idea muy buena del nivel de avance en esa área, aunque como siempre, no podemos imaginarnos siquiera hasta qué punto se desarrollará.

Encontré una investigación sobre un área muy interesante, la búsqueda de una interacción natural entre las personas y los ambientes inteligentes creados para facilitarnos la vida, y que para hacerlo, necesitan entendernos para lograr su objetivo.

Se trata del empleo de robots reconocedores de voz para que sirvan de intermediarios entre personas y ambientes, una especie de mayordomos que nos ayudan a enlazarnos con el mundo virtual creado para nosotros.

http://portal.acm.org/citation.cfm?id=1216295.1216365&coll=Portal&dl=GUIDE&CFID=35681162&CFTOKEN=96765241

Como dijiste, el habla es el medio más natural de comunicación entre las personas adultas, y aprovecharlo es la mejor manera de integrarnos con nuestras propias creaciones tecnológicas