Это гостевой пост Габора Уграя о проблемах и проблемах построения моделей NMT. Не позволяйте игривому тону и общему ощущению шалости в посте обмануть вас. Если вы посмотрите повнимательнее, вы увидите, что в нем очень четко определен точный список проблем, с которыми можно столкнуться, когда кто-то решается создать механизм Neural MT. Этот список проблем, вероятно, является точным списком, с которым столкнулись большие мальчики (Microsoft, FaceBook, Google и другие) некоторое время назад. Ранее я уже говорил о том, как SYSTRAN и SDL решают эти проблемы. Хотя в этом посте экспериментальная система описывается с точки зрения самостоятельной сборки, серийные движки NMT могут отличаться только тем, как они справляются с этими различными задачами.

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

Сильвио Пичинини из eBay также недавно сравнил результаты эксперимента NMT и рассказал о своих выводах здесь: https://www.linkedin.com/pulse/ebay-mt-language-specialists-series-comparing-nmt-smt. -silvio-picinini

Хотя прошло много лет, прежде чем для SMT появился инструментарий с открытым исходным кодом (Moses), мы видим, что NMT уже имеет четыре варианта экспериментов с открытым исходным кодом: OpenMT, Nematus, Tensorflow NMT и Facebook's Caffe2. Вполне возможно, что исследовательское сообщество в целом может найти инновационные и эффективные решения проблем, которые мы видим здесь. Кто-нибудь все еще серьезно верит, что LSP действительно могут играть на этой арене, создавая конкурентоспособные системы NMT самостоятельно? Я очень сомневаюсь в этом и рекомендовал бы поставщикам переводческих услуг задуматься о том, какое профессиональное решение для машинного перевода выбрать, потому что NMT действительно может помочь создать стратегический рычаг в переводческом бизнесе, если задействован настоящий опыт. Проблема с DIY (Сделай сам) заключается в том, что наличие нескольких доступных наборов инструментов не очень полезно, если вы не знаете, что делаете.

