Neural-based machine translation

 

 

Воображаемая модель машинного перевода

Direct Machine Translation (модель дословного перевода) - в тексте выделяются отдельные слова, каждое из них переводится, согласуется морфология (падежи, окончания) и синтаксис и получается отвратительный (смешной, нелепый, абсурдный) результат.

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

 

 

Основные технологии (модели) машинного перевода

  • Rule-based machine translation (RBMT) — Машинный перевод на основе правил (c 1950 годов XX века)

  • Corpus-based machine translation (CBMT) — Машинный перевод на корпусах текстов (с 1980 годов XX века)

  • Statistical-based machine translation (SBMT) — Статистический машинный перевод (с 1990 годов XX века)

  • Neural-based machine translation (NBMT) — Машинный перевод на базе нейронных сетей (с 2015 года от РХ)

  • Hybrid machine translation (HMT) — Гибридный машинный перевод (интеграция нескольких разных подходов машинного перевода)

Иногда выделяется Example-based machine translation (EBMT) — Машинный перевод на базе примеров. EBMT основан на принципе параллельного двуязычного корпуса текстов, где каждое предложение дублируется на другом языке и является частным простым случаем CBMT.

Каждая из технологий имеет свои достоинства и ограничения.

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

 

 

Ну очень просто о NBMT

В 2014 году вышла статья с описанием идеи применения нейросетей к машинному переводу, которой заинтересовалась Google.

С помощью нейросети можно перенести стиль художника на фото, значит подобным образом наложить другой язык (понятый как стиль) на наш текст, сохранив суть текста (как приложения типа Prisma сохраняют суть изображения)

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

Текст нужно представить как набор характерных свойств (закодировать его нейросетью).

Другая нейросеть — декодер, раскодирует (выразит) этот набор характеристик, но уже на другом языке.

Декодер обучен только одному языку (стилю, инструментарию: карандаш, акварель, масло, уголь...).

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

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

Важно подобрать оптимальные архитектуры нейросетей кодера и декодера. Для обработки изображений хороши сверточные нейросети (CNN), для обработки речи и музыки реккурентные нейросети (RNN).

Архитектуры нейронных сетей переводчиков самые разные. Сначала использовались RNN, потом перешли на двунаправленные (переводчик учитывал не только слова до, но и после нужного слова, что существенно повысило эффективность).

Актуальны многослойные RNN с LSTM-ячейками для долгого хранения контекста перевода.
LSTM (Long short-term memory) – разновидность
RNN, способная к обучению долговременным зависимостям. 

В ноябре 2016, в блоге Google появляется анонс NBMT.

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

05.12.2016

Google Translate, использующий нейронную сеть для осуществления переводов стал способен производить переводы с и на языки, для которых он не предназначался изначально. К примеру, если систему обучили переводу между английским и японским языками, и английским и корейским, то она свободно может выполнить перевод между японским и корейским, но уже без использования английского языка в качестве промежуточного. Исследователи компании Google считают, система обрела такую возможность на основе модели "zero-shot translation", разработав нечто вроде внутреннего представления переводимого текста на искусственном языке, который получил название "интерлингва", является универсальным, ориентирован на его использование в технологиях автоматического перевода, абсолютно не годен для его использования людьми.

В 2017 году нейросети превзошли всё, что было придумано в переводе за последние 20 лет.

Нейронный перевод делал на 50% меньше ошибок в порядке слов, на 17% меньше лексических и на 19% грамматических ошибок.

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

 

В онлайн-версии Google Translate сделали механизм краудсорсинга переводов - пользователи могут выбрать наиболее правильную (по их мнению) версию перевода, и если многим она понравится, Google будет всегда переводить эту фразу именно так, помечая специальным значком.

 

 

 

Ошибки (словотворчество) нейросетевого перевода

 

Нейросеть-переводчик открывает новые слова

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

Антон Дворкович (разработчик «Яндекс.Переводчика»):

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

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

  • Мы «поймали» в выдаче «Яндекс.Переводчика» еще на этапе тестирования новой технологии: нейросеть решила перевести слово croatians как «хорватаны» вместо «хорватов». Если нейросеть может разбить слово на более-менее логичные части, она применяет транслитерацию — отсюда большое количество ошибок в нейросетевом переводе, когда незнакомые системе слова превращаются в итоге в своеобразные англицизмы (например, «консалтанты» вместо «консультантов»).

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

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

  • В нашей первой версии новой технологии такие ошибки, которые мы называем стьюпидами, встречались в 7% запросов, сейчас нам удалось уменьшить их количество в восемь раз, то есть осталось около процента. Борьба продолжается, но уже в основном благодаря фидбэку от пользователей. Недавно, например, нейросеть почему-то решила всегда писать «(Алексей Алексеевич)» (именно в скобках!) перед фамилией определенного человека, нам пришла жалоба, мы все быстро исправили».

