127
Математические модели в компьютерной лингвистике Алексей Зобнин Яндекс, МГУ 22 октября 2013 г.

20131022 зобнин

  • Upload
    yandex

  • View
    293

  • Download
    4

Embed Size (px)

DESCRIPTION

Алексей Зобнин на Я.Студенте в МГУ Математические модели в компьютерной лингвистике, 22 октября

Citation preview

Page 1: 20131022 зобнин

Математические моделив компьютерной лингвистике

Алексей Зобнин

Яндекс, МГУ

22 октября 2013 г.

Page 2: 20131022 зобнин

Автоматическая обработка текстов(Natural Language Processing)

Page 3: 20131022 зобнин

Что это такое?

Обработка естественного языка — общее направлениеискусственного интеллекта и математическойлингвистики. Оно изучает проблемы компьютерногоанализа и синтеза естественных языков. Решение этихпроблем будет означать создание более удобной формывзаимодействия компьютера и человека.

Natural language processing (NLP) is a field of computerscience, artificial intelligence, and linguistics concerned withthe interactions between computers and human (natural)languages.

Wikipedia

Page 4: 20131022 зобнин

Типичные задачи

– морфологический анализ и синтез– синтаксический разбор– разрешение неоднозначностей– расширение поисковых запросов– извлечение фактов– соотношения между сущностями в тексте– автоматическое реферирование– машинный перевод– распознавание/синтез речи– классификация документов

Page 5: 20131022 зобнин

План на сегодня

1. Морфологический анализ.2. Регулярные выражения.3. Марковские модели.4. Контекстно-свободные грамматики.

Page 6: 20131022 зобнин

Морфологический анализ

Основные задачи:1. Анализ — определение нормальной формы слова

(леммы) и грамматических характеристик.2. Синтез — генерация других форм слова.

Page 7: 20131022 зобнин

Словоформа и парадигма

Словоформа: чаю кофе потанцуемЛемма: [ча]й [кофе] [потанц]евать

Парадигма: -й -и - -ую -уем-я -ев -уй -уемте-ю -ям -уешь -уйте-й -и -ует -уете-ем -ями -евал -уют-е -ях -евала -евали

-евало -евать

Page 8: 20131022 зобнин

Добавим грамматические теги

ковер[ковер] сущ, неод, муж, ед, им[ковр]а сущ, неод, муж, ед, род[ковр]у сущ, неод, муж, ед, дат[ковер] сущ, неод, муж, ед, вин[ковр]ом сущ, неод, муж, ед, твор[ковр]е сущ, неод, муж, ед, пр[ковр]ы сущ, неод, муж, мн, им[ковр]ов сущ, неод, муж, мн, род[ковр]ам сущ, неод, муж, мн, дат[ковр]ы сущ, неод, муж, мн, вин[ковр]ами сущ, неод, муж, мн, твор[ковр]ах сущ, неод, муж, мн, пр...

Page 9: 20131022 зобнин

А если слова нет в словаре?

я иду {идти} по ковру {ковёр}мы идём {идти} по коврём {коврать?}ты идёшь {идти} по коврёшь {коврать?}вы идёте {идти} по коврёте {коврать?}он идёт {идти} по коврёт {коврать?}они идут {идти} по коврут {коврать?}

http://api.yandex.ru/mystem

Page 10: 20131022 зобнин

А если слова нет в словаре?

«Глокая куздра штеко будланула бокраи курдячит бокрёнка»

Л. В. Щерба.

глокая {глокать? глокий?}куздра {куздра?}штеко {штекий? штеко?}будланула {будланул? будланула? будлануть?}бокра {бокр? бокра? бокрый?}и {и}кудрячит {кудрячит? кудрячита? кудрячить?}бокренка {бокренк? бокренка? бокренок?}

Page 11: 20131022 зобнин

Построение гипотез по образцу

бокренка:кенгуренкатигренка→ бокренок

черенка→ бокренок

буренкасестренка→ бокренка

керенкашестеренка→ бокренка

Page 12: 20131022 зобнин

Построение гипотез по образцу

будланула:обманула→ будлануть

гранула→ будланула

манула→ будланул

Page 13: 20131022 зобнин
Page 14: 20131022 зобнин

Префиксное дерево (бор, trie)

Page 15: 20131022 зобнин

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

Формальное описание:1. Конечный входной алфавит Σ.2. Конечное множество состояний Q.3. Начальное состояние q0 ∈ Q.4. Множество заключительных состояний F ⊂ Q.5. Функция переходов δ : Q× V → Q.

Page 16: 20131022 зобнин

Регулярные множества

Рекурсивное определение R(Σ) ⊂ Σ∗:1. ∅ ∈ R(Σ).2. {ε} ∈ R(Σ).3. ∀ a ∈ Σ : {a} ∈ R(Σ).4. Если P,Q ∈ R(Σ), то P ∪Q ∈ R(Σ).5. Если P,Q ∈ R(Σ), то PQ ∈ R(Σ).6. Если P ∈ R(Σ), то P ∗ ∈ R(Σ).

Регулярные множества (и только они) распознаютсяконечными автоматами.

Page 17: 20131022 зобнин

Регулярные множества

Рекурсивное определение R(Σ) ⊂ Σ∗:1. ∅ ∈ R(Σ).2. {ε} ∈ R(Σ).3. ∀ a ∈ Σ : {a} ∈ R(Σ).4. Если P,Q ∈ R(Σ), то P ∪Q ∈ R(Σ).5. Если P,Q ∈ R(Σ), то PQ ∈ R(Σ).6. Если P ∈ R(Σ), то P ∗ ∈ R(Σ).

