La herramienta facilitará el trabajo tanto a programadores como a usuarios sin conocimientos. Fuente: Hardy Müller/KIT
Los ordenadores tienen su propio lenguaje, por lo que sólo pueden ser programados por quienes conocen el código. Un equipo de informáticos del (KIT), en Alemania, está trabajando en un software que facilite la comunicación hombre-máquina, traduciendo directamente el lenguaje natural a códigos entendibles por el ordenador.
Como consecuencia, cualquier usuario podría generar sus propias aplicaciones informáticas con unas pocas frases. La dificultad estriba en la complejidad del lenguaje natural, pues no siempre se describen los procesos en un orden estrictamente cronológico. Ese es precisamente el foco de la investigación en el KIT, para lo que han creado una herramienta que sirve para ordenar automáticamente los comandos de la forma en que la máquina los debe ejecutar.
"Queremos huir de reglas complicadas para los usuarios e ir hacia unos ordenadores inteligentes que entablen un diálogo con nosotros", explica Mathias Landhäußer, científico del Institute for Program Structures and Data Organization (ITP) del KIT en un comunicado publicado por la universidad. Hasta ahora, un programa sólo puede controlarse a través del lenguaje si está diseñado para ello específicamente por el fabricante. Un ejemplo es el envío de mensajes cortos desde un smartphone.
Los investigadores del KIT van más allá, al trabajar en un software que instala una interfaz de lenguaje para cualquier tipo de programa. De esta forma, los usuarios no sólo estarán habilitados para abrir, sino para manejar sus aplicaciones mediante comandos de voz. De momento, la interfaz se ha incorporado con éxito en una aplicación que controla los sistemas de calefacción, iluminación y las ventanas de casas inteligentes.
Como consecuencia, cualquier usuario podría generar sus propias aplicaciones informáticas con unas pocas frases. La dificultad estriba en la complejidad del lenguaje natural, pues no siempre se describen los procesos en un orden estrictamente cronológico. Ese es precisamente el foco de la investigación en el KIT, para lo que han creado una herramienta que sirve para ordenar automáticamente los comandos de la forma en que la máquina los debe ejecutar.
"Queremos huir de reglas complicadas para los usuarios e ir hacia unos ordenadores inteligentes que entablen un diálogo con nosotros", explica Mathias Landhäußer, científico del Institute for Program Structures and Data Organization (ITP) del KIT en un comunicado publicado por la universidad. Hasta ahora, un programa sólo puede controlarse a través del lenguaje si está diseñado para ello específicamente por el fabricante. Un ejemplo es el envío de mensajes cortos desde un smartphone.
Los investigadores del KIT van más allá, al trabajar en un software que instala una interfaz de lenguaje para cualquier tipo de programa. De esta forma, los usuarios no sólo estarán habilitados para abrir, sino para manejar sus aplicaciones mediante comandos de voz. De momento, la interfaz se ha incorporado con éxito en una aplicación que controla los sistemas de calefacción, iluminación y las ventanas de casas inteligentes.
El problema del orden
Pero no todo es de color de rosa. "Nos llevará algún tiempo no sólo que un software tan complejo sea operativo, sino también programarlo en lenguaje natural", reconoce Landhäußer. Hasta ahora, el principal escollo de la comunicación entre el hombre y la máquina, el problema del orden, se ha resuelto utilizando el inglés como referencia.
Landhäußer pone como ejemplo la frase “Antes de que el coche arranque, se abre la puerta del garaje”, una descripción “bastante habitual en nuestro lenguaje", destaca. Sin embargo, si el proceso se va a ejecutar en el mundo virtual en un ordenador, surge un problema, pues el equipo ejecuta los comandos sucesivamente, en el orden de llegada.
Volviendo al mismo ejemplo, el ordenador recibe primero la información "el coche arranca" y después "la puerta del garaje se abre". Por tanto, el coche se chocaría contra la puerta del garaje. “Si una cadena de acciones no está prevista en el programa, en el mejor de los casos no pasa nada. En el peor, el ordenador se bloquea”, explica el informático.
Por contra, el nuevo software desarrollado en el KIT analiza lo que han denominado palabras de advertencia, generalmente adverbios o subordinadas de tiempo que indican que el texto hablado no describe el orden del proceso de una manera estrictamente lineal. Estas palabras de advertencia aclaran si algo se lleva a cabo "antes" o "después", "primero" o "último", independientemente de la posición de la información en una frase.
Los investigadores asignan fórmulas lógicas a estas palabras, con el fin de generar un orden cronológico en el texto de origen. Aplicado al ejemplo anterior, la fórmula para la palabra de advertencia "antes de" mueve la oración principal de forma automática a la parte delantera. Así, el resultado sería “la puerta del garaje se abre antes de que el coche arranque”.
Pero no todo es de color de rosa. "Nos llevará algún tiempo no sólo que un software tan complejo sea operativo, sino también programarlo en lenguaje natural", reconoce Landhäußer. Hasta ahora, el principal escollo de la comunicación entre el hombre y la máquina, el problema del orden, se ha resuelto utilizando el inglés como referencia.
Landhäußer pone como ejemplo la frase “Antes de que el coche arranque, se abre la puerta del garaje”, una descripción “bastante habitual en nuestro lenguaje", destaca. Sin embargo, si el proceso se va a ejecutar en el mundo virtual en un ordenador, surge un problema, pues el equipo ejecuta los comandos sucesivamente, en el orden de llegada.
Volviendo al mismo ejemplo, el ordenador recibe primero la información "el coche arranca" y después "la puerta del garaje se abre". Por tanto, el coche se chocaría contra la puerta del garaje. “Si una cadena de acciones no está prevista en el programa, en el mejor de los casos no pasa nada. En el peor, el ordenador se bloquea”, explica el informático.
Por contra, el nuevo software desarrollado en el KIT analiza lo que han denominado palabras de advertencia, generalmente adverbios o subordinadas de tiempo que indican que el texto hablado no describe el orden del proceso de una manera estrictamente lineal. Estas palabras de advertencia aclaran si algo se lleva a cabo "antes" o "después", "primero" o "último", independientemente de la posición de la información en una frase.
Los investigadores asignan fórmulas lógicas a estas palabras, con el fin de generar un orden cronológico en el texto de origen. Aplicado al ejemplo anterior, la fórmula para la palabra de advertencia "antes de" mueve la oración principal de forma automática a la parte delantera. Así, el resultado sería “la puerta del garaje se abre antes de que el coche arranque”.
Adaptación de la máquina
El estudio apuesta por esta línea después de descartar la posibilidad de una comunicación oral adaptada al ordenador como alternativa fiable. Las primeras pruebas demuestran que tanto personas sin conocimientos de programación como conocedores son incapaces de hablar en un orden estrictamente cronológico, incluso si se les pide que lo hagan. En cambio, siguen utilizando inconscientemente palabras de advertencia. "Nuestro objetivo es que el ordenador se adapte a la forma de hablar del usuario, y no al revés", matiza Landhäußer.
Aparte del problema del orden, los investigadores han identificado otros desafíos en la programación en lenguaje natural. Las personas que se sometieron al experimento sustituyen algunas palabras por sinónimos o pronombres. Los ordenadores no entienden automáticamente que el término "coche" significa lo mismo que "vehículo" o “eso” en la siguiente frase.
“La gente entiende estas relaciones porque la situación se proyecta como una película en su retina. Estamos trabajando para dar a los ordenadores esa capacidad de entendimiento a largo plazo”, explica el científico.
El estudio apuesta por esta línea después de descartar la posibilidad de una comunicación oral adaptada al ordenador como alternativa fiable. Las primeras pruebas demuestran que tanto personas sin conocimientos de programación como conocedores son incapaces de hablar en un orden estrictamente cronológico, incluso si se les pide que lo hagan. En cambio, siguen utilizando inconscientemente palabras de advertencia. "Nuestro objetivo es que el ordenador se adapte a la forma de hablar del usuario, y no al revés", matiza Landhäußer.
Aparte del problema del orden, los investigadores han identificado otros desafíos en la programación en lenguaje natural. Las personas que se sometieron al experimento sustituyen algunas palabras por sinónimos o pronombres. Los ordenadores no entienden automáticamente que el término "coche" significa lo mismo que "vehículo" o “eso” en la siguiente frase.
“La gente entiende estas relaciones porque la situación se proyecta como una película en su retina. Estamos trabajando para dar a los ordenadores esa capacidad de entendimiento a largo plazo”, explica el científico.