RAG下向量检索与关键词检索差异与场景区别
在RAG(检索增强生成)中,向量检索和关键词检索是两种核心的检索算法,它们的底层逻辑、适用场景和优劣势截然不同。以下从技术原理、算法差异到应用场景的对比分析:
一、核心差异
二、算法原理对比
1. 关键词检索(Keyword Search)
o 核心算法:如BM25(改进的TF-IDF)
o 原理:
o 词频(TF):统计关键词在文档中出现的频率。
o 逆文档频率(IDF):降低常见词的权重(如“的”“是”)。
o 公式:BM25 Score = Σ (TF * IDF)
o 特点:
o 严格依赖关键词匹配:检索结果必须包含查询中的关键词。
o 忽略语义:无法处理同义词(如“番茄” vs “西红柿”)或抽象表述。
2. 向量检索(Vector Search)
o 核心算法:基于神经网络的文本嵌入(Embedding)
o 原理:
o 文本向量化:用预训练模型(如BERT)将文本映射为稠密向量。
o 相似度计算:通过余弦相似度比较向量距离。
o 特点:
o 语义理解:能捕捉上下文和隐含意图(如“苹果”在不同语境下的含义)。
o 无需关键词重叠:即使查询和文档无相同词汇,也能匹配相关结果。
三、典型应用场景
1. 关键词检索的适用场景
o 精确匹配需求:搜索法律条文、专利、产品型号等需严格匹配术语的场景。
o 例:查询“2023年《民法典》第107条”,必须精确命中法条原文。
o 高频词主导的短文本:短问答、商品标题搜索等。
o 例:电商搜索“红色连衣裙”,需快速匹配标题中的关键词。
o 低算力环境:需快速响应且资源有限的场景(如移动端搜索)。
2. 向量检索的适用场景
o 语义模糊或抽象查询:问答系统、客服对话等需理解意图的场景。
o 例:用户问“如何缓解失眠”,需匹配“睡眠质量提升方法”等语义相关但无关键词重叠的文档。
o 多语言/同义词匹配:跨语言检索或处理同义词表达。
o 例:搜索“AI技术”时,能匹配“人工智能”“机器学习”等文档。
o 长文本理解:论文、报告等需综合上下文语义的场景。
四、混合检索(Hybrid Search)
实际应用中,常结合两种方法提升效果:
1 粗筛 + 精排:先用关键词检索缩小范围,再用向量检索排序。
2 加权融合:对关键词检索和向量检索的得分加权(如总得分 = 0.3*BM25 + 0.7*向量相似度)。
五、总结
关键结论:
o 关键词检索是“快而准”,适合明确目标的搜索
o 向量检索是“智能但慢”,适合开放语义理解
o 混合检索是两者优势互补的终极方案