Извлечение именованных сущностей из текстов (проект) — различия между версиями
(→Темы вводных занятий) |
(→Какие будут использоваться технологии?) |
||
Строка 21: | Строка 21: | ||
=== Какие будут использоваться технологии? === | === Какие будут использоваться технологии? === | ||
− | Для построения и обучения моделей: Weka и/или scikit-learn | + | Для построения и обучения моделей: Weka и/или scikit-learn<br /> |
− | Для обработки текстов: NLTK, Pymorphy, Tomita Parser | + | |
− | Для хранения текстов и результатов: mongodb, pymongo, json | + | Для обработки текстов: NLTK, Pymorphy, Tomita Parser<br /> |
− | + | ||
− | + | Для хранения текстов и результатов: mongodb, pymongo, json<br /> | |
+ | |||
+ | * отдельные библиотеки по машинному обучению на Python, если понадобится (например, pyBrain, Theano, FANN для нейронных сетей) | ||
+ | * регулярные выражения и лингвистические правила, если понадобится | ||
Предполагается использование (как минимум): SVM, Naïve Bayes, HMM, CRF, нейронных сетей. | Предполагается использование (как минимум): SVM, Naïve Bayes, HMM, CRF, нейронных сетей. | ||
Версия 15:25, 30 июля 2016
Ментор | Иванов Кирилл |
Учебный семестр | Осень 2016 |
Учебный курс | 2-й курс |
Максимальное количество студентов, выбравших проект: 3 | |
Что это за проект?
Результатом работы будет программа на Python, извлекающая именованные сущности (названия локаций или организаций, ФИО людей) из текстов на русском языке, собранных из сообществ ВКонтакте.
Чему вы научитесь?
В процессе работы студенты познакомятся с базовыми методами обработки текстов, узнают, как обучать и тестировать модели машинного обучения на Python.
Какие начальные требования?
Обязательно знание основ Python. Приветствуется знакомство с методами компьютерной лингвистики и основами статистики.
Какие будут использоваться технологии?
Для построения и обучения моделей: Weka и/или scikit-learn
Для обработки текстов: NLTK, Pymorphy, Tomita Parser
Для хранения текстов и результатов: mongodb, pymongo, json
- отдельные библиотеки по машинному обучению на Python, если понадобится (например, pyBrain, Theano, FANN для нейронных сетей)
- регулярные выражения и лингвистические правила, если понадобится
Предполагается использование (как минимум): SVM, Naïve Bayes, HMM, CRF, нейронных сетей.
Темы вводных занятий
- Задача выделения именованных сущностей. Метрики. Общая схема обучения и проверки модели (кросс-валидация, подбор параметров и т.п.)
- SVM, NaiveBayes.
- Нейронные сети. (базовое объяснение)
- HMM (скрытые Марковские модели). (базовое объяснение)
Направления развития
- Расширение списка извлекаемых сущностей.
- Извлечение информации о сущностях (например, должность для человека).
- Разрешение кореференции.
- Пользовательский интерфейс (на любом ЯП) для ручной разметки корпуса и корректировки работы алгоритма.
Критерии оценки
4-5: реализация алгоритма машинного обучения с f-мерой > 0.5 6-7: реализация алгоритма машинного обучения с f-мерой > 0.6 8-9: реализация алгоритма машинного обучения с f-мерой > 0.7 10: реализация алгоритма машинного обучения с f-мерой > 0.8 или реализация нескольких методов с f-мерой > 0.7 + 1 балл: использование лексико-синтаксических правил (Томита-парсер, LSPL и т.п.) + 1 балл: реализация пользовательского интерфейса (на любом ЯП) для ручной разметки корпуса и корректировки работы алгоритма. + 2 балла: извлечение информации о сущности (предварительно согласовать тип извлекаемой информации с ментором) Критерии могут варьироваться в зависимости от максимального результата по группе.
Ориентировочное расписание занятий
Пока неизвестно :)