2. Задача
Передать иноязычное имя собственное с
сохранением его фонетического облика
Ivangoe – Айвенго
Samhain – Савань
Jorge – Хорхе
3. Терминология
Практическая транскрипция (термин введен
А.М.Сухотиным в 1935 году) – запись иноязычных имен и названий
с использованием исторически сложившейся орфографической
системы языка-приемника, способ включения слов одного языка в
текст другого с приблизительным сохранением звукового облика
этих слов, но также с возможным учетом написания в оригинале и
сложившихся традиций.
Поскольку предполагается решить задачу с помощью компьютера,
представляется оправданным введение термина машинная
(автоматическая) транскрипция.
В зарубежной науке термин «transcription» используется только в
генетике. Задача практической транскрипции в англоязычной
научной литературе обозначается как transliteration.
4. Смежные задачи
транслитерация
Charles Aznavour – Шарль Азнавур
восстановление правильного написания имени
Sent Francisco
Sant Fransisko San Francisco
Sen Frantsisca
обратная транслитерация
Джордж Буш – George Bush
(а не Boosh, Boushe и пр.)
определение языка, на котором написано имя
Singer (нем.) – Зингер Francois (фр.) – Франсуа
Singer (фр.) – Сенже Francois (исп.) – Франкоис
выделение имен собственных в тексте
5. Основные тенденции
соответствие букв / фонем
статистические модели / модели,
основанные на правилах
ручное / автоматическое
(автоматизированное) формирование
обучающего корпуса
6. СуществующиеСуществующие методыметоды
транскрипциитранскрипции (Knight and(Knight and GraelGrael))
K. Knight and J. Graehl. 1998. Machine transliteration.
Computational Linguistics, 24(4):599–612.
WFSA-A – разделение входа на слова
WFST-B – генерация фонемного состава английского языка
WFST-C – преобразование в фонемный японского языка
WFST-D – преобразование в азбуку катакана
На каждом этапе используется вероятностная информация
Статистический метод – обучение конечного автомата
Задача обратной транслитерации (японский → английский)
9. Усовершенствование системы
«Трансскриба»
Увеличение скорости преобразования строк
Построение конечного автомата на основе системы правил
Конечный автомат обеспечивает линейное время разбора строк,
не зависящее от количества правил
Автоматическое порождение правил
транскрипции
Обучение на параллельном корпусе (имя+перевод)
Метод не зависит от языка, может быть использован для
порождения правил для любой пары языков (при наличии
тестовых данных)
10. Усовершенствование системы
«Трансскриба»
Увеличение скорости преобразования строк
Построение конечного автомата на основе системы правил
Конечный автомат обеспечивает линейное время разбора строк,
не зависящее от количества правил
Автоматическое порождение правил
транскрипции
Обучение на параллельном корпусе (имя+перевод)
Метод не зависит от языка, может быть использован для
порождения правил для любой пары языков (при наличии
тестовых данных)
12. Конечный автомат
g = <VI, VO, Q, q0, F, δ>
VI – входной алфавит (алфавит языка оригинала);
VO – выходной алфавит (алфавит языка перевода);
Q – множество состояний автомата;
q0 – начальное состояние автомата;
F – множество конечных состояний;
δ – функция переходов Q×VI → <Q, a>.
a – действие, совершаемое при переходе:
сдвиг на n символов по входной строке
приписывание к выходу автомата цепочки символов выходного
алфавита
13. Преобразование системы правил в
конечный автомат
Правило имеет вид M α N → β, где
α – цепочка символов входного алфавита
β – цепочка символов выходного алфавита
(возможно, пустая)
M, N – контексты: множества цепочек символов
входного алфавита. Цепочка α может быть
преобразована в цепочку β только при условии,
что одна из цепочек из множества M (N)
предшествует α (следует за α). M и N могут быть
пусты (правило без контекстов)
14. Правило без контекста α → β
Переход из состояния n в состояние n+1 по каждому
символу из α
Переход в заключительное состояние по последнему
символу из α
Переходу по последнему символу приписывается
выходная строка β
e (1): «» a (1): «» u(1): «о»
eau → о
1 2 3 z
15. Правило с контекстом MαN → β
i (1)
l (1) e(0): «й»1 2 6 z
{ai, ei}ll{e} → й
3
5l (-2) 7l (1)
4
a (1) i (1)
e (1)
Переход из начального состояния по первому символу α, сдвиг на |m|
символов влево ( m ∈ M )
Переходы из состояния А' в состояние A'' по каждой цепочке из M
Переход из состояния A'' в состояние A''' по каждому символу из α
Переходы из состояния A''' в состояние z по каждой цепочке из N,
последнему переходу приписано выходное значение β
16. Детерминированный конечный
автомат
Если в системе существует два или более правил,
начинающихся на одну и ту же букву, автомат будет
недетерминированным.
a → а
ai → е
au → о
l → л
l{b, d, g, m, >} → ль
{i}ll → й
а: «а»
а
а
u: «о»
i: «е»
l(1): «л»
l(1)
l(-1)
l(1): «й»
b,d,g,m,>(1): «ль»
i(1) l(1)
17. Преобразование недетерминированного
автомата в детерминированный
Из вершины A исходит n дуг в вершины B1,…,Bn, помеченных одним
символом:
Создается новая вершина A', в которую входит дуга из вершины A,
помеченная тем же символом
Из вершины A' проводятся все дуги, которые выходили из вершин
B1,…,Bn
Вершины B1,…,Bn удаляются
а: «а»
а
а
u: «о»
i: «е»
*(0): «а»
а(1)
u(1): «о»
i(1): «е»
18. Унификация системы правил
Если для одной и той же буквы есть правило с
контекстом и правило без контекста, правилу без
контекста добавляется контекст по умолчанию:
l → л {*}l{*} → л
{i}ll → й {i}ll{*} → й
l{b, d, g, m, >} → ль {*} l{b, d, g, m, >} → ль
19. Унификация системы правил
Если для буквы нет ни одного правила без
контекстов, составляется правило по умолчанию –
самое распространенное правило для этой буквы с
пустым контекстом:
c{e, i} → с – встретилось 100 раз
c{a, o, u} → к – встретилось 200 раз
c → к
20. Унификация системы правил
l(1): «л»
l(1)
l(-1)
l(1): «й»
b,d,g,m,>(1): «ль»
i(1) l(1)
l(-1)
l(1): «й»
*(1) l(1)
*(0): «л»
b,d,g,m,>(1): «ль»
i(1)
l(1)
*(0): «л»
T A M LI A
При добавлении в автомат
правил с правыми контекстами
или с входной строкой длиннее
одного символа из всех
неконечных состояний
добавляется переход в конечное
состояние с приписыванием к
выходной строке значения по
умолчанию для первой буквы
правила
23. Усовершенствование системы
«Трансскриба»
Увеличение скорости преобразования строк
Построение конечного автомата на основе системы правил
Конечный автомат обеспечивает линейное время разбора строк,
не зависящее от количества правил
Автоматическое порождение правил
транскрипции
Обучение на параллельном корпусе (имя+перевод)
Метод не зависит от языка, может быть использован для
порождения правил для любой пары языков (при наличии
тестовых данных)
24. ГенерацияГенерация правилправил
A → А
AE → А
{<}AI → Э
{*}AI{*} → Е
{<}AY → Э
{*}AY → Е
AIL{>} → АЙ
AILL{*} → АЙ
AILLE{>} → АЙ
adria;адрия
adrian;адриан
adriana;адриана
adriane;адриан
adrianna;адрианна
adrianne;адрианн
adrien;адриан
adriene;адриен
adrienn;адрианн
adrienna;адрианна
aldema;альдема
aldena;альдена
aldenaide;альденед
aldenaise;альденез
⇒
25. Этапы генерации правил
Разделение слов
на слоги
Порождение первичных
правил
Выбор подмножества
слогов
Пробный разбор
Пополнение
системы правил
Обучающая
выборка
Система
правил
26. Деление на слоги
деление осуществляется по гласной букве. Граница слога
– после гласной;
2 и более гласных подряд не разделяются;
2 и более согласных не разделяются;
множество элементов, среди которых нет гласной, не
выделяется в отдельный слог;
символы начала и конца слова считаются согласными
буквами.
Дополнительное правило для русского языка:
не отделять «ь» от предыдущей согласной.
27. A d r i a n a
A l d e n a
A l m e l i n e
А д р и а н а
А л ь д е н а
А л ь м е л и н
Деление на слоги
29. ПорождениеПорождение сложныхсложных правилправил
Сложные правила порождаются на основе слогов
вида CmVp → CnVq, где m ≠ n и/или p ≠ q:
CCV → CV
CV → CCV
CVV → CV
CV → CVV
Производится разбор слога с помощью
существующих правил: слог разбирается слева
направо и справа налево.
30. ПорождениеПорождение сложныхсложных правилправил
Каждый слог можно представить как
<pi1, …, pik, px, pik+1, …, pin> →
<ci1, …, cik, cx, cik+1, …, cim>,
где px → cx – подстрока, не удовлетворяющая
ни одному из существующих правил.
Можно выделить три случая несоответствия
px правилам.
34. УчетУчет контекстаконтекста
l → л
anjela – анжела
cella – селла
l {a, o, u, i, e, l} → л
l → ль
almelda – альмельда
avital – авиталь
l {>, t, d, p, m} → ль
35. Недостатки метода
Низкая устойчивость к ошибкам в тестовой
выборке и исключениям из правил
Неполное использование контекстов
Не используется информация о закрытости /
открытости слога, номер слога в слове
Не рассматривается морфологический уровень
слова – префиксы, суффиксы, слова с
несколькими корнями
На стыке морфем могут измениться правила чтения
устойчивых сочетаний букв:
Sherlock – Шерлок
Bellshouse – Беллзхаус
37. Сгенерированные правила
a→а (549)
{h l n r }a{i }→ (6)
au→о (7)
ay→е (9)
{< e }b{i }→бь (6)
b→б (41)
c→к (55)
c{e i }→с (126)
{a y }c{i }→сь (4)
{s }c{i }→ (3)
ch→ш (17)
{a i }d{i }→дь (6)
d→д (159)
{a e r u }d{> }→ (8)
{a e i u y }e{> l n r t }→ (97)
e→э (46)
e→е (409)
{< }i{m n }→э (10)
{a b d h l m t v z }i{> d e m n s }→е (46)
{l z }i{o }→ (4)
{e }i{d n r t }→ (5)
i→и (353)
ia→я (111)
igh→г (1)
j→ж (35)
{o }k{> }→ (1)
{e }k{i }→кь (2)
k→к (27)
{< a e i l o u }l{> b d g i m p q s t }→ль (139)
l→л (217)
ll→й (6)
m→м (112)
{e }m{i }→мь (2)
{a i o u }n{i }→нь (50)