[Из песочницы] Нейронный машинный перевод Google

habr.png

Отчет написан в декабре 2017.

It’s not who has the best algorithm that wins. It’s who has the most data. Побеждает не тот, у кого лучше алгоритм, а тот, у кого больше данных. Эндрю Нг, преподаватель курса по машинному обучению на Coursera.

If you scale up both the size of the model and the amount of data you train it with, you can learn finer distinctions or more complex features. …These models can typically take a lot more context. Jeff Dean, an engineer helping lead the research at Google. Если увеличить размер модели и дать ей больше данных для обучения, она начнет различать более тонкие и сложные особенности. …Эти модели обычно воспринимают более широкий контекст. Джеф Дин, инженер, помогающий в управлении исследованиями в Google.

Я тестировала Google Translate на одних и тех же текстах в марте и декабре 2011, январе 2016 и декабре 2017 года. Брала одни и те же отрывки на английском, русском, немецком, французском, украинском и польском языках и переводила каждый на остальные пять языков из выборки. Кроме того, в декабре 2017 дополнительно взяла новые тексты и протестировала во всех направлениях перевода. Результаты cross-verification в целом совпали с тенденциями в первоначальной выборке. В итоге получился срез работы переводчика Google за 2011 — 2017 годы, и на основе этих материалов можно сделать выводы об эволюции сервиса и прокомментировать маркетинговые заявления компании (цитаты планируется опубликовать отдельно).

Хроника событий


В период до 2011 года (и, возможно, позже) в Google фактически утверждали, что статистический переводчик самообучаемый (см. соответствующие цитаты сотрудников в моей статье «Совместимость языков», [1]) и что, по мере накопления параллельных текстов в каждой языковой паре, качество продукции неуклонно стремится к человеческому уровню исключительно благодаря новаторскому статистическому подходу. В 2012 году Google запустили самообучаемую нейросеть [6] и в сентябре2016 года объявляют о переводе своего машинного переводчика на глубинное обучение, что опять-таки обещает неуклонный рост качества продукции [3, 4, 5]. С марта 2017 года нейросеть стали использовать для перевода на русский.

Давайте рассмотрим, что конкретно удалось переводчику Google за эти годы, в чем его сильные стороны (никто не отрицает, что это один из лучших машинных переводчиков).

Ретроспектива


Год 2011


(По материалам моей статьи 2012 года, [1].)

Перевод во многих языковых парах идет через промежуточный перевод на английский с эффектом «сломанного телефона»


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

Берем полученную английскую фразу [перевод с русского] и переводим в сервисе на немецкий и французский. Результат на 100% совпадает с приведенным в третьей и четвертой строках переводом якобы с русского. Ошибки немецкого и французского перевода коррелируют с неточностями и структурой английской фразы, но никак не русского оригинала.

Когда порядок слов в английском тексте нарушен, формы слов и их последовательность не являются надежным индикатором роли этих слов в предложении [при дальнейшем переводе на целевые языки].

Статистический перевод оптимален между родственными языками


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

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

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

Английский — «стержневой» язык в Google Translate


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

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

Значительного улучшения качества переводов со временем не происходит


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

Год 2016


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

Год 2017


Английский как язык-посредник сохраняет свою роль, но немного сдает позиции


Появляется больше вариаций, отклонений от английского промежуточного перевода. Часто эти эксперименты неудачны, то есть если бы перевод на целевой язык по-прежнему вслепую шел за английским, результат был бы лучше. Однако параллельно улучшилось «владение» грамматикой целевого языка: если в английском варианте текст расшифрован адекватно, то можно быть уверенным на 90%, что в переводах на остальные языки будут проставлены правильные окончания, подобраны подходящие лексические средства, выстроен оптимальный порядок слов. Если в английском «каша»… Нет, каши в результатах 2017 уже нет и это большое достижение. Если в английском переводе небольшой сбой, то в переводе на целевые языки, по закону сломанного телефона, недопонимание усиливается. Впрочем, искажение (неправильный выбор слова) в целевых языках встречается и при идеальном английском переводе.

