Сегодня я хочу рассказать про свой опыт генерации текста песен с помощью python и библиотеки Markovify
Дисклеймер: автор хотел повеселить себя вечером и не придумал ничего лучше, как:
В качестве корпуса для "обучения" цепи я буду использовать текст песен группы Кис Кис.
Пикча выше иллюстрирует то как работает цепь Марокова. А вот неплохая статья.
Начало
Я предполагаю что читатель уже сколько знаком с питоном и имеет предустановленную 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))
Результат:
Но на тебе я ставлю точку, это точно, Вот мое тебе «пока». Я говорю тебе в ответ: Что еще тут непонятно?
Итог
Я постарался максимально коротко рассказать как за всего несколько минут сгенерировать текст практически чего угодно. Зачем? -Ну, это весело. Бесполезно, но чертовски весело.
Генератор школьных эссе
Автор: Александр Николич