Processo de criação: o Little Language Lessons usa os recursos multilíngues do Gemini para personalizar o aprendizado de idiomas

29 DE ABRIL DE 2025

Como engenheiro, sempre fui fascinado pela linguagem, tanto a de codificação quanto a falada. O aprendizado de uma nova linguagem de programação normalmente começa pela criação de algo tangível, que coloca instantaneamente a teoria em prática. O aprendizado de um novo idioma, por outro lado, muitas vezes acontece em um vácuo, por meio de livros didáticos ou exercícios que parecem estranhamente desconectados das situações nas quais a linguagem realmente importa. Assim como na programação, um idioma pode ser aprendido melhor por meio de contextos significativos: as conversas que temos, os objetos ao nosso redor, os momentos nos quais nos encontramos. Ao contrário das ferramentas de aprendizado tradicionais, a IA pode se adaptar ao contexto de um aluno, o que a torna especialmente adequada para nos ajudar a praticar idiomas de maneiras que parecem mais naturais e pessoais.

Isso me levou, junto com um pequeno grupo de colegas, a experimentar a API Gemini, que permite que os desenvolvedores acessem os modelos generativos mais recentes do Google. O resultado disso é o Little Language Lessons: uma coleção de três pequenos experimentos de aprendizado, todos habilitados pelos modelos Gemini do Google.


Experimento 1, Tiny Lesson: aprenda o que você precisa, quando precisa

Uma das partes mais frustrantes de aprender um idioma é encontrar-se em uma situação na qual você precisa de uma palavra ou frase específica que ainda não aprendeu.

Essa é a ideia por trás do Tiny Lesson. Você descreve uma situação, que pode ser "pedir ajuda para encontrar um endereço" ou "encontrar um passaporte perdido", e recebe dicas úteis de vocabulário, frases e gramática adaptadas a esse contexto.

Conseguimos fazer isso usando um prompt simples. O prompt começa com um preâmbulo de definição de perfil que se parece com o seguinte (nota: os prompts em inglês foram traduzidos livremente para fins de compreensão):

Você é um professor de {target language} que é bilíngue em {target language} e
 {source language} e especializado na elaboração de conteúdo educacional 
adaptado às metas de uso do idioma dos alunos.
Markdown

Neste prompt, e em todos os outros que serão mostrados a seguir, aproveitamos a capacidade do Gemini de fornecer saídas em formato JSON estruturado, definindo o resultado desejado como uma lista de chaves em um objeto:

Para o contexto de uso fornecido, forneça um objeto JSON contendo duas chaves:
"vocabulário" e "frases".
 
O valor de "vocabulário" deve ser uma matriz de objetos, cada um contendo três 
chaves: "termo", "transliteração" e "tradução".
 
O valor de "termo" deve ser uma palavra em {target language} que seja altamente relevante 
e útil no contexto fornecido.
Se o idioma de interesse for normalmente escrito em alfabeto latino, o 
o valor de "transliteração" deve ser uma string vazia. Caso contrário, o valor de
"transliteração" deve ser uma transliteração do termo.
O valor da "tradução" deve ser a tradução em {source language} do 
termo.
 
...
Markdown

No total, cada lição é o resultado de duas chamadas para a API Gemini. Um prompt lida com a geração de todo o vocabulário e das frases, e o outro lida com a geração de tópicos gramaticais relevantes.

E, no final de cada prompt, interpolamos o contexto de uso desejado do usuário da seguinte forma:

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

Experimento 2, Slang Hang: aprenda a não soar tanto como um livro didático

Há um momento na jornada de aprendizado de um idioma no qual você começa a se sentir à vontade. Você consegue manter conversas, se expressar e, principalmente, sobreviver. Mas, então, você percebe que ainda soa... estranho. Muito formal. Rígido.

Criamos o Slang Hang para ajudar a resolver isso. A ideia é simples: gerar uma conversa realista entre falantes nativos e permitir que os usuários aprendam com ela. Você pode assistir ao desenrolar do diálogo, revelando uma mensagem por vez e aprendendo termos desconhecidos à medida que eles aparecem.

O preâmbulo do prompt do Slang Hang se parece com o seguinte:

Você é um roteirista que é bilíngue em {source language} e 
{target language} e especializado em criar diálogos cativantes. 
Você também é linguista e altamente sintonizado com as nuances culturais que 
moldam a fala natural.
Markdown

Embora os usuários só possam revelar uma mensagem por vez, tudo — o ambiente, a conversa, as explicações dos termos destacados — é gerado a partir de uma única chamada para a API Gemini. Definimos a estrutura da saída em JSON da seguinte forma:

