什么是相似性搜索?终极指南

Jeffrey Erickson | 高级撰稿人 | 2025 年 11 月 14 日

“越努力,越显轻松”——这句话出自冰球名将 Jonathan Toews,恰似相似性搜索技术的箴言。表面看来,它总是游刃有余:在几秒钟内给出答案和推荐。然而支撑这项搜索技术的复杂数据流、AI 系统和计算能力,实则是精心构筑的强大能力。通过在海量数据中快速锁定匹配项,相似性搜索已悄然成为自然语言处理、推荐系统、欺诈检测和搜索引擎等领域的核心引擎,更在药物研发等众多行业场景中崭露头角。但这项灵活的技术究竟如何快速地处理海量非结构化数据?它与成熟的关键词搜索有何异同,又如何相辅相成?现在,就让我们一同探索相似性搜索的方方面面。

相似性搜索解析

相似性搜索是数据科学机器学习领域的一项关键技术,旨在快速从数据集中找出与查询项最相似的项目。这些系统如何判断数据集中的图像、文本或音频等项目是否相似呢?其核心在于通过精密的 AI 模型对数据进行处理,将每个项目的真实特征量化为可数学计算的形式。描述这些特征的数值称为向量嵌入。它让计算机能够通过数字化的方式理解非结构化数据中的概念和对象。向量数据库专门用于存储、索引和检索海量向量数据。每个向量都代表着高维空间中的独立个体,这种数学表达方式使得系统能够精确计算任意两个项目之间的接近程度或相似度。

系统会基于经典的距离度量标准(如欧几里得距离、余弦相似度或杰卡德相似度)来识别匹配的结果。开发相似性搜索系统的数据科学家会根据数据类型(如图像、文本等)及系统用途(如异常检测、商品推荐或自然语言处理),选择合适的度量标准和搜索算法。例如,近似最近邻 (ANN) 算法通过平衡精度与速度来加速搜索过程,特别适用于包含数十亿项目的超大规模数据集。当前主流的 ANN 方法包括 Annoy 和 Faiss。前者是一个开源库,通过树状结构实现高效搜索;后者则采用高级索引技术,处理数十亿级别的向量数据。

相似性搜索如何工作?

相似性搜索旨在识别查询项与被搜索数据集项目之间的特征相似性。这一过程通常通过向量嵌入、索引构建和最近邻搜索等技术实现。以下是具体步骤解析:

  • 向量嵌入生成:向量嵌入是对非结构化或半结构化数据特征的数值化表达。生成嵌入的过程涉及将文本、图像、音频等原始数据转化为数字序列(即向量),以捕捉数据的核心特征和上下文。当前有多种 AI 模型可用于生成嵌入向量,例如在文本领域,Cohere 的 Embed 模型创建的向量能反映词语间的语义和语法关联,使相似词汇在向量空间中彼此邻近。值得注意的是,向量嵌入技术正快速发展,Open Neural Network Exchange 等平台也涌现出许多创新的开源模型。
  • 索引和查询:索引是指对向量嵌入进行组织和存储,以支持高效搜索的过程。在向量数据库中,数据集的每个项目都通过向量嵌入进行描述,这些向量在索引中有序排列,使系统能快速定位相似向量。每个搜索查询也会计算出向量,进而通过索引比对迅速确定与查询最相似的数据项。
  • 执行搜索:搜索开始时,查询内容会使用与数据集相同的技术转化为向量。搜索算法随后以此查询向量为基准,在向量空间中寻找最近邻,即相似度最高的项目。搜索结果通常按相似度评分排序,并将最匹配项返回给用户,或进一步处理以找出最符合查询的结果。

相似性搜索的优势和局限

相似性搜索是一种强大的技术工具,特别在处理非结构化数据的应用中优势显著。然而,清晰认识其局限性,并为具体场景选择合适的技术与度量标准同样至关重要。

优势包括:

  • 高效性:相似性搜索通过逻辑索引算法,能够快速检索海量数据集中最相似的项目,无需进行全面的比对即可实现高速精准检索。
  • 个性化:通过相似性搜索,应用能够为用户提供个性化推荐。应用可基于对用户行为和偏好的分析生成向量嵌入,精准捕捉用户的兴趣,从而快速推荐匹配的商品、文章或媒体内容。
  • 多功能性/可扩展性:高效搜索各种复杂数据类型(例如文本、视频和音频)的能力使系统能够灵活应用于内容过滤、欺诈检测等多种场景。
  • 成本效益:高效的相似性搜索可降低运营成本并提高性能表现。该搜索方法采用的高效索引技术和精准算法,显著降低了查找相似项所需的时间和计算资源,对超大规模数据集尤为有利。

