Skip to content

Практические задания по дисциплине "Информационный поиск", 1 курс магистратуры, Матмех, СПбГУ

License

Notifications You must be signed in to change notification settings

ExP98/Information-Retrieval

Repository files navigation

Информационный поиск

Практические задания

Выполнил Глушков Егор, 1 курс магистратуры по направлению МОАИС, Матмех, СПбГУ

Формулировка задания №1 в файле task.md

Запуск

Из корневой директории запускать:

  • построение индекса (внутри настраивается размер блока и путь до файла-индекса)

python build_index.py

  • запросы

python main.py

  • Булевый запрос может содержать такие операторы, как *OR, or, |, AND, and, &, NOT, not, ~*
  • Для искомых слов регистр букв не имеет значения
  • Алгоритм не работает со скобками
  • Примеры запроса (без кавычек): "health OR aid AND not care", "~Moscow | Berlin & Rome"
  • Для вывода всех docID как результатов по искомому запросу следует раскомментировать строку 83 в query_processing.py
  • В query_processing.py также представлены функции, отдельно осуществляющие множественный поиск отдельно с объединением и пересечением; поиск по одному слову / с отрицанием
  • Датасет (новости от агентства Рейтерс) лежит в папке data, разделен на файлы, состоящие из набора новостей (документов в терминах данной программы)
  • Непосредственное построение индекса осуществляется в inverted_index.py в соответствии с алгоритмом SPIMI
  • Любое чтение и запись производится побитово / построчечно без выгрузки в оперативную память ввиду особенностей применения алгоритма
  • Обработка слов ведется в файле text_processing.py
  • make_dataset.py и index/all_articles.txt могут помочь в проверке (поиске) статей-документов по их ID
  • index/index.out -- заранее построенный файл-индекс, с использованием которого и ведется поиск; удобен для проверки

About

Практические задания по дисциплине "Информационный поиск", 1 курс магистратуры, Матмех, СПбГУ

Topics

Resources

License

Stars

Watchers

Forks

Languages