深圳Yolo 视觉
深圳
立即加入
词汇表

语义搜索

探索语义搜索如何运用人工智能和嵌入技术理解用户意图。学习如何Ultralytics 和我们的平台构建视觉搜索系统。

语义搜索是一种复杂的信息检索技术,旨在理解用户查询的意图和上下文含义,而非简单匹配特定词汇。通过运用自然语言处理(NLP)和机器学习(ML)领域的技术进步,该技术使系统能够更细致地解读人类语言。作为现代人工智能(AI)应用的基础,这项技术赋予系统更精准的语言理解能力。 自然语言处理(NLP)机器学习(ML)的进步,该技术 使系统能够更细致地解读人类语言。作为现代 人工智能(AI) 应用的基石,它通过弥合模糊用户查询与相关数据之间的鸿沟, 实现了人机交互的更直观化。

语义搜索如何工作

从本质上讲,语义搜索超越了字面字符匹配,转而分析概念之间的关联性。 当用户搜索"猫科动物",而文档仅包含"猫"这个词时,传统搜索引擎可能无法满足需求。语义搜索通过将非结构化数据(如文本、图像或音频)转化为称为嵌入的数学表示形式来解决这一问题。

这些嵌入是置于"语义空间"中的高维向量。在这个空间里,含义相似的项目彼此邻近。 例如,"汽车"的向量在数学上 与"机动车"和"道路"的距离 比与"香蕉"的距离更近。当用户提交 查询时,系统会将该查询转换为向量, 并在向量数据库中寻找最近的数据点。 该过程依赖深度学习模型进行特征提取, 从而识别数据的核心特征。

以下Python 演示了如何Ultralytics 生成这些嵌入向量,这是实现视觉语义搜索的基础步骤。

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}")

实际应用

语义搜索彻底改变了用户在各个领域发现信息的方式,使系统变得更智能、更高效。

  • 电子商务与视觉发现:零售业的人工智能领域,语义搜索为"穿搭同款"功能提供支持。顾客可上传运动鞋照片或搜索"复古夏日风情"等关键词。 系统通过计算机视觉解析视觉风格, 即使商品描述未包含精确关键词, 仍能检索出符合审美特质的商品。 此过程通常涉及 能同时理解文本与图像输入的多模态模型
  • 知识管理与检索增强生成(RAG):大型组织采用语义搜索技术帮助员工查找内部文档。员工无需记忆精确文件名,只需提出问题如"如何重置服务器?"。系统通过 检索增强生成(RAG)技术 根据语义关联检索最相关的政策文档, 并将这些文档输入大型语言模型(LLM) 生成精准解答。
  • 内容推荐:流媒体平台运用语义理解技术来优化其推荐系统。通过分析用户喜爱的电影的情节概要和视觉特征图,平台能够推荐具有相似主题或氛围的其他作品,从而延长用户的使用时长。

语义搜索与相关概念

要充分理解语义搜索的实用性,有必要将其与数据科学领域中的相关术语区分开来。

  • 向量搜索虽然两者常被互换使用,但存在技术上的区别。向量搜索是计算向量间距离的数学方法(通常采用余弦相似度)。语义搜索则是更广泛的应用场景,它利用向量搜索实现理解用户意图的目标。
  • 关键词搜索:这是依赖精确字符串匹配的传统方法。它计算成本较低但脆弱易碎;在处理同义词和多义词(具有多重含义的词)时表现欠佳。语义搜索需要更强的计算能力,但能提供显著更高的相关性。
  • 零样本学习指模型在训练过程中从未接触过classify 的能力。语义搜索引擎通常具备零样本能力,因为它们能在无需重新训练的情况下,将新的未知查询映射到嵌入空间中已知的概念聚类。

实现语义搜索通常需要一套强大的管道来管理数据集和模型训练。Ultralytics 通过提供数据标注、模型训练及高效部署工具,简化了这一过程。对于希望构建此类系统的开发者而言,Ultralytics 搜索指南可提供将这些强大功能集成到应用程序中的实用步骤。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入