Calculadora de Similaridade de Strings
Calcule a distância de edição de Levenshtein e o percentual de similaridade entre duas strings. Encontre as edições mínimas (inserções, exclusões, substituições) necessárias para transformar uma string em outra.
6 chars
7 chars
Similarity Result
Edit Distance
3
operations
Similarity
57.14%
Partly similar
Character Diff
insertdeletesubstituteunchanged
sitting
1 insertions2 substitutions
Como Usar Calculadora de Similaridade de Strings
- 1Digite duas strings para comparar nos campos de entrada.
- 2Visualize a distância de edição de Levenshtein e o percentual de similaridade.
- 3Veja o diff em nível de caractere e a lista de operações (inserir, excluir, substituir).
ZenovayAnalytics
Analytics feito para fundadores.
- Acompanhamento de visitantes em tempo real
- Privacidade em primeiro lugar, sem banner de cookies
- Configurado em dois minutos
Ferramentas Relacionadas
Contador de Palavras
Conte palavras, caracteres, sentenças e parágrafos. Estime tempo de leitura e fala.Contador de Caracteres
Conte caracteres com e sem espaços. Acompanhe os limites do Twitter, meta descriptions e mais.Conversor de Maiúsculas/Minúsculas
Converta texto entre MAIÚSCULAS, minúsculas, Title Case, camelCase, snake_case e kebab-case.Gerador de Lorem Ipsum
Gere texto de preenchimento em parágrafos, frases ou palavras. Copie com um clique.Perguntas Frequentes
O que é a distância de Levenshtein?▾
A distância de Levenshtein (distância de edição) é o número mínimo de edições de um único caractere necessárias para transformar uma string em outra. As três operações permitidas são: inserção (adicionar um caractere), exclusão (remover um caractere), substituição (substituir um caractere por outro). Exemplo: "kitten" → "sitting" requer 3 operações: k→s, e→i, +g. Nomeada após Vladimir Levenshtein, que descreveu este algoritmo em 1965. Aplicações: verificação ortográfica, alinhamento de sequências de DNA, processamento de linguagem natural, correspondência aproximada de strings.
Como a porcentagem de similaridade é calculada?▾
Similaridade % = (1 − distânciaEdição / max(len1, len2)) × 100. Isso normaliza a distância em relação à string mais longa. Exemplo: distância = 2, comprimento máximo = 8 → similaridade = (1 − 2/8) × 100 = 75%. Uma distância de 0 significa strings idênticas (100% similares). Outras métricas de similaridade incluem Jaro-Winkler (pondera mais o acordo de caracteres iniciais) e similaridade de cosseno (para comparação baseada em tokens).
O que é a distância de Damerau-Levenshtein?▾
Damerau-Levenshtein estende o Levenshtein adicionando uma quarta operação: transposição (troca de dois caracteres adjacentes). Exemplo: "ab" → "ba" tem distância de Levenshtein 2 (excluir + inserir), mas distância de Damerau-Levenshtein 1 (uma transposição). Isso é importante para verificação ortográfica, pois muitos erros de digitação são transposições ("teh" → "the"). Esta ferramenta usa o Levenshtein padrão (sem transposições).
Quais são as aplicações comuns da distância de edição?▾
Verificadores ortográficos: sugerem palavras com baixa distância de edição da palavra mal escrita. Sequenciamento de DNA: alinha sequências de nucleotídeos para encontrar mutações e inserções. Controle de versão: o git diff usa algoritmos de distância de edição para mostrar alterações no nível de linha. Processamento de linguagem natural: desambiguação de entidades nomeadas, resolução de correferência. Detecção de fraude: detecta variações de nomes (typosquatting, fraude de identidade). Vinculação de registros: corresponde registros em bancos de dados quando nomes/endereços variam ligeiramente.
Como funciona o algoritmo Wagner-Fischer?▾
O algoritmo Wagner-Fischer calcula a distância de Levenshtein usando programação dinâmica com tempo O(m×n) e espaço O(m×n), onde m,n são os comprimentos das strings. Ele constrói uma matriz onde a célula [i][j] = distância de edição entre os primeiros i caracteres da string 1 e os primeiros j caracteres da string 2. Casos base: linha 0 = 0..n, coluna 0 = 0..m. Recorrência: se s1[i] == s2[j], célula = diagonal anterior; caso contrário, célula = 1 + min(esquerda, acima, diagonal).