En la reciente Conferencia Mundial de Desarrolladores de Apple, una de las novedades destacadas fue la incorporación de funciones adicionales de reconocimiento inteligente de voz a Siri, su aplicación de asistente personal, en la actualización más reciente de su sistema operativo móvil iOS 9.
Ahora, en lugar de pedirle a Siri «recuérdame el cumpleaños de Kevin mañana», puedes confiar en el contexto y simplemente decirle «recuérdame esto» mientras ves el evento de cumpleaños en Facebook. Sabrá a qué te refieres.
Este tipo de tecnología también existe desde hace un tiempo en los dispositivos de Google, gracias a OK Google , lo que nos acerca cada vez más al reconocimiento de voz sensible al contexto.
Pero ¿cómo funciona todo esto? ¿Por qué es tan importante el contexto y cómo se relaciona con el reconocimiento de voz?
Para responder a esa pregunta, vale la pena repasar cómo funciona el reconocimiento de voz y cómo se relaciona con otra área importante: el procesamiento del lenguaje natural.
Breve historia del reconocimiento de voz
El reconocimiento de voz lleva mucho tiempo en la conciencia pública. En lugar de teclear, ¿no sería estupendo poder hablarle a una computadora en lenguaje natural y que entendiera todo lo que dices?habla
Desde la conversación del capitán Kirk con la computadora a bordo del USS Enterprise en la serie original de Star Trek de la década de 1960 (y el intento fallido de Scotty de hablar con una computadora del siglo XX en una de las películas posteriores de la serie original), hemos soñado con cómo podría funcionar esto.
Incluso las películas ambientadas en épocas más recientes han coqueteado con la idea de un mejor reconocimiento de voz. La película de 1992 centrada en la tecnología, Sneakers , muestra a Robert Redford recopilando con gran esfuerzo fragmentos de la voz de un ejecutivo y reproduciéndolos con una grabadora de cinta en una computadora para obtener acceso por voz al sistema.
Pero la sencillez de las representaciones de ciencia ficción oculta la complejidad del proceso de la tecnología de reconocimiento de voz. Antes de que una computadora pueda siquiera entender lo que quieres decir, debe poder entender lo que dijiste.
Esto implica un proceso complejo que incluye el muestreo de audio, la extracción de características y, luego, el reconocimiento propiamente dicho del habla para identificar sonidos individuales y convertirlos en texto.
Los investigadores llevan muchos años trabajando en esta tecnología. Han desarrollado técnicas que extraen características de manera similar al oído humano y las reconocen como fonemas y sonidos que producen las personas al hablar. Esto implica el uso de redes neuronales artificiales, modelos ocultos de Markov y otras ideas que forman parte del amplio campo de la inteligencia artificial.
Gracias a estos modelos, han mejorado las tasas de reconocimiento del habla. Google informó este año de tasas de error inferiores al 8%.
Pero incluso con estos avances, el reconocimiento auditivo es solo la mitad del desafío. Una vez que la computadora ha completado este proceso, solo tiene el texto que reproduce lo que dijiste. Pero podrías haber dicho cualquier cosa.
El siguiente paso es el procesamiento del lenguaje natural.
¿Captaste la idea?
Una vez que una máquina ha convertido en texto lo que dices, tiene que entender lo que realmente has dicho. Este proceso se llama «procesamiento del lenguaje natural». Podría decirse que es más difícil que el reconocimiento de voz, porque el lenguaje humano está lleno de contexto y semántica, lo que dificulta el reconocimiento del lenguaje natural.
Cualquiera que haya usado sistemas anteriores de reconocimiento de voz puede dar fe de lo difícil que puede ser. Los primeros sistemas tenían un vocabulario muy limitado y había que pronunciar los comandos de una manera muy precisa para que la computadora los entendiera.
Esto era cierto no solo para los sistemas de reconocimiento de voz, sino también para los sistemas de entrada de texto, en los que el orden de las palabras y la inclusión de ciertas palabras marcaban una gran diferencia en la forma en que el sistema procesaba el comando. Esto se debía a que los primeros sistemas de procesamiento del lenguaje usaban reglas estrictas y árboles de decisión para interpretar los comandos, por lo que cualquier desviación de ellos causaba problemas.
Sin embargo, los sistemas más recientes usan algoritmos de aprendizaje automático similares a los modelos ocultos de Markov utilizados en el reconocimiento del habla para crear un vocabulario. Estos sistemas aún necesitan entrenamiento, pero pueden tomar decisiones menos rígidas basadas en la ponderación de las palabras individuales utilizadas. Esto permite consultas más flexibles, en las que puede cambiarse el lenguaje utilizado sin que cambie el contenido de la consulta.
Por eso es posible pedirle a Siri «programa una cita en el calendario a las 9am para recoger la ropa de la tintorería» o «añade a mi calendario recoger la ropa de la tintorería a las 9am» y obtener el mismo resultado.
Pero ¿cómo se manejan las distintas voces?
A pesar de estos avances, todavía hay desafíos en este ámbito. En el reconocimiento de voz, los acentos y la pronunciación aún pueden causar problemas.
Debido a la manera en que funcionan estos sistemas, las distintas pronunciaciones de los fonemas pueden hacer que el sistema no reconozca lo que dijiste. Esto es especialmente cierto cuando los fonemas de una palabra parecen no tener relación —para quienes no son de la zona— con la forma en que se pronuncia, como ocurre con las ciudades británicas de «Leicester» o «Glasgow».
Incluso ciudades australianas como «Melbourne» parecen confundir a algunos estadounidenses. Aunque para un australiano la pronunciación de Melbourne es muy obvia, la distinta manera en que se usan los fonemas en Estados Unidos hace que a menudo la pronuncien mal (para oídos provincianos).
Quien haya oído a un sistema GPS pronunciar mal Ipswich, como «eyp-swich», sabe que esto también ocurre en ambos sentidos. La única manera de resolverlo es entrenar el sistema con las distintas formas de pronunciar las palabras. Pero, dada la variación entre acentos (e incluso dentro de un mismo acento), este puede ser un proceso bastante extenso y complejo.
En cuanto al procesamiento del lenguaje, el problema es principalmente el contexto. El ejemplo del comienzo ilustra el estado de la técnica en el procesamiento contextual del lenguaje. Pero basta con prestar atención a una conversación durante unos minutos para darse cuenta de cuánto cambiamos nuestra manera de hablar para darles más contexto a las máquinas.
Por ejemplo, ¿con qué frecuencia le preguntas a alguien:
¿Recibiste mi correo electrónico?
Pero lo que realmente quieres decir es:
¿Recibiste mi correo electrónico? Si es así, ¿lo leíste y puedes responder, por favor, a esta pregunta?
Las cosas se complican aún más cuando quieres mantener una conversación con una máquina, haciendo una pregunta inicial y luego preguntas de seguimiento, como «¿Cuál es el número de Martin?», seguida de «Llámalo» o «Envíale un mensaje de texto».
Las máquinas están mejorando en lo que respecta a entender el contexto, ¡pero todavía les queda camino por recorrer!
Traducción automática
Hemos avanzado mucho en diversas áreas para llegar hasta aquí. Pero aún quedan desafíos en el reconocimiento de acentos, las implicaciones del lenguaje y el contexto de las conversaciones. Esto significa que quizá todavía falte un tiempo para que tengamos las computadoras de Star Trek que interpreten todo lo que decimos.
Pero no se preocupen. Poco a poco nos acercamos, y los avances recientes de Microsoft en la traducción automática demuestran que, si lo hacemos bien, el resultado puede ser muy interesante.
Google ha presentado recientemente una tecnología que combina el reconocimiento de imágenes o de voz, el procesamiento del lenguaje natural y la cámara del teléfono inteligente para traducir automáticamente letreros y conversaciones breves de un idioma a otro. Incluso intentará reproducir la fuente para que el letrero se vea igual, ¡pero en inglés!
Así que ya no hace falta devanarse los sesos ante un menú escrito en italiano ni preguntarse cómo pedir algo a un camarero que no habla inglés: Google te ayuda. No es exactamente el USS Enterprise, ¡pero sin duda estamos más cerca!
Este artículo se publica en colaboración con The Conversation. Lee el artículo original. La publicación no implica el respaldo de las opiniones por parte del Foro Económico Mundial.
Para mantenerse al día con la Agenda, suscríbase a nuestro boletín semanal.
Autor: Michael Cowling es profesor titular y responsable de la disciplina de Informática móvil y aplicaciones en la Universidad de Central Queensland.
Imagen: Robot humanoide de la empresa británica RoboThespian «se sonroja» durante la ceremonia inaugural de la feria tecnológica de Hannover. REUTERS/Wolfgang Rattay

