SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Об одном методе
автоматической
транскрипции
Варвара Логачева
Институт прикладной математики
им.М.В.Келдыша
г. Москва
Задача
Передать иноязычное имя собственное с
сохранением его фонетического облика
Ivangoe – Айвенго
Samhain – Савань
Jorge – Хорхе
Терминология
Практическая транскрипция (термин введен
А.М.Сухотиным в 1935 году) – запись иноязычных имен и названий
с использованием исторически сложившейся орфографической
системы языка-приемника, способ включения слов одного языка в
текст другого с приблизительным сохранением звукового облика
этих слов, но также с возможным учетом написания в оригинале и
сложившихся традиций.
Поскольку предполагается решить задачу с помощью компьютера,
представляется оправданным введение термина машинная
(автоматическая) транскрипция.
В зарубежной науке термин «transcription» используется только в
генетике. Задача практической транскрипции в англоязычной
научной литературе обозначается как transliteration.
Смежные задачи
транслитерация
Charles Aznavour – Шарль Азнавур
восстановление правильного написания имени
Sent Francisco
Sant Fransisko San Francisco
Sen 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)
Ваши вопросы

Mais conteúdo relacionado

Mais procurados

Etap overview rus
Etap overview rusEtap overview rus
Etap overview rusyaevents
 
20081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-1020081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-10Computer Science Club
 
тема множество для загрузки 2013
тема множество для загрузки 2013тема множество для загрузки 2013
тема множество для загрузки 2013AliyaAringazinova
 
TMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry ZaitsevTMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry ZaitsevIosif Itkin
 
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...Iosif Itkin
 
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...Nikolay Grebenshikov
 
Discovering Lambdas in Java 8
Discovering Lambdas in Java 8Discovering Lambdas in Java 8
Discovering Lambdas in Java 8Stfalcon Meetups
 
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...Iosif Itkin
 
Способы записи алгоритма
Способы записи алгоритмаСпособы записи алгоритма
Способы записи алгоритмаurasova
 
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Nikolay Grebenshikov
 
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)Alexey Paznikov
 
Введение в Clojure (Никита Прокопов)
Введение в Clojure (Никита Прокопов)Введение в Clojure (Никита Прокопов)
Введение в Clojure (Никита Прокопов)mainstreamless
 
20120309 formal semantics shilov_lecture06
20120309 formal semantics shilov_lecture0620120309 formal semantics shilov_lecture06
20120309 formal semantics shilov_lecture06Computer Science Club
 
математик анализ лекц№10
математик анализ лекц№10математик анализ лекц№10
математик анализ лекц№10narangerelodon
 
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL ModelsTMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL ModelsIosif Itkin
 

Mais procurados (20)

Etap overview rus
Etap overview rusEtap overview rus
Etap overview rus
 
20081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-1020081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-10
 
тема множество для загрузки 2013
тема множество для загрузки 2013тема множество для загрузки 2013
тема множество для загрузки 2013
 
TMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry ZaitsevTMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry Zaitsev
 
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
 
Diskretn analiz
Diskretn analizDiskretn analiz
Diskretn analiz
 
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
 
Discovering Lambdas in Java 8
Discovering Lambdas in Java 8Discovering Lambdas in Java 8
Discovering Lambdas in Java 8
 
8 2-4-1
8 2-4-18 2-4-1
8 2-4-1
 
Тодуа. Методы разработки интерпретатора языка Рефал-2
Тодуа. Методы разработки интерпретатора языка Рефал-2Тодуа. Методы разработки интерпретатора языка Рефал-2
Тодуа. Методы разработки интерпретатора языка Рефал-2
 
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
 
Способы записи алгоритма
Способы записи алгоритмаСпособы записи алгоритма
Способы записи алгоритма
 
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
 
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
 
Введение в Clojure (Никита Прокопов)
Введение в Clojure (Никита Прокопов)Введение в Clojure (Никита Прокопов)
Введение в Clojure (Никита Прокопов)
 
20120309 formal semantics shilov_lecture06
20120309 formal semantics shilov_lecture0620120309 formal semantics shilov_lecture06
20120309 formal semantics shilov_lecture06
 
