2011-07-08 10 views
8

Con Commons Lang api puedo calcular la similitud entre dos cadenas a través del LevensteinDistance. El resultado es la cantidad de cambios necesarios para cambiar una cadena por otra. Me gustaría que el resultado estuviera dentro del rango de 0 a 1, donde sería más fácil identificar la similitud entre las cadenas. El resultado sería más cercano a 0 gran similitud. ¿Es posible?LevensteinDistance - Commons Lang 3.0 API

A continuación el ejemplo que estoy usando:

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

    } 
} 

Gracias!

Respuesta

11

Simplemente divida por un número. La pregunta es ¿qué número? Probablemente la distancia máxima posible para el par de cuerdas dado. Creo que esa es la longitud de la cadena más larga (es decir, todos los caracteres son diferentes, y se agregaron algunos más, en comparación con la cadena más corta).

+5

"_Probablemente la distancia máxima posible para el par de cadenas dadas._" es correcta. –

+0

Gracias! Hice lo que le dije a MRAB y tomé el porcentaje. – Deb

Cuestiones relacionadas