Существует ряд алгоритмов для сопоставления слов по звуку - на ум приходит «soundex», но я помню, как раскрыл некоторые из них, когда проводил некоторые исследования по этому вопросу пару лет назад. Я ожидаю, что проблема, с которой вы столкнетесь, заключается в том, что они берут слово и возвращают значение, которое представляет, как звучит слово, чтобы вы могли видеть, звучат ли два написания одинаково (поэтому слова в вопросе должны генерировать похожие значения); но я ожидаю, что сделать обратное, т. е. взять значение и сгенерировать похожее звучащее написание, будет довольно сложно.