Примеры забавных ошибок нейросетей-переводчиков:

  • Блотировать (глаг., от англ. blot out) Закрывать что-либо
    Как можно применять «Она блотировала нападающую, отняла мяч и перехватила инициативу»

  • Дзюдок (сущ., от англ. judokas) Дзюдоист
    Как можно применять «Он сильный дзюдок, недавно получил кандидата в мастера спорта»

  • Дискордировать (глаг., от англ. discord) Разойтись во взглядах
    Как можно применять «Мы с ним вчера так сильно подискордировали»

  • Задушка (сущ., от англ. stranglehold) Мертвая хватка
    Как можно применять «Новый бригадир держит нас в задушке»

  • Зигзагировать (глаг., от англ. zigzags) Двигаться зигзагами
    Как можно применять «Клиент что-то начал зигзагировать»

  • Ламбастировать (глаг., от англ. lambasted) Критиковать, ругать
    Как можно применять «Она разламбастировала новую игру Ubisoft»

  • Ломбардист (сущ., от англ. pawnbroker) Ломбард, сотрудник ломбарда
    Как можно применять «Мой друг-ломбардист говорит, что это серебро стоит дороже»

  • Морники (фраз., от англ. good morning) Доброе утро
    Как можно применять «Всем морники!»

  • Обонять (глаг., от англ. to sniff) Нюхать
    Как можно применять «Пообоняй, пожалуйста, это еще не прокисло?»

  • Обскурить (фраз., от англ. skimmed the cream) Снять сливки
    Как можно применять «Обскурила это интервью — вот лучшие моменты»

  • Постерный (прил. от англ. poster) То, что было опубликовано в социальной сети

  • Как можно применять «А эти видео уже постерные? Или еще нет?»

  • Ретортировать (глаг., от англ. retort) Парировать, возражать
    Как можно применять «Ретортирую, нельзя так делать, иначе мы не уложимся в срок»

  • Сахариться (глаг., от англ. sugarcoat) Приукрашать
    Как можно применять «Хватит сахариться, мы же не укладываемся в дедлайн!»

  • Сторонировать (глаг. от англ. reversal) Развернуть
    Как можно применять «Сторонируйся — едем обратно»

  • Тайма (сущ. от англ time) Время
    Как можно применять «Давай быстрее, у нас уже совсем нет таймы»

  • Ушибистость (сущ., от англ. brutishness) Грубость, брутальность
    Как можно применять «Этот парень какой-то слишком ушибистый»

  • Травянин (сущ., от англ. herbalist) Травник
    Как можно применять «В следующей передаче — интервью с сибирским травянином Олегом Шишкой»

  • Хокке (прил. от англ. hokey) Фальшивый
    Как можно применять «Мне не нравится этот актер, он — хокке

 

 

 

Просто о NBMT

Сегодня повышение точности машинного перевода связывают:

  • с применением методов машинного обучения,

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

  • развития параллельного вычисления

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

Простой пример:

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

 

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

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

Как понять LSTM сети
Long Short Term Memory - особый вид рекуррентных сетей, способных к обучению долгосрочным зависимостям.

LSTM – сети долгой краткосрочной памяти

 

Система NBMT (очень упрощенно!):

  • состоит из двух многослойных (до восьми слоев) рекуррентных нейросетей (анализирующей и синтезирующей) и "модуля внимания".

  • анализирующая нейросеть «прочитывает» формально определяемое предложение (одновременно справа налево и обратно) и передает свое состояние синтезирующей нейросети,

  • синтезирующая нейросеть на основе переданных ей состояний многомерного математического пространства n-грамм  составляет из его элементов (wordpieces - десятков тысяч слов и частей слов, находящихся в ее базе) семантически значимые предложения на другом языке.

  • модуль внимания, установленный между нейросетями, корректирует их работу таким образом, чтобы система не пропускала редкие, но важные для смысла предложения wordpieces (n-граммы).

 

