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

Logacheva

Embed Size (px)

Citation preview

Page 1: Logacheva

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

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

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

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

г. Москва

Page 2: Logacheva

Задача

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

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

Ivangoe – Айвенго

Samhain – Савань

Jorge – Хорхе

Page 3: Logacheva

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

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

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

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

Page 4: Logacheva

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

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

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

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

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

� выделение имен собственных в тексте

Page 5: Logacheva

Основные тенденции� соответствие букв / фонем

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

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

Page 6: Logacheva

СуществующиеСуществующие методыметодытранскрипциитранскрипции (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 – преобразование в азбуку катаканаНа каждом этапе используется вероятностная информация

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

Page 7: Logacheva

Российские системы практическойтранскрипции

� http://nano.yandex.ru/project/anthroponym/

� http://transcriptor.ru/

� http://www.artlebedev.ru/tools/transcriptor/

� http://www.lingvoconverter.com/

Page 8: Logacheva

Система «Трансскриба»

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

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

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

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

Page 9: Logacheva

Усовершенствование системы«Трансскриба»

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

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

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

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

Page 10: Logacheva

Усовершенствование системы«Трансскриба»

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

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

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

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

Page 11: Logacheva

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

Page 12: Logacheva

Конечный автоматg = <VI, VO, Q, q0, F, δ>VI – входной алфавит (алфавит языка оригинала);VO – выходной алфавит (алфавит языка перевода);Q – множество состояний автомата;q0 – начальное состояние автомата;F – множество конечных состояний;δ – функция переходов Q×VI → <Q, a>.a – действие, совершаемое при переходе:

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

алфавита

Page 13: Logacheva

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

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

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

Page 14: Logacheva

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

символу из α

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

� Переходу по последнему символу приписываетсявыходная строка β

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

eau → о

1 2 3 z

Page 15: Logacheva

Правило с контекстом 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,последнему переходу приписано выходное значение β

Page 16: Logacheva

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

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)

Page 17: Logacheva

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

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

помеченная тем же символом

� Из вершины A' проводятся все дуги, которые выходили из вершин B1,…,Bn

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

а: «а»

а

аu: «о»

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

а(1)

u(1): «о»

i(1): «е»

Page 18: Logacheva

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

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

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

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

Page 19: Logacheva

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

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

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

Page 20: Logacheva

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

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

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

Page 21: Logacheva

Пример работы автоматаaabidah - абида________абидаaabish - абиш_______абишaadab - адаб______ адабaadam - адам_______адамaadil - адиль______адилльaafiya - афия_______афияaafreen - африн________афринaakifah - акифа________акифа

aamaal - амаль________амалльaamil - амиль______амилльaamila - амиля_______амилляaamina - амина________аминаaamir - амир______амирaamira - амира_______амираaanisa - аниса_______анисаaaqib - акиб______акиб

baahir - бахир_______бахирbaasim - басим________басимbaasima - басима________басимаbadiyah - бадия________бадияbadr - бадр______бадрbadra - бадра______бадраbadriya - бадрия________бадрияbadriyyah - бадриййа__________бадрииия

Page 22: Logacheva

`

Page 23: Logacheva

Усовершенствование системы«Трансскриба»

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

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

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

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

Page 24: Logacheva

ГенерацияГенерация правилправил

A → АAE → А{<}AI → Э{*}AI{*} → Е{<}AY → Э{*}AY → ЕAIL{>} → АЙAILL{*} → АЙAILLE{>} → АЙ

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

Page 25: Logacheva

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

на слоги

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

Выбор подмножестваслогов

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

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

Обучающая

выборка

Система

правил

Page 26: Logacheva

Деление на слоги� деление осуществляется по гласной букве. Граница слога

– после гласной;� 2 и более гласных подряд не разделяются;� 2 и более согласных не разделяются;� множество элементов, среди которых нет гласной, не

выделяется в отдельный слог;� символы начала и конца слова считаются согласными

буквами.

Дополнительное правило для русского языка:� не отделять «ь» от предыдущей согласной.

Page 27: Logacheva

A d r i a n a

A l d e n a

A l m e l i n e

А д р и а н а

А л ь д е н а

А л ь м е л и н

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

Page 28: Logacheva

ПорождениеПорождение первичныхпервичных правилправилНа основе слогов вида CV (согласная + гласная)

порождаются первичные правила – правилатранслитерации: i-я буква оригиналасопоставляется i-й букве перевода

h a

х а

Page 29: Logacheva

ПорождениеПорождение сложныхсложных правилправилСложные правила порождаются на основе слоговвида CmVp → CnVq, где m ≠ n и/или p ≠ q:

� CCV → CV

� CV → CCV

� CVV → CV

� CV → CVV

Производится разбор слога с помощью существующих правил: слог разбирается слева направо и справа налево.

Page 30: Logacheva

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

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

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

Page 31: Logacheva

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

o px ≠ ∅, cx = ∅

o px ≠ ∅, cx ≠ ∅

lde → льде

de → ьде

d → ьд

_ → ь

l → л

l → ль

l → лe → еl → лe → еd → д

Page 32: Logacheva

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

� px ≠ ∅, cx = ∅

o px ≠ ∅, cx ≠ ∅

tha → та

ha → а

h → _

t → тt → тa → а

{t}h{a} →∅

Page 33: Logacheva

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

o px ≠ ∅, cx = ∅

� px ≠ ∅, cx ≠ ∅

ja → джа сhi → ши

j → дж ch → ш

ko> → ку>

{k}o{>} → у

Page 34: Logacheva

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

l → л

anjela – анжела

cella – селла

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

l → ль

almelda – альмельда

avital – авиталь

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

Page 35: Logacheva

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

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

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

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

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

Page 36: Logacheva

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

тестовой выборке

� Реализовано построение конечного автомата по множеству правил

Page 37: Logacheva

Сгенерированные правила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)

Page 38: Logacheva

Ваши вопросы