Извини, что голосом: как развивалось распознавание речи ВКонтакте

С миллионами часов голосовых и звуком «ъ».

Привет! На связи команда прикладных исследований ВКонтакте. Недавно мы открыли доступ для сторонних разработчиков к ASR — технологии распознавания речи, которая считывает голос и переводит его в текст. Как это работает, для чего нужно и почему мы решили поделиться нашими наработками с миром? Рассказываем обо всём по порядку.

Что такое ASR

ASR, или automatic speech recognition, — это технология, которая помогает переводить устную речь в текст. После этого с текстом можно делать почти что угодно: передавать в поиск или переводить в голосовые команды для техники, использовать для управления в играх и сервисах. Чаще всего ASR используют в голосовых помощниках, умных устройствах, для расшифровки аудио и видео. Но области применения ограничены только фантазией разработчиков и исследователей — мы увидим ещё немало крутых кейсов.

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

С чего начиналась технология ASR ВКонтакте

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

Распознавание речи помогло найти компромисс. Благодаря ему можно общаться так, как хочется: слушать или читать, говорить или печатать. Люди становятся ближе друг другу — и это самое ценное.

Расшифровка голосовых — что внутри

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

  • Акустическая модель отвечает за распознавание звуков. Она поймёт вас, даже если вы пытаетесь найтись с другом в шумном баре или среди гула на футбольном матче.
  • Языковая модель формирует из звуков слова. Здесь происходит магия вне Хогвартса: набор звуков превращается в текст на экране.
  • Пунктуационная модель определяет границы предложения, расставляет знаки препинания и заглавные буквы. Это нужно, чтобы на выходе получился связный логичный текст.

Что касается датасетов, то здесь мы всё тоже делали сами. Вот как мы собирали данные для обучения модели.

  • Разработали модель, которая генерировала тексты. Мы создавали специальные тексты, которые зачитывали наши тестеры. Среди них были специально сгенерированные нейронкой выражения и комментарии из публичных постов в сообществах — это тоже разговорная речь, где есть место и «кринжовым мемам», и нецензурным выражениям. Благодаря модели подготовили короткие тексты — длиной от 3 до 30 слов.
  • Попросили бета-тестировщиков из рядов VK Testers надиктовать эти тексты в голосовых. Ребята говорили как обычно и записывали голосовые в разных условиях: выходили к шумным дорогам, включали воду. А иногда мы искусственно добавляли шум к аудио — чтобы данные для обучения были максимально близки к жизни.

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

Сперва можно было расшифровывать только голосовые не дольше 30 секунд. Но потом мы пошли дальше, и сейчас в текст можно переводить записи до 2 часов. Это все голосовые, которыми пользователи делятся друг с другом. Хотя ситуации бывают разными: иногда забываешь заблокировать телефон, прежде чем положить его в карман, — и друзья получают голосовые с тремя часами АСМР-шуршания.

Что говорят пользователи

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

Конечно, распознавание не может быть абсолютно точным — ни одна нейросеть не создаст расшифровку, корректную на 100% (к слову, это не под силу и человеку). Забавные ошибки случаются и у нас, это рождает шутки и мемы. Например, ВКонтакте есть целое сообщество, подписчики которого делятся друг с другом забавными результатами расшифровки голосовых.

Ещё оказалось, что ошибочные расшифровки можно использовать как механику для конкурсов. Такая идея пришла организаторам онлайн-игр по вселенной Гарри Поттера: в голосовых звучал рассказ от лица Джинни Уизли, Полумны Лавгуд и Невилла Долгопупса. По распознанному тексту нужно было отгадать, где находились персонажи.

Для особо внимательных мы приберегли пасхалки — например, распознавание звука «ъ». Мы умеем и такое! Фича быстро приобрела фанатов и запустила челлендж: пользователи снимали, как пытаются произнести твёрдый знак так, чтобы он попал в расшифровку. Некоторые из таких видео собрали миллионы просмотров.

Кстати, у нас есть ещё пара идей для челленджей. Попробуйте пораспознавать разные виды смеха — сможете отличить «ихихих» от «ахахаха»? Ещё можно посмотреть, как расшифруются ваши фырканья и кряхтения — то есть обычные звуки, которые издаёт офисный сотрудник после долгого рабочего дня. И, наконец, квест для самых продвинутых — повторить ЪУЪ из того самого мема. Mission impossible. Или нет?

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

ASR в других наших продуктах

