mammothb/symspellpy
Python port of SymSpell: 1 million times faster spelling correction & fuzzy search through Symmetric Delete spelling correction algorithm
它是什么
symspellpy 是 SymSpell 项目(版本 6.7.2)的 Python 移植版本。README 指出,SymSpell 本身相比其他替代方案提供了“更高的速度和更低的内存消耗”,但并未说明该算法具体做什么。该移植版用 Python 重新实现了 SymSpell,并包含了从原始项目复制的单元测试,以确保行为与参考实现完全一致。
性能注意事项
README 明确说明该移植版未针对速度进行优化——这意味着 Python 版本并未像原始版本那样进行性能调优。然而,从版本 6.7.2 开始,项目添加了一个基于 editdistpy 库(同一作者的另一个项目)的“快速距离比较器”。在默认设置下的典型使用中,这一更改相比之前的方法带来了大约 2 倍 的加速。基准测试结果可在项目的 tests/benchmarks.ipynb 笔记本中找到。
关键细节
- 准确性保证: 原始 SymSpell 项目的单元测试已被移植过来,用于验证 Python 版本的正确性。
- 文档与安装: 安装说明位于
INSTALL.rst文件或在线文档中;文档中也提供了使用示例。 - v6.7.2 中的显著变化: 将距离计算模块切换为
editdistpy,从而实现了上述速度提升。
它未说明的内容
README 从未说明 SymSpell 实际做什么(例如,拼写纠正、模糊搜索等)。它只描述了移植版及其工程细节,因此本说明仅基于明确记录的内容。
相关
- 项目
- 项目
- 项目
- 项目