在 RAG(检索增强生成)系统中,检索(Retrieval)的质量直接决定了最终生成的答案是否准确。而检索的核心在于如何将文本(Query 和 Document)转化为计算机可以计算的数字形式。 稀疏向量(Sparse Vector)和稠密向量(Dense Vector)是两种截然不同的文本表示方式。简单来说:稀疏向量主要用于关键词匹配,稠密向量主要用于语义理解。 以下是详细的对比分析: --- 1. 核心概念与直观理解 稀疏向量 (Sparse Vector) 直观理解: “词袋模型”或关键词搜索。 原理: 向量的维度等于整个词汇表的大小(通常是几万到几十万)。如果文本中包含了某个词,向量中对应的位置就是非零值(通常是 TF-IDF 值或 BM25 权重);如果没包含,该位置就是 0。 特点: 因为一句话只包含词汇表中的极少数词,所以向量中绝大多数位置都是 0(因此得名“稀疏”)。 代表算法: BM25, TF-IDF, SPLADE (一种学习型的稀疏向量)。 稠密向量 (Dense Vector) 直观理解: “语义坐标”。 原理: 通过深度学习模型(如 BERT, Ope...