Немногим раньше, выкладывал базу англоязычных имен и фамилий, сегодня на замечательном ресурсе phpclasses.org нашел прикольный класс, для генерации читаемого слова. Для чего применимо, думаю опять не стоит рассказывать.
Вот пример что оно генерило:
- Xyulaxyewo
- Thexyaquot
- Sathixyaqu
- Quethaquaz
- Chocichova
Стоит упомянуть, что длина слова, настраивается.
Помогите с алгоритмом для русского языка. Буду очень признателен.

{ 9 comments… read them below or add one }
Есть у меня такой, на цепях Маркова. Стукни, если интересно.
То есть получится читаемое слово по русски?!
Выкладывай тут – многим будет интересно.
Ну вот примеры (специально не фильтрую, что вышло то вышло):
Преоталь
Никличит
Чивичтол
Дутитсых
Днееваес
Анетатох
Если нормально, то я сейчас на работу приеду и выложу у себя пост на эту тему и дам ссылку. Я на пхп класс писал, есть еще ворованый на питоне, но я его для английских только использовал, хотя думаю, что для русских будет примерно то же самое.
Питон нафиг, а php пойдет.
Перепишу логику на Delphi себе
Жду поста )
Вот, держи:
Я потом допишу еще, сейчас просто исходник выложил.
Там единственная проблема (была не так актуальна для меня в то время) – предполагается, что кодировка однобайтная, т.е. если использовать это в вебе и utf-8, то надо например перегнать исходный текст в cp-1251, а генерируемые слова перекодировать обратно в utf-8.
Тут 2 варианта:
1) модифицировать алгоритм к русским буквам (правильно отклассифицировать гласные, согласные, и т.д.);
2) просто транслитерировать результат работы этого класса
* Хюлахыещо
* Тхехякуот
* Сатхихяку
* Куетхакуаз
* Чоцичова
(из примера в посте)
Думаю это не хуже и не лучше, чем Преоталь, Никличит, Чивичтол, Дутитсых, Днееваес, Анетатох.
Дописал пост, добавил теорию и примеры на питоне и перле.
Не пойму в чем проблема то ?
Маркова конечно вариант, но тут и рандом обычный подойдет – перебирай гласные и согласные и всего делов
Я если фамилии генерировал – еще в конец добавял распространенные фамильные окончания типа -ова -ов -ина -ин
Понимаешь какое дело. Когда составляешь случайное слово из всех букв подряд, то возникает ощущение наебки. Причем не у того, для кого слово предназначается, а у тебя самого. Почему? Потому что ты пытаешься угадать тайну морфологии, но вместо этого выдаешь на гора пустой эрзац. Когда же ты берешь в руки Маркова, то ты признаешь, что изначальный закон тебе неподвластен, ты можешь лишь тасовать буквы в имени Б-га. Что, как мы знаем, тоже чревато, но по крайней мере до поры до времени забавно и лишено случайной тупости.
Leave a Comment