SPRINT: A Unified Toolkit for Evaluating and Demystifying Zero-shot Neural Sparse Retrieval

Nandan Thakur, Kexin Wang, Iryna Gurevych, Jimmy Lin
7/19/2023
cs.IRcs.CLcs.LG

Official code: thakur-nandan/sprint (48 stars, Apache-2.0, last commit 2023-07-25).

Abstract

Traditionally, sparse retrieval systems relied on lexical representations to retrieve documents, such as BM25, dominated information retrieval tasks. With the onset of pre-trained transformer models such as BERT, neural sparse retrieval has led to a new paradigm within retrieval. Despite the success, there has been limited software supporting different sparse retrievers running in a unified, common environment. This hinders practitioners from fairly comparing different sparse models and obtaining realistic evaluation results. Another missing piece is, that a majority of prior work evaluates sparse retrieval models on in-domain retrieval, i.e. on a single dataset: MS MARCO. However, a key requirement in practical retrieval systems requires models that can generalize well to unseen out-of-domain, i.e. zero-shot retrieval tasks. In this work, we provide SPRINT, a unified Python toolkit based on Pyserini and Lucene, supporting a common interface for evaluating neural sparse retrieval. The toolkit currently includes five built-in models: uniCOIL, DeepImpact, SPARTA, TILDEv2 and SPLADEv2. Users can also easily add customized models by defining their term weighting method. Using our toolkit, we establish strong and reproducible zero-shot sparse retrieval baselines across the well-acknowledged benchmark, BEIR. Our results demonstrate that SPLADEv2 achieves the best average score of 0.470 nDCG@10 on BEIR amongst all neural sparse retrievers. In this work, we further uncover the reasons behind its performance gain. We show that SPLADEv2 produces sparse representations with a majority of tokens outside of the original query and document which is often crucial for its performance gains, i.e. a limitation among its other sparse counterparts. We provide our SPRINT toolkit, models, and data used in our experiments publicly here at https://github.com/thakur-nandan/sprint.

View on arXivView PDF

Code Implementations(1)

Apache-2.0

SPRINT Toolkit helps you evaluate diverse neural sparse models easily using a single click on any IR dataset.

482PythonJan 26, 20223 years agoApache-2.0
beirevaluationsparse-retrievaltoolkit

Similar Papers

Cite this paper

@article{thakur2023sprint,
  title  = {SPRINT: A Unified Toolkit for Evaluating and Demystifying Zero-shot Neural Sparse Retrieval},
  author = {Nandan Thakur and Kexin Wang and Iryna Gurevych and Jimmy Lin},
  year   = {2023},
  eprint = {2307.10488},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2307.10488v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2307.10488.svg)](https://codeofpaper.com/paper/2307.10488)

Discussion