Козиев Илья (kelijah) wrote,
Козиев Илья
kelijah

Category:

Автоматическая генерация четверостиший с помощью GPT и T5 - часть 2

Генерация первых строк с помощью GPT

Как было сказано в первой части, после фильтрации обучающий корпус содержит только стихи с шаблоном рифмовки ABAB. Но не смотря на достаточную регулярность таких текстов, эксперименты показали, что GPT-2 сама по себе не способна генерировать тексты с соблюдением метра и качественной рифмы:


--- Берёзка ---

На небе, как прежде, ясный день,
Прохладный ветерок, как живая вода,
В саду, на скамейке, как в колыбели,
Стоит красавица берёза.


Хотя время от времени GPT-шка выдает что-то почти срифмованное:


--- Прохладный ветерок ---

Прохладный ветерок,
За окошком гроза,
С крыши падает листок,
На землю, как слеза.



В общем, было решено не пытаться заставть GPT2 модель выдавать весь стих, а пойти другим путем. А GPT-2 пусть генерирует первые две строки стиха на заданную тему. Вот это получается у этой модели вполне пристойно.

Как это сделано?

Корпус стихов подвергается синтаксическому парсингу. Каждая строка прогоняется через UDPipe, из нее выделяются именные группы (Noun Phrases). Далее формируется обучающий датасет, в котором каждая выделенная именная группа выступает в роли затравки (prompt), а текст стиха - ожидаемое продолжение:


белая береза # белая береза под моим окном | принакрылась снегом, словно серебром

Один исходный стих порождает несколько подобных записей с разными именными группами.

Далее, файнтюним ruGPT на этом датасете и получаем модель, которая для заданной темы (в виде словосочетания с существительным в главной роли) выдает четверостишье. Это четверостишье с пометкой "VERS-LIBRE" можно увидеть в выдаче генератора в докер-образе.

Для последющих этапов мы оставляем из данного четверостишья первые 2 строки, как показано на общей диаграмме:


(продолжение следует...)
Tags: генеративная модель, генерация текста
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 0 comments