В феврале 2025 года команда VK Видео в 10 раз увеличила количество роликов с субтитрами и точность расшифровки речи. Теперь субтитры есть в 90% контента — со знаками препинания, заглавными буквами и всеми особенностями специализированной лексики и неологизмов.

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

Где мои субтитры, чувак?

По данным исследования компании Verizon Media, 85% пользователей социальных сетей смотрят ролики на мобильных устройствах с выключенным звуком. Среди причин — нет наушников, шумно или, наоборот, пользователь находится в месте, где шуметь нельзя. Исследование также показало: 

  • 80% зрителей с большей вероятностью досмотрят видео, если оно будет с субтитрами;

  • субтитры в роликах побуждают 37% зрителей включить звук; 

  • субтитры помогают 27% зрителей сосредоточиться на контенте;

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

Команда VK Видео провела собственное исследование по методологии KANO и выяснила, что субтитры входят в топ-10 важных для пользователей фич — они заняли шестое место.

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

В 2024 году автоматические субтитры были у 9% видео на платформе. Чтобы увеличить покрытие субтитрами в 10 раз, нужно было проанализировать и технически доработать ролики, которые ранее не попадали под автоматизацию по разным причинам — из-за хронометража или типа загрузки (например, со сторонних площадок). 

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

Как измерять качество субтитров

Мы используем два метода оценки качества субтитров: 

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

  • Лабораторная оценка WER. Она проводится на основе набора расшифрованных человеком видео, где качество субтитров оценивается по строгим критериям.

WER (Word Error Rate) — это показатель, который измеряет количество ошибок в распознавании текста. Ошибки бывают трёх типов:

  • неправильное распознавание слова (например, вместо «привет» распозналось «медвед»);

  • потеря слова (например, «привет, как дела» распозналось как «как дела»);

  • лишнее слово (например, «привет, как дела» распозналось как «привет, как у тебя дела»).

Чтобы рассчитать WER, количество ошибок делится на общее число слов в эталонном тексте (референсе). Полученная цифра — это процент ошибок, которые допускаются во время распознавания. 

На изображении видно, что текст одного и того же ролика алгоритмы VK Видео распознали лучше, чем на сторонней площадке. 

Ограничения и технические уловки

Распознавание речи — это непросто: сначала нужно «вытащить» текст из звука, а потом расставить временные метки для каждого слова. Процесс был медленным, особенно для длинных видео. Чтобы оптимизировать ресурсы, мы использовали технические уловки:

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

  • Видео длительностью более пяти часов не обрабатывались, чтобы не перегружать видеокарты.

  • Обрабатывались только видео с большим числом просмотров, так как в VK Видео много UGC-контента, которому не нужны субтитры.

Благодаря ML-моделям мы ускорили распознавание речи в несколько раз — сейчас на платформе субтитрами покрыты как новые, так и старые видео, как длинные ролики, так и короткие. 

На схеме ниже видно, какие задачи решала команда на пути к цели: 

ML-модели и как их использовали

Старая модель генерации субтитров требовала значительных доработок. Нужно было:

  • оптимизировать архитектуру модели;

  • улучшить разметки данных;

  • поработать с редкими словами; 

  • решить проблему именованных сущностей.  

О каждом этапе расскажем подробнее.

Оптимизация архитектуры модели 

Мы полностью переработали архитектуру — основывались на Conformer RNN-T с позиционными эмбеддингами RoPE. Чтобы её масштабировать, потребовалось увеличить параметры и ускорить интерфейс модели. 

Для этого наша ML-команда:

  • перенесла весь препроцессинг данных на GPU;

  • внедрила эффективную групповую обработку;

  • перевела вычисления в FP16; 

  • использовала CUDA Graphs в авторегрессионном декодере, чтобы минимизировать задержки.  

Улучшение разметки данных

Наша команда улучшила отбор обучающих данных, чтобы повысить информативность дата-центра: новый алгоритм автоматически фильтрует 10% самых сложных примеров для модели распознавания речи (ASR). Это экономит ресурс крауд-разметки — количество данных, которое можно разместить за единицу времени, ограничено. Поэтому мы выбрали примеры, которые максимально влияют на качество распознавания во время обучения модели.

Работа с редкими словами

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

Такое происходило с редкими словами (например, «ацетилсалициловая» или «исподтишка»). Для обработки низкочастотных слов мы внедрили статистическую языковую модель, обученную на корпусе редких и сложных слов. Финальный вывод формируется с помощью shallow fusion между ASR и моделью. Этот подход позволяет проранжировать корректно распознанные гипотезы и вытащить их наверх. Его большое преимущество — необходимо обучить лишь языковую модель, и это менее трудозатратно, чем обучить ASR.

Решение проблемы именованных сущностей

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

Возникла идея дистиллировать знания из открытых моделей: они знакомы с большими объёмами данных, значит, потенциально могут распознавать имена, термины, названия локаций, организаций и брендов. Позже выяснилось, что в среднем у open-source решений довольно низкая метрика качества (порядка 20% WER) на наших бенчмарках. Мы применили эвристики, внутренние нейросетевые решения и смогли выделить смысловые поддомены, на которых автоматическая разметка открытыми моделями показала высокое качество (менее 10% WER). 

В итоге нам удалось достичь таких показателей:

Финишная прямая

Далее мы добавили модель денормализации текста и расстановки пунктуации, которая делает текст более естественным и удобным для чтения. Теперь аудиопоток из видео проходит несколько этапов обработки: 

  • разделяет аудио на окошки длиной до 11 секунд;

  • препроцессирует аудио в мел-спектрограммы;

  • распознаёт текст из аудио;

  • корректирует гипотезы с помощью языковой модели;

  • синхронизирует текст со звуком;

  • денормализирует текст и пунктуацию.

Процесс представлен на схеме ниже:

Исходя из результатов тестирования, в рамках которого мы сравнивали расшифровку одинакового контента, размещённого на разных видеоплатформах, выяснилось, что наша AI-модель допускает на 30% ошибок меньше, чем аналогичные модели генерации субтитров. Конечно, на этом мы останавливаться не собираемся — наша команда продолжит развивать технологии, делая просмотр роликов в VK Видео ещё более понятным, доступным и удобным для всех наших пользователей. 


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

Ссылки по теме:

Комментарии (2)


  1. nin-jin
    24.05.2025 07:20

    Шёл 2025 год, ВК внедряет субтитры... Добавьте к ним, хотя бы, SpeechSynthesis API. Видео люди открывают для того, чтобы смотреть его и слушать, а не читать.


  1. pfr46
    24.05.2025 07:20

    Лучше бы озаботились скоростью загрузки. А то ощущение как будто дохлая кляча телегу дров везёт.