最有效的字符串相似度度量函数

Most efficient string similarity metric function

我正在 Python(或提供 Python 绑定的库)中寻找字符串相似性度量函数的有效实现。

我想比较平均大小为 10kb 的字符串,但我不能采取逐行比较等任何捷径,我需要比较整个字符串。我真的不在乎,将使用什么确切的指标,只要结果合理且计算速度快即可。到目前为止,这是我尝试过的方法:

在我开始对 pypi 上提供用于测量字符串相似性的函数的每个库进行基准测试之前,也许您可​​以指出正确的方向?如果可能的话,我希望将单次比较的时间减少到不到 10 毫秒(在商用硬件上)。

edlib 对于我的用例来说似乎足够快了。

这是一个带有 Python 绑定的 C++ 库,可以在不到 10 毫秒的时间内(在我的机器上)计算小于 100kb 的文本的 Levehnstein 距离。 10kb 的文本在 ~1 毫秒内完成,比 difflib.SequenceMatcher.

快 100 倍

我在 RapidFuzz, I don't know how it compares to the others but it was much faster than thefuzz/fuzzywuzzy 方面运气不错。

不知道它是否适用于您的 use-case,但这是您在 google fast string similarity python

时发现的第一件事