Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Привет, Хабр! Сегодня хотели бы поделиться историей разработки сервиса видеоконференций, рассказав о процессе создания продукта и его развитии. Итак, пару лет назад Jazz by Sber позиционировался и развивался как приложение для звонков между пользователями умных устройств Сбера. Довольно быстро он стал одним из основных сервисов для онлайн-общения внутри компании и быстроразвивающимся b2b-продуктом для массового рынка с AI и голосовым управлением.
Под катом рассказываем, как сервис взрослел и развивался, что сыграло решающую роль при выборе пути его развития, плюс какие технические сложности нам пришлось преодолеть для создания качественного продукта.
Иногда лучше один раз увидеть, чем сто раз прочитать, поэтому для начала познакомим вас с сервисом и продемонстрируем процесс организации и проведения видеовстречи в Jazz by Sber.
Jazz by Sber — онлайн-платформа для видеоконференций
Причём тут джаз?
Разработкой Jazz by Sber занимается компания SberDevices, технологическое подразделение Сбера. Название сервиса придумывали всей командой, в него заложены две основные идеи:
Первая – объединение людей для решения конкретной задачи (обсудить рабочие или личные вопросы, просто приятно провести время). Джаз – это музыка, создаваемая разными людьми, которые собираются вместе, чтобы творить. Они творчески проявляют себя и часто импровизируют, создавая что-то новое. Соответственно, эту концепцию мы и решили использовать.
Вторая – равноправие участников. Например, одна из фишек Jazz – это возможность расшаривать экраны одновременно нескольким людям. Организатору встречи не надо допускать участника к показу и контролировать весь процесс, достаточно просто переключаться между окнами. Кстати, эту фичу мы не делали специально, она как раз является результатом «джазовой импровизации». Результат получился неплохим – пользователи стали её использовать и поняли, что это намного удобнее, чем раньше.
Всё больше пользователей
На старте в Jazz by Sber было уже немало интересного: простой запуск по голосовой команде или вручную за пару кликов, неплохое качество связи, лаконичный интерфейс.
По нашей задумке видеозвонки на умных девайсах должны были подарить людям новые ощущения и эмоции. Нашей целевой аудиторией были обычные люди, которые хотят позвонить родным или друзьям без сложной регистрации в сервисе. Например, когда ребёнок включает телевизор не ради мультиков, а просит ассистента: «Салют, набери маме!»
Всё шло хорошо, но вмешался форс-мажор – в феврале 2020 года в нашу размеренную рутину вломилась глобальная пандемия коронавируса. Привычные паттерны общения людей начали стремительно меняться вместе с образом жизни в условиях чрезвычайных обстоятельств. Сервисы для онлайн-общения стали крайне востребованными, пользовательская база многих из них значительно выросла.
Коснулось это и Jazz. Наш продукт полюбился b2b-пользователям, университетам и другим организациям. Эта категория пользователей начала решать в Jazz уже бизнес-задачи. Проведя ряд исследований, мы отметили для себя следующие данные:
далеко не у всех представителей целевой аудитории есть умные устройства;
общая потребность в качественной ВКС (видеоконференцсвязи) начала активно расти;
у бизнеса потребность в сервисе ВКС не меньше, а возможно и больше, чем у частных пользователей.
На рынке были и другие, в том числе отечественные, решения для корпоративной ВКС. Мы их изучили и пришли к выводу, что многие продукты сложны в интеграции в бизнес-процессы. Так, время на развёртывание ряда продуктов в ИТ-инфраструктуре компании составляло от 6 месяцев до года, в то время как связь была нужна заказчикам ещё вчера. Проблем добавлял и сложный интерфейс традиционных систем ВКС, необходимость ставить дополнительное программное обеспечение на свои компьютеры. Тогда бизнесу помог всем известный сервис для онлайн-конференций, который пришёл и сказал: «Вот ссылка, вот встреча, пользуйтесь. Но помните, что через 40 минут ваша бесплатная конференция превратится в тыкву!»
Ситуация дала нам однозначный месседж: бизнесу, как и простым людям, нужно простое и быстрое решение с качественным дизайном и стабильной работой. Бизнес устал от сложных, устаревших, неудобных и «неприятных» ИТ-продуктов, которые ему достаются «по наследству».
Всё это побудило нас поддерживать и дорабатывать именно b2b-версию Jazz. Можно сказать, что с этого момента и началась история сервиса в его современном виде.
Как показала практика, решение сделать фокус на бизнес было своевременным, так как в начале этого года многие иностранные сервисы постепенно стали прекращать работу с российскими партнёрами.
Jazz и ТВ-медиацентр SberBox Top
Выпуск Jazz в современном виде произошёл одновременно с выходом SberBox Top – в мае 2021 года. Сервис и устройство дополняют друг друга.
На SberBox Top видеозвонки были одной из главных фишек, помимо игр, просмотра фильмов и управления умным домом. Из-за фокуса на ВКС-связи в девайсе установили широкоугольную камеру, чтобы в кадр поместились все участники звонка. В ПО камеры добавили функцию отслеживания движений: если человек передвигается по помещению, камера следует за ним (обрезает изображение и приближает лицо). Если же в поле зрения девайса попадает несколько пользователей, в кадре помещаются все. Кроме того, в SberBox Top реализовано распознавание жестов, за эту ресурсоёмкую задачу отвечает отдельный модуль обработки нейросетей NPU в 5 TOPS.
SberBox Top можно закрепить на телевизор (например, в офисной переговорке) или просто поставить девайс на стол. Более подробно о том, как устроен SberBox Top внутри и что особенного в его массиве микрофонов, можно почитать в этой статье.
Карантинные ограничения постепенно смягчались, мы стали возвращаться в офис и практиковать гибридные встречи, когда часть людей находилась в переговорной, а часть дома. Теперь наступило время тестов. Мы поставили SberBox Top в пару переговорных и подключились к Jazz. После анализа откликов сотрудников стало ясно, что это действительно отличный и простой способ организации видеосозвонов для небольших переговорных комнат.
Основные фишки Jazz by Sber и работа над новыми возможностями
Мы постарались сделать действительно удобный и полезный продукт. Вот ключевые особенности сервиса на данный момент.
В бесплатной версии сервиса во встрече могут участвовать до 200 пользователей одновременно.
Ссылки на встречи «вечные», они доступны для повторного подключения даже через несколько недель после конференции.
Подключаться к конференции можно бесшовно с любой из платформ: веб-версии или приложения на компьютере, планшете или смартфоне, через SberPortal и SberBox Top.
В Jazz нет регистрации и необходимости что-то долго настраивать, поэтому вход во встречу происходит за считанные секунды.
Демонстрировать свои экраны могут несколько участников одновременно.
AI-система умного шумоподавления делает хорошо различимой речь в любых условиях, даже если спикер находится в опенспейсе с десятком коллег.
Сейчас мы активно дорабатываем браузерную версию сервиса. Эта функция, как оказалось, очень востребована в образовательных учреждениях. У многих из них есть необходимость встроить функцию звонка к себе на сайт и вести видеоурок или вебинар, одновременно показывая на странице рядом обучающий контент.
К слову, чтобы протестировать Jazz прямо сейчас, не нужно ничего покупать, согласовывать бюджеты и тратить время технических специалистов. Достаточно просто зайти в web-приложение, нажать кнопку, создать ссылку и пользоваться.
Здесь подсветим два момента, особенно важные для бизнеса:
мы – отечественная платформа, российский рынок для нас родной и самый важный, то есть ситуация, когда заказчик останется без связи из-за того, что поставщик внезапно перестал работать с российскими клиентами, в нашем случае невозможна;
в соответствии с законами РФ все данные хранятся на территории России на серверах Сбера, которые регулярно проходят все проверки безопасности с участием команды BI.ZONE.
Сложности – как мы их решали
Сложностей в ходе разработки возникло немало.
Первая задача при работе над Jazz by Sber была связана с поиском разработчиков, имеющих опыт работы именно с ВКС. WebRTC – относительно молодая технология. Точнее, она существует давно, но получила основное развитие именно в пандемию. Мы искали профильных инженеров и разработчиков на стеке WebRTC, детально проверяли их знания и набирали лучших. Сейчас у нас сформирована сильная команда из специалистов с нужными нам знаниями на всех платформах и технологиях – web, backend, машинное обучение, iOS и Android, что позволяет одновременно оптимизировать работу сервиса в браузере, на мобильных устройствах и наших девайсах.
Второй момент – сложность работы с потоковыми данными и обеспечением высокого качества связи. Технологии непросты сами по себе, плюс нужно учитывать специфику, включая как электронику, так и форм-фактор. Мы хотели добиться реальной конкурентоспособности с мощными и дорогими видеотерминалами, существующими на рынке. Для этого выполнена значительная работа. Есть куда расти, но уже сейчас мы довольны качеством связи. Например, мы сравнили наш SberBox Top за 14 990 рублей (*цена на момент публикации материала) и терминал за 600 000 рублей, который был у нас в качестве тестового образца. Честно говоря, при первом взгляде на маленькую 300-граммовую коробочку SberBox Top трудно представить, что она может тягаться с крупными конкурентами. Но она может и ещё как!
Самое интересное началось, когда мы сами начали пользоваться продуктом до его выхода на рынок. Это было по-настоящему больно, потому что все косяки первых версий прототипа ты видишь сам. Где-то что-то не запускается, где-то отваливается связь в самом интересном месте общей встречи, и при этом все коллеги знают, кто ответственный за доработку. Это был интересный опыт, который помог нам сформировать взгляд на продукт со стороны юзера и понимание, на что обратить внимание в первую очередь. Вообще, это наша давняя традиция: сотрудники SberDevices начинают пользоваться своими продуктами задолго до их выхода к пользователям. Сейчас Jazz – основной сервис для связи внутри всего Сбера, и многие фичи, которые появились при работе Jazz внутри банка, затем распространяются и на внешнюю версию.
Лезем под капот: технологии и фичи
Текстовые расшифровки звонков
Для текстовой расшифровки разговора необходимо авторизоваться по Сбер ID на сайте jazz.sber.ru, а затем создать встречу с участниками. Создатель конференции может в любой момент запустить или остановить расшифровку в разделе «Прочее». Текст расшифровки по итогу отображается вместе с сообщениями в чате, что, как нам кажется, удобно, потому что потом не надо перелопачивать чат для поиска важных ссылок или документов, которые скинули коллеги. Чат с транскрибацией можно при желании скачать по окончании встречи.
При внедрении этой фичи мы пошли по следующему пути: сделали MVP с опорой на существующие решения конкурентов, протестировали на аудитории, собрали у неё пожелания, выяснив важные детали. Например, мы думали, что транскрибация будет служить только фиксацией встречи: чтобы просто открыть текст, прочитать и вспомнить договорённости. Оказалось, что это далеко не единственный способ применения технологии. Иногда во время встречи участнику на удалёнке нужно отойти, чтобы решить домашние дела. Например, кто-то позвонил в дверь или ребёнок попросил разогреть ему еду. В этот момент участник может включить распознавание речи, а по возвращении быстро прочитать, о чём говорили, чтобы не терять нить беседы.
В Jazz мы использовали особую модель распознавания речи, аналогичную той, которая работает в нашем бесплатном Telegram-боте (@smartspeech_sber_bot), позволяющем распознавать аудиосообщения. А также очень похожую на ту, которая используется в работе виртуальных ассистентов Салют — как по архитектуре, так и по количеству параметров. Но у этой модели есть и существенное отличие, заключающееся в обучающих данных.
Главной задачей наших моделей, используемых виртуальными ассистентами, является распознавание запроса: команды или вопроса («Салют, включи спокойную музыку», «Джой, сколько сейчас градусов»). Обычно это очень короткие фразы. Кроме того, важная особенность таких моделей — игнорирование фоновых шумов и речи, не обращённой непосредственно к виртуальному ассистенту.
Когда мы попробовали использовать существующие модели для распознавания аудиозаписей видеоконференций (и других длинных текстов), мы не смогли добиться необходимого качества распознавания: записи длинные, а распознавать нужно весь текст, не пропуская ни одного слова, в том числе и фразы, которые отличаются по громкости (они похожи на фоновые).
Для решения этой проблемы мы сначала собрали из различных открытых источников длинные монологи и подкасты, от нескольких десятков секунд до нескольких часов, порезали на короткие куски длиной не более 25 секунд и с помощью краудсорсинга получили для них транскрипции. А также внедрили распознавание фоновой речи.
Основная сложность такого подхода — временные затраты на получение транскрипций. Процесс этот долгий, достаточное количество данных быстро таким образом не собрать. Пришлось прибегнуть к хитрости.
Дело в том, что модель, обученная не пропускать фоновую речь, у нас уже была. Она используется для распознавания телефонных разговоров. Однако для её обучения использовались аудиозаписи со специфическими характеристиками звука. Так, у телефонных записей частота дискретизации составляет 8 кГц, а для голосовых сообщений мы взяли за основу 16 кГц.
Соответственно, без доработки использовать её было нельзя. Тем не менее при помощи этой модели нам удалось расширить обучающую выборку. Мы взяли короткие куски монологов, для которых у нас ещё не было транскрипций, понизили их частоту до 8 кГц и сделали псевдоразметку: распознали записи с помощью модели для телефонии. Потом привязали полученные транскрипции к исходному звуку с качеством 16 кГц.
Кроме того, для формирования обучающей выборки мы использовали полученные ранее аудиозаписи с транскрипциями, на которых обучалась модель телефонии, повысив частоту дискретизации.
Таким образом, нам удалось значительно расширить обучающую выборку, перестать игнорировать фоновую речь и, как следствие, улучшить качество распознавания не только для Jazz, но и для других сервисов, где необходимо распознавать всю услышанную речь.
Непосредственно же распознавание речи работает на технологии SmartSpeech. Для ВКС очень важна скорость работы. SmartSpeech – одно из самых быстрых решений на рынке по этому параметру. Например, 90-минутную речь система распознаёт примерно за минуту, а параллельное распознавание во время говорения осуществляется практически мгновенно.
Если у вас есть вопросы, задавайте их в комментариях. Кроме того, интересно узнать, пользуетесь ли вы продуктом, и если да, то какие у вас впечатления от работы с ним?
Каким решением для ВКС вы пользуетесь?