Перевод на основе сочетаний
В 1990-е годы начал развиваться новый подход к машинному перево- ду, использующий цепочки слов — фрагменты предложений. Так появи- лись модели перевода, основанные на сочетаниях (phrase-based translation models).
Важно сказать, что сочетания в этих моделях не соответствуют сло- восочетаниям в лингвистическом понимании этого слова. Сочетания в машинном переводе — это фрагменты предложений, не имеющие единой структуры, например, фрагмент пришел в этот.
В основе этого подхода лежат тройки (х, у, g), где х — фрагмент пред- ложения на исходном языке, у — фрагмент на языке перевода, а g — вес пары (х, у), который тем выше, чем чаще встречается перевод одного фрагмента другим. Приведем примеры таких троек:
(in the, в, 0,6)
(in the town, в городе, 0,007)
(work in the town, работают в городе, 0,0006)
Обратите внимание, что количество слов в первом и во втором фраг- менте может отличаться.
Для автоматического создания таких троек нам требуется параллель- ный корпус из предложений на двух языках x(n) и y(n), а также матрица выравнивания (alignment matrix) по словам A(n). Матрица — математиче- ский объект, похожий на прямоугольную таблицу, в клетки которой вписа-
ны различные значения. В нашем случае в эти клетки будут вписаны еди- ницы или нули, обозначающие выравнивание слов в предложениях, запи- санных по вертикальной и горизонтальной стороне прямоугольника.
Матрица выравниваний строится на основе двух одномерных вырав- ниваний, выполненных с помощью ЕМ-алгоритма. Вначале мы создаем массив выравнивания, рассматривая первый язык как оригинал, а второй
как перевод. Затем мы запускаем тот же алгоритм создания массива выравнивания, поменяв местами перевод и оригинал. Получается другая одномерная версия возможного выравнивания. Далее, мы заносим полу- ченные результаты в массив. В каких-то клетках они совпадут — и это значит, что связь или отсутствие связи между этими словами почти не вы- зывает сомнений. Но где-то результаты будут отличаться, тогда для какой- то клетки один массив выравниваний будет показывать единицу, а второй
ноль. Для этих случаев есть свои правила, и после их применения по- лучается достаточно правдоподобная матрица для каждой пары предло- жений.
Вот так будет выглядеть, например, матрица выравнивания для анг- лийского предложения She will go shopping и для его русского перевода Она пойдет в магазин. Мы запишем здесь только единицы, а нули опус- тим.
|
She
|
will
|
go
|
shopping
|
Она
|
1
|
|
|
|
пойдет
|
|
1
|
1
|
|
в
|
|
|
|
1
|
магазин
|
|
|
|
1
|
Обратите внимание, что матрица позволяет передавать те связи, кото- рые невозможно изобразить с помощью одномерного массива из моделей IBM. В нашем примере два английских слова will go передаются одним русским словом пойдет, но при этом слово shopping передается двумя русским словами в магазин. Это невозможно передать, если в массиве a(n) число элементов совпадает с числом слов в одном их предложений. Какие- то из связей просто не поместятся в одномерный массив.
Теперь нам надо узнать, как на основе параллельного корпуса и мат- рицы выравниваний создать тройки типа (in the town, в городе, 0,007), на основе которых будет работать машинный перевод. Для этого нужно вы- полнить следующие шаги:
выделить в исходном и в конечном предложении все возможные фрагменты;
проверить, какие пары фрагментов являются консистентными — это мы поясним чуть ниже;
для консистентных пар посчитать вес, тогда два фрагмента и вес об- разуют необходимую тройку.
Консистентность можно описать с помощью трех условий:
а) во фрагменте [yv, yw] есть хотя бы одно слово, связанное со словом во фрагменте [хi, хj];
б) ни одно слово во фрагменте [хi, хj] не связано со словом за пределами [yv, yw];
в) ни одно слово во фрагменте [yv, yw] не связано со словом за пределами [хi, хj].
Консистентность можно легко увидеть с помощью матрицы выравнива- ния. Если два слова связаны, то соответствующей клетке матрицы стоит единица. Все единицы двух консистентных фрагментов можно обвести прямоугольником, за пределами которого не останется единиц ни по гори- зонтали, ни по вертикали (это соответствует условиям б и в). Вот примеры двух таких треугольников, они соответствуют двум парам отрезков: (She will go, она пойдет) и (shopping, в магазин).
|
She
|
will
|
go
|
shopping
|
Она
|
1
|
|
|
|
пойдет
|
|
1
|
1
|
|
В
|
|
|
|
1
|
магазин
|
|
|
|
1
|
Для двух этих предложений можно найти и другие консистентные па- ры, например: (will go shopping, пойдет в магазин).
Получившиеся тройки образуют словарь сочетаний (phrase-based lexicon), на основе которого будет происходить перевод предложений.
После этого по определенному алгоритму необходимо вычислить вес этих пар. Далее с помощью некоторой громоздкой формулы можно будет вычислять модель перевода. Но мы не будем описывать здесь дальнейшие шаги по созданию модели перевода. Если предыдущая часть показалась вам интересной и полезной, то дальнейшие шаги вы можете узнать из классической книги по статистическому машинному переводу [Koehn
2010], из лекций Михаэля Коллинза на Coursera и во многих специализи- рованных пособиях и учебниках.
Самая удобная система для реализации статистического машинного перевода называется Moses. Она объединяет все необходимые для этого программы, алгоритмы и утилиты, но требует больших ресурсов.
Достарыңызбен бөлісу: |