相似度得分-Levenshtein

我用Java实现了Levenshtein算法,现在可以通过算法进行更正,也就是成本。这确实有一点帮助,但并没有太大帮助,因为我希望将结果表示为百分比。

所以我想知道如何计算那些相似点。

我也想知道你们的人民是如何做的以及为什么。

回答:

两个字符串之间的Levenshtein距离定义为将一个字符串转换为另一个字符串所需的最小编辑次数,允许的编辑操作为单个字符的插入,删除或替换。(维基百科)

  • 因此,Levenshtein距离为0意味着:两个字符串相等
  • Levenshtein的最大距离(所有字符不同)为max(string1.length,string2.length)

因此,如果需要一个百分比,则必须使用该百分比来缩放。例如:

“ Hallo”,“ Hello”-> Levenstein距离1这两个字符串的最大Levenstein距离为:5.因此20%的字符不匹配。

String s1 = "Hallo";

String s2 = "Hello";

int lfd = calculateLevensteinDistance(s1, s2);

double ratio = ((double) lfd) / (Math.max(s1.length, s2.length));

以上是 相似度得分-Levenshtein 的全部内容, 来源链接: utcz.com/qa/410273.html

回到顶部