математик анализ лекц№10
математик анализ лекц№10математик анализ лекц№10
математик анализ лекц№10
 
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL ModelsTMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
TMPA-2013 Chupilko: Verification of Correct Behaviour of HDL Models
 
8 2-4-3
8 2-4-38 2-4-3
8 2-4-3
 
Синтез функциональных программ при помощи метода дедуктивных таблиц
Синтез функциональных программ при помощи метода дедуктивных таблицСинтез функциональных программ при помощи метода дедуктивных таблиц
Синтез функциональных программ при помощи метода дедуктивных таблиц
 

Destaque

think it over及時關愛生活
think it over及時關愛生活think it over及時關愛生活
think it over及時關愛生活nonnon
 
Martin karlssons vykortssamling munken och prästgatan
Martin karlssons vykortssamling   munken och prästgatanMartin karlssons vykortssamling   munken och prästgatan
Martin karlssons vykortssamling munken och prästgatanhembygdsigtuna
 
Introduction to Wikis in the Classroom
Introduction to Wikis in the ClassroomIntroduction to Wikis in the Classroom
Introduction to Wikis in the ClassroomCindy Kendall
 
fquiz
fquizfquiz
fquizfquiz
 
Baker Wedding Slideshow Review
Baker Wedding Slideshow ReviewBaker Wedding Slideshow Review
Baker Wedding Slideshow Reviewmattwjohnson
 
Xplatform mobile development
Xplatform mobile developmentXplatform mobile development
Xplatform mobile developmentMichael Chaize
 
Cascades Demo Secrets
Cascades Demo SecretsCascades Demo Secrets
Cascades Demo Secretsicastano
 
Bohol Kick Ass Presentation
Bohol  Kick Ass  PresentationBohol  Kick Ass  Presentation
Bohol Kick Ass PresentationGio Bacareza
 
La3 Computer Network
La3 Computer NetworkLa3 Computer Network
La3 Computer NetworkCma Mohd
 
Banca Long Tail I Noves TendèNcies
Banca   Long Tail I Noves TendèNciesBanca   Long Tail I Noves TendèNcies
Banca Long Tail I Noves TendèNciesjalicarte
 
Even Start Flipbook
Even Start FlipbookEven Start Flipbook
Even Start Flipbookkkibbey
 

Destaque (19)

Flex et Php Afup
Flex et Php AfupFlex et Php Afup
Flex et Php Afup
 
think it over及時關愛生活
think it over及時關愛生活think it over及時關愛生活
think it over及時關愛生活
 
Martin karlssons vykortssamling munken och prästgatan
Martin karlssons vykortssamling   munken och prästgatanMartin karlssons vykortssamling   munken och prästgatan
Martin karlssons vykortssamling munken och prästgatan
 
Making Software Communities
Making Software CommunitiesMaking Software Communities
Making Software Communities
 
Introduction to Wikis in the Classroom
Introduction to Wikis in the ClassroomIntroduction to Wikis in the Classroom
Introduction to Wikis in the Classroom
 
Líbano
LíbanoLíbano
Líbano
 
fquiz
fquizfquiz
fquiz
 
Baker Wedding Slideshow Review
Baker Wedding Slideshow ReviewBaker Wedding Slideshow Review
Baker Wedding Slideshow Review
 
Xplatform mobile development
Xplatform mobile developmentXplatform mobile development
Xplatform mobile development
 
Presentation1
Presentation1Presentation1
Presentation1
 
Not Yet Lo
Not Yet LoNot Yet Lo
Not Yet Lo
 
Cascades Demo Secrets
Cascades Demo SecretsCascades Demo Secrets
Cascades Demo Secrets
 
Ch12
Ch12Ch12
Ch12
 
Bohol Kick Ass Presentation
Bohol  Kick Ass  PresentationBohol  Kick Ass  Presentation
Bohol Kick Ass Presentation
 
La3 Computer Network
La3 Computer NetworkLa3 Computer Network
La3 Computer Network
 
Banca Long Tail I Noves TendèNcies
Banca   Long Tail I Noves TendèNciesBanca   Long Tail I Noves TendèNcies
Banca Long Tail I Noves TendèNcies
 
36.Ke.Nhan.Hoa
36.Ke.Nhan.Hoa36.Ke.Nhan.Hoa
36.Ke.Nhan.Hoa
 
