DPR(Karpukhin 等):稠密段落检索——向量检索的源头
Dense Passage Retrieval(DPR,稠密段落检索)由 Meta AI(当时称 Facebook AI Research)联合华盛顿大学、普林斯顿大学的研究者完成,2020 年 4 月提交预印本,EMNLP 2020 发表。它用一套简洁的双编码器架构证明:把问题与段落都编码成向量、按语义相似度匹配,可以在开放域问答上稳定超过经营多年的词面匹配检索 BM25。一句话结论:今天生成式引擎“理解你在问什么、然后去语义相近的地方找答案”的能力,源头就是这项工作——内容方的一切向量检索适配问题,都要回到这篇论文定义的游戏规则上来理解(向量检索的机制展开见站内向量检索机制卡)。
双编码器怎么工作:问题与段落各自成向量
DPR 的架构是两个独立的 BERT 编码器:一个把问题编码成向量,一个把段落编码成向量,两者落在同一个语义空间里,相似度用向量内积计算。训练目标是拉近“正确答案段落与问题”的向量距离、推远不相关段落。这个设计的工程价值在于不对称性——全部段落可以离线批量编码入库,线上每次只编码一个问题,再用近似最近邻检索从海量向量里捞回最相近的段落,速度快到可以在亿级文档上实时查询。
与 BM25 的对照是这篇论文的灵魂。BM25 这类稀疏检索靠词面重叠打分:问题里出现” caffeine “,含 caffeine 的段落得高分;措辞不同义、表述不同形的段落即便在语义上完全正确也会漏召回。DPR 把匹配从字符层抬到语义层:“怎么给咖啡机除垢”与“咖啡机水垢清理方法”在向量空间里彼此靠近,字面不重叠也照样命中。论文同时指出稠密与稀疏各有擅长,后续工程普遍把两者组合使用,混合检索的分工见混合检索机制卡。
对 GEO 监测的含义:语义匹配改变了什么
第一层含义是“没写那个词”不再等于不可见。词面时代,覆盖关键词是可见度的前提;语义时代,内容只要与问题的概念空间相邻就有机会被召回——这让按问题语义组织内容变得比按关键词表铺页面更有效,也解释了为什么同一个问题下,措辞与你完全不同的页面反而被引用。
第二层含义是“写了词”也不再保证可见。语义空间的相邻度由编码器决定,而编码器是别人的模型:你的行文风格、术语选择、段落粒度,都会影响向量落在空间的哪个位置。同义改写可能带来召回,过度堆砌术语反而可能让向量偏离自然提问的分布——这在机制上解释了关键词堆砌为什么在生成式引擎里是负收益(实验与机理见关键词堆砌术语卡)。
第三层含义关于监测口径本身。向量召回是概率性的,同题两次作答可能命中不同段落,监测单次结果会放大这种波动;把“该问题下引用了哪些页面”当作分布而不是单点来记录,才能看清语义相邻度的真实格局。候选池在向量召回之后还有重排与过滤多道关卡,全部走完才轮到展示层,语义相邻只是入场资格。
向量召回的时代还能做关键词研究吗
可以,但研究对象换了。词面时代的关键词研究是“人们搜什么词”,语义时代对应的研究是“人们的问题在概念空间里聚成哪些簇”——从搜索词报告与客服记录提炼问题的语义结构,仍然决定内容选题,只是写作时不必逐字复现问句,而要把每个语义簇的同义表述、别称、规范术语一次写全。一份选题只覆盖问法 A,向量空间里它只占据一个点;把 A 的三种自然变体与两个别称都自然写进内容,它就占据一片邻域,被任意一种问法召回的概率都会抬升。
实操里还有一个反例要防:为了语义覆盖把一页写成多主题大杂烩。向量编码以段落为单位,页级主题混乱不直接惩罚段落向量,但段落内部的主题漂移会——一段前半讲选型、后半讲价格的文字,向量落在两个语义簇之间,哪边都算“相近但不最近”,在竞争激烈的查询里恰好排不进前列。一段一事的纪律,在语义检索下比在词面检索下更硬。
对内容工程的含义与证据口径
DPR 的段落粒度给内容写作留下了一条最重要的工程纪律:以段落为检索单元,意味着每一段都应该自含一个完整语义单元——问题在段内提出、答案在段内给足,不依赖跨段补全。百词上下文的切块口径在今天各家引擎的引用行为里仍然可见,切块策略的展开见切块策略机制卡;把“每段可独立成答案”变成写作手法的路径见自含写作方法页。此外,同义词与领域术语要写全:语义空间不是万能的,低频专业概念的向量表示偏弱,把行业通称与规范名称在文中并置,能显著改善专业内容的召回。
证据徽章口径交代如下。本卡定级学术:双编码器机制与基准结论出自经同行评审的论文,题录与引用以 arXiv 与 ACL Anthology 官方页面为准。边界有两条:其一,DPR 是开放域问答的学术系统,商业引擎的向量检索在其上叠加了大量私有改进,机制同源但参数与实现各有不同;其二,论文测的是召回质量,不涉及答案合成与引用展示,从“被召回”到“被引用”之间还有重排、评估与合成多道关卡。纵向阅读建议:DPR 定义了向量检索的起点,RAG 综述给出检索之上的完整管线(见RAG 综述文献卡),两者合读可以看清从向量匹配到答案引用的全链路。
核心结论
- 双编码器架构:问题与段落各自独立编码成稠密向量,用向量相似度取代词面重叠匹配,段落可离线编码、在线只需编码问题。
- 在多个开放域问答基准上超过 BM25 等稀疏检索方法——语义相关但措辞不同的段落第一次被稳定召回。
- 检索单元是段落级切块:独立成段的百词上下文作为索引与召回的基本单位。
引用来源
- arXiv:2004.04906(论文 abs 页)
- EMNLP 2020 论文页(ACL Anthology)