Я видел много примеров использования цепей Маркова для генерации случайных слов на основе исходных данных, но они часто кажутся мне чрезмерно механическими и абстрактными.Я пытаюсь разработать лучший.
Я полагаю, что часть проблемы заключается в том, что они полностью полагаются на общее статистическое вхождение пар и игнорируют тенденцию слов начинаться и заканчиваться определенным образом.Например, если вы используете 1000 лучших имен детей в качестве исходных данных, буква J в целом встречается относительно редко, но это вторая по распространенности буква для имен, с которой начинаются .Или, если вы используете исходные данные на латинском языке, окончания слов, такие как -um и -us, будут общими окончаниями , но не такими общими, если рассматривать все пары одинаково.
Итак,Я в основном пытаюсь собрать генератор слов на основе цепочки Маркова, который учитывает начало и конец слов в исходных данных.
Концептуально, это имеет смысл для меня, но я не могу понять,как реализовать это с точки зрения программного обеспечения.Я пытаюсь собрать небольшой инструмент PHP, который позволяет вам добавить исходные данные (например, список из 1000 слов), из которого он будет генерировать различные случайные слова с реалистичными началами, серединами и окончаниями.(В отличие от большинства марковских генераторов слов, которые просто основаны на статистическом вхождении пар в целом.)
Я также хотел бы сделать это с длиной слова, определяемой исходными данными, если это возможно;то есть, разбивка по длине случайно сгенерированных слов должна быть примерно такой же, как и разбивка по длине исходных данных.
Любые идеи будут высоко оценены!Спасибо.