Blog /IA

Antes do ChatGPT, um matemático contou 20 mil letras de um poema

Em 1913, Andrei Markov contou à mão as vogais de um clássico russo. Em 1948, Claude Shannon usou a ideia para fazer a máquina escrever. Os avós da IA que conversa.

Você começa a digitar “bom” no celular e o teclado já sugere “dia”. Você escreve uma pergunta para uma IA e ela responde em segundos, com frases que parecem de gente. Parece mágica recente, coisa dos últimos anos.

Só que a pergunta que move tudo isso é velha. Ela foi feita pela primeira vez com lápis, papel e um livro de poesia, em 1913, por um matemático russo que tinha muita paciência.

Um matemático, um poema e muita paciência

O matemático era Andrei Markov. O livro era Eugênio Onêguin, romance em versos de Aleksandr Púchkin, um clássico da literatura russa.

Segundo a revista de engenharia IEEE Spectrum, Markov pegou as primeiras 20 mil letras do livro e escreveu tudo como uma fila única, sem espaços e sem pontuação. Depois dividiu essa fila em 200 grades de 10 por 10 letras e contou as vogais de cada linha e de cada coluna.

Sem computador, sem planilha. Só ele, o texto e as contas.

Diagrama mostrando 20 mil letras organizadas em 200 grades de 10 por 10, com destaque para o resultado: 43% de vogais e 57% de consoantes.
O método de Markov em 1913, segundo a IEEE Spectrum. Ilustração: Escovando Bytes

O que as letras contaram

O primeiro resultado foi simples: 43% das letras eram vogais e 57% eram consoantes.

O resultado interessante veio quando ele olhou os pares, ou seja, cada letra junto com a seguinte. Vogal seguida de vogal apareceu 1.104 vezes. Consoante seguida de consoante, 3.827 vezes. E as duplas mistas, vogal com consoante ou consoante com vogal, somaram 15.069.

Faça uma conta rápida comigo. Se as letras caíssem no papel por sorteio, sem uma ligação entre si, e 43% delas fossem vogais, a dupla vogal-vogal deveria aparecer perto de 3.700 vezes em 20 mil. Apareceu menos de um terço disso.

Ou seja: a letra que vem depois não é sorteada. Ela depende da que veio antes. Depois de uma vogal, a chance de vir uma consoante é bem maior, e vice-versa.

Gráfico de barras com os pares de letras contados por Markov: 15.069 duplas mistas, 3.827 de consoante com consoante e 1.104 de vogal com vogal, comparadas com cerca de 3.700 que se esperaria num sorteio.
Os números de Markov, via IEEE Spectrum. A estimativa do sorteio é uma conta simples feita a partir deles. Ilustração: Escovando Bytes

Essa ideia, de uma sequência em que cada passo depende do anterior, ganhou o nome do autor: hoje se fala em “cadeias de Markov”. O artigo dele, porém, foi pouco citado na época e só ganhou tradução para o inglês em 2006, quase um século depois.

1948: e se a máquina escrevesse?

Corta para 1948. O engenheiro Claude Shannon publica “Uma teoria matemática da comunicação”, um trabalho sobre como medir e transmitir informação. No meio dele, Shannon faz um experimento que lembra muito o de Markov, só que ao contrário.

Markov contou letras para entender um texto. Shannon usou as contagens para fabricar um texto.

Ele fez isso em degraus, como conta o site de divulgação matemática Plus Magazine:

  • Degrau 1: sortear letras com a mesma chance para todas. Sai uma sopa de letras sem pé nem cabeça.
  • Degrau 2: sortear letras respeitando a frequência do inglês, em que o E aparece muito mais que o W. Continua sem sentido, mas já tem cara de idioma.
  • Degrau 3: escolher cada letra conforme a anterior e, num passo seguinte, conforme as duas anteriores. Começam a surgir palavras de verdade no meio das inventadas.
  • Degrau 4: trocar letras por palavras inteiras, cada uma escolhida conforme a palavra anterior.

No último degrau, a máquina de sortear produziu uma frase que começa assim: “THE HEAD AND IN FRONTAL ATTACK ON AN ENGLISH WRITER” (algo como “a cabeça e em ataque frontal a um escritor inglês”). Não quer dizer nada. Mas, lida rápido, parece inglês.

Escada com os degraus do experimento de Shannon, do sorteio de letras sem regra até a escolha de palavras conforme a anterior, com um trecho do texto gerado em cada degrau.
Os textos gerados por Shannon, conforme reproduzidos pela Plus Magazine. Ilustração: Escovando Bytes

A Plus Magazine observa que Shannon parece ter parado no degrau das palavras, e que, olhando para mais palavras anteriores, em algum momento o texto passaria a ler bem. Guarde essa frase.

O que isso tem a ver com a IA de hoje

A IEEE Spectrum chama Markov e Shannon de autores dos primeiros modelos de geração de linguagem. Modelo de linguagem é isso: um programa que, dado um começo de texto, calcula o que provavelmente vem a seguir.

Os assistentes de IA que conversam com você hoje, como o ChatGPT, são descendentes distantes dessa ideia. A diferença é de escala e de técnica. Em vez de olhar uma letra ou uma palavra anterior, eles olham o texto inteiro da conversa. Em vez de contagens feitas à mão num livro, aprendem com uma quantidade enorme de texto e com computadores muito potentes. Mas a pergunta de fundo continua a mesma de 1913: o que vem a seguir?

Comecei a programar aos 11 anos, e uma das coisas que mais me fascinam até hoje é ver como ideias simples atravessam décadas. Contar vogais num poema parece a coisa mais inútil do mundo. Acabou virando um dos alicerces da tecnologia que você usa no celular.

Por que vale saber disso

Entender de onde a IA vem ajuda a usar melhor. Se a máquina escreve escolhendo a continuação mais provável, ela é ótima para produzir texto que soa certo. Soar certo e estar certo são coisas diferentes.

A frase de Shannon sobre o escritor inglês parecia inglês e não dizia nada. As IAs de hoje vão muito além disso, mas a lição continua valendo: texto fluente não é prova de verdade. Na dúvida, confira a fonte.

E, da próxima vez que o teclado do celular completar a sua palavra, lembre de um matemático russo debruçado sobre 20 mil letras, contando vogais à mão.

Continue lendoVer tudo →
Newsletter

Bytes de sexta.

Um e-mail por semana com os vídeos novos, os artigos e as histórias que valem seu tempo.