`
Riddick
  • 浏览: 642373 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Soundex算法

阅读更多

Soundex 是一种 20 世纪在美国人口普查中归档姓氏的方法。它把听起来相似的姓氏归在一起,使得在即便错误拼写的情况下调查者仍能查找到。 Soundex 今天仍然因差不多的原因被应用着,当然现在用计算机数据库服务器了。 大部分的数据库服务器都有 Soundex 函数。

 

Soundex算法是一种语音算法,利用英文字的读音计算近似值,值由四个字符构成,第一个字符为英文字母,后三个为数字。在拼音文字中有时会有会念但不能拼出正确字的情形,可用Soundex做类似模糊匹配的效果。例如Knuth和Kant二个字符串,它们的Soundex值都是 K530。更详细的说明参考Donald Knuth大师的名著:电脑程序设计的艺术 (The Art Of Computer Programming) 第三卷排序和搜寻。

 

算法简要说明:

1) 将英文字按以下规则替换(除保留第一个字符外):

   a e h i o u w y -> 0
   b f p v -> 1
   c g j k q s x z -> 2
   d t -> 3
   l -> 4
   m n -> 5
   r -> 6

2) 去除0,对于重复的字符只保留一个

3) 返回前4个字符,不足4位以0补足

 

以Knuth和Kant为例:

Knuth -> K5030 -> K53 -> K530
Kant  -> K053  -> K53 -> K530

 

分享到:
评论

相关推荐

    C#_Soundex算法实现_代码_下载

    在C#编程中,我们可以自定义实现Soundex算法来满足特定的需求。 一、Soundex算法原理 1. 首字母:Soundex算法首先保留单词的第一个字母,并将其余的字母转换为数字。首字母不进行转换。 2. 数字映射:接下来的...

    soundex-rs:美国soundex算法在Rust中的实现

    《声音编码:深入理解Rust实现的Soundex算法》 声音编码,作为一种历史悠久的语言处理技术,旨在通过一种编码方式来捕获英文单词的发音特征,从而判断它们在语音上是否相似。Soundex算法,作为声音编码的一种典型...

    retext-soundex:Soundex算法的文本重实现

    retext-soundex 算法的实现。安装 : npm install retext-soundex retext-soundex也可用于 , 和以及和的AMD,CommonJS和globals模块。用法 var retext = require ( 'retext' ) ;var inspect = require ( 'unist-...

    soundex:在 Elixir 中 Soundex 算法的实现

    Soundex 是一种将(主要是英文)名称表示为短语音代码的算法。 Soundex 代码以名称的第一个字母开头,后跟三个数字。 它们通常用于匹配发音相似的名称。 有关更多信息,请参阅。例子: iex> Soundex.soundex(...

    欧拉公式求圆周率的matlab代码-soundexpy:Soundex算法的Python实现

    欧拉公式求长期率的matlab代码声音表达 仅限Python的Soundex算法的英语实现。 用法 from soundexpy import soundex soundex("euler") 执照 soundexpy在GNU通用公共许可证v2或任何更高版本的支持下可用。

    Algorithm-soundex-code.zip

    Soundex算法的基本思想是保留单词的首字母,并根据音节将后续字母转换为数字代码,忽略不发音的字母和元音。 **算法实现** 在“soundex-code-master”目录下,我们可以找到实现Soundex编码的源代码。这个实现通常...

    程序员实用算法——源码

     4.10.6 Soundex算法和Metaphone算法 第5章 排序  5.1 排序的基本特征  5.1.1 稳定性  5.1.2 对哨兵的需求  5.1.3 对链表进行排序的能力  5.1.4 输入的阶的相关性  5.1.5 对额外存储空间的需求  ...

    dmetaphone_src.zip_SRC算法_vb spee_vb 音_变音_语音识别 vc

    "SRC算法"通常指的是Soundex或SoundEx算法的一个变种,这是一种早期的英文姓氏索引方法,主要用于处理和比较发音相似但拼写不同的单词。这里的"vb spee vb 音"可能是指VB中的语音处理模块,可能用于语音识别或语音...

    IndicSoundex:基于Santhosh Thottingal算法的印度语soundex php软件包

    该模块实现了用于英语的Soundex算法以及用于印度语言的soundex算法的修改版本。 这包括印度主要语言: 印地语(hi_IN) 孟加拉语(bn_IN) 旁遮普语(pa_IN) 古吉拉特语(gu_IN) 奥里亚语(or_IN) 泰米尔语(ta_...

    commons-codec-1.6-src.zip

    例如,`src/main/java/org/apache/commons/codec/language/Soundex.java`包含了Soundex算法的实现。 4. **Hex编码与解码**: Hex编码是一种将二进制数据转换为16进制字符串的方法。在`src/main/java/org/apache/...

    地址模糊匹配应用以及相关论文

    3. Soundex算法:Soundex是一种早期的音近匹配算法,主要处理英文地址,通过对单词进行编码来捕捉发音相似性。 4. Metaphone算法:Metaphone是Soundex的改进版,更准确地反映了单词的发音相似性。 5. 中文模糊匹配...

    易语言字节集模糊查询源码

    常见的有Levenshtein距离(编辑距离)、Soundex算法(声音相似度)等。在易语言中,可以自定义实现这些算法,通过比较字节集间的差异来判断两个字节集是否满足模糊匹配条件。 3. **模式匹配**:如果模糊查询的目的...

    基于MySQL的中文发音查询的元级实现.pdf

    作者于思江和王小兵分析了英文的Soundex算法,这是一种根据英文发音计算字符串值的语音算法,常用于英文发音的模糊匹配。然而,中文发音的复杂性使得直接应用Soundex并不适用。因此,他们提出了一种适用于中文发音...

    Python库 | fuzzycollections-0.0.3-py2.py3-none-any.whl

    4. **Soundex算法**:一种早期的音近字匹配算法,主要处理英文单词,通过将单词转化为一个简化的编码来判断它们的发音是否相似。 5. **Metaphone算法**:进一步改进的Soundex,提高了识别双音节和多音节词的能力。 ...

    Talisman一个简单的模块化NLP用于JavaScript的机器学习和模糊匹配库

    2. **Soundex算法**:一种基于发音的相似度计算方法,适用于音近词的匹配。 3. **Metaphone算法**:进一步改进的Soundex,考虑更多发音特性,提高匹配准确率。 **四、实际应用场景** 1. **搜索引擎**:通过模糊...

    Búsqueda aproximada TextBox ListBox_excel_

    常见的模糊搜索方法有Levenshtein距离、Jaccard相似度、Soundex算法等。在Excel VBA中,可能需要自定义一个简单的模糊匹配函数,例如通过包含通配符或使用部分字符串比较。 5. **事件驱动编程**:在VBA中,事件驱动...

    学生管理系统

    引入模糊音匹配算法,如Levenshtein距离或Soundex算法,可以实现根据读音相似度进行搜索。这些算法能计算两个字符串之间的差异程度,从而找出最接近读音的姓名。这样,用户只需输入学生姓名的大致读音,系统就能找到...

    commons-codec-1.4-bin.zip

    Apache Commons Codec还包含了对语音编码的支持,如Metaphone和Soundex算法。这些算法可以将英文单词转换为一个代表其发音的代码,有助于进行语音相似性的比较。`Metaphone`和`Soundex`类分别实现了这两种算法。 4...

    commons-codec-1.8

    `PhoneticEngine`类提供了将文本转换为类似于其发音的形式,如Metaphone、DoubleMetaphone和Soundex算法。这些算法有助于在信息检索和模糊匹配中找到相似或同音的词,例如在搜索和推荐系统中。 除此之外,Apache ...

    IOS应用源码——自动完成(就是类似百度的搜索提示)demo.rar

    可以使用简单的字符串匹配,如子串查找,或者更复杂的模糊匹配,如Levenshtein距离或Soundex算法。在实际应用中,根据性能和需求,可以选择合适的算法。 5. **动画和用户体验**: - 为了提供良好的用户体验,通常...

Global site tag (gtag.js) - Google Analytics