Данный репозитрий содержит базовые скрипты необходимые для выполнения домашнего задания для раздела "Индексация и булев" поиск курса "Информационный поиск"
Для выполнения домашнего задания нужно создать обратный индекс для набора документов и найти документы по запросам.
Соответственно нужно реализовать логику для следующих объектов:
Index -- создание обратного индекса
QueryTree -- загрузка запроса и поиск в обратном индексе
SearchResults -- сбор результатов и создание файла с ответами.
Результат решения должен быть представлен в виде csv файла следующего вида:
ObjectId,Relevence
1,1
где ObjectId -- номер пары документ-запрос, Relevance -- 1 - документ попадает в множество ответов для данного запроса, 0 -- не попадает.
Затем, файл с ответами нужно отправить на соревнование в kaggle для оценки качества. Подробные описания файлов с тестовыми данными есть на страничке соревнования.
Скрипт с решением следует отправить в виде pull request для данного репозитория.
Для унификации, решения будут проверяться с использованием docker контейнеров, скрипты с командой запуска докера и ожидаемой версией python есть в этом же репозитории.
Для запуска контейнера нужно в корне репозитория создать каталог data и туда скопировать файлы
docs.txt
objects.enumerate.txt
queries.enumerate.txt
из ресурсов соревнования.
Файл docs.txt содержит документы
Файл queries.enumerate.txt содержит запросы
Файл objects.enumerate.txt содержит соответствие ObjectId паре запрос-документ
Формат objects.enumerate.txt:
ObjectId,QueryId,DocumentId
1,1,D0000003
..
если для решения будет использован скрипт запуска докера из репозитория, то результат -- output.csv -- появится в каталоге где находится скрипт.
README.md -- эта инструкция
hw_boolean_search.py -- скрипт для решения
start.sh -- скрипт для запуска docker контейнера (linux/mac)
start.bat -- то же для windows