ИИ рассказывает сказки: чем дальше, тем страшнее

Искусственный интеллект сейчас — и швец, и жнец, и на инструментах игрец. Шутка, конечно. Но действительно, инструментов на базе этого самого интеллекта становится всё больше и больше. И мы в нашей компании Nasledie.Digital — платформе для сохранении семейной памяти и передачи её следующим поколениям — подумали: а почему бы не научить этот интеллект сказки рассказывать? И разработали сервис с совершенно прямолинейным названием «Сказочник». О том, как этот сервис появился, на чём мы тренировали нейросеть и причём здесь птицы Гамаюн и Алконост, расскажет Мария Овчинникова — руководитель этого проекта в нашем стартапе.

GPT и Кракозябра

Я — менеджер проекта, отвечаю за процесс совершенствования Сказочника, за реализацию всех его функций, за то, чтобы Сказочник работал корректно. И, разумеется, за то, чтобы он приносил нам лиды. Пришла я в проект в январе 2024 года, в тот момент, когда Сказочник уже существовал, но в довольно зачаточном состоянии.

Для создания сказок мы используем нейросеть. На этапе разработки мы выбрали ChatGPT — как самый оптимальный с точки зрения наших задач. Тем более, что GPT 3.5 — бесплатный, и для первичной разработки это было удобнее всего.

Сейчас у нас есть отдельный человек, который собирает нужные нам датасеты и учит сеть отдавать нам корректные изображения. Здесь приходится работать довольно-таки ювелирно: GPT неважно работает с русскими сказками и персонажами, они ему не знакомы. Поэтому на какой-нибудь Кракозябре или Коньке-Горбунке он теряется и приходится поэтапно учить его их созданию.

Сейчас генерация происходит в основном в поле изображений. Датасеты по текстам мы начинаем формировать сейчас, на основе открытых источников. Сказки нужно подбирать не только по общей популярности — скажем, «Русалочку» и «Алису в стране чудес» любят многие — но и под каждый возраст.

Русалочка с семью хвостами
Русалочка с семью хвостами

Книжки с картинками

Самая большая сложность — это генерация «составных» персонажей, которые состоят из частей разных существ. Например, в той же «Русалочке» главная героиня должна быть то с ногами, то с хвостом. В результате порой получаются то двухвостые русалочки, то одноногие. Приходится методично объяснять нейросети, что Русалочка — это вот такой персонаж, то с одним хвостом, то с двумя ногами.

Это, на самом деле, очень любопытная текстовая задача. Мы понимаем, что такое Конёк-Горбунок, на уровне образа. А для нейросети нужно составить описание, что это небольшой конь, похожий на осла с длинными ушами, с двумя горбами, серого цвета, в яблоках, с длинным хвостом. Стоп, в каких яблоках? Про яблоки говорить не нужно. В пятнах, конечно.

ИИ рассказывает сказки: чем дальше, тем страшнее

Пропп и другие Фрезеры

Сказки — это не только детские поучительные или волшебные истории. Мы прекрасно понимаем, что сказки выросли из мифов и изначально скорее описывали окружающий мир, в котором ребёнку предстояло жить.

Все мы знаем сказки братьев Гримм — однако их первое издание публика сочла как непригодные для детского чтения. Например, при следующих изданиях сказок была вырезана сцена, где Рапунцель спрашивает у своей приёмной мамы-волшебницы, почему у неё округлился живот. Почему же он округлился? Потому что тайные встречи с принцем порой приводят к такому эффекту.

Кстати, это Кракозябра по версии нейросети.
Кстати, это Кракозябра по версии нейросети.

Или взять тех же сестёр Золушки. В детском варианте — как и во всех экранизациях — злобные сёстры главной героини всеми силами пытаются влезть в туфельку. В оригинале они занимаются тем же самым, но более радикально: одна отрезает себе палец, вторая — пятку.