Использование n-грамм позволяет рекуррентным нейросетям работать на разных уровнях: от букв до словосочетаний)

 

 

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

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

Работа на уровне целых слов приводит к проблемам с суффиксами, окончаниями и прочими флексиями, что для перевода очень нежелательно.

 

 

 

Neural-based machine translation

 

три умные статьи

Kyunghyun Cho is an assistant professor in the Department of Computer Science, Courant Institute of Mathematical Sciences and the Center for Data Science at New York University (NYU) (starting September, 2015).

Introduction to Neural Machine Translation with GPUs (part 1)

Introduction to Neural Machine Translation with GPUs (Part 2)

Introduction to Neural Machine Translation with GPUs (part 3)

перевод на русский язык

 

 

 

 

 

NBMT в Google Translate

Искусственные нейронные сети (не рекуррентные) давно использовались в системе Google Translate для распознавания текста на изображении. Сам перевод надписей проводился традиционным путем.

11.03.2016

Джефф Дин (Jeff Dean, гений, глава Google Brain)

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

  • В будущем Google Translate будет производить намного более качественные переводы, по своей точности сравнимые с результатами труда профессиональных лингвистов.

  • Обучаемые нейросети обеспечат сокращение числа ошибок минимум на 60% (от 60 до 87%).

  • переводческий сервис будет изучать поведение конкретного пользователя и предоставлять для его аккаунта особый перевод.

28.09.2016

Posted by Quoc V. Le & Mike Schuster, Research Scientists, Google Brain Team

Ten years ago, we announced the launch of Google Translate, together with the use of Phrase-Based Machine Translation as the key algorithm behind this service. Since then, rapid advances in machine intelligence have improved our speech recognition and image recognition capabilities, but improving machine translation remains a challenging goal.

Today we announce the Google Neural Machine Translation system (GNMT), which utilizes state-of-the-art training techniques to achieve the largest improvements to date for machine translation quality. Our full research results are described in a new technical report we are releasing today: “Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation

  • Научная статья с описанием многоязычной системы машинного перевода Neural Machine Translation System на базе нейросети за авторством Мелвина Джонсона, Максима Крикуна и других сотрудников Google опубликована 14 ноября 2016 года в открытом доступе.

 

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

 

17.10.2016

Google Translate начал использовать NBMT на трех парах языков: английский и китайский, английский и французский, английский и испанский.

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

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

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

 

Распределение оценок качества перевода по баллам.

  • Синим цветом показан традиционный
    машинный перевод

  • Красным цветом показан
    перевод нейросети

  • Оранжевым цветом показан перевод носителем языка

 

Для NBMT используется специфическая микросхема, созданная для Machine LearningTensor Processing Unit.

В итоге перевод стал в 3,5 раза быстрее, чем на основе стандартных чипов. Чтобы оценить производительность виртуального переводчика, были взяты статьи из всемирной . Качество перевода — на уровне «человеческого» перевода.

06.03.2017

Google Translate подключил русский язык к переводу с глубинным обучением сообщается в официальном блоге компании

20.04.2017

Google Translate подключил украинский язык к переводу с глубинным обучением сообщается в официальном блоге компании

 

 

Google Neural Machine Translation

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

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

Сообщения СМИ о создании нейросетью «нового универсального языка человечества» ...
кхмм... не соответствуют действительности :)

Математически это многомерное пространство, составленное при помощи техники t-SNE (t-distributed stochastic neighbor embedding - нелинейного снижения размерности и визуализации многомерных переменных).

Новый метод универсального перевода, названный разработчиками "Zero-Shot Translation" основан на архитектуре нейросети Google Neural Machine Translation.

 

 

NBMT в  Bing Translator

