ir_explain: a Python Library of Explainable IR Methods
Sourav Saha, Harsh Agarwal, V Venktesh, Avishek Anand, Swastik Mohanty, Debapriyo Majumdar, Mandar Mitra
TL;DR
The paper introduces ir_explain, an open-source Python library that unifies major Explainable IR (ExIR) methods across post-hoc (pointwise, pairwise, listwise) and interpretable-by-design paradigms, with integrated support for common IR toolkits and datasets. It outlines a modular architecture comprising three explainer families, probing, evaluation, visualization, and utilities to reproduce state-of-the-art baselines and experiment with new approaches. Through demonstrations on robustness, ranking-approximation, replicability, and RAG pipelines, the work highlights the practical value of principled explanations for neural ranking models and debugging IR systems. The authors emphasize integration with Pyserini and ir_datasets (with PyTerrier integration forthcoming) to lower barriers to entry and foster rigorous ExIR research and application.
Abstract
While recent advancements in Neural Ranking Models have resulted in significant improvements over traditional statistical retrieval models, it is generally acknowledged that the use of large neural architectures and the application of complex language models in Information Retrieval (IR) have reduced the transparency of retrieval methods. Consequently, Explainability and Interpretability have emerged as important research topics in IR. Several axiomatic and post-hoc explanation methods, as well as approaches that attempt to be interpretable-by-design, have been proposed. This article presents \irexplain, an open-source Python library that implements a variety of well-known techniques for Explainable IR (ExIR) within a common, extensible framework. \irexplain supports the three standard categories of post-hoc explanations, namely pointwise, pairwise, and listwise explanations. The library is designed to make it easy to reproduce state-of-the-art ExIR baselines on standard test collections, as well as to explore new approaches to explaining IR models and methods. To facilitate adoption, \irexplain is well-integrated with widely-used toolkits such as Pyserini and \irdatasets.
