本页章节
实战五 / 从真实段落到可核对的候选
中文检索实战:词频、语义与近似索引怎样比较?
对同一批真实工程段落运行 BM25、固定版本的 Embedding 模型、Flat、IVF 和候选内重排。每道问题保留指定证据和实际返回段落,先区分召回与排序,再解释变化。
真实文本与可检查的证据标注
段落来自自然语言项目的同一份冻结语料,保留原文、文档名和内容哈希。每个主题编写一个术语型问题和一个换说法的问题,各指定一段能够直接回读的证据。标签在编码和检索之前保存,没有根据哪个方法胜出修改题目。
这是本仓库编写的小型教学集合,没有做盲评或穷尽相关性标注。因此指标称为“指定证据 Hit”和“指定证据 MRR@10”;未标注段落不被断言为不相关,也不据此报告通用检索精确率。索引包含全部可检索段落,验证/测试划分约束的是问题来源组,不是把测试证据排除在索引外。
四个环节分别做了什么?
词频基线
BM25 的 k1=1.2、b=0.75;中文按单字,英文按词和数字分解。它是实际计算的词频基线,没有使用学习型中文分词器。
真实模型编码
BAAI/bge-small-zh-v1.5,固定提交 7999e1d3359715c523056ef9478215996d62a620。按发布者说明取 CLS 并 L2 归一化;查询加检索指令,段落不加。CPU float32、最大 512 token,本轮没有截断。
完整与近似索引
Faiss FlatIP 作完整参考;IVFFlat 固定 16 个列表,分别读取 1、4、16 个列表。向量与问题相同,近邻 Recall@10 单独相对于 Flat 计算。
候选内重排
在 Flat 的同一批前 10 个候选中,融合向量名次与全局 BM25 名次,按 RRF 常数 60 排序。这是实际排名融合,未运行神经 cross-encoder。
模型权重先按发布者 LFS 哈希校验,随后在本机离线编码。模型与索引的运行环境、输入和每个阶段的实际输出都在完整来源中保留。
从完整切片回到某一道题
并行召回补回了什么,融合排序又改变了什么?
固定原始问题、标签与两路真实前十名,取 BM25 和 BGE Flat 的候选并集,再做截断 RRF:每路只为进入自身前十的段落贡献倒数名次分,常数固定为 60,得分相同按段落哈希排序。每题完整候选及各路名次保存,最终仍只输出十条。
这是在已查看的 36 道题上追加的机制比较,未更换题目、标注、权重或调参选赢家。来源组区间只反映这些观察组的重采样敏感性;继续开发后的确认结论需要新的独立问题集。
观察结果以后,先检查哪一层?
词频与表示能力
本轮 BM25 的指定证据命中高于当前 BGE 小模型。题目、词汇、模型、查询指令与证据标注共同限定这项观察;不能概括为所有中文任务或所有 Embedding 模型的结论。
索引近似与任务相关性
IVF 可以漏掉 Flat 的向量近邻,完整向量近邻也不保证就是指定证据。两个分母分别报告,读取全部列表在本轮恢复了 Flat 的前 10 近邻集合。
候选内重排与并集召回
原始 RRF 只重排 Flat top-10,无法补回集合外证据。追加实验先合并 BM25 与 Flat 的前十,因此可能从 BM25 带回 Flat 漏掉的证据;最终截到十条时也可能再次丢失。应分别核对候选并集与最终列表。
小集合与生产系统
本轮没有训练模型、调参选赢家、测生产延迟或进行 RAG 答案生成。后续需要扩大独立问题集、完善相关性标注,并把编码成本、索引成本和下游回答质量分别测量。
完整来源包含模型与索引,可以离线核验
原始检索包包含 36 问的全部候选与得分、877 段原文、相关证据、token ID、归一化向量、实际 Flat/IVF 索引、模型的精确版本与 SHA-256。追加比较包保存原始报告、候选并集、配对导入 JSON 和全部重采样分布;没有重新编码或训练。原始运行库冲突及分进程修复的记录也保留。独立检查会重新计算 BM25、指标和向量近邻,并重新编码抽样输入;字节身份与浮点容差分别核对。
适用范围与一手资料
本站 877 段自然语言与 36 个事先指定证据的问题,查询按来源文档分组为验证/测试。固定 BGE 本机编码,BM25、Faiss Flat/IVF 与候选内 RRF 实际运行;追加两路前十并集、截断 RRF 与来源组配对重采样。新增比较复用已查看的题目,属探索性证据;标注不穷尽,不作通用检索或生产延迟结论。
公式与机制的原始依据 · 5 项
- BAAI · bge-small-zh-v1.5, revision 7999e1d固定发布者权重版本与 LFS SHA-256;2026-10-29 核对模型卡的 CLS、L2 归一化和仅查询加检索指令;不引用旧排行榜作为本轮成绩
- Faiss · Faiss indexesFlat、IVFFlat、nprobe 与 HNSW 搜索范围;正文于 2026-10-28 核对
- Cormack, Clarke & Büttcher · Reciprocal Rank Fusion (SIGIR 2009)2026-10-29 核对名次倒数求和与常数 60;本站分别比较固定 Flat top-10 内重排和 BM25/Flat 前十并集的截断 RRF,不复现论文 TREC 结果
- SciPy · scipy.stats.bootstrap配对同步重采样、percentile 区间与退化分布;本例独立实现,非 SciPy 默认 BCa
- The Hitchhiker's Guide to Testing Statistical Significance in NLP (2018)配对、重采样与指标差异检验