Microsoft экспериментально использует Neural-based machine translation в сервисе перевода Microsoft Translator (https://translator.microsoft.com/neural) для десяти языков, в том числе русского и английского.

Пользователи могут сравнить результаты работы старого (статистического) и нового (нейронного) подходов работы Microsoft Translator на специальном сайте.

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

Новая технология уже работает в мобильных клиентах Microsoft Translator для Android и iOS, десктопном приложении и Skype.

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

Переводчик Microsoft Translator работает подобно Google Translate.

 

 

M2M-100 (Facebook AI)

20.10.2020  Facebook AI представила прямую систему машинного перевода M2M-100 с 15 млрд параметров.

M2M-100 способна переводить с одного языка на другой (между парами из 100 языков) напрямую (не используя английский в качестве промежуточного).
Модель обучали на наборе данных из более чем 7,5 млрд предложений из базы Facebook и других источников.

При разработке использовали инструмент CommonCrawl, который поддерживает открытый репозиторий данных веб-сканирования, и систему классификации текстов FastText.

Согласно метрикам BLEU, M2M-100 на 10 баллов опережает предшественника, где английский язык был промежуточным.

Facebook AI: Эта модель может быть полезной не только при машинном переводе, но и при изучении языков.

Только для своей новостной ленты Facebook ежедневно выполняет около 20 млрд машинных переводов.

Использование английского языка в качестве посредника снижало точность перевода и усложняло процесс.

 

 

Open Neural Machine Translation

Open Neural Machine Translation (OpenNMT) - проект открытой системы машинного перевода, использующего методы машинного обучения.

 

 

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

  • Для построения нейронной сети проект использует возможности библиотеки глубинного машинного обучения Torch. Применение Torch позволяет задействовать возможности GPU (c поддержкой CUDA) для ускорения процесса обучения нейронной сети.

  • Код развиваемых проектом OpenNMT модулей для Torch написан на языке Lua и распространяется под лицензией MIT.

  • Для упрощения распространения продукта проектом также развивается самодостаточный вариант транслятора на языке C++, который использует предварительно натренированные модели без привязки зависимостями к Torch и Lua.

Крупнейшими участниками проекта являются:

  • компания SYSTRAN, специализирующаяся на создании средств машинного перевода,

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

Для ознакомления с качеством работы OpenNMT введён в строй online-переводчик, в том числе поддерживающий русский язык.

Для упрощения применения OpenNMT:

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

  • доступна универсальная модель для произвольного перевода текстов на французском, испанском, португальском, итальянском и румынском языках.

Для остальных языков предлагается самостоятельно подготовить модель перевода, осуществив обучение нейронной сети на основе эталонного набора переводов (для обучения системе передаётся два файла - один с предложениями на исходном языке, а второй с качественным переводом этих предложений на целевой язык).

Для упрощения развёртывания OpenNMT

  • предоставляется преднастроенный контейнер на базе Docker.

  • интерфейс пользователя максимально упрощён и требует лишь указания входного файла с текстом и файла для сохранения результата перевода.

Система расширений даёт возможность реализовывать на базе OpenNMT дополнительную функциональность:

  • автореферирование

  • генерация субтитров

  • оптическое распознавания текста
    (
    развивается система, способная распознавать и переводить в формат LaTeX сложные математические формулы).

 

http://www.opennet.ru/opennews/art.shtml?num=45858

http://opennmt.net

 

 

 

NBMT в Facebook

05.05.2017

В Facebook создан прототип новейшей экспериментальной системы машинного перевода на основе свёрточных нейронных сетей (CNN), который работает в девять раз быстрее конкурирующих ресурсов, которые используют рекуррентные нейронные сети (RNN).

Свёрточная нейронная сеть (convolutional neural network, CNN) — архитектура искусственных нейронных сетей в составе технологий глубинного обучения (deep learning).

CNN дает возможность анализировать полученные данные одновременно, а не последовательно, как это происходит в RNN.

Принцип работы системы машинного перевода на основе CNN (gif-анимация)

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

См. статью:

 

 

 

NBMT в Baidu Translator

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

Поисковик Baidu  - 75% поискового трафика китайского интернета.

05.03.2017 Baidu объявила об открытии исходных текстов своих наработок в области глубинного машинного обучения PaddlePaddle (PArallel Distributed Deep LEarning) под лицензией Apache 2.0. PaddlePaddle позиционируется как универсальная система машинного обучения, подходящая для различных сценариев применения,в том числе машинного перевода.

15.03.2017 Baidu представила Deep Voice - систему преобразования текста в речь, построенную на обучаемой нейросети, которая научилась говорить за несколько часов (подробнее здесь).

Использование в NBMT в онлайновом сервисе Baidu Translator на стадии разработок и экспериментов.

 

 

 

NBMT в Яндекс-переводчике

В 2009 г. когда Яндекс занялся исследованиями в области статистического машинного перевода.

16.03.2011 Запущена публичная бета-версия сервиса Яндекс.Перевод с двумя языковыми парами: англо-русской и украино-русской.

Нейросетевой Яндекс-переводчик запущен в 2017 году и существенно отличается от Google Neural Machine Translation

Главное отличие - гибридность.

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

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

Дэвид Талбот (специалист в области NLP и ML, PhD по информатике (Эдинбургский ун-т), дипломом бакалавра с отличием по современным языкам и литературе (Оксфорд). Интересы - построение и понимание компьютерных моделей языка, вопросы использования лингвистической структуры языка для информирования таких моделей, а также применение теории информации и статистики для их обучения):

  • Проработав 9 лет в Google, мне хотелось поработать в более гибкой и быстро движущейся компании, где я смогу быстрее реализовывать задуманное. Сейчас в машинном переводе происходят потрясающие перемены, и работать в "Яндексе" в такое удивительное время будет по-настоящему интересно.


 

 

 

NBMT в ПРОМТ

Для компании PROMT  технологии NBMT "на стадии исследований и разработок"

Борис Тихомиров (директор мобильных и интернет-проектов PROMT):

  • Нейронный переводчик Google лучше как универсальный переводчик.

  • Наш подход в том, что каждой задаче — своя технология. Что касается нейронного перевода от PROMT, то он будет использоваться для наших клиентов на тех задачах, где качество сможет быть лучше, чем любой другой подход. Пока мы находимся на таком этапе, что наш подход позволяет более качественно решать конкретные задачи наших клиентов без применения нейронных сетей. Мы сейчас используем активно rule based перевод, статистический перевод или технологию Deep Hybrid — в зависимости от задач клиента. И на тех задачах, где нейронные сети будут давать выигрыш в качестве, будем использовать их. Исследования в эту сторону идут.

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

  • Значительно улучшить качество перевода можно с помощью специализации. Сравню с человеком. Один умеет лечить людей, другой – делать чертежи. И эти специалисты не взаимозаменяемы, т.е. мы не хотели бы, чтобы нас оперировал инженер. :) Один переводчик переводит медицинскую литературу, другой – документацию к программному обеспечению. Например, мы уже второй год подряд побеждаем с англо-русской языковой парой на международном конкурсе по автоматическому переводу. Конкурс проводится на новостных текстах. Это и есть специализация. Мы много работает над тем, чтобы такой тип текста, такая лексика хорошо переводились.

