Извини, что голосом: как развивалось распознавание речи ВКонтакте
С миллионами часов голосовых и звуком «ъ».
Привет! На связи команда прикладных исследований ВКонтакте. Недавно мы открыли доступ для сторонних разработчиков к ASR — технологии распознавания речи, которая считывает голос и переводит его в текст. Как это работает, для чего нужно и почему мы решили поделиться нашими наработками с миром? Рассказываем обо всём по порядку.
Что такое ASR
ASR, или automatic speech recognition, — это технология, которая помогает переводить устную речь в текст. После этого с текстом можно делать почти что угодно: передавать в поиск или переводить в голосовые команды для техники, использовать для управления в играх и сервисах. Чаще всего ASR используют в голосовых помощниках, умных устройствах, для расшифровки аудио и видео. Но области применения ограничены только фантазией разработчиков и исследователей — мы увидим ещё немало крутых кейсов.
Идея переводить голос в текст появилась очень давно, однако с практикой был статус «всё сложно». Как итог, технология ASR начала становиться массовой только несколько лет назад. Тогда мы и начали исследовать, как использовать распознавание речи в продуктах: в первую очередь в расшифровке голосовых сообщений, которую мы запустили два года назад.
С чего начиналась технология ASR ВКонтакте
Почему мы начали с распознавания голосовых? Всё просто — так мы примирили два лагеря: тех, кому дует, и тех, кому душно. Прочитать текстовое сообщение — быстрее, чем послушать голосовое. По тексту проще найти, у какого именно выхода из метро вы назначили встречу, так легче воспринимать числа, адреса и номера телефонов. Но записывать голосовые бывает удобнее, чем печатать, — особенно когда едешь за рулём, моешь посуду или появилась минутка между рабочими встречами.
Расшифровка голосовых — что внутри
Чтобы всё работало, мы используем наши собственные технологии и щепотку волшебства. После того как пользователь записывает аудио, оно попадает на сервер. Там запись обрабатывают три нейросети.
- Акустическая модель отвечает за распознавание звуков. Она поймёт вас, даже если вы пытаетесь найтись с другом в шумном баре или среди гула на футбольном матче.
- Языковая модель формирует из звуков слова. Здесь происходит магия вне Хогвартса: набор звуков превращается в текст на экране.
- Пунктуационная модель определяет границы предложения, расставляет знаки препинания и заглавные буквы. Это нужно, чтобы на выходе получился связный логичный текст.
Что касается датасетов, то здесь мы всё тоже делали сами. Вот как мы собирали данные для обучения модели.
- Разработали модель, которая генерировала тексты. Мы создавали специальные тексты, которые зачитывали наши тестеры. Среди них были специально сгенерированные нейронкой выражения и комментарии из публичных постов в сообществах — это тоже разговорная речь, где есть место и «кринжовым мемам», и нецензурным выражениям. Благодаря модели подготовили короткие тексты — длиной от 3 до 30 слов.
- Попросили бета-тестировщиков из рядов VK Testers надиктовать эти тексты в голосовых. Ребята говорили как обычно и записывали голосовые в разных условиях: выходили к шумным дорогам, включали воду. А иногда мы искусственно добавляли шум к аудио — чтобы данные для обучения были максимально близки к жизни.
Сперва можно было расшифровывать только голосовые не дольше 30 секунд. Но потом мы пошли дальше, и сейчас в текст можно переводить записи до 2 часов. Это все голосовые, которыми пользователи делятся друг с другом. Хотя ситуации бывают разными: иногда забываешь заблокировать телефон, прежде чем положить его в карман, — и друзья получают голосовые с тремя часами АСМР-шуршания.
Что говорят пользователи
Можно долго рассказывать о наших технологиях, но намного важнее — что говорят о них пользователи. А многие из них оказались довольны расшифровкой: фича спасает тех, кто не любит слушать голосовые. Пользователи отмечают, что текст распознаётся чётко — даже с учётом пунктуации. И что инструмент доступен бесплатно в отличие от других подобных решений на рынке.
Конечно, распознавание не может быть абсолютно точным — ни одна нейросеть не создаст расшифровку, корректную на 100% (к слову, это не под силу и человеку). Забавные ошибки случаются и у нас, это рождает шутки и мемы. Например, ВКонтакте есть целое сообщество, подписчики которого делятся друг с другом забавными результатами расшифровки голосовых.
Ещё оказалось, что ошибочные расшифровки можно использовать как механику для конкурсов. Такая идея пришла организаторам онлайн-игр по вселенной Гарри Поттера: в голосовых звучал рассказ от лица Джинни Уизли, Полумны Лавгуд и Невилла Долгопупса. По распознанному тексту нужно было отгадать, где находились персонажи.
Для особо внимательных мы приберегли пасхалки — например, распознавание звука «ъ». Мы умеем и такое! Фича быстро приобрела фанатов и запустила челлендж: пользователи снимали, как пытаются произнести твёрдый знак так, чтобы он попал в расшифровку. Некоторые из таких видео собрали миллионы просмотров.
Кстати, у нас есть ещё пара идей для челленджей. Попробуйте пораспознавать разные виды смеха — сможете отличить «ихихих» от «ахахаха»? Ещё можно посмотреть, как расшифруются ваши фырканья и кряхтения — то есть обычные звуки, которые издаёт офисный сотрудник после долгого рабочего дня. И, наконец, квест для самых продвинутых — повторить ЪУЪ из того самого мема. Mission impossible. Или нет?
ASR в других наших продуктах
Когда мы поняли, что распознавание голосовых оправдало ожидания (наши и пользователей), решили двигаться дальше и начать внедрять ASR в другие продукты. Так на платформе VK Видео появились автоматические субтитры. Они помогают смотреть видео без звука — это удобно, когда хочется отвлечься во время рабочего перерыва и не мешать коллегам. Или когда наушники далеко — например, по пути домой в метро.
Для автоматических субтитров мы взяли лучшее, что было в ASR: применили подход, похожий на тот, что использовали в голосовых. Но внесли несколько изменений.
• Обучили нейтральную языковую модель — потому что лексика в видео сильно отличается от того, как общаются пользователи в чатах. В итоге мы научились работать не только с разговорной речью, но и с литературной.
• Специально для видео разработали ещё одну модель. Она распределяет текст по кадрам, чтобы субтитры появлялись точно в момент, когда спикер произносит фразу.
Сейчас мы активно работаем над диаризацией — это когда речь разделяется на реплики. Так фразы разных спикеров в расшифровке будут самостоятельными, даже если собеседники общаются без заметных пауз.
И автосубтитры, и распознавание голосовых сообщений работают на основе модели шумоподавления. Мы используем её в VK Звонках, чтобы важному конфколу не помешали соседи с дрелью или громкие беседы рядом с переговоркой.
Также мы используем распознавание речи в роликах, чтобы формировать умные рекомендации. С помощью ASR алгоритмы лучше понимают, про что видео и у кого оно вызовет интерес.
Открываем доступ к ASR
Если технология успешно работает в наших продуктах, почему бы ею не поделиться? Ведь чем больше проектов с распознаванием речи будет на рынке, тем окажется лучше для всех его участников: повысится качество решений, появятся новые нестандартные идеи. Так подумали мы — и открыли доступ к ASR для сторонних разработчиков.
Для распознавания можно выбрать одну из двух моделей.
- Нейтральная модель подходит для разборчивой речи, как в интервью или телешоу, — её мы используем для субтитров.
- Спонтанная модель лучше распознаёт речь со сленгом и ненормативной лексикой — как у нас в голосовых.
Мы ориентировались в первую очередь на независимых разработчиков, которые находятся в начале своего пути. Решение подойдёт для перспективных стартапов, личных pet-проектов, сервисов платформы VK Mini Apps, обучения и саморазвития. Если вы создаёте свою инди-игру, можете внедрить голосовое управление — такое встречается нечасто, поэтому вызовет интерес у аудитории. Возможно, вы захотите вывести на рынок новый сервис для расшифровки интервью и лекций. Или даже сделать бота для бесплатной расшифровки голосовых в каком-нибудь мессенджере.
Планы
Мы уже получили много запросов на доступ к ASR, в том числе от крупных брендов. Возможно, совсем скоро наша технология появится в хорошо знакомых сервисах — с нетерпением ждём!
Что ещё по планам?
• Продолжим обучать нейросети, чтобы они корректно распознавали актуальную лексику. Язык постоянно развивается, в речи появляется всё больше слов. И мы постоянно обучаем модели на новых данных, чтобы они понимали, что такое «нёрф» и «катка в кс». Йоу-йоу, сноубординг, дискета!
• Продолжим повышать точность распознавания речи. Возможно, станет меньше мемов с неверными расшифровками. Но мы готовы пойти на такую жертву :)
• Будем улучшать пунктуационную модель и инструменты для шумоподавления, чтобы ни один сосед с дрелью вам не помешал.
• Посмотрим, в каких ещё продуктах ВКонтакте пригодится ASR. Тысячи наших инженеров бьются над тем, чтобы мы могли распознавать речь котиков. Шутка! Хотя кто знает — может быть, и такие задачи ждут нас в будущем.
Потенциал ASR огромен, так что нам только предстоит узнать все возможности технологии. А пока мы будем продолжать развивать распознавание речи — и, конечно, держать вас в курсе всех новостей.
Вы не только примиряете два лагеря кто против или за голосовых сообщений, но и активно в лагеря отправляете за репосты и лайки
У них раньше копипаста с отмазками была на такие претензии, интересно, скинут ее сейчас или нет
Подскажите, а товарищу майору в каком виде эти сообщения попадают?
Если ВК рассматривают эту функцию, как нечто удобное, когда нет возможности нормальный текст написать, а проще записать голосовое, то обычно такие голосовые дляться гораздо дольше 10 секунд, а уже там распознование работет супер ужасно, можно даже не пытаться прочитать и понять, проще найти наушники и послушать.
ну не супер ужасно да и многое зависит от дикции человека
А функцию запрета получения голосовых по аналогии с Telegram не рассматриваете? Пусть даже только в составе подписки. Одна из немногих фич, ради которых не жалко и потратиться))
Супер бесполезная фича для меня, тк какие бы я голосовые не пытался прочесть, то там такая крокозябра, что легче прослушать уже.
Если твой партнёр по диалогу умеет выговаривать буквы без лишних шумов на фоне, то всё нормально работает. У меня сестра постоянно аудио сообщения отправляла, а это функция очень помогала
К сожалению ваше волшебство немного не в ту сторону работает - качественные голосовые расшифровывает так что приходится слушать самому. Но идея классная, развивайте :)
Комментарий недоступен
Как меня вымораживают голосовые, вы бы знали. А распознает он не всегда нормально, перевслушивать и догадываться о чем шла речь - времени у меня никогда нет. Ввели бы как у gem4me функцию что бы нельзя было отправлять голосовые. Цены бы не было.
https://vc.ru/vk/496557-platforma-mini-prilozheniy-vk-mini-apps-zachem-sozdavat-svoy-servis-i-kak-ego-monetizirovat
не проходите мимщ
У меня прекрасно все работает, вк молодцы, удобная функция кстати)