信息检索
信息检索
向量路(看"意思像不像"):稠密检索
三步:
- 把查询变成一串数字(512 维向量)
- 库里每一块早就是同样长度的向量(入库时就编好了)
- 逐个算余弦相似度——两个向量夹角的余弦,越接近 1 表示越像
- 按分数从高到低排,取前 N 名
它匹配的是整体感觉。查询和块哪怕一个字都不重合,只要"说的是一回事",分数也可能很高。
BM25 路(看"词对不对得上"):稀疏检索
四步:
- 分词——把查询和块都切成词(这里是单字 + 相邻两字的组合)
- 对每个查询词,在这块里算三个东西:
| 因子 | 在算什么 | 直觉 |
|---|---|---|
| 词频 tf | 这个词在这块里出现几次 | 出现越多越相关,但收益递减(出现 10 次 ≠ 10 倍) |
| IDF | 这个词在整个库里稀不稀罕 | "的"到处都是 → 几乎不加分;"令牌桶"很稀有 → 加很多分 |
| 长度归一化 | 这块比平均块长还是短 | 长块天然更容易撞到词,要惩罚,否则长块霸榜 |
- 把每个词的分数加起来
- 从高到低排,取前 N
它匹配的是字面重合。查询里没有的词,它一个都匹配不上。

浙公网安备 33010602011771号