Even Start Flipbook
Even Start FlipbookEven Start Flipbook
Even Start Flipbook
 
4 T
4  T4  T
4 T
 

Semelhante a Logacheva

A System of Deductive Verification of Predicate Programs
A System of Deductive Verification of Predicate ProgramsA System of Deductive Verification of Predicate Programs
A System of Deductive Verification of Predicate ProgramsIosif Itkin
 
Java. Строки. Класс String.
Java. Строки. Класс String.Java. Строки. Класс String.
Java. Строки. Класс String.Unguryan Vitaliy
 
Semantic feature machine translation system
Semantic feature machine translation systemSemantic feature machine translation system
Semantic feature machine translation systemDmitry Kan
 
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...Nikolay Grebenshikov
 
Computer Semantics And Machine Translation
Computer Semantics And Machine TranslationComputer Semantics And Machine Translation
Computer Semantics And Machine TranslationDmitry Kan
 
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...ITMO University
 
20131022 зобнин
20131022 зобнин20131022 зобнин
20131022 зобнинYandex
 
Rabota so strokami_v_php
Rabota so strokami_v_phpRabota so strokami_v_php
Rabota so strokami_v_phpVasya Petrov
 
Программирование линейных алгоритмов
Программирование линейных алгоритмовПрограммирование линейных алгоритмов
Программирование линейных алгоритмовAndrey Dolinin
 
Линейные коды
Линейные кодыЛинейные коды
Линейные кодыAlex Dainiak
 
экспертные системы
экспертные системыэкспертные системы
экспертные системыsokol_klinik
 
практика 16
практика 16практика 16
практика 16student_kai
 
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаЗадача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаAlex Dainiak
 
Multiprocessor Programming Intro (lecture 2)
Multiprocessor Programming Intro (lecture 2)Multiprocessor Programming Intro (lecture 2)
Multiprocessor Programming Intro (lecture 2)Dmitry Tsitelov
 

Semelhante a Logacheva (20)

A System of Deductive Verification of Predicate Programs
A System of Deductive Verification of Predicate ProgramsA System of Deductive Verification of Predicate Programs
A System of Deductive Verification of Predicate Programs
 
Java. Строки. Класс String.
Java. Строки. Класс String.Java. Строки. Класс String.
Java. Строки. Класс String.
 
алгоритм
алгоритмалгоритм
алгоритм
 
Semantic feature machine translation system
Semantic feature machine translation systemSemantic feature machine translation system
Semantic feature machine translation system
 
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
 
Java 8 puzzlers
Java 8 puzzlersJava 8 puzzlers
Java 8 puzzlers
 
Computer Semantics And Machine Translation
Computer Semantics And Machine TranslationComputer Semantics And Machine Translation
Computer Semantics And Machine Translation
 
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...
 
Diskretn analiz
Diskretn analizDiskretn analiz
Diskretn analiz
 
20131022 зобнин
20131022 зобнин20131022 зобнин
20131022 зобнин
 
8 3-3
8 3-38 3-3
8 3-3
 
Rabota so strokami_v_php
Rabota so strokami_v_phpRabota so strokami_v_php
Rabota so strokami_v_php
 
Программирование линейных алгоритмов
Программирование линейных алгоритмовПрограммирование линейных алгоритмов
Программирование линейных алгоритмов
 
Линейные коды
Линейные кодыЛинейные коды
Линейные коды
 
fp intro
fp introfp intro
fp intro
 
2020 03-31-lection
2020 03-31-lection2020 03-31-lection
2020 03-31-lection
 
экспертные системы
экспертные системыэкспертные системы
экспертные системы
 
практика 16
практика 16практика 16
практика 16
 
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаЗадача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
 
Multiprocessor Programming Intro (lecture 2)
Multiprocessor Programming Intro (lecture 2)Multiprocessor Programming Intro (lecture 2)
Multiprocessor Programming Intro (lecture 2)
 

Mais de Lidia Pivovarova

Classification and clustering in media monitoring: from knowledge engineering...
Classification and clustering in media monitoring: from knowledge engineering...Classification and clustering in media monitoring: from knowledge engineering...
Classification and clustering in media monitoring: from knowledge engineering...Lidia Pivovarova
 
Convolutional neural networks for text classification
Convolutional neural networks for text classificationConvolutional neural networks for text classification
Convolutional neural networks for text classificationLidia Pivovarova
 