Регулярные множества (и только они) распознаютсяконечными автоматами.

Page 18: 20131022 зобнин

Морфологическая омонимия

Задача: выбрать правильный морфологический разбор.

Хранение денег в банке.Что делают белки в клетке?Фотографии Львов.Капля стекла со стекла.Косил косой косой косой.Полосы стали красными...Полосы стали красными реками текли по конвейерутрубопрокатного завода.

Page 19: 20131022 зобнин

Морфологическая омонимия

Задача: выбрать правильный морфологический разбор.

Хранение денег в банке.Что делают белки в клетке?Фотографии Львов.Капля стекла со стекла.Косил косой косой косой.Полосы стали красными...Полосы стали красными реками текли по конвейерутрубопрокатного завода.

Page 20: 20131022 зобнин

Морфологическая омонимия

Задача: выбрать правильный морфологический разбор.

Хранение денег в банке.Что делают белки в клетке?Фотографии Львов.Капля стекла со стекла.Косил косой косой косой.Полосы стали красными...Полосы стали красными реками текли по конвейерутрубопрокатного завода.

Page 21: 20131022 зобнин

Морфологическая омонимия

Задача: выбрать правильный морфологический разбор.

Хранение денег в банке.Что делают белки в клетке?Фотографии Львов.Капля стекла со стекла.Косил косой косой косой.Полосы стали красными...Полосы стали красными реками текли по конвейерутрубопрокатного завода.

Page 22: 20131022 зобнин

Морфологическая омонимия

Задача: выбрать правильный морфологический разбор.

Хранение денег в банке.Что делают белки в клетке?Фотографии Львов.Капля стекла со стекла.Косил косой косой косой.Полосы стали красными...Полосы стали красными реками текли по конвейерутрубопрокатного завода.

Page 23: 20131022 зобнин

Морфологическая омонимия

Задача: выбрать правильный морфологический разбор.

Хранение денег в банке.Что делают белки в клетке?Фотографии Львов.Капля стекла со стекла.Косил косой косой косой.Полосы стали красными...Полосы стали красными реками текли по конвейерутрубопрокатного завода.

Page 24: 20131022 зобнин

Морфологическая омонимия

Задача: выбрать правильный морфологический разбор.

Хранение денег в банке.Что делают белки в клетке?Фотографии Львов.Капля стекла со стекла.Косил косой косой косой.Полосы стали красными...Полосы стали красными реками текли по конвейерутрубопрокатного завода.

Page 25: 20131022 зобнин

Скрытые марковские модели

применяются в задачах– расстановки частей речи (и снятия

морфологической неоднозначности);– выделения именованных сущностей;– распознавания речи;– распознавания рукописного ввода;– распознавания жестов.

Page 26: 20131022 зобнин

(Обычная) марковская модель

задается следующим набором:1. Q = q1, q2, . . . , qN : множество состояний;2. q0: начальное состояние;3. A = (aij): (N + 1)× (N + 1)-матрица переходных

вероятностей;

Page 27: 20131022 зобнин

Скрытые марковские модели

1. Q = q1, q2, . . . , qN : множество состояний;2. q0: начальное состояние;3. A = (aij): (N + 1)× (N + 1)-матрица переходных

вероятностей;4. O = o1, . . . , oT : последовательность наблюдаемых;5. B = bi(ot): набор выходных вероятностей.

Наблюдаем внешние события, но не внутреннеесостояние модели.

Page 28: 20131022 зобнин
Page 29: 20131022 зобнин

В наших задачах скрытыми состояниямибудут последовательности тегов,а наблюдаемыми — слова предложения.

Page 30: 20131022 зобнин

Задачи, связанные с HMM

1. Оценка. Найти вероятность даннойпоследовательности состояний.Решается с помощью алгоритма Forward-Backward.

2. Декодирование. Найти наиболее вероятнуюпоследовательность тегов.Решается с помощью алгоритма Витерби.

3. Обучение. Подобрать параметры модели дляданного выхода.Решается с помощью алгоритма Баума-Велша.

Page 31: 20131022 зобнин

Задачи, связанные с HMM

1. Оценка. Найти вероятность даннойпоследовательности состояний.Решается с помощью алгоритма Forward-Backward.

2. Декодирование. Найти наиболее вероятнуюпоследовательность тегов.Решается с помощью алгоритма Витерби.

3. Обучение. Подобрать параметры модели дляданного выхода.Решается с помощью алгоритма Баума-Велша.

Page 32: 20131022 зобнин

Задачи, связанные с HMM

1. Оценка. Найти вероятность даннойпоследовательности состояний.Решается с помощью алгоритма Forward-Backward.

2. Декодирование. Найти наиболее вероятнуюпоследовательность тегов.Решается с помощью алгоритма Витерби.

3. Обучение. Подобрать параметры модели дляданного выхода.Решается с помощью алгоритма Баума-Велша.

Page 33: 20131022 зобнин

Задачи, связанные с HMM

1. Оценка. Найти вероятность даннойпоследовательности состояний.Решается с помощью алгоритма Forward-Backward.

2. Декодирование. Найти наиболее вероятнуюпоследовательность тегов.Решается с помощью алгоритма Витерби.

3. Обучение. Подобрать параметры модели дляданного выхода.Решается с помощью алгоритма Баума-Велша.

Page 34: 20131022 зобнин

