Natural Language Processing (автоматическая обработка естественного язык): определение автора текста. (проект) — различия между версиями
(не показано 7 промежуточных версии 3 участников) | |||
Строка 1: | Строка 1: | ||
{{Карточка_проекта | {{Карточка_проекта | ||
− | |name=Natural Language Processing (автоматическая обработка естественного | + | |name=Natural Language Processing (автоматическая обработка естественного языка): определение автора текста. |
|mentor=Кирилл Малахов | |mentor=Кирилл Малахов | ||
|mentor_login={{URLENCODE:KirillMalakhov|WIKI}} | |mentor_login={{URLENCODE:KirillMalakhov|WIKI}} | ||
Строка 17: | Строка 17: | ||
=== Какие начальные требования? === | === Какие начальные требования? === | ||
− | Помимо желания научиться чему-либо новому, целеустремленности и нацеленности на результат, необходимо уметь программировать на каком-либо современном объектно-ориентированном языке, используя графические библиотеки для интерфейса (последнему при желании можно обучиться). | + | Помимо желания научиться чему-либо новому, целеустремленности и нацеленности на результат, необходимо уметь программировать на каком-либо современном объектно-ориентированном языке, используя графические библиотеки для интерфейса (последнему при желании можно обучиться).<br/> |
− | Возможные языки: | + | Возможные языки:<br/> |
− | C++, Qt | + | * C++, Qt<br/> |
− | C#, WPF | + | * C#, WPF<br/> |
− | Java, Swing | + | * Java, Swing<br/> |
− | Python, Tkinter | + | * Python, Tkinter |
=== Какие будут использоваться технологии? === | === Какие будут использоваться технологии? === | ||
− | GIT,<br/> | + | * GIT,<br/> |
− | Task-tracking,<br/> | + | * Task-tracking,<br/> |
− | Стандартные библиотеки, среды разработки, соответствующими выбранному языку. | + | * Стандартные библиотеки, среды разработки, соответствующими выбранному языку. |
=== Темы вводных занятий === | === Темы вводных занятий === | ||
Строка 40: | Строка 40: | ||
=== Критерии оценки === | === Критерии оценки === | ||
Во время разработки ментор будет периодически проводить review кода.<br/> | Во время разработки ментор будет периодически проводить review кода.<br/> | ||
+ | |||
Обязательная часть:<br/> | Обязательная часть:<br/> | ||
− | + | * Полное описание работы с программой через командную строку (2 балла),<br/> | |
− | + | ||
+ | * Разработка алгоритма с качеством 70% (2 балла).<br/> | ||
+ | |||
Дополнительная часть:<br/> | Дополнительная часть:<br/> | ||
− | + | * Разработка алгоритма с качеством 75% (+ 1 балл),<br/> | |
− | + | * Разработка алгоритма с качеством 80% (+ 1 балл),<br/> | |
− | + | * Разработка алгоритма с качеством 85% (+ 1 балл),<br/> | |
− | + | * Использование MVC (+ 2 балла),<br/> | |
− | + | * Графический интерфейс (+ 2 балла), <br/> | |
+ | * Взаимодействие модуля расчёта и графического интерфейса через сервис (+ 2 балла), <br/> | ||
+ | * Чтение проверяемых текстов из интернета, из архива, обработка нескольких текстов за раз (+ 1 бал за каждый вариант). | ||
=== Ориентировочное расписание занятий === | === Ориентировочное расписание занятий === | ||
Уточняется. | Уточняется. |
Текущая версия на 16:25, 28 июля 2017
Ментор | Кирилл Малахов |
Учебный семестр | Весна 2016 |
Учебный курс | 1-й курс |
Что это за проект?
Одна из современных задач машинного обучения является обработка неструктурированных текстов на естественных языках. Студенту предлагается реализовать приложение, которое после обучения на некоторой тренировочной выборке, с высокой долей вероятности определяет автора предложенного текста. Данная тема очень актуальна в сегодняшние дни, так как используется повсеместно: машинный перевод, информационный поиск, реферирование и аннотация текстов, искусственный интеллект, извлечение информации и т.д.
Чему вы научитесь?
Студент получит навыки промышленного программирования, а также базовые знания в области обработки тестовой информации на естественных языках, понимание проблем и современные методы и подходы их решения.
Какие начальные требования?
Помимо желания научиться чему-либо новому, целеустремленности и нацеленности на результат, необходимо уметь программировать на каком-либо современном объектно-ориентированном языке, используя графические библиотеки для интерфейса (последнему при желании можно обучиться).
Возможные языки:
- C++, Qt
- C#, WPF
- Java, Swing
- Python, Tkinter
Какие будут использоваться технологии?
- GIT,
- Task-tracking,
- Стандартные библиотеки, среды разработки, соответствующими выбранному языку.
Темы вводных занятий
Планирование разработки, введение в GIT и task-tracking, Командная разработки и review code, основы качественного написание кода. Постановка задачи, задачи обработки текстов, конечные автоматы и регулярные выражения, N-граммы и алгоритмы, связанные с ними. Методы классификации и кластеризации. Контекстно-свободные грамматики. Синтаксический и лексический анализ.
Направления развития
Так как данная область достаточно новая, то и нерешенных задач много. Можно попробовать разработать новые алгоритмы или совершенствовать существующие. Полученные знания можно использовать для применения в новых областях.
Критерии оценки
Во время разработки ментор будет периодически проводить review кода.
Обязательная часть:
- Полное описание работы с программой через командную строку (2 балла),
- Разработка алгоритма с качеством 70% (2 балла).
Дополнительная часть:
- Разработка алгоритма с качеством 75% (+ 1 балл),
- Разработка алгоритма с качеством 80% (+ 1 балл),
- Разработка алгоритма с качеством 85% (+ 1 балл),
- Использование MVC (+ 2 балла),
- Графический интерфейс (+ 2 балла),
- Взаимодействие модуля расчёта и графического интерфейса через сервис (+ 2 балла),
- Чтение проверяемых текстов из интернета, из архива, обработка нескольких текстов за раз (+ 1 бал за каждый вариант).
Ориентировочное расписание занятий
Уточняется.