相似性搜索 (Similarity Search): 让机器理解“远近亲疏”
我们凭直觉就知道,“我喜欢吃苹果”这句话,和“我喜欢吃水果”的意思更近,而和“我喜欢开汽车”的意思更远。
但机器如何理解这种模糊的“远近亲疏”?
答案很简单。相似性搜索 (Similarity Search) 的核心,就是把这个模糊的“意思远近”,转换成一个可以被精确计算的 “数学距离” 。它的全部魔力,可以被浓缩成一个极其简单的公式:
相似性搜索 = 向量化 (Embedding) + 计算距离 (Distance Calculation)
本文核心洞察
- 核心公式:相似性搜索的本质,就是先通过
Embedding
技术将所有数据(文本、图片等)“向量化”,即转换成多维空间中的“意义坐标”;然后通过数学方法 “计算距离”,找出与查询坐标“离得最近”的那些点。 - 目的:它的根本目的不是“精确匹配”字符,而是理解和比较 “语义”。距离越近,代表两者在意义上越相似。
- 效率的来源:在处理海量数据时,它不采用“暴力”的精确搜索,而是通过近似最近邻 (ANN) 算法,在牺牲极小精度的情况下,换取数百甚至数千倍的速度提升。这是其走向实用的关键。
- 与传统搜索的关系:现代搜索引擎(如谷歌)已深度整合了相似性搜索来理解用户意图,但其目标是 “排序” 公开网页。而 AI 应用(如
RAG
)中的相似性搜索,其目标是 “检索” 私有知识以供生成。