IBM crea una base de datos para enseñar a programar a las Inteligencias Artificiales

«Software is eating the world”, el software está comiéndose el mundo, dijo el emprendedor estadounidense Marc Andreessen. La afirmación hoy no parece especialmente aventurada y no creo que nade trate de llevarle lo contraria, pero lo interesante es que lo dijo hace diez años, en el 2011. Actualmente su observación se parece más a una predicción, pues prácticamente no hay apartado esencial en la vida cotidiana que no emplee softwares: hasta en los coches modernos hay millones de líneas de código.


Enseñar a la Inteligencia Artificial a programar es el objetivo de la más reciente iniciativa del departamento de investigación de IBM. Project CodeNet es el nombre del proyecto, que consiste en una base de datos con más de quinientos millones de líneas de código en medio centenar de lenguajes de programación, desde los más antiguos, como COBOL o FORTRAN, a los más recientes C++ o Python.


«El lenguaje de las máquinas es el código y, de la misma manera que hemos avanzado mucho en el procesamiento de lenguaje natural como en los traductores, podemos enseñar a las máquinas a programar», ha afirmado Darío Gil, vicepresidente sénior de IBM y director de IBM Research.

El contexto es la clave


El gran reto de este proyecto es que enseñar código no es tan distinto a enseñar un lenguaje, y todo lenguaje, sea el de una civilización humana o el de una máquina, está fuertemente marcado por el contexto. IBM Research lo explica muy bien en el artículo con el que presenta el proyecto:

“Si fuera fácil y los sistemas basados en reglas funcionasen, entonces los primeros lenguajes de programación, como COBOL, hubieran sido convertidos hace tiempo. Pero el lenguaje de programación tiene un contexto. El significado de cualquier afirmación está relacionado con un contexto, así que hacer la traducción, como con los lenguajes humanos, es complejo y requiere de mucho tiempo”.


Con la tecnología actual, de los lenguajes basados en reglas se puede traducir automáticamente entre un 50 y un 60 por ciento, de modo que el resto lo tiene que traducir manualmente un humano.


El objetivo de Project CodeNet, por tanto, es aportar innovadores algoritmos que puedan entender el contexto de los lenguajes de programación, algo similar a lo que realizamos con los lenguajes humanos. En definitiva, se trata conseguir que las máquinas entiendan el código, no solo que lo procesen.

Related posts

AWS pone en jaque el internet centralizado

NIS2 y DORA: cómo transformar una obligación en ventaja competitiva

Google AI Overviews: cómo proteger tu tráfico cuando el clic desaparece