Анализ неструктурированных данных — различия между версиями
Katya (обсуждение | вклад) (→Неделя 2 (18-26 сентября)) |
м (→Неделя 1 (4-10 сентября)) |
||
(не показано 76 промежуточных версии 6 участников) | |||
Строка 25: | Строка 25: | ||
| АДИС || Дмитрий Фролов || вторник, 18:10 – 19:30, ауд. 501 | | АДИС || Дмитрий Фролов || вторник, 18:10 – 19:30, ауд. 501 | ||
|- | |- | ||
− | | БПМИ141 МОП || Анна Шишкова || четверг, 13:40 – 15:00, ауд. | + | | БПМИ141 МОП || Анна Шишкова || четверг, 13:40 – 15:00, ауд. 501 |
|- | |- | ||
| БПМИ142 МОП || Мурат Апишев || четверг, 10:30 – 11:50, ауд. 322 | | БПМИ142 МОП || Мурат Апишев || четверг, 10:30 – 11:50, ауд. 322 | ||
Строка 31: | Строка 31: | ||
|} | |} | ||
− | === Дата выдачи/сдачи | + | === Дата выдачи/сдачи проектных заданий === |
− | + | ||
+ | |||
+ | # Проект 1, часть 1 до 23:59 10.10.2017 [https://www.dropbox.com/s/czzb0meu45l5tvj/NLP_project1.pdf?dl=0 (ссылка)] | ||
+ | # Проект 1, часть 2 до 23:59 26.11.2017 [https://www.dropbox.com/s/h8oqt082v6ac68f/NLP_project2.pdf?dl=0 (ссылка)] | ||
+ | # Проект 2, до 23:59 20.12.2017 [https://drive.google.com/open?id=1jLPAIUt5Eb_9ORFnD-XFAVHCyLj00jZQ (ссылка)] | ||
+ | |||
+ | === Как писать отчёт === | ||
+ | |||
+ | 1) Содержание отчёта. Вне зависимости от того, пишете ли вы отчёт в latex, или в jupyter notebook или ещё где-то, нормальный отчёт должен включать в себя: | ||
+ | |||
+ | — Краткую постановку задачи и формулировку задания | ||
+ | |||
+ | — Описание минимума необходимой теории и/или описание используемых инструментов | ||
+ | |||
+ | — Подробное пошаговый рассказ о проделанной работе | ||
+ | |||
+ | — Аккуратно оформленные результаты | ||
+ | |||
+ | — Внятные выводы | ||
+ | |||
+ | Все эти пункты долны быть чётко отмечены заголовками, если они слишком велики, то можно использовать подзаголовки. Словом, читатель не должен тратить время на навигацию. | ||
+ | |||
+ | 2) Стилистика. Отчёт —- это несколько формальный текст. Он не пишется от первого лица. В нём не надо рассказывать про свою криворукость, про то, как красиво поют птички за окном и т.п. Не надо обращаться к читателю (особенно на "ты", среди вас уже есть такие "отличившиеся"), ни в тексте, ни в комментах к коду (если это ноутбук). Комментарии к коду, кстати, лучше писать на английском. | ||
+ | |||
+ | Текст не должен содержать миллиарда опечаток и должен удовлетворять хоть каким-то минимальным стилистическим требованиям. Русский язык богат синонимами, и этим нужно пользоваться. Вот такие вещи писать НЕ надо: | ||
+ | |||
+ | "Самое важное улучшение было в улучшении Prior Model (путь улучшения тоже взят из Word Alignment Models")." | ||
+ | |||
+ | Слова в предложениях должны быть согласованными. | ||
+ | |||
+ | 3) Если в отчёте (презентации) фигурируют картинки из сети, они должны быть в тему. И к ним надо обязательно ставить маленькую подпись с указанием источника, или же прописать его явно в тексте. | ||
+ | |||
+ | Подсказка (просто на всякий случай): задание делается гораздо качественнее и аккуратнее, если его не откладывать на последний вечер;) | ||
=== Система оценок === | === Система оценок === | ||
Строка 42: | Строка 74: | ||
Накопленная оценка рассчитывается по формуле: | Накопленная оценка рассчитывается по формуле: | ||
− | O<sub>накопл</sub> = 0.4 * O<sub>проект1</sub> + 0.4 * O<sub>проект2</sub> + 0.2 * | + | O<sub>накопл</sub> = 0.4 * O<sub>проект1</sub> + 0.4 * O<sub>проект2</sub> + 0.2 * О<sub>дз+cем |
+ | [https://docs.google.com/spreadsheets/d/1T_1LqhQ4fWJGh3s-lA0MsNoMTYIXIH9iUY3bu-Vpcrg/edit?usp=sharing, (ведомость)] | ||
=== Программа === | === Программа === | ||
Строка 53: | Строка 86: | ||
'''Семинар''': Библиотека nltk | '''Семинар''': Библиотека nltk | ||
[https://www.dropbox.com/s/81ur98bn5wa9thq/sem1.pdf?dl=0 (слайды и дз)] | [https://www.dropbox.com/s/81ur98bn5wa9thq/sem1.pdf?dl=0 (слайды и дз)] | ||
− | [https://www.dropbox.com/s/ | + | [https://www.dropbox.com/s/mk0t49gydm516lb/Sem%201.ipynb?dl=0 (код с семинара)] |
==== Неделя 2 (11-17 сентября) ==== | ==== Неделя 2 (11-17 сентября) ==== | ||
Строка 61: | Строка 94: | ||
'''Семинар''': Библиотеки lxml, beautifulsoup, scrapy. Задание для группы 3-4 курс, вечер: [http://dmitryfrolov.com/pdf/task_1.pdf (ссылка)] (дедлайн на все 23.59 14.09, делается и присылается индивидуально!). [https://www.dropbox.com/s/0kyl4w7rhaih90f/sem2.pdf?dl=0 (слайды с семинара)] | '''Семинар''': Библиотеки lxml, beautifulsoup, scrapy. Задание для группы 3-4 курс, вечер: [http://dmitryfrolov.com/pdf/task_1.pdf (ссылка)] (дедлайн на все 23.59 14.09, делается и присылается индивидуально!). [https://www.dropbox.com/s/0kyl4w7rhaih90f/sem2.pdf?dl=0 (слайды с семинара)] | ||
− | ==== Неделя | + | ==== Неделя 3 (18-24 сентября) ==== |
'''Лекция (Е. Черняк)''': Морфологический анализ, основные задачи и подходы. Стеммер Портера, поиск по словарю, скрытые цепи Маркова. Современные задачи морфологического анализа. [https://www.dropbox.com/s/urdf9cpsnp6uvml/2_morph.pdf?dl=0 (слайды)] | '''Лекция (Е. Черняк)''': Морфологический анализ, основные задачи и подходы. Стеммер Портера, поиск по словарю, скрытые цепи Маркова. Современные задачи морфологического анализа. [https://www.dropbox.com/s/urdf9cpsnp6uvml/2_morph.pdf?dl=0 (слайды)] | ||
+ | |||
+ | '''Семинар''': SENNA, Томита-парсер, отношения между словами. Задание для группы 3-4 курс, вечер: [http://dmitryfrolov.com/pdf/task_3.pdf (ссылка)], слайды семинара 19.09 [http://dmitryfrolov.com/pdf/sem3_new.pdf (ссылка)]. Задание для БПМИ142 МОП [http://wiki.cs.hse.ru/images/7/7c/Task.png (ссылка)]. (дедлайн на все 23.59 21.09, делается и присылается индивидуально!). [https://www.dropbox.com/s/hvojoqp7zb3p4sk/sem3__Copy_.pdf?dl=0 (слайды с семинара вместе с заданием)] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Неделя 4 (25 сентября – 1 октября) ==== | ||
+ | |||
+ | '''Лекция (приглашённый лектор Иван Смуров):''' Синтаксический анализ (syntactic parsing) - одна из классических задач NLP, заключающейся в построении по последовательности текста соответствующего ей синтаксического разбора. Задача имеет продолжительную и богатую историю и решалась с помощью различных методов - от вероятностных контекстно-свободных грамматик до нейросетей с использованием sequence-to-sequence архитектур. На лекции будет рассказано о популярном в литературе подходе - использованию transition-based парсеров. Этод подход, восходящий к shift-reduce анализаторам классических логик, был впервые использован в применении к задаче синтаксического анализа Й. Нивре в 2003 году. В 2014 году метод был адаптирован для использования нейросетей Д. Ченом и К. Маннингом из Стенфордского университета и, наконец, в 2016 он послужил основой для популярного парсера SynaxNet, разработанного в Google. [https://www.dropbox.com/s/yceqgugsc6tdcxs/transition-based_%D0%BF%D0%B0%D1%80%D1%81%D0%B5%D1%80%D1%8B.pptx?dl=0 (слайды)] | ||
+ | |||
+ | |||
+ | О лекторе: | ||
+ | Иван Смуров – сотрудник кафедр Алгоритмов и Технологий Программирования и Компьютерной Лингвистики МФТИ, разрабатчик научно-исследовательского отдела компании ABBYY. Является специалистом по машинному обучению, компьютерной и вычислительной лингвистике, математической логике. Область основных интересов – обработка текстов на естественных языках. | ||
+ | |||
+ | |||
+ | '''Семинар:''' SyntaxNet, cинтаксические парсеры, универсальные зависимости [https://yadi.sk/d/OddFv-y33NBshk (слайды)] | ||
+ | |||
+ | [http://dmitryfrolov.com/pdf/task4.jpg (дз для 3 курса)] | ||
+ | |||
+ | ==== Неделя 5 (2 октября – 8 октября) ==== | ||
+ | |||
+ | '''Лекция (Е. Черняк):''' Статистический анализ текстов. Законы Ципфа и Хипса. Методы извлечения ключевых слов и словосочетаний. Векторная модель. [https://www.dropbox.com/s/fzqcvqb7qu4d27j/4_StatAnalysis.pdf?dl=0 (слайды)] | ||
+ | |||
+ | '''Семинар:''' Ключевые слова, n-граммы, коллокации [https://www.dropbox.com/s/98grun1bl2pqy2p/sem5.pdf?dl=0 (слайды и дз)], [https://yadi.sk/i/BND6d9P73NZLCE (слайды для группы 142)] | ||
+ | |||
+ | |||
+ | |||
+ | ==== Неделя 6 (9 октября – 15 октября) ==== | ||
+ | |||
+ | '''Лекция (приглашенный лектор Анна Потапенко):''' Дистрибутивная семантика. В курсе вы уже поговорили о морфологии и синтаксисе, в этой лекции мы поднимемся на следующий уровень анализа языка и поговорим о семантике - о том, как из текстов извлекать смысл отдельных слов и целых предложений. Смысл будем кодировать векторами - обычными векторами вещественных чисел. Мы начнем с классических моделей - подсчета PMI слов и применения SVD для понижения размерности матриц. Затем поговорим о том, как в эту картину укладывается нашумевший word2vec. Разберемся, почему это не deep learning, и почему король - мужчина + женщина != королева. Затем поговорим о других популярных и более новых подходах обучения векторных представлений слов: GloVe, FastText, StarSpace. Во второй части лекции перейдем к предложениям и поговорим о 3 типах нейронных сетей, позволяющих строить их векторные представления: это конволюционные, рекуррентные и рекурсивные нейронные сети. Здесь мы увидим, что модели синтаксиса и другие лингвистические знания хорошо помогают собрать из отдельных слов смысл всего предложения. [https://www.dropbox.com/s/f3hklz6yko4ohqs/Potapenko_lecture_distr.pdf?dl=0 (слайды)] | ||
+ | |||
+ | О лекторе: Анна занимается построением векторных представлений текста в аспирантуре у К.В. Воронцова. За время аспирантуры Анна дважды стажировалась в компании Google, где оба раза занималась исследованиями в области NLP - дистрибутивной семантикой и диалоговыми системами. Анна закончила ВМК МГУ и Школу Анализа Данных Яндекса, теперь она ведет там семинары, а также готовит онлайн-курс по NLP на платформе Coursera. | ||
+ | |||
+ | ==== Неделя 7 (16 октября – 22 октября) ==== | ||
+ | |||
+ | '''Лекция (М. Апишев):''' Тематическое моделирование. Определения. PLSA, LDA, аддитивная регуляризация [https://www.dropbox.com/s/4mjxzjk6njvzzrl/MelLain_HSE_nlp_TM_lection%20%283%29.pdf?dl=0 (слайды)]. | ||
+ | |||
+ | '''Лекция у журналистов данных (Е. Черняк):''' Классификация текстов, метод наивного Байеса, логистическая регрессия [https://www.dropbox.com/s/tcj33fdgvetdvg3/classification.slides.html?dl=0 (слайды)]. | ||
+ | |||
+ | '''Семинар:''' [https://yadi.sk/i/zct5pith3PYAmz Тематическое моделирование] | ||
+ | |||
+ | ==== Неделя 8 (30 октября – 5 ноября) ==== | ||
+ | |||
+ | '''Лекция у журналистов данных (Е. Черняк):''' Классификация текстов, метод наивного Байеса, логистическая регрессия, сверточные нейронные сети, Fast Text. [https://www.dropbox.com/s/kdcs4mvpb7o9cte/classification.slides%202.html?dl=0 (слайды)] | ||
+ | |||
+ | '''Семинар:''' Классификация и анализ тональности. [https://www.dropbox.com/s/sid2nto8gmjys2y/sem8.pdf?dl=0 (слайды и дз)] | ||
+ | |||
+ | ==== Неделя 9 (6 ноября – 12 ноября) ==== | ||
+ | |||
+ | '''Лекция (приглашенный лектор Алексей Шаграев):''' Информационный поиск. | ||
+ | |||
+ | В лекции будут обсуждаться различные прикладные задачи машинного обучения в информационном поиске, возникающие при разработке поисковых систем. Среди них: | ||
+ | - кластеризация новостных сообщений | ||
+ | - построение метрик качества для поисковых систем и оптимизация под них | ||
+ | - классическое ранжирование и обучение ранжированию по пользовательским данным | ||
+ | - разнообразие и свежесть в поисковой выдаче | ||
+ | |||
+ | [https://www.dropbox.com/s/0btntom44qve5q5/ML%20-%20%D0%B4%D0%BB%D1%8F%20%D0%BA%D1%80%D1%83%D1%82%D1%8B%D1%85%20%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2.pptx?dl=0 (слайды)] | ||
+ | |||
+ | О лекторе: Алексей Шаграев, к.т.н., руководитель службы разработки свеже-социального поиска Яндекса | ||
+ | |||
+ | '''Семинар''' Информационный поиск [https://www.dropbox.com/s/h2u3f26jjpbgd9u/sem9___final.pdf?dl=0 (слайды)] | ||
+ | |||
+ | ==== Неделя 10 (13 ноября – 19 ноября) ==== | ||
+ | |||
+ | '''Лекция (Е. Черняк)''' Языковые модели. Счетные модели и нейронные модели. Реккурентные нейронные сети. LSTM. | ||
+ | |||
+ | '''Семинар''' Автоматическая генерация текстов [https://www.dropbox.com/s/7p7l0azbj948cnk/sem10.pdf?dl=0 (слайды)] [https://yadi.sk/i/jTNrjF283PzYz8 (слайды группы 142)] | ||
+ | |||
+ | ==== Неделя 11 (20 ноября – 25 ноября) ==== | ||
+ | |||
+ | '''Лекция (Е. Черняк)''' Извлечение информации: именованные сущности, отношения, факты и события. Использование методов классификации и методов классификации последовательностей. MEMM, CRF, BiLSTM-CRF. | ||
+ | |||
+ | '''Семинар''' [http://dmitryfrolov.com/pdf/sem11.pdf (слайды)] | ||
+ | |||
+ | |||
+ | ==== Неделя 12 (27 ноября – 1 декабря) ==== | ||
+ | |||
+ | '''Лекция (Е. Черняк)''' Генерация текстов. Обучение с подкреплением (reinforcment learning) в задачах генерации текстов (обзор). [https://www.dropbox.com/s/god4t70rwe1zlwm/1_NLG.pdf?dl=0 (слайды)] | ||
+ | |||
+ | '''Семинар''' Вопросно-ответные системы [http://dmitryfrolov.com/pdf/sem12.pdf (слайды)] | ||
+ | |||
+ | |||
+ | ==== Неделя 13 (4 декабря – 10 декабря) ==== | ||
+ | |||
+ | '''Лекция (приглашенный лектор Сергей Губанов):''' Исправление опечаток | ||
+ | |||
+ | Начиная с самых основ и заканчивая машинным обучением, будет рассказано о том, как устроен современный спеллчекер, способный обрабатывать поток поисковых запросов Яндекса. | ||
+ | |||
+ | О лекторе: Сергей Губанов, руководитель группы ядра машинного перевода, работаю над исправлением опечаток и над нейросетевым машинным переводом. | ||
+ | |||
+ | |||
+ | ==== Неделя 13 (11 декабря – 17 декабря) ==== | ||
+ | |||
+ | '''Лекция (приглашенный лектор Василий Быль):''' Обработка речи | ||
+ | |||
+ | Лекция будет посвящена общему устройству систем распознавания речи и тому, какое место в них занимают языковые модели. | ||
+ | |||
+ | О лекторе: Василий Быль руководит бригадой (небольшой группой) языковых моделей в отделе голосовых технологий Яндекса. | ||
=== Рекомендуемые ресурсы === | === Рекомендуемые ресурсы === | ||
Строка 72: | Строка 205: | ||
* Курс Нильса Раймерса по DL для АОТ [https://github.com/UKPLab/deeplearning4nlp-tutorial (link)] | * Курс Нильса Раймерса по DL для АОТ [https://github.com/UKPLab/deeplearning4nlp-tutorial (link)] | ||
* Курс в Оксфорде по DL для АОТ [https://github.com/oxford-cs-deepnlp-2017 (link)] | * Курс в Оксфорде по DL для АОТ [https://github.com/oxford-cs-deepnlp-2017 (link)] | ||
+ | * Курс в Стенфорде по DL для AOT [http://cs224d.stanford.edu (link)] | ||
+ | * Материалы по обучению с подкреплением (Reinforcment Learning) [https://github.com/jiyfeng/rl4nlp (link)] | ||
На русском (и про русский, в основном) | На русском (и про русский, в основном) | ||
Строка 81: | Строка 216: | ||
* Томита-парсер [https://tech.yandex.ru/tomita/ (link)] | * Томита-парсер [https://tech.yandex.ru/tomita/ (link)] | ||
* Все на свете: [http://mathlingvo.ru (mathlingvo)], [https://nlpub.org (nlpub)] | * Все на свете: [http://mathlingvo.ru (mathlingvo)], [https://nlpub.org (nlpub)] | ||
+ | * Text Visualisation browser: [http://textvis.lnu.se (link)] | ||
Ссылка на дополнительную литературу: | Ссылка на дополнительную литературу: | ||
* [https://machinelearningmastery.com/books-on-natural-language-processing/] Books on natural language processing | * [https://machinelearningmastery.com/books-on-natural-language-processing/] Books on natural language processing | ||
+ | * [http://eprints.lse.ac.uk/62548/1/Schonhardt-Bailey_text%20mining%20handbook.pdf/] Text mining for central banks | ||
Литература | Литература | ||
Строка 95: | Строка 232: | ||
# pymorphy2 [https://pymorphy2.readthedocs.io/en/latest/ (link)] | # pymorphy2 [https://pymorphy2.readthedocs.io/en/latest/ (link)] | ||
# pymystem3 [https://github.com/Digsolab/pymystem3 (link)] | # pymystem3 [https://github.com/Digsolab/pymystem3 (link)] | ||
+ | # readability [https://github.com/buriy/python-readability (link)] |
Текущая версия на 14:48, 19 января 2018
Содержание
- 1 О курсе
- 1.1 Полезные ссылки
- 1.2 Семинары
- 1.3 Дата выдачи/сдачи проектных заданий
- 1.4 Как писать отчёт
- 1.5 Система оценок
- 1.6 Программа
- 1.6.1 Неделя 1 (4-10 сентября)
- 1.6.2 Неделя 2 (11-17 сентября)
- 1.6.3 Неделя 3 (18-24 сентября)
- 1.6.4 Неделя 4 (25 сентября – 1 октября)
- 1.6.5 Неделя 5 (2 октября – 8 октября)
- 1.6.6 Неделя 6 (9 октября – 15 октября)
- 1.6.7 Неделя 7 (16 октября – 22 октября)
- 1.6.8 Неделя 8 (30 октября – 5 ноября)
- 1.6.9 Неделя 9 (6 ноября – 12 ноября)
- 1.6.10 Неделя 10 (13 ноября – 19 ноября)
- 1.6.11 Неделя 11 (20 ноября – 25 ноября)
- 1.6.12 Неделя 12 (27 ноября – 1 декабря)
- 1.6.13 Неделя 13 (4 декабря – 10 декабря)
- 1.6.14 Неделя 13 (11 декабря – 17 декабря)
- 1.7 Рекомендуемые ресурсы
- 1.8 Используемые библиотеки
О курсе
Курс читается для студентов 3-го и 4-го курсов ПМИ ФКН ВШЭ в 1-2 модулях.
Лекторы: Петр Алексеевич Ромов, Екатерина Леонидовна Черняк
Лекции проходят по вторникам, 15:10 – 16:30 , ауд. 509.
Полезные ссылки
Репозиторий с материалами на GitHub: https://github.com/HSE-NLP
Сдача домашних заданий по электронной почте: amilinguaHW@gmail.com
telegram: https://t.me/nlp_hse
Семинары
Группа | Преподаватель | Расписание |
---|---|---|
АДИС | Дмитрий Фролов | вторник, 18:10 – 19:30, ауд. 501 |
БПМИ141 МОП | Анна Шишкова | четверг, 13:40 – 15:00, ауд. 501 |
БПМИ142 МОП | Мурат Апишев | четверг, 10:30 – 11:50, ауд. 322 |
Дата выдачи/сдачи проектных заданий
- Проект 1, часть 1 до 23:59 10.10.2017 (ссылка)
- Проект 1, часть 2 до 23:59 26.11.2017 (ссылка)
- Проект 2, до 23:59 20.12.2017 (ссылка)
Как писать отчёт
1) Содержание отчёта. Вне зависимости от того, пишете ли вы отчёт в latex, или в jupyter notebook или ещё где-то, нормальный отчёт должен включать в себя:
— Краткую постановку задачи и формулировку задания
— Описание минимума необходимой теории и/или описание используемых инструментов
— Подробное пошаговый рассказ о проделанной работе
— Аккуратно оформленные результаты
— Внятные выводы
Все эти пункты долны быть чётко отмечены заголовками, если они слишком велики, то можно использовать подзаголовки. Словом, читатель не должен тратить время на навигацию.
2) Стилистика. Отчёт —- это несколько формальный текст. Он не пишется от первого лица. В нём не надо рассказывать про свою криворукость, про то, как красиво поют птички за окном и т.п. Не надо обращаться к читателю (особенно на "ты", среди вас уже есть такие "отличившиеся"), ни в тексте, ни в комментах к коду (если это ноутбук). Комментарии к коду, кстати, лучше писать на английском.
Текст не должен содержать миллиарда опечаток и должен удовлетворять хоть каким-то минимальным стилистическим требованиям. Русский язык богат синонимами, и этим нужно пользоваться. Вот такие вещи писать НЕ надо:
"Самое важное улучшение было в улучшении Prior Model (путь улучшения тоже взят из Word Alignment Models")."
Слова в предложениях должны быть согласованными.
3) Если в отчёте (презентации) фигурируют картинки из сети, они должны быть в тему. И к ним надо обязательно ставить маленькую подпись с указанием источника, или же прописать его явно в тексте.
Подсказка (просто на всякий случай): задание делается гораздо качественнее и аккуратнее, если его не откладывать на последний вечер;)
Система оценок
Результирующая оценка рассчитывается по формуле:
Oитоговая = 0.8 * Oнакопл + 0.2 * Оэкз
Накопленная оценка рассчитывается по формуле:
Oнакопл = 0.4 * Oпроект1 + 0.4 * Oпроект2 + 0.2 * Одз+cем
Программа
Неделя 1 (4-10 сентября)
Лекция (Е. Черняк): Обзор курса: мастер-классы, кейсы, проекты. Введение в автоматическую обработку текстов. (слайды)
Семинар: Библиотека nltk (слайды и дз) (код с семинара)
Неделя 2 (11-17 сентября)
Лекция (П. Ромов): Форматы данных, способы хранения, принципы работы интернета. Краулинг. Regexp. Unicode. (слайды)
Семинар: Библиотеки lxml, beautifulsoup, scrapy. Задание для группы 3-4 курс, вечер: (ссылка) (дедлайн на все 23.59 14.09, делается и присылается индивидуально!). (слайды с семинара)
Неделя 3 (18-24 сентября)
Лекция (Е. Черняк): Морфологический анализ, основные задачи и подходы. Стеммер Портера, поиск по словарю, скрытые цепи Маркова. Современные задачи морфологического анализа. (слайды)
Семинар: SENNA, Томита-парсер, отношения между словами. Задание для группы 3-4 курс, вечер: (ссылка), слайды семинара 19.09 (ссылка). Задание для БПМИ142 МОП (ссылка). (дедлайн на все 23.59 21.09, делается и присылается индивидуально!). (слайды с семинара вместе с заданием)
Неделя 4 (25 сентября – 1 октября)
Лекция (приглашённый лектор Иван Смуров): Синтаксический анализ (syntactic parsing) - одна из классических задач NLP, заключающейся в построении по последовательности текста соответствующего ей синтаксического разбора. Задача имеет продолжительную и богатую историю и решалась с помощью различных методов - от вероятностных контекстно-свободных грамматик до нейросетей с использованием sequence-to-sequence архитектур. На лекции будет рассказано о популярном в литературе подходе - использованию transition-based парсеров. Этод подход, восходящий к shift-reduce анализаторам классических логик, был впервые использован в применении к задаче синтаксического анализа Й. Нивре в 2003 году. В 2014 году метод был адаптирован для использования нейросетей Д. Ченом и К. Маннингом из Стенфордского университета и, наконец, в 2016 он послужил основой для популярного парсера SynaxNet, разработанного в Google. (слайды)
О лекторе:
Иван Смуров – сотрудник кафедр Алгоритмов и Технологий Программирования и Компьютерной Лингвистики МФТИ, разрабатчик научно-исследовательского отдела компании ABBYY. Является специалистом по машинному обучению, компьютерной и вычислительной лингвистике, математической логике. Область основных интересов – обработка текстов на естественных языках.
Семинар: SyntaxNet, cинтаксические парсеры, универсальные зависимости (слайды)
Неделя 5 (2 октября – 8 октября)
Лекция (Е. Черняк): Статистический анализ текстов. Законы Ципфа и Хипса. Методы извлечения ключевых слов и словосочетаний. Векторная модель. (слайды)
Семинар: Ключевые слова, n-граммы, коллокации (слайды и дз), (слайды для группы 142)
Неделя 6 (9 октября – 15 октября)
Лекция (приглашенный лектор Анна Потапенко): Дистрибутивная семантика. В курсе вы уже поговорили о морфологии и синтаксисе, в этой лекции мы поднимемся на следующий уровень анализа языка и поговорим о семантике - о том, как из текстов извлекать смысл отдельных слов и целых предложений. Смысл будем кодировать векторами - обычными векторами вещественных чисел. Мы начнем с классических моделей - подсчета PMI слов и применения SVD для понижения размерности матриц. Затем поговорим о том, как в эту картину укладывается нашумевший word2vec. Разберемся, почему это не deep learning, и почему король - мужчина + женщина != королева. Затем поговорим о других популярных и более новых подходах обучения векторных представлений слов: GloVe, FastText, StarSpace. Во второй части лекции перейдем к предложениям и поговорим о 3 типах нейронных сетей, позволяющих строить их векторные представления: это конволюционные, рекуррентные и рекурсивные нейронные сети. Здесь мы увидим, что модели синтаксиса и другие лингвистические знания хорошо помогают собрать из отдельных слов смысл всего предложения. (слайды)
О лекторе: Анна занимается построением векторных представлений текста в аспирантуре у К.В. Воронцова. За время аспирантуры Анна дважды стажировалась в компании Google, где оба раза занималась исследованиями в области NLP - дистрибутивной семантикой и диалоговыми системами. Анна закончила ВМК МГУ и Школу Анализа Данных Яндекса, теперь она ведет там семинары, а также готовит онлайн-курс по NLP на платформе Coursera.
Неделя 7 (16 октября – 22 октября)
Лекция (М. Апишев): Тематическое моделирование. Определения. PLSA, LDA, аддитивная регуляризация (слайды).
Лекция у журналистов данных (Е. Черняк): Классификация текстов, метод наивного Байеса, логистическая регрессия (слайды).
Семинар: Тематическое моделирование
Неделя 8 (30 октября – 5 ноября)
Лекция у журналистов данных (Е. Черняк): Классификация текстов, метод наивного Байеса, логистическая регрессия, сверточные нейронные сети, Fast Text. (слайды)
Семинар: Классификация и анализ тональности. (слайды и дз)
Неделя 9 (6 ноября – 12 ноября)
Лекция (приглашенный лектор Алексей Шаграев): Информационный поиск.
В лекции будут обсуждаться различные прикладные задачи машинного обучения в информационном поиске, возникающие при разработке поисковых систем. Среди них: - кластеризация новостных сообщений - построение метрик качества для поисковых систем и оптимизация под них - классическое ранжирование и обучение ранжированию по пользовательским данным - разнообразие и свежесть в поисковой выдаче
О лекторе: Алексей Шаграев, к.т.н., руководитель службы разработки свеже-социального поиска Яндекса
Семинар Информационный поиск (слайды)
Неделя 10 (13 ноября – 19 ноября)
Лекция (Е. Черняк) Языковые модели. Счетные модели и нейронные модели. Реккурентные нейронные сети. LSTM.
Семинар Автоматическая генерация текстов (слайды) (слайды группы 142)
Неделя 11 (20 ноября – 25 ноября)
Лекция (Е. Черняк) Извлечение информации: именованные сущности, отношения, факты и события. Использование методов классификации и методов классификации последовательностей. MEMM, CRF, BiLSTM-CRF.
Семинар (слайды)
Неделя 12 (27 ноября – 1 декабря)
Лекция (Е. Черняк) Генерация текстов. Обучение с подкреплением (reinforcment learning) в задачах генерации текстов (обзор). (слайды)
Семинар Вопросно-ответные системы (слайды)
Неделя 13 (4 декабря – 10 декабря)
Лекция (приглашенный лектор Сергей Губанов): Исправление опечаток
Начиная с самых основ и заканчивая машинным обучением, будет рассказано о том, как устроен современный спеллчекер, способный обрабатывать поток поисковых запросов Яндекса.
О лекторе: Сергей Губанов, руководитель группы ядра машинного перевода, работаю над исправлением опечаток и над нейросетевым машинным переводом.
Неделя 13 (11 декабря – 17 декабря)
Лекция (приглашенный лектор Василий Быль): Обработка речи
Лекция будет посвящена общему устройству систем распознавания речи и тому, какое место в них занимают языковые модели.
О лекторе: Василий Быль руководит бригадой (небольшой группой) языковых моделей в отделе голосовых технологий Яндекса.
Рекомендуемые ресурсы
На английском
- Jurafsky & Martin (link)
- Курс Лауры Каллмайер по МО для АОТ (link)
- Курс Нильса Раймерса по DL для АОТ (link)
- Курс в Оксфорде по DL для АОТ (link)
- Курс в Стенфорде по DL для AOT (link)
- Материалы по обучению с подкреплением (Reinforcment Learning) (link)
На русском (и про русский, в основном)
- НКРЯ (link)
- Открытый корпус (link)
- Дистрибутивные семантические модели для русского языка (link)
- Морфология (link)
- Синтаксис (link)
- Томита-парсер (link)
- Все на свете: (mathlingvo), (nlpub)
- Text Visualisation browser: (link)
Ссылка на дополнительную литературу:
Литература
- Manning, Christopher D., and Hinrich Schütze. Foundations of statistical natural language processing. Vol. 999. Cambridge: MIT press, 1999.
- Martin, James H., and Daniel Jurafsky. "Speech and language processing." International Edition 710 (2000): 25.
- Cohen, Shay. "Bayesian analysis in natural language processing." Synthesis Lectures on Human Language Technologies 9, no. 2 (2016): 1-274.
- Goldberg, Yoav. "Neural Network Methods for Natural Language Processing." Synthesis Lectures on Human Language Technologies 10, no. 1 (2017): 1-309.