Борис Тихомиров Диалектика нейронного машинного перевода (перерастает ли количество в качество)

 

 

 

Барак Туровски о Google Translate

12.04.2017

Барак Туровски (глава Google Translate (https://www.linkedin.com/in/baraktur),
родился в СССР, в ходе интервью на английском, часто переходил на русский
язык):

  • Переводчик — очень важный для нас продукт. Почти 50% контента в интернете — на английском языке. Но если посмотреть на население планеты, то минимальными навыками английского владеют не больше 20% жителей Земли. Для эффективного использования интернета это очень серьезное препятствие. Поэтому переводчик — такой популярный продукт, в месяц им пользуется более полумиллиарда человек, а в день мы переводим около 140 миллиардов слов.

140 миллиардов слов = 600 миллионов страниц

на стандартной странице (в среднем) 235 слов русского текста, 220 английского, 222 немецкого.

Дневная норма переводчика = 8 страниц текста

140 миллиардов слов (600 000 000 страниц) - работа для 75 000 000 переводчиков!

 

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

  • Качество перевода — это основа основ и сейчас мы осуществили крупнейший прорыв за последние десять лет — в том числе и для перевода с русского и обратно. Мы говорим о третьем поколении систем машинного перевода.

  • Первое поколение было разработано в 1950–60-х годах в рамках советско-американского шпионского противостояния: все хотели быстро понимать, о чем говорит противник. Работа была основана на правилах, которые разрабатывали лингвисты, и каждое предложение нужно было переводить, применяя к нему различные правила.

  • Второе поколение — статистический машинный перевод. Тут машина, применяя те же технологии, которые используются в поиске, ищет в интернете доступные варианты перевода, уже сделанные человеком. Любые открытые источники — документация ООН, новостные заметки — все, что удается найти, собирается и превращается в гигантский корпус данных на разных языках. В этих данных машина затем находит статистические закономерности. Главное различие в том, что, во-первых, больше не нужны были лингвисты. В нашей команде, например, нет ни одного лингвиста — все делают инженеры и исследователи, ну и, конечно, сами машины. Во-вторых, открылись поразительные возможности для масштабирования — за десять лет мы разработали переводчики для 103 языков, обеспечив переводом почти 99% пользователей интернета.

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

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

  • Главное мерило качества в случае с переводом — это его точность. Мы используем шкалу от 0 (полная белиберда) до 6 (отличный перевод). Но, конечно, перевод, выполненный на шесть, почти не встречается. Даже самый лучший перевод, выполненный человеком, — это где-то 5,5. Для некоторых языков нам удалось вплотную приблизиться к «человеческому» качеству перевода. Для тех, которые структурно отличаются от английского, — пока сохраняется существенный разрыв.

  • В 2014 году мы, по просьбе людей из Казахстана, запустили Google Translate Community — инструмент для краудсорсинга. Добиться хорошего качества перевода с казахского языка очень трудно — из-за отсутствии массива переводов с казахского на английский и обратно). И мы запустили очень примитивный механизм: добровольцы переводят, читают и оценивают перевод. Задача была — собрать два миллиона фраз, с этим уже можно работать. Управление центральных коммуникаций президента Казахстана попросило всю страну помогать и тысячи человек сидели и переводили в режиме 24 на 7. И мы запустили поддержку казахского. Так что без человеческих усилий у нас никуда, хотя подавляющее большинство работы выполняют машины.

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

  • Когда я только начинал этим заниматься, я предполагал, что главное, с чем люди сталкиваются чаще всего, — это туризм и торговля. Но совсем не так. Самые частотная тема - романтические отношения. Для большинства языков «я люблю тебя» — третья по популярности фраза для перевода. В некоторых языках — первая.

  • Подавляющее большинство тренировочных данных переводчика — это перевод с английского и обратно. И если человеку нужно перевести что-то с русского на японский — в большинстве случаев нам приходится переводить сперва с русского на английский и лишь затем на японский. Разумеется, прямой перевод был бы лучше, но мы поддерживаем перевод со 103 языков, то есть число их комбинаций — 103 в квадрате, это 10 609 языковых пар. Для обучения это очень сложно. Зато нейронный перевод позволяет машинам учиться работать с несколькими языками одновременно. Например, языки можно объединять в родственные группы, что значительно упрощает нам работу. Кроме того, внутри родственных групп можно создавать работающие модели, которым уже не потребуется посредник в виде английского.

  • Мы стараемся использовать книги для обучения машин, но здесь есть много сложностей. Во-первых, книги не машиночитаемы, даже если сканировать их в pdf. Во-вторых, для обучающего корпуса важно не только наличие перевода, но и его, как мы говорим, коллинеарность. Иными словами, в идеале должен быть не просто передан смысл, но и сохранена структура предложений — тогда машине значительно проще выявить статистическую закономерность. Переводы художественной литературы очень редко коллинеарны, о поэзии я вообще молчу. Перевести Айзека Азимова — это искусство. То, как Маршак переводил английский, — в детстве я даже не знал, что все эти стихотворения переведены. Ты смотришь на это и видишь, что перевод выполнен на исключительном уровне, выполнен людьми, которые сами являются литераторами. Для машины это создает колоссальные проблемы: если переведено не буквально, то все закономерности перемешиваются. Потому что переводится, как говорится, не только буква, но и дух. Но машина смотрит на перевод буквально. Так что перевод машиной поэмы Пушкина на английский язык — это из области научной фантастики. Да мы и не стремимся: тут уже не математика, а искусство.

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

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

 

 

 