其中的局限包括:

  • 复杂性:生成向量嵌入、选择合适的相似性度量方法,以及构建高效的索引与查询算法,均需要深厚的计算机科学与数据管理专业知识。这对于缺乏相关技术能力却希望自建系统的组织而言是一大挑战。
  • 资源密集性:虽然相似性搜索能高效处理海量数据集,但在实际应用中仍需考量成本。例如,生成嵌入、建立索引和执行查询等过程可能耗费大量时间和计算能力,导致成本上升并对基础设施提出更高要求。
  • 数据准备要求:为提供相关结果,相似性搜索依赖高质量数据与充分的预处理。例如,原始数据通常需经过清理、规范化并转换为合适格式后才能生成嵌入向量,这一准备过程往往耗时较长。
  • 隐私问题:保障数据隐私并符合相关法规是相似性搜索系统(尤其在处理生产环境工作负载时)的重要环节,这可能增加实施的复杂性和管理负担。

相似性搜索的核心概念

掌握相似性搜索的核心概念对于在应用中有效实施和使用该技术至关重要。以下技术和方法相互协作,共同实现搜索目标。

向量表示

向量表示是将存储内容的特征与属性转换为多维空间中数值向量的过程。这些向量捕捉了数据项的实质内容,例如文本中的单词含义、图像中的视觉元素或音频中的模式。描述项的最终向量称为“向量嵌入”。通过为数据和查询分别生成向量,向量数据库可利用这些表示来高效度量并比较不同数据项和查询之间的接近程度。

距离度量

距离度量在相似性搜索中是必不可少的,用于量化向量间的相似或差异程度。距离度量的选择需依据数据特性与应用场景的具体需求而定。常见的距离度量包括:欧几里得距离,用于测量两点间的直线距离;余弦相似度,通过计算两个向量间的夹角余弦值来评估其方向关系;以及杰卡德相似度,该方法适用于比较向量表示的特征集,即使集合大小不同仍可有效计算。

相似性搜索技术和算法

企业在选择相似性搜索技术时,需以应用场景的最终目标为导向。例如,系统是用于异常检测、图像搜索还是自然语言处理?这些技术通常结合前文所述的距离度量方法来实现特定任务。以下将介绍两种主流技术:KNN(最近邻算法)和 ANN(人工神经网络)。

K 最近邻算法 (KNN):在基于 KNN 的相似性搜索中,查询向量会与数据集中的向量进行比较,算法根据选定的距离度量(如欧几里得距离或余弦相似性)找出与查询最接近的“k”个数据点。KNN 基于“相似数据在向量空间中彼此邻近”的假设,通过比对数据集中相邻点的特征来预测新数据或查询项的类别和数值。

由于需要计算查询项与数据集中所有点的距离,KNN 在大型数据集上的计算成本较高。尽管如此,KNN 在推荐系统、图像识别和异常检测等场景中仍具有显著效果。

近似最近邻算法 (ANN):ANN 是一种能在海量数据集中高效查找和查询向量高度近似元素的搜索技术,无需精确计算查询向量与每个数据点的距离。该方法适用于大规模数据集,因为精确最近邻搜索在这种场景下会消耗过多计算资源。ANN 算法通过局部敏感哈希 (LSH) 或树形索引等方法,借助降维技术或索引结构快速缩小候选范围,实现近似搜索。其结果虽非完全精确,但通常能满足实际应用的要求,现已广泛应用于图像搜索与自然语言处理等领域。

相似性搜索的应用场景

相似性搜索在多种应用场景中广受欢迎。无论是流媒体服务的推荐内容,还是搜索引擎的答案,其背后都可能运用了这项搜索技术。此外,这项搜索技术同样存在于金融和数据安全领域的后台系统中。以下是相似性搜索的其他常见应用场景:

  • 图像搜索:当您要求 AI 应用根据描述或示例图片查找图像时,系统通常会使用相似性搜索技术。系统将图像转换为特征向量,通过算法比对数据库中存储的向量,从而识别具有相似特征的图像,并高效地从海量数据库中检索出匹配的结果。这一功能在以图搜图等应用中尤为实用——用户可通过上传图片来寻找相似或相同的图像;同时也适用于基于描述的图像检索系统,即依据文字描述来匹配对应图像。让我们看看制造业质检的一个案例:系统通过将新生产部件的图像与已知合格品及缺陷品样本进行比对,从而精准定位需要进一步检测的零件。
  • 推荐系统:当您打开零售平台或流媒体服务时,看到的个性化推荐正是系统基于您的偏好与历史行为进行相似性搜索的结果。这些系统将用户偏好与商品属性转化为向量,并与产品向量共同在高维空间中对其进行索引,随后通过余弦相似度或欧几里得距离等度量方法计算向量间的相似性,最终生成您可能感兴趣的内容短列表。以电影推荐为例,系统将您的历史选择与偏好编码为向量,进而推荐与您喜爱作品相似的电影。相似性搜索所实现的快速精准个性化能力,已使其成为电子商务、流媒体服务和社交平台的基石。
  • 欺诈检测:当零售商或金融机构扫描欺诈交易时,通常会采用相似性搜索技术。该技术能帮助识别数据中可能预示欺诈行为的异常模式。通过将交易或用户行为表示为向量,系统可将新数据点与历史数据进行比对,查找最接近的匹配项。若某笔新交易或行为与其最邻近数据存在显著差异,便会被标记为可疑对象。凭借出色的异常识别能力,相似性搜索已成为金融服务和其他行业防范损失、化解安全威胁的关键工具。
  • 业务数据探索:相似性搜索可帮助业务人员通过自然语言指令(而非编写 SQL 语句)探索业务数据。结合相似性搜索和检索增强生成 (RAG) 技术,数据探索与可视化能够以对话形式展开,让业务人员可直接与表格数据集或半结构化文档库进行问答。
  • 医疗和药物研发:医疗和生物技术行业正以多种方式应用相似性搜索。通过对海量行业数据进行向量化处理,相似性搜索能够发现传统关键词搜索可能遗漏的上下文相关研究、化合物或作用机制,帮助从业者以全新视角建立知识关联。在化学数据库与化合物库中,该技术能基于药理特性匹配目标物质,从而加速药物研发进程并降低成本。同样的模式匹配能力还可用于挖掘基因表达数据、蛋白质序列等大型生物或化学数据集中的新关联关系。

