✨ 复制成功!

以文会友,打造好学人设!

📋 已复制到剪贴板:

什么是语义搜索?它与关键词搜索有何不同?

创建时间:2026-08-30 更新时间:2026-09-07 阅读次数:1029 次

一、什么是语义搜索?

在 RAG(检索增强生成)系统中,语义搜索是指基于含义而非仅仅依靠文字表面匹配来寻找信息的方法。

其核心原理是:利用嵌入模型(Embedding Model)将文本(无论是用户的查询还是知识库中的文档块)转换成高维空间中的向量。在这个向量空间中,语义上相似的文本在距离上会更接近。

工作流程:

  • 1、向量化:将用户的提问通过嵌入模型转换为一个查询向量。
  • 2、相似度计算:计算该查询向量与向量数据库中存储的所有文档块向量的相似度(通常是余弦相似度或点积)。
  • 3、召回:返回相似度得分最高的 Top-K 个文档块作为上下文,提供给 LLM 生成回答。

例子:

用户问:“怎么我的电脑?”

语义搜索能够找回包含“如何排除计算机故障”的文档。虽然“修”与“排除”不是同一个词,“电脑”与“计算机”也不是同一个词,但模型理解它们语义相近。


二、语义搜索与关键词搜索的区别

关键词搜索(如 BM25、TF-IDF,常见于 Elasticsearch 或传统数据库的 LIKE 查询)依赖于词汇匹配。如果文档里没有用户查询中的那个确切的词,就检索不到。

以下是两者的详细对比:

维度 关键词搜索 语义搜索
核心原理 词频统计、倒排索引、精确字符匹配 深度学习模型、向量相似度、意图理解
处理同义词 差(搜“汽车”找不到只写了“轿车”的文档) 强(理解“汽车”和“轿车”指代同一事物)
处理歧义 差(难以分辨“苹果”是水果还是手机,取决于词频) 较强(结合上下文向量判断含义,虽然仍有局限)
长尾查询 差(长句子容易匹配不到任何关键词) 强(能够捕捉整句话的意图)
可解释性 强(能明确知道是因为匹配到了哪个词) 弱(难以解释为什么这两段文字在向量空间里近)
响应速度/成本 极快,资源消耗低 相对较慢,需要 GPU 计算向量,存储成本高
精确匹配 极强(适合搜特定的序列号、姓名、错误代码) 较弱(向量检索可能会模糊掉精确的字符信息)

一句话总结:

关键词搜索是“查字典”,看字对不对;语义搜索是“问老师”,看意思懂不懂。


三、此题适合做面试题吗?

非常合适,且区分度高。

这是一个能够考察候选人深度广度的好问题。面试官可以通过这个问题判断候选人是只会调 API 的“调包侠”,还是真正理解 RAG 原理的工程师。

1. 为什么适合?(考察点)

  • 基础概念:考察候选人对 RAG 检索模块的基本理解。
  • 技术选型能力:是否能说出“只有语义搜索是不够的”,进而引出混合检索的概念。
  • 实践经验:有经验的候选人会提到“语义搜索对专有名词/型号不敏感,需要结合关键词搜索来兜底”。

2. 不同级别的候选人可能的回答表现

  • 初级/入门者

    • 回答:“语义搜索就是转成向量,算相似度;关键词搜索就是 like 查询。”
    • 评价:只停留在表面定义,但基本概念是对的。
  • 中级/有经验者

    • 回答:“两者有本质区别。语义搜索基于 Embedding,能理解同义词和意图,但计算成本高且对精确 ID 检索不友好。关键词搜索基于词频,精确度高但缺乏泛化能力。所以在生产环境中,我们通常使用 Hybrid Search(混合搜索),结合 BM25 和 Vector,再加上 RRF 算法融合结果。”
    • 评价:这是面试官最想听到的答案,展现了解决问题的实际能力。
  • 高级/专家

    • 回答:“除了混合检索,还需要考虑查询改写。很多时候用户的 query 本身语义很模糊,直接拿去搜效果很差。可能需要在检索前用 LLM 对 query 进行扩写或重写,或者使用 HyDE 假设性文档嵌入。另外,针对特定垂直领域,微调 Embedding 模型才能让语义搜索真正发挥效果。”
    • 评价:展现了系统架构和调优的深度。

四、总结建议

如果你准备面试,遇到这道题,可以按照以下框架回答:

  • 1、下定义:简述两者各自的核心原理(向量相似度 vs 词频匹配)。
  • 2、做对比:点出各自的优劣势(语义搜索擅长模糊意图,关键词搜索擅长精确匹配)。
  • 3、给方案重点提到在生产环境中通常不会只用一种,而是使用混合检索来取长补短。

📌 面试天下网:一款服务于大一新生的口袋书,让大家在无聊的公共课上可以学习大模型技术!
📌 网站公告:【悬赏 200 元/篇】寻找“大模型面试战场”的一手回忆录

评论专区

评论加载中...