Статистический машинный перевод
В начале 1960-х годов широко распространилось мнение, что компьютеры вскоре смогут без особых проблем переводить с одного естественного языка на другой, в соответствии с тем, что в проекте Тьюринга удалось добиться успешного "перевода" закодированных сообщений на немецком языке в немецкий текст, доступный для восприятия. Но к 1966 году стало ясно, что для беглого перевода требуется понимание смысла сообщений, а для взлома кода — нет.
В последнее десятилетие наметилась тенденция к использованию систем машинного перевода, основанных на статистическом анализе. Безусловно, можно добиться выигрыша благодаря применению статистических данных и четкой вероятностной модели того, в чем состоит качественный анализ или передача текста, на любом из этапов, показанных на рис. 23.2. Но под понятием "статистического машинного перевода" подразумевается общий подход к решению проблемы перевода, который основан на поиске наиболее вероятного перевода предложения с использованием данных, полученных из двуязычной совокупности текстов. В качестве примера двуязычной совокупности текстов можно назвать парламентские отчеты5, которые представляют собой протоколы дебатов в парламенте. Двуязычные парламентские отчеты издаются в Канаде, Гонконге и других странах; официальные документы Европейского экономического сообщества издаются на 11 языках; а Организация объединенных наций публикует документы на нескольких языках. Как оказалось, эти материалы представляют собой бесценные ресурсы для статистического машинного перевода.
Схема начинается с английского текста, показанного в левой нижней части. Система с промежуточным языком следует по сплошным линиям, выполняя синтаксический анализ английского текста и преобразуя его вначале в синтаксическую форму, затем в семантическую форму представления и в форму представления на промежуточном языке, после этого выполняет этапы преобразования в семантическую, синтаксическую и лексическую форму на французском языке. В системе на основе передачи в качестве сокращенных путей используются пунктирные линии. В различных системах передача осуществляется на разных уровнях, причем в некоторых системах она происходит одновременно на нескольких уровнях
Проблему перевода английского предложения Е, скажем, во французское6 предложение F можно представить в виде следующего уравнения, предусматривающего применение правила Байеса:
Это правило указывает, что мы должны рассмотреть все возможные французские предложения F и выбрать из них то, которое максимизирует произведение р(Е\ F) Р(F). Коэффициент Р(Е) можно проигнорировать, поскольку он является одинаковым для любого F. Коэффициент Р (F) представляет собой языковую модель для французского языка; он указывает, насколько велика вероятность появления данного конкретного предложения во французском тексте. Вероятность P[E\F) представляет собой модель перевода; она указывает, насколько велика вероятность того, что некоторое английское предложение будет использоваться в качестве перевода, если дано определенное французское предложение.
Внимательного читателя, безусловно, заинтересует вопрос о том, чего мы добьемся, определив вероятность P(F\E) В терминах Р(Е \ F). В других областях применения правила Байеса такая перестановка термов в выражениях для условной вероятности была сделана в связи с тем, что мы стремились перейти к использованию причинной модели. Например, для вычисления вероятности наличия определенных симптомов при определенном заболевании, Р(Disease \ Symptoms), применялась причинная модель Р{ Symptoms \ Disease). В отличие от этого при переводе с одного языка на другой ни одно из направлений перевода не характеризуется большей причинной зависимостью, чем другое. В данном случае правило Байеса применяется в связи с тем, что мы, по-видимому, сможем легко определить с помощью обучения языковую модель P{F), которая является более точной по сравнению с моделью перевода Р(Е \ F) (а также более точной по сравнению с непосредственно полученной оценкой P(F\E) ). По сути такой подход позволяет разделить задачу на две части — вначале применить модель перевода P(F\E) ДЛЯ поиска подходящих французских предложений, в которых упоминаются те же понятия, что и в английском предложении (но это не обязательно должны быть французские предложения, полностью адекватные английскому предложению); затем воспользоваться языковой моделью P{F) (для которой имеются намного лучшие оценки вероятностей), чтобы выбрать наиболее подходящий вариант перевода.
В качестве языковой модели P(F) может использоваться любая модель, позволяющая присвоить предложению определенное значение вероятности. При наличии очень большой совокупности текстов можно оценить Р (F) непосредственно путем подсчета количества случаев появления каждого предложения в этой совокупности текстов. Например, если с помощью Web будет собрано 100 миллионов французских предложений и обнаружено, что предложение "Clique ici" (Щелкните здесь) появляется 50 тысяч раз, то Р{ "Clique ici") равно 0,0005. Но даже при наличии 100 миллионов примеров количество экземпляров большинства возможных предложений будет равно нулю7. Поэтому мы будем использовать знакомую языковую модель двухсловных сочетаний, в которой вероятность французского предложения, состоящего из слов f!... fn, может быть представлена следующим образом:
Для этого необходимо знать вероятности двухсловных сочетаний, такие как Р(11 Eiffel" | "tour") = .02. Эти данные позволяют учитывать только самые локальные проявления синтаксических связей, в которых слово зависит лишь от предыдущего слова. Но этого часто достаточно для грубого перевода8.
Задача выбора модели перевода, Р{Е \ F), является более сложной. С одной стороны, отсутствует готовая коллекция пар предложений (английский, французский), с помощью которой можно было бы проводить обучение. С другой стороны, такая модель сложнее, поскольку в ней рассматривается перекрестное произведение предложений, а не просто отдельные предложения. Начнем с одной чрезмерно упрощенной модели перевода и постепенно усовершенствуем ее до такого уровня, чтобы она напоминала известную разработку IBM Model 3 [196], которая все еще может показаться чрезмерно упрощенной, но обнаружила свою способность вырабатывать приемлемые варианты перевода примерно в половине случаев.
Рассматриваемая чрезмерно упрощенная модель перевода основана на таком принципе: "Чтобы перевести предложение, просто переведите каждое слово отдельно, независимо от другого, в порядке слева направо". Это — модель выбора однословного сочетания. Она позволяет легко вычислить вероятность перевода:
P(E\F) = Y\ P(EL\Fi) i = l
В некоторых случаях эта модель действует безукоризненно. Например, рассмотрим следующую конструкцию:
P("the dog"|"le chien") = р("the"|"le")ХР("dog"|"chien")
При любом обоснованном подборе вариантов значений вероятностей выражение "the dog" (собака) будет служить наиболее правдоподобным переводом выражения "1е chien". Но в большинстве случаев прямолинейные попытки применения этой модели оканчиваются неудачей. Одна из проблема связана с порядком слов. Английское слово "dog" соответствует французскому слову "chien", а понятие, обозначаемое в английском языке словом "brown" (коричневый), во французском языке обозначается словом "brun". Однако словосочетание "brown dog" переводится как "chien brun". Еще одна проблема состоит в том, что словесные обороты не связаны друг с другом в форме взаимно однозначного соответствия. Английское слово "home" часто переводят с помощью выражения "a la maison", поэтому имеет место соответствие "один к трем" (или три к одному, при противоположном направлении перевода). Невзирая на наличие указанных проблем, разработчики модели IBM Model 3 приняли за основу жесткий подход, по сути базирующийся на модели однословных сочетаний, но ввели несколько дополнений для компенсации ее недостатков.
Для того чтобы можно было учесть тот факт, что некоторые слова не допускают перевода один к одному, в эту модель было введено понятие фертильности (fertility — плодовитость) слова. Слово с фертильностью п копируется п раз, после чего каждая из этих п копий переводится независимо. Модель содержит параметры, которые показывают значение P{Fertility=n| word) для каждого французского слова. Для перевода выражения "a la maison" как выражения "home" в этой модели необходимо выбрать фертильность 0 для "а" и "1а" и фертильность 1 для "maison", а затем применить модель перевода однословных сочетаний, чтобы перевести "maison" как "home". Такой подход кажется достаточно приемлемым, поскольку "а" и "1а", будучи словами с низким информационным содержанием, могут быть на полном основании заменены в процессе перевода пустой строкой. Но применение такого метода для перевода в другом направлении становится более сомнительным. Слову "home" должна быть назначена фертильность 3, что приведет к его преобразованию в "home home home". Тогда первое слово "home" должно быть переведено как "а", второе как "1а" и третье как "maison". Но с точки зрения этой модели перевода выражение "a la maison" должно иметь точно такую же вероятность, как "maison la а" (в этом и состоит та часть данного подхода, которая может быть поставлена под сомнение.) Дело в том, что выбор того или иного варианта должен осуществляться на уровне языковой модели. Может показаться, что было бы более целесообразным применение непосредственного перевода слова "home" как выражения "a la maison" вместо использования косвенного варианта с преобразованием в "home home home", но дня этого потребовалось бы больше параметров и их было бы труднее получить из доступной совокупности текстов.
В последней части этой модели перевода предусмотрена перестановка слов в правильные позиции. Такая перестановка осуществляется с помощью модели смещений, в которой указано, как следует перемещать слова из их первоначальных позиций в окончательные позиции. Например, при переводе "chien brun" как "brown dog" слово "brown" получает смещение +1 (оно сдвигается на одну позицию вправо), а слово "dog" получает смещение -1. На первый взгляд может показаться, что смещение должно быть зависимым от слова, например, такие прилагательные, как "brown", как правило, должны иметь положительное смещение, поскольку во французском языке прилагательные обычно стоят после существительных. Но разработчики модели IBM Model 3 решили, что для реализации подхода, в котором смещения зависят от слова, потребуется слишком много параметров, поэтому смещение должно быть независимым от слова и зависимым только от положения внутри предложения, а также от длины предложений на обоих языках. Это означает, что в этой модели осуществляется оценка следующих параметров:
Р( Of fset=o I Posi tion=p, EngLen-m, FrLen=n)
Таким образом, для определения смещения слова "brown" в выражении "brown dog" с помощью базы данных определяется значение P(Offset 11, 2 ,2), что может, например, привести к получению значения +1 с вероятностью 0,3 и 0 с вероятностью 0,7. Но такая модель смещений кажется еще более сомнительной, особенно тем, кто, например, пытался составить надпись из букв с магнитами на своем холодильнике и понял, что это намного сложнее, чем высказать то же самое с помощью обычной речи. Вскоре будет показано, что такое решение было принято разработчиками не потому, что оно основано на качественной модели языка, а в связи с тем, что обеспечивает эффективное использование имеющихся данных. Так или иначе модель смещения наглядно показывает, что модель перевода среднего качества может быть значительно улучшена с помощью высококачественной языковой модели для французского языка. Ниже приведен пример, показывающий все этапы перевода одного предложения.
Исходный французский текст: Le chien brun n' est pas alle a la maison
Модель фертильности: 11 1 1101 001
Трансформированный
французский текст: Le chien brun n' est alle maison
Модель выбора слов: The dog brown not did go home
Модель смещений: 0+1 -1 +1-1 0 0
Целевой английский текст: The brown dog did not go home
Теперь нам известно, как рассчитать вероятность P(F\E) ДЛЯ любой пары предложений (французский, английский). Но в действительности перед нами стоит задача, получив некоторое английское предложение, найти французское предложение, которое максимизирует эту вероятность. Для этого недостаточно просто перебирать предложения, поскольку если предположить, что количество слов во французском языке равно 105, то существует 105п предложений длины л, а также много вариантов каждого из этих предложений. И даже если будут рассматриваться только 10 наиболее часто встречающихся вариантов дословного перевода для каждого слова и учитываться лишь смещения 0 или ±1, все равно будет получено около 2П/210П предложений, а это означает, что может быть выполнен их полный перевод при л=5, но не при л=10. Поэтому вместо перебора необходимо осуществлять поиск наилучшего решения. Практика показала, что эффективным является поиск на основе алгоритма А*; см. [545].