EN
返回档案库

案例库 · 软件与 IT · 技术决策 · 1918–1930

Soundex:把姓氏化成一个字母加三个数字

罗素1918年的专利按发音编码姓氏,让Smith和Smyth在人口普查索引中归在一起。

罗伯特·C·罗素

解法

在计算机出现之前,要在人口普查中找一个人,你得确切知道他们的名字是怎么拼的——但记录员会写成Smith、Smyth和Smythe。罗伯特·C·罗素1918年的专利(美国专利号1,261,167)提出按发音来索引姓名。

Soundex码保留姓氏的首字母,对剩下的辅音组分配三个数字,并丢弃元音和重复字母。任何发音相同的拼写都会产生相同的码,这样相关的条目就归档在一起,而不是分散各处。

美国国家档案馆至今仍记录这一规则——每个码是一个字母加三个数字,比如Washington的码是W-252。从20世纪30年代起,人口普查局和WPA用Soundex为几十年的普查记录建立了卡片索引,让办事员不用知道精确拼写也能找到人。

生效的原因

  • 语音分组将拼写变体归为一个码
  • 固定的四个字符的键便宜易归档和查找
  • 办事员不需要拼写知识就能搜索
  • 可扩展到数百万张普查卡片
取得的成效按发音而不是拼写来索引聪明

可借鉴之处

当数据以可预测的方式混乱时,对等价类进行编码,而不是清洗每一条记录:一个有损的键把近似重复归组,使查找能容忍错误。

后续进展

Soundex索引成为家谱学的核心工具,这一语音编码思想也传播到姓名匹配系统、选民档案和现代记录关联中——罗素1918年的专利被视为语音姓名匹配的起源。

资料来源

发现哪里写错了?告诉我们。

相关案例