Как нейросети переводят видео и создают субтитры
Расскажи, как ты пришёл в IT
В 2012 году я устроился в компанию «Евраз Металл» аналитиком. Я рассматривал эту работу как временную, потому что мечтал о своём деле. Уже тогда меня привлекал мир IT, но я понимал, что зарплатных денег на стартап не хватит и что нужно идти в IT-компанию набираться опыта. Но всё так завертелось, что вскоре я открыл строительную фирму. Дела шли хорошо, но чтобы их продолжать, пришлось бы соглашаться на деятельность, которая противоречила моим принципам ведения бизнеса, и в итоге я закрыл компанию.
Я активно изучал Python, HTML, CSS, читал книги по тестированию, чтобы въехать в разработку. Параллельно откликался на вакансии разработчиков, но получал отказы. От отчаяния я распечатал резюме и ногами пошёл в офис к самым крупным аутсорс-разработчикам в Таганроге, моём родном городе. Удивительно, но HR согласились меня прособеседовать и даже взяли на испытательный срок тестировщиком, но я не прошёл проверку службы безопасности. Думаю, причина была в том, что у меня было юридическое лицо. И мы разошлись. Через два дня мне позвонили из другой компании и пригласили в штат тестировщиком с зарплатой в полтора раза выше.
Сколько у тебя занял рост от тестировщика до продакт-оунера?
Около пяти лет. За два года на той работе я дорос до руководителя группы качества — и решил двигаться дальше. Мне попалась вакансия тестировщика в Яндексе в Сочи, и я откликнулся. Нравилась идея переезда поближе к морю. А ещё я видел больше возможностей для роста внутри компании, несмотря на даунгрейд в позиции. Меня взяли, и 12 декабря 2018 года я вышел на работу в Яндекс.
Я ушёл с головой в дела и иногда даже помогал менеджерам с продуктовыми задачками. У меня это хорошо получалось, и я взялся за тестовое задание в Яндекс Браузер: сделать одно ревью на тестировании и параллельно затащить продуктовый проект. Я справился со всем на отлично, и меня позвали руководителем видеопродуктов. Сейчас я нахожусь внутри структуры Яндекс Браузера и управляю всеми продуктами, связанными с видео: субтитрами, переводами, суммаризацией.
Как бы ты описал, кто такой продакт-оунер? Что значит «владеть продуктом»?
Делать так, чтобы пользователь при взаимодействии с продуктом каждый раз говорил: «Вау, как классно работает». Ещё лучше — чтобы он легко решал свои задачи при помощи сервиса. Внутри проекта это управление ростом продуктовых метрик, управление командой, принятие стратегических решений.
Расскажи, как работают субтитры
Нейросети генерируют субтитры для видео роликов. Наш алгоритм похож на обучение детей чтению. Можно заметить, что иногда ребёнок додумывает слова по ходу чтения. Это происходит потому, что он подтягивает из своей «библиотеки знаний» знакомые конструкции или фразы, прочитав только слог или два.
Наша модель работает похожим образом. Она обучена предсказывать по нескольким буквам, какое слово будет следующим — так она создает субтитры. Модель также учитывает контекст и понимает, какие слова могут стоять рядом, а какие нет. Например, «я ухожу губка» звучит бессмысленно, а вот «я ухожу гулять» — понятно. Это особенно важно, если слово плохо слышно.
А как достигается синхронность?
Модель анализирует звуковой ряд на несколько секунд вперёд, создаёт текст и потом синхронизирует его с речью. Получается, что модель знает, о чём будет видео, и чуть заранее готовит субтитры, чтобы для пользователя всё выглядело синхронно.
Перевод видео работает по тому же принципу?
Нет. Над этой задачей работает шесть нейросетей:
-
Первая определяет, есть ли на видео речь, чтобы в случае её отсутствия не запускать процесс просто так.
-
Вторая определяет язык.
-
Затем третья нейросеть переводит речь в текст, нормализует его, расставляет знаки препинания, чтобы текст имел смысл и был целостным.
-
Четвёртая разбивает текст на спикеров. Если их несколько — присваивает им конкретные голоса.
-
Пятая переводит текст с иностранного языка на русский и также приводит его в читабельный вид — со знаками препинания и смысловыми отрезками.
-
И шестая нейросеть занимается синтезом речи и воспроизведением её на видео. Браузер синхронизирует оригинал и перевод.
Мы стремимся сделать так, чтобы пользователю было удобно, но нужно понимать, что за этим стоят большие процессы и довольно трудоёмкая работа. Каждый день мы стремимся что-то улучшить. Например, учимся определять сленг, распознавать тембр голосов спикеров, делать более точный перевод. Или вот ещё интересная задача: нам нужно минимизировать лаг спикера и перевода, хотя речь на английском звучит короче, чем на русском. У нас ещё много работы.
А что такое суммаризация?
Суммаризация — тезисный пересказ материала путём генерации нового текста. Это самый молодой продукт, но пользователи его очень активно используют. Да и я сам его очень люблю. Он работает на базе модели перевода, только быстрее. Мы ускорили автоматическое распознавание речи (automatic speech recognition, ASR) и докрутили разбивку на главы, чтобы лучше выделять смыслы.
Алгоритм работает в два этапа. Сначала одна модель распознаёт текст и разделяет его на смысловые части — мы называем их главами. Затем вторая модель генерирует на их основе текст основной идеи и пишет дополнительные тезисы. Тут важно сказать, что мы не выдираем куски текста, а создаём новые. В результате саммари выглядит так: название главы, основная мысль, дополняющие тезисы.
Как считаешь, когда перевод, пересказ и суммаризация лучше всего помогают пользователям?
-
Перевод. Человек хочет купить новую технику, но её обзоры доступны только на английском языке. Из-за обилия терминов смотреть в оригинале ему трудно, и он пользуется переводом, чтобы не упустить важные технические моменты. Ещё люди часто смотрят обзоры на английском, чтобы сделать свои, но на русском.
-
Субтитры. Человек забыл наушники и не может посмотреть видео со звуком, находясь в общественном пространстве. Он включает субтитры и смотрит контент без потери информации. Другой особенно полезный кейс — помощь людям с нарушениями слуха. Субтитры сильно расширяют границы доступного им контента.
-
Суммаризация. Пользователю нужно узнать, о чём говорится в часовом видео, но у него нет времени. Чтобы не жертвовать, например, сном, он включает суммаризацию и узнаёт ключевые тезисы. Если они полезны, он может погрузиться в это видео, когда будут силы и время, а если нет — можно не переживать и удалить ролик из списка «Смотреть позже».
А как ты думаешь, суммаризация помогает или мешает учиться? Ведь без погружения есть риск стать поверхностным
Нейросети помогают людям выбирать наиболее релевантный контент для решения их задач. Например, можно сделать саммари трёх или пяти видео, понять, какое из них лучше отвечает на вопросы, и обратиться именно к нему. У нас нет задачи заменить видео. Но благодаря суммаризации можно собрать более целостную картину, изучив несколько источников.
Я считаю, что нейросети не заменят людей. Но думаю, что те специалисты, кто использует в своей работе нейросети, постепенно вытеснят тех, кто их не использует. Потому что уже сейчас благодаря суммаризации контента можно эффективнее изучать материал, а благодаря переводу — выходить за языковые рамки. Мы можем выбирать, как применять эти инструменты наилучшим образом и получать пользу.