目录
对比 Embedding 检索与关键词检索(如 BM25):RAG 场景下的适用性分析
一、什么是关键词检索与Embedding检索?
关键词检索(以 BM25 为代表)
Embedding 检索(语义向量检索)
二、在 RAG 场景下的适用性对比
举例说明
三、实践建议:融合式检索是趋势
四、总结
对比 Embedding 检索与关键词检索(如 BM25):RAG 场景下的适用性分析
近年来,Retrieval-Augmented Generation(RAG)成为大语言模型(LLM)结合外部知识的重要方式。在构建 RAG 系统时,检索模块的设计是核心之一,其中主流方法包括传统关键词检索(如 BM25)和基于向量的语义检索(Embedding)。这两种方式在实际应用中各有千秋,本文将从适用性、优势与劣势等角度,剖析它们在 RAG 场景下的差异。
一、什么是关键词检索与Embedding检索?
关键词检索(以 BM25 为代表)
BM25 是一种基于词频和逆文档频率的打分机制,是信息检索中经典的排序方法。其基本思想是:查询词在文档中出现得越多,且该词越稀有,该文档越相关。
优点:
-
快速、成熟、可解释性强;
-
不依赖训练,零资源也能用;
-
对于结构化、术语明确的文本检索效果好。
缺点:
-
完全基于字面匹配,无法处理语义;
-
同义词、上下文理解能力弱;
-
查询与文档词汇差异大时效果差。
Embedding 检索(语义向量检索)
Embedding 检索是将查询和文档分别编码为高维向量,在语义空间中进行相似度计算(如 cosine 相似度)。底层模型通常是 BERT、Sentence-BERT、MiniLM 等。
优点:
-
理解语义,能识别同义、泛化表达;
-
更适合长文本、复杂查询;
-
可结合监督学习进一步优化召回质量。
缺点:
-
模型训练和部署成本高;
-
对领域外数据泛化能力不一定强;
-
需要构建向量索引结构,占用更多资源。
二、在 RAG 场景下的适用性对比
RAG 结构中,检索质量直接影响生成效果。我们从几个关键维度进行对比:
维度 | BM25(关键词检索) | Embedding 检索 |
---|---|---|
语义理解能力 | 弱 | 强 |
召回准确率 | 高于 Embedding(在术语精确匹配时) | 高(尤其在开放域 QA、复杂语义表达) |
召回多样性 | 低(语义重复内容多) | 高(能捕捉不同表达) |
鲁棒性(拼写/同义/表述差异) | 差 | 强 |
部署复杂度 | 低 | 高 |
适合领域 | 法律、医疗、术语密集型内容 | 开放域、对话、多语言、多表达任务 |
对 LLM 生成影响 | 生成内容依赖于匹配的准确性 | 生成内容更自然、丰富 |
举例说明
BM25 更适合如下情境:
-
用户查询:“2023年中国GDP”,BM25 能找到标题、字段都包含“2023”“中国”“GDP”的文档;
-
用户提出精确法条或产品型号时。
Embedding 更适合如下情境:
-
用户问:“去年我国经济增长情况如何?”虽然没出现“2023年”“GDP”这些词,但语义上是一样的,Embedding 可召回正确文档;
-
用户表述不一致、包含错别字、口语化语言。
三、实践建议:融合式检索是趋势
现实中,这两类检索并非二选一。常见的做法是 “Hybrid 检索”,即关键词+Embedding 结合,优点互补:
-
先用 BM25 快速过滤,再用 Embedding 精排;
-
分别召回,再合并重排,提高多样性和语义覆盖;
-
结合 reranker(如 cross-encoder)进一步提升质量。
四、总结
在 RAG 系统中,选择何种检索方式,需权衡 应用场景、数据类型、用户习惯、响应速度与资源成本:
-
关键词检索(如 BM25)依旧适用于结构化、术语明确、低成本需求的场景;
-
Embedding 检索更适用于语义丰富、自然语言查询频繁的生成式 AI 场景;
-
两者结合,能达到更好的效果,尤其在企业级 RAG 系统中已成标配。
未来,随着多模态模型、领域微调 Embedding 的普及,Embedding 检索将在更多场景中替代关键词检索,成为 RAG 中的主力。
如果你正在构建 RAG 系统,不妨尝试对比这两种检索方式,并结合你的业务特点选择最佳策略。