Cómo se hace: Little Language Lessons usa las capacidades multilingües de Gemini para personalizar el aprendizaje de idiomas

29 DE ABRIL DE 2025

Como ingeniero, siempre me fascinaron los lenguajes, tanto los que codificamos como los que hablamos. Por lo general, el aprendizaje de un nuevo lenguaje de programación comienza con la construcción de algo tangible y la puesta en práctica de la teoría al instante. Por otro lado, el aprendizaje de un nuevo idioma hablado suele ocurrir en el vacío, a través de libros de texto o ejercicios que parecen desconectados de las situaciones en las que el idioma realmente importa. Al igual que en el caso de la programación, el idioma se aprende mejor a través de contextos significativos: las conversaciones que tenemos, los objetos que nos rodean, los momentos en los que nos encontramos. A diferencia de las herramientas de aprendizaje tradicionales, la IA puede adaptarse al contexto de la persona que estudia, por lo que es especialmente adecuada para ayudarnos a practicar idiomas de manera más natural y personal.

Esto me llevó a experimentar, junto con un pequeño grupo de colegas, con la API de Gemini, que permite a los desarrolladores acceder a los últimos modelos generativos de Google. El resultado es Little Language Lessons: una colección de tres pequeños experimentos de aprendizaje, todos impulsados por los modelos Gemini de Google.


Experimento 1, Tiny Lesson: Aprende lo que necesitas, cuando lo necesitas

Una de las cosas más frustrantes de aprender un idioma es estar en una situación en la que necesitas una palabra o frase específica, y resulta que todavía no la aprendiste.

Esa es la idea sobra la que se basa Tiny Lesson. Describes una situación, puede ser “pedir orientación” o “encontrar un pasaporte perdido”, y obtienes vocabulario, frases y consejos gramaticales útiles adaptados a ese contexto.

Pudimos crear esta solución usando una simple receta rápida. La instrucción comienza con una introducción que define a la persona ficticia y puede ser así:

Enseñas {target language} y eres bilingüe en {target language} y
 {source language}, y tienes mucha experiencia en la elaboración de contenido educativo que se 
adapta a los objetivos de los estudiantes respecto del uso del idioma.
Markdown

En esta instrucción y en todas las siguientes, aprovechamos la capacidad de Gemini para proporcionar resultados como JSON estructurado, con lo que se define el resultado deseado como una lista de claves en un objeto:

Para el contexto de uso en cuestión, proporciona un objeto JSON que contenga dos claves:
"vocabulary" y "phrases".
 
El valor de "vocabulary" debe ser una matriz de objetos, cada uno de los cuales contiene tres 
claves: "term", "transliteration" y "translation".
 
El valor de "term" debe ser una palabra en {target language} muy relevante 
y útil en el contexto determinado.
Si el idioma de interés se escribe con el alfabeto latino,
 el valor
 de "transliteration" debe ser una string vacía. De lo contrario, el valor de
"transliteration" debería ser una transliteración del término.
El valor de "translation" debería ser la traducción en {source language} 
del término.
 
...
Markdown

En total, cada lección es el resultado de dos llamadas a la API de Gemini. Una instrucción se encarga de generar todo el vocabulario y las frases, y la otra se ocupa de generar temas gramaticales relevantes.

Y al final de cada instrucción, interpolamos el contexto de uso deseado del usuario de la siguiente manera:

ENTRADA (contexto de uso): {user input}
Markdown

Experimento 2, Slang Hang: Aprende a expresarte con más naturalidad

Hay un momento en el proceso de aprendizaje de un idioma en el que empiezas a cobrar confianza. Puedes mantener conversaciones, expresarte y, sobre todo, arreglártelas. Pero luego te das cuenta de que tu manera de expresarte es... rara. Demasiado formal. Rígida.

Creamos Slang Hang para ayudar a abordar este problema. La idea es simple: generar una conversación realista entre hablantes nativos y dejar que los usuarios aprendan de ella. Puedes ver cómo se desarrolla el diálogo, analizar un mensaje por vez y aprender los términos desconocidos a medida que aparecen.

El comienzo de la instrucción de Slang Hang tiene el siguiente aspecto:

Eres guionista bilingüe en {source language} y 
{target language}, y tienes mucha experiencia en la elaboración de diálogos cautivadores. 
También eres lingüista y estás muy en sintonía con los matices culturales que 
dan forma al habla natural.
Markdown

Aunque los usuarios solo pueden ver un mensaje por vez, todo (la configuración, la conversación, las explicaciones de los términos resaltados) se genera a partir de una sola llamada a la API de Gemini. Definimos la estructura del resultado JSON de la siguiente manera:

