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

Category:

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

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

Два слова считаем рифмуемыми, если в них ударение падает на один и тот же слог, отсчитываемый с конца, а также если ударный и последующие слоги произносятся похоже.

Первая проверка выполняется с помощью акцентуатора. Он предсказывает позицию ударения в произвольных словах, используя как словарь для частотных слов, так и ML-модель для всяких oov.

Вторая проверка включает в себя переход от символьного представления к фонетическому, и выполняется с привлечением транскриптора (его старший брат доступен тут).

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

На выходе этой части кода получается, вообще говоря, много вариантов рифм. Если бы оборудование позволяло, можно было бы взять top 100 пар и дальше сгенерировать стихи, чтобы потом отранжировать их по качеству. Но пока просто берем самую достоверную пару слов. На приведенной диаграмме это "строчки" и "взгляд".


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

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 4 comments