Поисковая система (проект) — различия между версиями
Материал из Wiki - Факультет компьютерных наук
Dmitry (обсуждение | вклад) (→Какие начальные требования?) |
|||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 2: | Строка 2: | ||
|name=Поисковая система | |name=Поисковая система | ||
|mentor=Фролов Дмитрий | |mentor=Фролов Дмитрий | ||
− | |mentor_login={{URLENCODE: | + | |mentor_login={{URLENCODE:Dmitry|WIKI}} |
|semester=Весна 2015 | |semester=Весна 2015 | ||
|course=1 | |course=1 | ||
|summer=on | |summer=on | ||
|categorize=yes | |categorize=yes | ||
+ | |is_archived=yes | ||
}} | }} | ||
Строка 28: | Строка 29: | ||
# MyStem, PyMorphy, NLTK | # MyStem, PyMorphy, NLTK | ||
# Ubuntu Linux/OpenSUSE/FreeBSD, GNU Emacs или Vim - на выбор | # Ubuntu Linux/OpenSUSE/FreeBSD, GNU Emacs или Vim - на выбор | ||
− | # git, github | + | # git, github/bitbucket |
# MongoDB | # MongoDB | ||
Текущая версия на 10:46, 20 октября 2015
Ментор | Фролов Дмитрий |
Учебный семестр | Весна 2015 |
Учебный курс | 1-й курс |
Проект можно развивать на летней практике | |
Внимание! Данный проект находится в архиве и реализован не будет. |
Что это за проект?
Одной из важнейших задач, возникающих при обработке естественного языка, является работа с большими множествами (коллекциями) текстовых документов, в частности, проблема поиска документов по запросу. Программы и программные комплексы, позволяющие решать эту задачу, называются поисковыми системами. Главными характеристиками качества поисковой системы является соответствие извлеченных документов исходному запросу и время выполнения запроса. Итогом работы над проектом должна быть программа, производящая извлечение релевантных запросу документов из коллекции.
Чему вы научитесь?
- Основные понятия из теории поисковых систем, основные алгоритмы поиска, методы обработки документов
- Базовые знания Unix Shell
- Работа с нереляционными базами данных
- Работа с системой управления версиями git
Какие начальные требования?
- Основы языка программирования Python
Какие будут использоваться технологии?
- Python 2.7
- MyStem, PyMorphy, NLTK
- Ubuntu Linux/OpenSUSE/FreeBSD, GNU Emacs или Vim - на выбор
- git, github/bitbucket
- MongoDB
Темы вводных занятий
- Общие понятия теории поисковых систем. Поисковые движки. Коллекции документов. Меры близости. Качество поиска.
- Общие методы разработки с использованием систем управления версиями.
- Нереляционные базы данных, преимущества, недостатки, особенности использования
Направления развития
- Реализация системы в виде: база данных + сервер + веб-интерфейс
- Модификация индекса в целью снижения временной сложности поиска
- Предобработка коллекции документов и поисковых запросов для возможности выполнения нечеткого поиска
Критерии оценки
- 4-5 - Система, выполняющая предобработку коллекции, строящая поисковый индекс, позволяющая производить поиск с простейшим синтаксисом запросов: слова, словосочетания, одновременная встреча слов из запроса в документе, хотя бы одно из слов, указанных в запросе. Найденные документы должны выдаваться системой в порядке убывания релевантности. Система должна быть оформлена в виде консольного приложения.
- 6-7 - Система, реализующая функции, перечисленные в Пункте (1), и, кроме того, позволяющая производить поиск вне зависимости от словоформ в запросе и в документах.
- 8-10 - Система, реализующая функции, перечисленные в Пункте (2), и, кроме того, позволяющая выполнять нечеткий поиск (например, для запросов с ошибками). Для поисковой системы необходимо произвести ее анализ на фиксированной коллекции, рассчитать метрики эффективности качества поиска.