Все эти оригинальные сказки и мифы собраны в исследованиях, которые описывают и анализируют волшебные сказки и мифы. Это и знаменитые «Исторические корни волшебной сказки» Владимира Проппа, и «Золотая ветвь» Джеймса Фрезера, и «Тысячеликий герой» Джозефа Кэмпбелла.

Наша нейросеть тренируется и на них. Разумеется, это не значит, что она рассказывает дикие истории из первобытного прошлого человечества — всё-таки у неё есть фильтр по возрасту предполагаемого слушателя. Но при желании «Сказочник» может создать сказку и про монстров подкроватных, и про богов греческих и не только.

Зачем нам сказочник?

Сказочник — это не отдельный продукт, и даже не главный в нашей системе: основным направлением является, разумеется, создание капсул времени. Капсула сама по себе многосоставная: там есть и родословное древо, и истории, и галерея фотографий. А Сказочник — это своего рода конверсионная подушка, развлекательный контент, который должен работать как мостик, ведущий на основной портал.

Когда человек общается со Сказочником, он создаёт свою временную капсулу. Через 48 часов она исчезнет, если он дальше не захочет знакомиться с продуктом. Однако если он зарегистрирует постоянную капсулу, мы уже сможем предлагать ему какие-то вещи, которые могут быть ему полезными — например, создание родословного древа или каталогизацию семейных фотоснимков. Тем более, что Сказочник — продукт совсем не только для детей: им могут пользоваться и взрослые.

ИИ рассказывает сказки: чем дальше, тем страшнее

Стоит только придумать фабулу! Это может быть «мальчик Миша 5 лет решил отправиться через тёмный лес» или «девочка Маша шла по улице и встретила динозавра». Или «Костенька, мальчик 45 лет, пришёл на работу и понял, что мечтает о путешествиях». Кстати, по последнему запросу Сказочник выдал довольно-таки трогательную завязку истории: «Костенька уже долгое время мечтал о путешествиях. Он был необычным мальчиком, которому на вид давали не больше двенадцати, хотя ему уже исполнилось сорок пять».

По моему опыту — что делает проект виральным? Это соцсети, где людям становится интересно, а какую сказку может прочитать ему искусственный интеллект? Это и любопытство, и подспудное ощущение некоторого превосходства над машиной — ну-ка, попробуй, удиви меня! Раньше у нас была большая аудитория на YouTube, сейчас с ней происходят очевидные перемены, поэтому пока мы сконцентрировались на VK.

В самом начале моей работы Сказочник был очень молчалив: пользователь задавал ему интересующие установки, после чего на экране ничего не происходило, и пользователь задумчиво уходил — кто его знает, идёт сейчас работа или нет, или всё сломалось, или он неверно ввёл данные? Сейчас есть визуально понятный процесс, показывающий всеми любимые проценты загрузки материала.

Сирин и Алконост

Мой любимый персонаж из моей истории работы со Сказочником — это многохвостая русалка. Мы с нашим разработчиком никак не могли её победить. Мы всеми способами писали промты, описывали её с одним, и только одним, и исключительно одним хвостом. Но нет, нейросеть упорно рисовала её семихвосткой.

А лично моя любимая сказка — про птиц Сирин и Алконост, которые несут людям что-то радостное или что-то печальное. Они очень любопытны с точки зрения мифологии. А есть ещё и птица Гамаюн — попросту птица вещая. Надеюсь, нашему Сказочнику однажды удастся создать интересную историю про этих птиц.

Это птица Алконост, по мнению той же нейросети.
Это птица Алконост, по мнению той же нейросети.

Сирин и Алконост всегда ходят парой, и наша работа со Сказочником в какой-то степени такая же. Мы никогда не знаем при закидывании каких-то историй в Сказочника, что он нам выдаст в итоге. Это волшебная история: говоришь — расскажи мне сказку, а он каждый раз показывает разный результат.

Мы будем очень рады, если вы пообщаетесь со Сказочником и расскажете о своих впечатлениях в комментариях! Да, и о негативных тоже — нам интересен другой взгляд на наш продукт :)

22
Начать дискуссию