Grouping business news stories based on salience of named entities
Grouping business news stories based on salience of named entitiesGrouping business news stories based on salience of named entities
Grouping business news stories based on salience of named entitiesLidia Pivovarova
 
Интеллектуальный анализ текста
Интеллектуальный анализ текстаИнтеллектуальный анализ текста
Интеллектуальный анализ текстаLidia Pivovarova
 
AINL 2016: Bodrunova, Blekanov, Maksimov
AINL 2016: Bodrunova, Blekanov, MaksimovAINL 2016: Bodrunova, Blekanov, Maksimov
AINL 2016: Bodrunova, Blekanov, MaksimovLidia Pivovarova
 
AINL 2016: Rykov, Nagornyy, Koltsova, Natta, Kremenets, Manovich, Cerrone, Cr...
AINL 2016: Rykov, Nagornyy, Koltsova, Natta, Kremenets, Manovich, Cerrone, Cr...AINL 2016: Rykov, Nagornyy, Koltsova, Natta, Kremenets, Manovich, Cerrone, Cr...
AINL 2016: Rykov, Nagornyy, Koltsova, Natta, Kremenets, Manovich, Cerrone, Cr...Lidia Pivovarova
 
AINL 2016: Shavrina, Selegey
AINL 2016: Shavrina, SelegeyAINL 2016: Shavrina, Selegey
AINL 2016: Shavrina, SelegeyLidia Pivovarova
 

Mais de Lidia Pivovarova (20)

Classification and clustering in media monitoring: from knowledge engineering...
Classification and clustering in media monitoring: from knowledge engineering...Classification and clustering in media monitoring: from knowledge engineering...
Classification and clustering in media monitoring: from knowledge engineering...
 
Convolutional neural networks for text classification
Convolutional neural networks for text classificationConvolutional neural networks for text classification
Convolutional neural networks for text classification
 
Grouping business news stories based on salience of named entities
Grouping business news stories based on salience of named entitiesGrouping business news stories based on salience of named entities
Grouping business news stories based on salience of named entities
 
Интеллектуальный анализ текста
Интеллектуальный анализ текстаИнтеллектуальный анализ текста
Интеллектуальный анализ текста
 
AINL 2016: Yagunova
AINL 2016: YagunovaAINL 2016: Yagunova
AINL 2016: Yagunova
 
AINL 2016: Kuznetsova
AINL 2016: KuznetsovaAINL 2016: Kuznetsova
AINL 2016: Kuznetsova
 
AINL 2016: Bodrunova, Blekanov, Maksimov
AINL 2016: Bodrunova, Blekanov, MaksimovAINL 2016: Bodrunova, Blekanov, Maksimov
AINL 2016: Bodrunova, Blekanov, Maksimov
 
AINL 2016: Boldyreva
AINL 2016: BoldyrevaAINL 2016: Boldyreva
AINL 2016: Boldyreva
 
AINL 2016: Rykov, Nagornyy, Koltsova, Natta, Kremenets, Manovich, Cerrone, Cr...
AINL 2016: Rykov, Nagornyy, Koltsova, Natta, Kremenets, Manovich, Cerrone, Cr...AINL 2016: Rykov, Nagornyy, Koltsova, Natta, Kremenets, Manovich, Cerrone, Cr...
AINL 2016: Rykov, Nagornyy, Koltsova, Natta, Kremenets, Manovich, Cerrone, Cr...
 
AINL 2016: Kozerenko
AINL 2016: Kozerenko AINL 2016: Kozerenko
AINL 2016: Kozerenko
 
AINL 2016: Shavrina, Selegey
AINL 2016: Shavrina, SelegeyAINL 2016: Shavrina, Selegey
AINL 2016: Shavrina, Selegey
 
AINL 2016: Khudobakhshov
AINL 2016: KhudobakhshovAINL 2016: Khudobakhshov
AINL 2016: Khudobakhshov
 
AINL 2016: Proncheva
AINL 2016: PronchevaAINL 2016: Proncheva
AINL 2016: Proncheva
 
AINL 2016:
AINL 2016: AINL 2016:
AINL 2016:
 
AINL 2016: Bugaychenko
AINL 2016: BugaychenkoAINL 2016: Bugaychenko
AINL 2016: Bugaychenko
 
