有没有一种方法来计算字符串的一般"相似性得分"?在某种程度上,我不是将两个字符串比较在一起,而是为每个字符串得到一些数字(哈希),以后可以告诉我两个字符串是否相似.两个相似的字符串应该具有相似(近似)的哈希值.
让我们将这些字符串和分数视为一个例子:
Hello world 1000
Hello world! 1010
Hello earth 1125
Foo bar 3250
FooBarbar 3750
Foo Bar! 3300
Foo world! 2350
Run Code Online (Sandbox Code Playgroud)
你可以看到Hello world!和Hello世界是相似的,他们的分数彼此接近.
这样,通过从其他分数中减去给定的字符串分数然后对其绝对值进行排序,可以找到与给定字符串最相似的字符串.