Anserini 引入稠密检索:Lucene 的 HNSW 索引集成
信息检索
2023-04-25 v1
摘要
Anserini 是一个基于 Lucene、用 Java 编写的可复现信息检索研究工具包,近年来在社区中日益受到关注。它既提供 BM25 等“传统”词袋检索模型,也提供 SPLADE 等学习稀疏表示的检索能力。Pyserini 为 Anserini 提供 Python 接口,用户可借此访问稀疏与稠密检索模型,因为 Pyserini 以统一、一致的接口实现了对 Faiss 向量搜索库与 Lucene 倒排索引的绑定。然而,融合稀疏与稠密检索模型的混合技术需要将来自两个完全不同“软件栈”的结果拼接在一起,这造成了不必要的复杂性与低效。不过,Lucene 引入用于稠密向量搜索的 HNSW 索引,有望在单一软件框架内集成稠密与稀疏检索。我们正是在 Anserini 的背景下探索了这一集成。在 MS MARCO passage 和 BEIR 数据集上的实验表明,我们的 Anserini HNSW 集成仅使用 Lucene 即可支持稠密检索模型(相当)有效且(相当)高效的近似最近邻搜索。
引用
@article{arxiv.2304.12139,
title = {Anserini Gets Dense Retrieval: Integration of Lucene's HNSW Indexes},
author = {Xueguang Ma and Tommaso Teofili and Jimmy Lin},
journal= {arXiv preprint arXiv:2304.12139},
year = {2023}
}