Короче, опять буду долго писать, не могу мало.Maelstrom писал(а):Зато отбрасывается множество неплохих вариантов, типа "Спинх"
Давай, наверно, исходить из того, что нужно получить прогу, которая не выдавала бы "плохих" слов, а не прогу, которая бы выдавала много лучшие слова, но при этом могла выдать и ужасные (Замечу, что естественно можно искуственно настроить имеющееся у тебя сейчас, и в итоге довести до совершенства выкидывание динозаврьих имён. Но тогда зачем эта идея вообще? Если тебе это нужно только для динозавров, то мудрее было бы написать всю программу с нуля и исключительно под них, чем исправлять эту универсальную).
По поводу ограничения по сочетанию гласных/согласных. Да, действительно, эта корректировка откидывает многие толковые варианты, но что ещё страшнее на мой взляд - она этим здорово ограничивает разнообразие получаемых слов. Это сразу заметно для "двухбуквенной" генерации. С другой стороны также заметно, что использование "однобуквенной" не очень хорошие образцы даёт. Могу посоветовать сделать для программы не простой выбор между "однобуквенной" и "двухбуквенной", а что-то типа процентной шкалы - насколько часто использовать по ходу наброса каждую из генераций. Заодно скажу, что мне кажется для твоей базы динозавров её установить нужно где-то такую "двухбуквенные:однобуквенные = 2:1 или 3:2".
Ещё добавлю по этому ограничению. Но уже в отношении базы динозавров. Думаю ты заметил или понял, что используя такой способ: чем слово короче, тем выше вероятность его повторения. Если тебе понадобится много имен, то именно короткие будут повторятся наиболее часто. И "Спинхов" будет больше, чем скажем "Игалоцерамфозавр". А я так полагаю, что ты рассчитываешь на длинные имена. Так нужен ли "Спинх" вообще?
P.S. Когда я у себя добавлял новую базу, над её настойкой я возился не более 15 минут, а именно - выявлял какое отношение однобуквенные: двухбуквенные генерации наиболее удобно, устанавливал насколько сильно корректировать по длине, и если какой-то момент был уж очень неудачен, то удалял одно-два слова в исходной базе, которые его создавали. А корректор по гласным/согласным оставался всегда. В основном по причине того, что именно он отбрасывал все нечитаемые сочетания, а также слова из одной-двух и из 15-20 букв. А это критично.
P.P.S.
1. Можешь меня не слушать. Я уверен, что можно сделать лучше.
2. Попробую подумать как же полученные слова склонять... Интересная задача.