Задачи, связанные с HMM

1. Оценка. Найти вероятность даннойпоследовательности состояний.Решается с помощью алгоритма Forward-Backward.

2. Декодирование. Найти наиболее вероятнуюпоследовательность тегов.Решается с помощью алгоритма Витерби.

3. Обучение. Подобрать параметры модели дляданного выхода.Решается с помощью алгоритма Баума-Велша.

Page 35: 20131022 зобнин

Задачи, связанные с HMM

1. Оценка. Найти вероятность даннойпоследовательности состояний.Решается с помощью алгоритма Forward-Backward.

2. Декодирование. Найти наиболее вероятнуюпоследовательность тегов.Решается с помощью алгоритма Витерби.

3. Обучение. Подобрать параметры модели дляданного выхода.Решается с помощью алгоритма Баума-Велша.

Page 36: 20131022 зобнин

Оценка правдоподобия

Дана скрытая марковская модель λ = (A,B)и последовательность наблюдений O.Определить вероятность p(O | λ).

p(O) =∑Q

p(O,Q) =∑Q

p(O | Q) p(Q) =

∑Q

T∏t=1

p(ot | qt) ·T∏t=1

p(qt | qt−1).

Вычислять p(O) непосредственно по этой формуленереально.

Page 37: 20131022 зобнин

Оценка правдоподобия

Дана скрытая марковская модель λ = (A,B)и последовательность наблюдений O.Определить вероятность p(O | λ).

p(O) =∑Q

p(O,Q) =∑Q

p(O | Q) p(Q) =

∑Q

T∏t=1

p(ot | qt) ·T∏t=1

p(qt | qt−1).

Вычислять p(O) непосредственно по этой формуленереально.

Page 38: 20131022 зобнин

Оценка правдоподобия

Дана скрытая марковская модель λ = (A,B)и последовательность наблюдений O.Определить вероятность p(O | λ).

p(O) =∑Q

p(O,Q) =∑Q

p(O | Q) p(Q) =

∑Q

T∏t=1

p(ot | qt) ·T∏t=1

p(qt | qt−1).

Вычислять p(O) непосредственно по этой формуленереально.

Page 39: 20131022 зобнин

Оценка правдоподобия

Дана скрытая марковская модель λ = (A,B)и последовательность наблюдений O.Определить вероятность p(O | λ).

p(O) =∑Q

p(O,Q) =∑Q

p(O | Q) p(Q) =

∑Q

T∏t=1

p(ot | qt) ·T∏t=1

p(qt | qt−1).

Вычислять p(O) непосредственно по этой формуленереально.

Page 40: 20131022 зобнин

Алгоритм Forward

Определим прямые вероятности

αt(j) = p(o1, o2, . . . , ot, qt = j | λ).

Вычислим их рекурсивно:

αt(j) =N∑i=1

αt−1(i)aijbj(ot).

Заметим, чтоP (O) = αT (qF ).

Page 41: 20131022 зобнин

Алгоритм Forward

Определим прямые вероятности

αt(j) = p(o1, o2, . . . , ot, qt = j | λ).

Вычислим их рекурсивно:

αt(j) =N∑i=1

αt−1(i)aijbj(ot).

Заметим, чтоP (O) = αT (qF ).

Page 42: 20131022 зобнин

Алгоритм Forward

Определим прямые вероятности

αt(j) = p(o1, o2, . . . , ot, qt = j | λ).

Вычислим их рекурсивно:

αt(j) =N∑i=1

αt−1(i)aijbj(ot).

Заметим, чтоP (O) = αT (qF ).

Page 43: 20131022 зобнин

Алгоритм Forward

Input: observations of length T , state-graph of length NOutput: forward probability αT (qF )

create a matrix α[T,N ]for each state j from 1 to N doα1(j)← a0,j · bj(o1)

for each time step t from 2 to T dofor each state j from 1 to N doαt(j)←

∑Ni=1 αt−1(i) · ai,j · bj(ot)

returnN∑i=1

αT (i) · ai,qF

Page 44: 20131022 зобнин

Алгоритм Витерби

Input: observations of length T , state-graph of length NOutput: best-path

for each state s from 1 to N doviterbi[s, 1]← a0,s · bs(o1)backpointers[s, 1]← 0

for each time step t from 2 to T dofor each state s from 1 to N doviterbi[s, t]← maxNs′=1 viterbi[s

′, t− 1] · as′,s · bs(ot)backpointer[s, t]← argmaxNs′=1 viterbi[s

′, t− 1] · as′,sviterbi[qF , T ]←

Nmaxs=1

viterbi[s, T ] · as,qFbackpointer[qF , T ]← argmaxNs=1 viterbi[s, T ] · as,qFreturn the backtrace path from backpointer[qF , T ]

Page 45: 20131022 зобнин

Обучение скрытых марковских моделей

Дана последовательность наблюдений O и множествовозможных состояний модели. Требуется найтипараметры модели A и B.

Задача решается алгоритмом Баума-Велша(Baum-Welch), частным случаем метода EM(Expectation-Maximization).

Page 46: 20131022 зобнин

Обучение скрытых марковских моделей

Дана последовательность наблюдений O и множествовозможных состояний модели. Требуется найтипараметры модели A и B.

Задача решается алгоритмом Баума-Велша(Baum-Welch), частным случаем метода EM(Expectation-Maximization).

Page 47: 20131022 зобнин

Обратные вероятности

Вспомним прямые и определим обратные вероятности:

