Image

Детский значит безопасный. О новом помощнике для детей в колонках Sber

13ca61099ab783626bc3cf0b5a6ddb20

Салют, Хабр!

А мы кота завели. Для детей. В интеллектуальных колонках Sber появился новый помощник СберКот, который ранее обитал внутри детского банковского приложения СберKids. Умный помощник знает ответы на детские «почему» и говорит с детьми на одном языке. Он появится, если сказать колонке:

— Салют, позови СберКота!

В этой статье рассказываем, как выстроили многоуровневую систему безопасности, синтезировали голос СберКота и обучили колонку понимать особенности детской речи.

Как сделать общение с колонкой безопасным и интересным

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

Нашей задачей было полностью отсечь ребёнка от sensitive-тем и запросов, которые подпадают под ограничение 18+, а для этого — выстроить многоплановую систему, которая обеспечит безопасность помощника для детей. Это так называемый GigaFilter — каскад фильтров, которые отсекают все небезопасные запросы и ответы. Сейчас схема обработки запроса выглядит примерно так:

b87128c56f9a8fd7b83f4a9ca6885428

Рассказываем о фильтрах, которые составляют GigaFilter, подробнее.

Блэклист  

Это список заблокированных запросов, на которые колонка не должна отвечать. В него входят, например:  

  • мат и ругательства;

  • названия алкогольных напитков, табачных изделий и наркотических веществ, в том числе жаргонные и научные;

  • сексуальные темы и всё, что с ними связано;

  • названия опасных веб-ресурсов для детей;

  • азартные игры.

Последний запрос маленького пользователя в рамках сессии мэтчится с блэклистом с помощью регулярных выражений. Если запрос не прошёл блэклист, то СберКот озвучит ребёнку один из ответов-«заглушек» — например, «Я совсем не хочу говорить на эту тему». Фильтрацию по тому же блэклисту проходит и ответ модели.

Блэклисты регулярно пополняются. Вместе с тем необходимо, чтобы все навыки колонки продолжали работать. Поэтому перед тем, как добавить в блэклист новую регулярку, команда оценивает на потоке количество запросов, которые она потенциально заблокирует. Все замеченные конфликты между «опасным» запросом и вполне безопасным навыком решаем с помощью грамматик — добавляем их в классификатор на грамматиках, который входит в часть перед GigaNLP — Intent Recognizer. По сути грамматики позволяют точечно перенаправлять запросы. Так, запрос пользователя «поставь песню поставь лайк» благодаря грамматикам уйдёт в навык музыки, а не в GNLP.

Нейрофильтр  

Ещё одна часть GigaFilter — нейросетевой контекстный фильтр. Он с учётом предыдущего диалога проставляет запросу скор и сравнивает его с пороговым значением, которое подобрано аналитическим путём с помощью прогонов через модель двух датасетов. Первый — датасет для измерения false-positive rate, FPR. Он содержит абсолютно невинные запросы к колонкам, схожие с «опасными», и должен показать, не блокирует ли помощник вопрос необоснованно. Второй — детская валидационная корзина с «опасными» запросами. По сути пороговое значение представляет собой сбалансированный показатель, при котором блокируется максимум «плохих» запросов и не блокируется максимум «хороших».

Если скор выше порогового значения, запрос блокируется, а ребёнку умная колонка озвучивает реплику-«заглушку». Когда скор ниже, запрос отправляется к GigaChat.

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

Интересный факт: кроме каскада фильтров, у помощника для детей есть ещё один уровень защиты — сама модель. СберКот способен уклоняться от рискованных запросов. Дело в том, что в SFT для дообучения модели содержались не только обычные вопросы и ответы, но и пары «опасный запрос — безопасный ответ» + «похожий на опасный запрос — безопасный ответ». Соответственно, СберКот охраняет способность быть безопасным даже без оглядки на многоуровневую систему. Он не только увернётся от ответа, но и умело переведёт разговор на другую тему.

Когда появляется новая версия SFT, после переобучения моделей мы перед каждым релизом вновь убеждаемся в безопасности СберКота для детей: прогоняем детские валидационные корзины через модель, размечаем ответы и отправляем валидаторам, которые подтверждают, что всё ОК. 

Фрагмент детской валидационной корзины
Фрагмент детской валидационной корзины
Фрагмент детской валидационной корзины (2)
Фрагмент детской валидационной корзины (2)

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

