ELasticsearch:什么是语义搜索?

语义搜索定义

语义搜索是一种解释单词和短语含义的搜索引擎技术。 语义搜索的结果将返回与查询含义匹配的内容,而不是与查询中的单词字面匹配的内容。

语义搜索是一组搜索引擎功能,其中包括根据搜索者的意图及其搜索上下文理解单词。

此类搜索旨在通过更准确地结合上下文解释自然语言来提高搜索结果的质量。 语义搜索借助机器学习和人工智能等技术,通过将搜索意图与语义进行匹配来实现这一目标。

语义搜索如何工作?

语义搜索由向量搜索提供支持,这使得语义搜索能够根据上下文相关性和意图相关性来交付内容并对其进行排名。 向量搜索将可搜索信息的详细信息编码到相关术语或条目或向量的字段中,然后比较向量以确定哪些最相似。

支持向量搜索的语义搜索通过同时在查询管道的两端工作来生成结果:启动查询时,搜索引擎将查询转换为嵌入,嵌入是数据和相关上下文的数字表示。 它们存储在向量中。 然后,kNN 算法或 k 最近邻算法将现有文档(语义搜索涉及文本)的向量与查询向量进行匹配。 然后语义搜索生成结果并根据概念相关性对它们进行排名。

  1. 当发起查询时,搜索引擎会将查询转换为嵌入,即数据和相关上下文的数字表示。 它们存储在向量中。
  2. 然后,kNN 算法或 k 最近邻算法将现有文档(语义搜索涉及文本)的向量与查询向量进行匹配。
  3. 然后语义搜索生成结果并根据概念相关性对它们进行排名。

上下文

在语义搜索中,上下文可以指任何附加信息,例如搜索者的地理位置、查询中单词的文本上下文或搜索者搜索历史的上下文。

语义搜索使用上下文线索来确定包含数百万个示例的数据集中单词的含义。 语义搜索还可以识别在类似上下文中可以使用哪些其他单词。

例如,搜索 “football” 在美国意味着 “soccer”,而在英国和世界其他地区则意味着 “football”。 语义搜索将根据用户的地理位置来区分结果。

搜索者意图

语义搜索的作用是改善用户体验。 为了提供最相关的结果,它解释用户的意图以了解他们的需求。 他们想要信息吗? 他们是否试图购买? 根据查询及其上下文,语义搜索将按相关性顺序对结果进行排名。

还可以通过查询分类设置来修改或改进语义搜索,例如首先生成评分最高的产品,然后再生成评分最低的产品。

个性化用户的搜索体验

语义搜索与关键字搜索

语义搜索和关键字搜索之间的区别在于,关键字搜索返回单词与单词、单词与同义词或单词与相似单词匹配的结果。 语义搜索看起来与查询中单词的含义相匹配。 在某些情况下,语义搜索可能不会生成与直接单词匹配的结果,但它会匹配用户的意图。

关键字搜索引擎使用查询扩展或放松工具,例如同义词或单词省略。 他们还使用自然语言处理和理解工具,例如拼写错误容忍、标记化和规范化。 另一方面,语义搜索能够通过使用向量搜索返回与含义匹配的查询结果。

考虑一下 “chocolate milk”。 语义搜索引擎将区分 “chocolate milk” 和 “milk chocolate”。 尽管查询中的关键字相同,但它们的书写顺序会影响含义。 作为人类,我们理解的牛奶巧克力是指各种巧克力,而巧克力牛奶则是巧克力口味的牛奶。

为什么语义搜索很重要?

语义搜索很重要,因为它有利于更广泛的搜索范围。 由于它由向量搜索提供支持,语义搜索可实现更直观的搜索体验,其中查询的上下文和意图会产生结果。

由于语义搜索算法不断 “学习” 各种关键绩效指标 (KPI),例如转化率和跳出率,因此语义搜索有助于提高用户满意度。

语义搜索的示例

语义搜索根据用户的地理环境、用户过去的搜索历史和用户意图提供结果。

个性化使用搜索者之前的搜索和交互来确定响应相关性和排名。 语义搜索还可以根据其他用户与它提取的响应的交互方式对结果进行重新排序。 例如,当你在搜索引擎中输入 “餐馆” 时,它将产生你所在地区的结果。

通过更好地理解用户意图,语义搜索可以响应 “Creuset vs. Staub dutch ovens” 之类的查询,并提供优先考虑产品比较的内容,因为这是用户的意图。 语义搜索会将 “best Staub deals” 或 “Creuset discounts” 背后的意图识别为购买意图并提供相应的响应。

另一个例子是预测文本。 当你在搜索栏中输入查询时,它会使用语义搜索来完成你的查询,并根据上下文、常见搜索和过去的搜索历史记录建议相关搜索词。

