Semantic Search
探索语义搜索如何使用 AI 和嵌入来理解用户意图。学习使用 Ultralytics YOLO26 和我们的平台构建视觉搜索系统。
语义搜索是一种先进的信息检索技术,旨在理解用户查询的意图和上下文含义,而不仅仅是匹配特定词汇。通过利用自然语言处理 (NLP) 和 机器学习 (ML) 的进步,该技术使系统能够更细致地解读人类语言。它是现代 人工智能 (AI) 应用的基石,通过弥合模糊的用户查询与相关数据之间的鸿沟,实现了人机之间更直观的交互。
Link to this section语义搜索的工作原理#
从本质上讲,语义搜索超越了字面字符匹配,转而分析概念之间的关系。如果用户搜索“猫科动物”,但文档中仅包含“猫”这个词,传统的搜索引擎可能会失效。语义搜索通过将非结构化数据(如文本、图像或音频)转换为称为嵌入 (embeddings) 的数学表示来解决这个问题。
这些嵌入是置于“语义空间”中的高维向量。在这个空间中,含义相似的项目彼此靠近。例如,“汽车”的向量在数学上比“香蕉”更接近“自动驾驶”和“道路”。当用户提交查询时,系统会将该查询转换为向量,并在 向量数据库 中找到最接近的数据点。此过程依赖 深度学习 模型来进行 特征提取,从而识别数据的本质特征。
以下 Python 代码演示了如何使用 Ultralytics YOLO26 模型生成这些嵌入,这是实现视觉语义搜索的基础步骤。
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate feature embeddings for an image
# This converts the visual content into a numerical vector
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Output the shape of the embedding vector (e.g., length 1280)
print(f"Embedding vector shape: {results[0].shape}")Link to this section实际应用#
语义搜索彻底改变了用户跨行业发现信息的方式,使系统变得更智能、更高效。
- 电子商务与视觉发现: 在 零售业 AI 领域,语义搜索支持“购物即看即买”功能。顾客可能会上传一张运动鞋的照片或搜索“复古夏季氛围”。系统使用 计算机视觉 来理解视觉风格并检索符合美学的商品,即使产品描述中不包含这些确切的关键字。这通常涉及能够同时理解文本和图像输入的 多模态模型 (Multi-Modal Models)。
- 知识管理与 RAG: 大型组织使用语义搜索来帮助员工查找内部文档。员工无需记住确切的文件名,只需询问诸如“如何重置服务器?”之类的问题即可。系统使用 检索增强生成 (RAG) 根据含义查找最相关的政策文档,并将其输入到 大语言模型 (LLM) 中以生成精确答案。
- 内容推荐: 流媒体平台利用语义理解来改进其 推荐系统。通过分析用户喜欢的电影的情节摘要和视觉 特征图 (feature maps),平台可以推荐其他具有相似主题或情绪的影片,从而延长用户的参与时间。
Link to this section语义搜索与相关概念#
为了充分理解语义搜索的效用,有必要将其与 数据科学 领域中的相关术语区分开来。
- 向量搜索: 虽然经常互换使用,但两者在技术上是有区别的。向量搜索是计算向量之间距离(通常使用 余弦相似度)的数学 方法。而语义搜索是更广泛的 应用,它利用向量搜索来实现理解用户意图的目标。
- 关键字搜索: 这是依赖精确字符串匹配的传统方法。它的计算成本较低但比较脆弱;它在处理 同义词 和多义词(具有多种含义的词)时存在困难。语义搜索需要更多的计算能力,但能提供高得多的相关性。
- 零样本学习 (Zero-Shot Learning): 指模型分类其在训练期间从未见过的数据的能力。语义搜索引擎通常表现出零样本能力,因为它们无需重新训练即可将新的、未见过的查询映射到嵌入空间中已知的概念集群。
实现语义搜索通常需要一个强大的流水线来管理数据集和模型训练。Ultralytics Platform 通过提供用于标注数据、训练模型和高效部署它们的工具来简化此过程。对于希望构建这些系统的开发者,探索 Ultralytics 相似度搜索指南 可提供将这些强大功能集成到应用程序中的实用步骤。






