теория и практика машинного перевода
Как работает нейронный машинный перевод?
Описание процессов машинного перевода основанного на базе правил (Rule-Based), машинного перевода на базе фраз (Phrase-Based) и нейронного перевода
В этой публикации нашего цикла step-by-step статей мы объясним, как работает нейронный машинный перевод и сравним его с другими методами: технологией перевода на базе правил и технологией фреймового перевода (PBMT, наиболее популярным подмножеством которого является статистический машинный перевод — SMT).
Результаты исследования, полученные Neural Machine Translation, удивительны в части того, что касается расшифровки нейросети. Создается впечатление, что сеть на самом деле «понимает» предложение, когда переводит его. В этой статье мы разберем вопрос семантического подхода, который используют нейронные сети для перевода.
Давайте начнем с того, что рассмотрим методы работы всех трех технологий на различных этапах процесса перевода, а также методы, которые используются в каждом из случаев. Далее мы познакомимся с некоторыми примерами и сравним, что каждая из технологий делает для того, чтобы выдать максимально правильный перевод.
Очень простой, но все же полезной информацией о процессе любого типа автоматического перевода является следующий треугольник, который был сформулирован французским исследователем Бернардом Вокуа (Bernard Vauquois) в 1968 году:
В этом треугольнике отображен процесс преобразования исходного предложения в целевое тремя разными путями.
Левая часть треугольника характеризует исходный язык, когда как правая — целевой. Разница в уровнях внутри треугольника представляет глубину процесса анализа исходного предложения, например синтаксического или семантического. Теперь мы знаем, что не можем отдельно проводить синтаксический или семантический анализ, но теория заключается в том, что мы можем углубиться на каждом из направлений. Первая красная стрелка обозначает анализ предложения на языке оригинала. Из данного нам предложения, которое является просто последовательностью слов, мы сможем получить представление о внутренней структуре и степени возможной глубины анализа.
Например, на одном уровне мы можем определить части речи каждого слова (существительное, глагол и т.д.), а на другом — взаимодействие между ними. Например, какое именно слово или фраза является подлежащим.
Когда анализ завершен, предложение «переносится» вторым процессом с равной или меньшей глубиной анализа на целевой язык. Затем третий процесс, называемый «генерацией», формирует фактическое целевое предложение из этой интерпретации, то есть создает последовательность слов на целевом языке. Идея использования треугольника заключается в том, что чем выше (глубже) вы анализируете исходное предложение, тем проще проходит фаза переноса. В конечном итоге, если бы мы могли преобразовать исходный язык в какой-то универсальный «интерлингвизм» во время этого анализа, нам вообще не нужно было бы выполнять процедуру переноса. Понадобился бы только анализатор и генератор для каждого переводимого языка на любой другой язык (прямой перевод прим. пер.)
Эта общая идея и объясняет промежуточные этапы, когда машина переводит предложения пошагово. Что еще более важно, эта модель описывает характер действий во время перевода. Давайте проиллюстрируем, как эта идея работает для трех разных технологий, используя в качестве примера предложение «The smart mouse plays violin» (Выбранное авторами публикации предложение содержит небольшой подвох, так как слово «Smart» в английском языке, кроме самого распространенного смысла «умный», имеет по словарю в качестве прилагательного еще 17 значений, например «проворный» или «ловкий» прим. пер.)
Машинный перевод на базе правил
Машинный перевод на базе правил является самым старым подходом и охватывает самые разные технологии. Однако, в основе всех их обычно лежат следующие постулаты:
Тут мы видим несколько простых уровней анализа:
Применение этих правил приведет к следующей интерпретации на целевом языке перевода:
Тогда как правила генерации на французском будут иметь следующий вид:
Машинный перевод на базе фраз
Машинный перевод на базе фраз — это самая простая и популярная версия статистического машинного перевода. Сегодня он по-прежнему является основной «рабочей лошадкой» и используется в крупных онлайн-сервисах по переводу.
Выражаясь технически, машинный перевод на базе фраз не следует процессу, сформулированному Вокуа. Мало того, в процессе этого типа машинного перевода не проводится никакого анализа или генерации, но, что более важно, придаточная часть не является детерминированной. Это означает, что технология может генерировать несколько разных переводов одного и того же предложения из одного и того же источника, а суть подхода заключается в выборе наилучшего варианта.
Эта модель перевода основана на трех базовых методах:
Далее из этой таблицы генерируются тысячи возможных вариантов перевода предложения, например:
Однако благодаря интеллектуальным вычислениям вероятности и использованию более совершенных алгоритмов поиска, будет рассмотрен только наиболее вероятные варианты перевода, а лучший сохранится в качестве итогового.
В этом подходе целевая языковая модель крайне важна и мы можем получить представление о качестве результата, просто поискав в Интернете:
Поисковые алгоритмы интуитивно предпочитают использовать последовательности слов, которые являются наиболее вероятными переводами исходных с учетом таблицы изменения порядка. Это позволяет с высокой точностью генерировать правильную последовательность слов на целевом языке.
В этом подходе нет явного или неявного лингвистического или семантического анализа. Нам было предложено множество вариантов. Некоторые из них лучше, другие — хуже, но, на сколько нам известно, основные онлайн-сервисы перевода используют именно эту технологию.
Нейронный машинный перевод
Подход к организации нейронного машинного перевода кардинально отличается от предыдущего и, опираясь на треугольник Вокуа, его можно описать следующим образом:
Нейронный машинный перевод имеет следующие особенности:
Последовательность исходных контекстов (ContextS 1,… ContextS 5) являет внутренней интерпретацией исходного предложения по треугольнику Вокуа и, как упоминалось выше, представляет из себя последовательность чисел с плавающей запятой (обычно 1000 чисел с плавающей запятой, связанных с каждым исходным словом). Пока мы не будем обсуждать, как кодировщик выполняет это преобразование, но хотелось бы отметить, что особенно любопытным является первоначальное преобразование слов в векторе «float».
На самом деле это технический блок, как и в случае с основанной на правилах системой перевода, где каждое слово сначала сравнивается со словарем, первым шагом кодера является поиск каждого исходного слова внутри таблицы.
Предположим, что вам нужно вообразить разные объекты с вариациями по форме и цвету в двумерном пространстве. При этом объекты, находящиеся ближе всего друг к другу должны быть похожи. Ниже приведен пример:
На оси абсцисс представлены фигуры и там мы стараемся поместить наиболее близкие по этому параметру объекты другой формы (нам нужно будет указать, что делает фигуры похожими, но в случае этого примера это кажется интуитивным). По оси ординат располагается цвет — зеленый между желтым и синим (расположено так, потому что зеленый является результатом смешения желтого и синего цветов, прим. пер.) Если бы у наших фигур были разные размеры, мы бы могли добавить этот третий параметр следующим образом:
Если мы добавим больше цветов или фигур, мы также сможем увеличить и число измерений, чтобы любая точка могла представлять разные объекты и расстояние между ними, которое отражает степень их сходства.
Основная идея в том, что это работает и в случае размещения слов. Вместо фигур есть слова, пространство намного больше — например, мы используем 800 измерений, но идея заключается в том, что слова могут быть представлены в этих пространствах с теми же свойствами, что и фигуры.
Следовательно, слова, обладающие общими свойствами и признаками будут расположены близко друг к другу. Например, можно представить, что слова определенной части речи — это одно измерение, слова по признаку пола (если таковой имеется) — другое, может быть признак положительности или отрицательности значения и так далее.
Мы точно не знаем, как формируются эти вложения. В другой статье мы будем более подробно анализировать вложения, но сама идея также проста, как и организация фигур в пространстве.
Вернемся к процессу перевода. Второй шаг имеет следующий вид:
На этом этапе формируется полная последовательность с упором на «исходный контекст», после чего один за другим целевые слова генерируются с использованием:
Весь процесс, несомненно, весьма загадочен и нам потребуется несколько публикаций, чтобы рассмотреть работу его отдельных частей. Главное, о чем следует помнить — это то, что операции процесса нейронного машинного перевода выстроены в той же последовательности, что и в случае машинного перевода на базе правил, однако характер операций и обработка объектов полностью отличается. И начинаются эти отличия с преобразования слов в векторы через их вложение в таблицы. Понимания этого момента достаточно для того, чтобы осознать, что происходит в следующих примерах.
Примеры перевода для сравнения
Давайте разберем некоторые примеры перевода и обсудим, как и почему некоторые из предложенных вариантов не работают в случае разных технологий. Мы выбрали несколько полисемических (т.е. многозначных, прим. пер.) глаголов английского языка и изучим их перевод на французский.
Мы видим, что машинный перевод на базе фраз, интерпретирует «render» как смысл — за исключением очень идиоматического варианта «оказание помощи». Это можно легко объяснить. Выбор значения зависит либо от проверки синтаксического значения структуре предложения, либо от семантической категории объекта.
Для нейронного машинного перевода видно, что слова «help» и «assistance» обрабатываются правильно, что показывает некоторое превосходство, а также очевидную способность этого метода получать синтаксические данные на большом расстоянии между словами, что мы более детально рассмотрим в другой публикации.
На этом примере опять видно, что нейронный машинный перевод имеет семантические различия с двумя другими способами (в основном они касаются одушевленности, обозначает слово человека или нет).
Однако отметим, что было неправильно переведено слово «rounds», которое в данном контексте имеет значение слова «bullet». Мы объясним этот типа интерпретации в другой статье, посвященной тренировке нейронных сетей. Что касается перевода на базе правил, то он распознал только третий смысл слова «rounds», который применяется в отношении ракет, а не пуль.
Выше еще один интересный пример того, как смысловые вариации глагола в ходе нейронного перевода взаимодействуют с объектом в случае однозначного употребления предлагаемого к переводу слова (crime или destination).
Другие варианты со словом «crime» показали тот же результат…
Переводчики работающие на базе слов и фраз так же не ошиблись, так как использовали те же глаголы, приемлемые в обоих контекстах.
Машинный перевод: история, классификация, методы
Рубрика: 7. Вопросы переводоведения
Дата публикации: 02.07.2015
Статья просмотрена: 5368 раз
Библиографическое описание:
Дроздова, К. А. Машинный перевод: история, классификация, методы / К. А. Дроздова. — Текст : непосредственный // Филологические науки в России и за рубежом : материалы III Междунар. науч. конф. (г. Санкт-Петербург, июль 2015 г.). — Санкт-Петербург : Свое издательство, 2015. — С. 139-141. — URL: https://moluch.ru/conf/phil/archive/138/8497/ (дата обращения: 16.11.2021).
В данной работе описываются основные достижения за историю существования машинного перевода. Статья раскрывает суть работы двух современных систем машинного перевода, использующихся на практике — система статистического перевода и перевода, основанного на правилах. Особое внимание уделяется анализу и сравнению этих систем, а также выделению достоинств и недостатков каждой из них. Кроме того, автором описаны некоторые нерешенные проблемы автоматического понимания и перевода текстов.
Ключевые слова: компьютерная лингвистика, машинный перевод, обработка естественного языка, автоматическое понимание текстов, статистический перевод, перевод «по правилам».
В середине прошлого века родилась идея о том, чтобы переводить тексты с одного языка на другой автоматическим способом без помощи человека. Несмотря на то, что эта задача до сих пор не имеет удовлетворительного решения, за последнее время в этой области достигнут существенный прогресс, а сама постановка проблемы дала почву для развития новых лингвистических теорий.
Датой рождения машинного перевода можно считать 1954 год: именно в этот год произошла публичная демонстрация перевода с помощью вычислительной техники. В истории это событие носит название «Джорджтаунский эксперимент» по имени университета, который совместно с компанией IBM участвовал в его подготовке.
Эксперимент заключался в следующем: машине на вход подавалось около 60 предложений на русском языке, записанных на перфокартах, а машина в свою очередь выдавала перевод этих предложений на английский язык. Выбор языка, с которого осуществлялся перевод, был обусловлен начинающейся холодной войной, и необходимостью в связи с этим анализировать огромные объемы информации, поступающие на русском языке. В качестве предложений для перевода была выбрана достаточно узкая тематика нефтехимии, и все вводимые предложения были очень простыми: «Обработка повышает качество нефти», «Командир получает сведения по телеграфу». При таких условиях эксперимент оказался вполне успешным и получил широкую огласку, несмотря на то, что был задействован довольно маленький словарь (250 слов), а система перевода основывалась только на шести грамматических правилах. Более того, в то время появилось мнение, что задача машинного перевода полностью решиться в течении ближайших пяти лет. Однако дальнейшие годы исследований показали, что проблема машинного перевода гораздо сложнее и многограннее, чем ожидалось.
Системы машинного перевода за долгие годы своей разработки претерпевали значительные изменения. Так, первое поколение таких систем, которое принято датировать до середины 1960-х гг., приближено по своей технике к пословному переводу: каждому слову или речевому обороту в исходном тексте подбирается эквивалент на выходном языке, найденный в словаре. Системы первого поколения не обладали возможностями решения проблем многозначности, не проводили никакого лингвистического анализа, в связи с чем выдавали довольно низкое качество перевода.
Следующий период систем машинного перевода (середина 1960–1970-х гг.) называют вторым поколением. Их внутреннее устройство несколько сложнее, чем у первого поколения: вместо пословного перевода для каждого предложения строится своя синтаксическая структура, основанная на правилах грамматики входного языка. После этого такая структура преобразовывается в синтаксическую структуру выходного языка, а затем выполняется подстановка слов из словаря, то есть синтез предложения на выходном языке.
На этом этапе в технике машинного перевода уже широко применялись как методы морфологического, так и синтаксического анализа, что существенно улучшило качество выходных текстов, однако оставались трудности, связанные с семантикой. В связи с этим следующим этапом в развитии машинного перевода можно считать 1980-е года, когда впервые появляются системы семантического типа. К этому классу относятся системы машинного перевода, в основу которых легла теория “Cмысл ↔ Текст”.
Теория “Cмысл ↔ Текст” была создана прежде всего И. А. Мельчуком в 60–70-е гг. прошлого века. Активное участие в разработке также принимали два других советских лингвиста — Ю. Д. Апресян и А. К. Жолковский. Данная теория представляет собой многоуровневую модель, позволяющую перейти от текста к его смысловой структуре, записанной на некотором универсальном языке, после чего совершить обратный переход от записанной смысловой структуры к любому естественному языку. Переход от текста к смыслу и обратно происходит не непосредственно, а в несколько этапов. Выделяют шесть уровней этого перехода. Предельные уровни: фонологический и семантический; промежуточные уровни: поверхностно-морфологический, глубинно-морфологический, поверхностно-синтаксический и глубинно-синтаксический. Семантический уровень описывается графом, синтаксические уровни описываются в виде дерева зависимостей, а морфологический и фонологический уровни описываются линейно.
Несмотря на универсальность и весь потенциал данной теории, ее применение в системах машинного перевода пока не дало качественного прорыва. Десятилетия работ по машинному переводу показали, насколько на самом деле велеки трудности перехода от естественного языка к универсальному метаязыку, хранящему в себе смысл текста. Однако, на данный момент на основе теории “Cмысл ↔ Текст” в институте проблем передачи информации РАН создан лингвистический процессор ЭТАП-3, который занимается переводом между английским и русским языками.
В дополнение к сказанному стоит упомянуть появление интерактивных систем машинного перевода, в которых на разных стадиях перевода привлекается участие человека. Такое участие может быть выражено в разных формах:
— Постредактирование: человек редактирует уже переведенный машиной текст.
— Предредактирование: человек редактирует входной текст, приспосабливая его для более легкого понимания машиной.
— Частично автоматизированный перевод: человек и машина взаимодействуют в процессе перевода. Например, использование человеком электронных словарей при переводе; участие человека в процессе машинного перевода для разрешения трудностей.
— Смешанные системы: например, с пост- и предредактированием.
Из всех разработанных ранее систем машинного перевода на сегодняшний день существует два основных самых распространенных типа: основанный на правилах и основанный на статистике. Рассмотрим подробнее каждый из них.
Системы, основанные на правилах, по сути являются системами второго поколения. Среди них можно выделить два подтипа: трансферные и интерлингвистические, которые в своем фундаменте имеют общую идею — связь структуры входного и выходного предложения.
Трансферные системы включают в себя три этапа: анализ, трансфер и синтез. Для создания внутреннего представления сначала производится морфологический, лексический и семантико-синтаксический анализ входного текста. Затем для каждого предложения строится дерево разбора и производится так называемый трансфер: преобразование структуры входного предложения с учетом требований языка перевода. Последним этапом является синтез, то есть формирование выходного предложения. Классическим примером трансферной системы перевода может служить распространенная система PROMT.
В основе интерлингвистических систем лежит идея существования универсального метаязыка, представляющего смысл предложения на любом естественном языке. Такие системы включают в себя два этапа: анализ и синтез. На этапе анализа входной текст трансформируется при помощи словаря и грамматических правил исходного языка в представление на универсальном метаязыке. На втором этапе это представление преобразуется в предложение выходного языка при помощи словаря и грамматических правил языка перевода. Основным недостатком такого типа систем является до сих пор неразрешенная проблема нахождения универсального для всех естественных языков смыслового представления.
Основными преимуществами систем, основанных на правилах, является высокая точность перевода. Однако, вместе с ней нередко появляется некоторый “машинный” акцент, неестественность выходного текста.
В конце двадцатого века стал доминировать статистический подход машинного перевода. Как можно догадаться, статистический перевод основывается не на правилах, а на статистике. Основной метод такого перевода — обучение машины посредством предоставления достаточно большого (сотни тысяч) количества параллельных текстов — содержащих одинаковую информацию на разных языках.
Рассмотрим методы статистического перевода на примере тех, что использует Яндекс в системе Яндекс.Перевод. Она состоит из трех этапов: модель перевода, модель языка и декодер. Модель перевода для пары языков представляет из себя таблицу, состоящую из всех известных машине слов и фраз входного языка и их переводов на выходной язык с указанием вероятности такого превода. Система учитывает не только отдельные слова, но и речевые обороты, состоящие из нескольких слов. Далее идет модель языка, а именно модель языка, на который необходимо перевести текст. Она представляет из себя список, состоящий из всех встречаемых в предоставленных текстах слов и словосочетаний вместе с частотой их использования. Перейдем непосредственно к процессу перевода, которым занимается декодер. Каждому предложению исходного текста подбираются все варианты перевода, комбинируя между собой фразы из модели перевода, и располагая их в порядке убывания вероятности. Таким образом модель языка подсказывает декодеру, какой вариант перевода больше подходит данной фразе, основываясь на статистических данных.
Основным преимуществом статистических систем является их качество не отставать от развития и подвижности языка: если в языке происходят какие-либо изменения, система сразу это распознает и самостоятельно обучается. Статистические системы также обладают высокой гладкостью, то есть выдаваемый текст похож на речь, произнесенную человеком. Однако, для существования такой системы необходимы серьезные технические ресурсы, качественные параллельные тексты большого объема. Еще одним существенным недостатком такой системы является отсутствие чувствительности к тонкой структуре текста, из-за чего в выходном тексте может содержаться большое количество грамматических ошибок.
В настоящее время существуют и развиваются высококачественные системы машинного перевода, на помощь которым приходят новые информационные технологии и корпусная лингвистика. Не смотря на это до сих пор существует ряд проблем для осуществления задач машинного перевода. Например, одной из главных сложностей машинного перевода является принципиальная неоднозначность языка. При переводе на английский язык выражения «партия рабов», возникает проблема с определением того, какой смысл имеет это высказывание. Это может быть политическая партия, которую создали рабы, тогда выражение нужно переводить, как «party of slaves». Либо это выражение можно трактовать, как партию рабов, выставленную на продажу или привезенную на континент, тогда правильным переводом будет «consignment of slaves». Эта проблема делает необходимым понимание контекста предложения автоматическим переводчиком, что, конечно, на порядок усложняет задачу.
Еще одна задача для улучшения качества перевода — обучить машину понимать текст как единое целое образование. Это необходимо при переводе машиной заголовков, подписей и других изолированных от контекста частей текста. Существует также необходимость подключения компонента специальных знаний в лингвистические процессоры.
Полное решение задачи машинного перевода до сих пор не реализовано ни в одном проекте, однако, развитие новых лингвистических теорий, современные достижения в области машинного обучения, развитие электронных словарей, тезаурусов, прогресс вычислительной техники оставляют надежду на то, что в будущем удастся получить удовлетворительное решение этой задачи.
1. Кузнецов П. С., Ляпунов А. А., Реформатский А. А. Основные проблемы машинного перевода. Вопросы языкознания, 1956, № 5. — 107 с.
2. Леонтьева Н. Н. Автоматическое понимание текстов: Системы, модели, ресурсы: Учебное пособие — М.: Академия, 2006. — 304 с.
3. Марчук Ю. Н. Проблемы машинного перевода / Ю. Н. Марчук. — М.: Наука, 1983. — 112 с.