Об одном методе автоматической транскрипции

Post on 22-May-2015

1.004 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Варвара ЛогачеваИнститут прикладной математики им. М.В.Келдыша

TRANSCRIPT

Об одном методе автоматической транскрипции

Варвара Логачева

Институт прикладной математики

им. М.В.Келдыша

г. Москва

Задача

Передать иноязычное имя собственное с

сохранением его фонетического облика

Ivangoe – Айвенго

Samhain – Савань

Jorge – Хорхе

ТерминологияПрактическая транскрипция (термин введен

А.М.Сухотиным в 1935 году) – запись иноязычных имен и названий с использованием исторически сложившейся орфографической системы языка-приемника, способ включения слов одного языка в текст другого с приблизительным сохранением звукового облика этих слов, но также с возможным учетом написания в оригинале и сложившихся традиций.

Поскольку предполагается решить задачу с помощью компьютера, представляется оправданным введение термина машинная (автоматическая) транскрипция.

В зарубежной науке термин «transcription» используется только в генетике. Задача практической транскрипции в англоязычной научной литературе обозначается как transliteration.

Смежные задачи транслитерация

Charles Aznavour – Шарль Азнавур

восстановление правильного написания имениSent Francisco Sant Fransisko San FranciscoSen Frantsisca

обратная транслитерацияДжордж Буш – George Bush (а не Boosh, Boushe и пр.)

определение языка, на котором написано имяSinger (нем.) – Зингер Francois (фр.) – Франсуа Singer (фр.) – Сенже Francois (исп.) – Франкоис

выделение заимствованных слов в тексте

Основные тенденции соответствие букв / фонем статистические модели / модели,

основанные на правилах ручное / автоматическое

(автоматизированное) формирование обучающего корпуса

Существующие методытранскрипции (Knight and Grael)K. Knight and J. Graehl. 1998. Machine transliteration.Computational Linguistics, 24(4):599–612.

WFSA-A – разделение входа на слова WFST-B – генерация фонемного состава английского языкаWFST-C – преобразование в фонемный японского языкаWFST-D – преобразование в азбуку катаканаНа каждом этапе используется вероятностная информация

Статистический метод – обучение конечного автоматаЗадача обратной транслитерации (японский → английский)

Российские системы практической транскрипции http://nano.yandex.ru/project/anthroponym/ http://transcriptor.ru/ http://www.artlebedev.ru/tools/transcriptor/ http://www.lingvoconverter.com/

Система «Трансскриба»•Правила составляются вручную экспертом

•поддержка 32 языков

•высокая точность передачи

•Относительно невысокая скорость, зависящая от количества правил для данного языка

Усовершенствование системы «Трансскриба» Увеличение скорости преобразования строк

Построение конечного автомата на основе системы правил Конечный автомат обеспечивает линейное время разбора строк,

не зависящее от количества правил

Автоматическое порождение правил транскрипции Обучение на параллельном корпусе (имя+перевод) Метод не зависит от языка, может быть использован для

порождения правил для любой пары языков (при наличии тестовых данных)

Усовершенствование системы «Трансскриба» Увеличение скорости преобразования строк

Построение конечного автомата на основе системы правил Конечный автомат обеспечивает линейное время разбора строк,

не зависящее от количества правил

Автоматическое порождение правил транскрипции Обучение на параллельном корпусе (имя+перевод) Метод не зависит от языка, может быть использован для

порождения правил для любой пары языков (при наличии тестовых данных)

Конечный автомат

Конечный автоматg = <VI, VO, Q, q0, F, δ>VI – входной алфавит (алфавит языка оригинала);

VO – выходной алфавит (алфавит языка перевода);Q – множество состояний автомата;

q0 – начальное состояние автомата;F – множество конечных состояний;

δ – функция переходов Q×VI → <Q, a>.a – действие, совершаемое при переходе:

сдвиг на n символов по входной строке приписывание к выходу автомата цепочки символов выходного

алфавита

Преобразование системы правил в конечный автоматПравило имеет вид M α N → β, гдеα – цепочка символов входного алфавитаβ – цепочка символов выходного алфавита

