Un grupo de investigadores del Instituto Tecnológico de Massachusetts (MIT) demuestra que es posible escribir programas en inglés convencional.
Los programadores pasan generalmente años aprendiendo a programar. Ahora investigadores dicen que han encontrado una forma que puede hacer que la persona con menos experiencia pueda desarrollar código.
Escribir programas de cómputo ha requerido la utilización de lenguajes específicos como C++, Fortran o Ensamblador. En un par de artículos, investigadores del Laboratorio de Inteligencia Artificial e Informática del MIT (CSAIL) buscaron si es posible escribir programas informáticos utilizando lenguaje normal, esto es, el tipo de lenguaje que utilizamos para hablar o escribir a diario. Y por lo que parece, se puede, aunque sólo para algunas cosas.
Para demostrarlo, los investigadores crearon un sistema para entrenar a una computadora a convertir descripciones en lenguaje natural en expresiones normalizadas –una secuencia que se asigna a una cadena de datos (letras, variables… escritos de cierta manera) de modo que el programa pueda interpretar exactamente lo que se quiere decir.
Los investigadores dieron al sistema especificaciones de texto para diferentes formatos de archivos. Las especificaciones de texto estaban escritas en lenguaje normal y el sistema automáticamente aprendió a interpretar el texto y convertirlo en jerga de programación, de forma que la computadora podía leer apropiadamente los datos en los diferentes formatos de archivo.
Por ejemplo, cuando se le daba la descripción en lenguaje natural “palabra de tres letras empezando con X” el sistema devuelve la expresión “\bX[A-Za-z]{2}\b.” Como se demuestra en ambos artículos, el sistema puede interpretar especificaciones de texto mucho más largas y complejas y convertirlas en expresiones normalizadas.
Mientras que el ejemplo indicado puede no decir mucho al observador casual, el sistema crea lo que los científicos de la informática llaman programas de análisis de entradas que ayudan al software a entender el significado exacto de una frase o expresión. El ejemplo anterior, “\bX[A-Za-z]{2}\b”, es la definición exacta en el mundo informático de “palabra de tres letras que empieza por X” y cuando se entra eso en una búsqueda se obtendrá únicamente eso.
La programación en lenguaje natural tal vez todavía no pueda convertir rápidamente a un no-programador en un experto programador, y está limitado actualmente en lo que puede hacer, pero es definitivamente un inicio. A su debido tiempo, según evolucione el campo de lingüística de programación, puede ser posible que escribamos un software completo sólo utilizando el lenguaje con el que hemos crecido hablando.
– James Mulroy, TechHive