Genera una escena corta en la que dos interlocutores hablen con autenticidad en 
{target language}. Proporciona el resultado como un objeto JSON que contenga dos claves: 
"context" y "dialog".
 
El valor de "context" debe ser un párrafo corto en {SOURCE LANGUAGE} 
que describa la configuración de la escena, lo que está sucediendo, quiénes son los hablantes

 y qué tipo de relación tienen.
 
El valor de "dialog" debe ser una matriz de objetos, donde cada objeto 
contiene información sobre un solo turno de la conversación. Cada objeto de la matriz 
"dialog" debe contener cuatro claves: "speaker", "gender", "message" 
y "notes".
 
...
Markdown

El diálogo se genera en el idioma de destino del usuario, pero los usuarios también pueden traducir los mensajes a su idioma nativo (una funcionalidad impulsada por la API de Cloud Translation).

Uno de los aspectos más interesantes de este experimento es el concepto de narración emergente. Cada escena es única y se genera sobre la marcha: podría tratarse de un vendedor ambulante que conversa con un cliente, dos compañeros de trabajo que se reúnen en el metro o incluso un par de amigos que no se ven desde hace mucho tiempo y se encuentran inesperadamente en un espectáculo de mascotas exóticas.

Ahora bien, descubrimos que este experimento puede incurrir en errores de precisión: de tanto en tanto, utiliza mal algunas expresiones y la jerga, o incluso las inventa. Los LLM aún no son perfectos, por lo que es importante hacer comparar datos mediante referencia cruzada con fuentes confiables.


Experimento 3, Word Cam: Aprende de tu entorno

A veces, solo necesitamos saber cómo se dicen en otros idiomas las cosas que tenemos frente a nosotros. Puede ser muy humillante darse cuenta de todo lo que no sabemos decir en el idioma de destino. Sabemos cómo se traduce “ventana”, pero ¿cómo se dice “alféizar de la ventana”? ¿Y “persianas”?

Word Cam convierte a tu cámara en un ayudante de vocabulario instantáneo. Toma una foto y Gemini detectará objetos, los etiquetará en el idioma de destino y te ofrecerá palabras adicionales que puedes usar para describirlos.

Este experimento aprovecha las capacidades de visión de Gemini para la detección de objetos. Enviamos al modelo una imagen y le pedimos las coordenadas del cuadro de límite de los diferentes objetos de esa imagen:

Proporciona información sobre los objetos que están en la imagen. 
Muestra el resultado como un objeto JSON que contenga una sola clave llamada "objects".
 
El valor de "objects" debe ser una matriz de objetos cuya longitud no sea mayor 
que el número de objetos distintos presentes en la imagen. Cada objeto de la 
matriz debe contener cuatro claves: "name", "transliteration", "translation" y 
"coordinates".
 
...
 
El valor de "coordinates" debe ser una matriz entera que represente las
 coordenadas
 del cuadro de límite del objeto. Proporciona las coordenadas como [ymin, 
xmin, ymax, xmax].
Markdown

Una vez que el usuario selecciona un objeto, enviamos la imagen recortada a Gemini en un mensaje separado y le pedimos que genere descriptores para ese objeto en el idioma de destino del usuario:

Para el objeto representado en la imagen dada, proporciona descriptores 
que describan el objeto. Muestra el resultado como un objeto JSON que contenga 
una sola clave llamada "descriptors".
 
El valor de "descriptors" debe ser una matriz de objetos, donde cada 
objeto contenga cinco claves: "descriptor", "transliteriation", "translation", 
"exampleSentence", "exampleSentenceTransliteration" y 
"exampleSentenceTranslation".
 
...
Markdown

En los tres experimentos, también integramos la funcionalidad de texto a voz, lo que permite a los usuarios escuchar pronunciaciones en el idioma de destino. Lo hicimos utilizando la API de Cloud Text-to-Speech, que ofrece voces naturales en idiomas ampliamente hablados, pero opciones limitadas para los menos comunes. Los acentos regionales no están bien representados y, por lo tanto, a veces hay desajustes entre el dialecto seleccionado por el usuario y el acento de la reproducción.


Lo que viene

Aunque Little Language Lessons está en una etapa de experimentación temprana, estas pruebas permiten imaginar posibilidades emocionantes para el futuro. Este trabajo también plantea algunas preguntas importantes: ¿cómo sería colaborar con lingüistas y educadores para mejorar los enfoques que investigamos en Little Language Lessons? En términos más generales, ¿cómo puede la IA hacer que el aprendizaje independiente sea más dinámico y personalizado?

Por ahora, seguimos explorando, iterando y haciendo preguntas. Si quieres ver más experimentos como este, ve a labs.google.com.