Levenshtein Mesafesi Hesaplama
İki dizi girin, aralarında kaç tek karakterlik düzenleme olduğunu görün.
Sonuç
Nasıl hesaplanır?
Diziler Unicode karakterlerine ayrılır; yani aksanlı bir harf tek karakter sayılır. Bir tablo doldurulur: (i, j) hücresi, A'nın ilk i karakterini B'nin ilk j karakterine çevirmenin en ucuz yolunu tutar: d(i, j) = min(d(i−1, j) + 1, d(i, j−1) + 1, d(i−1, j−1) + c); iki karakter aynıysa c = 0, farklıysa c = 1. Köşedeki hücre mesafe d değeridir. Benzerlik (1 − d / max(|A|, |B|)) × 100 ile bulunur ve bir ondalıkla yüzde olarak gösterilir. Karşılaştırma büyük-küçük harfe duyarlıdır ve boşluklar karakter sayılır. İki boş dizide sonuç çıkmaz; iki uzunluğun çarpımı 1.000.000'u aşan çiftlerde de sonuç verilmez.
Örnek hesaplama
saturday (8 harf) ile sunday (6 harf) karşılaştırılsın. saturday'den a ve t silinirse surday kalır; r yerine n konunca sunday olur. Bu 2 silme ve 1 değiştirmedir; mesafe 3. Uzun dizi 8 karakterlidir; benzerlik = (1 − 3 / 8) × 100 = %62,5.
Sık yapılan hatalar
- Büyük ve küçük harfin eşleşmesini beklemek. Kitten ile kitten bir düzenleme farklıdır, çünkü büyük K farklı bir karakter sayılır.
- Yapıştırılan metnin sonunda boşluk bırakmak. Boşluk da karakterdir; abc ile sonunda boşluk olan abc arasındaki mesafe 1'dir.
- Benzerliği anlam benzerliği sanmak. Yalnızca karakterleri sırayla karşılaştırır; aynı anlama gelen iki kelime düşük puan alabilir.
- Mesafeyi farklı konum sayısı sanmak. Ekleme ve silme sonrasındaki her şeyi kaydırır; bu yüzden mesafe, konum konum karşılaştırmanın gösterdiğinden çok daha küçük olabilir.
- İki uzun metni yapıştırıp sonuç beklemek. İki uzunluğun çarpımı bir milyonu geçince araç sonuç vermez; daha kısa parçaları karşılaştırın.
Bu hesaplama hakkında
İki metin dizisi arasındaki Levenshtein mesafesi, birini diğerine dönüştürmek için gereken en az sayıda tek karakterlik düzenlemedir — ekleme, silme veya değiştirme. Bu kavram 1965 yılında Rus matematikçi Vladimir Levenshtein tarafından ortaya atılmıştır ve bir dinamik programlama tablosuyla hesaplanır; bu tablo, bir dizinin her ön ekini diğerinin her ön ekiyle karşılaştırarak hücre hücre en ucuz düzenleme yolunu bulur.
Bu ölçüt, metinlerin kusurlu şekilde karşılaştırılması gereken hemen her yerde karşımıza çıkar: yazım denetleyicileri bir yazım hatasına en yakın gerçek kelimeyi önermek için bunu kullanır; arama motorları ve otomatik tamamlama, hatalı yazılmış sorgularla bulanık eşleştirme yapmak için bundan yararlanır; biyoinformatik araçları DNA ve protein dizilerini hizalamak için bu ölçütün yakın bir türevini kullanır; intihal denetleyicileri ve sürüm kontrol sistemlerindeki fark (diff) araçları ise iki belgenin veya kod satırının gerçekte ne kadar benzer olduğunu ölçmek için ondan faydalanır.
İki metin dizisi girin, bu hesaplayıcı Levenshtein mesafesini ve bir benzerlik yüzdesini hesaplasın; böylece iki metin parçasının birbirine ne kadar yakın — ya da uzak — olduğunu bir bakışta görün.
Bu faydalı oldu mu?
En fazla 3 tepki seçebilirsiniz.
Popüler hesaplayıcılar
Kredi Hesaplama
Aylık taksit, toplam faiz ve ödeme planını hesaplayın.
Yüzde Hesaplama
Yüzde değişim, indirim ve oran hesaplamaları.
İndirim Hesaplama
İndirimli fiyatı, kazancı ve indirim tutarını hesaplayın.
Vücut Kitle Endeksi (BMI)
Boy ve kiloya göre vücut kitle endeksini hesaplayın.
Yaş Hesaplama
Doğum tarihinden bugüne tam yıl, ay ve gün cinsinden yaşınızı hesaplayın.
Bileşik Faiz Hesaplama
Ana para, faiz oranı ve süreye göre bileşik faizle nihai tutarı hesaplayın.
Tüm Hesaplayıcılar
Hesaplayıcı bulunamadı
Yorumlar (0)