«Война и мир» переводится за 2 секунды

12.04.2017

Дмитрий Сошников (технологический евангелист Microsoft, специалист по функциональному программированию, нейросетям и искусственному интеллекту):

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

  • В облаке Microsoft планирует предлагать не только классические вычислительные ресурсы, но и программируемые логические интегральные схемы FPGА.

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

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

FPGА (Field-programmable gate array) — полупроводниковое устройство, которое может быть сконфигурировано производителем или разработчиком после изготовления в любой момент в процессе их использования; является одной из архитектурных разновидностей программируемых логических интегральных схем (ПЛИС).

 

 

 

kmp рекомендует

Статья в The New York Times Magazine
о нейронных технологиях Google Translate,
их создателях,
искусственном интеллекте
и "Китайской комнате"

 

 

 

 

 

Фото в живопись ... и обратно

11.06.2016

Prisma — мобильное приложение (2016) Алексея Моисеенкова, позволяет (с помощью самообучающейся нейронной сети, расположенной на сервере) преобразовывать изображения в стиле работ известных художников.

21.06.2016 По данным App Annie, Prisma стала лидером по скачиванию в App Store в 10 странах. 

31.06.2016 And 1 billion photos processed #prisma

20.04.2017

Программисты из Исследовательской лаборатории Калифорнийского университета в Беркли (BAIR) научили нейросеть переводить (пробразовывать) картины художников в реалистичные фотографии

