Como calcular a distância de levenshtein em python


A distância Levenshtein entre duas strings é o número mínimo de alterações de um único caractere necessárias para transformar uma palavra em outra.

A palavra “modificações” inclui substituições, inserções e exclusões.

Por exemplo, suponha que temos as duas palavras a seguir:

  • FESTEJAR
  • PARQUE

A distância de Levenshtein entre as duas palavras (ou seja, o número de alterações que precisamos fazer para transformar uma palavra na outra) seria 2 :

Exemplo de distância de Levenshtein

Na prática, a distância de Levenshtein é usada em muitas aplicações diferentes, incluindo correspondência difusa de strings, verificação ortográfica e processamento de linguagem natural.

Este tutorial explica como calcular a distância Levenshtein entre strings em Python usando o módulo python-Levenshtein.

Você pode usar a seguinte sintaxe para instalar este módulo:

 pip install python-Levenshtein

Você pode então carregar a função para calcular a distância de Levenshtein:

 from Levenshtein import distance as lev

Os exemplos a seguir mostram como usar esta função na prática.

Exemplo 1: distância de Levenshtein entre duas cordas

O código a seguir mostra como calcular a distância de Levenshtein entre as duas strings “party” e “park”:

 #calculate Levenshtein distance
lev(' party ', ' park ')

2

A distância de Levenshtein é 2 .

Exemplo 2: distância de Levenshtein entre duas tabelas

O código a seguir mostra como calcular a distância de Levenshtein entre cada combinação de strings em pares em duas matrizes diferentes:

 #define arrays
a = ['Mavs', 'Spurs', 'Lakers', 'Cavs']
b <- ['Rockets', 'Pacers', 'Warriors', 'Celtics']

#calculate Levenshtein distance between two arrays
for i,k in zip (a,b):
  print (lev(i, k))

6
4
5
5

A forma de interpretar o resultado é a seguinte:

  • A distância Levenshtein entre “Mavs” e “Rockets” é 6 .
  • A distância de Levenshtein entre os “Spurs” e os “Pacers” é de 4 .
  • A distância de Levenshtein entre os “Lakers” e os “Warriors” é de 5 .
  • A distância Levenshtein entre “Cavs” e “Celtics” é 5 .

Recursos adicionais

Como calcular a distância de Hamming em Python
Como calcular a distância euclidiana em Python
Como calcular a distância de Mahalanobis em Python

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *