ForHosting KIT · Texto e IA

Calculadora de similaridade de Jaro entre duas strings

MARTHA e MARHTA ficam com 0,9444444444444445, bem perto de 1 embora duas letras tenham trocado de lugar. Jaro valoriza caracteres em comum numa ordem compatível em vez de contar edições, o que serve bem a nomes e códigos curtos. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Primeiro
MARTHA
Segundo
MARHTA
Você obtém
Similaridade
0,9444444444

A similaridade de Jaro mede o quanto duas strings se parecem ao procurar caracteres iguais dentro de uma distância limitada e verificar se eles preservam uma ordem compatível. O resultado varia de zero, quando não há correspondências válidas, a um, quando as strings são idênticas. Ela é especialmente útil para nomes curtos, rótulos, identificadores e outros valores nos quais uma pequena substituição ou transposição não deveria eliminar automaticamente uma possível correspondência.

Entenda o significado da pontuação de Jaro

A similaridade de Jaro é uma medida baseada em caracteres para comparação aproximada. Ela não calcula quantas inserções, exclusões ou substituições transformariam um valor no outro. Em vez disso, encontra caracteres iguais dentro de uma janela definida pelo comprimento da string mais longa.

Depois combina três proporções: a parte correspondente da primeira string, a parte correspondente da segunda e a parcela dos caracteres associados que mantém uma ordem compatível. O valor um indica strings idênticas segundo esse procedimento, enquanto zero significa que nenhum caractere foi aceito como correspondente. Os valores intermediários expressam graus de semelhança, mas a ferramenta não classifica determinada pontuação como correspondência ou não correspondência.

Você deve definir esse limite de acordo com o custo de falsos positivos e falsos negativos. Nomes, códigos compactos e rótulos curtos costumam se beneficiar do método porque ele valoriza caracteres compartilhados e sua ordem sem tratar cada pequeno deslocamento como uma operação de edição totalmente separada.

Prepare as strings e interprete os resultados com consistência

A comparação é exata e diferencia maiúsculas de minúsculas. Letras em caixas diferentes são caracteres distintos, e espaços e sinais de pontuação participam do cálculo. A implementação compara pontos de código Unicode; assim, muitos emojis suplementares são tratados como um único elemento, não como duas unidades UTF-16.

Porém, não há normalização Unicode: um caractere pré-composto pode ser diferente de uma letra base seguida por marca combinante, mesmo que tenham aparência idêntica. Prepare as duas entradas da mesma forma antes da solicitação se o seu processo precisar uniformizar caixa, espaços, acentos ou formas Unicode. Manter essas decisões fora da calculadora torna o resultado explícito e evita alterações ocultas em identificadores que precisam permanecer literais.

Duas strings vazias retornam um por serem idênticas; uma vazia e outra não vazia retornam zero. Em grandes conjuntos, aplique uma única política de pré-processamento à coleção inteira e registre essa política junto ao limite escolhido.

Use a pontuação com segurança em fluxos aproximados

Uma pontuação de Jaro funciona melhor como evidência dentro de um fluxo de vinculação, não como prova de que dois registros representam a mesma entidade. Comece com pares rotulados e representativos dos seus próprios dados, calcule as pontuações e observe onde correspondências verdadeiras e falsas se sobrepõem. Com isso, você pode selecionar um limite ou uma faixa de revisão compatível com as consequências de uma decisão incorreta.

Para registros de clientes ou fornecedores, combine a pontuação textual com campos independentes, como um identificador interno estável, um componente de endereço verificado ou uma data. O método é simétrico: trocar a primeira string pela segunda produz o mesmo resultado, o que facilita a ordenação de candidatos e a deduplicação. Ele considera proximidade e ordem dos caracteres, mas não entende significado, sinônimos, transliteração ou fonética.

Para textos longos ou comparação semântica, outra técnica é mais adequada.

Ordenar possíveis nomes duplicados

Pontue pares de clientes, fornecedores ou contatos antes de encaminhar candidatos ambíguos para análise humana.

Comparar rótulos curtos de catálogo

Encontre produtos ou categorias que diferem apenas por um pequeno erro de digitação ou uma transposição local.

Testar regras de correspondência aproximada

Gere pontuações determinísticas para exemplos rotulados ao escolher um limite específico para sua aplicação.

Qual intervalo o resultado utiliza?

A similaridade fica entre zero e um. Um representa strings idênticas, e zero indica que não houve caracteres correspondentes válidos.

A comparação diferencia maiúsculas de minúsculas?

Sim. Converta ambas as strings para a mesma caixa antes do envio se a sua política precisar ignorar essa diferença.

A ferramenta remove acentos ou pontuação?

Não. Cada ponto de código Unicode participa exatamente como foi fornecido, incluindo espaços, sinais e caracteres acentuados.

Similaridade de Jaro é igual a Jaro-Winkler?

Não. Jaro-Winkler acrescenta um ajuste baseado no prefixo. Esta capacidade retorna apenas a similaridade de Jaro sem ajuste.

Qual pontuação deve ser considerada uma correspondência?

Não existe um limite universal. Escolha-o com dados rotulados representativos e considere uma faixa de revisão para pares incertos.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/str/jaro-similarity

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/str/jaro-similarity \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first":"MARTHA","second":"MARHTA"}'
{
  "first": "MARTHA",
  "second": "MARHTA"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.jaro_similarity",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.
Quanto custa uma comparação por API?

Cada solicitação API custa US$ 0,002.

Ver a documentação completa do KIT →