Natural Language Processing (автоматическая обработка естественного язык): определение автора текста. (проект)
Ментор | Кирилл Малахов |
Учебный семестр | Весна 2016 |
Учебный курс | 1-й курс |
Что это за проект?
Одна из современных задач машинного обучения является обработка неструктурированных текстов на естественных языках. Студенту предлагается реализовать приложение, которое после обучения на некоторой тренировочной выборке, с высокой долей вероятности определяет автора предложенного текста. Данная тема очень актуальна в сегодняшние дни, так как используется повсеместно: машинный перевод, информационный поиск, реферирование и аннотация текстов, искусственный интеллект, извлечение информации и т.д.
Чему вы научитесь?
Студент получит навыки промышленного программирования, а также базовые знания в области обработки тестовой информации на естественных языках, понимание проблем и современные методы и подходы их решения.
Какие начальные требования?
Помимо желания научиться чему-либо новому, целеустремленности и нацеленности на результат, необходимо уметь программировать на каком-либо современном объектно-ориентированном языке, используя графические библиотеки для интерфейса (последнему при желании можно обучиться). Возможные языки: C++, Qt C#, WPF Java, Swing Python, Tkinter
Какие будут использоваться технологии?
GIT, Task-tracking, Стандартные библиотеки, среды разработки, соответствующими выбранному языку.
Темы вводных занятий
Планирование разработки, введение в GIT и task-tracking, Командная разработки и review code, основы качественного написание кода. Постановка задачи, задачи обработки текстов, конечные автоматы и регулярные выражения, N-граммы и алгоритмы, связанные с ними. Методы классификации и кластеризации. Контекстно-свободные грамматики. Синтаксический и лексический анализ.
Направления развития
Так как данная область достаточно новая, то и нерешенных задач много. Можно попробовать разработать новые алгоритмы или совершенствовать существующие. Полученные знания можно использовать для применения в новых областях.
Критерии оценки
Во время разработки ментор будет периодически проводить review кода. Обязательная часть: • Полное описание работы с программой через командную строку (2 балла), • Разработка алгоритма с качеством 75% (2 балла). Дополнительная часть: • Разработка алгоритма с качеством 80% (+ 1 балл), • Разработка алгоритма с качеством 85% (+ 1 балл), • Разработка алгоритма с качеством 90% (+ 1 балл), • Отчёт, описывающий алгоритм с обоснованием, работу с приложением (+ 2 балла), • Графический интерфейс (+ 2 балла).
Ориентировочное расписание занятий
Уточняется.