Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Распределенная статистическая система машинного перевода (Distributed statistical machine translation system)
1. Введение Принципы Архитектура Оценка Перспективы
Распределенное
программно-информационное
обеспечение статистической модели
перевода естественных языков
Е. C. Гаврилов и И. К. Никитин
19 января 2012 г.
Е. C. Гаврилов и И. К. Никитин Статистический машинный перевод
2. Введение Принципы Архитектура Оценка Перспективы
Cодержание
Введение Архитектура Оценка
Причины Обзор Примеры
Методы Обучение BLEU
Принципы Декодеривание Скорость
Модель Шеннона Цена
Модель языка Перспективы
Модель перевода Результаты
Декодер Развитие
Е. C. Гаврилов и И. К. Никитин #2 35 | Статистический машинный перевод
3. Введение Принципы Архитектура Оценка Перспективы Причины Методы
Для чего нужен машинный перевод?
бытовой перевод:
книги,
переписка;
поиск в Интернете на разных языках (внутри поисковых
алгоритмов и дополнительная функция для пользователя);
перевод научных публикаций c других языков;
применения достижений в других областях:
автоматическое реферирование,
распознавание речи,
распознавание последовательностей аминокислот (ДНК).
Е. C. Гаврилов и И. К. Никитин #3 35 | Статистический машинный перевод
4. Введение Принципы Архитектура Оценка Перспективы Причины Методы
Основные методы машинного перевода
М .
. ашинный перевод
.
П .
. равила Д .
. анные
П
. ословные
. И
. нтерлингвистические
. О
. снованные . примерах
на
Т
. рансферные
. С
. татистические
.
Е. C. Гаврилов и И. К. Никитин #4 35 | Статистический машинный перевод
5. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
Модель зашумленного канала (1)
Ш
. ум
И
. сточник (R)
. П .
. ередачик
. П
. риемник
. Ц .
. ель (E)
1. Пусть ϕr — фраза оригинала (русская).
2. Требуется найти ϕe — фразу перевода (английскую).
Максимизировать P(ϕe |ϕr ).
(P(ϕe ) · P(ϕr |ϕe ))
P(ϕe |ϕr ) = ⇒
P(ϕr )
ϕeg = arg max P(ϕe |ϕr ) = arg max (P(ϕe ) · P(ϕr |ϕe ))
∪ϕe ∪ϕe
Е. C. Гаврилов и И. К. Никитин #5 35 | Статистический машинный перевод
6. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
С
. татистическая система машинного перевода
.
Модель языка Модель перевода
. . . .
P(ϕe ) P(ϕr |ϕe )
arg max P(ϕe |ϕr ) = arg max (P(ϕe ) · P(ϕr |ϕe ))
∪ϕe ∪ϕe
ϕe — фраза перевода (английская);
ϕr — фраза оригинала (русская).
Е. C. Гаврилов и И. К. Никитин #6 35 | Статистический машинный перевод
7. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
С
. татистическая система машинного перевода
.
Модель языка Модель перевода
. . . .
P(ϕe ) P(ϕr |ϕe )
Декодер
. .
arg max (P(ϕe ) · P(ϕr |ϕe ))
∪ϕe
Е. C. Гаврилов и И. К. Никитин #7 35 | Статистический машинный перевод
8. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
С
. татистическая система машинного перевода
.
Модель языка Модель перевода
. . . .
P(ϕe ) P(ϕr |ϕe )
Декодер
. .
arg max (P(ϕe ) · P(ϕr |ϕe ))
∪ϕe
Параллельный
Корпус текста
. . . корпус .
текста
на языке ϕe . на языках ϕe и ϕr .
Е. C. Гаврилов и И. К. Никитин #8 35 | Статистический машинный перевод
9. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
Модель языка
Правильный порядок слов.
Вычисляется с помощью n-грамм слов. Пример для 3-грамм:
(ω1 ,
ω2 , ω3 );
(ω ,
2 ω3 , ω4 );
ϕ = (ω1 , ω2 , ω3 , ω4 , . . . , ωl ) ⇒
.
.
.
. .
.
.
. .
(ωl−2 , ωl−1 , ωl ).
Вычисляется по формуле:
∏
i=l+n−1
P(ϕ) = P(ω1 . . . ωl ) = P (ωi |ωi−1 . . . ωi−n+1 ).
i=0
Е. C. Гаврилов и И. К. Никитин #9 35 | Статистический машинный перевод
10. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
Модель языка (подробнее)
Вычисляется с помощью n-грамм слов.
∏
i=l+n−1
P(ω1 . . . ωl ) = P (ωi |ωi−1 . . . ωi−n+1 )
i=0
P (ωm |ω1 . . . ωm−1 ) = Kn · P(ωm |ω1 . . . ωm−1 ) + . . . + K1 · P(ω1 ) + K0 ;
частота (ω1 )
P(ω1 ) = ;
|Θ|
частота (ω1 . . . ωm−1 ωm )
P(ωm |ω1 . . . ωm−1 ) = ;
частота (ω1 . . . ωm−1 )
∑
i=n
Ki — коэффициенты сглаживания Ki > Ki+1 и Ki = 1.0.
i=0
Е. C. Гаврилов и И. К. Никитин #10 35 | Статистический машинный перевод
11. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
Модель языка (адаптивные модели)
∏
i=l+n−1
P(ω1 . . . ωl ) = P (ωi |ωi−1 . . . ωi−n+1 )
i=0
P можно вычислить иначе, используя адаптивный метод сглаживания
δ + частота (ω1 . . . ωm )
P (ωm |ω1 . . . ωm−1 ) = ∑ ( ) =
δ + частота (ω1j . . . ωmj )
i
δ + частота (ω1 . . . ωm )
= ∑( )
δ·V+ частота (ω1j . . . ωmj )
i
V — количество всех n-грамм в используемом корпусе;
δ = 1 — метод сглаживания Лапласа;
δ = 1 ⇒ методы Гуда-Тьюринга, Катца, Кнезера-Нейя.
Е. C. Гаврилов и И. К. Никитин #11 35 | Статистический машинный перевод
12. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
Введем обозначения
Θe — «английский» текст (множество предложений);
Θr — «русский» текст;
Πe — «английское» предложение (последовательность
слов);
Πr — «русское» предложение;
ωe — «английское» слово;
ωr — «русское» слово;
Е. C. Гаврилов и И. К. Никитин #12 35 | Статистический машинный перевод
13. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
Модель перевода (1)
Вводим выравнивание для пары предложений Πe , Πr .
Для выравнивания нужны вероятности лексического
перевода ωe → ωr .
Для вероятности лексического перевода нужны
выравнивания.
Проблема «курицы и яйца».
Е. C. Гаврилов и И. К. Никитин #13 35 | Статистический машинный перевод
14. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
Модель перевода (2)
Пусть P(Πe |Πr ) — вероятность некоторой строки (предложения) из e,
при гипотезе перевода из r.
∑
P(Πe |Πr ) = P(Πe , a|Πr );
a
a — выравнивание между отдельными словами в паре предложений.
Вероятность перевода:
ε ∏
le
P(Πe , a|Πr ) = t(ωej |ωra(j) )
(lr + 1)le
j=1
t — это вероятность слова оригинала в позиции j при соответствующем
ему слове перевода ωra(j) , определенном выравниванием a.
Е. C. Гаврилов и И. К. Никитин #14 35 | Статистический машинный перевод
15. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
Модель перевода (3)
P(Πe , a|Πr )
P(a|Πe , Πr ) = ∑
P(Πe , a|Πr )
a
Имея набор выравниваний с определенными вероятностями, мы можем
подсчитать частоты каждой пары слов,
counts(ωe |ωr ) counts(ωe |ωr )
t(ωe |ωr ) = ∑ = ;
counts(ωe |ωr ) total(ωr )
ωe
Требуется оценить вероятности лексического перевода t(ωe |ωr ) Но
чтобы сделать это нужно вычислить a, которой у нас нет.
Е. C. Гаврилов и И. К. Никитин #15 35 | Статистический машинный перевод
16. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
Модель перевода (4)
Для оценки параметров −→ EM-алгоритм (Витерби).
инициализируем параметры модели (одинаковыми
значениями, на первой итерации);
оценим вероятности отсутствующей информации;
оценим параметры модели на основании новой информации;
перейдем к следующей итерации.
Е. C. Гаврилов и И. К. Никитин #16 35 | Статистический машинный перевод
17. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
Базовый-алгоритм(Θe , Θr )
1 ∀ ωe ∈ Πe ∈ Θe : £ Инициализируем таблицу t(ωe |ωr )
2 ∀ωr ∈ Πr ∈ Θr : £ одинаковыми значениями.
3 t(ωe |ωr ) ← u, u ∈ R; £ Лочично, если u = число(ω1
e i ∈Θe )
4 пока не сойдется : £ Все t(ωe |ωr ) или 0 или 1.
5 ∀ ωe ∈ Πe ∈ Θe : £ Инициализируем остальные таблицы.
6 ∀ωr ∈ Πr ∈ Θr :
7 counts(ωe |ωr ) ← 0; total(ωr ) ← 0;
8 ∀ Πe , Πr ∈ Θe , Θr : £ Вычисляем нормализациию.
9 ∀ ωe ∈ Π e :
10 stotal(ωe ) ← 0; £ Создаем временную таблицу.
11 ∀ ωr ∈ Π r :
12 stotal(ωe ) ← stotal(ωe ) + t(ωe |ωr );
13 ∀ ωe ∈ Πe : £ Собираем подсчеты.
14 ∀ ωr ∈ Π r :
t(ωe |ωr )
15 counts(ωe |ωr ) ← counts(ωe |ωr ) + ;
stotal(ωe )
t(ωe |ωr )
16 total(ωr ) ← total(ωr ) + ;
stotal(ωe )
17 ∀ ωe ∈ Θe : £ Вычисляем оценку максимального правдоподобия
18 ∀ωr ∈ Θr : £ для распределения Бернули.
counts(ωe |ωr )
19 t(ωe |ωr ) ← ;
total(ωr )
Е. C. Гаврилов и И. К. Никитин #17 35 | Статистический машинный перевод
18. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
∃ Отличия от других систем
Система используется для перевода научно-технической литературы.
.
Слова → n-грамы .
..
⇐ Устойчивые формальные выражения в научных текстах.
.
.. .
.
.
Выравнивание по круппным группам n-грам .
..
⇐ прямой порядок слов;
⇐ стереотипная структура предложений.
.
.. .
.
.
Модели низких порядков .
..
⇐ важность локального порядка слов;
⇐ фертильности и вероятностной грамматики могут его разрушить.
.
.. .
.
Е. C. Гаврилов и И. К. Никитин #18 35 | Статистический машинный перевод
19. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
Декодер
Среди всех возможных вариантов .
Исходная фраза
.
ϕr
перевода выбрать правильный:
полный перебор;
Модель Модель
. перевода
. . языка
.
A*: P(ϕr |ϕe ) P(ϕe )
Д .
. екодер
стековый поиск,
многостековый поиск;
жадный инкрементный поиск;
Перевод исходной фразы
.
сведение к обобщенной задаче arg max (P(ϕe ) · P(ϕr |ϕe ))
ϕe
коммивояжера.
Е. C. Гаврилов и И. К. Никитин #19 35 | Статистический машинный перевод
20. Введение Принципы Архитектура Оценка Перспективы Модель Шеннона Модель языка Модель перевода Декодер
Жадный инкрементный поиск
простой и быстрый поиск;
«плохой» вариант перевода получаем сразу;
последовательно применяя набор операций можем
улучшить перевод;
изменить перевод слова (группы слов, n-граммы),
удалить слово (группу слов, n-грамму),
поменять слова местами (группы слов, n-граммы);
можно делать отсечку по времени;
можем сразу оценить модель языка большой фразы.
Е. C. Гаврилов и И. К. Никитин #20 35 | Статистический машинный перевод
21. Введение Принципы Архитектура Оценка Перспективы Обзор Обучение Декодеривание
∃ Из чего состоит система
Читатель
. орпус .En, Ru
К . .
Erlang П
. РС-СМП
Набор приложений.
Могут быть удалены
База данных
.
. Декодер
.
. друг от друга. . .
Redis Erlang
Распределены
где это возможно.
. нтерфейсы
и
. еб
В .
. est
R .
Обработчик
.
. онсоль
К .
.
Erlang
.
Е. C. Гаврилов и И. К. Никитин #21 35 | Статистический машинный перевод
22. Введение Принципы Архитектура Оценка Перспективы Обзор Обучение Декодеривание
. .
Читатель . Обработчик .
.. ..
Nчит. < Nобр.
. .
.. .
.
.. .
.
Е. C. Гаврилов и И. К. Никитин #22 35 | Статистический машинный перевод
23. Введение Принципы Архитектура Оценка Перспективы Обзор Обучение Декодеривание
.
Декодер .
..
жадный инкрементный
поиск;
два режима работы:
перевода,
улучшения.
пошаговый веб-интерфейс;
потоковый RESTful-сервис;
пошаговый консольный
интерфейс.
.
.. .
.
Е. C. Гаврилов и И. К. Никитин #23 35 | Статистический машинный перевод
24. Введение Принципы Архитектура Оценка Перспективы Обзор Обучение Декодеривание
∃ Детали работы декодера (1)
В первом режиме работы на вход принимается исходный
текст.
Последовательно разбивается на n-граммы.
Сначала наибольшего размера.
n-граммы ищутся в базе данных.
Если нашли, выбираем наиболее вероятную.
Если нет, берем n-грамму меньшего размера, слова (1-граммы)
возвращаем как есть.
Вычисляем величину неопределенности.
Во втором режиме работы на вход принимается:
исходный текст (ИТ);
переводной текст (ПТ) c предыдущей итерации
величина неопределенности (ВН).
Е. C. Гаврилов и И. К. Никитин #24 35 | Статистический машинный перевод
25. Введение Принципы Архитектура Оценка Перспективы Обзор Обучение Декодеривание
∃ Детали работы декодера (2)
Sηe Sωe
∑ ∑
− S 1 log2 P(ηe i )+ S 1 log2 P(ωr j |ωe j )
ηe ωe
i=1 j=1
ВН = 2
ηe — n-граммы высокого порядка найденные в созданном тексте;
Sηe — количество таких n-грамм;
P(ηe ) — вероятность n-грамм согласно языковой модели
(вычисляется как указано раннее);
ωe — n-граммы (слова) как результат перевода согласно модели
перевода;
Sωe — количество таких n-грамм (слов);
P(ωrj |ωej ) — вероятность перевода фразы ωej на ωrj .
Е. C. Гаврилов и И. К. Никитин #25 35 | Статистический машинный перевод
26. Введение Принципы Архитектура Оценка Перспективы Примеры BLEU Скорость Цена
∃ Примеры (1)
Оригинал
... adopted at the 81st plenary meeting ...
Переводчик
... принята на 81-м пленарном заседании ...
Система
... принята без голосования на 81 пленарном заседании
в Брюсселе ...
Е. C. Гаврилов и И. К. Никитин #26 35 | Статистический машинный перевод
27. Введение Принципы Архитектура Оценка Перспективы Примеры BLEU Скорость Цена
∃ Примеры (2)
Оригинал
It will be instructive to exhibit Euclid’s algorithm here.
Переводчик
Думаю, имеет смысл привести здесь описание этого алгоритма.
Система
Будет поучительно выставить алгоритм Евклида здесь.
Е. C. Гаврилов и И. К. Никитин #27 35 | Статистический машинный перевод
28. Введение Принципы Архитектура Оценка Перспективы Примеры BLEU Скорость Цена
∃ Примеры (3)
Оригинал
Many years have passed since the author wrote most of the
comments above ...
Переводчик
Со времени первого написания автором большинства
приведенных выше комментариев утекло много воды ...
Система
Много лет прошло с тех пор, автор написал большую часть
комментариев выше ...
Е. C. Гаврилов и И. К. Никитин #28 35 | Статистический машинный перевод
29. Введение Принципы Архитектура Оценка Перспективы Примеры BLEU Скорость Цена
Оценка с использованием метрики BLEU (1)
BLEU — Bilingual Evaluation Understudy
Численная оценка качества перевода.
Нужен перевод, выполненный человеком.
Система BLEU
Показывает величину близости ПРС-СМП (1) 0.243
к «человеческому» переводу. ПРС-СМП (100) 0.209
Чем меньше величина, тем лучше. Moses (IBM 3) 0.201
Сравнивались: Moses (IBM 5) 0.173
ПРС-СМП;
cистемы построенная на основе
Moses.
Е. C. Гаврилов и И. К. Никитин #29 35 | Статистический машинный перевод
30. Введение Принципы Архитектура Оценка Перспективы Примеры BLEU Скорость Цена
Оценка с использованием метрики BLEU (2)
( )
∑
N
Wn log(pn )
BLEU = Bp · e n=1
∑ ∑
числосреза (ηc )
1, lc > lh ; C∈Sc ηc ∈C
Bp = ( l
) и pn = ∑ ∑
e 1− lh
c , lc lh . число(ηc )
C∈Sc ηc ∈C
Bp — штраф за краткость;
lc — длинна кандидата перевода;
lh — длинна экспертного перевода (выполненного человеком);
Sc — множество кандидатов на перевод;
C — кандидат на перевод;
ηc — n-грамма кандидата на перевод;
числосреза — число n-грамм кандидата перевода,
которые встретились в переводе эксперта;
1
Wn = — вес;
N
Е. C. Гаврилов и И. К. Никитин #30 35 | Статистический машинный перевод
31. Введение Принципы Архитектура Оценка Перспективы Примеры BLEU Скорость Цена
Оценка скорости обучения
Процессор: Intel Core2 Duo, 1 ядро 64 бит, ОП 4Гб, ФС:ext4
Система Время, ч
ПРС-СМП (1) ≈5
Moses (GIZA++) ≈ 25
Chaski (MGIZA++) ≈ 26
Процессор: Intel Xeon E5506, 8 ядер 64 бит, ОП 10Гб, ФС:xfs
Система Время, ч
ПРС-СМП (1) ≈1
Moses (GIZA++) ≈ 22
Chaski (MGIZA++) ≈3
Е. C. Гаврилов и И. К. Никитин #31 35 | Статистический машинный перевод
32. Введение Принципы Архитектура Оценка Перспективы Примеры BLEU Скорость Цена
Оценка скорости декодирования
Процессор: Intel Core2 Duo, 1 ядро 64 бит, ОП 4Гб, ФС:ext4
Система Время, мкс
ПРС-СМП (1) 1132
ПРС-СМП (100) 7108124
Moses (IBM 3) ≈ 10000000
Moses (IBM 5) ≈ 30000000
Процессор: Intel Xeon E5506, 8 ядер 64 бит, ОП 10Гб, ФС:xfs
Система Время, мкс
ПРС-СМП (1) 1012
ПРС-СМП (100) 1119024
Moses (IBM 3) ≈ 5000000
Moses (IBM 5) ≈ 6000000
Е. C. Гаврилов и И. К. Никитин #32 35 | Статистический машинный перевод
33. Введение Принципы Архитектура Оценка Перспективы Примеры BLEU Скорость Цена
Оценка полезности
Экономическая часть: Охрана труда:
Разработка — 916669 руб. Хороший переводчик меньше
Цена — 1833 руб. проводит время у компьютера.
Стоимость — 108786 руб Не подвергается вредному
год .
воздействию:
Меньше зп плохого
руб тихо работает ⇒;
переводчика (385920 год ). ⇒ качественный перевод ⇒;
⇒ качественные данные.
Е. C. Гаврилов и И. К. Никитин #33 35 | Статистический машинный перевод
34. Введение Принципы Архитектура Оценка Перспективы Результаты Развитие
Результаты
Разработан подход:
быстрого обучения модели перевода для научных текстов.
Реализована система машинного перевода:
многопроцессорная, распределенная;
только научно-техническая литература;
быстрое обучение;
быстрое (пошаговое) декодирование.
Е. C. Гаврилов и И. К. Никитин #34 35 | Статистический машинный перевод
35. Введение Принципы Архитектура Оценка Перспективы Результаты Развитие
Дальнейшее развитие
Математика: Архитектура и реализация:
полноценный фразовый перевод; использовать пословное сжатие
синтаксический перевод; при хранении в БД;
смешанная система перевода: переписать обработчика на Cи
с libevent;
пара русский-английский,
морфологический анализ. libevent для RESTful-сервиса
декодера:
опробовать более точные методы
1 млн. одновременных
поиска.
соединений
попробовать Redis → leveldb.
Е. C. Гаврилов и И. К. Никитин #35 35 | Статистический машинный перевод