+ All Categories
Home > Education > Теория конечных автоматов

Теория конечных автоматов

Date post: 16-Jun-2015
Category:
Upload: artem-lukanin
View: 314 times
Download: 1 times
Share this document with a friend
Popular Tags:
37
Теория конечных автоматов Finite-State Automata А.В. Луканин Автоматическая обработка естественного языка. Лекция 4
Transcript
Page 1: Теория конечных автоматов

Теория конечных автоматовFinite-State Automata

А.В. Луканин

Автоматическая обработка естественного языка. Лекция 4

Page 2: Теория конечных автоматов

История

• В 1950-х гг. теория КА стала продолжением модели алгоритмического вычисления

• Алан Тьюринг, 1936

• Упрощение: символы 0 и 1

• Абстрактная машина имеет неограниченную память

Page 3: Теория конечных автоматов

Машина Тьюринга

• Вычисления: последовательность шагов, заданных программой блоку управления

• Каждый шаг:– Считывание символа из текущей ячейки– Запись символа– Перемещение в соседнюю ячейку слева

или справа– Смена состояния– Остановка

Page 4: Теория конечных автоматов

История

• Маккалох и Питтс: автоматоподобная модель нейрона– Бинарное устройство– Принимает возбуждающие/подавляющие

сигналы от других нейронов– Срабатывает, если превышен порог

• Клини (1951, 1956)– Определение конечного автомата– Регулярных выражений– Их эквивалентности

Page 5: Теория конечных автоматов

История

• Rabin и Scott (1959)– Определение недетерминированного КА– Их эквивалентности детерминированному

КА

Page 6: Теория конечных автоматов

Овечий язык

baa! baaa! baaaa! baaaaa! baaaaaa!…

Регулярное выражение на языке Perl:

baa+!

Page 7: Теория конечных автоматов

Схема работы автомата при распознавании

Page 8: Теория конечных автоматов

Алгоритм конечного автомата

• Начало в состоянии q0.

• Если след. символ на входе = символу дуги, перейти к след. состоянию и продвинуть ленту на 1 ячейку вперёд.

• Если автомат в конечном состоянии (q4), когда

больше нет символов на ленте, машина успешно распознаёт «слово» из овечьего языка, TRUE.

• Если машина никогда не достигает конечного состояния или если на ленте заканчиваются символы или если появляется символ, не совпадающий с символом дуги (как в примере), или если машина остаётся в неконечном состоянии, FALSE.

Page 9: Теория конечных автоматов

Таблица переходов состояний

Вход

Состояние b a !

0 1 0 0

1 0 2 0

2 0 3 0

3 0 3 4

4: 0 0 0

Page 10: Теория конечных автоматов

Формальный язык

• КА можно использовать и для генерации– Что делать в состоянии q3?– Пока считаем, что выбор след. шага случайный

• Алфавит Z = {a,b,!}• Модель m – конкретный КА• Формальный язык

L( m ) = { baa! , baaa! , baaaa! , baaaaa! , baaaaaa! ... }

• Бесконечное множество можно закодировать в конечной форме

Page 11: Теория конечных автоматов

Формальный язык

• С помощью ФЯ можно моделировать ЕЯ– Фонологию (алфавит – фонемы)– Морфологию (алфавит – морфемы)– Синтаксис (алфавит – слова)

• Генеративная грамматика – грамматика ФЯ

• ten cents, three dollars, one dollar thirty-five cents

Page 12: Теория конечных автоматов

Конечные автоматы денежных выражений

Page 13: Теория конечных автоматов

Конечные автоматы денежных выражений

Page 14: Теория конечных автоматов

Недетерминированные конечные автоматы

non-deterministic FSAs (NFSAs)

Page 15: Теория конечных автоматов

Проблема выбора альтернативы

• Можно получить неправильный результат, если выбрана не та дуга

• Решения:– Возврат к точке принятия решения– Просмотр вперёд– Проверка всех дуг параллельно

Page 16: Теория конечных автоматов

Таблица переходов состояний 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

Page 17: Теория конечных автоматов

Распознавание как поиск

• Алгоритмы поиска решения ищут в пространстве состояний (возможных решений)

• Цель – исследовать пространство и вернуть ответ– Или вернуть FALSE после просмотра всего

пространства

• Всё зависит от порядка обхода!

Page 18: Теория конечных автоматов

Стратегии поиска решений

• Поиск в глубину, стратегия LIFO (Last In First Out, последним пришел - первым обслужен)

• Поиск в ширину, стратегия FIFO (First In First Out, первым пришел - первым обслужен)

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

Page 19: Теория конечных автоматов

Модель словоизменения английских существительных

Page 20: Теория конечных автоматов

Модель словоизменения английских глаголов

Page 21: Теория конечных автоматов

Часть морфотактики английских прилагательных

• 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

Page 22: Теория конечных автоматов

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

*unbig, *redly, *realest

Page 23: Теория конечных автоматов

Решение проблемы неграмматичности

Antworth (1990) *unrealer/est, *realer/est

adj-root1: clear, happy и real adj-root2: big, cool и red

Page 24: Теория конечных автоматов

Конечный автомат английских имён и глаголов

Sproat (1993), Bauer (1983) и Porter (1980)

Page 25: Теория конечных автоматов

Представление конечного автомата морфотактики на

уровне букв

Page 26: Теория конечных автоматов

Морфотактика EngLex в PC-Kimmo

• 2 места:– Лексикон– Грамматика слов

• Лексикон– Частицы (местоимения, предлоги, союзы, артикли)– Слова с аффиксами

• Prefix* Root Suffix* (Infl) (Clitic)• *computizer => com`pute+ize+er • computerize => com`pute+er+ize

– com`pute+er– er+ize

Page 27: Теория конечных автоматов

Морфотактика 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

Page 28: Теория конечных автоматов

\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

Page 29: Теория конечных автоматов

Подлексикон INITIAL – дуга из стартового состояния

\lf 0\lx INITIAL\alt Particle\gl

\lf 0\lx INITIAL\alt Prefix\gl

Page 30: Теория конечных автоматов

Подлексикон PREFIX

\lf 0\lx PREFIX\alt Root\gl

\lf non+\lx PREFIX\alt Prefix\gl NEG3+

\lf pseudo+\lx PREFIX\alt Prefix\gl PEJ3+

Page 31: Теория конечных автоматов

Обязательный подлексикон 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

Page 32: Теория конечных автоматов

Подлексикон 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

Page 33: Теория конечных автоматов

Подлексикон 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

Page 34: Теория конечных автоматов

Клитики – могут присоединяться к фразам

\lf +'s

\lx GEN

\alt End

\fea gen

\gl +GEN

\lf +'d've

\lx CNTR

\alt End

\fea modal -3sg

\gl +would+have

Page 35: Теория конечных автоматов

Подлексикон 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

- конечное состояние

Page 36: Теория конечных автоматов

Грамматика слов

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

Page 37: Теория конечных автоматов

Грамматика слов

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>


Recommended