metaphone

An algorithm for encoding a word so that similar sounding words encode the same. It's similar to soundex in purpose, but as it knows the basic rules of English pronunciation it's more accurate. The higher accuracy doesn't come free, though, metaphone requires more computational power as well as more storage capacity, but neither of these requirements are usually prohibitive. It is in the public domain so it can be freely implemented.

Metaphone was developed by Lawrence Philips <lphilips@verity.com>. It is described in ["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995].