Gere uma cena curta que contenha dois interlocutores falando o 
{target language} autêntico. Forneça o resultado como um objeto JSON que contém duas chaves: 
"contexto" e "diálogo".
 
O valor de "contexto" deve ser um parágrafo curto em {SOURCE LANGUAGE} 
que descreve o ambiente da cena, o que está acontecendo, quem são os falantes 
e os relacionamentos entre eles.
 
O valor de "diálogo" deve ser uma matriz de objetos, na qual cada objeto 
contém informações sobre um único turno de conversação. Cada objeto na matriz 
"diálogo" deve conter quatro chaves: "falante", "gênero", "mensagem" 
e "notas".
 
...
Markdown

O diálogo é gerado no idioma de destino do usuário, mas os usuários também podem traduzir mensagens para seus idiomas nativos (uma funcionalidade habilitada pela API Cloud Translation).

Um dos aspectos mais interessantes deste experimento é o elemento da narrativa emergente. Cada cena é única e gerada na hora, e pode ser um vendedor de rua conversando com um cliente, dois colegas de trabalho se encontrando no metrô ou até mesmo dois amigos que não se encontram há muito tempo se reunindo inesperadamente em uma exposição de animais de estimação exóticos.

Dito isso, descobrimos que este experimento é um tanto suscetível a erros de acurácia: ocasionalmente, ele usa certas expressões e gírias incorretamente, ou até mesmo as inventa. Os LLMs ainda não são perfeitos, por isso é importante fazer comparações com fontes confiáveis.


Experimento 3, Word Cam: aprenda com o seu ambiente

Às vezes, você só precisa de palavras para as coisas à sua frente. Pode ser extremamente humilhante perceber o quanto você não sabe dizer no idioma de destino. Você conhece a palavra para "janela", mas como se diz "peitoril"? E "persianas"?

O Word Cam transforma sua câmera em um ajudante instantâneo de vocabulário. Você tira uma foto, e o Gemini detecta os objetos, os rotula no idioma de destino e fornece palavras adicionais que você pode usar para descrevê-los.

Este experimento aproveita os recursos de visão do Gemini para detecção de objetos. Enviamos uma imagem ao modelo e pedimos as coordenadas da caixa delimitadora dos diferentes objetos na imagem:

Forneça insights sobre os objetos presentes na imagem fornecida. 
Dê o resultado como um objeto JSON que contém uma única chave chamada "objetos".
 
O valor de "objetos" deve ser uma matriz de objetos cujo comprimento não seja maior 
do que o número de objetos distintos presentes na imagem. Cada objeto na 
matriz deve conter quatro chaves: "nome", "transliteração", "tradução" e 
"coordenadas".
 
...
 
O valor de "coordenadas" deve ser uma matriz inteira representando as 
coordenadas da caixa delimitadora do objeto. Forneça as coordenadas como [ymin, 
xmin, ymax, xmax].
Markdown

Depois que o usuário seleciona um objeto, enviamos a imagem cortada para o Gemini em um prompt separado e pedimos que ele gere descritores para o objeto no idioma de destino do usuário:

Para o objeto representado na imagem fornecida, forneça descritores 
que descrevam o objeto. Forneça o resultado como um objeto JSON que contém 
uma única chave chamada "descritores".
 
O valor de "descritores" deve ser uma matriz de objetos, na qual cada 
objeto contém cinco chaves: "descritor", "transliteração", "tradução", 
"exemploFrase", "exemploTransliteraçãoFrase" e 
"exemploTraduçãoFrase".
 
...
Markdown

Em todos os três experimentos, também integramos a funcionalidade de conversão de texto em voz, permitindo que os usuários ouçam as pronúncias no idioma de destino. Fizemos isso usando a API Cloud Text-to-Speech, que oferece vozes que soam naturais em idiomas amplamente falados, porém com opções limitadas para os idiomas menos comuns. Os sotaques regionais não estão bem representados, portanto, às vezes há incompatibilidades entre o dialeto selecionado pelo usuário e o sotaque da reprodução.


O que vem a seguir?

Embora o Little Language Lessons seja apenas uma exploração inicial, experimentos como estes sugerem possibilidades empolgantes para o futuro. Este trabalho também levanta algumas questões importantes: como seria colaborar com linguistas e educadores para refinar as abordagens que investigamos no Little Language Lessons? De forma mais geral, como a IA pode tornar o aprendizado independente mais dinâmico e personalizado?

Por enquanto, continuamos a explorar, iterar e fazer perguntas. Se você quiser conferir mais experimentos como este, acesse labs.google.com.