Математические методы анализа текстов (курс лекций, К.В.Воронцов, А.А.Потапенко)

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

(Различия между версиями)
Перейти к: навигация, поиск
(Предварительная программа курса)
Текущая версия (08:32, 5 сентября 2019) (править) (отменить)
(Преподаватели и контакты)
 
(62 промежуточные версии не показаны)
Строка 8: Строка 8:
Краткая ссылка на эту страницу: [http://bit.ly/2LFhfCA http://bit.ly/2LFhfCA].
Краткая ссылка на эту страницу: [http://bit.ly/2LFhfCA http://bit.ly/2LFhfCA].
-
==Состав преподавателей==
+
==Преподаватели и контакты ==
-
''Лекторы:'' Воронцов К.В., Потапенко А.А.
+
''Лекторы:'' Воронцов К.В., Потапенко Анна.
''Семинаристы:'' Апишев Мурат, Попов Артем
''Семинаристы:'' Апишев Мурат, Попов Артем
Строка 15: Строка 15:
''Ассистенты:'' Дербаносов Роман, Шаталов Николай
''Ассистенты:'' Дербаносов Роман, Шаталов Николай
-
== Предварительная программа курса ==
+
'''Чат в телеграме''' для всех содержательных вопросов.
 +
 
 +
'''Почта''': anna.a.potapenko at gmail.com для всех остальных вопросов :)
 +
 
 +
== Практические задания ==
 +
 
 +
Все задания сдаются в систему Anytask. Инвайт: '''Cbwc4tF'''.
 +
 
 +
'''Задание 1 (до 10 октября):''' Определение частей речи с помощью скрытой марковской модели.
 +
* [[media:Pos_mmta_2018.zip‎ | Архив с заданием 1]]
 +
 
 +
'''Задание 2 (до 24 октября):''' Распознавание именованных сущностей на твиттере с помощью модели biLSTM.
 +
 
 +
* [[media:Lab2_mmta_2018.zip‎ | Архив с заданием 2]]
 +
 
 +
'''Задание 3: (до 10 ноября):''' Обучение векторных представлений для ранжирования постов StackOverflow.
 +
 
 +
* [[media:Lab3_mmta2018.zip | Архив с заданием 3]]; данные доступны в Anytask.
 +
 
 +
'''Задание 4: (до 1 декабря) ''' Мультиязычный тематический поиск.
 +
 
 +
* [[media:Lab4_mmta2018.zip | Архив с заданием 4]]; [https://drive.google.com/open?id=1B3kDfISvWnVpEet_CDa6oLNp028mEak- ссылка на данные]
 +
 
 +
'''Бонусное задание: ''' Решение одной из задач конкурса SemEval.
 +
 
 +
* [[media:Lab5_mmta2018.pdf‎ | Правила сдачи задания]]
 +
 
 +
 
 +
Формула для выставления оценки за курс:
 +
 
 +
* оценка = <tex>\min\left(\left\lceil \frac{X}{4} \right\rceil, \; 10 \right)</tex>, где X - сумма баллов за задания.
 +
 
 +
== Программа курса ==
'''Занятие 1. ''' (Воронцов К.В.)
'''Занятие 1. ''' (Воронцов К.В.)
Введение в область анализа текстов (Natural Language Processing). Обзор задач, пирамида NLP, структура курса.
Введение в область анализа текстов (Natural Language Processing). Обзор задач, пирамида NLP, структура курса.
 +
* [[media:mmta18-intro.pdf|Презентация]]
'''Занятие 2.''' (Потапенко А.)
'''Занятие 2.''' (Потапенко А.)
Задача языкового моделирования: генерация текста, исправление опечаток.
Задача языкового моделирования: генерация текста, исправление опечаток.
Частотные языковые модели и способы сглаживания. Нейросетевые языковые модели.
Частотные языковые модели и способы сглаживания. Нейросетевые языковые модели.
 +
* [[media:mmta18-langmodels.pdf|Презентация]]
-
'''Занятие 3.''' (Потапенко А.)
+
'''Занятие 3.''' (Попов А.)
 +
Рекуррентные нейронные сети для задач языкового моделирования и разметки последовательностей. Гибридная модель biLSTM-CRF.
 +
* [[media:Mmta18-rnn.pdf|Презентация]]
 +
 
 +
'''Занятие 4.''' (Потапенко А.)
Задачи разметки последовательностей: распознавание частей речи, выделение именованных сущностей. Скрытые марковские модели: алгоритм Витерби для декодирования и алгоритм Баума-Велша для обучения модели.
Задачи разметки последовательностей: распознавание частей речи, выделение именованных сущностей. Скрытые марковские модели: алгоритм Витерби для декодирования и алгоритм Баума-Велша для обучения модели.
-
'''Занятие 4.''' (Попов А.)
+
* [[media:Mmta18-hmm-crf.pdf|Презентация]]
-
Рекуррентные нейронные сети для задач языкового моделирования и разметки последовательностей. Гибридная модель biLSTM-CRF.
+
'''Занятие 5.''' (Апишев М.)
'''Занятие 5.''' (Апишев М.)
-
Инструментарий работы с данными в Python. Скачивание и предобработка текстов. Регулярные выражения (re), лемматизация (mystem, pymorphy), выделение коллокаций (TopMine). Размеченные корпуса и ресурсы (NLTK, WordNet).
+
Инструментарий работы с данными в Python. Предобработка текстов. Регулярные выражения (re), лемматизация (mystem, pymorphy), выделение коллокаций.
-
'''Занятие 6.''' (Попов А.)
+
* [[media:Mmta19-prep-colloc.pdf|Презентация]]
-
Синтаксический анализ текстов: деревья зависимости и деревья составляющих. Инструменты SyntaxNet и UDPipe. Прикладные примеры.
+
-
'''Занятие 7.''' (Потапенко А.)
+
'''Занятие 6.''' (Апишев М.)
-
Векторные представления слов, предложений и документов. Дистрибутивная гипотеза и методы матричного разложения. Модели Word2vec, GloVe, FastText, StarSpace, и проч.
+
Выбор признакового пространства для задач классификации; библиотеки sklearn, gensim, Vowpal Wabbit. Задачи анализа тональности. Нейросетевые архитектуры для задач классификации коротких текстов.
-
'''Занятие 8.''' (Воронцов К.В.)
+
* [[media:Mmta19_classification.pdf|Презентация]]
-
Тематическое моделирование 1.
+
 
 +
'''Занятие 7.''' (Апишев М.)
 +
Поисковое ранжирование. Признаки, метрики, подводные камни.
 +
 
 +
* [[media:Mmta19_search_ranking.pdf|Презентация]]
 +
 
 +
'''Занятие 8.''' (Потапенко А.)
 +
Векторные представления слов, предложений и документов. Дистрибутивная гипотеза и методы матричного разложения. Модели SGNS, GloVe, FastText, StarSpace, ELMo.
 +
 
 +
* [[media:Mmta2018_vsm.pdf|Презентация]]
'''Занятие 9.''' (Воронцов К.В.)
'''Занятие 9.''' (Воронцов К.В.)
-
Тематическое моделирование 2.
+
Тематическое моделирование: модели PLSA и LDA, два способа вывода EM-алгоритма, регуляризация и модальности, примеры регуляризаторов. Проект BigARTM.
-
'''Занятие 10.''' (Потапенко А.)
+
* [[media:Mmta2018-artm-1.pdf|Презентация]]
-
Задачи преобразования последовательностей: машинный перевод, суммаризация. Encoder-decoder архитектура, механизм внимания. Способы работы с большим словарем.
+
-
'''Занятие 11.''' (Дербаносов Р.)
+
'''Занятие 10.''' (Воронцов К.В.)
-
Вопросно-ответные и диалоговые системы. Традиционный подход (IBM Watson) и нейросетевой подход (Google.Assistant, Яндекс.Алиса). Обработка диалогов в колл-центрах.
+
Виды тематических моделей: иерархические, темпоральные, n-граммные, дистрибутивные, сегментирующие, гиперграфовые. Пример приложения: разведочный информационный поиск.
-
'''Занятие 12.''' (Апишев М.)
+
* [[media:Mmta2018-artm-2.pdf|Презентация]]
-
Задачи анализа тональности и выделения мнений. Выбор признакового пространства для задач классификации, библиотеки sklearn, gensim, Vowpal Wabbit.
+
-
'''Занятие 13.''' (Потапенко А.)
+
'''Занятие 11.''' (Потапенко А.)
-
Обучение с подкреплением в NLP, алгоритм REINFORCE. Его применение для улучшения задачи анализа тональности с помощью синтаксических деревьев разбора.
+
Машинный перевод как задача преобразования последовательностей. Статистические и нейросетевые методы. Способы работы с большим словарем.
-
'''Занятие 14.''' (Апишев М.)
+
* [[media:Mmta2018-machine-translation.pdf|Презентация]]
-
Поисковое ранжирование. Признаки, метрики, подводные камни.
+
-
== Практические задания ==
+
'''Занятие 12.''' (Потапенко А.)
 +
Глубокие представления текста. Модели Skip-thought vectors (на RNN), Universal Sentence Encoder (на DAN или Transducer), bi-CNN для определения парафраза.
 +
* [[media:Mmta18-sentence-encoders.pdf|Презентация]]
-
'''Задание 1:''' Определение частей речи с помощью скрытой Марковской модели.
+
'''Занятие 13.''' (Дербаносов Р.)
 +
Вопросно-ответные и диалоговые системы. Традиционный подход (IBM Watson) и нейросетевой подход (Google.Assistant, Яндекс.Алиса). Обработка диалогов в колл-центрах.
 +
* [[media:Mmta18-dialoges.pdf|Презентация]]
-
'''Задание 2:''' Распознавание именованных сущностей на твиттере с помощью модели biLSTM.
+
'''Занятие 14.''' (Потапенко А.)
 +
Обучение с подкреплением в NLP, алгоритм REINFORCE. Примеры применения: суммаризация текстов, сентимент-анализ, машинный перевод, диалоговые системы.
-
'''Задание 3:''' Обучение векторных представлений для ранжирования постов StackOverflow.
+
* [[media:Mmta18-RL.pdf|Презентация]]
-
'''Задание 4:''' Мультиязычная тематическая модель в BigARTM.
+
'''Занятие 15.''' (Потапенко А.)
 +
Выступления по результатам заданий SemEval. Консультация.
-
'''Задание 5:''' Творческое задание.
+
== Экзамен ==
-
= См. также =
+
Вопросы и теоретический минимум к экзамену для кафедры РВК факультета ФИВТ:
-
* [[Математические методы анализа текстов (ВМиК МГУ) / 2017]]
+
 
 +
* [[media:Mmta_exam_paper_2018.pdf | программа ]]
 +
 
 +
== См. также ==
 +
* [[Математические методы анализа текстов (ВМиК МГУ) / 2017]], [[Математические методы анализа текстов (ВМиК МГУ) / 2018]]
* [[Машинное обучение (курс лекций, К.В.Воронцов)]]
* [[Машинное обучение (курс лекций, К.В.Воронцов)]]
* [[Вероятностные тематические модели (курс лекций, К.В.Воронцов)]]
* [[Вероятностные тематические модели (курс лекций, К.В.Воронцов)]]
* [[Глубинное обучение (курс лекций)]]
* [[Глубинное обучение (курс лекций)]]
-
= Литература =
+
== Материалы ==
 +
 
 +
==== Литература ====
 +
# ''Dan Jurafsky and James H. Martin'' [https://web.stanford.edu/~jurafsky/slp3/ Speech and Language Processing] (3rd ed. draft)
# ''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.
 +
# LxMLS summer school [http://lxmls.it.pt/2018/LxMLS_guide_2018.pdf Practical guide on NLP in Python]
 +
 +
==== Инструменты для работы с текстами ====
 +
 +
* [https://tech.yandex.ru/mystem/ Mystem - морфологический анализатор от Яндекса]
 +
* [https://pythonhosted.org/pymorphy/intro.html PyMorphy - морфологический анализатор для русского языка]
 +
* [http://www.nltk.org/install.html NLTK (Natural Language Toolkit) - удобная питон-библиотка]
 +
* [https://nlpub.ru/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0 Каталог утилит для работы с русскими и английскими текстами]
 +
[[Категория:Учебные курсы]]
[[Категория:Учебные курсы]]

Текущая версия

Содержание

Математические методы анализа текстов. В курсе рассматриваются основные задачи и математические методы обработки естественного языка. Курс читается студентам кафедры «Интеллектуальные системы» ФУПМ МФТИ с 2018 года.

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

Краткая ссылка на эту страницу: http://bit.ly/2LFhfCA.

Преподаватели и контакты

Лекторы: Воронцов К.В., Потапенко Анна.

Семинаристы: Апишев Мурат, Попов Артем

Ассистенты: Дербаносов Роман, Шаталов Николай

Чат в телеграме для всех содержательных вопросов.

Почта: anna.a.potapenko at gmail.com для всех остальных вопросов :)

Практические задания

Все задания сдаются в систему Anytask. Инвайт: Cbwc4tF.

Задание 1 (до 10 октября): Определение частей речи с помощью скрытой марковской модели.

Задание 2 (до 24 октября): Распознавание именованных сущностей на твиттере с помощью модели biLSTM.

Задание 3: (до 10 ноября): Обучение векторных представлений для ранжирования постов StackOverflow.

Задание 4: (до 1 декабря) Мультиязычный тематический поиск.

Бонусное задание: Решение одной из задач конкурса SemEval.


Формула для выставления оценки за курс:

  • оценка = \min\left(\left\lceil \frac{X}{4} \right\rceil, \; 10 \right), где X - сумма баллов за задания.

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

Занятие 1. (Воронцов К.В.) Введение в область анализа текстов (Natural Language Processing). Обзор задач, пирамида NLP, структура курса.

Занятие 2. (Потапенко А.) Задача языкового моделирования: генерация текста, исправление опечаток. Частотные языковые модели и способы сглаживания. Нейросетевые языковые модели.

Занятие 3. (Попов А.) Рекуррентные нейронные сети для задач языкового моделирования и разметки последовательностей. Гибридная модель biLSTM-CRF.

Занятие 4. (Потапенко А.) Задачи разметки последовательностей: распознавание частей речи, выделение именованных сущностей. Скрытые марковские модели: алгоритм Витерби для декодирования и алгоритм Баума-Велша для обучения модели.

Занятие 5. (Апишев М.) Инструментарий работы с данными в Python. Предобработка текстов. Регулярные выражения (re), лемматизация (mystem, pymorphy), выделение коллокаций.

Занятие 6. (Апишев М.) Выбор признакового пространства для задач классификации; библиотеки sklearn, gensim, Vowpal Wabbit. Задачи анализа тональности. Нейросетевые архитектуры для задач классификации коротких текстов.

Занятие 7. (Апишев М.) Поисковое ранжирование. Признаки, метрики, подводные камни.

Занятие 8. (Потапенко А.) Векторные представления слов, предложений и документов. Дистрибутивная гипотеза и методы матричного разложения. Модели SGNS, GloVe, FastText, StarSpace, ELMo.

Занятие 9. (Воронцов К.В.) Тематическое моделирование: модели PLSA и LDA, два способа вывода EM-алгоритма, регуляризация и модальности, примеры регуляризаторов. Проект BigARTM.

Занятие 10. (Воронцов К.В.) Виды тематических моделей: иерархические, темпоральные, n-граммные, дистрибутивные, сегментирующие, гиперграфовые. Пример приложения: разведочный информационный поиск.

Занятие 11. (Потапенко А.) Машинный перевод как задача преобразования последовательностей. Статистические и нейросетевые методы. Способы работы с большим словарем.

Занятие 12. (Потапенко А.) Глубокие представления текста. Модели Skip-thought vectors (на RNN), Universal Sentence Encoder (на DAN или Transducer), bi-CNN для определения парафраза.

Занятие 13. (Дербаносов Р.) Вопросно-ответные и диалоговые системы. Традиционный подход (IBM Watson) и нейросетевой подход (Google.Assistant, Яндекс.Алиса). Обработка диалогов в колл-центрах.

Занятие 14. (Потапенко А.) Обучение с подкреплением в NLP, алгоритм REINFORCE. Примеры применения: суммаризация текстов, сентимент-анализ, машинный перевод, диалоговые системы.

Занятие 15. (Потапенко А.) Выступления по результатам заданий SemEval. Консультация.

Экзамен

Вопросы и теоретический минимум к экзамену для кафедры РВК факультета ФИВТ:

См. также

Материалы

Литература

  1. Dan Jurafsky and James H. Martin Speech and Language Processing (3rd ed. draft)
  2. Stewen Bird et. al. Natural Language Processing with Python. 2-nd edition. 2016.
  3. Большакова Е.И., Воронцов К.В., Ефремова Н.Э., Клышинский Э.С., Лукашевич Н.В., Сапин А.С. Автоматическая обработка текстов на естественном языке и анализ данных. НИУ ВШЭ, 2017.
  4. LxMLS summer school Practical guide on NLP in Python

Инструменты для работы с текстами

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