跳到主要内容

当向量搜索失效:为什么知识图谱能处理 Embedding 无法解决的查询

· 阅读需 11 分钟
Tian Pan
Software Engineer

向量搜索已成为 RAG 系统的默认检索原语。嵌入你的文档,嵌入查询,查找最近邻 —— 这一过程简单、快速,且对于大多数问题效果惊人。但在生产环境部署中,开发者往往会遇到同样的瓶颈:某些查询尽管相似度得分很高,返回的却是垃圾结果;某些多文档推理任务会无声无息地失败;随着复杂度的增加,某些实体密集型查询会退化为随机噪声。

问题不在于嵌入质量或索引大小,而在于语义相似性对于一大部分检索问题来说是错误的抽象方式。知识图谱并不是向量搜索的替代品 —— 它们解决的是结构完全不同的问题。理解哪些问题属于哪种工具,是区分脆弱的 RAG 流水线与能在生产环境中稳健运行的系统的关键。

两种原语及其本质作用

向量搜索回答的问题是:哪些文档在语义上与此查询相似? 它将文本压缩为一个高维空间中的点,然后寻找附近的点。其基本操作是嵌入空间中的距离。

知识图谱回答的是一个不同的问题:存在哪些实体,它们之间有什么关系,通过遍历这些关系我可以推导出什么? 其基本操作是图遍历 —— 沿着节点之间的边进行追踪。

这些并不是对相同数据的等效操作。距离和连通性是正交的属性。一篇关于“2 型糖尿病治疗方案”的文档和一篇关于“青少年胰岛素抵抗”的文档在嵌入空间中可能相距甚远,但通过一个患有这两种疾病的患者实体,它们又存在关键的联系。除非查询本身弥合了这一差距,否则向量搜索会遗漏这种联系。而图遍历通过沿着边追踪,能够直接找到它。

语义相似性在哪里失效

多跳关系查询是最明显的失效模式。“查找所有引用了引用了 Smith 2019 的论文的论文”需要遍历“节点 → 节点 → 节点”。无论嵌入质量多高,都无法将其表达为最近邻搜索。从定义上讲,这类查询就是图遍历。这同样适用于组织架构查询、供应链追溯、引用网络,以及任何带有“在 X 的 Y 中”结构的疑问。

噪声下的实体消歧是一个更隐蔽的失效点。当同一个现实世界实体以不同的表现形式出现时 —— 例如 “JPMorgan”、“JP Morgan Chase”、“JPM”、“这家银行” —— 如果没有显式的实体解析,向量搜索的处理效果很差。嵌入技术会将提到的向量与候选实体向量进行比较,但忽略了结构上下文:哪些其他实体共同出现、存在什么关系、局部图邻域是什么样。EDEGE 和类似的将语义嵌入与子图结构结合的混合方法,其表现始终优于纯嵌入消歧,因为图结构提供了单个嵌入向量无法捕获的全局语义上下文。

聚合查询则完全崩溃。“有多少文档在 Z 的背景下同时提到了 X 和 Y?”是一个针对文档元数据和内容的结构化查询。向量搜索返回的是相似的文档,而不是组合问题的答案。研究基准显示,在聚合查询方面,基于图的检索比向量 RAG 的性能高出 3 倍,正是因为图遍历可以计数边、按节点属性过滤并跨关系进行聚合。

大规模跨文档推理随着实体数量的增加而退化。在受控基准测试中,当查询涉及五个或更多不同实体时,向量 RAG 的准确率会降至接近 0%。而 GraphRAG 在涉及十个或更多实体时仍能保持稳定的性能,因为它显式地建模了关系,而不是依靠余弦相似度来发现跨文档的联系。

还有一些更难捕捉的隐性失效模式。嵌入模型版本不匹配 —— 查询和索引使用不同的模型版本 —— 会产生虽然有效但基于毫无意义的对比的相似度得分。生僻词、SKU、特定标识符以及缺乏语义上下文的短查询都会受到过度泛化的困扰:当你需要精确匹配时,嵌入却编码了“相似含义”。

知识图谱为检索带来了什么

知识图谱将实体表示为节点,将关系表示为有类型的边。“作者 A 撰写了论文 B,论文 B 引用了论文 C,论文 C 由机构 D 资助”变成了一个可遍历的结构。需要遵循这些链条(无论是广度优先还是深度优先)的查询变成了可表达的操作,而非近似计算。

微软的 GraphRAG 研究在新闻语料库上具体证明了这一点。通过使用数千篇俄罗斯和乌克兰的新闻文章,GraphRAG 发现了“Novorossiya”等实体,并追踪了跨文档的关系链,而基准向量 RAG 则没有返回任何相关内容。这种差异不在于单个文档的检索质量,而在于连接分布在不同文档中、且仅通过实体关系链接的信息的能力。

该架构分为两个阶段:第一阶段 LLM 从源文档中提取实体和关系;第二阶段图社区检测生成不同粒度的领域特定摘要。检索路径随后使用图遍历而非最近邻搜索,同时在适用的情况下仍然支持向量和全文搜索。

对于实体密集型领域 —— 医疗记录、法律文件、财务报告、技术规范 —— 这种架构能产生显著的效果。一个连接患者记录、研究文献和治疗方案的医疗实施方案报告称,复杂病例的诊断准确率提高了 18%,治疗计划制定时间缩短了 31%。这种提升源于挖掘出了数据中存在但对语义相似性不可见的关系。

混合检索:何时需要两者兼顾

对大多数生产系统而言,实际的架构并非在图(Graph)和向量(Vector)之间二选一,而是两者并行并合并结果。

HybridRAG 流水线分为三个阶段:

  • 向量搜索:查找语义相关的实体和文档块。
  • 图遍历:探索向量搜索返回的实体之间的关系。
  • 加权合并:使用计分系统结合两者结果,同时考虑相似度和图距离。
加载中…
References:Let's stay in touch and Follow me for more thoughts and updates