Искусственный интеллект может решать серьезные проблемы в медицине и промышленности, а может организовать вам беседу с любимым книжным персонажем из детства. Предел использования технологии — только наша креативность. Проявить ее, проверить свои навыки и создать проект для крупного издательства смогли студенты Skillfactory на совместном хакатоне с «Эксмо-АСТ».
Задача на хакатон
В 2023 году исполнилось 115 лет со дня рождения писателя Николая Носова и 70 лет с первой публикации его книги «Приключения Незнайки и его друзей». Издательская группа «Эксмо-АСТ» посвятила часть своей экспозиции на выставке Non-Fiction юбилею Носова, а для создания интерактивного стенда организовала совместный хакатон со Skillfactory.
Участникам было нужно создать виртуального Незнайку, который бы отвечал на вопросы посетителей стенда. Студенты разрабатывали интерактивное приложение, которое распознает речь человека, генерирует и озвучивает ответ в стиле Незнайки.
Свои решения показали три команды из дизайнеров, разработчиков и дата-сайентистов. Жюри выбрали команду-победителя, проект которой развернули на выставке Non-Fiction.
Как разрабатывали проект победители
Разумеется, разработка началась с перечитывания книг Носова. В иллюстрированных изданиях дизайнеры искали вдохновение для визуала, а разработчики и дата-сайентисты изучали манеру речи Незнайки и информацию о нем.
Команда разработала приложение за два месяца. Первые две недели студенты готовили черновик проекта для согласования с заказчиком: дизайнеры придумали общий вид приложения, дата-сайентисты спроектировали, что приложение будет состоять из моделей распознавания речи, генерации текстового ответа и создания речи.
Участники почти каждый день общались в чатах в Telegram, созванивались разными составами. Раз в неделю проходили онлайн-встречи с менторами. Задачи распределяли в трекере Asana.
Чтобы выбрать оптимальные модели машинного обучения, участники пересмотрели много вариантов. Для распознавания речи в итоге выбрали Faster Whisper, она показывала наиболее достойные результаты на тестах. Много времени ушло на то, чтобы научить существующие русскоязычные модели говорить в стиле Незнайки. Студенты создали большой датасет формата «вопрос-ответ».
Пример: «Незнайка, чего ты больше всего боишься? — Ой, я ужасно боюсь касторки! Только не говорите Пилюлькину!»
Среди вопросов для тестов модели были как нейтральные («Как приготовить хачапури?»), так и провокационные. Незнайка должен был не только отвечать весело и в своем индивидуальном стиле, но и уходить от вопросов на недетские темы. Разработчики научили его говорить: «Я слишком маленький для таких тем!».
Когда модели достаточно натренировались, пришло время совместить дизайн с искусственным интеллектом. Этим занялись бэкенд-разработчики.
Незнайка на Non-Fiction
Пожалуй, самый волнительный экспириенс для команды — это презентовать свое решение на реальном мероприятии. На выставке Non-Fiction, как и на любом массовом мероприятии, были проблемы с интернетом. Чтобы приложение работало корректно, нужно было локальное решение.
По совету DevOps-специалиста разработчики решили контейнизировать приложение и развернуть на локальном оборудовании издательства на выставке.
Остроумные ответы и интуитивный интерфейс «Спроси Незнайку» привлекли к стенду посетителей выставки. Пожалуй, главный итог — детям понравилось!