Согласно Википедии, цепь Маркова - это случайный процесс, в котором следующее состояние зависит от предыдущего состояния. Это немного сложно понять, поэтому я попытаюсь объяснить это лучше:
То, на что вы смотрите, похоже, программа, которая генерирует текстовую цепь Маркова. По сути, алгоритм для этого заключается в следующем:
- Разбить текст на токены (слова, знаки пунктуации).
- Построить таблицу частот. Это структура данных, в которой для каждого слова в вашем тексте у вас есть запись (ключ). Этот ключ сопоставляется с другой структурой данных, которая представляет собой список всех слов, которые следуют за этим словом (ключом) вместе с его частотой.
- Генерация цепи Маркова. Для этого вы выбираете начальную точку (ключ из таблицы частот), а затем случайным образом выбираете другое состояние для перехода (следующее слово). Следующее слово, которое вы выбираете, зависит от его частоты (поэтому некоторые слова более вероятны, чем другие). После этого вы используете это новое слово в качестве ключа и начинаете все сначала.
Например, если вы посмотрите на самое первое предложение этого решения, вы можете получить следующую таблицу частот:
According: to(100%)
to: Wikipedia(100%)
Wikipedia: ,(100%)
a: Markov(50%), random(50%)
Markov: Chain(100%)
Chain: is(100%)
is: a(33%), dependent(33%), ...(33%)
random: process(100%)
process: with(100%)
.
.
.
better: :(100%)
По сути, переход состояния из одного состояния в другое основывается на вероятности. В случае текстовой цепочки Маркова вероятность перехода зависит от частоты слов, следующих за выбранным словом. Таким образом, выбранное слово представляет предыдущее состояние, а таблица частот или слова представляет (возможные) последовательные состояния. Вы найдете последовательное состояние, если знаете предыдущее состояние (это единственный способ получить правильную таблицу частот), так что это соответствует определению, где последовательное состояние зависит от предыдущего состояния.
Бесстыдный плагин - Я написал программу для этого на Perl, некоторое время назад. Вы можете прочитать об этом здесь .