7 个版本 (1 个稳定版)

1.0.0 2023 年 6 月 23 日
0.11.0-alpha.42023 年 3 月 27 日
0.4.1 2023 年 3 月 25 日
0.3.0 2023 年 3 月 25 日
0.1.0 2020 年 6 月 28 日

#3#soundex

每月 33 次下载

MIT 许可证

395KB
1.5K SLoC

Rust 867 SLoC // 0.1% comments Python 480 SLoC // 0.1% comments Jupyter Notebooks 38 SLoC // 0.2% comments Shell 3 SLoC

概述

jellyfish 是一个用于字符串近似和音韵匹配的库。

源码:https://github.com/jamesturk/jellyfish

文档:https://jamesturk.github.io/jellyfish/

问题:https://github.com/jamesturk/jellyfish/issues

PyPI badge Test badge Coveralls Test Rust

包含的算法

字符串比较

  • Levenshtein 距离
  • Damerau-Levenshtein 距离
  • Jaro 距离
  • Jaro-Winkler 距离
  • 匹配评级方法比较
  • Hamming 距离

音韵编码

  • 美国 Soundex
  • Metaphone
  • NYSIIS (纽约州身份和情报系统)
  • 匹配评级法典

示例用法

>>> import jellyfish
>>> jellyfish.levenshtein_distance('jellyfish', 'smellyfish')
2
>>> jellyfish.jaro_distance('jellyfish', 'smellyfish')
0.89629629629629637
>>> jellyfish.damerau_levenshtein_distance('jellyfish', 'jellyfihs')
1

>>> jellyfish.metaphone('Jellyfish')
'JLFX'
>>> jellyfish.soundex('Jellyfish')
'J412'
>>> jellyfish.nysiis('Jellyfish')
'JALYF'
>>> jellyfish.match_rating_codex('Jellyfish')
'JLLFSH'

依赖

~4.5–10MB
~115K SLoC