Программирование и компьютерные инструменты лингвистического исследования — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(не показано 8 промежуточных версии 2 участников)
Строка 1: Строка 1:
 
== О курсе ==
 
== О курсе ==
  
Курс читается для студентов лингвистов 4-го курса факультета гуманитарных наук.
+
'''Преподаватели:'''  Борис Орехов ([mailto:nevmenandr@gmail.com Почта]), Константин Маланчев ([mailto:kmalanchev@hse.ru Почта]), Никита Сапунов ([mailto:kiton1994@gmail.com Почта])
  
Проводится с 2017 года.
+
'''Ассистенты:'''
 +
Бориса Валерьевича: Мария Маслова ([mailto:mashamaslova85@gmail.com Почта], [https://t.me/arstotrix Telegram ], [https://vk.com/hesitantshade VK ])
  
'''Преподаватели:''' Денис Литвинов ([mailto:4denaas@gmail.com Почта], [https://t.me/denaas Telegram ])
+
Константина Леонидовича: Алина Смирнова ([mailto:alinasmirnovaalina71@gmail.com Почта], [https://t.me/Kamenshchik Telegram ], [https://vk.com/id85845315 VK ]), Елизавета Ершова ([mailto:eoershova@edu.hse.ru Почта], [https://vk.com/42whereismytea42 VK ])
  
'''Ассистенты'''
+
Никиты: Арсений Аверин
Бориса Валерьевича: Мария Маслова ([mailto:mashamaslova85@gmail.com Почта], [https://t.me/arstotrix Telegram ])
+
Константина Леонидовича: Алина Смирнова ([mailto:alinasmirnovaalina71@gmail.com Почта], [https://t.me/Kamenshchik Telegram ])
+
  
 +
=== Материалы курса ===
 +
Ссылка на курс:
 +
https://pykili.github.io/home/
 +
 +
Программа курса:
 +
https://www.hse.ru/edu/courses/214343330
  
 
=== Правила выставления оценок ===
 
=== Правила выставления оценок ===
итоговая оценка = 0.7*накопленная + 0.3*экзамен   
+
итоговая оценка = 0.65*накопленная + 0.35*экзамен   
 
+
накопленная оценка — средняя по всем дз 
+
 
+
# Домашнее задание оценивается по 10-балльной шкале. 
+
# В случае пропуска дедлайна за каждый пропущенный день снимается 1 балл, пока балл >= 3. Затем, за каждый пропущенный день снимаются по 0.5 балла. 
+
# Дедлайны для каждой домашней работы указываются отдельно. 
+
# В оценке домашнего задания оцениваются: работоспособность программы, использование изложенных средств и методов. 
+
# При оценивании программы в первую очередь обращается внимание на то, насколько её работа соответствует требованиям, описанным в задании. Программа, не запускающаяся из-за синтаксических ошибок, не может получить оценку выше 4 баллов. Баллы могут сниматься, в частности, за неточное выполнение задания и отсутствие разбора случаев, из-за которых при исполнении программы может произойти ошибка. Так же оценивается оптимальность решенения (в смысле времени работы и потребляемой памяти). Во вторую очередь оценивается стиль кода. 
+
# При обнаружении плагиата в домашнем или контрольном задании это задание получает оценку 0 баллов.
+
# Экзамен проводится в письменной форме. 
+
 
+
=== Рекомендуемая литература ===
+
# Кормен. Алгоритмы: построение и анализ
+
# Bishop. Pattern Recognition and Machine Learning
+
# Jurafsky. Speech and Language Processing
+
# Barber. Bayesian Reasoning and Machine Learning
+
  
 +
# Всё в курсе оценивается по 10-балльной шкале.
 +
# Если оценка складывается из нескольких работ, то итоговая оценка всегда нормируется на их количество
 +
# Дедлайн для отправки домашнего задания индивидуален для каждой группы, и, как правило, наступает в ночь перед следующим семинаром 
  
 
=== Программные средства ===
 
=== Программные средства ===
# редактор кода sublime text / notepad++ / PyCharm
+
[http://www.python.org/download/ интерпретатор языка Python]
# jupyter notebook
+
# numpy, scipy, pandas, matplotlib, seaborn, plotly, scikit-learn, gensim, xgboost
+
 
+
 
+
=== Правила сдачи домашних заданий ===
+
Домашние задания сдаются по умолчанию в репозиториях, указанных в [https://goo.gl/jiVnCH форме] '''(пожалуйста, пройдите этот опрос)'''
+
 
+
!!!
+
# Соблюдайте именование каталогов, классов и сигнатур функций! В противном случае автотесты их не подцепят и ваше решение не будет засчитано.
+
# Если явно не сказано, то в скрипте должен присутствовать только код  класса/функции, без демонстрации их вызовов с какими либо аргументами.
+
# Если явно не сказано, в репозиторий вы грузите скрипты с раширением *.py или ноутбуки *.ipynb. (Но никак не архивы)
+
# Опоздание считается по последнему сданному заданию в домашней работе
+
 
+
=== Оценки за домашние задания ===
+
[https://docs.google.com/spreadsheets/d/1viv8ahRt7CCDrwb7ngKDan2K1AsW7Z0FjDBteCu3-Y0/edit?usp=sharing Оценки]
+
 
+
=== Экзамен ===
+
Экзамен проходит в письменной форме и сотоит из 3 частей
+
# Решение задачи машинного обучения на ноутбуке
+
## Необходимые библиотеки numpy, scipy, pandas, scikit-learn, nltk. Проверьте что они у вас стоят, и не слишком старой версии.
+
## Задачи по мотивам домашних работ + обработка текстовых данных.
+
# Вопрос по теории.
+
## Написать формулы где они есть.
+
# вопрос по применению теории к решению практических задач
+
## По мотивам теоретических вопросов
+
## e.g. Каким требованиям должна удовлетворять метрика качества, чтобы ее напрямую можно было оптимизировать с помощью SGD?
+
  
[http://wiki.cs.hse.ru/index.php?title=Программирование_(python)_для_лингвистов_экзамен вопросы к экзамену]
+
=== Текстовые редакторы ===
  
[https://github.com/thedenaas/hse_exam Задачи]
+
[https://notepad-plus-plus.org/download/v7.5.8.html/ Notepad++] для Windows
  
Дополнительные материалы для подготовки:
+
[https://www.sublimetext.com/3/ Sublime Text] для Mac OS, Linux и Windows
# [https://github.com/esokolov/ml-course-hse/tree/master/2016-fall/lecture-notes курс] Евгения Соколова по машинному обучению на ФКН
+
# Peter Flatch. Machine Learning
+
# Bishop. Pattern Recognition and Machine Learning
+
# [http://scikit-learn.org/stable/tutorial/index.html Scikit-learn tutorials] and [http://scikit-learn.org/stable/user_guide.html User guide]
+
# [http://cs229.stanford.edu/section/cs229-hmm.pdf Hidden Markov Models Fundamentals]
+
  
== Семинары ==
+
[https://code.visualstudio.com/ Visual Studio Code] для Mac OS, Linux и Windows
  
{| class="wikitable"
+
[https://atom.io/ Atom] для Mac OS
|-
+
! № !! Тема семинара !! презентация !! материалы семинара !! домашнее задание !! дедлайн
+
|-
+
| 1 || Объекто-ориентированное программирование ||  || [https://github.com/thedenaas/hse_seminars/blob/seminar_1/OOP.ipynb notebook] || [http://wiki.cs.hse.ru/Программирование_(python)_для_лингвистов_дз#tasks%201 Assignment 1] || 12.09.17 12:00
+
|-
+
| 2 || Паттерны проектирования & web mining, part 1 ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_2 notebooks] || [http://wiki.cs.hse.ru/Программирование_(python)_для_лингвистов_дз#tasks%201 Assignment 2] || 17.10.17 12:00
+
|-
+
| 3 || Тестирование и профилирование программ ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_3 notebooks] || [http://wiki.cs.hse.ru/Программирование_(python)_для_лингвистов_дз#tasks%201 Assignment 3] || 17.10.17 12:00
+
|-
+
| 4 || Алгоритм Рабина-Карпа ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_4 notebooks] || [http://wiki.cs.hse.ru/Программирование_(python)_для_лингвистов_дз#tasks%201 Assignment 4] || 10.10.17 12:00
+
|-
+
| 5 || Scientific libraries: Numpy, scipy, matplotlib ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_5 notebooks] || ||
+
|-
+
| 6 || Scientific libraries: pandas, plotly ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_6 notebooks] || ||
+
|-
+
| 7 || Linear Regression ||  ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_7 notes and Assignment 5] || 18.10.17 12:00
+
|-
+
| 8 || Regularization in linear models ||  ||  || ||
+
|-
+
| 9 || Classification with linear models||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_9 data] || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_9 Assignment 6] || 11.11.17 12:00
+
|-
+
| 10 || SVM ||  ||  ||  ||
+
|-
+
| 11 || Word embeddings ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_11/dist_representation.ipynb notebook] [https://github.com/thedenaas/hse_seminars/blob/master/seminar_11/data.zip datasets]|| [https://github.com/thedenaas/hse_seminars/blob/master/seminar_11/hw_ner.ipynb  Assignment 7] [https://github.com/thedenaas/hse_seminars/blob/master/seminar_11/hw_sentiment_analysis.ipynb Assignment 8] || 3.12.17 12:00
+
|-
+
| 12 || Decision trees. Random Forest ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_12/trees.ipynb notebook] ||  ||
+
|-
+
| 13 || Boosting ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_13/ notebook] ||  ||
+
|-
+
| 14 || Dimension reduction. PCA, SVD ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_14/ notebook] ||  ||
+
|-
+
| 15 || Clustering. Kmeans, DBSCAN, Agglomerative clustering ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_15/ notebook] ||  [https://github.com/thedenaas/hse_seminars/blob/master/seminar_15/data.zip  data]  [https://github.com/thedenaas/hse_seminars/blob/master/seminar_15/hw_titanic.ipynb  Assignment 9]|| 22.12.2017 12.00
+
|-
+
| 16 || Topic modeing ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_16/ notebook] || [http://wiki.cs.hse.ru/Программирование_(python)_для_лингвистов_дз#tasks%201 Assignment 10] || 24.01.2018 12.00
+
|-
+
| 17 || Hidden Markov Models ||  || || ||
+
|-
+
| 18 || Hidden Markov Models(continued). Feedforward Neural Networks ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_18/ notebooks] || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_18/hw_11.ipynb Assignment 11] || 25.02.2018 12.00
+
|-
+
| 19 || Training Neural Networks. Convolutional and recurrent NN for text classification and language modeling ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_19/ notebooks] ||  ||
+
|-
+
| 20 || Basic seq2seq models applied to machine translation  ||  || [https://github.com/thedenaas/hse_seminars/blob/master/seminar_20/ notebooks] ||  ||
+
|-
+
  
|}
+
[https://www.qpython.com/ QPython] для Android

Версия 17:58, 10 сентября 2018

О курсе

Преподаватели: Борис Орехов (Почта), Константин Маланчев (Почта), Никита Сапунов (Почта)

Ассистенты: Бориса Валерьевича: Мария Маслова (Почта, Telegram , VK )

Константина Леонидовича: Алина Смирнова (Почта, Telegram , VK ), Елизавета Ершова (Почта, VK )

Никиты: Арсений Аверин

Материалы курса

Ссылка на курс: https://pykili.github.io/home/

Программа курса: https://www.hse.ru/edu/courses/214343330

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

итоговая оценка = 0.65*накопленная + 0.35*экзамен

  1. Всё в курсе оценивается по 10-балльной шкале.
  2. Если оценка складывается из нескольких работ, то итоговая оценка всегда нормируется на их количество
  3. Дедлайн для отправки домашнего задания индивидуален для каждой группы, и, как правило, наступает в ночь перед следующим семинаром

Программные средства

интерпретатор языка Python

Текстовые редакторы

Notepad++ для Windows

Sublime Text для Mac OS, Linux и Windows

Visual Studio Code для Mac OS, Linux и Windows

Atom для Mac OS

QPython для Android