По запросу продуктовой команды в датасете появились ответы по конкретным тематикам: безопасность, эмпатия и эмоциональная поддержка, проактивность, понятность ответов, игровые механики. С помощью сервиса для разметки данных TagMe мы собрали и разметили новые диалоги, затем провели их валидацию. Дополнительно команда прогнала новые диалоги через другую модель со специальным промптом для подтверждения, что все ответы соответствуют как требованиям к ответам СберКота, так и самому его промпту. Например, промпт задаёт проактивность помощника для детей — он не только отвечает на вопросы, но и спрашивает сам, поддерживая диалог. Мы подготовили соответствующие диалоги, но при вычитке заметили, что иногда в конце ответа модель задаёт сразу два-три вопроса. Это неудачное решение — ребёнок может растеряться. Поэтому многочисленные вопросы в конце ответов заменили на один. Кроме того, в датасет вошли характерные словечки персонажа и корзины популярных диалогов по конкретным темам. 

Как научить колонку говорить и слышать

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

В целом задача синтеза речи далеко не нова для команды. Ранее мы использовали q-Tacotron — усовершенствованную нами архитектуру нейросети Tacotron. Мы улучшили её с разных сторон: усовершенствовали архитектуру, данные, добавили ML-фишечки и оптимизации — контроль скорости, громкости ключевых слов, интонаций и так далее. Затем применили наши наработки к новой end-to-end архитектуре VITS — получился наш qVits, который с нами уже три года. А совсем скоро покажем кое-что совершенно новое.

Для голоса СберКота необходим был совсем небольшой датасет — благодаря возможностям мультиспикерной модели это не снижает качество и естественность голоса, а даже наоборот. В общей сложности диктор записал несколько часов материала: базовые фразы, которые подобрали под специфику персонажа, кое-что из детской энциклопедии, даже фрагмент из «Дживса и Вустера», эмоциональные и яркие реплики. Процесс записи контролировал войс-коуч (как и рассказывали в статье о q-Tacotron).

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

 <speak><voice mode=»sad»>наушники потерялись</voice><voice mode=»annoyed»>да где же они</voice><voice mode=»happy»>нашла</voice></speak>

На тестировании выяснилось, что наши основные пользователи — дети — иногда чуть не успевают за речью СберКота, поэтому её дополнительно замедлили. Чтобы подкрепить гипотезу цифрами, измерили так называемую метрику Side-By-Side, сравнив два варианта голоса. Набор текстов озвучили обоими голосами, затем участники сравнения выбрали варианты, которые им больше нравятся. Оказалось, что замедленный голос действительно воспринимается чуть лучше.

Общение ребёнка с колонкой — это диалог. Поэтому параллельно с задачей голоса СберКота мы совершенствовали уже действующее в умных колонках распознавание детского голоса. Дело в том, что в среднем помощник рассчитан на детей до 12 лет. Их речи свойственна определённая специфика. Например:

  • Голосовые связки короче, чем у взрослых, поэтому выше частота основного тона: у детей она колеблется в диапазоне от 250 до 400 Гц, у подростков — от 120 до 150 Гц (для сравнения, у мужчин — 85-150 Гц, у женщин — 180-250 Гц).

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

  • Резонансные частоты детского голоса также расположены выше, чем у взрослых. Это влияет на акустическое сходство разных фонем и затрудняет различение гласных. 

  • У детей чаще встречаются особенности речи — картавость, шепелявость, замена звуков, непривычно медленный или быстрый темп речи.

Модель для распознавания детской речи обучена методом supervised learning. К уже имевшимся в обучении данным детских голосов мы дополнительно собрали несколько тысяч часов данных, также использовали аугментации для лучшего обобщения модели во время обучения. Часть разметили на TagMe, для какой-то сделали псевдоразметку. Чтобы оценить качество модели при обучении, использовали метрику WER — word error rate, или доля неправильно распознанных слов. Модель срабатывает, как только аудиосигнал после споттерного слова начинает передаваться в сервер для его обработки. Распознавание детского голоса — одна из важнейших фич умной колонки. 

К четырём споттерным словам умной колонки Sber прибавилось пятое — СберКот. Оно, как и остальные, работает по принципу классификатора: по аудио «бежит» окошко для предсказания, содержит ли речь споттерное слово или нет. 

Для обучения модели в любых условиях распознавать слово «СберКот» нам вновь потребовалось множество записей для данных. Эти данные собраны из двух источников:

  • студия с умными устройствами Sber, где взрослые и дети наговаривают слова. Для датасета мы не только контролируем фразы, но и варьируем внешние условия плюс особенности произношения — записываем в тишине, с внешним шумом, при играющей музыку колонке, быстро, слитно… Как уже упоминалось, дети — сложный домен для обработки речи, особенно маленькие. Например, они зачастую говорят «Сбейкот». 

  • внутренняя бета-группа наших сотрудников. Здесь тоже участвуют и взрослые, и дети — ведь взрослые могут тоже активировать СберКота.

