Генерируем тексты песен Кис Кис цепями Маркова в 50 строк

в 14:15, , рубрики: ml, python, машинное обучение, юмор

Сегодня я хочу рассказать про свой опыт генерации текста песен с помощью python и библиотеки Markovify

Дисклеймер: автор хотел повеселить себя вечером и не придумал ничего лучше, как:

В качестве корпуса для "обучения" цепи я буду использовать текст песен группы Кис Кис.

image

Пикча выше иллюстрирует то как работает цепь Марокова. А вот неплохая статья.

Начало

Я предполагаю что читатель уже сколько знаком с питоном и имеет предустановленную IDE и Python версии >3.5.

Установим необходимую библиотеку :

pip install markovify

Теперь накопируем себе текстов песен и немного их обработаем, для этого напишем простенький обработчик текста. Удалим "мусорные" слова типа припев, куплет а так же цифры, для этого напишем простенький обработчик текста.

IND = "Припев"
Find2 = "Переход:"
INFILE = "corpus.txt"
OUTFILE = "output.txt"
ENC = "utf-8"
with open(INFILE, encoding="UTF-") as infile, open(OUTFILE, "w", encoding="UTF-8") as outfile:
    for line in infile:
        if FIND or Find2 not in line:
            outfile.write(line)

os.remove(INFILE)
os.rename(OUTFILE, INFILE)

текст который я уже обработал

А теперь давайте воспользуемся этой замечательной библиотекой и наконец генерить наши тексты .

with open("C:/Users/alexd/PycharmProjects/untitled/corpus.txt",encoding='utf-8') as f:
    text = f.read()
text_model = markovify.Text(text)
for i in range(10):
    print(text_model.make_short_sentence(380))

Результат:

Но на тебе я ставлю точку, это точно, Вот мое тебе «пока». Я говорю тебе в ответ: Что еще тут непонятно?

Итог

Я постарался максимально коротко рассказать как за всего несколько минут сгенерировать текст практически чего угодно. Зачем? -Ну, это весело. Бесполезно, но чертовски весело.

Генератор школьных эссе

Использованные материалы

Автор: Александр Николич

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js