java相似性评分Levenshtein
我用Java实现了Levenshtein算法,现在得到了该算法所做的修正,也就是成本。这确实有一点帮助,但没有太多,因为我想要的结果作为一个百分比
所以我想知道如何计算这些相似点
我也想知道你们是怎么做的,为什么
你可以在下面搜索框中键入要查询的问题!
我用Java实现了Levenshtein算法,现在得到了该算法所做的修正,也就是成本。这确实有一点帮助,但没有太多,因为我想要的结果作为一个百分比
所以我想知道如何计算这些相似点
我也想知道你们是怎么做的,为什么
# 1 楼答案
LevenshteinDistance
它可以通过maven dependency使用
我确实认为使用此实现比编写自己的实现更好
作为一个例子,看看下面的代码
# 2 楼答案
所以,如果你需要一个百分比,你必须用它来衡量点。例如:
“你好”,“你好”->;Levenstein距离1 这两个字符串的最大Levenstein距离为:5。 因此,20%的字符不匹配
# 3 楼答案
您可以下载Apache Commons StringUtils并研究(或许可以使用)它们的Levenshtein距离算法的实现
# 4 楼答案
要计算分数,您需要最大可能成本(插入+删除+替换)。然后使用以下公式-
见此参考- Levenshtein Score Calculation Func
# 5 楼答案
# 6 楼答案
两个字符串之间Levenshtein差值的最大值将是两个字符串长度的最大值。(对应于每个字符的符号更改,最长为较短字符串的长度,加上插入或删除,具体取决于您是从短到长还是从短到长。)鉴于此,两个字符串的相似性必须是该最大值与该最大值与实际Levenshtein差值之间的比率
Levenshtein算法的实现往往不会记录这些编辑应该是什么,但考虑到Wikipedia page上的抽象算法,计算应该不会那么困难