快速python语音算法

Fuzz的Python项目详细描述


https://img.shields.io/pypi/v/Fuzzy.svghttps://img.shields.io/pypi/pyversions/Fuzzy.svghttps://img.shields.io/travis/yougov/fuzzy/master.svg

fuzzy是一个python库,可以快速实现常用的语音算法。 通常这是在弦乐相似性练习中,但它们非常多用。

它使用c扩展(通过cython)来提高速度。

算法如下:

用法

这些功能很容易使用!

>>> import fuzzy
>>> soundex = fuzzy.Soundex(4)
>>> soundex('fuzzy')
'F200'
>>> dmeta = fuzzy.DMetaphone()
>>> dmeta('fuzzy')
['FS', None]
>>> fuzzy.nysiis('fuzzy')
'FASY'

性能

fuzzy的双变音比纯python快10倍 由Andrew Collins实现 在最近的一些testing。 Soundex和NYSII也应该更快。使用ipython的时间:

In [3]: timeit soundex('fuzzy')
1000000 loops, best of 3: 326 ns per loop

In [4]: timeit dmeta('fuzzy')
100000 loops, best of 3: 2.18 us per loop

In [5]: timeit fuzzy.nysiis('fuzzy')
100000 loops, best of 3: 13.7 us per loop

距离度量

我们推荐Python-Levenshtein 用于快速、基于c的字符串距离/相似性度量的模块。在其他中 它包括的功能:

在测试中,它比同类的纯python快了好几倍 这些算法的实现。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将resultset转换为json的最佳方式是什么   smb需要从具有用户名和密码但引发SMBApiException的java连接碎片驱动器   没有线程,java死锁实现无法工作。睡觉   java Tomcat内存中会话复制   从java文本窗格保存字体   java启动Windows 10 Paint3D以打开特定的图像文件   Eclipse Java,将文本从ISO88591转换为UTF8   java加载jar中包含的资源   java xpath在selenium中不可识别,但在XPather中可识别   java如何将Springbean从多个配置文件的自动关联候选中排除?   java在某个范围内的XOR最大值?   java Android JNI/C++:如何正确添加带有。h和。cpp文件?   java使用关键字this和类中的多个构造函数   C++如何将一个被重复调用的外部进程集成到java WebApp中?