N-граммы. Моделирование локального контекста

advertisement
Часть II
Последовательности
КМАТ 04
N-граммы. Моделирование локального
контекста
Компьютерные методы анализа текста
Кирилл Александрович Маслинский
НИУ ВШЭ Санкт-Петербург
14.02.2014 / 04
КМАТ 04
Outline
Контекст
Предсказание слова
Модель контекста: N-граммы
Языковая модель
Вероятность языковых событий
Цепь Маркова
N-граммные языковые модели
Применения N-граммных моделей
Классификация: Определение языка
Снятие неоднозначности
КМАТ 04
Контекст
Предсказание слова
Outline
Контекст
Предсказание слова
Модель контекста: N-граммы
Языковая модель
Вероятность языковых событий
Цепь Маркова
N-граммные языковые модели
Применения N-граммных моделей
Классификация: Определение языка
Снятие неоднозначности
КМАТ 04
Контекст
Предсказание слова
Эксперимент
Для начала проведем небольшой эксперимент
КМАТ 04
Контекст
Предсказание слова
Предсказание слова
сегодняшний ...?
КМАТ 04
Контекст
Предсказание слова
Предсказание слова
сегодняшний день?
КМАТ 04
Контекст
Предсказание слова
Условная вероятность
P(B|A) =
P(день|сегодняшний) =
P(B ∩ A)
P(A)
(1)
f (сегодняшний день)
12
=
= 0.75
f (сегодняшний)
18
(2)
КМАТ 04
Контекст
Модель контекста: N-граммы
Outline
Контекст
Предсказание слова
Модель контекста: N-граммы
Языковая модель
Вероятность языковых событий
Цепь Маркова
N-граммные языковые модели
Применения N-граммных моделей
Классификация: Определение языка
Снятие неоднозначности
КМАТ 04
Контекст
Модель контекста: N-граммы
N-граммы
N последовательно стоящих друг за другом слов.
Униграммы
Восторг внезапный ум пленил .
Биграммы
Восторг внезапный ум пленил <.>
Триграммы
<s> Восторг внезапный ум пленил <.>
КМАТ 04
Контекст
Модель контекста: N-граммы
N-граммы
N последовательно стоящих друг за другом слов.
Униграммы
Восторг внезапный ум пленил .
Биграммы
Восторг внезапный ум пленил <.>
Триграммы
<s> Восторг внезапный ум пленил <.>
КМАТ 04
Контекст
Модель контекста: N-граммы
N-граммы
N последовательно стоящих друг за другом слов.
Униграммы
Восторг внезапный ум пленил .
Биграммы
Восторг внезапный ум пленил <.>
Триграммы
<s> Восторг внезапный ум пленил <.>
КМАТ 04
Контекст
Модель контекста: N-граммы
N-граммы
N последовательно стоящих друг за другом слов.
Униграммы
Восторг внезапный ум пленил .
Биграммы
Восторг внезапный ум пленил <.>
Триграммы
<s> Восторг внезапный ум пленил <.>
КМАТ 04
Контекст
Модель контекста: N-граммы
N-граммы
N последовательно стоящих друг за другом слов.
Униграммы
Восторг внезапный ум пленил .
Биграммы
Восторг внезапный ум пленил <.>
Триграммы
<s> Восторг внезапный ум пленил <.>
КМАТ 04
Контекст
Модель контекста: N-граммы
Скользящее окно
Марков использовал новое понятие для статистического
анализа распределения букв в знаменитой поэме Пушкина
«Евгений Онегин».
I
статистического анализа
I
статистического распределения
I
статистического букв
I
анализа распределения
I
анализа букв
I
распределения букв
КМАТ 04
Контекст
Модель контекста: N-граммы
Скользящее окно
Марков использовал новое понятие для статистического
анализа распределения букв в знаменитой поэме Пушкина
«Евгений Онегин».
I
поэме Пушкина
I
поэме Евгений
I
поэме Онегин
I
Пушкина Евгений
I
Пушкина Онегин
I
Евгений Онегин
КМАТ 04
Языковая модель
Вероятность языковых событий
Outline
Контекст
Предсказание слова
Модель контекста: N-граммы
Языковая модель
Вероятность языковых событий
Цепь Маркова
N-граммные языковые модели
Применения N-граммных моделей
Классификация: Определение языка
Снятие неоднозначности
КМАТ 04
Языковая модель
Вероятность языковых событий
Вероятность языковых событий
I
Вероятность основана на подсчете событий (частотность)
I
В лингвистике считаем события в корпусе
I
вероятность = относительная частотность
Пример расчета вероятности слова
Всего слов в корпусе = 411165
воскресенье = сегодняшний = 17
Pвоскресенье = Pсегодняшний =
17
= 0.00004
411165
Maximum Likelihood Estimation, MLE Принцип максимального
правдоподобия
КМАТ 04
Языковая модель
Вероятность языковых событий
Language model
Языковая модель — приписывает вероятность фрагменту
текста (высказыванию, предложению...)
Иными словами:
I
максимизирует вероятность реальных текстов
I
минимизирует вероятность нереальных текстов
При наличии омонимии позволяет выбрать более вероятный
вариант.
КМАТ 04
Языковая модель
Цепь Маркова
Outline
Контекст
Предсказание слова
Модель контекста: N-граммы
Языковая модель
Вероятность языковых событий
Цепь Маркова
N-граммные языковые модели
Применения N-граммных моделей
Классификация: Определение языка
Снятие неоднозначности
КМАТ 04
Языковая модель
Цепь Маркова
Цепь Маркова
I
система с конечным числом
состояний
I
следующее состояние зависит
только от N предыдущих
Применительно к тексту:
Следующее слово зависит только
от предыдущего (N предыдущих)
КМАТ 04
Языковая модель
N-граммные языковые модели
Outline
Контекст
Предсказание слова
Модель контекста: N-граммы
Языковая модель
Вероятность языковых событий
Цепь Маркова
N-граммные языковые модели
Применения N-граммных моделей
Классификация: Определение языка
Снятие неоднозначности
КМАТ 04
Языковая модель
N-граммные языковые модели
Вероятность предложения
P=
f (На сегодняшний день это)
=
f (W1 W2 W3 W4 )
1
= 2 × 10−6
480051
КМАТ 04
Языковая модель
N-граммные языковые модели
Вероятность независимых событий
Независимые события — наступление одного не изменяет
вероятности другого.
P(B|A) = P(A) |B > 0
(3)
P(B ∩ A) = P(A) · P(B)
(4)
КМАТ 04
Языковая модель
N-граммные языковые модели
Униграммная языковая модель
На479 сегодняшний32 день201 это2904
479
32
201
2904
·
·
·
= 1.68 × 10−13
480051 480051 480051 480051
КМАТ 04
Языковая модель
N-граммные языковые модели
Биграммная языковая модель
Markov assumption:
P(На сегодняшний день это) ≈
P(это|день) · P(день|сегодняшний) · P(сегодняшний|на) =
2 24 21
·
·
= 2.05 × 10−5 = 0.0000205
201 32 7618
КМАТ 04
Языковая модель
N-граммные языковые модели
Триграммная языковая модель
P(На сегодняшний день это) ≈
P(это|сегодняшний день) · P(день|на сегодняшний) =
1 17
·
= 3.37 × 10−2 = 0.037
24 21
КМАТ 04
Применения N-граммных моделей
Классификация: Определение языка
Outline
Контекст
Предсказание слова
Модель контекста: N-граммы
Языковая модель
Вероятность языковых событий
Цепь Маркова
N-граммные языковые модели
Применения N-граммных моделей
Классификация: Определение языка
Снятие неоднозначности
КМАТ 04
Применения N-граммных моделей
Классификация: Определение языка
Идея классификации с помощью языковых моделей
Задача
Определить язык текста (выбрать из известных языков)
Идея
Языковые модели текстов на одном языке будут похожи.
КМАТ 04
Применения N-граммных моделей
Классификация: Определение языка
Текст как список n-грамм букв
в общем
I
bi-grams: _в, в_, _о, об, бщ, ще, ем, м_
I
tri-grams: _в_, в_ _, _об, общ, бще, щем, ем_, м_ _
I
quad-grams: _в_ _, в _ _ _, _общ, обще, бщем, щем_,
ем_ _, м_ _ _
КМАТ 04
Применения N-граммных моделей
Классификация: Определение языка
Зашумленные источники
(независимо от причин ошибок: опечатки, вариативность, OCR)
вообщем
I
bi-grams: _в, во, oо, об, бщ, ще, ем, м_
I
tri-grams: _во, воо, ооб, общ, бще, щем, ем_, м_ _
I
quad-grams: _воо, вооб, ообщ, обще, бщем, щем_, ем_ _,
м_ _ _
КМАТ 04
Применения N-граммных моделей
Классификация: Определение языка
Бесплатный стемминг!
(независимо от языка — если алфавитная письменность)
в общем
I
bi-grams: _в, в_, _о, об, бщ, ще, ем, м_
I
tri-grams: _в_, в_ _, _об, общ, бще, щем, ем_, м_ _
I
quad-grams: _в_ _, в _ _ _, _общ, обще, бщем, щем_,
ем_ _, м_ _ _
КМАТ 04
Применения N-граммных моделей
Классификация: Определение языка
Определение языка по методу N-грамм
Cavnar, Trenkle 1994
I
Языковая модель (N-граммный профиль):
1. Составить отсортированный по частотности список
n-грамм букв (от 1-грамм до 5-грамм в общем списке)
2. Отсечь список (первые 400 частотных n-грамм)
I
Метод:
1. Построить N-граммные профили на основе корпусов
текстов для всех языков, которые нужно различать
2. Построить модель для документа, язык которого нужно
определить
3. Сравнить получившуюся модель документа с моделями
всех языков
4. Выбрать язык, для которого расстояние между профилями
документа и языка минимально
Точность ≈ 98%!
КМАТ 04
Применения N-граммных моделей
Классификация: Определение языка
Определение языка по методу N-грамм
Cavnar, Trenkle 1994
I
Языковая модель (N-граммный профиль):
1. Составить отсортированный по частотности список
n-грамм букв (от 1-грамм до 5-грамм в общем списке)
2. Отсечь список (первые 400 частотных n-грамм)
I
Метод:
1. Построить N-граммные профили на основе корпусов
текстов для всех языков, которые нужно различать
2. Построить модель для документа, язык которого нужно
определить
3. Сравнить получившуюся модель документа с моделями
всех языков
4. Выбрать язык, для которого расстояние между профилями
документа и языка минимально
Точность ≈ 98%!
КМАТ 04
Применения N-граммных моделей
Классификация: Определение языка
Сравнение N-граммных профилей
Out-of-place metric (Cavnar, Trenkle 1994)
TH
ER
ON
LE
ING
AND
TH
ING
ON
ER
AND
ED
0
3
0
2
1
no-match = max (100)
106 = distance measure
КМАТ 04
Применения N-граммных моделей
Классификация: Определение языка
Сравнение N-граммных профилей
Out-of-place metric (Cavnar, Trenkle 1994)
TH
ER
ON
LE
ING
AND
TH
ING
ON
ER
AND
ED
0
3
0
2
1
no-match = max (100)
106 = distance measure
КМАТ 04
Применения N-граммных моделей
Классификация: Определение языка
Сравнение N-граммных профилей
Out-of-place metric (Cavnar, Trenkle 1994)
TH
ER
ON
LE
ING
AND
TH
ING
ON
ER
AND
ED
0
3
0
2
1
no-match = max (100)
106 = distance measure
КМАТ 04
Применения N-граммных моделей
Классификация: Определение языка
Сравнение N-граммных профилей
Out-of-place metric (Cavnar, Trenkle 1994)
TH
ER
ON
LE
ING
AND
TH
ING
ON
ER
AND
ED
0
3
0
2
1
no-match = max (100)
106 = distance measure
КМАТ 04
Применения N-граммных моделей
Классификация: Определение языка
Ранги n-грамм по частотности
I
до 300 ранга — язык:
I
I
I
I
частотное распределение букв в языке
короткие и частотные грамматические слова
наиболее частотные префиксы и суффиксы
после 300 рагна — лексика и предметная область:
I
наиболее частотные корни/слова
КМАТ 04
Применения N-граммных моделей
Снятие неоднозначности
Outline
Контекст
Предсказание слова
Модель контекста: N-граммы
Языковая модель
Вероятность языковых событий
Цепь Маркова
N-граммные языковые модели
Применения N-граммных моделей
Классификация: Определение языка
Снятие неоднозначности
КМАТ 04
Применения N-граммных моделей
Снятие неоднозначности
N-граммы в задачах снятия неоднозначности
Снятие неоднозначности (disambiguation) на разных уровнях:
I
Определение частей речи (part of speech tagging)
I
Снятие лексической омонимии (word sense disambiguation)
I
Выбор варианта синтаксического разбора (syntactic
disambiguation)
I
и т.п.
КМАТ 04
Применения N-граммных моделей
Снятие неоднозначности
Part of speech tagging
То же касается отстегивания от России кавказского грузила.
То/SPRO/APRO/PART/CONJ же/PART/CONJ касается/V
отстегивания/S от/PR России/S кавказского/A грузила/V/S.
КМАТ 04
Применения N-граммных моделей
Снятие неоднозначности
Part of speech tagging
То/SPRO же/CONJ касается/V отстегивания/S от/PR
России/S кавказского/A грузила/V=грузить.
КМАТ 04
Применения N-граммных моделей
Снятие неоднозначности
Part of speech tagging
То/SPRO же/CONJ касается/V отстегивания/S от/PR
России/S кавказского/A грузила/S=грузило.
КМАТ 04
Применения N-граммных моделей
Снятие неоднозначности
TnT: N-gram PoS tagging
Brants, 2000
от/PR России/S кавказского/A грузила/V
Pгрузила=V = P(V |S, A)P(грузила|V ) =
от/PR России/S кавказского/A грузила/S
Pгрузила=S = P(S|S, A)P(грузила|S)
= (𝜆1 P(S) + 𝜆2 P(S|A) + 𝜆3 P(S|S, A)) P(грузила|S)
(︂
)︂
S
f (A, S)
f (S, A, S) f (грузила,S)
= 𝜆1 + 𝜆2
+ 𝜆3
N
f (S)
f (S, A)
f (S)
КМАТ 04
Применения N-граммных моделей
Снятие неоднозначности
TnT: N-gram PoS tagging
Brants, 2000
от/PR России/S кавказского/A грузила/V
Pгрузила=V = P(V |S, A)P(грузила|V ) =
от/PR России/S кавказского/A грузила/S
Pгрузила=S = P(S|S, A)P(грузила|S)
= (𝜆1 P(S) + 𝜆2 P(S|A) + 𝜆3 P(S|S, A)) P(грузила|S)
(︂
)︂
f (A, S)
f (S, A, S) f (грузила,S)
S
+ 𝜆3
= 𝜆1 + 𝜆2
N
f (S)
f (S, A)
f (S)
Download