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

Category:

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

Дополнение последних слов до полных строк с помощью модели T5

На предыдущем этапе мы выбрали слова "строчки" и "взгляд" в качестве опорных элементом двух последних строк четверостишья. Теперь надо сгенерировать начало этих строк. И сделать это желательно так, чтобы результат был как-то релевантен первым двум строкам, а также синтаксически сочетался с выбранными опорными словами.

Один из вариантов решения такой задачи - тренировать специальную языковую модуль, которая работает справа налево. Это позволит выстроить генерацию строки от последнего слова к первому.

Но я решил попробовать использовать супер-пупер новую модель ruT5, которая менее известна в сравнении с ruGPT, но архитектурно очень интересна. В ней сочетается BERT-подобный двунаправленный энкодер и GPT-подобный однонаправленный декодер. Некоторые технические подробности можно найти тут или в статье коллег из Сбера.

Среди прочего (а прочего много) T5 тренируется так, чтобы выполнять denoising - заполнять удаленные фрагменты текста. Как раз то, что нам надо! Мы считаем, что последние две строки четверостишья содержат такие лакуны:

На ветках малины почки
В бутонах висят.
<extra_id_0> строчки
<extra_id_1> взгляд

Выдача T5 для такого входа будет содержать вариант подстановки для <extra_id_0> и для <extra_id_1>. Нам остается только извлечь эти фрагменты и подставить их.

Разумеется, надо предварительно дообучить ruT5 на корпусе стихов.

(заключительная часть)

Tags: генеративная модель, генерация текста
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 0 comments