Cómo calcular la distancia de Levenshtein en Python

La distancia de Levenshtein entre dos cadenas es el número mínimo de ediciones de un solo carácter necesarias para convertir una palabra en la otra.

La palabra «ediciones» incluye sustituciones, inserciones y eliminaciones.

Por ejemplo, supongamos que tenemos las siguientes dos palabras:

  • FIESTA
  • PARQUE

La distancia de Levenshtein entre las dos palabras (es decir, el número de ediciones que tenemos que hacer para convertir una palabra en la otra) sería 2 :

Ejemplo de distancia de Levenshtein

En la práctica, la distancia de Levenshtein se utiliza en muchas aplicaciones diferentes, incluida la coincidencia aproximada de cadenas, la revisión ortográfica y el procesamiento del lenguaje natural.

Este tutorial explica cómo calcular la distancia de Levenshtein entre cadenas en Python utilizando el módulo python-Levenshtein.

Puede utilizar la siguiente sintaxis para instalar este módulo:

pip instalar python-Levenshtein

Luego puede cargar la función para calcular la distancia de Levenshtein:

de la distancia de importación de Levenshtein como lev

Los siguientes ejemplos muestran cómo utilizar esta función en la práctica.

Ejemplo 1: distancia de Levenshtein entre dos cadenas

El siguiente código muestra cómo calcular la distancia de Levenshtein entre las dos cadenas «fiesta» y «parque»:

#calcular el nivel de distancia de Levenshtein 
(' fiesta ', ' parque ')

2

La distancia de Levenshtein resulta ser 2 .

Ejemplo 2: distancia de Levenshtein entre dos matrices

El siguiente código muestra cómo calcular la distancia de Levenshtein entre cada combinación de cadenas por pares en dos matrices diferentes:

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

#calcular la distancia de Levenshtein entre dos matrices 
para i, k en zip (a, b):
   print (lev (i, k))

6
4
5
5

La forma de interpretar la salida es la siguiente:

  • La distancia de Levenshtein entre ‘Mavs’ y ‘Rockets’ es 6 .
  • La distancia de Levenshtein entre ‘Spurs’ y ‘Pacers’ es 4 .
  • La distancia de Levenshtein entre ‘Lakers’ y ‘Warriors’ es 5 .
  • La distancia de Levenshtein entre ‘Cavs’ y ‘Celtics’ es 5 .

Recursos adicionales

Cómo calcular la distancia de Hamming en Python
Cómo calcular la distancia euclidiana en Python
Cómo calcular la distancia de Mahalanobis en Python

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario