Maron-Kuhns 1960 — 检索不是匹配,是猜"对你有用的概率"
是什么
这篇 1960 年的论文做了一件后来影响所有搜索引擎的事——把”找文档”重新定义成”按概率排序”。
在他们之前,检索是这样:你输关键词 machine learning,系统去文档库里找贴了这两个标签的文档,找到就返回,找不到就空。这是布尔检索(boolean retrieval),结果非黑即白。
Maron 和 Kuhns 说:等一下,“这篇文档对你有没有用”本质上是个概率——P(对用户有用 | 文档内容, 用户问题)。系统该做的不是机械匹配,而是把所有文档按这个概率从高到低排个序返回。
日常类比:旧办法像图书馆按书脊上的标签分类——书脊贴了”机器学习”才进框。Maron-Kuhns 的办法像有经验的图书管理员——你说”我想入门 ML”,他不查标签,他凭经验猜哪本书帮到你的可能性最大,按可能性从高到低推给你。
这个看起来”哲学化”的转向,是过去 60 年所有 IR 研究——BM25 / 语言模型 IR / 神经检索——共同的祖宗。
为什么重要
不理解这篇论文,下面这些事都没法解释:
- 为什么 Google 搜索结果是”排序的”而不是”匹配的”——这个排序范式 1960 年就立好了
- 为什么 BM25 公式里都是概率(
P(term | relevant)),不是简单的关键词计数 - 为什么 ChatGPT 的检索增强(RAG)也用 dense retrieval 打分排序,而不是关键词过滤
- 为什么 1960 年的论文 60 年后还在每篇 IR 论文的引言里被引
核心要点
论文做的三件事,每一件都开了一条河:
-
把相关性写成概率:以前的检索假设”文档要么相关要么无关”。Maron-Kuhns 说不对——相关是个程度,可以用概率
P(rel | q, d)表达。这是从二值逻辑到概率论的范式跃迁。 -
概率索引(probabilistic indexing):以前一个词要么”是文档关键词”要么不是。他们改成给每个 (term, document) 配一个权重——这个词代表这篇文档主题的概率。这是后来所有 term weighting(TF-IDF / BM25 / embedding)的源头。
-
按概率排序返回(ranked retrieval):检索结果不是”满足条件的集合”,而是”按
P(rel | q, d)降序的列表”。这条原则后来被 Robertson 1977 正式定理化为 概率排序原理(Probability Ranking Principle, PRP)。
三件事合起来:检索 = 估计概率 + 按概率排序。这就是今天所有搜索引擎的骨架。
论文里的那个公式(看意思就好,不必背):
P(rel | q, d) ∝ P(q | rel, d) · P(rel | d)读法:给定查询 q 和文档 d,文档相关的概率,正比于”如果文档相关,用户会发出这个查询的概率”乘以”文档相关的先验概率”。这是贝叶斯在 IR 里的第一次正式登场。
关键点:估这个概率需要假设——他们假设 term 之间独立、用户的查询行为可建模。这些假设后来被一一挑战、改良,但范式没变。
实践案例
案例 1:今天的 Lucene / Elasticsearch 怎么继承这个思想
你在 Elasticsearch 里搜 kafka tutorial,默认排序用的是 BM25——它本质就是估计 P(rel | "kafka tutorial", document_i),然后降序排。
GET /docs/_search{ "query": { "match": { "content": "kafka tutorial" } } }返回的 _score 字段就是这个概率(的某种代理)。Maron-Kuhns 60 年前定义的”按概率排序”,今天每天有几十亿次调用在执行。
案例 2:BM25 公式里能看到 1960 年的影子
BM25 给一个文档打分,关键项是:
IDF(qi) = log((N - df + 0.5) / (df + 0.5))这里 N 是总文档数,df 是含该词的文档数。这个 log 不是凑出来的——它是从 P(rel | q, d) / P(¬rel | q, d) 取对数推出来的概率比值。1960 年定的”用概率”,1976 年 Robertson 才把这个概率展开成可算公式,1994 年 BM25 才用它打榜 TREC。30 多年的链条。
案例 3:RAG 也是 PRP 的徒孙
LLM 的 RAG(检索增强生成)流程:
- 把用户问题和所有文档都过 BERT,得到向量
- 算余弦相似度
cos(q_vec, d_vec) - 取 top-K 喂给 LLM
第 2 步的余弦相似度,本质就是在估 P(rel | q, d)——只是用神经网络估而不是概率公式估。模型变了,范式没变。
案例 4:为什么布尔检索还活着但只在边角料
今天 SQL 的 WHERE name LIKE '%kafka%'、grep、正则——本质都是 1960 年之前的布尔检索。它们没死是因为有些场景就需要精确匹配(找特定文件、合规审计、日志告警)。
但凡是”用户问一个模糊问题、系统给若干候选”的场景,几乎全部走概率排序。这条分水岭就是 Maron-Kuhns 1960 划下的。
踩过的坑
-
相关性是主观的,但模型当成可估计的概率:A 觉得相关 B 觉得不相关怎么办?论文当时没解——后续工作靠用户点击日志、众包标注、A/B 测试才补上。
-
term 独立性假设太强:Maron-Kuhns(以及后续 BIM / BM25)都假设词之间独立——
P(t1, t2 | rel) = P(t1|rel) · P(t2|rel)。这明显不真(“machine learning” 两词高度相关),但能简化估计。神经检索才打破这个假设。 -
概率怎么估:论文给了框架但没说怎么从语料估
P(term | relevant)——因为 1960 年根本没有大规模相关性标注。这个洞要等 1976 年 Robertson-Sparck Jones 用二值近似,才有可操作版本。问题本质是:理论说要估什么,没说怎么估。 -
被引的频率远大于被读的频率:很多人引这篇当祖师爷,但论文本身用 1960 年的术语写,有些表述今天看起来很费劲。读 Robertson-Zaragoza 2009 综述比啃原文更高效。
适用 vs 不适用场景
适用:
- 任何”把候选项按相关性排序”的系统:搜索、推荐、问答检索、RAG
- 想理解 BM25 / 语言模型 IR 为什么长那样——必须先懂”概率排序”这个范式
- 设计排序系统时——决定打分函数前先问”我估的是哪个概率”
不适用:
- 严格的精确匹配场景(SQL / 正则)——不是排序问题
- 完全用规则的检索(早期图书馆系统)——概率框架反而过度复杂
- 不需要排序、只需要 yes/no 的场景(垃圾邮件过滤的硬阈值版本)
- 候选数极少(< 10 个)的场景——直接展示比排序成本低
历史小故事(可跳过)
- 1960 年的硬件:IBM 701 刚商用几年,整个内存几 KB;连关键词检索都属于”高级技术”
- 作者背景:Maron 在 RAND 公司,研究核武年代的导弹文档检索;Kuhns 是数学家。两人合作把”检索”抬到概率论的高度
- 同期对手:Luhn 1957 提出 TF(term frequency)权重,但还是”匹配范式”;Salton 1965 才造出向量空间模型,是另一条线
- 领先了 30 年:1960 年提出”按概率排序”,但工业界(Google / Lucene)真用上是 1990s。理论早期得不像话
- 冷遇期:1960 - 1976 这 16 年几乎没人接力——不是论文不好,是没数据没算力。Robertson-Sparck Jones 1976 重新点燃这条线,1990s TREC 评测年代才真正进入主流
学到什么
- 范式比公式重要:BM25 公式细节会过时,但”按相关性概率排序”这个范式 60 年没变
- 从二值到概率的跃迁:把硬判断(rel / ¬rel)改成软概率,几乎所有 ML 问题都受益于这一招
- 理论 → 算法 → 工程的时间尺度可以是 30 年:1960 提框架,1976 给算法,1994 调出 BM25,2010s 工业普及
- 看祖师爷论文不一定要读原文:思想已经被几十篇综述吸收过,读综述(Robertson-Zaragoza 2009)效率更高
- 原始论文常常”对但没用”:1960 年提出框架但缺可操作算法——这是好理论的常态。后续 30 年的工作不是推翻它,而是把它变成能跑的东西
延伸阅读
- 综述(强推):Robertson & Zaragoza, “The Probabilistic Relevance Framework: BM25 and Beyond” (2009) —— 把 1960 → BM25 全链条讲透,PDF 70 页
- 教材:Manning, Raghavan, Schütze, Introduction to Information Retrieval, Ch.11 —— 概率检索章节
- 论文 PDF:Maron-Kuhns 1960 JACM —— 原文,需要 ACM 订阅
- okapi-bm25-1994 —— 这条概率范式 34 年后落地成 BM25
- salton-vector-space —— 同期另一条 IR 主线(向量空间模型)
关联
- okapi-bm25-1994 —— BM25 的概率框架直接继承自 Maron-Kuhns
- salton-vector-space —— 同期对手范式(向量空间),后来与概率范式融合
- shannon-1948 —— 信息论给”用概率描述消息”提供了数学基础
- ponte-croft-lm-ir —— 1998 把”概率”换成”语言模型”,是这条线的 1990s 后裔
- luhn-1957 —— 同期对手范式(词频统计),与 Maron-Kuhns 的概率范式相互补充
- attention —— 注意力机制本质是给 query 和 key 打”相关性概率”,思想同源
反向链接
- attention —— Attention Is All You Need
- shannon-1948 —— Shannon 1948 — 信息论的诞生