用Text::Soundex进行非精确名字匹配

ZDNet软件频道 时间:2004-02-12 作者:ZDNet China |  我要评论(6)
本文关键词:
Soundex算法被设计用来根据英语字的发音将人名和四字符的值进行匹配。这一思想可以被用来增强名称匹配,以实现发音类似但是拼写不同的名字的“模糊匹配”。
本文译自Builder.com,未经许可请勿转载 Soundex算法被设计用来根据英语字的发音将人名和四字符的值进行匹配。这一思想可以被用来增强名称匹配,以实现发音类似但是拼写不同(例如,Smith和Smythe发音相同)的名字的“模糊匹配”。

要是用soundex工具,只用简单地输入字符串的列表,然后代码就会返回一个soundex代码的列表。这个程序会接受单一字符串,并返回单一代码,或者你可以输入一个列表,获得代码的列表。

下面就是一个代码示例:

useText::Soundex;

for (@ARGV)
{
        $code = soundex $_;

        print "$_ = $code ";
}

Soundex不仅仅能够用在名字上,还能够用在任何文本元素上。要记住的是,它只会把任意大小的词集映射为一个有限的空间(只有四个字符)。这就意味着,如果用在大量非常相似的字上,该算法(的精确性)就会大幅度下降。

几乎任何需要匹配名字的应用程序都可以从soundex算法中获得巨大的好处。允许对名字进行模糊匹配的系统是客户支持的巨大优势。



责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134