αt(j) := p(o1, o2, . . . , ot, qt = j | λ),

βt(i) := p(ot+1, ot+2, . . . , oT | qt = i, λ).

Обратные вероятности тоже можно найти рекурсивно:

βT (i) = ai,F , 1 6 i 6 N,

βt(i) =N∑j=1

aijbj(ot+1)βt+1(j), 1 6 i 6 N, 1 6 t < T,

p(O | λ) = αT (qF ) = β0(q0) =N∑j=1

a0jbj(o1)β1(j).

Page 48: 20131022 зобнин

Обратные вероятности

Вспомним прямые и определим обратные вероятности:

αt(j) := p(o1, o2, . . . , ot, qt = j | λ),

βt(i) := p(ot+1, ot+2, . . . , oT | qt = i, λ).

Обратные вероятности тоже можно найти рекурсивно:

βT (i) = ai,F , 1 6 i 6 N,

βt(i) =N∑j=1

aijbj(ot+1)βt+1(j), 1 6 i 6 N, 1 6 t < T,

p(O | λ) = αT (qF ) = β0(q0) =N∑j=1

a0jbj(o1)β1(j).

Page 49: 20131022 зобнин

Оценка переходных вероятностей aij

Предположим, что состояния марковской моделиоткрыты.

Оценим aij:

aij =C(i→ j)∑

q∈QC(i→ q)

.

Page 50: 20131022 зобнин

Оценка переходных вероятностей aij

ξt(i, j) := p(qt = i, qt+1 = j | O, λ).

ξt(i, j) =αt(i)aijbj(ot+1)βt+1(j)

αT (N).

aij =

∑T−1t=1 ξt(i, j)∑T−1

t=1

∑Nj=1 ξt(i, j)

.

Page 51: 20131022 зобнин

Оценка переходных вероятностей aij

ξt(i, j) := p(qt = i, qt+1 = j | O, λ).

ξt(i, j) =αt(i)aijbj(ot+1)βt+1(j)

αT (N).

aij =

∑T−1t=1 ξt(i, j)∑T−1

t=1

∑Nj=1 ξt(i, j)

.

Page 52: 20131022 зобнин

Оценка переходных вероятностей aij

ξt(i, j) := p(qt = i, qt+1 = j | O, λ).

ξt(i, j) =αt(i)aijbj(ot+1)βt+1(j)

αT (N).

aij =

∑T−1t=1 ξt(i, j)∑T−1

t=1

∑Nj=1 ξt(i, j)

.

Page 53: 20131022 зобнин

Оценки вероятностей наблюдаемыхПусть V — множество значений наблюдаемых величин.

bj(vk) =число пребываний в состоянии j при vk

число пребываний в состоянии j.

γt(j) := p(qt = j | O, λ)

=p(qt = j, O | λ)

p(O | λ)

=αt(j)βt(j)

p(O | λ).

bj(vk) =

∑16t6T, ot=vk

γt(j)∑Tt=1 γt(j)

.

Page 54: 20131022 зобнин

Оценки вероятностей наблюдаемыхПусть V — множество значений наблюдаемых величин.

bj(vk) =число пребываний в состоянии j при vk

число пребываний в состоянии j.

γt(j) := p(qt = j | O, λ)

=p(qt = j, O | λ)

p(O | λ)

=αt(j)βt(j)

p(O | λ).

bj(vk) =

∑16t6T, ot=vk

γt(j)∑Tt=1 γt(j)

.

Page 55: 20131022 зобнин

Оценки вероятностей наблюдаемыхПусть V — множество значений наблюдаемых величин.

bj(vk) =число пребываний в состоянии j при vk

число пребываний в состоянии j.

γt(j) := p(qt = j | O, λ)

=p(qt = j, O | λ)

p(O | λ)

=αt(j)βt(j)

p(O | λ).

bj(vk) =

∑16t6T, ot=vk

γt(j)∑Tt=1 γt(j)

.

Page 56: 20131022 зобнин

Оценки вероятностей наблюдаемыхПусть V — множество значений наблюдаемых величин.

bj(vk) =число пребываний в состоянии j при vk

число пребываний в состоянии j.

γt(j) := p(qt = j | O, λ)

=p(qt = j, O | λ)

p(O | λ)

=αt(j)βt(j)

p(O | λ).

bj(vk) =

∑16t6T, ot=vk

γt(j)∑Tt=1 γt(j)

.

Page 57: 20131022 зобнин

Оценки вероятностей наблюдаемыхПусть V — множество значений наблюдаемых величин.

bj(vk) =число пребываний в состоянии j при vk

число пребываний в состоянии j.

γt(j) := p(qt = j | O, λ)

=p(qt = j, O | λ)

p(O | λ)

=αt(j)βt(j)

p(O | λ).

bj(vk) =

∑16t6T, ot=vk

γt(j)∑Tt=1 γt(j)

.

Page 58: 20131022 зобнин

Алгоритм Баума-Велша

Input: observations of length T ,output vocabulary V , hidden state set Q

Output: HMM = (A,B)

initialize A and Biterate until convergence

E-step:γt(j) =

αt(j)βt(j)p(O|λ) ∀ t, j

ξt(i, j) =αt(i)aijbj(ot+1)βt+1(j)

αT (N) ∀ t, i, jM-step:

aij =∑T−1

t=1 ξt(i,j)∑T−1t=1

∑Nj=1 ξt(i,j)

bj(vk) =

∑16t6T, ot=vk

γt(j)∑Tt=1 γt(j)

