12.4.5. Нейронный машинный перевод
Задача машинного перевода состоит в чтении предложения на одном естественном
языке и выводе предложения с эквивалентным смыслом на другом языке. Системы
машинного перевода обычно состоят из многих компонент. На верхнем уровне име-
398
Приложения
ется один компонент, который предлагает большое число потенциальных переводов.
Многие переводы грамматически некорректны из-за различий между языками. На-
пример, в некоторых языках прилагательные ставятся после существительных, так
что при переводе на английский получаются фразы типа «apple red». Механизм пред-
ложений рекомендует много вариантов перевода, и в идеале среди них будет и «red
apple». Второй компонент системы перевода, языковая модель, оценивает предло-
женные переводы и может поставить варианту «red apple» более высокую оценку, чем
варианту «apple red».
Уже в самых первых исследованиях применения нейронных сетей к машинно-
му переводу встречалась идея кодировщика и декодера (Allen 1987; Chrisman 1991;
Forcada and
Ñ
eco 1997), а первым крупным коммерческим приложением в этой
области стал переход на нейронную языковую модель в одной системе перевода
(Schwenk et al., 2006; Schwenk, 2010). Ранее в большинстве систем машинного пере-
вода для этой цели применялась
n
-граммная модель. В машинном переводе исполь-
зуются не только традиционные возвратные
n
-граммные модели (Jelinek and Mercer,
1980; Katz, 1987; Chen and Goodman, 1999), но также
языковые модели максималь-
ной энтропии
(Berger et al., 1996), в которых слой с аффинным преобразованием
и функцией softmax предсказывает следующее слово при наличии частых
n
-грамм
в контексте.
Традиционные языковые модели просто возвращают вероятность предложения
естественного языка. Поскольку задача машинного перевода – породить выходное
предложение по известному входному, имеет смысл обобщить модель естественного
языка, сделав ее условной. В разделе 6.2.1.1 был описан прямолинейный способ обоб-
щения модели, определяющей маргинальное распределение некоторой переменной
таким образом, чтобы она определяла условное распределение той же переменной
при заданном контексте
C
, где
C
может быть одной переменной или списком пере-
менных. В работе Devlin et al. (2014) превзойдено лучшее достижение на некоторых
эталонных тестах для машинного перевода; для этого авторы использовали МСП, ко-
торый оценивал фразу t
1
, t
2
, …, t
k
на целевом языке, зная фразу s
1
, s
2
, …, s
n
на исходном
языке. МСП вычисляет оценку в виде вероятности
P
(
t
1
,
t
2
, …,
t
k
|
s
1
,
s
2
, …,
s
n
). Оцен-
ка, вычисленная этим МСП, используется вместо оценки, предложенной условной
n
-граммной моделью.
Недостаток подхода на основе МСП состоит в том, что последовательности нуж-
но предварительно обработать, так чтобы их длина была фиксирована. Для повыше-
ния гибкости перевода хотелось бы иметь модель, которая подстраивается под вхо-
ды и выходы переменной длины. Такую возможность дает рекуррентная нейронная
сеть. В разделе 10.2.4 описано несколько способов построения РНС, представляющей
условное распределение последовательности при условии входа, а в разделе 10.4 –
как реализовать такое обусловливание, когда входом является последовательность.
В любом случае сначала одна модель читает входную последовательность и порожда-
ет структуру данных, содержащую ее сводку. Эта сводка называется «контекстом»
C
.
Контекст может быть списком векторов, вектором или тензором. Модель, которая чи-
тает вход и порождает
C
, может представлять собой РНС (Cho et al., 2014a; Sutskever
et al., 2014; Jean et al., 2014) или сверточную сеть (Kalchbrenner and Blunsom, 2013).
Затем вторая модель, обычно РНС, читает контекст
C
и порождает предложение на
целевом языке. Эта общая идея кодировщика-декодера для машинного перевода по-
казана на рис. 12.5.
Обработка естественных языков
399
Кодировщик
Выходной объект
(предложение на английском языке)
Промежуточное
семантическое представление
Исходный объект (предложение
на французском языке или изображение)
Декодер
Do'stlaringiz bilan baham: |