Python'da levenshtein mesafesi nasıl hesaplanır


İki dize arasındaki Levenshtein mesafesi, bir kelimeyi diğerine dönüştürmek için gereken minimum tek karakterli değişiklik sayısıdır.

“Değişiklikler” kelimesi, ikameleri, eklemeleri ve silmeleri içerir.

Örneğin aşağıdaki iki kelimeye sahip olduğumuzu varsayalım:

  • PARTİYE
  • PARK

İki kelime arasındaki Levenshtein mesafesi (yani bir kelimeyi diğerine dönüştürmek için yapmamız gereken değişiklik sayısı) 2 olacaktır:

Levenstein mesafesi örneği

Pratikte Levenshtein mesafesi, bulanık dize eşleştirme, yazım denetimi ve doğal dil işleme gibi birçok farklı uygulamada kullanılmaktadır.

Bu eğitimde Python-Levenshtein modülünü kullanarak Python’da dizeler arasındaki Levenshtein mesafesinin nasıl hesaplanacağı açıklanmaktadır.

Bu modülü yüklemek için aşağıdaki sözdizimini kullanabilirsiniz:

 pip install python-Levenshtein

Daha sonra Levenshtein mesafesini hesaplamak için işlevi yükleyebilirsiniz:

 from Levenshtein import distance as lev

Aşağıdaki örnekler bu fonksiyonun pratikte nasıl kullanılacağını göstermektedir.

Örnek 1: İki dize arasındaki Levenshtein mesafesi

Aşağıdaki kod, “party” ve “park” dizeleri arasındaki Levenshtein mesafesinin nasıl hesaplanacağını gösterir:

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

2

Levenshtein mesafesi 2 olarak çıkıyor.

Örnek 2: İki tablo arasındaki Levenshtein mesafesi

Aşağıdaki kod, iki farklı dizideki dizelerin her ikili kombinasyonu arasındaki Levenshtein mesafesinin nasıl hesaplanacağını gösterir:

 #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

Sonucun yorumlanma şekli şu şekildedir:

  • “Mavs” ve “Rockets” arasındaki Levenshtein mesafesi 6’dır .
  • “Spurs” ile “Pacers” arasındaki Levenshtein mesafesi 4 .
  • “Lakers” ve “Warriors” arasındaki Levenshtein mesafesi 5 .
  • “Cavs” ve “Celtics” arasındaki Levenshtein mesafesi 5’tir .

Ek kaynaklar

Python’da Hamming Mesafesi Nasıl Hesaplanır?
Python’da Öklid mesafesi nasıl hesaplanır
Python’da Mahalanobis Mesafesi Nasıl Hesaplanır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir