Математические методы анализа текстов (ВМиК МГУ) / 2017
Материал из MachineLearning.
|
Курс посвящен методам анализа текстов на основе статистики и машинного обучения.
Курс читается магистрам 1го года кафедры «Математические методы прогнозирования» ВМК МГУ, а также всем желающим.
Обработка естественного языка (Natural Language Processing) - широкая область на стыке лингвистики и компьютерных технологий. Сегодня здесь решается огромное число задач, например, классификация текстов, определение тональности, машинный перевод, распознавание речи, обработка запросов в поиске. В ходе курса слушатели познакомятся с основными методами и применят их на практике.
Контакты
- Лекции проходят по пятницам в 16.20 в ауд. 609. Семинары проходят по понедельникам в 12.15 в ауд. 882.
- Лектор: Виктор Китов
- Семинаристы: Анна Потапенко, Мурат Апишев
- Почта курса: nlp.msu@gmail.com.
- Здесь вы в любой момент можете оставить анонимный отзыв или предложение.
Правила игры
- Оценка за курс: за семестровую работу можно получить до 70 баллов (без учёта призовых баллов конкурса), на экзамене - 30 баллов (10 за тройку, 20 за четвёрку и 30 за пятёрку). Итоговая оценку за курс определяется следующей шкалой: 40+ баллов = 3, 60+ баллов = 4, 80+ баллов = 5. Автоматом ставится только оценка 5.
- Виды активностей:
- Практические работы (ориентировочно 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
Презентация 2 — обновление 07.06.2017 | Глава книги |
Лекция 3 | 03.03.2017 | Морфологический анализ. MEMM модель. | Презентация — обновление 07.06.2017 | Глава книги |
Лекция 4 | 10.03.2017 | Классификация текстов и отбор признаков. | Презентация — обновление 07.06.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 | 5.0 | 7.0 | 9.0 | 0.0 | 10.0 | 31 |
Журавлёв Вадим | 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) | 10.0 | 65 |
Рысьмятова Анастасия | 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