AINL 2016: Grigorieva
AINL 2016: GrigorievaAINL 2016: Grigorieva
AINL 2016: Grigorieva
 
AINL 2016: Muravyov
AINL 2016: MuravyovAINL 2016: Muravyov
AINL 2016: Muravyov
 
AINL 2016: Just AI
AINL 2016: Just AIAINL 2016: Just AI
AINL 2016: Just AI
 
AINL 2016: Moskvichev
AINL 2016: MoskvichevAINL 2016: Moskvichev
AINL 2016: Moskvichev
 
AINL 2016: Goncharov
AINL 2016: GoncharovAINL 2016: Goncharov
AINL 2016: Goncharov
 

Logacheva

  • 1. Об одном методе автоматической транскрипции Варвара Логачева Институт прикладной математики им.М.В.Келдыша г. Москва
  • 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 – преобразование в азбуку катакана На каждом этапе используется вероятностная информация Статистический метод – обучение конечного автомата Задача обратной транслитерации (японский → английский)
  • 8. Система «Трансскриба» •Правила составляются вручную экспертом •поддержка 32 языков •высокая точность передачи •Относительно невысокая скорость, зависящая от количества правил для данного языка
  • 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 При добавлении в автомат правил с правыми контекстами или с входной строкой длиннее одного символа из всех неконечных состояний добавляется переход в конечное состояние с приписыванием к выходной строке значения по умолчанию для первой буквы правила
  • 21. Пример работы автомата aabidah - абида ________абида aabish - абиш _______абиш aadab - адаб ______ адаб aadam - адам _______адам aadil - адиль ______адилль aafiya - афия _______афия aafreen - африн ________африн aakifah - акифа ________акифа aamaal - амаль ________амалль aamil - амиль ______амилль aamila - амиля _______амилля aamina - амина ________амина aamir - амир ______амир aamira - амира _______амира aanisa - аниса _______аниса aaqib - акиб ______акиб baahir - бахир _______бахир baasim - басим ________басим baasima - басима ________басима badiyah - бадия ________бадия badr - бадр ______бадр badra - бадра ______бадра badriya - бадрия ________бадрия badriyyah - бадриййа __________бадрииия
  • 22. `
  • 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 А д р и а н а А л ь д е н а А л ь м е л и н Деление на слоги
  • 28. ПорождениеПорождение первичныхпервичных правилправил На основе слогов вида CV (согласная + гласная) порождаются первичные правила – правила транслитерации: i-я буква оригинала сопоставляется i-й букве перевода h a х а
  • 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 правилам.
  • 31. ПорождениеПорождение сложныхсложных правилправил px = ∅, cx ≠ ∅ o px ≠ ∅, cx = ∅ o px ≠ ∅, cx ≠ ∅ lde → льде de → ьде d → ьд _ → ь l → л l → ль l → л e → е l → л e → е d → д
  • 32. ПорождениеПорождение сложныхсложных правилправил o px = ∅, cx ≠ ∅ px ≠ ∅, cx = ∅ o px ≠ ∅, cx ≠ ∅ tha → та ha → а h → _ t → тt → т a → а {t}h{a} → ∅
  • 33. ПорождениеПорождение сложныхсложных правилправил o px = ∅, cx ≠ ∅ o px ≠ ∅, cx = ∅ px ≠ ∅, cx ≠ ∅ ja → джа сhi → ши j → дж ch → ш ko> → ку> {k}o{>} → у
  • 34. УчетУчет контекстаконтекста l → л anjela – анжела cella – селла l {a, o, u, i, e, l} → л l → ль almelda – альмельда avital – авиталь l {>, t, d, p, m} → ль
  • 35. Недостатки метода Низкая устойчивость к ошибкам в тестовой выборке и исключениям из правил Неполное использование контекстов Не используется информация о закрытости / открытости слога, номер слога в слове Не рассматривается морфологический уровень слова – префиксы, суффиксы, слова с несколькими корнями На стыке морфем могут измениться правила чтения устойчивых сочетаний букв: Sherlock – Шерлок Bellshouse – Беллзхаус
  • 36. Результаты Реализован метод порождения правил по тестовой выборке Реализовано построение конечного автомата по множеству правил
  • 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)