Генерация читаемого имени или фамилии

by SeoCoder on Ноябрь 27, 2008

Немногим раньше, выкладывал базу англоязычных имен и фамилий, сегодня на замечательном ресурсе phpclasses.org нашел прикольный класс, для генерации читаемого слова. Для чего применимо, думаю опять не стоит рассказывать.

Вот пример что оно генерило:

  • Xyulaxyewo
  • Thexyaquot
  • Sathixyaqu
  • Quethaquaz
  • Chocichova

Стоит упомянуть, что длина слова, настраивается.

Помогите с алгоритмом для русского языка. Буду очень признателен.

{ 9 comments… read them below or add one }

1 Andrey 11.27.08 at 6:57 дп

Есть у меня такой, на цепях Маркова. Стукни, если интересно.

2 SeoCoder 11.27.08 at 6:59 дп

То есть получится читаемое слово по русски?!
Выкладывай тут - многим будет интересно.

3 Andrey 11.27.08 at 7:08 дп

Ну вот примеры (специально не фильтрую, что вышло то вышло):

Преоталь
Никличит
Чивичтол
Дутитсых
Днееваес
Анетатох

Если нормально, то я сейчас на работу приеду и выложу у себя пост на эту тему и дам ссылку. Я на пхп класс писал, есть еще ворованый на питоне, но я его для английских только использовал, хотя думаю, что для русских будет примерно то же самое.

4 SeoCoder 11.27.08 at 7:09 дп

Питон нафиг, а php пойдет.
Перепишу логику на Delphi себе
Жду поста )

5 Andrey 11.27.08 at 7:19 дп

Вот, держи:
http://cookie.somemilk.org/2008/nov/27/generaciya-russkih-slov-i-teksta-cepyami-markova/

Я потом допишу еще, сейчас просто исходник выложил.
Там единственная проблема (была не так актуальна для меня в то время) - предполагается, что кодировка однобайтная, т.е. если использовать это в вебе и utf-8, то надо например перегнать исходный текст в cp-1251, а генерируемые слова перекодировать обратно в utf-8.

6 Mikhail 11.27.08 at 9:31 дп

Тут 2 варианта:
1) модифицировать алгоритм к русским буквам (правильно отклассифицировать гласные, согласные, и т.д.);
2) просто транслитерировать результат работы этого класса
* Хюлахыещо
* Тхехякуот
* Сатхихяку
* Куетхакуаз
* Чоцичова
(из примера в посте)
Думаю это не хуже и не лучше, чем Преоталь, Никличит, Чивичтол, Дутитсых, Днееваес, Анетатох. :)

7 Andrey 11.27.08 at 12:48 пп

Дописал пост, добавил теорию и примеры на питоне и перле.

8 GTAlex 12.18.08 at 6:17 пп

Не пойму в чем проблема то ?
Маркова конечно вариант, но тут и рандом обычный подойдет - перебирай гласные и согласные и всего делов :)
Я если фамилии генерировал - еще в конец добавял распространенные фамильные окончания типа -ова -ов -ина -ин

9 Сефирот 12.18.08 at 6:41 пп

Понимаешь какое дело. Когда составляешь случайное слово из всех букв подряд, то возникает ощущение наебки. Причем не у того, для кого слово предназначается, а у тебя самого. Почему? Потому что ты пытаешься угадать тайну морфологии, но вместо этого выдаешь на гора пустой эрзац. Когда же ты берешь в руки Маркова, то ты признаешь, что изначальный закон тебе неподвластен, ты можешь лишь тасовать буквы в имени Б-га. Что, как мы знаем, тоже чревато, но по крайней мере до поры до времени забавно и лишено случайной тупости.

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>