Ответ 1
Я думаю, что это должно делать то, что вы хотите:
У него есть исходный код и разрешающая лицензия, поэтому вы можете адаптировать исходный код к тому, что вы ищете.
Создание действительно случайной строки заданной длины является довольно простой (и уже хорошо покрытой) задачей.
Тем не менее; Я бы хотел создать "псевдо" случайную строку с дополнительным ограничением, чтобы она была относительно легко читаемой (для читателя на родном языке).
Я думаю, что еще один способ сказать это - сказать, что сгенерированная строка должна состоять из "узнаваемых слогов". Например, "akdjfwv" - это случайная строка, но она не распознается вообще. "Flamyom"; однако, очень "узнаваем" (хотя это вздор.)
Очевидно, можно было бы создать длинный список "узнаваемых слогов", а затем случайным образом выбирать их.
Но есть ли лучший способ сделать что-то вроде программного создания "узнаваемого слога" или сгенерировать "слог", а затем проверить его, чтобы узнать, распознается ли оно?
Я могу подумать о нескольких способах реализации этой реализации, но если кто-то уже ее реализовал (желательно на Java или С#), я предпочел бы повторно использовать их работу.
Любые идеи?
Я думаю, что это должно делать то, что вы хотите:
У него есть исходный код и разрешающая лицензия, поэтому вы можете адаптировать исходный код к тому, что вы ищете.
Вы можете попробовать реализовать цепочку Java-реализация, которая может работать для вас.
Это образец интерполяции между Genesis на английском и Genesis на испанском языке (N = 1):
В Берсаране и в то же время, когда он ловит тень, который должен был совершить его. lllar t land fingujod служанка af de wand tetodamoiz fosu Andesp. ersunen thenas lowhejod whipanirede tifinas Gofuavithila d gió Y Diche fua Dios co l, liens ly Y crerdíquen ticuesereregos hielase agúnd veumarbas iarasens laragún co eruerá laciéluelamagúneren Dien a He.
Вам нужно создать случайные слоги. Самый простой способ сделать это - использовать слоги, которые согласны-гласные или согласные-гласные-согласные. Из списка согласных и гласных выбирайте случайным образом для создания слогов, затем соедините слоги вместе, чтобы создать строку.
Имейте в виду, что ваш список согласных не должен быть буквами, которые являются согласными, но фонемы, поэтому "th", "st", "sl" и т.д. могут быть записями в согласном списке.
Вам действительно нужно проверить SCIgen. Он генерирует целые полунаучные научные статьи: http://pdos.csail.mit.edu/scigen/
И доступен источник: он выпущен под GPL и в настоящее время доступен через анонимный CVS.
Я не уверен точно, для чего вам это нужно, но если люди с графическим дизайном в печатной индустрии использовали генераторы Lorem Ipsum для создания текста, который выглядит достаточно, как текст, который ваш мозг обрабатывает его как таковой, не имея на самом деле понятных слов, Подробнее здесь
Я не знаю, есть ли веб-сервис, на который вы можете подписаться, но есть несколько сайтов, которые будут генерировать для вас строки Lorem Ipsum, поэтому вы сможете их использовать.
В этом разделе есть хороший раздел Programming Pearls. Он онлайн, но я настоятельно рекомендую купить книгу; На мой взгляд, одна из лучших книг по программированию.
Много генераторы Lorem Ipsum.
Все возвращается к тому, почему вы этого хотите. Если вы просто хотите "объявить тарабарщину", я думаю, что проще всего было бы сгенерировать чередующиеся согласные и гласные. Это будет крошечным подмножеством всякой объявленной тарабарщины, но какая цель? Чтобы дать немного более широкий диапазон, вы могли бы создать таблицу согласных фонем и гласных фонем с согласным списком, включающим не только отдельные буквы типа "b" и "d", но также "th", "br" и т.д. И т.д. список гласных может включать "оо" и "эа" и т.д. Еще один шаг - сгенерировать слоги вместо букв с слогом, содержащим либо гласный, согласный-гласный, либо согласный-гласный-согласный. То есть, создайте слоги, затем в слогах выберите один из трех шаблонов. Вероятно, вы захотите запретить два слога-только слога подряд. (Я пытаюсь придумать пример этого на английском языке. Вероятно, это происходит, но единственные примеры, о которых я могу думать, заимствованы из других языков, таких как "стоа".)