快速语音归约/哈希算法eudex的Python实现

eudex的Python项目详细描述


这是ticki/eudex的Python端口,可以通过

pip install eudex

Eudex([juːˈdɛks])是一种语音简化/哈希算法, 根据拼写和 发音。在

它来源于pulmonic consonants的分类。在

Eudex比Soundex快两个数量级,还有几个数量级 比Levenshtein距离快得多,这使得它可以继续运行 在很短的时间内形成一组大串。在

示例

^{pr2}$

特点

  • 基于发音的高质量局部敏感哈希。在
  • 与英语、加泰罗尼亚语、德语、西班牙语、意大利语合作, 还有瑞典语。在
  • 复杂的语音映射。在
  • 质量比Soundex好。在
  • 考虑非英语字母。在
  • 极快。在
  • 元音敏感。在

常见问题解答

为什么Rupert和Robert没有像Soundex那样映射到相同的值?

Eudex不是一个语音分类器,它是一个语音哈希器。它将单词映射到 暴露差异的方式。在

结果似乎完全随机。怎么了?

这很可能是因为你假设发音相似的单词的散列映射到每个单词附近 另一个,虽然他们没有。相反,他们的汉明距离(即异或值 和他们的位总和)将是低。在

是否支持非英语字母?

是的,它支持所有的C1字母(例如,ü,ö,æ,ß,等等),并且它将它们各自的声音带入 帐户。在

只有英语吗?

不,它也适用于大多数欧洲语言。然而,它仅限于拉丁字母。在

是否考虑了有向图?

该表也被设计成封装有向图,尽管没有单独的表用于这些有向图(如 变音)。在

它能代替Levenshtein吗?

它是notLevenshtein距离的替代品,在某些用例中它是Levenshtein距离的替代品, e、 寻找拼写检查建议。在

它测试什么语言?

它在英语、加泰罗尼亚语、德语、西班牙语、瑞典语和意大利语词典上进行了测试,并已确认所有这些词典的质量都不错。在

实施

Eudex是如何工作的?在

how_it_works.md

Credits:本自述基于[ticki/eudex](https://github.com/ticki/eudex)自述构建

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

推荐PyPI第三方库


热门话题
与ReentrantLock相比,java ReentrantReadWriteLock的性能非常差   java如何使用Maven Android Studio正确导入?   安卓将ADB添加到我的Java PC应用程序   反射Java getDeclaredConstructor失败,来自JUnit的NoSuchMethodException   JSP上siteedit标记库的java替代   JavaSpring环境概要文件和JPA   java中是否有一个类似于StringBuilder的类,唯一的区别是它具有固定的长度?   JavaMathContext。小数点32 vs MathContext。小数点64,使用哪一个,为什么?   java使用spring在Ibm Websphere MQ中实现重试逻辑   java调用SpriteBatch。开始()和结束()   java有一种从文本中读取文本的方法。文件,并将其设置为pom中的maven属性。xml专家?   java让sitemesh使用struts2   Java Swing:在现有窗口上定位对话框   使用带有MemSql的JPA本机查询的java Select json列