Нейросетевой переводчик быстрее ближе точнее. В «Яндекс.Переводчик» встроили нейросеть с фантазией. Проблемы использования NMT для бизнеса

Сервис «Яндекс.Переводчик» стал использовать технологии нейронных сетей при переводе текстов, что позволяет повысить качество перевода, сообщили сайт в «Яндексе».

В закладки

Сервис работает по гибридной системе, объясняли в «Яндексе»: к статистической модели, которая работает в «Переводчике» с момента запуска, была добавлена технология перевода с помощью нейросети.

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

Статистическая модель, в свою очередь, лучше справляется с редкими словами и фразами, подчеркнули в «Яндексе». «Если смысл предложения непонятен, она не фантазирует, как это может делать нейросеть», - отметили в компании.

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

В течение дня 14 сентября в веб-версии «Переводчика» должен появиться переключатель, с помощью которого можно будет сравнить переводы, выполненные гибридной и статистической моделями. При этом иногда сервис может не изменять тексты, отметили в компании: «Это значит, что гибридная модель решила, что статистический перевод лучше».



Машинный перевод с помощью нейросетей прошёл долгий путь с момента первых научных исследований на эту тему и до того момента, как компания Google заявила о полном переводе сервиса Google Translate на глубинное обучение .

Как известно, в основе нейронного переводчика механизм двунаправленных рекуррентных нейронных сетей (Bidirectional Recurrent Neural Networks), построенный на матричных вычислениях, который позволяет строить существенно более сложные вероятностные модели, чем статистические машинные переводчики. Однако всегда считалось, что нейронный перевод, как и статистический, требует для обучения параллельных корпусов текстов на двух языках. На этих корпусах обучается нейросеть, принимая человеческий перевод за эталонный.

Как теперь выяснилось, нейросети способны освоить новый язык для перевода даже без параллельного корпуса текстов! На сайте препринтов arXiv.org опубликованы сразу две работы на эту тему.

«Представьте, что вы даёте какому-то человеку много китайских книг и много арабских книг - среди них нет одинаковых - и этот человек обучается переводить с китайского на арабский. Это кажется невозможным, правда? Но мы показали, что компьютер способен на такое», - говорит Микель Артетксе (Mikel Artetxe), учёный, работающий в области компьютерных наук в Университете Страны Басков в Сан-Себастьяне (Испания).

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


«Универсальный язык» нейронной сети Google Neural Machine Translation (GNMT). На левой иллюстрации разными цветами показаны кластеры значений каждого слова, справа внизу - смыслы слова, полученные для него из разных человеческих языков: английского, корейского и японского

Составив гигантский «атлас» для каждого языка, затем система пытается наложить один такой атлас на другой - и вот пожалуйста, у вас готово некое подобие параллельных текстовых корпусов!

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


Архитектура предлагаемой системы. Для каждого предложения на языке L1 система учится чередованию двух шагов: 1) шумоподавление (denoising), которое оптимизирует вероятность кодирования зашумлённой версии предложения с общим энкодером и его реконструкции декодером L1; 2) обратный перевод (back-translation), когда предложение переводится в режиме вывода (то есть кодируется общим энкодером и декодируется декодером L2), а затем оптимизируется вероятность кодирования этого переведённого предложения с общим энкодером и восстановления оригинального предложения декодером L1. Иллюстрация: Микеля Артетксе и др.


Предлагаемая архитектура и цели обучения системы (из второй научной работы). Архитектура представляет собой модель перевода по предложениям, где и энкодер, и декодер работают на двух языках, в зависимости от идентификатора входного языка, который меняет местами поисковые таблицы. Вверху (автокодирование): модель обучается выполнять шумоподавление в каждом домене. Внизу (перевод): как и прежде, плюс мы кодируем с другого языка, используя в качестве входных данных перевод, произведённый моделью в предыдущей итерации (голубой прямоугольник). Зелёные эллипсы указывают термины в функции потерь. Иллюстрация: Гильома Лампла и др.

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

Работы представлены для Международной конференции по обучающим представлениям 2018 года (International Conference on Learning Representations). Ни одна из статей ещё не опубликована в научной прессе.

или Перерастает ли количество в качество

Статья по мотивам выступления на конференции РИФ+КИБ 2017.

Neural Machine Translation: почему только сейчас?

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

Тем не менее, вот динамика популярности в поиске запросов про нейронные сети вообще и про нейронный машинный перевод в частности:

Прекрасно видно, что на радарах вплоть до недавнего времени нет ничего про нейронный машинный перевод – и вот в конце 2016 года свои новые технологии и системы машинного перевода, построенные на базе нейронных сетей, продемонстрировали сразу несколько компаний, среди которых Google, Microsoft и SYSTRAN. Они появились почти одновременно, с разницей в несколько недель или даже дней. Почему так?

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

В основе нейронного переводчика механизм двунаправленных рекуррентных нейронных сетей (Bidirectional Recurrent Neural Networks), построенный на матричных вычислениях, который позволяет строить существенно более сложные вероятностные модели, чем статистические машинные переводчики.


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

Для ускорения процесса разработчики используют GPU от NVIDIA, а Google также и Tensor Processing Unit (TPU) – чипы собственной разработки, адаптированные специально для технологий машинного обучения. Графические чипы изначально оптимизированы под алгоритмы матричных вычислений, и поэтому выигрыш в производительности составляет 7-15 раз в сравнении с CPU.

Даже при всем этом тренировка одной нейронной модели требует от 1 до 3 недель, тогда как статистическая модель примерно того же размера настраивается за 1-3 дня, и с увеличением размера эта разница увеличивается.

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

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

Качество перевода: чей BLEU score толще?

Попробуем понять, соответствует ли рост качества перевода накопленным ожиданиям и тому росту затрат, которые сопровождают разработку и поддержку нейронных сетей для перевода.
Google в своем исследования демонстрирует, что нейронный машинный перевод дает Relative Improvement от 58% до 87%, в зависимости от языковой пары, по сравнению с классическим статистическим подходом (или Phrase Based Machine Translation, PBMT, как его еще называют).


SYSTRAN проводит исследование, в котором качество перевода оценивается путем выбора из нескольких представленных вариантов, сделанных различными системами, а также «человеческого» перевода. И заявляет, что его нейронный перевод предпочитают в 46% случаев переводу, сделанному человеком.

Качество перевода: есть ли прорыв?

Несмотря на то, что Google заявляет об улучшении на 60% и даже выше, в этом показателе есть небольшой подвох. Представители компании говорят о «Relative Improvement», то есть насколько им удалось с нейронным подходом приблизится к качеству Human Translation по отношению к тому, что было в классическом статистическом переводчике.


Эксперты отрасли, анализирующие результаты, представленные Google в статье «Google"s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation», достаточно скептически относятся к представленным результатам и говорят, что фактически BLEU score удалось улучшить только на 10%, а существенный прогресс заметен именно на достаточно простых тестах из Wikipedia, которые, скорее всего, были использованы и в процессе обучения сети.

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

Исходный текст (EN): Worrying never did anyone any good.
Перевод Google PBMT: Не беспокоясь не делал никому ничего хорошего.
Перевод Google NMT: Беспокойство никогда никому не помогало.

Кстати, перевод той же фразы на Translate.Ru: «Волнение никогда не приносило никому пользы», можно заметить, что он был и остался таким же и без использования нейронных сетей.

Microsoft Translator в этом вопросе тоже не отстает. В отличие от коллег из Google они даже сделали сайт , на котором можно сделать перевод и сравнить два результата: нейронный и донейронный, чтобы убедиться, что утверждения о росте в качестве не голословны.


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

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

Машинный перевод: в чем задачи

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

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

К таким задачам можно отнести:

Быстрый перевод слов и коротких текстов для различных целей;
автоматический перевод в процессе общения на форумах, в социальных сетях, мессенджерах;
автоматический перевод при чтении новостей, статей Wikipedia;
переводчик в путешествиях (mobile).

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

Однако с целями и задачами бизнеса в отношении машинного перевода все обстоит несколько иначе. Вот, например, некоторые требования, которые предъявляются к корпоративным системам машинного перевода:

Перевод деловой переписки с клиентами, партнерами, инвесторами, иностранными сотрудниками;
локализация сайтов, интернет-магазинов, описаний продуктов, инструкций;
перевод пользовательского контента (отзывы, форумы, блоги);
возможность интеграции перевода в бизнес-процессы и программные продукты и сервисы;
точность перевода с соблюдением терминологии, конфиденциальность и безопасность.

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

Кейс: Amadeus

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

Задача - локализация условий применения тарифов (Fare Rules), формирующихся в системе бронирования автоматически из разных источников. Эти правила формируются всегда на английском языке. Ручной перевод здесь практически невозможен, ввиду того, что информации много и она часто меняется. Агент по продаже авиабилета хотел бы читать Fare Rules на русском языке, чтобы оперативно и квалифицированно консультировать своих клиентов.

Требуется понятный перевод, передающий смысл тарифных правил, с учетом типичных терминов и аббревиатур. И требуется, чтобы автоматический перевод был интегрирован непосредственно в систему бронирования Amadeus.

→ Подробно задача и реализация проекта расписаны в документе .

Попробуем сравнить перевод, сделанный через PROMT Cloud API, интегрированный в Amadeus Fare Rules Translator, и «нейронный» перевод от Google.

Оригинал: ROUND TRIP INSTANT PURCHASE FARES

PROMT (Аналитический подход): ТАРИФЫ МГНОВЕННОЙ ПОКУПКИ РЕЙСА ТУДА И ОБРАТНО

GNMT: КРУГЛЫЕ ПОКУПКИ

Очевидно, что тут нейронный переводчик не справляется, и чуть дальше станет понятно, почему.

Кейс: TripAdvisor

TripAdvisor один из крупнейших в мире туристических сервисов, который не нуждается в представлении. По данным статьи, опубликованной The Telegraph, ежедневно на сайте появляется 165,600 новых отзывов о различных туристических объектах на разных языках.

Задача перевод отзывов туристов с английского на русский язык с качеством перевода, достаточным для того, чтобы понять смысл этого отзыва. Основная сложность: типичные особенности user generated content (тексты с ошибками, опечатками, пропусками слов).

Также частью задачи была автоматическая оценка качества перевода перед публикацией на сайте TripAdvisor. Так как ручная оценка всего переводимого контента невозможна, решение по машинному переводу должно предоставить автоматический механизм оценки качества переведенных текстов - confidence score, чтобы дать возможность TripAdvisor публиковать переведенные отзывы только высокого качества.

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

Посмотрим на примеры:

Оригинал: We ate there last night on a whim and it was a lovely meal. The service was attentive without being over bearing.

PROMT (Гибридный перевод): Мы ели там в последний вечер случайно, и это была прекрасная еда. Персонал был внимательным, но не властным.

GNMT: Мы ели там прошлой ночью по прихоти, и это была прекрасная еда. Обслуживание было внимательным, не будучи более подшипников.

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

Проблемы использования NMT для бизнеса

Как уже говорилось ранее, «универсальный» переводчик не всегда дает приемлемое качество и не может поддерживать специфическую терминологию. Чтобы интегрировать в свои процессы и применять нейронные сети для перевода, нужно выполнить основные требования:

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

Для создания модели нужна база, где содержится минимум 100 млн. токенов (словоупотреблений), а чтобы получить перевод более-менее приемлемого качества – 500 млн. токенов. Далеко не каждая компания обладает таким объемом материалов.

Наличие механизма или алгоритмов автоматической оценки качества получаемого результата.

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

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

Выводы

В общем случае нейронный автоматический перевод дает результат более высокого качества, чем «чисто» статистический подход;
Автоматический перевод через нейронную сеть – лучше подходит для решения задачи «универсального перевода»;
Ни один из подходов к МП сам по себе не является идеальным универсальным инструментом для решения любой задачи перевода;
Для решения задач по переводу в бизнесе только специализированные решения могут гарантировать соответствие всем требованиям.

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

Теги: Добавить метки

Перевод веб-страниц в «Яндекс.Браузере» станет намного корректнее. Теперь в браузере используют технологии искусственного интеллекта, которые позволяют избежать неточностей статистического перевода. Ранее в компании уже статистический перевод с переводом, осуществляемым искусственным интеллектом в сервисе «Яндекс.Переводчик».

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

Например, если раньше текст:

«Game of Thrones prequel announced
Book author George RR Martin co-created the as-yet-untitled show, one of five potential spinoffs»

браузер переводил в такие фразы:

«Игра престолов приквел объявил
Книгу автора Джорджа Мартина совместно создали пока безымянного шоу, одна из пяти возможных продолжениях»

то теперь перевод будет звучать так:

«Анонсирован приквел Game of Thrones
Автор книги Джордж РР Мартин выступил соавтором пока еще не названного шоу, одного из пяти потенциальных спиноффов»

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