用于对字符串进行近似匹配和语音匹配的库。
jellyfish的Python项目详细描述
水母是一个Python库,用于进行字符串的近似和语音匹配。
作者:詹姆斯·特克和迈克尔·斯蒂芬斯
有关贡献者,请参见https://github.com/jamesturk/jellyfish/graphs/contributors
有关文档,请参见http://jellyfish.readthedocs.io。
可在http://github.com/jamesturk/jellyfish找到源。
jellyfish>;=0.7只支持python 3,如果需要python 2,请使用0.6.x。
包含的算法
字符串比较:
- Levenshtein距离
- 达梅劳距离
- Jaro距离
- Jaro Winkler距离
- 匹配评分法比较
- 汉明距离
拼音编码:
- 美国Soundex
- 变音
- 纽约州身份和情报系统
- 匹配等级代码
示例用法
>>> import jellyfish >>> jellyfish.levenshtein_distance(u'jellyfish', u'smellyfish') 2 >>> jellyfish.jaro_distance(u'jellyfish', u'smellyfish') 0.89629629629629637 >>> jellyfish.damerau_levenshtein_distance(u'jellyfish', u'jellyfihs') 1
>>> jellyfish.metaphone(u'Jellyfish') 'JLFX' >>> jellyfish.soundex(u'Jellyfish') 'J412' >>> jellyfish.nysiis(u'Jellyfish') 'JALYF' >>> jellyfish.match_rating_codex(u'Jellyfish') 'JLLFSH'