Понимает индийский английский и отличает Амазонку от Amazon

«Яндекс Браузер» запустил закадровый перевод прямых трансляций. Вот как работает технология, которой нет больше ни у кого в мире.

Понимает индийский английский и отличает Амазонку от Amazon

В сентябре 2021 года «Яндекс Браузер» добавил функцию автоматического закадрового перевода видеороликов на платформах вроде YouTube и Vimeo. Пользователю достаточно открыть нужную запись (скажем, лекцию по программированию от американского профессора), нажать кнопку «Включить перевод» — и получить готовую «озвучку» на русском языке уже через пару минут. При этом спикера-женщину нейросеть озвучит женским голосом, мужчину — мужским.

А с сегодняшнего дня переводить и сразу озвучивать можно не только уже опубликованные ролики, но и прямые трансляции — будь то запуск космического корабля или презентация Apple. Причём почти в режиме реального времени: перевод начнётся через 30–50 секунд. И это при том, что практически ни у кого пока нет публично доступных технологий автоматического закадрового видеоперевода, которыми в «Яндекс Браузере» можно пользоваться уже почти год.

Нейросеть переводит прямые трансляции не только с английского, но и с других наиболее часто используемых в интернете языков: испанского, немецкого, французского и итальянского. Пока технология доступна для пользователей с ограничениями – не на всех YouTube-каналах в режиме публичного тестирования — там можно посмотреть, как работает перевод стримов. В списке есть и образовательные каналы вроде TED и TEDxTalks, и видеоблоги технологических гигантов, и «вечный» стрим NASA, и интервью с селебрити в прямом эфире.

Как устроена эта технология «Яндекс Браузера», рассказали её разработчики.

Сергей Дуканов
Руководитель разработки
технологии перевода видео

Сергей Корбан
Владелец продукта

Как нейросеть обрабатывает текст

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

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

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

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

  • Первая нейросеть переводит речь в текст. В «Яндексе» уже давно работают над технологиями распознавания речи — например, для голосового ассистента Алисы. Но эти наработки не подходят для потокового перевода видео. Обычно пользователи общаются с Алисой коротко и односложно: задают вопросы или произносят команды. Поэтому её алгоритмы привыкли анализировать лишь небольшую последовательность звуков. Для обработки конференции или, например, интервью, где спикеры употребляют сложные термины, а выступления могут длиться часами, нужны другие технологии. Поэтому за перевод речи в текст в Алисе и переводчике трансляций отвечают разные нейросети.
  • Вторая нейросеть определяет пол говорящего по частоте голоса (у мужчин это 80–150 Гц, у женщин — 150–250 Гц). Это нужно, чтобы девушку озвучивал женский голос, мужчину — мужской, а все глаголы стояли в правильном роде и женщины не говорили о себе, например, «я подумал» или «я сказал». Нейросеть верно определяет пол в 97% случаев, поскольку училась на больших массивах аудиозаписей с разными голосами. Ошибиться может, если слышит нехарактерно высокие голоса у мужчин и нетипично низкие у женщин, а также если на записи много фоновых шумов или у гарнитуры низкое качество звука.
  • Самую сложную работу делает третья нейросеть — она выделяет из текста части, которые содержат законченную мысль. Нейросеть делит весь текст на кусочки: расставляет знаки препинания и так находит законченные по смыслу фрагменты, даже если это части сложных предложений. И именно они подаются на вход четвёртой нейросети, которая переводит их последовательно один за одним.

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

От чего зависит скорость перевода

Обычно задержка в переводе составляет от 30 до 50 секунд. Первые 10–20 секунд ролика нейросеть «слушает» спикеров — набирает контекст. Ещё 5-10 секунд требуется на перевод и озвучку. Пересылка данных между серверами и клиентом тоже занимает около 5-10 секунд. Дополнительные 10–15 секунд система берёт «про запас» — например, если вдруг оборвётся интернет-соединение и какой-то из процессов нужно будет повторить заново. Поэтому, когда пользователь включает перевод трансляции, система немного перематывает видео назад. Сейчас «Яндекс Браузер» берёт для перевода только прямые эфиры с возможностью перемотки — такая функция доступна на YouTube уже несколько лет.

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

Сергей Дуканов, руководитель разработки технологии перевода видео

Общая продолжительность задержки зависит от нескольких факторов:

  • Скорости обработки отдельных этапов: распознавания, перевода и синтеза (озвучки). Инженеры научили нейросеть делить речь на смысловые фрагменты, чтобы ускорить процесс перевода и озвучки.
  • Степени загрузки серверов. Чем больше трансляций переводится одновременно, тем больше памяти и вычислительных мощностей потребуется. Если вдруг откажет один из серверов, процесс автоматически «пойдёт» через другой. Если «упадёт» вся система, перевод продолжится позже — с того же места, где остановился, а пользователь получит уведомление с просьбой подождать, чтобы не упустить ни одного фрагмента.
  • Скорости и качества речи в видео. Чем больше и быстрее говорит спикер и чем сложнее его предложения, тем дольше нейросетям приходится переводить его слова в текст и синтезировать речь. Например, перевести «Мама мыла раму» легко, а вот синтаксис как у Толстого — с десятками и даже сотнями слов в предложении — куда труднее.

