Слайд 1Лингвистика для математиков
Нормализация текста 2 + Коллокации
Слайд 2Домашка до 13 фев
tg @annaklezovich
anna.klezovich@yandex.ru
дедлайн кродеться
Слайд 3Домашнее задание (оцениваемое)
Напишите правила для своей ELIZA, но с
каким-то другим концептом, не психолога :)
паттерн описанный регуляркой у собеседника
+ ответная реплика ELIZA тоже описанная регуляркой. Помните, что \1 так обозначается сгруппированная информация из сообщения собеседника. То, что у него в скобочках (). Если скобочек в регулярке собеседника несколько, то сгруппированную из них информацию в ответе ELIZA можно последовательно обозначать \1, \2 и т.д.
Например:
Я: Мне очень грустно и я хочу есть = [Мм]не (.*) и я? хочу (.*)
ELIZA: Может, тебе очень грустно из-за того, что ты хочешь есть? = Может, тебе \1 из-за того, что ты хочешь \2?
Слайд 4Recap
Алгоритмы для исправления опечаток - approximate string matching
Формальные языки →
формальные грамматики → регулярные языки
Регулярные выражения
Токенизация и алгоритмы для
токенизации
Тема: Нормализация текстов:
our progress bar
. . .
Лемматизация + стемминг
Слайд 5Токенизация последнее
Что же делать с 기반으로 и с 唯一的看点大?
SentencePiece (2018)
https://medium.com/the-artificial-impostor/nlp-using-sentencepiece-without-pretokenization-3f2c8786cd95
Слайд 6Лемматизация и стемминг
Стемминг -- лемматизация для бедных
Потому что просто отрубаем
окончания на основе какого-то общего абстрактного алгоритма, лемматизация же больше
учитывает морфологию
Слайд 7The Porter stemmer
Алгоритм Портера для выделения основы помогает отделять аффиксы
от основы слова
Слайд 8Стеммер Портера
Каскадные правила, пример:
Слайд 9Стемминг
Ошибки в стеммерах…
Выгодно применять только в рамках одной леммы
Лемматизация же
отталкивается больше от морфологии и контекста
Слайд 10Разделение на предложения
По сути ищем знаки препинания с помощью регулярных
выражений
Mr. \ a.m. и т.д. -- Что делать со знаками
препинания внутри слов?
Считать ли клаузу предложением? Аналогичная проблема как с определением термина слово
Слайд 11Разделения на предложения
E O S = end of sentence
Алгоритм decision
tree
Как выбирать параметры?
Machine learning
Слайд 17Нарушения композициональности
Принятая классификация для английского языка с примерами:
Слайд 22Виды коллокаций
Грамматические: come to, fond of, afraid of, put on
…
Семантические: разрешены некоторые синонимы (но не все)
Нефиксированные: find/discover/notice
by chance
Слайд 24Автоматическое выделение коллокаций
наиболее частотные пары слов? -- это будут
не коллокации, а free-word combinations
а что если удалить все стоп
слова?
а что если отталкиваться от частей речи (base - collocator)?
Всё нет! :(
Слайд 25Критерии по извлечению коллокаций
коэффициент Mutual Information
коэффициент Yule
Слайд 26Mutual Information / Взаимная информация
Представьте, что наши слова - это
передатчик и приемник, соединенные проводом, и между ними передается какая-то
информация
Слайд 27Mutual Information / Взаимная информация
Мы говорим, что коллокации - это:
последовательность
слов, частотность которой существенно выше, чем была бы в предположении
о независимости этих слов.
то есть с(x;y) >> c(x)c(y)
Слайд 28Mutual Information / Взаимная информация
Мы говорим, что коллокации - это:
последовательность
слов, частотность которой существенно выше, чем была бы в предположении
о независимости этих слов.
то есть с(x;y) >> c(x)c(y)
Тогда чтобы вычислить коллокация это или нет мы должны применить формулу взаимной информации, которая используется для любых
Слайд 30Автоматическое выделение коллокаций
Коэффициент Yule
Слайд 31Автоматическое выделение коллокаций
Коэффициент Yule
Слайд 32Автоматическое выделение коллокаций
Насколько они разрежены? Могут ли другие слова вставляться
между ключевыми словами в коллокации?
Разреженность разных коллокаций в рамках
одного языка может сильно отличаться
Слайд 33Практика SketchEngine
https://app.sketchengine.eu/
Сначала надо зарегистрироваться
Слайд 34enTenTen15 если не указано иного
Сравните коэффициент MI (взаимной информации) для
коллокации computational linguistics в обычном английском корпусе и корпусе ACL.
Соответствует ли результат вашим ожиданиям?
Слайд 35enTenTen15 если не указано иного
Сделайте случайную выборку из 10 предложений
со словом computational или словом linguistics на корпусе ACL и
посчитайте на ней коэффициент Yule для коллокации computational linguistics (Не обращайте внимания на заглавность букв)
Проинтерпретируйте результат. Проверьте себя.
Слайд 36N-граммы
Более обобщенное определение коллокаций
Слайд 37Для чего нужно определение N-граммов?
ведь это это не то же
самое, что коллокации. Мы ничего не говорим априори про частотность
последовательностей.
для задач генерации текстов
Слайд 38Генерация текстов
осуществляется с помощью языковых моделей
языковые модели работают на определении
вероятности возникновения того или иного слова при каком-то условии
Слайд 42Генерация текстов
По какой формуле мы вычисляем вероятность какой-то последовательности?
Допущение:
Слайд 43Генерация текстов
То есть вместо того, чтобы считать что-то такое для
каждого последующего члена:
мы считаем что-то такое:
Слайд 44Генерация текстов
Предположим, у нас есть корпус
Какие проблемы с таким расчетом?
Слайд 45Генерация текстов
Учитываем, что какие-то слова с большей вероятностью встречаются в
начале предложения
Всё еще чего-то не хватает!!
Слайд 46Генерация текстов
Нормализация вероятностей последовательностей сейчас идет в рамках биграмов, триграмов
и т.д. отдельно.
То есть НЕ зависит от длины последовательности
Слайд 47Генерация текстов
Учитываем вероятность того, что после какого-то слова будет окончание
последовательности
То есть окончание коллокации/биграмма/триграмма/предложения…
Теперь “окончание предложения” - это тоже токен,
условную вероятность которого нужно вычислить
Слайд 53Пример
Пусть у нас есть корпус из 9222 предложений на английском
языке
Слайд 54Пример
Известна частотность слов самих по себе - то есть частотность
униграммов
Посчитайте c помощью биграммов вероятность предложения
I want chinese food
Слайд 55Пример
Начать надо с этой таблицы
Слайд 57Для чего еще могут понадобится N-граммы?
contextual spelling correction:
I think they’re
okay
I think there okay
I think their okay
выделение темы текста /
Topic modeling
машинный перевод
Слайд 59Литература
SentencePiece paper. (2018). https://www.aclweb.org/anthology/D18-2012/