(возможно, пустая)M, N – контексты: множества цепочек символов

входного алфавита. Цепочка α может быть преобразована в цепочку β только при условии, что одна из цепочек из множества M (N) предшествует α (следует за α). M и N могут быть пусты (правило без контекстов)

Правило без контекста α → β Переход из состояния n в состояние n+1 по каждому

символу из α Переход в заключительное состояние по последнему

символу из α Переходу по последнему символу приписывается

выходная строка β

e (1): «» a (1): «» u(1): «о»

eau → о

1 2 3 z

Правило с контекстом 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,

последнему переходу приписано выходное значение β

Детерминированный конечный автомат (ДКА)Если в системе существует два или более правил, начинающихся на одну и ту же букву, автомат будет недетерминированным.

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)

Детерминированный конечный автомат (ДКА)

Для обеспечения линейной скорости разбора строк конечный автомат должен быть детерминированным.

Существует два способа построения ДКА: Система правил → НКА → ДКА Система правил → ДКА

Преобразование недетерминированного автомата в детерминированныйИз вершины A исходит n дуг в вершины B1,…,Bn, помеченных одним

символом: Создается новая вершина A', в которую входит дуга из вершины A,

помеченная тем же символом Из вершины A' проводятся все дуги, которые выходили из вершин B1,

…,Bn

Вершины B1,…,Bn удаляются

а: «а»

а

аu: «о»

i: «е»*(0): «а»

а(1)

u(1): «о»

i(1): «е»

Построение ДКА

*(0)

а(1)

u(1)

i(1)

•Если из текущего состояния А не существует перехода по текущему символу, создается новое состояние B и переход в него;

•Если из текущего состояния A существует переход по текущему символу в состояние B, состояние B становится текущим;

•Если достигнут последний символ правила, текущее состояние объявляется конечным, к выходу текущего состояния добавляется правая часть правила.

a{*} → «а» ai → «е»au → «о»

ai → «аи»

«а»

«е»

«о»

«аи»

Унификация системы правилЕсли для одной и той же буквы есть правило с контекстом и правило без контекста, правилу без контекста добавляется контекст по умолчанию:

l → л {*}l{*} → л

{i}ll → й {i}ll{*} → й

l{b, d, g, m, >} → ль {*} l{b, d, g, m, >} → ль

Унификация системы правилЕсли для буквы нет ни одного правила без контекстов, составляется правило по умолчанию – самое распространенное правило для этой буквы с пустым контекстом:

c{e, i} → с – встретилось 100 раз

c{a, o, u} → к – встретилось 200 раз c → к

Унификация системы правил

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

При добавлении в автомат правил с правыми контекстами или с входной строкой длиннее одного символа из всех неконечных состояний добавляется переход в конечное состояние с приписыванием к выходной строке значения по умолчанию для первой буквы правила

Результат работы автоматаaldema альдемаaldena альденаaldenaide альденедaldenaise альденез альденесaldenare альденарaldeneige альденежaldenore альденорaldera альдера

alderianna альдерьианна альдерианна альдерьянна альдеряннаalmanzor альманзорalmea альмеаalmeda альмедаalmedina альмединаalmedine альмединalmeida альмеда

almeline альмельен альмелен альмельин альмелинamber амбер амбеambra амбраambre амбрambrine амбринambroise амбруаз амбруас

Усовершенствование системы «Трансскриба» Увеличение скорости преобразования строк

Построение конечного автомата на основе системы правил Конечный автомат обеспечивает линейное время разбора строк,

не зависящее от количества правил

Автоматическое порождение правил транскрипции Обучение на параллельном корпусе (имя+перевод) Метод не зависит от языка, может быть использован для

порождения правил для любой пары языков (при наличии тестовых данных)

Генерация правилA → АAE → А{<}AI → Э{*}AI{*} → Е{<}AY → Э{*}AY → ЕAIL{>} → АЙAILL{*} → АЙAILLE{>} → АЙ

adria;адрияadrian;адрианadriana;адрианаadriane;адрианadrianna;адрианнаadrianne;адрианнadrien;адрианadriene;адриенadrienn;адрианнadrienna;адрианнаaldema;альдемаaldena;альденаaldenaide;альденедaldenaise;альденез

