Получил задание, связанное с нечеткой транслитерацией. Вкратце, разбор выражений вроде moscow -> москва, moskva -> москва. Что можно почитать по этой теме?
Книгу не знаю но первое что приходит в голову это тупо список "правильных" транслитераций и следом линейный в нем поиск используя алгоритм minimal edit distance (он тоже линейный N*M, где N - количество букв в исходном слове а M в требуемом), на выбор следом пойдет та транслитерация у которой minimal edit distance с входящим словом самый маленький.
Если это слишком медленно (все таки не каждое слово ворошить весь словарь) тогда можно пробовать какие-нибудь нейронные сети. Они как раз чаще всего и служат для "отшумливания" сигнала. В этом случае надо будет отшумить "неправильную" транслитерацию. То есть эффект должен быть подобен до minimal edit distance (такой же линейный с "весами" и выбором наиболее подобного), но будет работать быстрее при этом требуя более "научного" подхода при наклепании.
> почитайте исходники браузера Lynx он транслитерацию умеет
> весьма неплохо
Он же в обратную сторону. Русский транслитом показывает весьма неплохо. "Зашумленный" транслит в русский перевести вроде не умеет.