Курсы машинного перевода для языков России/Раздел 0
В данном разделе будет дан краткий обзор такого метода перевода как машинный перевод, основанного на использовании введенных правил и представлена работа открытой платформы свободного машинного перевода Apertium
Существуют два принципиально отличающихся друг от друга вида машинного перевода:
- Машинный перевод, основанный на правилах (Rule Based Machine Translation), его также называют символьным машинным переводом; Apertium как раз относится к данному виду и этот раздел посвящен подвиду машинного перевода, основанного на правилах
- Корпусный машинный перевод; при таком переводе для перевода новых предложений переводчик обращается к пулу из ранее переведенных предложений.
Если кратко представить корпусный МП, то его можно разделить на две главные подгруппы: подгруппа, в основе которой лежат статистические данные, и подгруппа, основанная на примерах. Теоретически, основной принцип работы статистического машинного перевода заключается в следующем: берется набор ранее переведенных предложений (параллельный корпус) и подсчитывается какие символы совпадают наиболее часто. Всем символам, которые совпадают, присваивается признак вероятности. При переводе нового предложения переводчик рассматривает все слова (символы), которым присвоен признак вероятности, их вероятности комбинируется, делается несколько вариантов возможных переводов и затем выбирается вариант перевода с самой высокой степенью вероятности. Первые системы статистического МП учитывали только совпадение слов, но более новые системы могут учитывать совпадения последовательных рядов слов (фраз) и иерархических деревьев.
В противовес этому, машинный перевод, основанный на анализе примеров, может быть назван переводом по аналогии. В нем также используется параллельные корпуса, но, вместо того чтобы обращаться к признакам вероятности слов, переводчик учится делать анализ на основе примеров. Например, если будет дана пара предложений (Девочке нравятся кошки. (ru
) → Кызга мышыктар жагат. (ky
) и Девочке нравятся слоны. → Кызга пилдер жагат.) переводчик может дать следующий пример перевода (AДевочке нравятся X → Кызга X жагат). При переводе нового предложения, переводчик обращается и анализирует данные части предложения и заменяет их.
Автоматическое применение большего пула переводных текстов (переводной памяти) к переводному тексту может быть также названо видом машинного перевода с использованием корпуса. На самом деле, границы между статистическим машинным переводом и переводом, которые использует и анализирует примеры достаточно размыты. И в том и в другом методе есть свои недостатки и преимущества. При использовании методов машинного перевода с использованием корпуса, переводной текст обычно выглядит более естественным, но может страдать сам смысл перевода, при использовании систем, которые используют метод, основанный на применении правил, перевод выглядит не таким гладким, но более точно передавать смысл с языка оригинала.
Системы, основанные на правила, и системы, в которых используются корпус, могут быть объединены различными способами и представлять собой смешанную систему. Например, можно создать смешанную систему, где корпусный машинный перевод помогает найти эквиваленты, а затем применяется метод, основанный на правилах, в случае, если не найдено ни одного совпадающего образца.
Виды систем машинного перевода
Прямой
Прямой, или пословный машинный перевод осуществляется следующим образом: из языка источника считывается по одному слову за один раз, затем слово ищется в двуязычном списке слов произвольной формы. Слова могут быть удалены или не учтены, и, могут быть переведены одним или несколькими словами. Грамматический анализ не проводится, так что даже такие простые ошибки, как соглашение в роде и числе между существительным и определением к нему останется в языке перевода на выходе.
Перенос
Машинный перевод, основанный на переносе, работает таким образом, что, сначала язык-источник преобразовывается в зависимую от языка промежуточную репрезентацию, а затем правила применяются уже к этой промежуточной репрезентации с целью преобразования структуры языка-источника в структуру языка перевода. Перевод осуществляется с этой репрезентации с использованием как двуязычных словарей, так и грамматических правил.
Различия могут быть в уровне абстракции этой промежуточной репрезентации. Можно выделить две большие группы: неглубокая передача и глубокая передача. При неглубоком переносе машинного перевода промежуточная репрезентация, как правило, основывается или на морфологии или на поверхностном синтаксисе. При глубокой передачи МП промежуточная репрезентация обычно включает в себя что-то похожее на дерево разбора или графическую структуру (см. изображение справа)
Машинный перевод, основанный на переносе обычно работает следующим образом: сначала текст перевода анализируется и снимается морфологическая неоднозначность (а в случае глубокой передачи, синтаксическая) с целью получения промежуточной репрезентации исходного языка. Процесс переноса затем преобразует эту финальную репрезентацию (все еще на языке оригинала) в репрезентацию на том же уровне абстракции в языке перевода. Из репрезентации языка перевода, генерируется язык перевода.
Язык-посредник
В машинном переводе, основанного на переносе, правила написаны на основе пара-на-пару, что делает их особенными для языковой пары. В подходе "язык-посредник", промежуточная репрезентация полностью независимым от языка. Есть ряд преимуществ такого подхода, но также и недостатки. Преимущества в том, что есть возможность добавить новый язык в существующую систему МП, необходимо лишь написать анализатор и генератор для нового языка, а не правила переноса между новым языком и всех существующих языков. Недостаток в том что очень трудно определить язык-посредник, который может действительно представлять все нюансы всех естественных языках, и на практике, язык-посредник используются только для ограниченных областей перевода.
Проблемы машинного перевода
Анализ
Это также называется проблемой омонимии. Проблема состоит в том, что многие предложения на одном языке могут иметь более чем одну интерпретацию и эти интерпретации могут быть переведены по разному на разные языки. Рассмотрим следующий пример:
- Бүгүн мен Аннанын кечээ таанышкан досу менен сүйлөштүм. (
ky
)- → Сегодня я поговорил с другом Анны, с которым Анна вчера познакомилась. (
ru
)
- → Сегодня я поговорил с другом Анны, с которым Анна вчера познакомилась. (
- Бүгүн мен Аннанын кечээ таанышкан досу менен сүйлөштүм. (
ky
)- → Сегодня я поговорил с другом Анны, с которым я вчера познакомился. (
ru
)
- → Сегодня я поговорил с другом Анны, с которым я вчера познакомился. (
But sometimes these ambiguities can be preserved in translation, for example translating the same phrase to another Turkic language:
- Бүгүн мен Аннанын кечээ таанышкан досу менен сүйлөштүм. (
ky
)- → Бүгін мен Аннаның кеше танысқан досымен сөйлестім. (
kk
) - →
- → Бүгін мен Аннаның кеше танысқан досымен сөйлестім. (
To-do: Tatar or Chuvash example from native speaker
Синтез
Проблема в том, что в данном языке есть не один способов для передачи одного и того же значения. На пр. на чувашском языке: "сколько времени?"/"который час?"...
- Эсир мӗнле пурӑнатӑр?
- Мӗнле пурнӑҫсем?
- Мӗнле халсем?
- Мӗнле еҫсем?
Все эти вопросы требуют одинакового ответа, но их частота и место употребления могут различаться. В Apertium, на каждое введенное предложение, предлагается один вариант. От создателя системы зависит, какой вариант перевода будет предлагать система. Часто мы рекомендуем чтобы это был наиболее литературный перевод, так как это снижает необходимость в правилах переноса.
Перенос
В языках существуют различные способы передачи одного и того же значения. И эти значения обычно несовместимы между языками. Рассмотрите следующие примеры предложений, которые выражают одно и то же значение:
- Мен (сууга) сүзгөндү жакшы көрөм.
- Мен = subject, сүзгөндү = dir. object, жакшы.көрөм = verb
- Маған (суда) жүзу ұнайды.
- Маған = ind. object, жүзу = subject, ұнайды = verb.
- Minä pidän uimisesta
- Minä = subject, pidän = verb, uimisesta = adverbial
В системе Apertium, применяются правила, которые трансформируют структуру языка источника в структуру целевого языка, используя последовательность лексических форм в качестве промежуточной репрезентации. Более подробная информация в разделе 5: Основы структурного переноса.
Описание
Последней проблемой является проблема описания. Чтобы создать систему машинного перевода люди со знанием обоих языков должны систематизировать-кодировать свои знания в таком виде, чтобы компьютер смог их обработать.
Так как перевод часто является бессознательным процессом, мы переводим не задумываясь о правилах, которыми мы пользуемся. Компьютеры не имеют такой способности, им нужны конкретные инструкции что именно нужно делать. Перевод не получится, если в компьютер не будет занесена информация по переводу.
Но для многих предложений данная информация необязательна:
На пр., на славянских языках:
- Апертиум - система машинного перевода. (
ru
) - Apertium je sistem za mašinskoga prevođenja. (
sh
) - Apertium je sistem za računalniško prevajanje. (
sl
)
И на тюркских языках:
- Apertium bir makine çevirisi sistemidir. (
tr
) - Апертиум - машиналык котормо системасы. (
ky
) - Апертиум - машиналық аудару системасы. (
kk
)
Практика
Установка
Для руководства по установке Apertium, HFST и грамматике ограничений, смотрите раздаточный материал.
Применение
Чтобы пользоваться системой Apertium, сначала откройте first open up a terminal. Теперь cd
в раздел языковой пары, которую хотите протестировать.
$ cd apertium-aa-bb
Вы можете протестировать это при помощи следующей команды:
$ echo "Text that you want to translate" | apertium -d . aa-bb
Например, из турецкого в киргизский:
$ echo "En güzel kız evime geldi." | apertium -d . tr-ky Эң жакшынакай кыз үйүмө келди.
Структура раздела
Ниже приведена таблица, в которой дано описание основных файлов с данными, которые присутствуют в типичной языковой паре и ссылки на разделы в которых они описаны.
Файл | Вид | Описание | Раздел(ы) |
---|---|---|---|
apertium-tt-ba.tt.lexc |
Словарь | Tatar morphotactic dictionary, used for analysis and generation | 1 2 |
apertium-tt-ba.tt.twol |
Фонологические правила | Tatar morphophonological rules | 1 2 |
apertium-tt-ba.ba.lexc |
Словарь | Bashkir morphotactic dictionary, used for analysis and generation | 1 2 |
apertium-tt-ba.ba.twol |
Фонологические правила | Bashkir morphophonological rules | 1 2 |
apertium-tt-ba.tt-ba.dix |
Словарь | Tatar—Bashkir bilingual dictionary, used for lexical transfer | 4 |
apertium-tt-ba.tt.rlx |
Tagging rules | Tatar constraint grammar, used for morphological disambiguation | 3 |
apertium-tt-ba.ba.rlx |
Tagging rules | Bashkir constraint grammar, used for morphological disambiguation | 3 |
apertium-tt-ba.tt-ba.t1x |
Правила по переносу | Tatar→Bashkir first-level rule file, for structural transfer | 5 6 |
apertium-tt-ba.ba-tt.t1x |
Правила по переносу | Bashkir→Tatar first-level rule file, for structural transfer | 5 6 |