2011-07-08 17 views
8

Commons Lang api ile LevensteinDistance aracılığıyla iki dizge arasındaki benzerliği hesaplayabilirim. Sonuç, bir dizeyi diğerine değiştirmek için gereken değişiklik sayısıdır. Sonuçların diziler arasındaki benzerliği tanımlamanın daha kolay olabileceği 0 ile 1 arasında olmasını diliyorum. Sonuç, 0 büyük benzerliğe daha yakın olacaktır. Mümkün mü? Örneğin AşağıdaLevensteinDistance - Commons Lang 3.0 API

kullanıyorum:

public class TesteLevenstein { 

    public static void main(String[] args) {  

     int distance1 = StringUtils.getLevenshteinDistance("Boat", "Coat"); 
     int distance2 = StringUtils.getLevenshteinDistance("Remember", "Alamo"); 
     int distance3 = StringUtils.getLevenshteinDistance("Steve", "Stereo"); 

     System.out.println("distance(Boat, Coat): " + distance1); 
     System.out.println("distance(Remember, Alamo): " + distance2); 
     System.out.println("distance(Steve, Stereo): " + distance3);   

    } 
} 

Teşekkür!

cevap

11

Sadece bir sayıya bölün. Soru ne sayıdır? Muhtemelen verilen diziler çifti için mümkün olan maksimum mesafe. Sanırım bu uzun dizenin uzunluğu (yani tüm karakterler farklı, artı kısa bir dizeyle karşılaştırıldığında birkaç tane daha eklendi).

+5

"Muhtemelen verilen dizeler çifti çifti için olası maksimum mesafe" doğrudur. –

+0

Teşekkürler! MRAB'a söyledim ve yüzdeyi aldım. – Deb

İlgili konular