Calculadora de Similaridade Jaro-Winkler | Cotejo de Nomes Detalhado
Meça o quanto duas strings se parecem em uma escala de 0 a 1. A ferramenta retorna a similaridade Jaro e a similaridade Jaro-Winkler, que valoriza o prefixo comum, e detalha o resultado em correspondências, transposições, prefixo comum e janela de correspondência.
💡 Sobre esta ferramenta
Ao limpar uma base de clientes ou cruzar duas listas, a correspondência exata falha assim que alguém digita "Smyth" em vez de "Smith". É preciso um número que diga "são 96% iguais" para fixar um limiar e decidir.
Jaro-Winkler é a métrica preferida para strings curtas e nomes próprios: tolera caracteres transpostos e premia strings que concordam no início. Esta calculadora não se limita a mostrar a pontuação: expõe as partes do cálculo (m caracteres correspondentes, t transposições, L prefixo comum) para que você entenda por que "MARTHA" contra "MARHTA" resulta em 0,961 e ajuste seu limiar com os seus próprios dados.
🧐 Perguntas frequentes
Qual a diferença entre Jaro e Jaro-Winkler? Jaro usa apenas a contagem de caracteres correspondentes e as transposições. Jaro-Winkler acrescenta um bônus que cresce quando as strings compartilham um prefixo comum, o que a torna mais forte para nomes de pessoas, em que os erros raramente atingem as primeiras letras.
Quando devo usar Levenshtein? Levenshtein conta o mínimo de inserções, remoções e substituições, então combina com strings longas como razões sociais e endereços, onde cada caractere pesa igual. Para nomes curtos e cotejo com peso no prefixo, use Jaro-Winkler.
Por que a pontuação pode passar de 1,0? Isso acontece quando o fator de escala p é alto demais. Como p vezes o comprimento do prefixo pode ultrapassar 1, o bônus dispara. O valor padrão de Winkler é 0,10 e 0,25 é o limite usual.
A comparação diferencia maiúsculas? Por padrão sim. Ative a opção de comparação e "A" e "a" passam a ser tratados como iguais. O cotejo ocorre no nível de codepoint Unicode, então pares substitutos e emojis contam como um caractere.
O que é a janela de correspondência?
É a distância máxima entre dois caracteres para que ainda contem como correspondência. Equivale a floor(max(|A|, |B|) / 2) - 1; caracteres iguais mais afastados não são emparelhados.
📚 Onde essa métrica aparece
Jaro-Winkler surgiu do trabalho de record linkage de Matthew Jaro e William Winkler no Censo dos Estados Unidos e continua presente em muitos sistemas em produção. O monitoramento antilavagem e a triagem de sanções recorrem a ele porque lida bem com variantes de transliteração de nomes vindos de escritas árabe ou cirílica, em que um caractere muda mas o nome ainda é reconhecido. Um padrão comum é reservar Jaro-Winkler para o cotejo de nomes de pessoas e empregar outra métrica para entidades longas, em vez de forçar um único algoritmo em todos os campos.