Skip to main content

Intuitive interface to many IR axioms.

Project description

PyPi CI Code coverage Python Issues Commit activity Downloads License

↕️ ir_axioms

Intuitive axiomatic retrieval experimentation.

ir_axioms is a Python framework for experimenting with axioms in information retrieval in a declarative way. It includes reference implementations of many commonly used retrieval axioms and is well integrated with the PyTerrier and Pyserini frameworks. Re-rank your search results today with ir_axioms and understand your retrieval systems better by analyzing axiomatic preferences!

Usage

Example Notebooks

We include several example notebooks to demonstrate re-ranking and preference evaluation in PyTerrier using ir_axioms. You can find all examples in the examples/ directory.

Backends

TODO

Slurm

If you want to play around with ir_axioms in Jupyter Lab, you can use this command to provision a server via Slurm:

scripts/slurm-start-jupyter-lab.sh

Citation

If you use this package or its components in your research, please cite the following paper describing the ir_axioms framework and its use-cases:

TODO

You can use the following BibTeX entry for citation:

@InProceedings{TODO,
}

Development

To build ir_axioms and contribute to its development you need to install the build, and setuptools and wheel packages:

pip install build setuptools wheel

(On most systems, these packages are already pre-installed.)

Installation

Install dependencies for developing the ir_axioms package:

pip install -e .

If you want to develop the Pyserini backend, install dependencies like this:

pip install -e .[pyserini]

If you want to develop the PyTerrier backend, install dependencies like this:

pip install -e .[pyterrier]

Testing

Install test dependencies:

pip install -e .[test]

Verify your changes against our test suite to verify.

flake8 ir_axioms tests
pylint -E ir_axioms tests.unit --ignore-paths=^ir_axioms.backend
pytest ir_axioms/ tests/unit/ --ignore=ir_axioms/backend/

Please also add tests for the axioms or integrations you've added.

Testing backend integrations

Install test dependencies (replace <BACKEND> with either pyserini or pyterrier):

pip install -e .[<BACKEND>]

Verify your changes against our test suite to verify.

pylint -E ir_axioms.backend.<BACKEND> tests.integration.<BACKEND>
pytest tests/integration/<BACKEND>/

Build wheel

A wheel for this package can be built by running:

python -m build

License

This repository is released under the MIT license. If you use ir_axioms in your research, we'd be glad if you'd cite us.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ir_axioms-0.1.1.tar.gz (40.7 kB view details)

Uploaded Source

Built Distribution

ir_axioms-0.1.1-py3-none-any.whl (59.4 kB view details)

Uploaded Python 3

File details

Details for the file ir_axioms-0.1.1.tar.gz.

File metadata

  • Download URL: ir_axioms-0.1.1.tar.gz
  • Upload date:
  • Size: 40.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for ir_axioms-0.1.1.tar.gz
Algorithm Hash digest
SHA256 910a838f6725cae2ff7535f3d3a2360a0ec8d31268014d425aa752088b3b1468
MD5 5b5320d2430cbb20b58de70861fbceb1
BLAKE2b-256 d3e8e9052caabb20125503224248352c9aaebf8c2086bf3177dd1ab2a24f966c

See more details on using hashes here.

File details

Details for the file ir_axioms-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: ir_axioms-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 59.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for ir_axioms-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bb57fe3332852f465bbe60954cc73981c20b93c6b4c340b284c30fb6cfddd85f
MD5 f05ba823b413dea4d43a6c54d147e941
BLAKE2b-256 f13fad1707b097876ae454b67d1ef5fc3c7e13fd22374b6ecaff2b3f4b1b2a28

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page