Данные размечаем на нашей внутренней платформе TagMe и получаем лейблы с временными метками по границам хотворда (споттерного слова). Их разбивают на несколько корзинок — для обучения, валидации и замера метрик. На выходе модель способна оценить вероятность произнесения споттерного слова; если она превышает определённый порог, СберКот активируется. 

В целом распознавание всегда балансирует между двумя метриками: FRR (false rejection rate) показывает, для скольки случаев умная колонка не активировалась, хотя споттерное слово произнесли, а FA/h (false activation per hour) — количество ложных срабатываний. Обе метрики зависимы друг от друга, и этот баланс выработан годами.

А что ещё?

Чтобы добавить в умные колонки Sber помощника для ребёнка, потребовалось много времени и сил — это большой кросс-функциональный проект с множеством команд. Вместе с тем работа над совершенствованием колонок для детей не ограничилась появлением СберКота. Например, команда навыков музыки на колонке сделала доработку по распознаванию детского голоса: если включить соответствующий тоггл в приложении, колонка не будет включать expicit-треки по запросу ребёнка (даже если на колонке не включён СберКот).  

Мы видим будущее в помощниках для детей (в том числе с опорой на собственный опыт родительства). Родители не всегда могут обеспечить ребёнку внимание 24/7 и понятные ответы на все «Почему?». Тут и поможет умная колонка с AI — креативный и проактивный компаньон.

В подготовке статьи участвовали

Ксения Вороная, Андрей Евлампиев, Олег Горбунов, Антон Воробьев, Павел Мольков, Григорий Стерлинг, Дмитрий Болотов, Александра Сендерович, Анна Зуева, Михаил Голобоков

Источник: habr.com

✅ Найденные теги: Детский, новости

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Молот перед логотипом технологической компании с цветными квадратами.
Четыре символа: золото, стилизованная эмблема, каменное кольцо и змей, кусающий свой хвост.
Человек играет на скрипке на улице перед кирпичной стеной.
Протест против дата-центров, плакаты: "Вы не можете пить данные", "Вода — это жизнь".
dummy-img
Силуэт лица с диаграммой связи на голове, символизирующий думы и идеи.
ideipro logotyp
Руки режут свежий хлеб на деревянной доске.
Женщина с красными волосами смотрит через металлическую сферу на фоне кирпичной стены.
Image Not Found
Молот перед логотипом технологической компании с цветными квадратами.

Microsoft заблокировала слово «Микрослоп» на своём Discord-сервере и ввела ограничения

Изображение, созданное нейросетью Похоже, Microsoft не очень нравится, когда её инвестиции в искусственный интеллект и активное использование нейросетей называют «слопом» — это стало понятно из-за одного запрета, введённого в официальном Discord-сервере сервиса Copilot. Участники указанного сервера обратили…

Мар 5, 2026
Четыре символа: золото, стилизованная эмблема, каменное кольцо и змей, кусающий свой хвост.

Есть здесь люди, которые искренне считают, что установив макс, они увеличили суверенитет страны?

«В виртуальных дискуссиях уже давно затрагивают тему мессенджера MAX, представляя его как просто еще одну платформу для коммуникации. Однако, как нам кажется, мало кто уделил должное внимание его корням, уровню безопасности и непонятным причинам, по которым он…

Мар 5, 2026
dummy-img

Спрос на хранилища для ИИ привёл к 24% росту прибыли производителей памяти NAND

Умные люди из аналитического агентства TrendForce провели анализ текущей ситуации производителей микросхем памяти NAND и пришли к выводу, что за последний квартал 2025 года их выручка прилично увеличилась, а показатели некоторых компаний прилично выделяются на фоне остальных.…

Мар 5, 2026
ideipro logotyp

Bitget Wallet интегрирует DT One для пополнения мобильной связи в более чем 170 странах

Bitget Wallet, приложение для повседневных финансов, объявил о партнерстве с DT One, которое позволит осуществлять пополнение мобильной связи напрямую внутри кошелька с использованием стейблкоинов, связывая ончейн-балансы с повседневными телеком-сервисами. Благодаря инфраструктуре DT One пользователи Bitget Wallet получают…

Мар 5, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых