Яндекс гибридная система перевода. Искусственный интеллект в Яндекс.Браузере

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

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

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

Гибридный перевод фраз и слов

Браузер от Яндекса единственный, кто способен перевести страницу в целом, а также слова и фразы по отдельности. Функция будет весьма полезна и тем пользователям, кто более-менее владеет иностранным языком, но иногда сталкивается с трудностями перевода.

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

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

Нейросетевой переводчик

Иностранный контент оформляется весьма специфично:

  • первые буквы слов в заголовках пишутся заглавными;
  • предложения строятся с упрощенной грамматикой, некоторые слова опускаются.

Навигационные меню на сайтах анализируются с учётом их расположения, например слово Back, правильно переводить назад (вернуться назад), а не спина.

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

Итоги применяемого перевода

Качество перевода можно измерить алгоритмом BLEU*, который сравнивает машинный и перевод от профессиональна. Шкала качества от 0 до 100%.

Чем лучше нейронный перевод, тем выше процент. Согласно этому алгоритму Яндекс браузер стал переводить в 1,7 раза лучше.

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

Статья по мотивам выступления на конференции РИФ+КИБ 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 – это история в первую очередь облачная.

Выводы

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

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

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



Машинный перевод с помощью нейросетей прошёл долгий путь с момента первых научных исследований на эту тему и до того момента, как компания 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). Ни одна из статей ещё не опубликована в научной прессе.

14.09.2017, Чт, 14:19, Мск , Текст: Валерия Шмырова

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

Запуск нейросети

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

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

Отличия от статистического переводчика

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

Перевод нейросети напоминает перевод человека

К особенностям нейросети относится склонность «фантазировать», когда ей что-то не понятно. Таким образом она пытается угадать правильный перевод.

У статистического переводчика есть свои преимущества: он удачнее переводит редкие слова и выражения - мало распространенные имена, топонимы и т. д. Кроме того, он не фантазирует в том случае, если смысл предложения не ясен. По словам разработчиков, статистическая модель лучше справляется с короткими фразами.

Другие механизмы

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

В затруднительных случаях нейросеть склонна фантазировать

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

Что такое «Яндекс.Переводчик»

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

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

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

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

В закладки

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

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

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

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

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