Математические методы анализа текстов (ВМиК МГУ) / 2017
Материал из MachineLearning.
 
  | 
Курс посвящен методам анализа текстов на основе статистики и машинного обучения.
Курс читается магистрам 1го года кафедры «Математические методы прогнозирования» ВМК МГУ, а также всем желающим.
Обработка естественного языка (Natural Language Processing) - широкая область на стыке лингвистики и компьютерных технологий. Сегодня здесь решается огромное число задач, например, классификация текстов, определение тональности, машинный перевод, распознавание речи, обработка запросов в поиске. В ходе курса слушатели познакомятся с основными методами и применят их на практике.
Контакты
- Лекции проходят по пятницам в 16.20 в ауд. 609. Семинары проходят по понедельникам в 12.15 в ауд. 882.
 - Лектор: Виктор Китов
 - Семинаристы: Анна Потапенко, Мурат Апишев
 - Почта курса: nlp.msu@gmail.com.
 - Здесь вы в любой момент можете оставить анонимный отзыв или предложение.
 
Правила игры
- Оценка за курс: 70% домашние работы + 30% экзамен. Точные критерии будут опубликованы позднее.
 -  Виды активностей:
- Практические работы (ориентировочно 4 задания)
 - Конкурс на Kaggle в рамках группы
 - Разбор научной статьи в области NLP (выступление или реферат)
 
 - Практические задания выполняются на языке Python с использованием внешних библиотеки. Помимо кода ожидается отчет c подробными выводами. Задания, присланные позже дедлайнов, не принимаются. При обнаружении плагиата все участники получают 0 баллов.
 - Выбрать статью для разбора можно самому (и написать об этом на почту курса!) или взять одну из списка (будет пополняться).
 
Программа курса
-  Предварительная обработка текста 
- Токенизация, лемматизация, выделение коллокаций, регулярные выражения
 
 -  Модели для работы с последовательностями 
- Скрытая марковская модель, модели максимальной энтропии и условные случайные поля
 - Применение в задачах определения частей речи, выделения именованных сущностей, снятия омонимии.
 
 - Синтаксический анализ
 - Классификация текстов
 -  Вероятностные модели
- Модель языка, N-граммы, сглаживание, концепция шумного канала
 - Применение в задачах исправления опечаток и машинного перевода
 
 - Глубокие нейронные сети в анализе текстов.
 - Тематические модели, дистрибутивная семантика, векторные представления слов.
 - Онтологии, тезаурусы, выделение семантических связей. Работа с википедией.
 - Определение тональности текстов.
 
Домашние задания
Внимание: необходимо выбрать статью для разбора и написать об этом на почту курса!
| Дедлайн | Баллы | Тема | Материалы | Дополнительно | |
|---|---|---|---|---|---|
| Лабораторная 1 | 13.03.2017 (9.00 MSK) | 10 баллов |  Определение частей речи и
 выделение именованных сущностей.  | Ipython-ноутбук с заданием. |  Английский датасет для NER
 можно взять из CoNLL любого года.  | 
