Metadata-Version: 2.1
Name: experimaestro-ir
Version: 0.2.9
Summary: Experimaestro common module for IR experiments
Home-page: https://github.com/bpiwowar/experimaestro-ir
Author: Benjamin Piwowarski
Author-email: benjamin@piwowarski.fr
License: GPL 3.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Provides-Extra: neural
License-File: LICENSE

[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Documentation Status](https://readthedocs.org/projects/experimaestro-ir/badge/?version=latest)](https://experimaestro-ir.readthedocs.io/en/latest/?badge=latest)

# Information Retrieval for experimaestro

Information Retrieval module for [experimaestro](https://experimaestro.github.io/experimaestro-python/)

The full documentation can be read at [IR@experimaestro](https://experimaestro-ir.readthedocs.io/).

## Install

Base experimaestro-IR can be installed with `pip install xpmir`.
Functionalities can be added by installing optional dependencies:

- `pip install xpmir[neural]` to install neural-IR packages (torch, etc.)
- `pip install xpmir[anserini]` to install Anserini related packages

## What's inside?

- Collection management (using datamaestro)
    - []
- Subsampling topic/assessments
- Representation
    - Word Embeddings
    - HuggingFace transformers
- Indexing and retrieval
    - Anserini
- Learning to Rank
    - Pointwise
    - Pairwise
- Neural IR:
    - Dual/Cross-Encoder
    - DRMM
    - ColBERT

## Examples

- [BM25 retrieval](./examples/bm25.py)
- [MS Marco (DRMM and ColBERT)](./examples/msmarco.py)

## Thanks

Some parts of the code have been adapted from [OpenNIR](https://github.com/Georgetown-IR-Lab/OpenNIR)
