Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

¿El futuro de la programación?

Las computadoras hablan su propio idioma. Pueden ser programadas por aquellos que conocen este lenguaje. Para los demás, esto está vetado. Sin embargo, científicos del...

voice-programming00

Las computadoras hablan su propio idioma. Pueden ser programadas por aquellos que conocen este lenguaje. Para los demás, esto está vetado. Sin embargo, científicos del Instituto de Tecnología Karlsruke (KIT), están trabajando en un programa que directamente traduzca las oraciones en lenguaje natural, en el que hablamos, pues, a código de máquina. De esta manera, los usuarios podrían generar sus propias aplicaciones con un par de oraciones. El reto es el manejar lo que la gente no describe casi nunca, es decir, los detalles de los procesos y el orden en que deben de ser ejecutadosa. Una nueva herramienta de análisis, desarrollada por KIT, busca ordenar automáticamente los procesos para traducirlos a comandos y que puedan entonces ser ejecutados por la computadora.

“Queremos quitar las complicadas reglas a los usuarios, que son precisamente los lenguajes de programación, hacia computadoras inteligentes que puedan dialogar con nosotros”, dice Mathias Landhäußer, científico del KIT. Hasta ahora, los programas pueden ser solamente controlados por un lenguaje, si estos están diseñados por los fabricantes de acuerdo a ciertos estándares. Los científicos de cómputo de KIT buscan instalar una interface del lenguaje para todo tipo de programas. Los usuarios entonces tendrían la posibilidad dd no sólo ejecutar un programa, sino operar sus aplicaciones a través de comandos de voz. Los científicos ya han tenido éxito en incorporar este tipo de interfaces en aplicaciones que controlan la calefacción central de una casa, la iluminación y las ventanas de las casas denominadas inteligentes.

“Tomará algún tiempo no solamente operar un software de esta naturaleza, sino el poderlo programar en lenguaje natural”, dice Landhäußer. Un problema central en la comunicación hombre-máquina, es el orden de las acciones. Por ejemplo: “Antes de encender el auto, la puerta del garage debe estar abierta”. Esto -indica el científico- es usual y lógico para los seres humanos. Si el proceso ocurre en un mundo virtual en la computadora, el problema entonces aparece: la computadora ejecuta los comandos en orden sucesivo en la medida que llegan. En el ejemplo dado, la computadora recibe la información “encender el auto”. Entonces, la orden “la puerta del garage debe estar abierta” es recibida. Pero si ejecutamos la primera instrucción, el auto le pegará a la puerta. “Si esta cadena de acciones no puede entenderse directamente por la computadora, nada pasa en el mejor de los casos. En el peor, la computadora se bloquea”, dice el científico.

El nuevo software desarrollado por KIT analiza las señales temporales en las palabras que pueden indicar que las órdenes verbales no describen el orden preciso de forma lineal. Tales señales indican cuando algo toma lugar “antes” o “después”, al “inicio” o al “final”, sin considerar en qué parte de la oración aparece. Los científicos parecen haber encontrado fórmulas para esas palabras para generar el orden lógico en la oración. Cuando se aplica al ejemplo mencionado, la palabra “antes” mueve la cláusula al inicio automáticamente. El resultado es que primero se abre la puerta del garage y entonces se procede a las siguientes órdenes.

De acuerdo a los investigadores, los requerimientos para hacer un sistema por voz no son una alternativa confiable. Las primeras pruebas mostraron que las personas con o sin conocimiento en programación no hablan en estricto sentido cronológico, incluso si se les pide hacer esto. En lugar de esot, continúan inconscientemente usando las palabras que señalizan el orden. “Nuestro objetivo es que la computadora se adapte a la forma en que los usuarios hablan y no al revés”, dice Landhäußer.

Además del problema del orden, los científicos han identificado otros retos en la programación con lenguaje natural. Las personas reemplazan, por ejemplo, algunas palabras por sinónimos y pronombres. Las computadoras no entienden lo que significa el término “coche” cuando se usa “vehículo”, por ejemplo. “la gente entiende estas relaciones porque las situaciones aparecen como en una película en su ojo interno. estamos trabajando en dar a las computadoras tal entendimiento a largo plazo”, termina Landhäußer.

Pero la realidad es que los seres humanos lidiamos con un mundo poco preciso, lleno de ambigüedades, donde conocemos hechos que a la máquina hay que darlos explícitamente y que en términos generales, hablan de este conocimiento que tenemos del mundo exterior, del entorno. Las máquinas no saben nada de eso y hay que dárselos para que entiendan. En el fondo ése es quizás el peor problema que enfrentan los investigadores en este tema.

Referencias:

Science Daily

Comentarios