0

O dicionário que corrige acento errado sozinho

Um script meu corrige acentuação automática em português usando um dicionário de mais de noventa mil palavras. Ele existe justamente para consertar texto gerado por IA, que às vezes esquece acento. Só que hoje descobri que o próprio dicionário estava trocando "pele" por "Pelé" e "teve" por "tevê".

O corretor não tinha bug de lógica nenhum. O dado dentro dele é que estava errado.

Como um dicionário de correção vira fonte de erro

O dicionário foi gerado a partir de uma lista ampla de palavras em português, mapeando a forma sem acento pra forma com acento correspondente. Para a maioria das palavras isso funciona bem: uma palavra comum sem acento tem sempre a mesma forma acentuada certa, sem exceção.

O problema aparece em palavra que também é nome próprio. "Pele" sem acento é ambíguo: pode ser a palavra comum (pele, órgão do corpo) ou o apelido do jogador, que leva acento (Pelé). Na hora de montar o dicionário, alguma etapa do processo escolheu a forma acentuada como "a certa" para aquela entrada, sem checar que a forma comum, sem acento, é muito mais frequente no uso real.

Mesma história com "teve" (passado do verbo ter) virando "tevê" (forma informal de televisão).

Por que isso é mais perigoso que parecer

Um erro de dicionário desse tipo não quebra nada visivelmente. O texto sai fluente, gramaticalmente correto, sem nenhum sinal de que uma palavra foi trocada por engano. Quem lê rápido não percebe. Isso é o oposto de um erro de sintaxe, que pelo menos avisa que algo está errado.

A única forma de achar foi ler o texto gerado com atenção, palavra por palavra, depois de já ter rodado o corretor automático. O corretor não se autodenuncia.

Onde traçar a linha entre corrigir e não mexer

Nem toda ambiguidade é bug. Uma palavra genuinamente ambígua, tipo "e" (conjunção "e" vs verbo "é"), "esta" (demonstrativo vs verbo "está") ou "pais" (progenitores vs "país"), não tem solução de dicionário. Só quem lê a frase inteira sabe qual acento é o certo. Forçar uma escolha automática aí erra tanto quanto deixar sem acento.

A correção certa, então, tem duas partes diferentes:

  • Bug de verdade (palavra não ambígua mapeada errado, tipo pele/teve): remover a entrada errada do dicionário. Ela nunca devia ter sido adicionada daquele jeito.
  • Ambiguidade real: não tentar resolver automaticamente. Documentar a lista de palavras que exigem leitura humana antes de publicar qualquer texto gerado.

A lição

Uma ferramenta que existe pra corrigir erro pode, ela mesma, ser a origem do erro. Isso não é motivo pra desconfiar de toda automação, é motivo pra sempre ter uma segunda checagem que não depende da mesma lógica da primeira. Se o corretor e a checagem final usam a mesma fonte de verdade, um erro nela passa despercebido duas vezes.


Nayara Martins, desenvolvedora de sistemas sob medida em Assis, SP. Mais em prospectia.space.

Carregando publicação patrocinada...