2011-07-08 56 views
8

With Commons Lang api我可以通過LevensteinDistance計算兩個字符串之間的相似度。結果是將一個字符串更改爲另一個字符串所需的更改次數。我希望結果在0到1的範圍內,這樣可以更容易地識別字符串之間的相似性。結果會更接近0非常相似。可能嗎?LevensteinDistance - Commons Lang 3.0 API

下面的例子中我使用的是:

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);   

    } 
} 

謝謝!

回答

11

只是除以某個數字。問題是什麼數字?可能是給定的一對字符串的最大可能距離。我認爲這是更長的字符串的長度(即所有字符不同,再加上幾個字符,與較短的字符串相比)。

+5

「__Probably給定的一對字符串的最大可能距離._」是正確的。 –

+0

謝謝!我做了告訴MRAB並拿到了百分比。 – Deb

相關問題