遇见数据集

Maktabati/shamela-bm25

收藏
Hugging Face2026-05-30 更新2026-05-31 收录
官方服务:

资源简介:

Shamela BM25索引(SQLite FTS5)是一个用于[Maktabati/shamela-vectors]数据集的BM25全文搜索索引,覆盖完整的Al-Maktaba Al-Shamela语料库——包含8,589本古典伊斯兰书籍。该索引设计为混合搜索管道的词汇检索组件,结合BM25(此索引)和密集嵌入(shamela-vectors)通过RRF融合进行检索。

BM25 full-text search index for [Maktabati/shamela-vectors], covering the complete Al-Maktaba Al-Shamela corpus — 8,589 classical Islamic books. Designed as the lexical retrieval component of a hybrid search pipeline: BM25 (this repo) + Dense Embeddings (shamela-vectors) → RRF Fusion.

提供机构:
Maktabati
搜集汇总
数据集介绍
Maktabati/shamela-bm25 数据集图片
构建方式
Shamela BM25 Index 是为 Maktabati/shamela-vectors 配套构建的全文检索引擎,覆盖完整的 Al-Maktaba Al-Shamela 语料库——包含 8,589 部经典伊斯兰典籍。该索引基于 SQLite FTS5 实现,对语料进行分块处理,每块 512 个 token,块间重叠 50 个 token,共计约 400 万索引块。在预处理环节,索引对阿拉伯文本执行了去除变音符号、统一 alef 变体(أإآٱ → ا)、转化 taa marbouta(ة → ه)及转化 alif maqsura(ى → ي)等归一化操作,以兼容古典阿拉伯文书中常见的正字法变体。为确保与稠密向量集 shamel-vectors 无缝映射,每个索引块均包含一个通过确定性 UUID 算法生成的 point_id 字段,从而免去联结表的额外开销。
特点
该数据集的核心设计理念在于构建 BM25 与稠密嵌入协同工作的混合检索管线。纯语义检索虽擅长概念性查询,却常遗漏精确术语,而古典伊斯兰文献中用户使用现代标准阿拉伯语检索时极易错失古典阿拉伯语表述。BM25 索引凭借其精确的词汇匹配能力,在特定人名、经书术语等场景下表现卓越。该索引与 shamela-vectors 通过 RRF(倒数排名融合)机制结合,以 k=60 的参数计算融合分数,最终返回 Top-10 最优结果。这种双路检索策略在测试中展现出强大的互补性:以“فائدة بنكية”(银行利息)为例,混合检索既捕获了语义等价内容,又不会遗漏如“ربا”(高利贷)这样的精确词条。
使用方法
使用者可灵活选用预构建索引或自主重建两种方式。预构建索引可通过 huggingface_hub 库的 hf_hub_download 函数直接下载约 3GB 的 bm25_shamela.db 文件。自主重建则需预先获取 AuthenticIlm/Shamela4_Full_DB 语料库,安装 requirements.txt 中所列依赖,再运行 build_bm25_index.py 脚本并指定语料路径。检索时,通过 SQLite 的 FTS5 MATCH 子句对 text_norm 字段执行全文搜索,并按 rank 排序返回 point_id、书名、作者、页码及书籍编号等字段。该索引专为混合检索管线设计,推荐与 shamela-vectors 稠密向量集配合使用:先分别从 BM25 和稠密检索各自取 Top-150,经 RRF 融合后输出 Top-10 结果,从而在语义理解与精确匹配之间取得最优平衡。
背景与挑战
背景概述
在伊斯兰教研究与阿拉伯语自然语言处理领域,古典文本的数字化检索长期面临语义理解与精确匹配难以兼得的困境。为此,Maktabati团队于2024年发布了shamela-bm25数据集,该数据集基于Al-Maktaba Al-Shamela语料库构建,涵盖8,589部伊斯兰古典典籍,约400万个文本块。其核心研究人员依托SQLite FTS5引擎,构建了针对阿拉伯语古籍的BM25全文索引,旨在为混合检索流水线提供词法检索组件。该数据集与同团队发布的语义向量数据集shamela-vectors协同,通过RRF融合策略显著提升了阿拉伯语古典文本的检索性能,为伊斯兰文献学、计算语言学等领域树立了新的基准。
当前挑战
该数据集解决的领域挑战在于,阿拉伯语古典文本中的拼写变体(如أإآٱ归一化为ا)与现代标准阿拉伯语存在显著差异,导致纯语义检索难以捕捉精确术语。例如,用户查询'فائدة بنكية'时,密集向量模型可能忽略古典术语'ربا'。构建过程中面临的核心挑战包括:对约4百万文本块进行标准化的阿拉伯语预处理(去除变音符号、归一化字母),并确保与语义索引的point_id字段通过确定性UUID实现跨索引精准匹配,避免使用连接表带来的性能开销。此外,3GB的SQLite数据库需支持高达10M条记录的实时全文检索,对索引压缩与查询效率提出了严苛要求。
常用场景
经典使用场景
在阿拉伯伊斯兰古籍检索领域,shamela-bm25数据集作为经典词项检索组件,与稠密向量检索模型协同构建混合搜索管线。该数据集基于完整的Al-Maktaba Al-Shamela语料库,涵盖8,589部古典伊斯兰著作,经过精细的分块处理生成近400万条索引条目,支持BM25全文检索算法。研究者可通过点标识符(point_id)实现与语义嵌入数据集的无缝对接,在查询古典阿拉伯语文献时兼顾精确术语匹配与语义相关性,有效弥合现代标准阿拉伯语与古典文本变体之间的鸿沟。
实际应用
在实际应用中,shamela-bm25数据集支撑了伊斯兰学术研究中的多维度知识发现。研究人员可借助SQLite FTS5索引快速定位特定教法裁决、圣训传述脉络或历史人物生平记载,例如搜索关于无净礼拜(حكم الصلاة بغير وضوء)的古典论述时,系统能同时检索精确术语与同义表达。该数据集与shamela-vectors的联合使用已形成端到端混合检索管道,通过权重倒数融合算法将BM25与语义检索结果排序合并,在数字图书馆、伊斯兰法学研究平台及古典文献语料分析系统中发挥着不可或缺的引擎作用。
衍生相关工作
基于shamela-bm25数据集衍生了一系列推动阿拉伯古籍检索领域发展的经典工作。其与Maktabati/shamela-vectors数据集构成的混合检索方案,开创性地将BM25词项检索与基于多语言e5-base模型的稠密嵌入相结合,通过RRF融合策略实现了词项匹配与语义理解的深度协同。源语料库AuthenticIlm/Shamela4_Full_DB及其标准化处理流程,为后续研究者提供了可复现的索引构建脚本与预处理方法,催生出更多针对古典伊斯兰文献的检索增强生成系统与细粒度知识服务工具。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务