语义搜索的好处

语义搜索通过改善搜索体验使公司及其客户受益。

更方便客户使用

客户可能不记得行话,或回想起特定的产品名称。 语义搜索使客户能够输入模糊的搜索查询并获得特定的结果。 客户还可以使用描述进行搜索以发现其名称。 例如,你可以通过搜索你知道的歌词并找到标题来发现一首歌。

由于语义搜索通过考虑意图和上下文来解释含义,因此客户端的体验感觉更像是人类交互。

概念比关键字更强大

通过匹配概念而不是关键字,语义搜索会产生更准确的结果。 通过维度嵌入,向量将单词表示为概念。 “Car” 不再仅与 “car” 或 “cars” 匹配,它还与 “driver”、“insurance”、“tiers”、“electric”、“hybrid” 等匹配,因为这些词是相连的到 “car” 的向量。

因此,基于向量搜索的语义搜索扩展了简单匹配由标记表示的关键字的概念。

更适合商业

通过了解用户意图,语义搜索可以提高销售额和客户满意度。 用户意图可以是信息性的、事务性的、导航性的或商业性的。 了解意图可以使搜索引擎更好地满足客户需求。 这改善了客户与品牌的关系,这对业务来说更好。

使用 Elasticsearch 进行语义搜索

Elasticsearch 平台配备了机器学习和人工智能解决方案,包括语义搜索模型:Elastic Learned Sparse EncodeR(或 ELSER)。 该 NLP 模型经过 Elastic 训练,可在易于部署的工具中实现语义搜索。

Elasticsearch 安全地存储你的数据,以实现快速搜索、微调相关性以及可高效扩展的强大分析。 Elasticsearch 是 Elastic Stack 的核心组件,Elastic Stack 是一组用于数据摄取、丰富、存储、分析和可视化的免费开放工具。

了解有关 Elasticsearch 的更多信息

语义搜索资源

  • 语义搜索:将搜索体验带入人工智能时代
  • 深入了解自然语言处理 (NLP) 模型和 Elastic 向量搜索的基础知识
  • 向量搜索的优势 – 以及 IT 领导者需要它来改善搜索体验的 5 个原因
  • 观看此视频以了解有关向量搜索及其应用的更多信息
  • 了解如何使用 Elastic 部署 NLP
  • 使用 Elastic 掌握 kNN 搜索

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/221085.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【S32K3环境搭建】-0.1-安装S32 Design Studio for S32 Platform 3.5

目录(S32DS安装步骤详细) 1 安装S32 Design Studio for S32 Platform 3.5准备工作 2 下载S32 Design Studio for S32 Platform 3.5安装包 2.1 获取S32DS的License许可 3 安装S32 Design Studio for S32 Platform 3.5 4 打开S32 Design Studio for S…

【网络奇缘】- 如何自己动手做一个五类|以太网|RJ45|网络电缆

​ ​ 🌈个人主页: Aileen_0v0🔥系列专栏: 一见倾心,再见倾城 --- 计算机网络~💫个人格言:"没有罗马,那就自己创造罗马~" 本篇文章关于计算机网络的动手小实验---如何自己动手做一个网线, 也是为后面的物理层学习进…

【LabVIEW学习】5.数据通信之TCP协议,控制电脑的一种方式

一。tcp连接以及写数据(登录) 数据通信--》协议--》TCP 1.tcp连接 创建while循环,中间加入事件结构,创建tcp连接,写入IP地址与端口号 2.写入tcp数据 登录服务器除了要知道IP地址以及端口以外,需要用户名与密…

nodejs+vue+微信小程序+python+PHP在线购票系统的设计与实现-计算机毕业设计推荐

伴随着信息时代的到来,以及不断发展起来的微电子技术,这些都为在线购票带来了很好的发展条件。同时,在线购票的范围不断增大,这就需要有一种既能使用又能使用的、便于使用的、便于使用的系统来对其进行管理。在目前这种大环境下&a…

FairGuard无缝兼容小米澎湃OS、ColorOS 14 、鸿蒙4!

随着移动互联网时代的发展,各大手机厂商为打造生态系统、构建自身的技术壁垒,纷纷投身自研操作系统。 而对于一款游戏安全产品,在不同操作系统下,是否能够无缝兼容并且提供稳定的、高强度的加密保护,成了行业的一大痛…

Kafka中的Partition详解与示例代码

在Apache Kafka中,Partition(分区)是一个关键的概念。分区的引入使得Kafka能够处理大规模数据,并提供高性能和可伸缩性。本文将深入探讨Kafka中的Partition,包括分区的作用、创建、配置以及一些实际应用中的示例代码。…

C++ day55 判断子序列 不同的子序列

