Generación de código a partir de comandos en español con un modelo neuronal sintáctico y ASTs genéricos - Solano-Rojas, Steven (Instituto Tecnológico de Costa Rica, 2024)
Los estudiantes sin conocimiento en programación pueden enfrentar retos importantes al tener que aprender a pensar con una lógica diferente a la acostumbrada, y memorizar una serie de comandos nuevos que no siempre se asemejan a un lenguaje natural. Por lo tanto, programar en una lengua materna puede disminuir la carga cognitiva, haciendo más fácil la enseñanza del pensamiento computacional. Existen modelos LLM como GPT-4, CodeGen o CodeT, que han logrado generar buenos resultados en la tarea de generación de código a partir de instrucciones en lenguaje natural. Sin embargo, la mayoría de estas propuestas se basan en el inglés, y el costo para el entrenamiento de estos modelos puede ser muy alto. En este trabajo se presenta un modelo capaz de generar código a partir de instrucciones provenientes de audios en español que fue diseñado bajo el paradigma divide y conquista, permitiendo separarlo en tres componentes principales: el primer componente recibe como entrada un audio para ser transformado a texto plano con un modelo Speech To Text, el segundo componente transforma el texto plano a código Python usando el modelo Tranx, y el tercer componente nos permite transformar el código Python generado a otros lenguajes de programación como C# y Java usando GAST. Para el entrenamiento y las pruebas de los modelos se creó un conjunto de datos en español llamado EsPython. Este conjunto de datos es explicado en detalle en el trabajo, junto con los resultados obtenidos del modelo para la generación de código a partir de comandos en español.

Students without programming knowledge may face significant challenges when they have to learn to think with a different logic from what they are used to, and memorize a set of new commands that do not always resemble natural language. Therefore, programming in a native language can reduce cognitive load, making the learning process of computational thinking easier. There are LLM models like GPT-4, CodeGen, or CodeT that have achieved good results in the task of generating code from natural language instructions. However, most of these proposals are based on English, and the cost for training these models can be high. This work presents a model that can generate code from instructions coming from audio in Spanish. It was designed under the divide and conquer paradigm, allowing it to be separated into three main components: The first component takes an audio input and transforms it into plain text using a Speech To Text model. The second component converts the plain text into Python code using the Tranx model, and the third component transforms the generated Python code into other programming languages such as C# and Java using GAST. The dataset in Spanish called EsPython was created for the training and testing of the model. This dataset is detailed in the paper, along with the results obtained from the model for generating code from commands in Spanish.
Proyecto de Graduación (Maestría en Computación) Instituto Tecnológico de Costa Rica, Escuela de Ingeniería en Computación, 2024.
Keywords: Generación de códigos; Lenguaje natural; Modelos -- Tranx; Lenguajes de programación; Python (Lenguaje de programación de computadores); Algoritmos de aprendizaje profundo; Enseñanza -- Desarrollo de software; Archivos -- GAST; Code generation; Natural language; Models -- Tranx; Programming languages; Python (Computer programming language); Deep learning algorithms; Teaching -- Software development; Files -- GAST; Research Subject Categories::TECHNOLOGY::Information technology::Computer science