Как работает нейросеть Google Translate
Рассказывают представители онлайн-школы EnglishDom.
Google Translate по праву считается машинным переводчиком № 1 в мире. Сервис поддерживает работу со 103 языками и каждый день обрабатывает около 500 миллионов запросов.
В 2016 году Google представила систему нейронного машинного перевода (GNMT), которая использует искусственную нейронную сеть для улучшения качества перевода.
Действительно ли перевод стал лучше с её помощью? Давайте узнаем!
Тонкости нейронного перевода: как это работает
Нейронная модель машинного перевода использует иные принципы работы с текстом, чем стандартный статистический метод перевода.
Эффективная и выгодная реклама с сервисом от МегаФона
Широкий выбор рекламных каналов, более 100 параметров по интересам, подробная аналитика и другие возможности уже ждут в Личном кабинете. А еще кешбэк 100% за запуск рекламы в первый месяц и еще 10% — каждый месяц.
До появления нейронных сетей перевод проводился пословно — система переводила отдельные слова и фразы с учётом грамматики. Поэтому при сложных оборотах или длинных предложениях качество перевода оставляло желать лучшего.
GNMT же переводит предложение целиком, учитывая контекст. Система не запоминает сотни вариантов перевода фраз — она оперирует семантикой текста.
При переводе предложение разбивается на словарные сегменты. Затем с помощью специальных декодеров система определяет «вес» каждого сегмента в тексте. Далее вычисляется максимально вероятные значения и перевод сегментов. Последний этап — соединить переведённые сегменты с учётом грамматики.
Как действует алгоритм переводчика
Чтобы понять принципы работы нейронного перевода от Google, давайте немного углубимся в технические детали.
В основе Google Neural Machine Translation лежит принцип работы рекуррентных двунаправленных нейронных сетей (Bidirectional Recurrent Neural Networks), работающих с матричными вычислениями вероятности.
Разберём подробнее, что всё это значит.
«Рекуррентный» говорит, что система вычисляет значение слова или фразы на основе предыдущих значений в последовательности. Именно это позволяет системе учитывать контекст и правильно выбирать среди разных вариантов перевода.
К примеру, в словосочетании «лук из красного дерева» слово «лук» система переведёт как «bow», а не «onion».
Двунаправленность означает, что нейросеть разделена на два потока — анализирующий и синтезирующий. Каждый поток состоит из восьми слоёв, которые и проводят векторный анализ.
Первый поток разбивает предложение на смысловые элементы и анализирует их, а второй высчитывает наиболее вероятный вариант перевода, исходя из контекста и модулей внимания.
Обратите внимание, что анализирующая сеть «читает» предложение не только слева направо, но и справа налево — это позволяет в полной мере понять контекст. Отдельно она формирует модуль внимания, с помощью которого второй поток понимает ценность отдельных смысловых фрагментов.
В нейронной системе наименьшим элементом является не слово, а фрагменты слова. Это позволяет сосредоточить вычислительные мощности не на словоформах, а на контексте и смыслах предложения. GNMT использует около 32 000 таких фрагментов. По словам разработчиков, это позволяет обеспечить высокую скорость и точность перевода без потребления чрезмерных вычислительных мощностей.
Анализ фрагментов сильно уменьшает риски неточного перевода слов и словосочетаний с различными суффиксами, префиксами и окончаниями.
Система самообучения позволяет нейронной сети с высокой точностью переводить даже те понятия, которые отсутствуют в общепринятых словарях — сленг, жаргонизмы или неологизмы.
Но это ещё не всё. Нейросеть может работать и побуквенно. К примеру, при транслитерации имен собственных с одного алфавита на другой.
Статистика: действительно ли стало лучше?
С момента запуска системы GNMT прошло 2 года, поэтому можно оценить результаты.
Почему именно сейчас? Дело в том, что нейронная система работает без установленной базы данных, и ей требуется время, чтобы построить и скорректировать методы перевода.
К примеру, настройка машинной модели перевода, которая использует статистические методы, занимает от 1 до 3 дней. При этом построение нейронной модели такого же размера займёт больше 3 недель.
Примечательно, что при увеличении базы время на обработку статистической модели растёт в арифметической прогрессии, а для нейронной сети — в геометрической. Чем больше база, тем больше разрыв во времени.
А если учесть, что Google Translate работает с 10 000 языковых пар (103 языка), то понятно, что адекватные итоги можно подводить только сейчас.
В ноябре 2016 года после полного окончания обучения системы и официального запуска аналитики Google представили подробный анализ результатов GNMT. Из него следует, что улучшения в точности перевода несущественные — в среднем 10%.
Наибольший прирост дали самые популярные языковые пары вроде испанский-английский или французский-английский — с результатом точности в 85–87%.
В 2017 компания Google проводила масштабные опросы пользователей Google Translate: их просили оценить 3 варианта переводов: машинный статистический, нейронный и человеческий. Здесь результаты оказались более интересными. Перевод с помощью нейросетей в некоторых языковых парах оказался очень приближён к человеческому.
|
|
Статистическая модель | Нейронная сеть | Человеческий перевод |
|
---|---|---|---|---|---|
|
Английский — Испанский | 4,885 | 5,428 | 5,550 |
|
|
Английский — Французский | 4,932 | 5,295 | 5,496 |
|
|
Английский — Китайский | 4,035 | 4,594 | 4,987 |
|
|
Испанский — Английский | 4,872 | 5,187 | 5,372 |
|
|
Французский — Английский | 5,046 | 5,343 | 5,404 |
|
|
Китайский — Английский | 3,694 | 4,263 | 4,636 |
|
Как видите, качество перевода в языковых парах «английский-испанский» и «французский-английский» практически соответствует человеческому. Но это и не странно, ведь именно на этих языковых парах происходило глубокое обучение алгоритмов.
Вот те же результаты в графическом отображении, чтобы вы наглядно увидели разницу со стандартным машинным переводом.
С другими языковыми парами ситуация не такая радужная, но масштабного исследования по ним нет. Тем не менее, если со схожими по структуре языками нейронный перевод работает вполне хорошо, то с кардинально разными языковыми системами (например, японский и русский) перевод заметно уступает человеческому.
При этом стоит заметить, что разработчики при запуске нейронной сети не пытались достичь максимальной точности перевода. Всё потому, что он потребовал бы сложных эвристических конструкций, а это сильно снизило бы скорость работы системы. Разработчики постарались найти баланс между точностью и скоростью работы. На наше субъективное мнение, это у них получилось.
И небольшой бонус напоследок
Специалисты утверждают, что если нейронная система Google Translate научится оперировать не только текстами, но также и аудио- и видеофайлами, то в таком случае нужно ожидать резкий скачок в развитии машинного перевода. Первые шаги в этих сферах уже сделаны, активно ведутся разработки новых алгоритмов для анализа видео и аудио. Поэтому пользователи могут уже в ближайшие несколько лет ожидать новых сюрпризов от Google.
Читайте также: 9 малоизвестных, но полезных функций переводчика Google
Тизер: © Kylli Sparre
Мнение редакции может не совпадать с мнением автора. Ваши статьи присылайте нам на 42@cossa.ru. А наши требования к ним — вот тут.