---
title: "检索靠字面重合，还是学出来的向量？"
description: "公平比较检索器，要固定问题、文档库和判据，只换一个部件。"
---

## 这一页为什么在这里

第二个决策点：知识放在外面以后，第一件事是“取”。2020 年春，检索靠字面重合（BM25），还是学出来的向量（DPR）？先让学生押，再让学生说“怎么比才公平”：同一批问题、同一个文档库、同一个判据，只换检索器。这是方法线的第二招：只换一个部件，差别才算得到它头上。

## 上屏

- 第 1 步：两栏。左「字面重合（BM25）」：问题和段落都看成一袋词；共有的词越多、越少见，分越高；几十年来最强的基线。右「学出来的向量」：问题和段落各变成一个向量（第三讲那一招），意思近的离得近；用词不同、意思相同也能找到；2020 年以前在开放域问答上没有稳赢 BM25。底部：2020 年春，要在 2,100 万段维基百科里检索，你押哪个？
- 第 2 步：题面“怎么比才公平？”四行对照框：同一批问题（Natural Questions：真实的搜索问题）｜同一个文档库（2,100 万段维基百科，每段 100 词）｜同一个判据（取回的前 20 段里有没有答案）｜只换：检索器（高亮）。

## 讲

### 第 1 步 · 教师可说的话

在两种检索方案之间押注

知识放在外面，第一件事是“取”。2020 年以前，取靠字面重合，BM25 这类方法用了几十年，又快又稳。学出来的向量早有人试，意思相近就能找到，哪怕用词不同；但在开放域问答上一直没稳赢。2020 年春天，换你来给两千多万段维基百科做检索，押哪个？

#### 指图与比较

在两种检索方案之间押注

### 第 2 步 · 教师可说的话

设计公平的部件比较

押之前先想：怎么比才算公平？问题要一样，文档库要一样，判据要一样，比如前 20 段里有没有答案；只换检索器这一个部件。否则分数高了，你分不清是检索器的功劳，还是别的东西变了。

#### 指图与比较

设计公平的部件比较

### 本页衔接

下一页看同分布下只换检索器的真实结果。

### 连续教师稿原文

知识放在外面，第一件事是“取”。2020 年以前，取靠字面重合，BM25 这类方法用了几十年，又快又稳。学出来的向量早有人试，意思相近就能找到，哪怕用词不同；但在开放域问答上一直没稳赢。2020 年春天，换你来给两千多万段维基百科做检索，押哪个？

押之前先想：怎么比才算公平？问题要一样，文档库要一样，判据要一样，比如前 20 段里有没有答案；只换检索器这一个部件。否则分数高了，你分不清是检索器的功劳，还是别的东西变了。

## 完整推理

**BM25 的直觉。** 把问题和段落都看成一袋词，不管顺序。一个词在段落里出现得越多，分越高，但增长会饱和（词频）；这个词在整个文档库里越少见，越有区分力，权重越大（逆文档频率）；长段落按长度归一，避免靠篇幅占便宜。它不用训练，又快又稳，几十年里一直是检索的强基线。弱点是认字不认意：“汽车”和“轿车”对它是两个词。

**学出来的向量（双编码器）。** 用一个编码器把问题变成向量，另一个编码器把段落变成向量，用两个向量的内积衡量相关；意思相近的离得近（第三讲的嵌入）。好处是用词不同也能找到；难处是要有足够的问答对来训练。在 2020 年以前，这类方法在开放域问答上并没有稳定赢过 BM25。

**当年的两难。** RAG 需要一个检索器从 2,100 万段里取材料。押 BM25 稳妥；押向量，可能更好，也可能白忙。

**怎么比才公平。** 问题、文档库、判据都相同，只换检索器；否则分数差了，分不清是检索器的功劳，还是别的东西变了。DPR 用的判据是“前 20 段里有没有含答案的段落”（top-20 检索准确率），它测的是取到没有，不是最后答对没有：取到以后，阅读器还可能读错。

## 学生可能的回答与误区

- 第 1 步｜多数人押向量，理由是“深度学习更好”。这正是下两页要检验的直觉：Q09 里它赢了，Q10 里换个领域它输了。
- 第 1 步｜押 BM25 的理由常是“专有名词和编号多的时候，字面匹配更准”。这是对的直觉，Q10 会看到它在哪些领域成立。
- 第 2 步｜“比最后的问答准确率就行。”那样会把阅读器的差别也算进来；要评检索器，就只看检索这一步。
- 第 2 步｜把“前 20 段含答案的比例”当成最终问答准确率。它只说明取到了，取到和用对是两关（Q12）。

## 教学构造与出处

- 教学构造：两栏的概括与“你押哪个”的题面是课件做的。
- [DPR · Dense Passage Retrieval for Open-Domain Question Answering](https://arxiv.org/abs/2004.04906)：Karpukhin 等，arXiv 2004.04906v3，EMNLP 2020；读 §2–§4：BM25 基线、双编码器、维基百科切成 100 词一段（约 2,100 万段）、前 k 段检索准确率。来源支持。
- 第三讲讲过的向量表示（嵌入）在这里当作已知。

[在课堂中打开](/slides/lexical-or-dense)
