Litcius/Paper detail

ranx.fuse: A Python Library for Metasearch

Elias Bassani, Luca Romelli

2022Proceedings of the 31st ACM International Conference on Information & Knowledge Management16 citationsDOIOpen Access PDF

Abstract

This paper presents ranx.fuse, a Python library for Metasearch. Built following a user-centered design, it provides easy-to-use tools for combining the results of multiple search engines. ranx.fuse comprises 25 Metasearch algorithms implemented with Numba, a just-in-time compiler for Python code, for efficient vector operations and automatic parallelization. Moreover, in conjunction with the Metasearch algorithms, our library implements six normalization strategies that transform the search engines' result lists to make them comparable, a mandatory step for Metasearch. Finally, as many Metasearch algorithms require a training or optimization step, ranx.fuse offers a convenient functionality for their optimization that evaluates pre-defined hyper-parameters configurations via grid search. By relying on the provided functions, the user can optimally combine the results of multiple search engines in very few lines of code. ranx.fuse can also serve as a user-friendly tool for fusing the rankings computed by a first-stage retriever and a re-ranker, as a library providing several baselines for Metasearch, and as a playground to test novel normalization strategies.

Topics & Concepts

Metasearch engineComputer sciencePython (programming language)Information retrievalCompilerNormalization (sociology)Search engineFuse (electrical)Programming languageEngineeringAnthropologySociologyElectrical engineeringWeb search queryWeb Data Mining and AnalysisData Stream Mining TechniquesSoftware Engineering Research