Modified version of the soundex algorithm (http://en.wikipedia.org/wiki/Soundex)
Algorithm is as follows:
All non-alphabetic characters are ignored
Word case is not significant
After the first letter, any of the following letters are discarded: A, E, I, H, O, U, W, Y.
The following sets of letters are considered equivalent
A, E, I, O, U C, G, J, K, Q, S, X, Y, Z B, F, P, V, W D, T M, N All others have no equivalent
Any consecutive occurrences of equivalent letters (after discarding letters in step 3) are considered as a single occurrence