FreeToGenerate.com

Mostra a regra que decidiu cada letra, não apenas os quatro caracteres finais, incluindo o único caso que as regras publicadas destacam para dizer qual não é a resposta. Nada é enviado.

Cada letra aparece com a regra que a decidiu, então dá para ver por que uma letra foi descartada em vez de apenas confiar no resultado.

Experimente:

Código Soundex

A-261

Letra por letra

A primeira letra é mantida como está. As demais são codificadas como dígito, ignoradas por serem vogais, ou descartadas por uma das regras indicadas.

LetraResultadoRegraMesmo código de
AAMantida como letra do código
s2Codificada
hH ou W, ignorada
cMesmo número, separadas apenas por H ou WS
r6Codificada
aVogal, ignorada
f1Codificada
tO código já tem três dígitos

Outros códigos sob os quais este nome pode estar arquivado

Se H e W separassem letras

A leitura rejeitada: A-226

Elas não separam. O Arquivo Nacional dos Estados Unidos enuncia a regra e em seguida nomeia a resposta que rejeita, algo raro o bastante para valer a citação: Ashcraft é A-261, e não é A-226. Uma implementação que pule essa regra devolve a segunda.

Tudo roda no seu navegador. Nada é enviado, e recarregar a página apaga o que você digitou.

Também disponível em: English · Español · Français · العربية

Calculadora Soundex: cada letra e a regra que a decidiu

Codifique qualquer sobrenome, veja por que cada letra foi mantida ou descartada e descubra quais grafias são arquivadas juntas.

O que é um código Soundex?

Um código Soundex é uma chave de índice de quatro caracteres para um sobrenome: a primeira letra e três dígitos que representam as consoantes seguintes. Washington é W-252 e Lee é L-000. A ideia é que sobrenomes de som parecido mas grafia diferente caiam no mesmo código e ficassem arquivados juntos, que é como se localiza um antepassado cujo nome um recenseador anotou de ouvido há um século.

A codificação em si são poucas regras. Seis dígitos cobrem as consoantes — 1 para B, F, P e V; 2 para C, G, J, K, Q, S, X e Z; 3 para D e T; 4 para L; 5 para M e N; 6 para R — e as letras A, E, I, O, U, H, W e Y são ignoradas. Zeros completam um código curto até três dígitos, e tudo o que passa do terceiro é descartado.

O que esse resumo esconde é que outras quatro regras decidem quando uma consoante simplesmente não é codificada, e é aí que as implementações divergem. Esta página mostra a regra que agiu sobre cada letra, de modo que um código com o qual você discorde possa ser contestado em vez de apenas posto em dúvida.

Como usar

  1. Digite o sobrenome. O código aparece na hora, com o hífen depois da letra, como o arquivo escreve. Cada botão de exemplo demonstra uma regra diferente, incluindo os dois casos que implementações ingênuas erram.
  2. Leia a tabela de letras. Cada caractere ganha uma linha: codificado como dígito, ignorado por ser vogal, ou descartado com o nome da regra que o descartou. Quando uma letra colide com outra anterior, a tabela indica com qual.
  3. Mude para o modo de comparação. Cole uma lista de variantes, uma por linha, e veja quais são arquivadas juntas. É para isso que o índice existe, e os agrupamentos raramente são os que se imagina.

A regra que quase todos pulam

Não existe padrão Soundex. Não há número ISO, nem RFC, nem comitê: o algoritmo circulou como convenção de arquivo muito antes de alguém tentar escrevê-lo, e o que sobrevive como referência é a página do Arquivo Nacional dos Estados Unidos que descreve as regras do Soundex do censo, a variante que todos entendem por Soundex americano. É uma página web governamental, não uma especificação, e vale a precisão, porque isso muda até onde ela pode sustentar um argumento.

O que a torna utilizável assim mesmo é que ela publica nove exemplos resolvidos e, no mais difícil deles, faz algo que especificações quase nunca fazem: nomeia a resposta que rejeita. Se um H ou um W separam duas consoantes de mesmo código, a segunda não é codificada. Ashcraft é codificado A-261, e a página afirma sem rodeios que não é A-226. Saber qual é a resposta errada é muito mais útil do que saber qual é a certa, porque dá para testar contra ela.