По сравнению с переводами 2011 — 2016 годов, характер отклонений от английского перевода в 2017 году таков, что создается впечатление, что 1) прикрутили «рандомайзер», 2) переводчик обрабатывает текст в несколько этапов и может в процессе исказить отдельные куски или наоборот уточнить их значение по исходнику, а не английскому посреднику.

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

Тенденция к генерации текста на целевом языке в соответствии с законами его грамматики
Корреляции между переводами одного текста на разные языки меньше, чем раньше. Сервис не переводит дословно, результат стал более свободным: адекватная перефразировка, перегруппировка слов, перестановка слов из начала в конец предложения, если того требуют правила языка (в немецком это реализовано великолепно). В отличие от предыдущего уровня (phrase-based translation– однократное нахождение соответствий отдельных слов и фраз), нейронный переводчик в какой-то степени трансформирует предложения, анализирует их как единое целое и устанавливает соответствия «из конца в конец» в несколько стадий (end-to-end mapping — сквозное преобразование, полного цикла, непрерывная трансформация многообразия данных со входа на выход).

Более точный анализ структуры предложения и слова


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

Качество перевода за последний год выросло значительно


В 2011 — 2016 годах в переводах сложных фраз на английский была только видимость связности: переведенные слова и словосочетания нанизывались в цепочку в слегка скорректированном порядке, но «глубинного понимания» структуры не было, и порой перевод выглядел гладким только потому, что в английском часто не нужны окончания, а отсутствие служебных слов в некоторых стилях допустимо. Зато это «непонимание» всегда проявлялось в дальнейших переводах на целевые языки. В переводах за декабрь 2017 года структура английского предложения выверена лучше — и лучше интерпретируется на другие языки. Качество на этих языках повысилось соразмерно: чуть ниже английского, но намного выше прежнего плюс есть спорадические пропуски слов и отступления от английского (в большинстве случаев неудачные).

Утрачены некоторые позиции по лексической точности по сравнению с переводами 2011 и 2016 годов, но общая понятность итогового текста важнее того, что переводчик щеголяет знанием отдельных терминов и выражений. В 2011 году на фоне других машинных переводчиков качественная работа с лексикой и фразеологией была достижением. Только лучшим удавалось найти такие точные соответствия устойчивых словосочетаний, имен собственных и терминов. Однако отдельных соответствий при общей несвязности было недостаточно. Требовалось подтянуть «знание грамматики». За пять лет «самообучения» статистического переводчика (с 2011 по 2016) повышения связности не произошло. Качественный скачок произошел после интеграции с нейросетью (или так совпало). Теперь, на образцах, которые я взяла 3 декабря 2017 года, могу подтвердить, что сверхзадача стала более достижимой: «компьютер» (скорее огромная вычислительная сеть) может распознавать текст без трудоемкого прописывания правил вручную. (Но иногда ошибается. Поэтому лучше давать ему тексты попроще, без витиеватых предложений длиной в пять строк.)

Если в 2011 и 2016 годах доля «темных мест» (несвязного набора слов) во взятых мной образцах перевода на все языки составляла 1 2 фрагмента на текст длиной 65 — 90 слов, то в 2017 — «темных мест» не осталось. (Я брала для перевода не каламбуры и другие заумные выражения, а обычные тексты. Неверный и даже комичный перевод отдельных слов и словосочетаний по-прежнему имеет место, однако к созданию «темных мест» не приводит.) Читая перевод, примерно понимаешь, о чем речь, даже если он «корявый». Причем качество перевода на английский выше, чем на другие целевые языки.

Если в 2011 году главная фишка переводчика Google была нахождение идеальных в данном контексте соответствий между языками (лексический, фразовый уровень), то в 2017 году, немного утратив в лексической точности, переводчик набрал обороты в синтаксическом анализе предложения и передаче грамматических связей.

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

Перевод на украинский «отвязали» от русского языка-посредника


Раньше (вплоть до предпоследнего «замера» в январе 2016 года) переводы на украинский и русский совпадали на 99,9%, причем если это и понижало качество перевода на украинский, то незначительно, несмотря на то, что от оригинала его отделял перевод сначала на английский, потом на русский («третья вода на киселе»).

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

