logacheva
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 (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 – преобразование в азбуку катаканаНа каждом этапе используется вероятностная информация
Статистический метод – обучение конечного автоматаЗадача обратной транслитерации (японский → английский)
Российские системы практическойтранскрипции
� 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): «е»
Унификация системы правилЕсли для одной и той же буквы есть правило сконтекстом и правило без контекста, правилу безконтекста добавляется контекст по умолчанию:
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
При добавлении в автомат правил с правыми контекстами или с входной строкой длиннее одного символа из всех неконечных состояний добавляется переход в конечное состояние с приписыванием к выходной строке значения по умолчанию для первой буквы правила
Пример работы автоматаaabidah - абида________абидаaabish - абиш_______абишaadab - адаб______ адабaadam - адам_______адамaadil - адиль______адилльaafiya - афия_______афияaafreen - африн________афринaakifah - акифа________акифа
aamaal - амаль________амалльaamil - амиль______амилльaamila - амиля_______амилляaamina - амина________аминаaamir - амир______амирaamira - амира_______амираaanisa - аниса_______анисаaaqib - акиб______акиб
baahir - бахир_______бахирbaasim - басим________басимbaasima - басима________басимаbadiyah - бадия________бадияbadr - бадр______бадрbadra - бадра______бадраbadriya - бадрия________бадрияbadriyyah - бадриййа__________бадрииия
`
Усовершенствование системы«Трансскриба»
� Увеличение скорости преобразования строк� Построение конечного автомата на основе системы правил
� Конечный автомат обеспечивает линейное время разбора строк, не зависящее от количества правил
� Автоматическое порождение правилтранскрипции� Обучение на параллельном корпусе (имя+перевод)
� Метод не зависит от языка, может быть использован дляпорождения правил для любой пары языков (при наличиитестовых данных)
ГенерацияГенерация правилправил
A → АAE → А{<}AI → Э{*}AI{*} → Е{<}AY → Э{*}AY → ЕAIL{>} → АЙAILL{*} → АЙAILLE{>} → АЙ
adria;адрияadrian;адрианadriana;адрианаadriane;адрианadrianna;адрианнаadrianne;адрианнadrien;адрианadriene;адриенadrienn;адрианнadrienna;адрианнаaldema;альдемаaldena;альденаaldenaide;альденедaldenaise;альденез
⇒
Этапы генерации правилРазделение слов
на слоги
Порождение первичныхправил
Выбор подмножестваслогов
Пробный разбор
Пополнениесистемы правил
Обучающая
выборка
Система
правил
Деление на слоги� деление осуществляется по гласной букве. Граница слога
– после гласной;� 2 и более гласных подряд не разделяются;� 2 и более согласных не разделяются;� множество элементов, среди которых нет гласной, не
выделяется в отдельный слог;� символы начала и конца слова считаются согласными
буквами.
Дополнительное правило для русского языка:� не отделять «ь» от предыдущей согласной.
A d r i a n a
A l d e n a
A l m e l i n e
А д р и а н а
А л ь д е н а
А л ь м е л и н
Деление на слоги
ПорождениеПорождение первичныхпервичных правилправилНа основе слогов вида CV (согласная + гласная)
порождаются первичные правила – правилатранслитерации: i-я буква оригиналасопоставляется i-й букве перевода
h a
х а
ПорождениеПорождение сложныхсложных правилправилСложные правила порождаются на основе слоговвида CmVp → CnVq, где m ≠ n и/или p ≠ q:
� CCV → CV
� CV → CCV
� CVV → CV
� CV → CVV
Производится разбор слога с помощью существующих правил: слог разбирается слева направо и справа налево.
ПорождениеПорождение сложныхсложных правилправилКаждый слог можно представить как
<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{>} → у
УчетУчет контекстаконтекста
l → л
anjela – анжела
cella – селла
l {a, o, u, i, e, l} → л
l → ль
almelda – альмельда
avital – авиталь
l {>, t, d, p, m} → ль
Недостатки метода� Низкая устойчивость к ошибкам в тестовой
выборке и исключениям из правил� Неполное использование контекстов
� Не используется информация о закрытости / открытости слога, номер слога в слове
� Не рассматривается морфологический уровень слова – префиксы, суффиксы, слова с несколькими корнями� На стыке морфем могут измениться правила чтения
устойчивых сочетаний букв:� Sherlock – Шерлок � Bellshouse – Беллзхаус
Результаты� Реализован метод порождения правил по
тестовой выборке
� Реализовано построение конечного автомата по множеству правил
Сгенерированные правила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)
Ваши вопросы