工具和库

目前已有多种工具和库可帮助组织高效实现相似性搜索,它们在方法和上有所不同。例如:

  • Annoy(全称“Approximate Nearest Neighbors Oh Yeah”)是 Spotify 开发的轻量级高效近似最近邻搜索库,尤其适用于对速度和内存效率要求较高的场景。Annoy 通过构建树状结构对向量进行索引,实现近似最近邻的快速检索,并支持集成到 Python、C++ 等多种编程环境中。
  • Faiss(全称“Facebook AI Similarity Search”)是由 Facebook AI Research 开发的开源库,现已广泛应用于推荐系统、图像识别和自然语言处理等领域。该库针对高性能相似性搜索进行了优化,单机即可处理数十亿量级的向量数据,支持包括平面索引、倒排文件 (IVF) 和分层可导航小世界 (HNSW) 图在内的多种距离度量与索引方法。
  • Milvus 是一款开源的云原生向量数据库,专为图像、视频、文本等多种数据的相似性搜索而设计。Milvus 支持多种索引算法与距离度量方式,既可部署于云端,也可通过轻量版本在设备端运行。该数据库以灵活性和易集成性著称,能够与接其他数据处理和机器学习框架集成,因而成为各类相似性搜索应用的热门选择。
  • Pinecone 是基于云技术的向量数据库,专注于支持大规模应用的相似性搜索。它提供了一套简化的高维向量存储、索引和查询解决方案,广泛应用于推荐系统、图像搜索和自然语言处理等场景。它支持多种距离度量方法,并提供 API 以实现与现有系统的快速集成。
  • Oracle AI Database 是一种多模态数据库,可为大型企业的核心数据存储提供原生 AI 向量搜索功能。它使开发人员能够轻松为业务数据赋予 AI 驱动的相似性搜索功能,无需管理或集成多个数据库,同时确保功能完整性、安全性和一致性。该解决方案已被大型企业和快速成长的初创公司等众多组织采用,用于构建高度复杂的 AI 搜索应用。

使用 Oracle AI Vector Search 增强相似性搜索

您正在或计划在应用中实现相似性搜索吗?若答案是肯定的,就不要把您的数据带入 AI。Oracle 可以在简化的企业级架构中为您的业务数据提供 AI 和相似性搜索功能。

借助 Oracle AI Database 的原生 AI 向量搜索功能,您可以轻松设计、构建并运行相似性搜索,同时为了增强应用,您可以无缝兼容关系型、文本、JSON、空间及图形等多种数据类型——所有数据均可集中于单一数据库中管理。您现在即可免费试用

Oracle AI Vector Search 具备文档加载、转换、分块、嵌入、相似性搜索及支持自选大语言模型的 RAG 等能力,这些功能可通过数据库原生接口或 API 使用。

在 Oracle Cloud Infrastructure 上构建相似性搜索功能,您将获得专为企业打造的 AI 技术支撑,其数据管理平台内置可扩展性、高性能、高可用性和安全性,为您的 AI 应用提供坚实支撑。

您的数据基础设施是否已为支持相似性搜索和其他 AI 计划做好准备?我们的电子书为您规划了构建坚实数据基石的路径,助您为 AI 应用的成功部署奠定基础。

相似性搜索常见问题解答

相似性搜索如何助力企业?

在企业中部署 AI 向量搜索系统,能让员工通过自然语言指令轻松探索数据存储和文档。同时,该技术可帮助企业将个性化功能融入客户服务,例如为在线零售平台构建推荐引擎。

相似性搜索中可以使用哪些类型的数据?

相似性搜索可用于任何具有向量嵌入的数据,但较常用于非结构化或半结构化数据,例如文本、图像、视频和音频。

相似性搜索如何改善客户体验?

相似性搜索可以根据客户偏好和历史行为,为客户提供个性化的内容和推荐,从而改善客户体验。

相似性搜索处理大规模数据的可扩展性如何?

相似性搜索具备高度灵活性与可扩展性。它通过对向量数据建立高效索引,即使面对海量数据集也能快速定位并返回与查询高度匹配的结果。

注:为免疑义,本网页所用以下术语专指以下含义:

  1. 除Oracle隐私政策外,本网站中提及的“Oracle”专指Oracle境外公司而非甲骨文中国 。
  2. 相关Cloud或云术语均指代Oracle境外公司提供的云技术或其解决方案。