return A,B

Page 59: 20131022 зобнин

Порождающие и дискриминантные модели

В порождающих моделях (generative models) заданосовместное распределение вероятностей скрытыхсостояний и наблюдаемых данных p(H,O).Примеры: языковые модели, HMM, наивныйбайесовский классификатор.

В дискриминантных моделях (discriminative models)заданы условные вероятности p(H|O).Примеры: логистическая регрессия, MEMM.

Page 60: 20131022 зобнин
Page 61: 20131022 зобнин

Марковская модель максимальной энтропии

В HMM были вероятности p(tag|tag) и p(word|tag).Учитывать вероятности вида

p(capitalization|tag), p(hyphen|tag), p(suffix|tag)

в HMM сложно.

В марковской модели максимальной энтропии

p(Q|O) =n∏i=1

p(qi|qi−1, oi).

Page 62: 20131022 зобнин

Марковская модель максимальной энтропии

В HMM были вероятности p(tag|tag) и p(word|tag).Учитывать вероятности вида

p(capitalization|tag), p(hyphen|tag), p(suffix|tag)

в HMM сложно.

В марковской модели максимальной энтропии

p(Q|O) =n∏i=1

p(qi|qi−1, oi).

Page 63: 20131022 зобнин

Марковская модель максимальной энтропии

В HMM были вероятности p(tag|tag) и p(word|tag).Учитывать вероятности вида

p(capitalization|tag), p(hyphen|tag), p(suffix|tag)

в HMM сложно.

В марковской модели максимальной энтропии

p(Q|O) =n∏i=1

p(qi|qi−1, oi).

Page 64: 20131022 зобнин
Page 65: 20131022 зобнин

Features

Пусть C — конечное множество классов, на которыенадо разбить наблюдаемые данные.Свойства — функции f : C ×X → R.Обычно это индикаторные функции f : C ×X → {0, 1}.

Примеры:1. Слово заканчивается на «-тся», глагол.2. Предыдущее слово было «в», не глагол.3. Вероятность данного разбора данного слова.4. Слово написано с большой буквы, существительное.

Пусть у каждого свойства fi(c, x) для каждого классаc ∈ H есть вес wci.

Page 66: 20131022 зобнин

Напоминание: линейная регрессия

Зависимость ищется в виде

y = w · f,

где y ∈ R.

Обучение: метод наименьших квадратов: минимизируемошибку

n∑i=1

(yi − w · f(xi))2.

Page 67: 20131022 зобнин

Напоминание: линейная регрессия

Зависимость ищется в виде

y = w · f,

где y ∈ R.

Обучение: метод наименьших квадратов: минимизируемошибку

n∑i=1

(yi − w · f(xi))2.

Page 68: 20131022 зобнин

Логистическая регрессияБинарный классификатор (y ∈ {false, true}).

p(y = true |x) = w · f.

Не годится, так как должно быть 0 6 P 6 1.

p(y = true |x)

1− p(y = true |x)= w · f.

Уже лучше, левая часть теперь любая неотрицательная.

Возьмем логарифм!

lnp(y = true |x)

1− p(y = true |x)= w · f.

Page 69: 20131022 зобнин

Логистическая регрессияБинарный классификатор (y ∈ {false, true}).

p(y = true |x) = w · f.

Не годится, так как должно быть 0 6 P 6 1.

p(y = true |x)

1− p(y = true |x)= w · f.

Уже лучше, левая часть теперь любая неотрицательная.

Возьмем логарифм!

lnp(y = true |x)

1− p(y = true |x)= w · f.

Page 70: 20131022 зобнин

Логистическая регрессияБинарный классификатор (y ∈ {false, true}).

p(y = true |x) = w · f.

Не годится, так как должно быть 0 6 P 6 1.

p(y = true |x)

1− p(y = true |x)= w · f.

Уже лучше, левая часть теперь любая неотрицательная.

Возьмем логарифм!

lnp(y = true |x)

1− p(y = true |x)= w · f.

Page 71: 20131022 зобнин

Логистическая регрессияБинарный классификатор (y ∈ {false, true}).

p(y = true |x) = w · f.

Не годится, так как должно быть 0 6 P 6 1.

p(y = true |x)

1− p(y = true |x)= w · f.

Уже лучше, левая часть теперь любая неотрицательная.

Возьмем логарифм!

lnp(y = true |x)

1− p(y = true |x)= w · f.

Page 72: 20131022 зобнин

Логистическая регрессияБинарный классификатор (y ∈ {false, true}).

p(y = true |x) = w · f.

Не годится, так как должно быть 0 6 P 6 1.

p(y = true |x)

1− p(y = true |x)= w · f.

Уже лучше, левая часть теперь любая неотрицательная.

Возьмем логарифм!

lnp(y = true |x)

1− p(y = true |x)= w · f.

Page 73: 20131022 зобнин

Логистическая регрессия:формулы для вероятностей

p(y = true |x) =ew·f

1 + ew·f,

p(y = false |x) =1

1 + ew·f.

Логистическая функция:

σ(t) =1

1 + e−t.

Page 74: 20131022 зобнин

Логистическая регрессия:формулы для вероятностей

p(y = true |x) =ew·f

1 + ew·f,

p(y = false |x) =1

1 + ew·f.

Логистическая функция:

σ(t) =1

1 + e−t.

Page 75: 20131022 зобнин

Логистическая регрессия: обучение

Выбираем модель, которая максимизирует условноеправдоподобие:

w = arg maxw