Зато нейросеть умеет выбрасывать из перевода слова-паразиты («ну», «типа», «вот») и бессмысленные звуки («экание» и «мэкание», которым грешат даже некоторые устные переводчики). А ещё не станет дважды переводить слова, которые спикер, задумавшись, произнёс несколько раз.

Как нейросеть понимает контекст

Синхронист перед встречей обычно знает, о чём будет идти речь, и много читает по теме. Нейросеть работает «с листа», изначально ни о чём не догадываясь (хотя в будущем попробует предсказывать тему по заголовкам и тегам на YouTube). Она, скорее всего, ошибётся, если столкнётся с узкой терминологией — скажем, словами «вече» или «княжеский стол» в лекции про Древнюю Русь. Но распространённую профессиональную лексику понимает хорошо — экономических текстов, например, в обучающей базе «Яндекса» много, в том числе переведённых.

А ещё в большинстве случаев нейросеть правильно определяет тему внутри предложения. Если во фразе про Amazon будут слова «компания», «купить» и «акции», нейросеть, скорее всего, поймёт, что речь не о реке Амазонке, а об американской корпорации. К тому же реки в английском требуют определённого артикля the.

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

Важен не только контекст, но и жанр. В игровых стримах, например, все кричат и эмоционируют — такую речь труднее распознать. А в комедиях сложность — это шутки. Причём чаще всего в них задействована «невербалика» — мимика, жесты, паузы. Такой контент — настоящий вызов, с которым в «Яндексе» сейчас учатся справляться.

С нецензурной лексикой нейросеть пока ладит плохо: система училась на «приличных» текстах, поэтому забавно озвучивает такие выражения. Однажды, например, сказала «пошла ты на звёздочка-звёздочка-звёздочка».

Сергей Корбан, владелец продукта

В теории можно было бы создавать для неё обучающие словари с каламбурами, ругательствами и идиомами, но в этом нет смысла. Это дорого, долго и почти невозможно — всего не запишешь и не придумаешь.

Поэтому сейчас мы решили сконцентрироваться на общем качестве перевода, которое оценивается по двум критериям — адекватности (точной передаче смысла) и естественности. Последнюю обычно создаёт человек — за счёт адаптаций. Нейросеть же рискует исказить смысл или выдать не самый уместный вариант перевода. Простой пример — междометие well. Синхронист может перевести его как «в общем», «что ж», «скажем так», «так что?», «ну», а нейросеть выдаёт стандартное «хорошо», потому что вряд ли подберёт верный для контекста вариант. Было бы здорово, если бы она это умела, но главное, что это никак не мешает пониманию текста.

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

Наши инженеры следят не только за точностью перевода — уже сейчас они работают над живостью и красотой речи. И учат нейросеть понимать интонации и эмоции (радость, грусть, риторические вопросы, сарказм), чтобы «роботы-актёры озвучивания» могли передавать это в переводной речи: скажем, не шутить безразличным голосом, если спикер изображал восторг, или переходить на шёпот, если стример говорит тихо (как делает это Алиса в умных колонках).

Умеет ли нейросеть импровизировать

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

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

Нейросеть порой чувствует себя настолько уверенно, что я бы даже обрадовался, если бы она умела пропускать слова, которые не поняла, чтобы никого не смешить. Однажды она спутала инструмент для управления контейнерами приложений «Кубернетес» с «кубинцами». Просто потому, что неправильно распознала имя собственное.

Сергей Дуканов, руководитель разработки технологии перевода видео

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

«Идеальный клиент» нейросети

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

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

А ещё чтобы контекст не сильно менялся: сложный и насыщенный смыслами текст — всегда вызов. Нейросети «удобно» переводить, например, стримы по игре Minecraft. К таким трансляциям на узкую тему или к важным для технологического мира мероприятиям вроде Apple WWDC команда может вручную составить словарь, изучив расшифровки предыдущих презентаций Apple. Это поможет системе не «зависать» на сложных моментах и меньше путаться в терминологии или, например, профессиональном или компьютерном сленге (например, «го катку»).

Как будет развиваться технология

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

На этом этапе нам нужно понять, как технология работает «в бою». Если перевод трансляций на YouTube будет пользоваться спросом, мы внедрим его и на других платформах — скажем, на Twitch. Также в будущем мы сможем переводить, например, деловые конференции — это мы планируем протестировать на себе и «попросить» нейросети перевести наше внутреннее собрание. Добавим и новые языки, например азиатские. А ещё постепенно нарастим мощности, чтобы поддерживать перевод большего числа трансляций одновременно.

7373
33 комментария

Переводчик видео реально крутой продукт от Яндекса.

10
Ответить

согласна, это необыкновенно, даже как то удивительно что создали у нас, хотя с удовольствием порадуюсь за команду разработчиков

1
Ответить

А такое смогёт?

9
Ответить

Переводит без проблем

2
Ответить

Я пробовал, очень хорошо работает, мне понравилось. Надеюсь на новые продукты в этой категории.

5
Ответить

радуюсь за яндекс как за себя) молодцы!

4
Ответить

во всем этом только один минус который все обнуляет - яндекс браузер.

3
Ответить