题目1:392 判断子序列 题目链接:判断子序列 对题目的理解 判断字符串s是否为t的子序列 字符串s和字符串t的长度大于等于0,字符串s的长度小于等于字符串t的长度,本题其实和最长公共子序列的那道题很相似,相当于找两…

gitlab高级功能之容器镜像仓库

今天给大家介绍一个gitlab的高级功能 - Container Registry,该功能可以实现docker镜像的仓库功能,将gitlab上的代码仓的代码通过docker构建后并推入到容器仓库中,好处就是无需再额外部署一套docker仓库。 文章目录 1. 参考文档2. Container R…

yolov8添加ca注意力机制

创建文件 coordAtt.py 位置:ultralytics/nn/modules/coordAtt.py ###################### CoordAtt #### start by AI&CV ############################### # https://zhuanlan.zhihu.com/p/655475515 import torch import torch.nn as nn import t…

在Windows11(WSL)中如何迁移Docker

前言: 在Windows 10中Docker是默认安装到WSL中的,而安装到WSL中的任意分发版都是默认放在C盘中的。这样会让我们的C盘资源极度紧张,而且也限制了Docker的镜像数量。 迁移步骤 假设我有一个临时目录“D:\docker”用来存放临时文件,…

【开源】基于Vue和SpringBoot的在线课程教学系统

项目编号: S 014 ,文末获取源码。 \color{red}{项目编号:S014,文末获取源码。} 项目编号:S014,文末获取源码。 目录 一、摘要1.1 系统介绍1.2 项目录屏 二、研究内容2.1 课程类型管理模块2.2 课程管理模块2…

黑马头条数据管理平台项目总结

今天主要看了该项目的介绍,这个黑马头条数据管理平台项目主要包括登录、用户的权限判断、文章内容列表的筛选和分页、文章的增删查改还有图片和富文本编辑器这几大部分组成,项目配套了素材代码,像资源文件、第三方插件、页面文件夹、工具插件…

【MySQL】表的增删查改

增创建库创建表表插入表更新插入表替换插入查询结果 查全列查找指定列查找查找结果去重where条件查找筛选分页结果 改对查询到的结果进行列值更新 删delete 和 truncate 的区别 增 创建库创建表 create database 库名称;use 进入的库名称;create table 表名称; select * from…

Apollo新版本Beta技术沙龙

有幸参加Apollo开发者社区于12月2日举办的Apollo新版本(8.0)的技术沙龙会,地址在首钢园百度Apollo Park。由于去的比较早,先参观了一下这面的一些产品,还有专门的讲解,主要讲了一下百度无人驾驶的发展历程和历代产品。我对下面几个…

单点登录方案调研与实现

作用 在一个系统登录后,其他系统也能共享该登录状态,无需重新登录。 演进 cookie → session → token →单点登录 Cookie 可以实现浏览器和服务器状态的记录,但Cookie会出现存储体积过大和可以在前后端修改的问题 Session 为了解决Co…

Doris 集成 ElasticSearch

Doris-On-ES将Doris的分布式查询规划能力和ES(Elasticsearch)的全文检索能力相结合,提供更完善的OLAP分析场景解决方案: (1)ES中的多index分布式Join查询 (2)Doris和ES中的表联合查询,更复杂的全文检索过滤 1 原理 (1)创建ES外表后,FE会请求建表指定的主机,获取所有…

Git 应用 -- 多人协作开发场景1

目录 1. 既查看本地仓库的分支,又查看远程仓库的分支: git branch -a (但是远程的分支只能查看,不能直接切换到远程的分支上) 2. 本地的分支和远程的分支建立连接:git checkout -b [分支名] [要连接远程的…

【模型可解释性系列一】树模型-拿到特征重要度-打印关键因素

接下来一段时间内,会主要介绍下模型可解释性方向的一些常用方法。 模型可解释性:主要用来解释为什么这个样本的特征是这样的时候,模型结果是那样。面向老板汇报工作(尤其是不懂算法的老板)和业务方。 常用的树模型 xgboost、lightgbm这两个…

Ps:文字操作常用快捷键

对文字的设置操作,可在工具选项栏或“字符”面板上进行。但是,如果能记住并使用快捷键,可大大提高工作效率。 设置文字颜色 Color 1、选中几个或全部文字后,除了使用工具选项栏上的“颜色”按钮,还可以使用快捷键 Alt…

Linux系统调试课:PCIe调试手段

文章目录 一、lspci 命令二、pciutils 工具沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本文我们要介绍pcie调试手段。 一、lspci 命令 通过lspci可以查看当前系统挂载了哪些pci设备。 lspci - 列出 PCI 设备 lspci 命令可以列出计算机中所有 PCI 设备的详细信息,…