p(y|x)

= arg maxw

∏i

p(y(i)|x(i))

= arg maxw

∑i

log p(y(i)|x(i)).

Page 76: 20131022 зобнин

Логистическая регрессия: обучение

Выбираем модель, которая максимизирует условноеправдоподобие:

w = arg maxw

p(y|x)

= arg maxw

∏i

p(y(i)|x(i))

= arg maxw

∑i

log p(y(i)|x(i)).

Page 77: 20131022 зобнин

Логистическая регрессия: обучение

Выбираем модель, которая максимизирует условноеправдоподобие:

w = arg maxw

p(y|x)

= arg maxw

∏i

p(y(i)|x(i))

= arg maxw

∑i

log p(y(i)|x(i)).

Page 78: 20131022 зобнин

Обобщение на случай нескольких классов

Multinomial logistic regression.Предполагаем, что

p(c|x) =1

Zexp

(∑i

wcifi(c, x)

)

=exp (

∑iwcifi(c, x))∑

c′∈C exp (∑

iwc′ifi(c, x)).

c = arg maxc∈C

p(c|x).

Эта модель также называется моделью максимальнойэнтропии. Почему?

Page 79: 20131022 зобнин

Обобщение на случай нескольких классов

Multinomial logistic regression.Предполагаем, что

p(c|x) =1

Zexp

(∑i

wcifi(c, x)

)

=exp (

∑iwcifi(c, x))∑

c′∈C exp (∑

iwc′ifi(c, x)).

c = arg maxc∈C

p(c|x).

Эта модель также называется моделью максимальнойэнтропии. Почему?

Page 80: 20131022 зобнин

Простой пример

Модель p, предсказывающая французский переводанглийского слова in. Пусть есть такие варианты:

{dans, en, a, au cours de, pendant}

Ограничение:

pdans + pen + pa + pau cours de + ppendant = 1.

Как выбрать модель?

dans en a au cours de pendant1/5 1/5 1/5 1/5 1/5

Page 81: 20131022 зобнин

Простой пример

Модель p, предсказывающая французский переводанглийского слова in. Пусть есть такие варианты:

{dans, en, a, au cours de, pendant}

Ограничение:

pdans + pen + pa + pau cours de + ppendant = 1.

Как выбрать модель?

dans en a au cours de pendant1/5 1/5 1/5 1/5 1/5

Page 82: 20131022 зобнин

Простой пример

Модель p, предсказывающая французский переводанглийского слова in. Пусть есть такие варианты:

{dans, en, a, au cours de, pendant}

Ограничение:

pdans + pen + pa + pau cours de + ppendant = 1.

Как выбрать модель?

dans en a au cours de pendant1/5 1/5 1/5 1/5 1/5

Page 83: 20131022 зобнин

Добавим ограничение:

pdans + pen + pa + pau cours de + ppendant = 1,

pdans + pen = 3/10.

dans en a au cours de pendant3/20 3/20 7/30 7/30 7/30

Page 84: 20131022 зобнин

Добавим ограничение:

pdans + pen + pa + pau cours de + ppendant = 1,

pdans + pen = 3/10.

dans en a au cours de pendant3/20 3/20 7/30 7/30 7/30

Page 85: 20131022 зобнин

Добавим еще одно:

pdans + pen + pa + pau cours de + ppendant = 1,

pdans + pen = 3/10,

pdans + pa = 1/2.

dans en a au cours de pendant? ? ? ? ?

Надо выбрать распределение так, чтобы его энтропиябыла максимальной.

Page 86: 20131022 зобнин

Добавим еще одно:

pdans + pen + pa + pau cours de + ppendant = 1,

pdans + pen = 3/10,

pdans + pa = 1/2.

dans en a au cours de pendant? ? ? ? ?

Надо выбрать распределение так, чтобы его энтропиябыла максимальной.

Page 87: 20131022 зобнин

Формализуем этот подходВыходное значение y зависит от контекста наблюдаемыхвеличин x. Модель p ∈ P будет предсказывать p(y|x).

Дана обучающая выборка (x1, y1), . . . , (xN , yN).Определим выборочные распределения p(x, y) и p(x).

Подберем свойства f(x, y).Вычислим матожидание f и его оценку согласно модели:

p(f) :=∑x,y

p(x, y)f(x, y),

p(f) :=∑x,y

p(x)p(y|x)f(x, y).

Ограничение:p(f) = p(f).

Page 88: 20131022 зобнин

Формализуем этот подходВыходное значение y зависит от контекста наблюдаемыхвеличин x. Модель p ∈ P будет предсказывать p(y|x).

Дана обучающая выборка (x1, y1), . . . , (xN , yN).Определим выборочные распределения p(x, y) и p(x).

Подберем свойства f(x, y).Вычислим матожидание f и его оценку согласно модели:

p(f) :=∑x,y

p(x, y)f(x, y),

p(f) :=∑x,y

p(x)p(y|x)f(x, y).

Ограничение:p(f) = p(f).

Page 89: 20131022 зобнин

Принцип максимальной энтропии

Энтропия — мера «равномерности» условногораcпределения p(y|x):

H(p) := −∑x,y

p(x)p(y|x) log p(y|x).

Среди всех моделей, допустимых ограничениями C,выбираем модель с максимальной энтропией:

p∗ = arg maxp∈C

H(p).

Page 90: 20131022 зобнин

Принцип максимальной энтропии

Энтропия — мера «равномерности» условногораcпределения p(y|x):

H(p) := −∑x,y