Этапы генерации правилРазделение слов на группы

гласных и согласных

Порождение первичных правил

Разделение слов на слоги

Пробный разбор

Пополнение системы правил

Обучающая выборка

Система правил

Первичные правилаПРЕДПОЛОЖЕНИЕ: Имя в оригинале и переводе должно состоять из

сходных последовательностей звуков Гласные звуки обычно передаются гласными

буквами или их комбинациями, согласные звуки – согласными буквами или комбинациями букв

ВЫВОД: На первом этапе будем считать, что согласные

буквы передаются согласными буквами, а гласные буквы передаются гласными буквами

Первичные правила

Слово w = l1l2…ln

Граница группы – между li и li+1 такими, что

isVowel (li) ≠ isVowel (li+1)

R | u | gg | ie | r | o M | a | cch | i R | u | dzh | e | r | o M | a | kk | i

isVowel ( l ) = true, если l – гласная

false, если l – согласная

Первичные правила Удаляются правила, встретившиеся менее 3 раз Удаляются правила, левая часть которых длиннее

3 символов, при условии, что правая часть длиннее одного символа ouia → уиа будет удалено tsch → ч не будет удалено

Удаляются правила, которые могут быть объяснены другими правилами rst → шт объясняется правилами rs → ш и t → т,

поэтому будет удалено.

Учет контекста

l л

anjela – анжела

cella – селла

l {a, o, u, i, e, l} л

l ль

almelda – альмельда

avital – авиталь

l {>, t, d, p, m} ль

Деление на слоги Граница слога в слове w = l1l2…ln ставится между

гласной и согласной, то есть после буквы li такой, что isVowel(li) = true и isVowel(li+1) = false;

цепочка букв, среди которых нет гласной, не выделяется в отдельный слог, а присоединяется к предыдущему;

Символы “<” и “>”, отмечающие начало и конец слова, рассматриваются как согласные.

A d r i a n a

A l d e n a

A l m e l i n e

А д р и а н а

А л ь д е н а

А л ь м е л и н

Деление на слоги

Порождение сложных правилПорождение сложных правилКаждый слог можно представить как

<pi1, …, pik, px, pik+1, …, pin> → <ci1, …, cik, cx, cik+1, …, cim>, где px → cx – подстрока, не удовлетворяющая ни одному из существующих правил.

Можно выделить три случая несоответствия px правилам.

Порождение сложных правилПорождение сложных правил px = , cx ≠ o px ≠ , cx = o px ≠ , cx ≠

lde льде

de ьде

d ьд

_ ь

l л

l ль

l лe еl лe еd д

Порождение сложных правилПорождение сложных правилo px = , cx ≠ px ≠ , cx = o px ≠ , cx ≠

tha та

ha а

h _

t тt тa а

{t}h{a}

Порождение сложных правилПорождение сложных правилo px = , cx ≠ o px ≠ , cx = px ≠ , cx ≠

ja джа сhi ши

j → дж ch → ш

ko> ку>

{k}o{>} → у

Недостатки метода Низкая устойчивость к ошибкам в тестовой

выборке и исключениям из правил Неполное использование контекстов

Не используется информация о закрытости / открытости слога, номер слога в слове

Не рассматривается морфологический уровень слова – префиксы, суффиксы, слова с несколькими корнями На стыке морфем могут измениться правила чтения

устойчивых сочетаний букв: Sherlock – Шерлок Bellshouse – Беллзхаус

Результаты Реализован метод порождения правил по

тестовой выборке Реализовано построение конечного

автомата по множеству правил

Сгенерированные правилаa → а (549)

{h l n r }a{i } → (6)

au → о (7)

ay → е (9)

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)

i → и (353)

Результаты: качество обучения метода

Язык оригиналаОбъем обучающей

выборкиКачество обучения

французский 580 97%

монгольский 232 98%

Тагальский 286 93%

арабский 1606 87%

Испанский 1041 86%

польский 1413 79%

румынский 576 78%

шведский 1629 74%

top related