E vale fazer esse teste. Para esta página, três implementações publicadas foram verificadas contra os nove exemplos: duas reproduzem todos, e a terceira devolve exatamente A-226 para Ashcraft, o valor que o arquivo soletra justamente para rejeitá-lo. Ou seja, a afirmação popular de que todo mundo erra o Soundex é falsa, e a versão verdadeira é mais estreita e mais interessante: a única regra para a qual uma autoridade sentiu necessidade de publicar uma correção é a que continua sendo pulada.

Isso pesa menos do que se poderia temer. Sobre uma lista inglesa de 168.551 palavras, as duas leituras discordam em 211, cerca de uma em oitocentas, porque só 293 contêm o padrão. Mas a discordância não é aleatória: exige um H ou um W entre duas consoantes da mesma classe, que é exatamente o que acontece em Ashcraft, e em dishcloths, beachcombs ou highchairs. Quando a regra se aplica, quase sempre muda o resultado.

A segunda regra que pega as pessoas é ainda mais sutil. A primeira letra é mantida como letra, mas seu número continua ativo, então uma consoante seguinte que compartilhe esse número é descartada. Pfister é P-236 e não P-123, porque o F é mudo exatamente no sentido que interessa à codificação: compartilha o número do P. Uma versão que comece a codificar só a partir da segunda letra erra sempre aqui.

O que um código Soundex não diz

Ele não diz que dois sobrenomes têm parentesco, apenas que colidem. Schmidt e Smith são ambos S-530, que é o sistema funcionando exatamente como projetado sobre as variantes de sobrenomes de imigrantes para as quais foi criado: o C, o H e o D somem pelo caminho. Mas Sanders, Saunders, Schneider e Snyder também são todos S-536, e não são o mesmo sobrenome. Um código compartilhado é um motivo para olhar, nunca uma prova.

Ele também deixa escapar sobrenomes que pareceria dever capturar. Acrescente uma sílaba e o código muda: Smithers é S-536, arquivado longe de Smith. Tudo além do terceiro dígito é descartado, então sobrenomes longos são comparados apenas pelo começo, e dois sobrenomes completamente diferentes que compartilhem quatro consoantes iniciais ficam indistinguíveis.

A regra dos prefixos é uma convenção de arquivo, não um algoritmo, e aplicá-la mecanicamente falha nos próprios exemplos do arquivo. Um sobrenome iniciado por Van, Con, De, Di, La ou Le deveria ser codificado das duas formas, já que pode ter sido arquivado sob qualquer uma; mas Deusen, que é o exemplo publicado de um sobrenome com o prefixo já retirado, começa por sua vez com De, e Lee começa com Le. Nenhuma tabela de consulta distingue um prefixo de uma primeira sílaba. Esta página oferece o segundo código como um segundo lugar onde procurar e diz o que ele é, em vez de aplicá-lo em silêncio.

Uma regra fica genuinamente indefinida. O Y aparece entre as letras ignoradas, mas as duas regras sobre o que separa duas consoantes de mesmo número mencionam apenas as vogais A, E, I, O e U de um lado, e apenas H e W do outro. O Y não está em nenhuma das listas, então as regras publicadas não dizem como ele se comporta — e isso muda respostas: Pyfer é P-160 se o Y separa e P-600 se não separa. Todas as implementações verificadas o tratam como separador, e esta também, mas é uma convenção firmada pelo ecossistema, não algo que o arquivo afirme.

Por fim, todo o esquema pressupõe padrões consonantais ingleses e um alfabeto latino. Não tem nada a dizer sobre tom, sobre alfabetos que não sabe ler, nem sobre as muitas maneiras de ouvir mal um sobrenome que não envolvam as classes de consoantes que ele conhece. Se o que você quer é quantas edições separam duas cadeias, e não se elas soam parecido, essa é outra pergunta com outra resposta, e a ferramenta de similaridade de textos deste site a mede.

Por que é grátis?

Codificar um sobrenome são algumas dezenas de linhas de aritmética, e elas rodam no seu navegador. Não há servidor no meio, então não há o que cobrar nem conta a criar.

Nada é enviado. Os sobrenomes que você digita não saem da aba, o que aqui importa mais do que o normal, porque o motivo para usar uma ferramenta Soundex quase sempre é estar pesquisando uma família real.