Найти тему
Сириус.Курсы

Как создать ассистента с эмоциональным интеллектом? Опыт школьника из Балашихи

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

Участник команды Илья Гринюк рассказал, кому нужен ассистент, записывающий аудиосообщения, и почему с моделью не получится поговорить на откровенные темы.

Три персонажа

— Илья, какую задачу перед вашей командой поставил Тинькофф?

Нам нужно было разработать голосового помощника, который мог бы не просто поговорить с человеком, но и понять его эмоции, поддержать в трудную минуту. В своей работе мы ориентировались на школьников и студентов 12–18 лет, которые не любят обращаться к родителям за советом.

Кроме того, с нашим помощником можно общаться не только текстовыми, но и голосовыми сообщениями.

— Вы брали уже готовое решение или разрабатывали своё?

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

Мы также не нашли готовые модели, которые могли бы понимать эмоции собеседника по текстовым и голосовым сообщениям. По отдельности способности ИИ ограничены. Ассистенты, анализирующие только текст, не всегда могут распознать сарказм или различные шутки человека. Модели, работающие с аудио, оценивают только интонацию собеседника и не понимают контекст сообщения.

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

-2

— Не со всеми голосовыми помощниками можно выстроить увлекательный диалог. Что делает вашего ассистента интересным собеседником?

Во-первых, человек может не набирать текст, а записать голосовое сообщение и получить такое же в ответ. На подсознательном уровне это уже воспринимается как осмысленный диалог. Во-вторых, для общения можно выбрать одного из трёх персонажей:у каждого свой характер, манера выражения мыслей и философия. Это привносит разнообразие в диалог.

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

Грустный анекдот

— Чем конкретно вы занимались во время работы над проектом?

Я разрабатывал модуль распознавания эмоций и проводил исследование моделей распознавания текста, чтобы выбрать и использовать в проекте самую подходящую. Плюс я был тимлидом и контролировал работу других участников.

-3

— Какой этап работы в вашем проекте был самым сложным технически?

Труднее всего было объединить все модули бота в одно решение, чтобы оно работало стабильно и без ошибок. На эту задачу мы отвели почти неделю.

Была ещё одна сложность: используемые нами языковые модели обучались на очень большом объёме данных и, соответственно, знали много того, о чём несовершеннолетним говорить пока не следует. Нам нужно было максимально обезопасить продукт, чтобы у школьника не получилось внезапно вывести модель на откровенные разговоры.

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

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

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

— Почему вы решили принять участие в очной программе «Сириуса» в этом году?

Мне очень понравилось работать над другим проектом в 2022-м, на аналогичной программе. Я извлёк оттуда просто колоссальный опыт. На сменах школьники работают над задачами, которые редко встретишь в обычной жизни. Ценно и то, что ты прокачиваешь не только hard, но и soft skills, учишься работать в команде.

-4

— Вы планируете связать своё обучение и профессиональную деятельность с областью ИИ-разработок?

Да, это пока единственное направление в разработке и программировании, которое мне интересно. Творческая работа воодушевляет. Мне нравится обучать компьютер тому же, что умеет человек: распознавать эмоции, понимать картинки и текст. Пока я не определился, в какой конкретно области буду развиваться, раздумываю о компьютерном зрении или обработке естественного языка.

— Что вы можете пожелать школьникам, которые будут участвовать в очных программах в будущем?

Желаю получить огромный опыт и проявить себя не только в разработке, но и в работе в команде. Не бойтесь провалов: наставники всегда помогут и приведут вас к заветной цели.

Читайте о другом проекте школьников на очной программе «Сириуса»