Reddit - пояснитиlikeimefive - ELI5 Markov Chain

Я намагався прочитати тут статтю Вікіпедії, але у мене виникають проблеми з її розумінням.

chain

Поділіться посиланням

Я припускаю, що ви говорите про ланцюжки Маркова для генерації тексту. Основна ідея полягає у використанні вже написаного тексту для створення тексту, який "звучить як" оригінал.

Перший крок - це побудова «корпусу». Це може бути будь-який досить великий текст. Для прикладу та зручності я буду використовувати вашу історію коментарів Reddit як корпус. Потім для кожного слова у вашій історії коментарів я записую слово, яке йде після нього. Наприклад, після слова "Я" після "не", "не" "хочу" і "побачити".

Щоб насправді генерувати текст, ми починаємо з випадкового вихідного слова. З цього слова ми випадковим чином обираємо, до якого слова йти далі з корпусу. Ось чому важливо реєструвати, скільки разів з’являється кожне наступне слово. Потім ви повторюєте підбір слів, поки не отримаєте скільки завгодно потрібного тексту.

Отже, для прикладу речення ми продовжуватимемо вибирати слова, поки не знайдемо слово, яке закінчується крапкою (до речі, розділові знаки також важливі при записі слів):

Одне зі слів, що стоїть за "Я", це "можу". Слово, що стоїть за "може", це "бачити". "Див." Слідує "Я" тощо.

Для більш реалістичного тексту ви б створили свій корпус із двох слів одночасно або більше. З двох слів після фрази «Я згоден» йдеться «це», «з» і «з»; а за "що ти" слідує "думай" і "зробив".

Ця ж ідея стосується ланцюгів Маркова для інших цілей, ви берете минулі події і використовуєте їх, щоб передбачити, що буде далі.