Математические методы анализа текстов (курс лекций) / осень 2020

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Программа курса)
(Программа курса)
(39 промежуточных версий не показаны.)
Строка 6: Строка 6:
От студентов требуются знание курса машинного обучения, основ глубинного обучения, а также языка программирования Python.
От студентов требуются знание курса машинного обучения, основ глубинного обучения, а также языка программирования Python.
 +
 +
==Объявления==
 +
 +
Нет
==Контакты==
==Контакты==
-
* Преподаватели курса: [[Участник:Vokov|Воронцов К.В.]], [[Участник:mapishev|Апишев М.А.]], [[Участник:Arti_lehtonen|Попов А.С.]], Хрыльченко К.Я.
+
* Преподаватели курса: [[Участник:Vokov|Воронцов К.В.]], [[Участник:mapishev|Апишев М.А.]], [[Участник:Arti_lehtonen|Попов А.С.]], [[Участник:KKhrylchenko| Хрыльченко К.Я.]]
* В этом семестре занятия будут проводиться онлайн в TBA
* В этом семестре занятия будут проводиться онлайн в TBA
Строка 16: Строка 20:
* Репозиторий со всеми материалами: [https://github.com/mmta-team/mmta_fall_2020 ссылка]
* Репозиторий со всеми материалами: [https://github.com/mmta-team/mmta_fall_2020 ссылка]
-
* Короткая ссылка на страницу курса: http://surl.li/exeq
+
* Видеозаписи лекций: [https://www.youtube.com/playlist?list=PLVF5PzSHILHRQO45w7fEqmy7t9xWUGfB- ссылка]
 +
 
 +
* Короткая ссылка на страницу курса: https://clck.ru/QcKga
 +
 
 +
* Постоянная ссылка для просмотра лекций в Zoom: [https://zoom.us/j/98996232770?pwd=b2hwaHJuMGhqL2kvTmZyMW1sVGgvZz09 ссылка]
==Правила сдачи курса==
==Правила сдачи курса==
-
TBA
+
* В курсе будет 5 практических задания по 10 баллов без учёта бонусов.
 +
* В конце курса — устный экзамен, оцениваемый по 10-ти балльной шкале.
 +
* По всем заданиям мягкий дедлайн, за 1 день штрафа назначается штраф 1 балл.
 +
* За любой найденный плагиат задание обнуляется у всех студентов с найденным плагиатом. При повторном обнаружении плагиата могут следовать более жёсткие санкции. Плагиатом считается явное заимствование кода у другого студента или из открытых источников без указания источника.
 +
 
 +
===Правила выставления итоговой оценки===
 +
Студенты, набравшие за практические задания больше 50 баллов, получают автоматом максимальную оценку.
 +
Для остальных итоговая оценка по 10-ти балльной шкале вычисляется по следующей формуле:
 +
 
 +
<tex>round(0.7 \times D / 5 + 0.3 \times E) \times \mathbb{I}[E >= 3] </tex>, где
 +
 
 +
<tex>D</tex> — оценка за дз, <tex>E</tex> — оценка за экзамен, <tex>round</tex> — математическое округление.
 +
 
 +
Есть дополнительные условия для получения каждой из оценок:
 +
* удовлетворительно (3, 4) — 2 сданных задания на положительную оценку
 +
* хорошо (5, 6, 7) — 3 сданных задания на положительную оценку
 +
* отлично (8, 9, 10) — 4 сданных задания на положительную оценку
===Правила сдачи экзамена ===
===Правила сдачи экзамена ===
Строка 27: Строка 51:
==Программа курса==
==Программа курса==
 +
 +
=== Лекции ===
 +
{|class = "standard"
{|class = "standard"
-
! № !! Дата !! Тема !! Материалы !! Д/З
+
! № !! Дата !! Тема !! Материалы !! Видео !! Д/З
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
-
| лекция 1
+
| 1
-
| ???
+
| 02.09
-
| Введение в область анализа текстов (Natural Language Processing).
+
| Организация курса, правила игры.
-
Обзор основных задач.
+
Введение в обработку текстов (Natural Language Processing).
 +
 
 +
Предобработка, выделение признаков и классификация .
 +
|
 +
[https://github.com/mmta-team/mmta_fall_2020/blob/master/01_intro_and_preprocessing/rules.pdf презентация (организация)]
 +
 
 +
[https://github.com/mmta-team/mmta_fall_2020/blob/master/01_intro_and_preprocessing/intro.pdf презентация (введение)]
 +
 
 +
|
 +
[https://www.youtube.com/watch?v=UryaczBaJbQ&list=PLVF5PzSHILHRQO45w7fEqmy7t9xWUGfB-&index=2&t=0s видео (организация)]
 +
 
 +
[https://www.youtube.com/watch?v=eb1GXoMQyC4&list=PLVF5PzSHILHRQO45w7fEqmy7t9xWUGfB-&index=2 видео (введение)]
-
Предобработка данных. Линейные модели классификации.
 
-
|
 
|
|
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
-
| лекция 2
+
| 2
-
| ???
+
| 09.09
| Векторные представления слов
| Векторные представления слов
-
|
+
| [https://github.com/mmta-team/mmta_fall_2020/blob/master/02_word_embeddings/word_embeddings.pdf презентация]
-
|
+
| [https://www.youtube.com/watch?v=9ny2v6-KT84&list=PLVF5PzSHILHRQO45w7fEqmy7t9xWUGfB-&index=4&t=0s видео]
 +
| [https://github.com/mmta-team/mmta_fall_2020/tree/master/tasks/01_word_embeddings задание по эмбеддингам]
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
-
| семинар
+
| 3
-
| ???
+
| 15.09
-
| Библиотека pytorch.
+
| Задача разметки последовательностей (tagging). Примеры задач.
-
|
+
-
|
+
-
<!-- Конец занятия -->
+
-
|- <!-- Новое занятие -->
+
-
| лекция 3
+
-
| ???
+
-
| Задача теггинга. Задачи POS тегирования и NER.
+
-
Модели HMM, Linear CRF.
+
Модель Linear-CRF, её упрощения и обобщения.
-
|
+
| [https://github.com/mmta-team/mmta_fall_2020/blob/master/03_tagging_crf/tagging_crf.pdf презентация]
 +
| [https://www.youtube.com/watch?v=B72No9_jSm4&feature=youtu.be видео]
|
|
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
-
| лекция 4
+
| 4
-
| ???
+
| 23.09
-
| Задача языкового моделирования. Статистические подходы её решения.
+
|
 +
Модели рекуррентных нейронных сетей: RNN, LSTM.
-
Архитектуры RNN, LSTM.
+
Применение LSTM для разметки последовательности.
-
 
+
| [https://github.com/mmta-team/mmta_fall_2020/blob/master/04_tagging_rnn/tagging_rnn.pdf слайды]
-
Применение RNN для языкового моделирования и теггинга.
+
| [https://www.youtube.com/watch?v=KlJ-lSDAkeA&list=PLVF5PzSHILHRQO45w7fEqmy7t9xWUGfB-&index=6 видео]
-
|
+
| [https://github.com/mmta-team/mmta_fall_2020/tree/master/tasks/02_tagging задание по разметке]
-
|
+
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
-
| лекция 5
+
| 5
-
| ???
+
| 30.09
| Машинный перевод. Подход Sequence-to-sequence.
| Машинный перевод. Подход Sequence-to-sequence.
Строка 83: Строка 114:
Архитектура transformer.
Архитектура transformer.
-
|
+
| [https://github.com/mmta-team/mmta_fall_2020/blob/master/05_machine_translation_transformers/machine_translation_transformers.pdf слайды]
 +
| [https://www.youtube.com/watch?v=aTCxhBNEdk0&feature=youtu.be видео]
|
|
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
-
| лекция 6
+
| 6
-
| ???
+
| 13.10
-
| Задача генерации естественного языка.
+
| Задача языкового моделирования.
-
Нейросетевые языковые модели. Модель GPT и её модификации.
+
Статистические и нейросетевые языковые модели.
-
|
+
 
 +
Задача генерации естественного языка.
 +
 
 +
| [https://github.com/mmta-team/mmta_fall_2020/blob/master/06_language_modeling/lm_slides.pdf слайды]
 +
| [https://www.youtube.com/watch?v=ME0nfTyT0cw&list=PLVF5PzSHILHRQO45w7fEqmy7t9xWUGfB-&index=9 видео]
|
|
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
-
| лекция 7
+
| 7
-
| ???
+
| 20.10
-
| Transfer learning в NLP.
+
| Контекстуальные векторные представления слов.
 +
 
 +
Transfer learning в NLP.
Модель BERT и её модификации.
Модель BERT и её модификации.
|
|
 +
| [https://www.youtube.com/watch?v=_WBbB4RVe60&list=PLVF5PzSHILHRQO45w7fEqmy7t9xWUGfB-&index=10 видео]
|
|
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
-
| лекция 8
+
| 8
| ???
| ???
| Задача классификации текстов.
| Задача классификации текстов.
Строка 111: Строка 150:
Дизайн индустриальной ML-системы.
Дизайн индустриальной ML-системы.
|
|
 +
|
|
|
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
-
| лекция 9
+
| 9
| ???
| ???
| Тематическое моделирование и тематический поиск.
| Тематическое моделирование и тематический поиск.
|
|
 +
|
|
|
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
-
| лекция 10
+
| 10
| ???
| ???
| Синтаксический разбор и его применение в практических задачах.
| Синтаксический разбор и его применение в практических задачах.
|
|
 +
|
|
|
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
-
| лекция 11
+
| 11
| ???
| ???
-
| NLP в рекомендательных системах.
+
| Информационный поиск.
 +
 
 +
NLP в рекомендательных системах.
|
|
 +
|
|
|
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
-
| лекция 12
+
| 12
| ???
| ???
| Диалоговые и вопросно-ответные системы.
| Диалоговые и вопросно-ответные системы.
|
|
 +
|
|
|
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
-
| лекция 13
+
| 13
| ???
| ???
| TBA
| TBA
|
|
 +
|
|
|
<!-- Конец занятия -->
<!-- Конец занятия -->
|- <!-- Новое занятие -->
|- <!-- Новое занятие -->
-
| лекция 14
+
| 14
| ???
| ???
| TBA
| TBA
|
|
 +
|
|
|
<!-- Конец занятия -->
<!-- Конец занятия -->
 +
 +
 +
|}
 +
 +
=== Семинары ===
 +
 +
{|class = "standard"
 +
! № !! Дата !! Тема !! Материалы !! Видео !! Д/З
 +
|- <!-- Новое занятие -->
 +
| 1
 +
| 16.09
 +
| Введение в нейросети. Библиотека pytorch.
 +
| [https://github.com/mmta-team/mmta_fall_2020/blob/master/seminars/01_nn_pytorch/nn_notes.pdf записи (нейросети)]
 +
 +
[https://github.com/mmta-team/mmta_fall_2020/blob/master/seminars/01_nn_pytorch/pytorch_bases.ipynb ноутбук (pytorch)]
 +
 +
[https://github.com/mmta-team/mmta_fall_2020/blob/master/seminars/01_nn_pytorch/food_cbow.ipynb ноутбук (cbow на pytorch)]
 +
 +
| [https://www.youtube.com/watch?v=5LXdNkoL45U&list=PLVF5PzSHILHRQO45w7fEqmy7t9xWUGfB-&index=6 видео]
 +
|
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
| 2
 +
| 06.10
 +
| Разбор первого практического задания.
 +
 +
| [https://github.com/mmta-team/mmta_fall_2020/blob/master/seminars/02_first_task_analysis/first_task_tips_and_tricks.pdf слайды]
 +
| [https://youtu.be/sTxF3mnTvWY видео]
 +
|
 +
<!-- Конец занятия -->
 +
|- <!-- Новое занятие -->
 +
| 3
 +
| 21.10
 +
| Разбор второго практического задания.
 +
 +
| [https://github.com/mmta-team/mmta_fall_2020/blob/master/tasks/02_tagging/tagging_postprocessing_notes.pdf конспект]
 +
[https://github.com/mmta-team/mmta_fall_2020/blob/master/seminars/03_second_task_analysis/notes_crf.pdf записи]
 +
| [https://www.youtube.com/watch?v=uVb48NzMKic&list=PLVF5PzSHILHRQO45w7fEqmy7t9xWUGfB-&index=11 видео]
 +
|
 +
<!-- Конец занятия -->
 +
Строка 180: Строка 269:
* ''Stewen Bird'' et. al. [http://www.nltk.org/book/ Natural Language Processing with Python]. 2-nd edition. 2016.
* ''Stewen Bird'' et. al. [http://www.nltk.org/book/ Natural Language Processing with Python]. 2-nd edition. 2016.
* ''Большакова Е.И., Воронцов К.В., Ефремова Н.Э., Клышинский Э.С., Лукашевич Н.В., Сапин А.С.'' [[media:bolshakova17hse-summer-school.pdf|Автоматическая обработка текстов на естественном языке и анализ данных]]. НИУ ВШЭ, 2017.
* ''Большакова Е.И., Воронцов К.В., Ефремова Н.Э., Клышинский Э.С., Лукашевич Н.В., Сапин А.С.'' [[media:bolshakova17hse-summer-school.pdf|Автоматическая обработка текстов на естественном языке и анализ данных]]. НИУ ВШЭ, 2017.
 +
* ''Yoav Goldberg '' et. al. Neural Network Methods in Natural Language Processing
* LxMLS summer school [http://lxmls.it.pt/2018/LxMLS_guide_2018.pdf Practical guide on NLP in Python]
* LxMLS summer school [http://lxmls.it.pt/2018/LxMLS_guide_2018.pdf Practical guide on NLP in Python]
Строка 188: Строка 278:
* [http://web.stanford.edu/class/cs224u/ CS224U: Natural Language Understanding]
* [http://web.stanford.edu/class/cs224u/ CS224U: Natural Language Understanding]
* [https://www.coursera.org/learn/language-processing Natural Language Processing (coursera, HSE)]
* [https://www.coursera.org/learn/language-processing Natural Language Processing (coursera, HSE)]
 +
 +
[[Категория:Учебные курсы]]

Версия 20:37, 22 октября 2020

В курсе рассматриваются основные задачи и математические методы обработки естественного языка.

Курс читается:

От студентов требуются знание курса машинного обучения, основ глубинного обучения, а также языка программирования Python.

Содержание

Объявления

Нет

Контакты

  • В этом семестре занятия будут проводиться онлайн в TBA
  • По всем конструктивным вопросам пишите в telegram-чат
  • Репозиторий со всеми материалами: ссылка
  • Постоянная ссылка для просмотра лекций в Zoom: ссылка

Правила сдачи курса

  • В курсе будет 5 практических задания по 10 баллов без учёта бонусов.
  • В конце курса — устный экзамен, оцениваемый по 10-ти балльной шкале.
  • По всем заданиям мягкий дедлайн, за 1 день штрафа назначается штраф 1 балл.
  • За любой найденный плагиат задание обнуляется у всех студентов с найденным плагиатом. При повторном обнаружении плагиата могут следовать более жёсткие санкции. Плагиатом считается явное заимствование кода у другого студента или из открытых источников без указания источника.

Правила выставления итоговой оценки

Студенты, набравшие за практические задания больше 50 баллов, получают автоматом максимальную оценку. Для остальных итоговая оценка по 10-ти балльной шкале вычисляется по следующей формуле:

round(0.7 \times D / 5 + 0.3 \times E) \times \mathbb{I}[E >= 3] , где

D — оценка за дз, E — оценка за экзамен, round — математическое округление.

Есть дополнительные условия для получения каждой из оценок:

  • удовлетворительно (3, 4) — 2 сданных задания на положительную оценку
  • хорошо (5, 6, 7) — 3 сданных задания на положительную оценку
  • отлично (8, 9, 10) — 4 сданных задания на положительную оценку

Правила сдачи экзамена

TBA

Программа курса

Лекции

Дата Тема Материалы Видео Д/З
1 02.09 Организация курса, правила игры.

Введение в обработку текстов (Natural Language Processing).

Предобработка, выделение признаков и классификация .

презентация (организация)

презентация (введение)

видео (организация)

видео (введение)

2 09.09 Векторные представления слов презентация видео задание по эмбеддингам
3 15.09 Задача разметки последовательностей (tagging). Примеры задач.

Модель Linear-CRF, её упрощения и обобщения.

презентация видео
4 23.09

Модели рекуррентных нейронных сетей: RNN, LSTM.

Применение LSTM для разметки последовательности.

слайды видео задание по разметке
5 30.09 Машинный перевод. Подход Sequence-to-sequence.

Механизм внимания в подходе sequence-to-sequence.

Архитектура transformer.

слайды видео
6 13.10 Задача языкового моделирования.

Статистические и нейросетевые языковые модели.

Задача генерации естественного языка.

слайды видео
7 20.10 Контекстуальные векторные представления слов.

Transfer learning в NLP.

Модель BERT и её модификации.

видео
8  ??? Задача классификации текстов.

Дизайн индустриальной ML-системы.

9  ??? Тематическое моделирование и тематический поиск.
10  ??? Синтаксический разбор и его применение в практических задачах.
11  ??? Информационный поиск.

NLP в рекомендательных системах.

12  ??? Диалоговые и вопросно-ответные системы.
13  ??? TBA
14  ??? TBA


Семинары

Дата Тема Материалы Видео Д/З
1 16.09 Введение в нейросети. Библиотека pytorch. записи (нейросети)

ноутбук (pytorch)

ноутбук (cbow на pytorch)

видео
2 06.10 Разбор первого практического задания. слайды видео
3 21.10 Разбор второго практического задания. конспект

записи

видео


Страницы прошлых лет

2019

2018 (ФУПМ МФТИ), 2018 (ВМК МГУ)

2017 (ВМК МГУ)

Дополнительные материалы

Литература

Другие курсы по NLP

Личные инструменты