LevensteinDistance - API Commons Lang 3.0

С помощью Commons Lang api я могу вычислить сходство между двумя строками через LevensteinDistance. Результатом является количество изменений, необходимых для изменения одной строки в другую. Хотелось бы, чтобы результат был в диапазоне от 0 до 1, где было бы легче определить сходство между строками. Результат будет ближе к 0, большое сходство. Является ли это возможным?

Ниже пример, который я использую:

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

    }
}

Спасибо!

1 ответ

Решение

Просто разделите на некоторое число. Вопрос в том, какое число? Вероятно, максимально возможное расстояние для данной пары строк. Я думаю, что это длина более длинной строки (т.е. все символы разные, плюс добавлено еще несколько символов по сравнению с более короткой строкой).

Другие вопросы по тегам