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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: {{TOCright}} '''Математические методы анализа текстов'''. В курсе рассматриваются основные задачи и математ...)
Текущая версия (08:32, 5 сентября 2019) (править) (отменить)
(Преподаватели и контакты)
 
(69 промежуточных версий не показаны.)
Строка 2: Строка 2:
'''Математические методы анализа текстов'''.
'''Математические методы анализа текстов'''.
В курсе рассматриваются основные задачи и математические методы обработки естественного языка.
В курсе рассматриваются основные задачи и математические методы обработки естественного языка.
-
Курс читается
+
Курс читается студентам кафедры [[Интеллектуальные системы (кафедра МФТИ)|«Интеллектуальные системы» ФУПМ МФТИ]] с 2018 года.
-
* студентам 4 курса кафедры [[Интеллектуальные системы (кафедра МФТИ)|«Интеллектуальные системы / интеллектуальный анализ данных» ФУПМ МФТИ]] с 2018 года.
+
 
От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей, математической статистики, методов оптимизации, машинного обучения и нейронных сетей, языка программирования Python.
От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей, математической статистики, методов оптимизации, машинного обучения и нейронных сетей, языка программирования Python.
-
= Программа курса =
+
Краткая ссылка на эту страницу: [http://bit.ly/2LFhfCA http://bit.ly/2LFhfCA].
-
= См. также =
+
==Преподаватели и контакты ==
-
* [[Математические методы анализа текстов (ВМиК МГУ) / 2017]]
+
''Лекторы:'' Воронцов К.В., Потапенко Анна.
 +
 
 +
''Семинаристы:'' Апишев Мурат, Попов Артем
 +
 
 +
''Ассистенты:'' Дербаносов Роман, Шаталов Николай
 +
 
 +
'''Чат в телеграме''' для всех содержательных вопросов.
 +
 
 +
'''Почта''': 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. ''' (Воронцов К.В.)
 +
Введение в область анализа текстов (Natural Language Processing). Обзор задач, пирамида NLP, структура курса.
 +
* [[media:mmta18-intro.pdf|Презентация]]
 +
 
 +
'''Занятие 2.''' (Потапенко А.)
 +
Задача языкового моделирования: генерация текста, исправление опечаток.
 +
Частотные языковые модели и способы сглаживания. Нейросетевые языковые модели.
 +
* [[media:mmta18-langmodels.pdf|Презентация]]
 +
 
 +
'''Занятие 3.''' (Попов А.)
 +
Рекуррентные нейронные сети для задач языкового моделирования и разметки последовательностей. Гибридная модель biLSTM-CRF.
 +
* [[media:Mmta18-rnn.pdf|Презентация]]
 +
 
 +
'''Занятие 4.''' (Потапенко А.)
 +
Задачи разметки последовательностей: распознавание частей речи, выделение именованных сущностей. Скрытые марковские модели: алгоритм Витерби для декодирования и алгоритм Баума-Велша для обучения модели.
 +
 
 +
* [[media:Mmta18-hmm-crf.pdf|Презентация]]
 +
 
 +
'''Занятие 5.''' (Апишев М.)
 +
Инструментарий работы с данными в Python. Предобработка текстов. Регулярные выражения (re), лемматизация (mystem, pymorphy), выделение коллокаций.
 +
 
 +
* [[media:Mmta19-prep-colloc.pdf|Презентация]]
 +
 
 +
'''Занятие 6.''' (Апишев М.)
 +
Выбор признакового пространства для задач классификации; библиотеки sklearn, gensim, Vowpal Wabbit. Задачи анализа тональности. Нейросетевые архитектуры для задач классификации коротких текстов.
 +
 
 +
* [[media:Mmta19_classification.pdf|Презентация]]
 +
 
 +
'''Занятие 7.''' (Апишев М.)
 +
Поисковое ранжирование. Признаки, метрики, подводные камни.
 +
 
 +
* [[media:Mmta19_search_ranking.pdf|Презентация]]
 +
 
 +
'''Занятие 8.''' (Потапенко А.)
 +
Векторные представления слов, предложений и документов. Дистрибутивная гипотеза и методы матричного разложения. Модели SGNS, GloVe, FastText, StarSpace, ELMo.
 +
 
 +
* [[media:Mmta2018_vsm.pdf|Презентация]]
 +
 
 +
'''Занятие 9.''' (Воронцов К.В.)
 +
Тематическое моделирование: модели PLSA и LDA, два способа вывода EM-алгоритма, регуляризация и модальности, примеры регуляризаторов. Проект BigARTM.
 +
 
 +
* [[media:Mmta2018-artm-1.pdf|Презентация]]
 +
 
 +
'''Занятие 10.''' (Воронцов К.В.)
 +
Виды тематических моделей: иерархические, темпоральные, n-граммные, дистрибутивные, сегментирующие, гиперграфовые. Пример приложения: разведочный информационный поиск.
 +
 
 +
* [[media:Mmta2018-artm-2.pdf|Презентация]]
 +
 
 +
'''Занятие 11.''' (Потапенко А.)
 +
Машинный перевод как задача преобразования последовательностей. Статистические и нейросетевые методы. Способы работы с большим словарем.
 +
 
 +
* [[media:Mmta2018-machine-translation.pdf|Презентация]]
 +
 
 +
'''Занятие 12.''' (Потапенко А.)
 +
Глубокие представления текста. Модели Skip-thought vectors (на RNN), Universal Sentence Encoder (на DAN или Transducer), bi-CNN для определения парафраза.
 +
* [[media:Mmta18-sentence-encoders.pdf|Презентация]]
 +
 
 +
'''Занятие 13.''' (Дербаносов Р.)
 +
Вопросно-ответные и диалоговые системы. Традиционный подход (IBM Watson) и нейросетевой подход (Google.Assistant, Яндекс.Алиса). Обработка диалогов в колл-центрах.
 +
* [[media:Mmta18-dialoges.pdf|Презентация]]
 +
 
 +
'''Занятие 14.''' (Потапенко А.)
 +
Обучение с подкреплением в NLP, алгоритм REINFORCE. Примеры применения: суммаризация текстов, сентимент-анализ, машинный перевод, диалоговые системы.
 +
 
 +
* [[media:Mmta18-RL.pdf|Презентация]]
 +
 
 +
'''Занятие 15.''' (Потапенко А.)
 +
Выступления по результатам заданий SemEval. Консультация.
 +
 
 +
== Экзамен ==
 +
 
 +
Вопросы и теоретический минимум к экзамену для кафедры РВК факультета ФИВТ:
 +
 
 +
* [[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

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

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