11 天前

BM25S:通过积极稀疏打分实现数量级加速的词法搜索

Xing Han Lù
BM25S:通过积极稀疏打分实现数量级加速的词法搜索
摘要

我们提出 BM25S,这是一个基于 Python 的高效 BM25 实现,仅依赖 NumPy 和 SciPy。BM25S 在索引阶段通过预先计算 BM25 分数并将其存储为稀疏矩阵,相较于目前最流行的 Python 框架,速度最高提升达 500 倍。此外,与广泛应用于主流商业产品的高度优化的 Java 实现相比,BM25S 也实现了显著的性能提升。最后,BM25S 通过引入一种新颖的分数偏移(score shifting)方法,将预计算机制扩展至非稀疏版本,精确复现了 Kamphuis 等人(2020)提出的五种 BM25 变体的实现。代码开源地址为:https://github.com/xhluca/bm25s。

BM25S:通过积极稀疏打分实现数量级加速的词法搜索 | 最新论文 | HyperAI超神经