Раньше неправильный перевод если и был, то сразу во всех языках: в одном и том же месте одинаковая ошибка. Это объяснялось «заминкой» в английском переводе. Теперь ошибки появляются еще и спорадически: то на одном языке, то на другом, когда на английском и других целевых языках все ОК. На украинском это происходит пока чаще, чем на других языках из выборки. Кроме того, в переводе трех разных текстов с украинского на немецкий, французский и польский много абсурдных искажений, которых в переводе на английский нет. Также в паре с украинским примерно треть имен искажена, хотя точная передача имен — традиционная фишка Google с «незапамятных» времен. Примеры: Бладд вместо Бладуд, Daphne du Morley вместо Daphne de Maurier, Racine вместо Rachel; в другом месте Rachel было написано правильно только на английском, но на немецком, французском и польском появилось Racch). Я предположила, что такие искажения это ошибка не глоссария, а «ситуационный» сбой системы, и в другом тексте то же имя может быть передано верно. Гипотеза подтвердилась, кроме случая с Daphne du «Morley».

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


Статистический переводчик хорошо работал с распознаванием терминов, имен, фраз, часто удачно выбирал значения слов в контексте предложения. Проблемы начинались, когда не получалось правильно интерпретировать взаимосвязь между словами, их грамматическую роль. В переводах 2017 года заметно значительное улучшение в этом направлении, т. е. нераспознанных мест стало меньше. Адекватный ли это перевод? Не совсем. Нейронный переводчик привязан к структуре предложения. Он неплохо трансформирует языковые конструкции с языка на язык. Сервис берет смысл не предложения или абзаца, а более мелких сегментов (которые стал определять гораздо лучше) и «склеивает» куски в соответствии с правилами грамматики целевого языка.

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

Чего не хватает?


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

Сколько промежуточных фаз от нынешней стадии развития машинного перевода до литературного, подразумевающего владение стилевыми нормами и передачу образности? Столько же, сколько до создания искусственного интеллекта, способного к рассуждениям.
Иногда мне кажется, что языковые нормы поменяются раньше. За счет того, что мы читаем много «недопереводов» с английского, наш родной язык может стать более терпимым к англицизмам — не только к отдельным словечкам, но и к инородной структуре фраз. Языки, которые образуются на базе языка колонизатора и языка местного населения, называются пиджины. Они берут из колонизатора неологизмы; грамматику оставляют свою. Яркий пример: речь наших бывших сограждан на Брайтон-Бич (и в других местах проживания за границей) или офисный рунглиш: к английским словам «приделываются» русские окончания. Завалидировать, зааппрувить, расшарить и т. п.

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

Чего конкретно не хватает до уровня литературного перевода


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

No one reflecting on their life has ever wished there had been fewer such moments.
Google: Никто, размышляющий о своей жизни, никогда не мечтал, что таких моментов было меньше.
Human: Оглядываясь на прожитую жизнь, никто не скажет, что таких моментов было слишком много.

Is civilization just a veneer over a violent core?
Google: Является ли цивилизация просто шпоном над яростным ядром?
Human: Является ли человек жестоким зверем под тонким слоем цивилизации? // Действительно ли человек под тонким слоем цивилизации — жестокий зверь?

Ссылки


1. Совместимость языков и другие ограничения в статистическом переводе Google Translate, 2012
2. С родного на чужой и обратно: тестируем 7 онлайн-переводчиков, 2012
3. Google«s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation, 2016
4. Google’s Multilingual Neural Machine Translation System: Enabling Zero-Shot Translation, 2016
5. A Neural Network for Machine Translation, at Production Scale, 2016
6. Google Puts Its Virtual Brain Technology to Work, 2012
7. Нейросеть Google Translate составила единую базу смыслов человеческих слов, 2016
8. Ограничения глубинного обучения и будущее (перевод), 2017
9. Нейросетевые архитектуры [о структуре GNMT], 2017

© Habrahabr.ru