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算法来满足特定的需求。 一、Soundex算法原理 1. 首字母:Soundex算法首先保留单词的第一个字母,并将其余的字母转换为数字。首字母不进行转换。 2. 数字映射:接下来的...
《声音编码:深入理解Rust实现的Soundex算法》 声音编码,作为一种历史悠久的语言处理技术,旨在通过一种编码方式来捕获英文单词的发音特征,从而判断它们在语音上是否相似。Soundex算法,作为声音编码的一种典型...
retext-soundex 算法的实现。安装 : npm install retext-soundex retext-soundex也可用于 , 和以及和的AMD,CommonJS和globals模块。用法 var retext = require ( 'retext' ) ;var inspect = require ( 'unist-...
Soundex 是一种将(主要是英文)名称表示为短语音代码的算法。 Soundex 代码以名称的第一个字母开头,后跟三个数字。 它们通常用于匹配发音相似的名称。 有关更多信息,请参阅。例子: iex> Soundex.soundex(...
欧拉公式求长期率的matlab代码声音表达 仅限Python的Soundex算法的英语实现。 用法 from soundexpy import soundex soundex("euler") 执照 soundexpy在GNU通用公共许可证v2或任何更高版本的支持下可用。
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 对额外存储空间的需求 ...
"SRC算法"通常指的是Soundex或SoundEx算法的一个变种,这是一种早期的英文姓氏索引方法,主要用于处理和比较发音相似但拼写不同的单词。这里的"vb spee vb 音"可能是指VB中的语音处理模块,可能用于语音识别或语音...
该模块实现了用于英语的Soundex算法以及用于印度语言的soundex算法的修改版本。 这包括印度主要语言: 印地语(hi_IN) 孟加拉语(bn_IN) 旁遮普语(pa_IN) 古吉拉特语(gu_IN) 奥里亚语(or_IN) 泰米尔语(ta_...
例如,`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. **模式匹配**:如果模糊查询的目的...
作者于思江和王小兵分析了英文的Soundex算法,这是一种根据英文发音计算字符串值的语音算法,常用于英文发音的模糊匹配。然而,中文发音的复杂性使得直接应用Soundex并不适用。因此,他们提出了一种适用于中文发音...
4. **Soundex算法**:一种早期的音近字匹配算法,主要处理英文单词,通过将单词转化为一个简化的编码来判断它们的发音是否相似。 5. **Metaphone算法**:进一步改进的Soundex,提高了识别双音节和多音节词的能力。 ...
2. **Soundex算法**:一种基于发音的相似度计算方法,适用于音近词的匹配。 3. **Metaphone算法**:进一步改进的Soundex,考虑更多发音特性,提高匹配准确率。 **四、实际应用场景** 1. **搜索引擎**:通过模糊...
常见的模糊搜索方法有Levenshtein距离、Jaccard相似度、Soundex算法等。在Excel VBA中,可能需要自定义一个简单的模糊匹配函数,例如通过包含通配符或使用部分字符串比较。 5. **事件驱动编程**:在VBA中,事件驱动...
引入模糊音匹配算法,如Levenshtein距离或Soundex算法,可以实现根据读音相似度进行搜索。这些算法能计算两个字符串之间的差异程度,从而找出最接近读音的姓名。这样,用户只需输入学生姓名的大致读音,系统就能找到...
Apache Commons Codec还包含了对语音编码的支持,如Metaphone和Soundex算法。这些算法可以将英文单词转换为一个代表其发音的代码,有助于进行语音相似性的比较。`Metaphone`和`Soundex`类分别实现了这两种算法。 4...
`PhoneticEngine`类提供了将文本转换为类似于其发音的形式,如Metaphone、DoubleMetaphone和Soundex算法。这些算法有助于在信息检索和模糊匹配中找到相似或同音的词,例如在搜索和推荐系统中。 除此之外,Apache ...
可以使用简单的字符串匹配,如子串查找,或者更复杂的模糊匹配,如Levenshtein距离或Soundex算法。在实际应用中,根据性能和需求,可以选择合适的算法。 5. **动画和用户体验**: - 为了提供良好的用户体验,通常...