Теория конечных автоматов
Post on 16-Jun-2015
322 Views
Preview:
TRANSCRIPT
Теория конечных автоматовFinite-State Automata
А.В. Луканин
Автоматическая обработка естественного языка. Лекция 4
История
• В 1950-х гг. теория КА стала продолжением модели алгоритмического вычисления
• Алан Тьюринг, 1936
• Упрощение: символы 0 и 1
• Абстрактная машина имеет неограниченную память
Машина Тьюринга
• Вычисления: последовательность шагов, заданных программой блоку управления
• Каждый шаг:– Считывание символа из текущей ячейки– Запись символа– Перемещение в соседнюю ячейку слева
или справа– Смена состояния– Остановка
История
• Маккалох и Питтс: автоматоподобная модель нейрона– Бинарное устройство– Принимает возбуждающие/подавляющие
сигналы от других нейронов– Срабатывает, если превышен порог
• Клини (1951, 1956)– Определение конечного автомата– Регулярных выражений– Их эквивалентности
История
• Rabin и Scott (1959)– Определение недетерминированного КА– Их эквивалентности детерминированному
КА
Овечий язык
baa! baaa! baaaa! baaaaa! baaaaaa!…
Регулярное выражение на языке Perl:
baa+!
Схема работы автомата при распознавании
Алгоритм конечного автомата
• Начало в состоянии q0.
• Если след. символ на входе = символу дуги, перейти к след. состоянию и продвинуть ленту на 1 ячейку вперёд.
• Если автомат в конечном состоянии (q4), когда
больше нет символов на ленте, машина успешно распознаёт «слово» из овечьего языка, TRUE.
• Если машина никогда не достигает конечного состояния или если на ленте заканчиваются символы или если появляется символ, не совпадающий с символом дуги (как в примере), или если машина остаётся в неконечном состоянии, FALSE.
Таблица переходов состояний
Вход
Состояние b a !
0 1 0 0
1 0 2 0
2 0 3 0
3 0 3 4
4: 0 0 0
Формальный язык
• КА можно использовать и для генерации– Что делать в состоянии q3?– Пока считаем, что выбор след. шага случайный
• Алфавит Z = {a,b,!}• Модель m – конкретный КА• Формальный язык
L( m ) = { baa! , baaa! , baaaa! , baaaaa! , baaaaaa! ... }
• Бесконечное множество можно закодировать в конечной форме
Формальный язык
• С помощью ФЯ можно моделировать ЕЯ– Фонологию (алфавит – фонемы)– Морфологию (алфавит – морфемы)– Синтаксис (алфавит – слова)
• Генеративная грамматика – грамматика ФЯ
• ten cents, three dollars, one dollar thirty-five cents
Конечные автоматы денежных выражений
Конечные автоматы денежных выражений
Недетерминированные конечные автоматы
non-deterministic FSAs (NFSAs)
Проблема выбора альтернативы
• Можно получить неправильный результат, если выбрана не та дуга
• Решения:– Возврат к точке принятия решения– Просмотр вперёд– Проверка всех дуг параллельно
Таблица переходов состояний NFSA
Вход
Состояние b a ! ε
0 1 0 0 0
1 0 2 0 0
2 0 2,3 0 0
3 0 0 4 0
4: 0 0 0 0
Распознавание как поиск
• Алгоритмы поиска решения ищут в пространстве состояний (возможных решений)
• Цель – исследовать пространство и вернуть ответ– Или вернуть FALSE после просмотра всего
пространства
• Всё зависит от порядка обхода!
Стратегии поиска решений
• Поиск в глубину, стратегия LIFO (Last In First Out, последним пришел - первым обслужен)
• Поиск в ширину, стратегия FIFO (First In First Out, первым пришел - первым обслужен)
• При одинаковой эффективности обоих подходов обычно выбирают поиск в глубину, т.к. он более эффективен с точки зрения использования памяти.
Модель словоизменения английских существительных
Модель словоизменения английских глаголов
Часть морфотактики английских прилагательных
• big, bigger, biggest• happy, happier, happiest, happily• unhappy, unhappier, unhappiest, unhappily• cool, cooler, coolest, coolly• red, redder, reddest• real, unreal, really• clear, clearer, clearest, clearly, unclear,
unclearly
Конечный автомат английских прилагательных
*unbig, *redly, *realest
Решение проблемы неграмматичности
Antworth (1990) *unrealer/est, *realer/est
adj-root1: clear, happy и real adj-root2: big, cool и red
Конечный автомат английских имён и глаголов
Sproat (1993), Bauer (1983) и Porter (1980)
Представление конечного автомата морфотактики на
уровне букв
Морфотактика EngLex в PC-Kimmo
• 2 места:– Лексикон– Грамматика слов
• Лексикон– Частицы (местоимения, предлоги, союзы, артикли)– Слова с аффиксами
• Prefix* Root Suffix* (Infl) (Clitic)• *computizer => com`pute+ize+er • computerize => com`pute+er+ize
– com`pute+er– er+ize
Морфотактика EngLex в PC-Kimmo
• enlarges ?– en+large– *large+s
• Требуется грамматика слов– en+Adj => V– V+s => V 3 sg
Word _____|______ Stem INFL __|___ +s PREFIX Stem en+ | ROOT large
\alt – какой подлексикон следующий
ALTERNATION Particle AUX AUX-V PP CJ PP-CJ DT PR DT-PR IJ
ALTERNATION Prefix PREFIXALTERNATION Root N AJ V AV N-V N-AJ AJ-V AJ-AV CD
ODALTERNATION Suffix SUFFIXALTERNATION Infl INFLALTERNATION PN_Suffix PN_SUFF ;proper nounsALTERNATION Y_Suffix Y_SUFFALTERNATION IC_Suffix IC_SUFFALTERNATION PT_Suffix PT_SUFF ;participlesALTERNATION Clitic GEN CNTR EndALTERNATION Contraction CNTR EndALTERNATION CD CD OD ORDR ;cardinals and
ordinalsALTERNATION Compound INITIALALTERNATION End End
Подлексикон INITIAL – дуга из стартового состояния
\lf 0\lx INITIAL\alt Particle\gl
\lf 0\lx INITIAL\alt Prefix\gl
Подлексикон PREFIX
\lf 0\lx PREFIX\alt Root\gl
\lf non+\lx PREFIX\alt Prefix\gl NEG3+
\lf pseudo+\lx PREFIX\alt Prefix\gl PEJ3+
…
Обязательный подлексикон Root\lf `fox\lx N\alt Suffix\gl
\lf `mice\lx N\alt Clitic\fea pl irreg\gl `mouse
\lf `carry\lx V\alt Suffix\gl
\lf be`gan\lx V\alt Clitic\fea ed irreg\gl be`gin
\lf `happy\lx AJ\alt Suffix\gl
\lf `worse\lx AJ-AV\alt Suffix\fea comp\gl `bad
Подлексикон SUFFIX
\lf 0
\lx SUFFIX
\alt Infl
\gl
\lf +ism
\lx SUFFIX
\alt Suffix
\fea n/n
\gl +NR8
\lf +ness\lx SUFFIX\alt Suffix\fea aj/n\gl +NR27
\lf +ize\lx SUFFIX\alt Suffix\fea n/v\gl +VR6
Подлексикон INFL – только одно окончание
\lf 0
\lx INFL
\alt Clitic
\gl
;noun plural
\lf +s
\lx INFL
\alt Clitic
\fea n/n pl reg
\gl +PL
;adjective comparative
\lf +er\lx INFL\alt Clitic\fea aj/aj comp reg\gl +CMP
;verb past tense\lf +ed\lx INFL\alt Clitic\fea v/v ed reg\gl +ED
Клитики – могут присоединяться к фразам
\lf +'s
\lx GEN
\alt End
\fea gen
\gl +GEN
\lf +'d've
\lx CNTR
\alt End
\fea modal -3sg
\gl +would+have
Подлексикон End
\lf -
\lx End
\alt Compound
\fea compound
\gl -
\lf 0
\lx End
\alt #
\gl
rose-bush
well-formed
fast-acting
moth-eaten
water-repellent
machine-readable
- конечное состояние
Грамматика слов
1. Контекстно-свободные правилаWord = Word CLITIC
Word = PARTICLE
Word = Stem (INFL)
Stem = PREFIX Stem
Stem = Stem SUFFIX
Stem = ROOT
Word | Stem _____|______PREFIX Stem en+ __|___ Stem SUFFIX | +ment ROOT large
Грамматика слов
2. Унификационная грамматика PATR-IIWord = Stem <Word pos> = <Stem pos>
Stem_1 = PREFIX Stem_2 <PREFIX from_pos> = <Stem_2 pos> <Stem_1 pos> = <PREFIX pos>
Stem_1 = Stem_2 SUFFIX <Stem_2 pos> = <SUFFIX from_pos> <Stem_1 pos> = <SUFFIX pos>
Stem = ROOT <Stem pos> = <ROOT pos>
top related