Часть 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)