Когда мы поняли, что распознавание голосовых оправдало ожидания (наши и пользователей), решили двигаться дальше и начать внедрять ASR в другие продукты. Так на платформе VK Видео появились автоматические субтитры. Они помогают смотреть видео без звука — это удобно, когда хочется отвлечься во время рабочего перерыва и не мешать коллегам. Или когда наушники далеко — например, по пути домой в метро.

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

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

• Специально для видео разработали ещё одну модель. Она распределяет текст по кадрам, чтобы субтитры появлялись точно в момент, когда спикер произносит фразу.

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

И автосубтитры, и распознавание голосовых сообщений работают на основе модели шумоподавления. Мы используем её в VK Звонках, чтобы важному конфколу не помешали соседи с дрелью или громкие беседы рядом с переговоркой.

Также мы используем распознавание речи в роликах, чтобы формировать умные рекомендации. С помощью ASR алгоритмы лучше понимают, про что видео и у кого оно вызовет интерес.

Открываем доступ к ASR

Если технология успешно работает в наших продуктах, почему бы ею не поделиться? Ведь чем больше проектов с распознаванием речи будет на рынке, тем окажется лучше для всех его участников: повысится качество решений, появятся новые нестандартные идеи. Так подумали мы — и открыли доступ к ASR для сторонних разработчиков.

Для распознавания можно выбрать одну из двух моделей.

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

Мы ориентировались в первую очередь на независимых разработчиков, которые находятся в начале своего пути. Решение подойдёт для перспективных стартапов, личных pet-проектов, сервисов платформы VK Mini Apps, обучения и саморазвития. Если вы создаёте свою инди-игру, можете внедрить голосовое управление — такое встречается нечасто, поэтому вызовет интерес у аудитории. Возможно, вы захотите вывести на рынок новый сервис для расшифровки интервью и лекций. Или даже сделать бота для бесплатной расшифровки голосовых в каком-нибудь мессенджере.

Планы

Мы уже получили много запросов на доступ к ASR, в том числе от крупных брендов. Возможно, совсем скоро наша технология появится в хорошо знакомых сервисах — с нетерпением ждём!

Что ещё по планам?

• Продолжим обучать нейросети, чтобы они корректно распознавали актуальную лексику. Язык постоянно развивается, в речи появляется всё больше слов. И мы постоянно обучаем модели на новых данных, чтобы они понимали, что такое «‎нёрф»‎ и «‎катка в кс»‎. Йоу-йоу, сноубординг, дискета!

• Продолжим повышать точность распознавания речи. Возможно, станет меньше мемов с неверными расшифровками. Но мы готовы пойти на такую жертву :)

• Будем улучшать пунктуационную модель и инструменты для шумоподавления, чтобы ни один сосед с дрелью вам не помешал.

• Посмотрим, в каких ещё продуктах ВКонтакте пригодится ASR. Тысячи наших инженеров бьются над тем, чтобы мы могли распознавать речь котиков. Шутка! Хотя кто знает — может быть, и такие задачи ждут нас в будущем.

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

0
14 комментариев
Написать комментарий...
Dozent

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

Ответить
Развернуть ветку
Бот ЦИПсО #66213

У них раньше копипаста с отмазками была на такие претензии, интересно, скинут ее сейчас или нет

Ответить
Развернуть ветку
I S

Подскажите, а товарищу майору в каком виде эти сообщения попадают?

Ответить
Развернуть ветку
Кирилл

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

Ответить
Развернуть ветку
Михаил Зверев

ну не супер ужасно да и многое зависит от дикции человека

Ответить
Развернуть ветку
Darth Swordman

А функцию запрета получения голосовых по аналогии с Telegram не рассматриваете? Пусть даже только в составе подписки. Одна из немногих фич, ради которых не жалко и потратиться))

Ответить
Развернуть ветку
Дмитрий Гончаров

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

Ответить
Развернуть ветку
ХВОСТ ХАЧУ

Если твой партнёр по диалогу умеет выговаривать буквы без лишних шумов на фоне, то всё нормально работает. У меня сестра постоянно аудио сообщения отправляла, а это функция очень помогала

Ответить
Развернуть ветку
Сергей Васильев

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Михаил Погарский

Как меня вымораживают голосовые, вы бы знали. А распознает он не всегда нормально, перевслушивать и догадываться о чем шла речь - времени у меня никогда нет. Ввели бы как у gem4me функцию что бы нельзя было отправлять голосовые. Цены бы не было.

Ответить
Развернуть ветку
Вова Юрьев
Ответить
Развернуть ветку
Вова Юрьев

не проходите мимщ

Ответить
Развернуть ветку
Усов Семён

У меня прекрасно все работает, вк молодцы, удобная функция кстати)

Ответить
Развернуть ветку
11 комментариев
Раскрывать всегда