Машинный перевод на основе примеров
Идея машинного перевода на основе примеров, или перевода по аналогии, впервые была высказана Макото Нагао в 1984 году. Нагао заметил, что традиционные rule-based системы, продолжавшие оставаться самыми популярными в 80-х годах, имеют тенденцию становиться все более сложными со временем. В результате они постепенно становились все труднее для обслуживания, что начинало становиться большой проблемой, не говоря о том, что зачастую они отличались слишком высокой ценой, так как для работы над созданием словарей требовался труд значительного числа профессиональных лингвистов, а также своей негибкостью – адаптация для новой предметной области была достаточно дорогим процессом, не говоря уже о разработке нового направления перевода.
Эти системы обычно требовали полный грамматический анализ переводимого предложения, что делало их очень уязвимыми: если какой-нибудь фрагмент предложения не мог быть распознанным системой, та не могла предоставить перевод всему предложению. Напротив, заметил Нагао, [1] профессиональный переводчик в основном работает с отдельными фрагментами текста, который он переводит, а только потом преобразовывает их в связный законченный текст. В то же время Нагао отметил, что параллельные корпуса содержат в себе огромное количество важной полезной информации, которая по большей части теряется в двуязычных словарях, даже профессиональных. И чем развивать новые словари и программировать новые правила, более удобно напрямую использовать фрагменты текста из существующих двуязычных корпусов текста.
Алгоритм работы систем машинного перевода на базе примеров обычно проходил три этапа. На первом этапе система старалась найти фрагменты предложения, которые нужно перевести в доступном ей двуязычном корпусе текстов. Все подходящие фрагменты собирались вместе и сохранялись системой. На втором этапе система пыталась найти соответствия для переводимого языка из того же двуязычного корпуса текстов. Наконец, на последнем этапе система собирала воедино все переведенные фрагменты в целое предложение, которое в идеале должно было отвечать правилам грамматики переводимого языка.[2]
Так как очень сложно найти прямые соответствия на уровне предложений между переводимым текстом и доступным двуязычным корпусом, необходимо было найти эквиваленты (при данном подходе, примеры) на уровне отдельных высказываний. Но даже на этом уровне найти переводные эквиваленты достаточно сложная задача: рассматриваемые примеры (последовательности точно совпадающих слов) часто достаточно короткие. Для одной и той же фразы в разных языках могут быть применимы разные переводы, и совсем не очевидно какой вариант перевода более точный; соединить нескольких различных фрагментов текста достаточно сложно, так как зачастую фрагменты накладываются друг на друга, или же не полностью сопоставимы друг с другом.
Таким образом, чем искать прямые эквиваленты на уровне слов, более полезно попытаться найти эквиваленты на более широкой основе, что делало такой подход более практичным. Это часто относится к переводу по аналогии: он больше не задействует поиск подходящих фрагментов текста, которые репродуцируют в точности переводимое предложение, а фрагментов, носящих в себе аналогию с переводимым предложением.
Для нахождения подобных аналогий-эквивалентов система применяла несколько методик, оперирующих на более-менее грамматической основе:
– сравнение на уровне буквосочетаний (графем);
– сравнение на уровне слов;
– сравнение на уровне частей речи;
– сравнение на уровне синтаксических структур.
Преимуществом первого подхода является независимость от переводимых языков, в частности, он может применяться для азиатских языков (то, что слово часто может выражаться одной буквой, как это часто бывает в азиатских языках, для данного подхода не было проблемой). Второй подход, согласно Т. Пуабу[2], хорошо подходил для языков с «лемматизаторами» (инструментариями, помогающими распознавать слова в их словарной форме – лемме), что, однако, встречается достаточно редко среди большинства языков. Кроме того, все эти подходы работали очень поверхностно на уровне текста. Сравнение «грамматических маркеров» позволяло системе иметь более абстрактное представление о переводимом тексте. В процессе анализа данная система с его помощью могла распознавать части речи и делать поверхностный семантический анализ (распознавать имена собственные, фразовые глаголы, идиомы и т.д.) Наконец, распознавание на уровне синтаксических структур позволяло перейти к непосредственному сравнению синтаксических составляющих, представляющих собой синтаксическую основу данного предложения. В теории данная стратегия делала возможным сравнение предложений, которые выглядели очень непохожими на первичном уровне ознакомления.
Ограничения данной системы вполне очевидны: по умолчанию, если переводимому фрагменту не нашлось соответствия в базе примеров, система не могла произвести перевод данного фрагмента, или же производила пословный перевод. Данный подход больше всего подходил для генетически очень далеких языков (например, для японского и английских языков), для которых достаточно тяжело было предусмотреть все грамматические правила.
К преимуществам машинного перевода на базе примеров можно отнести достаточно высокое качество перевода (при условии наличия достаточно большого корпуса параллельных текстов), хорошее решение контекстных задач, простоту (для поддержания системы не требовался труд большого штата лингвистов), возможность улучшать систему путем ее «обучения».
References
[1] Nagao, Makoto «A Framework of a Mechanical Translation between Japanese and English by Analogy Principle», In Readings in Machine Translation (S. Nirenburg, H. L. Somers, Y. Wilks, eds.), Cambridge, MA: MIT Press (2003).
[2] Poibeau, Thierry. Machine Translation. The MIT Press, 2017.
Machine Translation Omnibus
Машинный перевод на корпусах текстов
Машинный перевод на основе правил
Сколько всего видов машинного перевода?
От Декарта до Google Translate. Удивительная история машинного перевода