Обсуждения NMT часто сопровождаются разговорами о кончине людей-переводчиков (кажется, к 2029 году). Я по-прежнему настроен глубоко скептически, хотя уверен, что МП будет чертовски хорош для определенных типов контента, и считаю, что разумнее научиться правильно использовать МП, чем отказываться от него. Я также думаю, что понятие волшебной технологической конвергенции, которую они называют сингулярностью, несколько натянуто. Питер Тиль (также известный как #buffoonbuddypete) — большой поклонник этой идеи, и его инвестиционный послужной список лучше, чем у меня, так что кто знает. Тем не менее, я предлагаю несколько цитатов Стивена Пинкера, в которых звучит звучная правда:

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

В другом месте,Пинкер также говорит:

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

Выделение ниже полностью принадлежит мне.

=====

Не знаю, как вы, но я постоянно разочарован потоком заголовков, рекламирующих машины, которые «понимают язык» или развивают человеческий «интеллект». Я называю ерундой! И все же, бесспорно, прямо сейчас происходит прорыв в машинном обучении. Все началось со странного союза мощных графических карт и нейронных сетей. Когда свадебная вечеринка еще была в самом разгаре, я уговорил Теренса Льюиса[*] устроить еще более странную параллельную фиесту. Мы решили создать переводчик Франкенштейна, но после того, как его первоклассный графический процессор заработал на полную мощность в течение четырех недель, мы получили удивительно хороший переводчик и удивительно глупый двуязычный чат-бот.

И пока мы в этом: Теренс, очевидно, затевает шалости, но, что более важно, он предлагает совершенно серьезные услуги машинного перевода с английского на голландский на коммерческой основе. Существует даже плагин для memoQ, а система MyDutchPal решает многие проблемы машинного перевода, о которых я расскажу далее в этом посте.

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

Вы можете попробовать движок NMT по этой ссылке в исходном сообщении.

Все началось в мае, когда я прочитал краткое изложение статьи Адриана Кольера[2] Понимание глубокого обучения требует переосмысления обобщений[3]. Предложение Чиюань Чжан и соавторов настолько увлекательно и актуально, что я просто процитирую его дословно:

Что отличает нейронные сети, которые хорошо обобщают, от тех, которые этого не делают? […]

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

Авторы описывают, как они поставили серию оригинальных экспериментов, чтобы исследовать это. Проблемная область, которую они выбрали, — это не машинный перевод, а еще одна классика глубокого обучения: распознавание изображений. В одном эксперименте они обучили систему распознавать изображения, за исключением того, что они искажали набор данных, случайным образом перетасовывая ярлыки и фотографии. Возможно, это была панда, но на этикетке было написано велосипед и так далее 1,2 миллиона раз. В другом эксперименте они даже заменили сами изображения случайным шумом. Вывод статьи… неоднозначен. По сути, это показывает, что нейронные сети будут послушно запоминать любой случайный ввод (шум), но что касается способности сетей обобщать реальный сигнал, ну, мы действительно не знаем. Другими словами, пилот понятия не имеет, что делает, а самолет каким-то образом продолжает летать. Я сразу понял, что хочу попробовать то же самое, но со специальной нейронной системой МТ. Что может быть лучше, чтобы показать, что нет, здесь нет речи ни о «интеллекте», ни о «понимании»! На самом деле мы имеем дело с мощной машиной распознавания образов и экстраполяции. Давайте набросаем на него искаженный учебный корпус: подлинные предложения и подлинные переводы, но все они неправильно подобраны. Если нам немного повезет, он распознает и экстраполирует некоторые умопомрачительно веселые непаттерны, наш пост об этом станет вирусным, и комики возненавидят нас.

Хорошо, давайте создадим переводчик Франкенштейна, обучив движок NMT на корпусе искаженных пар предложений. Но ждать…

Какая должна быть языковая пара? Что-то, что считается "легким" в кругах машинного перевода. Мы не стремимся расколоть действительно крепкие орешки; мы хотим известный орех и раскрашиваем его смешно. Целевым языком должен быть английский, чтобы вы, дорогой читатель, могли наслаждаться результатом. Исходный язык… нет. Прости. Я тоже хочу повеселиться, а я не говорю по-французски. Но я говорю по-испански!

Мошенники или кривые огурцы? На самом деле существует множество обучающих данных из открытых источников[4]. Hansards нет (французского нет), но ЕС, например, занят выпуском неустанного потока переведенных директив, правил и положений. Просто не очень весело читать бюрократию о формах огурцов. Давайте вместо этого поговорим о мошенниках и романтике! Вы правильно догадались: я выбрал субтитры к фильмам. Вы не поверите, сколько их там, и их можно взять бесплатно.

Слишком много хорошего. Проблема в том, что в корпусе OpenSub2016[5] почти 50 миллионов пар испано-английских сегментов. Известно, что у NMT здоровый аппетит к данным, но 50 миллионов — это немного больше. Что угодно ради хорошей шутки, но у нас нет месяцев, чтобы обучать этот забавный паровозик. Я сократил его примерно до 9,5 миллионов пар сегментов, удалив дубликаты и оставив только те, в которых испанский язык состоял из 40 или более символов. Это еще много, и это будет важно позже.

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

Обучение. Я, конечно, очень хорошо разбираюсь в NMT, что касается разговоров в баре с привлекательными незнакомцами. Теренс, с другой стороны, провел последние несколько месяцев, создавая ПК-монстр с графическим процессором Nvidia GTX 1070, став знатоком Linux и обучая движки с помощью фреймворка OpenNMT[6]. Подробнее о его путешествии можно прочитать в блоге eMpTy Pages[7]. Он запустил обучение с параметрами OpenNMT по умолчанию: стандартная токенизация, 50 тыс. исходного и целевого словарей, 500 узлов, 2-слойная RNN как в кодировщике, так и в декодере, 13 эпох. Оказалось, что одна эпоха занимает примерно один день, и у нас было две модели для обучения. Я уехал в отпуск и провел дни в напряжении, выглядя примерно так:

Сначала была обучена «прямая» модель, и было бы преуменьшением сказать, что я был впечатлен, увидев полученные ею переводы. Если вам нравятся подобные вещи, оценка BLEU — похвальные 32,10, что значительно выше любого значительно более низкого значения.[8] Бросается в глаза очевидная беглость и естественность переводов. Я уж точно не ожидал такого результата от нашего абсолютно наивного, нестандартного, неоптимизированного подхода. Возьмем только один пример:

La Doctora не podía participar en la conferencia, por eso le conté los detalles Importantes yo mismo. — -

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

Вы заметили крошечную деталь? В переводе это местоимение женского рода her. Испанский эквивалент, le, гендерно-нейтральный, поэтому его пришлось экстраполировать из la doctora — а это довольно далеко в предложении! Это тот случай, когда статистические системы, вероятно, просто по умолчанию используют мужской род. И вы действительно можете раздвинуть границы. Я добавил еще что-то, чтобы сделать это расстояние еще длиннее, и это по-прежнему она в невозможном предложении, La Doctora no podía participar en la conferencia que los profesores y lo alumnos habían organizado en el granaudio de la universidad para el día anterior, además no nos quedaba mucho tiempo, por eso le conté los detalles Importantes yo mismo.
Но как только наш энтузиазм должным образом обуздан, давайте подробнее рассмотрим хорошее, плохое и уродливое. Если вы намеренно начнете снимать поверхностные слои, начнет проявляться истинная форма тела императора. Большинство из этих сбоев в гардеробе являются хорошо известными проблемами нейронных систем МТ, и многие текущие исследования сосредоточены на их решении или обходе их.

Неизвестные слова. Нейронные системы машинного перевода в своей простой ванильной форме имеют серьезные ограничения на словарный запас (в частности, словарный запас целевого языка), с которым они могут работать. 50 тысяч слов — это стандарт, и мы редко, если вообще когда-либо, видим системы со словарным запасом более 100 тысяч. Если вы не приложите дополнительных усилий для решения этой проблемы, ванильная система, подобная нашей, будет производить много unks[9], как здесь:

Tienes que invitar al ornitólogo también. — -

Вы также должны пригласить unk.

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

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

Lynch трудится вместе с симпрем, грешит против правил: эта критика на телевидении актуальна, и мы привыкли думать о насилии против женщин, pasando porparanoias mitológicas sobre el bien y el mal en la historia estadounidense. — -

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

Гипнотическая рекурсия. Очень скоро после того, как Google Translate перешел на Neural MT для некоторых языковых комбинаций, люди начали замечать странное поведение, часто с зацикливанием повторяющихся фраз.[10] Вы видите один такой случай в приведенном выше примере. , выделено зеленым: кажется, что второй телевизор появился из ниоткуда. Что на самом деле вполне адекватно для Линча, если подумать.

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

Mi hermano estaba conduciendo a cien км/ч. — -

Мой брат ехал со скоростью 100 миль в час.

Мой хермано estaba conduciendo 100 км/ч. — -

Мой брат ехал со скоростью 60 миль в час.

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

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

Моя скорость достигла 102 км/ч. — -

Мой брат ехал в unk.

Mi hermano estaba conduciendo a85 км/ч. — -

Мой брат ехал со скоростью 85 миль в час.

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

No le voy a contar a la profesora. — -

Я не скажу учителю.

Теперь о сумасшедшей модели! Я приложил огромные умственные усилия, чтобы снизить свои ожидания, но тайно, в глубине души, я надеялся на нелинейную странность, которую вы получите, если начнете вводить жо в Google Translate[ 11]:

жо › Джо жожо › Джоджо жожожо › Джоэсс жожожо › Благоговейно жожожожожо › Радуясь жожожожожожожо › Обнадеживающе

жожожожожожожожо › Пожинаю тебя

По сравнению с этим наша сумасшедшая система несколько не впечатляет.

виски › Думал! сангрия › Думал!? Требуется виски. › Я не знаю, о чем ты говоришь. жо › . честно догадываюсь догадываюсь догадываюсь догадываюсь Малкович › . честно догадываюсь догадываюсь догадываюсь догадываюсь догадываюсь

Малкович Малкович › Знаете, я не понимаю, о чем вы говорите.

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

En este día de Julio, me gustaría escribir algunas reflexiones sobre como me siento, en relación con mi mismo, que es una de las relaciones más difíciles y complejas que una persona debe llevar a adelante, y en relación con los demás… — -

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

Кажется, в этой игре есть два правила:

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

И это последнее предложение является ключом, как я понял, просматривая форумы OpenNMT[12]. Оказывается, люди используют почти ту же технологию для создания чат-ботов с нейронными сетями. Если подумать, проблема действительно может быть определена в тех же терминах. В переводе у вас есть корпус исходных сегментов и их переводов; вы собираете их много и обучаете систему давать правильный перевод для правильного источника. В чат-боте ваши пары сегментов — это подсказки и ответы, и вы обучаете систему давать правильный ответ на правильную подсказку.

За исключением того, что этот чат-бот, похоже, работает не так хорошо, как MT. Процитируем форум OpenNMT: Люди называют это проблемой «Я не знаю», и она особенно проблематична для наборов данных типа чат-ботов.

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

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

Возьмем следующие воображаемые подсказки и ответы:

Сколько вам лет?
Нет, серьезно, я взял красную дверь по ошибке.

Угадайте, кто сегодня пришел на занятие йогой.

Бедная Мэри!

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

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

Теренс Льюис, член Массачусетского технологического института, вошел в мир переводов младшим братом итальянского религиозного ордена, где ему было поручено перевести некоторые речи основателя на английский язык. Его религиозные исследования также требовали знания латыни, греческого и иврита. Проведя несколько лет в Южной Африке и Бразилии, он разорвал связи с католической церковью и вернулся в Великобританию, где работал переводчиком, лексикографом[13] и драматургом. В качестве внешнего переводчика ЮНЕСКО он переводил самые разные тексты, от монгольского культурного законодательства до книги мелкого французского экзистенциалиста. В возрасте 50 лет он научился программировать и написал основанное на правилах приложение для машинного перевода с голландского на английский, которое использовалось для перевода документации для некоторых из крупнейших инженерных проектов в истории Нидерландов. Последние 15 лет он посвятил изучению и развитию технологий перевода. Недавно он учредил MyDutchPal Ltd, чтобы заниматься коммерческими аспектами разработки своего программного обеспечения. Он является одним из авторов книги 101 вещь, которую должен знать переводчик[14].

[1] Живая демонстрация предоставляется «как есть», без каких-либо гарантий пригодности для использования и без каких-либо обещаний полезности или развлекательной ценности. Служба будет доступна до тех пор, пока у меня есть ресурсы для ее запуска (вероятно, несколько недель). О да, я записываю ваши запросы и будьте уверены, я прочитаю их все. Мне чрезвычайно любопытно посмотреть, что вы придумаете, и я хочу насладиться всеми занимательными или поучительными примерами, которые вы найдете.

[2] утренняя газета. интересная/влиятельная/важная газета из мира CS каждое утро в будний день, выбранная Адрианом Кольером.

blog.acolyer.org/
[3] Понимание глубокого обучения требует переосмысления обобщений. Чиюань Чжан, Сэми Бенжио, Мориц Хардт, Бенджамин Рехт, Ориол Виньялс. Материалы конференции ICLR 2017.
openreview.net/forum?id=Sy8gdB9xx¬eId=Sy8gdB9xx
[4] OPUS, открытый параллельный корпус. Йорг Тидеманн.
opus.lingfil.uu.se/
[5] OpenSubtitles2016: Извлечение больших параллельных корпусов из субтитров фильмов и телепередач. Пьер Лисон, Йорг Тидеманн.
stp.lingfil.uu.se/~joerg/paper/opensubs2016.pdf
[6] OpenNMT: Open-Source Toolkit для Neural Machine Translation.
arxiv.org/abs/1701.02810
opennmt.net/
[7] Мое путешествие в Neural Land. Гостевой пост Теренса Льюиса в блоге eMpTy Pages.
kv-emptypages.blogspot.com/2017/06/my-journey-into-neural-land.html
[8] Никогда не доверяйте никому, кто хвастается своими баллами по BLEU без объяснения причин. Я не даю вам никакого контекста, но у вас есть живая демонстрация, чтобы вы могли сами увидеть результат. Также несколько слов об этом счете. Я рассчитал это на проверочном наборе, содержащем 3 тыс. пар случайных сегментов, удаленных из корпуса перед обучением. Таким образом, это предложения в предметной области, но они не были частью обучающего множества. Оценка была рассчитана на детокенизированном тексте, что является установленной практикой MT, за исключением кругов NMT, которые, кажется, предпочитают токенизированный текст по причинам, которые до сих пор ускользают от меня. И если вы хотите максимально использовать фетиш метрик, оценка TER набора проверки составляет 47,28. Там. Я сказал это.

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

[10] Электрические овцы. Марк Либерман в Language Log.
languagelog.ldc.upenn.edu/nll/?p=32233
[11] Из того же сообщения Language Log, процитированного ранее . Переводы были получены 6 августа 2017 г .; они, вероятно, изменятся, когда Google обновит свою систему.

[12] Английский совет по чат-боту

forum.opennmt.net/t/english-chatbot-advice/32/5
[13] Англо-бразильский португальский деловой словарь Харрапа. Теренс Льюис, Лигия Ксавье, Клаудио Солано. [ссылка]
[14] 101 вещь, которую должен знать переводчик. ISBN 978–91–637–5411–1
www.101things4translators.com

Габор Уграй — соучредитель Kilgray, создателей среды совместного перевода memoQ и TMS. Теперь он руководитель отдела инноваций Kilgray, и когда он не занят созданием MVP, он ведет блог на jealousmarkup.xyz и пишет в Твиттере как @twilliability.

Первоначально опубликовано на сайте kv-emptypages.blogspot.com 1 сентября 2017 г.