p(x)p(y|x) log p(y|x).

Среди всех моделей, допустимых ограничениями C,выбираем модель с максимальной энтропией:

p∗ = arg maxp∈C

H(p).

Page 91: 20131022 зобнин

Метод множителей Лагранжа

Ищем безусловный максимум функции

Λ(p, λ) := H(p) +∑i

λi (p(fi)− p(fi)) :

pλ := arg maxp∈P

Λ(p, λ) =1

Zλ(x)exp

(∑i

λifi(x, y)

),

где Zλ(x) — нормирующий множитель

Zλ(x) =∑y

exp

(∑i

λifi(x, y)

).

Page 92: 20131022 зобнин

Метод множителей Лагранжа

Ищем безусловный максимум функции

Λ(p, λ) := H(p) +∑i

λi (p(fi)− p(fi)) :

pλ := arg maxp∈P

Λ(p, λ) =1

Zλ(x)exp

(∑i

λifi(x, y)

),

где Zλ(x) — нормирующий множитель

Zλ(x) =∑y

exp

(∑i

λifi(x, y)

).

Page 93: 20131022 зобнин

MEMM: декодирование и обучение

Декодирование: аналог алгоритма Витерби для HMM.

Обучение: численные методы выпуклой оптимизации(градиентный спуск, метод сопряженных градиетов,квазиньютоновские методы) + метод EM.

Page 94: 20131022 зобнин

MEMM: декодирование и обучение

Декодирование: аналог алгоритма Витерби для HMM.

Обучение: численные методы выпуклой оптимизации(градиентный спуск, метод сопряженных градиетов,квазиньютоновские методы) + метод EM.

Page 95: 20131022 зобнин

Что еще можно применить?

– Conditional random field (CRF);– Support Vector Machines (SVM);– Decision lists, decision trees, ...

Page 96: 20131022 зобнин

Синтаксис

Синтаксис — раздел лингвистики, изучающий строениесловосочетаний и предложений.

Syntax is the study of the principles and processes bywhich sentences are constructed in particular languages.

Wikipedia

Page 97: 20131022 зобнин

Синтаксис как система составляющихАвтор — Ноам Хомский (Noam Chomsky).Слова в предложении группируются в составляющие.

Page 98: 20131022 зобнин

Система составляющих

Составляющая — независимая синтаксическая единица:— её можно перемещать в пределах предложения:

John talked [to the children] [about rules].John talked [about rules] [to the children].*John talked rules to the children about.

— её можно заменять на грамматически похожие:I sat [on the box / on top of the box / in front of you].

Page 99: 20131022 зобнин

Система составляющих

Составляющая — независимая синтаксическая единица:— её можно перемещать в пределах предложения:

John talked [to the children] [about rules].John talked [about rules] [to the children].*John talked rules to the children about.

— её можно заменять на грамматически похожие:I sat [on the box / on top of the box / in front of you].

Page 100: 20131022 зобнин

Система составляющих

Составляющая — независимая синтаксическая единица:— её можно перемещать в пределах предложения:

John talked [to the children] [about rules].John talked [about rules] [to the children].*John talked rules to the children about.

— её можно заменять на грамматически похожие:I sat [on the box / on top of the box / in front of you].

Page 101: 20131022 зобнин

Система составляющих

Составляющая — независимая синтаксическая единица:— её можно перемещать в пределах предложения:

John talked [to the children] [about rules].John talked [about rules] [to the children].*John talked rules to the children about.

— её можно заменять на грамматически похожие:I sat [on the box / on top of the box / in front of you].

Page 102: 20131022 зобнин

Система составляющих

Составляющая — независимая синтаксическая единица:— её можно перемещать в пределах предложения:

John talked [to the children] [about rules].John talked [about rules] [to the children].*John talked rules to the children about.

— её можно заменять на грамматически похожие:I sat [on the box / on top of the box / in front of you].

Page 103: 20131022 зобнин

I saw the man on the hill with a telescope.

Page 104: 20131022 зобнин

I saw the man on the hill with a telescope.

Page 105: 20131022 зобнин

Формальная грамматика

Заданы– конечное множество нетерминалов N ;– конечное множество терминалов Σ;– конечное множество продукций P , каждая из

которых имеет вид

(Σ ∪N)∗N(Σ ∪N)∗ → (Σ ∪N)∗;

– начальный нетерминал S.

Page 106: 20131022 зобнин

Примеры

S → aSb

S → ε

язык {anbn}.

S → SS

S → (S)

S → ()

правильные скобочные выражения.

Page 107: 20131022 зобнин

Примеры

S → aSb

S → ε

язык {anbn}.

S → SS

S → (S)

S → ()

правильные скобочные выражения.

Page 108: 20131022 зобнин

Арифметические выражения

S → x

S → y

S → z

S → S + S

S → S − SS → S ∗ SS → S/S

S → (S)

Page 109: 20131022 зобнин

Арифметические выражения II

T → x

T → y

T → z

S → S + T

S → S − TS → S ∗ TS → S/T

T → (S)

S → T

Page 110: 20131022 зобнин

Еще пример

S → aSBC

S → aBC

CB → HB

HB → HC

HC → BC

aB → ab

bB → bb

bC → bc

cC → cc

язык {anbncn | n > 1}.

Page 111: 20131022 зобнин

Еще пример

S → aSBC

S → aBC

CB → HB

HB → HC

HC → BC

aB → ab

bB → bb

bC → bc

cC → cc

