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

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

Перейти к: навигация, поиск

Содержание

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

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

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

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

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

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

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

Чат в телеграме: https://t.me/mmta_2018

Новости курса

  • Внимание! Появилась первое домашнее задание, дедлайн: 10 октября.

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

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

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

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

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

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

Занятие 6. (Попов А.) Синтаксический анализ текстов: деревья зависимости и деревья составляющих. Инструменты SyntaxNet и UDPipe. Прикладные примеры.

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

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

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

Занятие 10. (Потапенко А.) Задачи преобразования последовательностей: машинный перевод, суммаризация. Encoder-decoder архитектура, механизм внимания. Способы работы с большим словарем.

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

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

Занятие 13. (Потапенко А.) Обучение с подкреплением в NLP, алгоритм REINFORCE. Его применение для улучшения задачи анализа тональности с помощью синтаксических деревьев разбора.

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

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

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

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

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

Задание 4: Мультиязычная тематическая модель в BigARTM.

Задание 5: Творческое задание.

См. также

Материалы

Литература

  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

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

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