Cтатья c результатами исследования здесь (PDF)

Алгоритм подобен тому, который создали разработчики приложения Prisma, которое переносит стили известных художников на фотографии.

 

 

Исследователи использовали генеративную состязательную нейросеть (GAN), состоящую из двух компонентов: генератора, который создаёт синтетическое изображение, и дискриминатора, который проверяет сходство с исходником. В неё загрузили более тысячи картин Моне, Ван Гога и Сезанна, десятки тысяч фотографий с Flickr.

Этот же метод позволил превращать летние пейзажи в зимние...


 

Стилизатор Ашманова (стилизация изображения с помощью технологии Style Transfer - пример использования нейросетей для развлечения, искусства и дизайна).

Компьютерный перевод - языковая игра!

02.04.2020 ARTS AND CULTURE. Transform your photo in the style of an iconic artist

  • Новая функция основана на использовании нейросети, которая заново воссоздаёт изображение на основе выбранного художественного стиля (а не накладывает эффекты на фото)

  • Обработка фото происходит непосредственно на устройстве (!)

  • Открываем меню «Камера» в нижней панели приложения Arts & Culture и выбираем Art Transfer

  • После съёмки (выбора) фото можно выбрать шедевр, стиль которого будет применен к фотографии

  • Можно сделать «кроп», выбрав, к какому участку изображения он хочет применить эффект

  • Функция «Поделиться» позволяет показать в соцсетях результаты под хэштегом #ArtTransfer

20.01.2021 Учёные МТИ, Гарварда и Кембриджа предложили анализировать мутации вирусов с помощью ИИ для распознавания текста

 

 

 

Широко понятый перевод

Генеративно-состязательная сеть от Nvidia,  генерирует фотографии несуществующих людей.

Обновлять страницу получаем уникальное реалистичное изображение (иногда с изъянами).

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

25.02.2019 Александр Крайнов (отвечает за машинное обучение в «Яндексе»):

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

  • Я не думаю, что люди ставили задачу: «А давайте генерировать лица!». Просто лица всегда интересный домен — для нас, для людей.

  • Думаю, мы доживём до момента, когда появятся несуществующие актеры. Не просто 3D-модель, а лицо, сгенерированное нейронной сетью. Оно будет обладать мимикой и будет «вставляться» в фильм. При этом реальный актер всё равно будет играть за кадром, но его мимика будет перенесена на сгенерированное лицо. В этой ситуации реального актёра мы не будем видеть. Это примерно то же самое, что сейчас происходит с 3D-фильмами: на актёров ставят датчики, а потом движения актёров переносят на дракона на экране. А тут актёр будет играть человека. И это будет абсолютно фотореалистичный человек.

Подумать о связи автогенерации лиц и переводов в контексте:

  • роли людей (актеров и переводчиков)

  • ошибках нейронных переводчиков и изъянах нейронных генераторов лиц

 

 

 

Переводим с чешского

20.04.2017

Překladač Googlu zapojil neuronové sítě, překlady do češtiny mají být výrazně lepší

PŘIDEJTE NÁZOR

Přesnější a srozumitelnější strojový překlad textů – to si od nejnovější technologické změny ve svém Překladači slibuje Google. Pro překlady mezi angličtinou a češtinou teď používá technologii založenou na neuronových sítích.

Automat tak už nepřekládá jednotlivá slova nebo krátká slovní spojení, ale rovnou celé věty. Překlad by se tak měl více přiblížit přirozené řeči.

Google technologii poprvé uvedl do provozu loni na podzim, kdy začal testovat překlady mezi angličtinou a čínštinou. Technologii tehdy popsal v této studii (PDF v angličtině).

Překladač pak postupně přidával další jazyky a teď se dostalo i na češtinu. Inovovaný překladač Google nasadil jak do webové aplikace, tak do aplikací v mobilních zařízeních.

Podle prvních testů se strojový překlad opravdu zlepšil, zejména u méně náročných textů. Pokud ale do překladače zadáte například úryvek z uměleckého textu, chyb je v překladu pořád dost, zjistil například server iHNED.cz.

 

 

kmp