8

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

    }
}

谢谢!

4

1 回答 1

11

只需除以某个数字。问题是什么数字?可能是给定字符串对的最大可能距离。我认为这是较长字符串的长度(即所有字符都是不同的,与较短的字符串相比,添加了更多字符)。

于 2011-07-08T20:00:10.113 回答