ChatPaper.aiChatPaper

BM25S: 열정적인 희소 점수화를 통해 어휘 검색 속도를 크게 향상

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

July 4, 2024
저자: Xing Han Lù
cs.AI

초록

BM25S를 소개합니다. 이는 Numpy와 Scipy만을 의존하는 효율적인 Python 기반 BM25 구현체입니다. BM25S는 인덱싱 과정에서 BM25 점수를 적극적으로 계산하여 이를 희소 행렬에 저장함으로써 가장 널리 사용되는 Python 기반 프레임워크 대비 최대 500배의 속도 향상을 달성했습니다. 또한 인기 있는 상용 제품에서 사용되는 고도로 최적화된 Java 기반 구현체와 비교해서도 상당한 속도 향상을 보여줍니다. 마지막으로, BM25S는 Kamphuis 등(2020)의 연구를 기반으로 한 5가지 BM25 변형의 정확한 구현을 재현하며, 이를 위해 새로운 점수 이동 방법을 사용하여 비희소 변형에도 적극적인 점수 계산을 확장했습니다. 코드는 https://github.com/xhluca/bm25s에서 확인할 수 있습니다.
English
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

Summary

AI-Generated Summary

PDF133November 28, 2024