Code Monkey home page Code Monkey logo

verslibre's Introduction

Генерация стихов с помощью больших языковых моделей

Репозиторий содержит код для создания коротких стихов с помощью генеративных языковых моделей с архитектурой GPT.

Силлабо-тоническая языковая модель для генерации четырехстрочников

Используется трансформенная языковая модель на основе архитектуры GPT. Эта модель учитывает как грамматику русского языка (подобно языковым моделям типа rugpt), так и его фонетику, включая правила рифмования и построения стихотворного метра. Подробности есть в презентации.

телеграм бот для генерации четырехстрочников

Бинарные файлы моделей доступны в докер-образе inkoziev/verslibre:latest.

Скачиваем и запускаем образ:

sudo docker pull inkoziev/verslibre:latest
sudo docker run -it inkoziev/verslibre:latest

После запуска программа запросит ввод токена для телеграм-бота.

После загрузки всех моделей можно запустить бота в его чате командой /start. Бот предложит выбрать одну из трех случайных тем для сочинения либо ввести свою тему. Темой может быть любое словосочетание с существительным в главной роли, например "генератор стихов".

Этот бот доступен в телеграмме как @verslibre_bot

Примеры генерации:

       * * *
Любовь - источник вдохновения,
Души непризнанных людей.
И день весеннего цветения,
Омытый зеленью дождей…

       * * *
Душа, гонимая страстями,
Тревожит, веет теплотой.
Любовь, хранимая стихами,
И примиренье, и покой.

Кроме самой генеративной модели, большое значение для правильной работы имеет поэтический транскриптор, который размечает исходные стихи для обучения моделей. Подробнее о работе транскриптора можно почитать тут.

Генерация трехстрочников ("хайку")

телеграм бот для генерации хайку

Доступен докер-образ inkoziev/haiku:latest для запуска генератора как телеграм-бота.

Загружаем образ и запускаем:

sudo docker pull inkoziev/haiku:latest
sudo docker run -it inkoziev/haiku

Программа попросит ввести токен телеграм-бота. Затем загрузятся модели (примерно минута) и можно общаться с ботом. Вводите затравку - существительное или словосочетание. Генерация нескольких вариантов на CPU идет примерно 30 секунд. Затем бот выведет первый вариант и предложит оценить его, либо вывести следующий вариант.

Этот бот доступен в телеграмме как @haiku_guru_bot.

Так как это рандомизированная генеративная модель, результаты ее работы обычно невозможно повторить простым вводом такой же затравки. Копируйте хорошие результаты, дополняйте их иллюстративной моделью, например ruDALLE, и получайне уникальный контент:

жёлтые таблетки солнца /// в руках ребёнка /// с поволокой неба

Больше примеров хайку можно увидеть в моем блоге.

Обучающие данные

В подкаталоге tmp лежат файлы с частью обучающих данных:

poetry_corpus.txt - корпус отфильтрованных четверостиший, символ | в качестве разделителя строк; используется для дотренировки модели ruGPT.
poem_generator_dataset.dat - датасет для тренировки ruGPT, выдающей текст стиха по теме (ключевому словосочетанию).
captions_generator_rugpt.dat - датасет для тренировки ruGPT, генерирующей заголовок стиха по его содержимому.

Описание процесса подготовки обучающего корпуса можно найти здесь.

verslibre's People

Contributors

koziev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.