Periodista por un día > Programación y Procesamiento del Lenguaje Natural

Publicado el 9 de Septiembre de 2021

Programación y Procesamiento del Lenguaje Natural

Programación con Lenguaje Natural, la Inteligencia Artificial está ayudando a programar en lenguaje natural. En Julio 2021 se lanzó Codex, el sistema de IA que traduce el lenguaje natural a Código.

Programar hablándole a la computadora podría ser en los próximos años una ventaja significativa.

Los lenguajes de programación se pueden clasificar en imperativos y declarativos. Aquellos que dan órdenes detalladas a la computadora son “imperativos”. Por otro lado, aquellos que describen el problema son “declarativos”. Dentro de la segunda clasificación, se encuentra el problema de descripción e interpretación. Es decir, se intenta describir el problema frente a la máquina, ésta intenta interpretar la descripción y generar una solución automáticamente. Esta idea en Inteligencia Artificial (IA) no es nueva. La programación declarativa con lenguaje natural era considerada como ciencia ficción hasta hace no mucho tiempo atrás. Ahora, se comenzó a abordar dicho desafío.

NLP

Copilot en Acción – GitHub

En la perspectiva tradicional de la IA, la programación funcional y la programación lógica pertenecen a la programación declarativa. El programador escribe una descripción del problema a resolver utilizando un lenguaje particular (como LISP o PROLOG). Luego, un compilador genera el programa ejecutable. Sin embargo, estos estilos de programación están muy lejos están de la idea de “proveer una descripción del problema capaz con el objetivo de que una maquina puede resolver en forma autónoma”.

¿Puede la computadora programar sola? Los avances de IA en procesamiento del lenguaje natural (NLP) y aprendizaje en Maquinas (ML) dieron lugar a varios prototipos que se acercan a esta idea revolucionaria. GitHub junto con Microsoft lanzaron Copilot en Junio 2021. «GitHub Copilot extrae el contexto del código en el que está trabajando, sugiriendo líneas completas o funciones completas. Le ayuda a descubrir rápidamente formas alternativas de resolver problemas, escribir pruebas y explotar nuevas API sin tener que adaptar tediosamente una búsqueda de respuestas en Internet» dijo Nat Friedman (CEO de GitHub).

Quizás la herramienta más interesante sea Codex. Una herramienta de la empresa OpenAI. El 14 de julio del 2021 se publicó el trabajo “Evaluating Large Language Models Trained on Code”. En él se estudia el uso de Codex en una comunidad muy amplia de programadores. Codex es un modelo de lenguaje GPT (Generative Pre-trained Transformer) perfeccionado. Es un modelo de lenguaje autoregresivo que emplea aprendizaje profundo para producir textos que simulan la redacción humana. El sistema (impulsado por aprendizaje automático) escribe código en Python a partir de una descripción escrita en lenguaje natural. La investigación determina que el muestreo repetido es una estrategia sorprendentemente efectiva para producir soluciones de trabajo a preguntas difíciles. Se resuelven alrededor del 70,2% de los problemas considerando 100 muestras por problema.

Quizás en un futuro cercano podamos desarrollar sistemas informáticos a través de una simple explicación a la Maquina respecto del problema. Por el momento, estas opciones son una herramienta muy poderosa que podría reducir tiempos y costos en las empresas que desarrollan software.

Adaptado por:

Ulises Rapallini

Rapallini Ulises M. A.
Email: ulises.rapallini@gmail.com
IEEE CIS Argentina

IEEE CIS