TensorX
返回文献探索

Paper · arXiv 2407.03618

BM25S: Orders of magnitude faster lexical search via eager sparse scoring

Xing Han Lù

14 upvotesJuly 4, 2024arXiv 预印本
AI 摘要

BM25S provides a fast and efficient Python implementation of BM25 using sparse matrices and eager scoring, achieving significant speedups over popular Python and Java-based frameworks.

Abstract

We introduce BM25S, an efficient Python-based implementation of BM25 that only depends on Numpy and Scipy. BM25S achieves up to a 500x speedup compared to the most popular Python-based framework by eagerly computing BM25 scores during indexing and storing them into sparse matrices. It also achieves considerable speedups compared to highly optimized Java-based implementations, which are used by popular commercial products. Finally, BM25S reproduces the exact implementation of five BM25 variants based on Kamphuis et al. (2020) by extending eager scoring to non-sparse variants using a novel score shifting method. The code can be found at https://github.com/xhluca/bm25s

北京市昌平区探索星信息技术及软件开发工作室

京ICP备2026059466号
BM25S: Orders of magnitude faster lexical search via eager sparse scoring | TensorX