https://github.com/exp98/information-retrieval
Практические задания по дисциплине "Информационный поиск", 1 курс магистратуры, Матмех, СПбГУ
https://github.com/exp98/information-retrieval
information-retrieval spimi
Last synced: 3 months ago
JSON representation
Практические задания по дисциплине "Информационный поиск", 1 курс магистратуры, Матмех, СПбГУ
- Host: GitHub
- URL: https://github.com/exp98/information-retrieval
- Owner: ExP98
- License: apache-2.0
- Created: 2021-06-11T17:01:38.000Z (almost 4 years ago)
- Default Branch: ranking
- Last Pushed: 2024-09-10T20:47:01.000Z (9 months ago)
- Last Synced: 2024-12-31T15:54:46.052Z (5 months ago)
- Topics: information-retrieval, spimi
- Language: Python
- Homepage:
- Size: 35.7 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Информационный поиск
### Практические заданияВыполнил Глушков Егор, 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* -- заранее построенный файл-индекс, с использованием которого и ведется поиск; удобен для проверки