Semantic Search
探索语义搜索如何使用 AI 和嵌入来理解用户意图。学习使用 Ultralytics YOLO26 和我们的平台构建视觉搜索系统。
语义搜索是一种复杂的的信息检索技术,旨在理解用户查询的意图和上下文含义,而不仅仅是匹配特定的词汇。通过利用Natural Language Processing (NLP)和Machine Learning (ML)的进展,这项技术使系统能够以更高的细微差别解释人类语言。它是现代Artificial Intelligence (AI)应用程序的基石,通过缩小模棱两可的用户查询与相关数据之间的差距,实现人与机器之间更直观的互动。
语义搜索的工作原理#
在其核心,语义搜索引擎超越了字面字符匹配,转而分析概念之间的关系。如果用户搜索“feline(猫科动物)”但文档只包含“cat(猫)”一词,传统的搜索引擎可能会失败。语义搜索通过将unstructured data(例如文本、图像或音频)转化为称为embeddings的数学表示来解决这个问题。
这些 embeddings 是放置在“语义空间”中的高维向量。在这个空间中,具有相似含义的项彼此靠得很近。例如,“car”的向量在数学上将比“banana”更接近“automobile”和“road”。当用户提交查询时,系统将该查询转换为向量,并在vector database中找到最近的数据点。此过程依赖于deep learning模型来执行feature extraction,从而识别数据的基本特征。
以下 Python 代码演示了如何使用Ultralytics YOLO26模型生成这些 embeddings,这是实现视觉语义搜索的基础步骤。
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}")实际应用#
语义搜索彻底改变了用户跨行业发现信息的方式,使系统变得更智能、更高效。
- E-Commerce and Visual Discovery: 在AI in retail的世界中,语义搜索为“shop the look(随心购)”功能提供支持。客户可能会上传运动鞋的照片或搜索“复古夏日氛围”。系统使用computer vision来理解视觉风格并检索符合审美的产品,即使产品描述中不包含这些精确的关键词。这通常涉及能够理解文本和图像输入的Multi-Modal Models。
- Knowledge Management and RAG: 大型组织使用语义搜索来帮助员工查找内部文档。员工不用记住确切的文件名,而是可以问一个问题,例如“如何重置服务器?”。系统使用Retrieval-Augmented Generation (RAG)根据含义查找最相关的策略文档,并将其输入到Large Language Model (LLM)中以生成准确的答案。
- Content Recommendation: 流媒体平台利用语义理解来改进其recommendation system。通过分析用户喜欢的电影的情节摘要和视觉feature maps,平台可以推荐具有相似主题或情绪的其他标题,从而使用户更长时间地保持参与度。
语义搜索与相关概念#
为了充分理解语义搜索的效用,将其与data science领域中的相关术语区分开来会很有帮助。
- Vector Search: 虽然经常可以互换使用,但它们之间存在技术区别。向量 search 是计算向量之间距离的数学方法(通常使用cosine similarity)。语义搜索是更广泛的应用程序,它使用向量 search 来实现理解用户意图的目标。
- Keyword Search: 这是依赖于精确字符串匹配的传统方法。它的计算成本更低,但很脆弱;它难以处理synonyms和多义词(具有多种含义的词)。语义搜索需要更多的计算能力,但能提供显着更高的相关性。
- Zero-Shot Learning: 这指模型对在训练期间从未见过的数据进行分类的能力。语义搜索引擎通常表现出零样本能力,因为它们可以在无需重新训练的情况下将新的、未见过的查询映射到 embedding 空间中已知概念的现有集群。
实现语义搜索通常需要一个用于管理数据集和模型训练的强大管道。Ultralytics Platform通过提供用于注释数据、训练模型和高效部署它们的工具简化了这一点。对于希望构建这些系统的开发人员,探索Ultralytics similarity search guide为将这些强大功能集成到应用程序中提供了实用的步骤。