| Лабораторная 2 | 27.03.2017 (9.00 MSK) | 10 баллов | Языковое моделирование и распознавание языка. | Задание и данные. | |
| Лабораторная 3 | 10.04.2017 (9.00 MSK) | 10 баллов + 5 бонусных | Задача выравнивания в машинном переводе. | Задание и данные. | Задание творческое, читайте заметки и экспериментируйте! | 
| Конкурс | 03.04.2017 для бейзлайна, 24.04.2017 финальный (9.00 MSK) | 5 за преодоление бейзлайна + 20-25-30 за призовые места. | Предсказание тегов для документов. | Конкурс | Смотрите материалы семинара от 20 марта. | 
| Лабораторная 4 | 08.05.2017 (9.00 MSK) | 10 баллов + 5 бонусных | Тематическое моделирование и сентимент-анализ. | Задание Данные | |
| Разбор статьи | Материалы должны отправлены за день до семинара с разбором, но не позднее 10.05.2017 (9.00 MSK) | 10 за реферат + 5 за выступление (по желанию) | Современные подходы в задачах NLP. | Распределение. | Реферат на 3-5 страниц, по которому понятно, что вы разобрались в методе и результатах. Выступление со слайдами на 10-15 минут, полезное для аудитории. | 
Лекции
| Дата | Тема | Материалы | Дополнительно | |
|---|---|---|---|---|
| Лекция 1 | 10.02.2017 | Токенизация. Коллокации. Регулярные выражения. | Презентация | Глава книги | 
| Лекция 2 | 17.02.2017 | Морфологический анализ. Скрытая марковская модель. | Презентация 1 | Глава книги | 
| Лекция 3 | 03.03.2017 | Морфологический анализ. MEMM модель. | Презентация | Глава книги | 
| Лекция 4 | 10.03.2017 | Классификация текстов и отбор признаков. | Презентация | |
| Лекция 5 | 17.03.2017 | Снижение размерности. | Презентация | |
| Расстояние Левенштейна. | Презентация | Глава книги | ||
| Синтаксический разбор. | Презентация | Глава книги | ||
| Лекция 6 | 24.03.2017 | Исправление опечаток, N-граммы. | Презентация | Глава книги | 
| Лекция 7 | 31.03.2017 | Вероятностное тематическое моделирование, часть 1. | Презентация | |
| Лекция 8 | 07.04.2017 | Вероятностное тематическое моделирование, часть 2. | Презентация | |
| Лекция 9 | 14.04.2017 | Работа со смыслами слов. | Презентация | Глава книги | 
| Лекция 10 | 21.04.2017 | Кластеризация. | Презентация | Статья | 
| Лекция 11 | 28.04.2017 | Анализ субъективности. | Презентация | Глава книги | 
| Лекция 12 | 05.05.2017 | Моделирование упорядоченных классов. | Презентация | |
| Нелинейное снижение размерности. | Презентация | |||
| Лекция 13 | 12.05.2017 | Извлечение информации. | Презентация | Глава книги | 
| Оценка качества кластеризации. | Презентация | |||
| Отбор признаков для кластеризации. | Презентация | |||
| Лекция 14 | 19.05.2017 | Методы автоматических ответов на вопросы. | Презентация | 
Семинары
| Дата | Тема | Материалы | Дополнительно | |
|---|---|---|---|---|
| Семинар 1 | 13.02.2017 | Правила курса, предобработка и векторизация текстов, применение. | Презентация | |
| Семинар 2 | 20.02.2017 | Модели для разметки последовательностей, прикладные задачи. | Презентация | Хороший обзор | 
| Семинар 3 | 06.03.2017 | Языковое моделирование и машинный перевод. | Материалы семинара | |
| Семинар 4 | 13.03.2017 | Орг-вопросы, EM-алгоритм, задача выравнивания в машинном переводе. | Материалы семинара | |
| Семинар 5 | 20.03.2017 | Выдача конкурса: Vowpal Wabbit, Hashing Trick, Bleding/Stacking. NLP-ресурсы. | Слайды | Ноутбук | 
| Семинар 6 | 27.03.2017 | Введение в глубокие нейронные сети, RNN, LSTM, GRU. | Слайды | |
| Семинар 7 | 03.04.2017 | Neural Conversational Models. | Слайды | |
| Семинар 8 | 10.04.2017 | Векторные представления слов и документов, доклады. | Презентация | |
| Семинар 9 | 17.04.2017 | Доклады. | ||
| Семинар 10 | 24.04.2017 | Тематическое моделирование. Анализ тональности текстов. | Презентация | 
Текущие результаты
| Студенты | Лабораторная №1 | Лабораторная №2 | Лабораторная №3 | Лабораторная №4 | Конкурс | Реферат | Итог | 
|---|---|---|---|---|---|---|---|
| Амелин Владислав | 2.8 | 6.0 | 7.0 | 7.0 (+2.0) | 5.0 (+25.0) | 7.0 | 62 | 
| Андрейцев Антон | 8.2 | 3.2 | 1.0 | 8.2 (-1.0) | 5.0 | 10.0 | 35 | 
| Викулин Всеволод | 10.0 | 10.0 | 9.0 | 10.0 (+2.0) | 5.0 | 10.0 (+5.0) | 61 | 
| Гетоева Аида | 0.0 | 0.0 | 7.0 | 9.0 | 0.0 | 10.0 | 26 | 
| Журавлёв Вадим | 10.0 | 10.0 | 9.0 | 10 (+2.0) | 5.0 | 9.0 | 55 | 
| Иванов Олег | 10.0 | 10.0 | 10.0 (+2.0) | 8.5 (+1.0) | 5.0 | 10.0 (+3.0) | 60 | 
| Камалов Руслан | 10.0 | 10.0 | 7.0 | 0.0 | 5.0 | 9.0 | 41 | 
| Оспанов Аят | 10.0 | 10.0 | 8.0 | 10.0 (+4.0) | 5.0 | 10.0 | 57 | 
| Попов Николай | 10.0 | 10.0 | 8.0 | 0.0 | 5.0 | 0.0 | 33 | 
| Романов Никита | 10.0 | 10.0 | 10.0 | 0.0 | 5.0 (+20.0) | 0.0 | 55 | 
| Рысьмятова Анастасия | 10.0 | 10.0 | 10.0 (+4.0) | 0.0 | 5.0 (+30.0) | 10.0 (+5.0) | 84 | 
| Садекова Таснима | 2.5 | 8.6 | 9.0 | 6.2 | 5.0 | 10.0 (+5.0) | 46 | 
| Стёпина Александра | 3.1 | 6.8 | 9.0 | 10.0 | 5.0 | 9.0 (+4.0) | 47 | 
| Тлеубаев Адиль | 4.0 | 10.0 | 6.0 | 10.0 (+1.0) | 5.0 | 8.0 (+1.0) | 45 | 
| Чиркова Надежда | 10.0 | 10.0 | 10.0 | 10.0 (+5.0) | 5.0 | 10.0 (+5.0) | 65 | 
| Шаповалов Никита | 10.0 | 10.0 | 0.0 | 6.5 (+3.0) | 5.0 | 10.0 (+2.0) | 47 | 
Материалы по курсу
Литература
Speech and Language Processing. Dan Jurafsky and James H. Martin. 2-nd edition. 2009.
Natural Language Processing with Python. Stewen Bird et. al. 2-nd edition. 2016.
Juravsky, Manning - Video lectures on natural language processing.
Питон и библиотеки
- Anaconda - дистрибутив питона с предустановленными научными библиотеками
 - A Crash Course in Python for Scientists
 - Numpy
 - Matplotlib
 - Scipy Lecture Notes
 - Pandas
 - Scikit-learn
 

