У меня нет решения как такового, но у меня есть некоторые идеи.
Подход
@ collapsar в комментариях в принципе звучит для меня хорошо, но я думаю, что вы захотите использовать готовую библиотеку OCR, а не пытаться анализировать изображения самостоятельно. Для создания изображений я использовал бы шрифт, похожий на что-то в семействе DejaVu, потому что он имеет хорошее покрытие относительно неясных символов Unicode.
Другой простой способ получить данные - посмотреть на декомпозиции "предварительно составленных" символов, таких как "а"; если символ можно разложить на одну или несколько глав, за которыми следует базовый символ, который выглядит как английская буква, он, вероятно, выглядит как сама английская буква.
Ничто не сравнится с большим количеством данных для такой проблемы. Вы можете собрать много хороших примеров замены персонажей, которые делали люди, просматривая нужные веб-форумы. Затем вы можете использовать эту процедуру для изучения новых: сначала найдите «слова», содержащие в основном символы, которые вы можете идентифицировать, а также некоторые, которые вы не можете. Сделайте регулярное выражение из слова, преобразовав все, что вы можете, в обычные буквы и заменив все остальное на «.». Затем сопоставьте свое регулярное выражение со словарем, и если вы получите только одно совпадение, у вас есть несколько очень хороших кандидатов на то, что должны представлять неизвестные символы. (Я бы на самом деле не использовал регулярное выражение для поиска в словаре, но вы поняли.)
Вместо форумов по майнингу вы можете использовать n-граммовый корпус Google (http://storage.googleapis.com/books/ngrams/books/datasetsv2.html) вместо этого, но сейчас я не могу проверить, содержит ли он нужный вам псевдослов.