I have a fairly specific question. If you know what the Metaphone
phonetic matching algorithm is, then you should definitely read on
(the question is actually very simple; I have only written so much in
an attempt to be as clear as possible).
For those who don't know what Metaphone is, I will give the background.
Given any string of letters from the English alphabet (whether an
English word or not), the Metaphone algorithm is a set of rules that
tells you how to convert the string into a single pronunciation code.
The code will consist of up to 4 consonants. To see the Metaphone
rules go to this page:
http://po-ru.com/projects/metaphone/
Here are some strings and their Metaphone codes:
School = SKL
Color = KLR
Colour = KLR
The idea behind Metaphone coding is that two strings should have the
same pronunciation if and only if they have the same Metaphone code.
Here is my question: Do you have (or can you find) a program that will
do the following. When a single string of letters is inputted, the
program returns all strings (whether English words or not) that have
the same Metaphone code as the inputted string.
Note: For a given Metaphone code, there will be infinitely many
strings with that code. The program would therefore need to only
output those strings up to a certain length (perhaps, for example,
those up to 3 letters longer than the inputted string).
Given a certain Metaphone code, it is possible to work out by hand
those strings with the same code, so it should be possible to write a
program to do this. Furthermore, I expect that such programs have been
used in spelling checkers that utilise Metaphone (such as Aspell,
which uses the Double Metaphone algorithm). Unfortunately, I don't
have the time or programming expertise to find these programs.
(Please note, I am not looking for a program that when inputted with a
string only returns dictionary words with the same Metaphone code as
the inputted string; after all, that is close to what certain spelling
checkers do.)
Looking forward to your answer,
Andrew |