язык {anbncn | n > 1}.

Page 112: 20131022 зобнин

N = {S,NP, V P,N, V,A}Σ = {generate, hate, great, green, ideas, linguists}

S → 〈NP 〉 〈V P 〉〈NP 〉 → A 〈NP 〉〈NP 〉 → N

〈V P 〉 → V 〈NP 〉〈V P 〉 → V

N → ideas | linguistsV → generate | hateA → great | green

great linguists generate great green ideasideas hate great linguists

ideas generate

Page 113: 20131022 зобнин

N = {S,NP, V P,N, V,A}Σ = {generate, hate, great, green, ideas, linguists}

S → 〈NP 〉 〈V P 〉〈NP 〉 → A 〈NP 〉〈NP 〉 → N

〈V P 〉 → V 〈NP 〉〈V P 〉 → V

N → ideas | linguistsV → generate | hateA → great | green

great linguists generate great green ideasideas hate great linguists

ideas generate

Page 114: 20131022 зобнин

N = {S,NP, V P,N, V,A}Σ = {generate, hate, great, green, ideas, linguists}

S → 〈NP 〉 〈V P 〉〈NP 〉 → A 〈NP 〉〈NP 〉 → N

〈V P 〉 → V 〈NP 〉〈V P 〉 → V

N → ideas | linguistsV → generate | hateA → great | green

great linguists generate great green ideasideas hate great linguists

ideas generate

Page 115: 20131022 зобнин

N = {S,NP, V P,N, V,A}Σ = {generate, hate, great, green, ideas, linguists}

S → 〈NP 〉 〈V P 〉〈NP 〉 → A 〈NP 〉〈NP 〉 → N

〈V P 〉 → V 〈NP 〉〈V P 〉 → V

N → ideas | linguistsV → generate | hateA → great | green

great linguists generate great green ideasideas hate great linguists

ideas generate

Page 116: 20131022 зобнин

James while John had had had had had had had had hadhad had a better effect on the teacher

James, while John had had «had», had had «had had»;«had had» had had a better effect on the teacher

Page 117: 20131022 зобнин

James while John had had had had had had had had hadhad had a better effect on the teacher

James, while John had had «had», had had «had had»;«had had» had had a better effect on the teacher

Page 118: 20131022 зобнин
Page 119: 20131022 зобнин

Иерархия грамматик Хомского

Тип 0 — неограниченные: α→ β.Распознаются машиной Тьюринга.Тип 1 — контекстно-зависимые: αAγ → αβγ.Распознаются линейно ограниченными автоматами.Тип 2 — контекстно-свободные: A→ β.Распознаются недетерминированными автоматами смагазинной памятью.Тип 3 — регулярные: A→ ε, A→ a и A→ aB.Распознаются конечными автоматами.

Здесь A,B ∈ N , a ∈ Σ, α, β, γ ∈ (N ∪ Σ)∗.

Page 120: 20131022 зобнин

Контекстно-свободные языки

Распознаются недетерминированными конечнымиавтоматами с магазинной памятью (pushdownautomaton, PDA).

Нисходящий анализ (top-down): правила раскрываются,начиная со стартового символа.

Восходящий анализ (bottom-up): построение дереваснизу вверх.

Page 121: 20131022 зобнин

Нормальная форма Хомского

Все правила должны иметь вид

A → BC, илиA → a, илиS → ε.

Как привести произвольную контекстно-свободнуюграмматику к нормальной форме Хомского?

Page 122: 20131022 зобнин

Нормальная форма Хомского

Все правила должны иметь вид

A → BC, илиA → a, илиS → ε.

Как привести произвольную контекстно-свободнуюграмматику к нормальной форме Хомского?

Page 123: 20131022 зобнин

Алгоритм Cocke-Younger-Kasami

c[i, j] — список правил, из которых можно вывести частьпредложения words[i : j].

for j from 1 to len(words):c[j − 1, j]← {A |A→ words[j] ∈ grammar}for i from j − 2 downto 0:

for k from i+ 1 to j − 1:c[i, j]← c[i, j] ∪{A |A→ BC ∈ grammar, B ∈ c[i, k], C ∈ c[k, j]}

return table

Page 124: 20131022 зобнин

Другие подходы

– LR-парсер (Д. Кнут, 1965): детерминированныеконтекстно-свободные грамматики;

– GLR-парсер (М. Томита, 1985): обобщение нанедетерминированные языки.

http://api.yandex.ru/tomita

Page 125: 20131022 зобнин

Другие подходы

– LR-парсер (Д. Кнут, 1965): детерминированныеконтекстно-свободные грамматики;

– GLR-парсер (М. Томита, 1985): обобщение нанедетерминированные языки.

http://api.yandex.ru/tomita

Page 126: 20131022 зобнин

Другие подходы

– LR-парсер (Д. Кнут, 1965): детерминированныеконтекстно-свободные грамматики;

– GLR-парсер (М. Томита, 1985): обобщение нанедетерминированные языки.

http://api.yandex.ru/tomita

Page 127: 20131022 зобнин

Дополнительные материалы

1. D. Jurafsky, J. Martin.Speech and Language Processing.

2. К. Маннинг, П. Рагван, Х. Шютце.Введение в информационный поиск.

3. Искусство понимать с полуслова. Расширениезапроса в Яндексе.http://habrahabr.ru/company/yandex/blog/187404/

4. Распознавание речи от Яндекса. Под капотому Yandex.Speechkit.http://habrahabr.ru/company/yandex/blog/198556/