BM25S:通过积极稀疏评分实现词典搜索的数量级加速
信息检索
2024-07-08 v1 计算与语言
摘要
我们介绍 BM25S,这是一个高效的 Python 实现,仅依赖 Numpy 和 Scipy。BM25S 在与最流行的 Python 基于框架相比实现了最高可达 500 倍的加速,通过在索引时积极计算 BM25 分数并存储到稀疏矩阵中。它还在相当程度上超越了高度优化的 Java 实现,这些实现被广泛用于商业产品。最后,BM25S 通过一种新颖的得分偏移方法,将积极评分扩展到非稀疏变体,从而复现了基于 Kamphuis 等人 (2020) 的五个 BM25 变体的确切实现。代码可在 https://github.com/xhluca/bm25s 查找。
引用
@article{arxiv.2407.03618,
title = {BM25S: Orders of magnitude faster lexical search via eager sparse scoring},
author = {Xing Han Lù},
journal= {arXiv preprint arXiv:2407.03618},
year = {2024}
}
备注
Technical Report