Elasticsearch:了解人工智能搜索算法

作者:来自 Elastic Jessica Taylor, Aditya Tripathi

人工智能工具无处不在,其原因并不神秘。 他们可以执行各种各样的任务并找到许多日常问题的解决方案。 但这些应用程序的好坏取决于它们的人工智能搜索算法。

简单来说,人工智能搜索算法是人工智能工具用来找到特定问题的最佳解决方案的决策公式。 搜索算法可能会在速度、相关性或其他加权因素之间进行权衡。 它考虑了查询的约束和目标,并返回了它计算出的最佳解决方案。

在这篇文章中,我们将介绍:

  • AI 搜索算法的重要性和应用
  • 人工智能搜索算法的要素
  • 不同类型的人工智能搜索算法
  • AI 搜索算法用例
  • 使用人工智能搜索算法时的挑战和限制

读完本文后,你将清楚地了解它们是什么以及如何在 AI 工具中使用它们。

人工智能中的搜索算法是什么?

人工智能搜索算法是一种通过评估索引数据和文档来理解自然语言查询并查找相关结果的方法。 它通过探索一组潜在的解决方案来实现这一点,以便找到针对所给出的查询的最佳答案或解决方案。

想象一下,你正在使用人工智能构建一个国际象棋应用程序,该应用程序可以预测下一步的最佳走法。 为了确定最佳动作,你的人工智能搜索算法必须评估不同的选项,以决定哪一个最好。 这意味着系统地评估每个棋子的位置,评估每种可能的走法组合,并计算你您带来最佳获胜机会的策略。

AI 搜索算法的重要性和应用

人工智能搜索算法在众多领域发挥着至关重要的作用。 其范围从计算机科学问题解决到复杂的物流决策。 它们的多功能性使它们对于应对各种挑战和解决重要问题不可或缺。

例如,NASA 能够使用 Elastic® 中的 AI 搜索算法分析来自火星任务的漫游器数据。 这使他们能够比手动分析这些数据更快地解锁关键见解并应对复杂的挑战。 在医疗保健领域,人工智能搜索算法被用来协助医疗诊断、治疗计划和药物发现。 这将带来更好的诊断准确性、更有效的治疗计划以及新疗法的开发。

这些例子强调了重要性和潜力,但这些算法的应用远远超出了这些用例。 金融、制造、法律服务等各个领域已经受益于这种处理大量数据并做出明智决策的新能力。 随着人工智能算法的不断发展,它将在各个行业发挥更加突出的作用,并对我们周围的世界产生巨大影响。

人工智能搜索算法的要素

每个人工智能搜索算法都可以分为四个要素:状态(states)、动作(actions)、目标(goals)和路径成本(path costs)。 这种元素框架是算法如何导航复杂问题空间以找到最佳解决方案的方式。

状态是特定时间点问题的快照。 它们封装了当时问题的所有相关信息,因此算法可以评估当前情况。 把它想象成一个迷宫 —— 每个转弯都代表迷宫中不同的 “状态”。 因此,通过查看状态,你就知道人工智能在算法中的位置。

动作是状态之间可能的转换。 继续使用迷宫的比喻,这些动作是你可以选择的可用方向。 通过组合这些操作,你可以确定穿过迷宫的不同潜在路径。

目标是搜索过程的最终目标。 在搜索中,这个目标将是初始查询的最佳且最相关的答案。 这为算法提供了明确的方向,因此其工作重点是寻找最佳结果。 在迷宫示例中,查询 “找到逃离迷宫的最佳路线” 将是目标。

路径成本是回答查询的路径中每个步骤或动作的精确度和召回率之间的权衡。 该成本代表进行每个特定动作所需的努力或资源。 然后,算法可以使用该成本来优先考虑高效且资源经济的路线。

AI 搜索算法的类型

自然语言处理 (NLP) 算法

NLP 算法是搜索的重要组成部分,因为它们弥合了人类交流和机器理解之间的差距。 这使得搜索人工智能能够理解所要求的内容,并提供与查询相关且上下文相关的结果。

使用 NLP,搜索结果将更加符合用户的意图,并且算法将能够通过理解更细微的请求来处理复杂的查询。 这是因为它可以识别情绪并理解上下文,并根据之前与用户的对话来个性化搜索体验。

词嵌入 - word embeddings

算法处理单词以查找相似性的方法之一是使用词嵌入,其中单词和资产表示为向量。 这是它分析文本和图像等非结构化数据并将其转换为数值的地方。

一个流行的例子是 Word2vec,这是一种从大量书面文本中学习词嵌入的算法。 然后,它分析周围的文本以确定含义并理解上下文。 另一个例子是 GloVe(Global Vectors for Word Representation - 单词表示的全局向量),它也被训练为通过根据语义相似性映射不同单词来建立不同单词之间的连接。

语言模型

还有一些语言模型可以分析大量数据,以便准确预测单词出现顺序的可能性。 或者更简单地说,它们是算法,使搜索人工智能不仅能够理解我们所说的内容,而且能够以与人类沟通方式相匹配的方式做出响应。

例如,BERT(来自 Transformers 的双向编码器表示)是一种流行的语言模型,能够理解复杂而细致的语言,然后可用于强大的语义搜索和问答。

近似最近邻(Aproximate nearest neighbors - ANN)

使用 kNN 查找最接近的匹配的另一种方法是查找足以满足你的特定需求的匹配。 这就是近似最近邻算法的优势所在。 这是因为 ANN 算法会查找与查询非常接近的数据,但不一定是最接近的数据。 因此,人工神经网络不会费力地分析每一个数据,这可能会耗费时间和资源,而是会满足于不太接近但相对而言仍然 “足够接近” 的东西。

这样做的好处是你可以创建更快、更高效的相似性搜索。 人工神经网络通过推断内容和数据之间的语义关系来实现这些 “足够接近” 的结果。

然而,要使这种方法有价值,你需要接受准确的权衡,因为它不能保证最接近的结果。 大多数时候,人工神经网络都是一个很好的解决方案,但如果你需要保证绝对准确性,这可能不是你的最佳选择。

无信息 (uninformed)或盲目的搜索算法

无信息搜索算法(也称为盲搜索算法)不知道有关搜索空间的信息。 他们系统地解决查询,没有指导或特定领域的知识。 他们完全依赖搜索空间的现有结构来寻找解决方案。

无信息搜索算法有多种不同类型,但最常见的三种是广度优先搜索 (breath-first search - BFS)、深度优先搜索 (depth-first search - DFS) 和统一成本搜索 (uniform cost search - UCS)。

知情(informed)或启发式搜索算法

知情搜索算法(也称为启发式搜索算法)是一种使用附加信息和特定领域知识来指导搜索的搜索类型。 与无信息的搜索不同,他们使用启发式方法,这是经验法则和估计,可以帮助他们确定路径的优先级并避免不必要的探索。

有几种不同类型的知情搜索算法,但最常见的是贪婪最佳优先搜索(best-first search)、A* 搜索和束搜索(beam search)。

AI 搜索算法的用例

正如我们已经提到的,人工智能搜索算法正在广泛的行业中用于完成各种任务。 这里只是一些现实世界的例子,它们产生了巨大的影响。

  • 信息检索:NLP 搜索算法可以通过理解查询的上下文和语气来增强搜索结果,以检索更多有用的信息。
  • 推荐:kNN 算法通常用于根据偏好和过去的行为推荐产品、电影或音乐。
  • 语音识别:人工神经网络算法通常用于识别语音模式。 这在语音转文本和语言识别等方面非常有用。
  • 医疗诊断:人工智能搜索算法可以帮助加快医疗诊断速度。 例如,它们可以接受海量医学图像数据集的训练,并使用图像识别来检测照片、X 射线、CT 扫描等中的异常情况。
  • 寻路:无信息搜索算法可以帮助找到地图或网络上两点之间的最短路径。 例如,确定司机的最短送货路线。

AI 搜索算法的挑战和局限性

人工智能搜索算法可能通过高效的问题解决和决策而彻底改变了各个行业,但它们也带来了挑战和限制。 首先,所涉及的计算复杂性可能使它们的运行成本极其昂贵。 这是因为它们需要大量的处理、计算和内存资源来执行搜索。 在有限制的情况下,这限制了它们的有效性。

另一个问题是,知情搜索算法的好坏取决于它所使用的启发式算法。 如果启发式函数不准确,它可能会导致算法走上错误的道路并导致次优甚至不正确的解决方案。

此外,人工智能搜索算法通常被设计用来解决特定类型的问题,例如寻路和约束满足。 这对于某些任务很有用,但解决问题的范围仍然存在限制,特别是在解决更多样化的问题时。

解码人工智能搜索未来

人工智能搜索算法是解决各个领域复杂的现代问题的重要工具。 它们的多样性和多功能性使它们对于寻路、规划和机器学习等任务不可或缺。

尽管它们正在彻底改变机器人、医疗保健和金融等行业,但仍然存在巨大的潜力。 当前的局限性和挑战也是未来进步的机遇。 随着研究不断提高性能,人工智能搜索算法将继续在解决现实问题和改变技术面貌方面发挥日益突出的作用。

接下来你应该做什么

只要你准备好...我们可以通过以下四种方式帮助你从业务数据中获取见解:

  • 开始免费试用,看看 Elastic 如何帮助你的业务。
  • 浏览我们的解决方案,了解 Elasticsearch 平台的工作原理以及我们的解决方案如何满足你的需求。
  • 了解如何在企业中提供生成式人工智能。
  • 通过电子邮件、LinkedIn、Twitter 或 Facebook 与你认识的愿意阅读本文的人分享本文。

更多关于人工智能的文章,请参阅 “NLP - 自然语言处理,向量搜索及人工智能” 专栏。

原文:Understanding AI search algorithms | Elastic Blog

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT信号槽实现分析

1.宏定义 qt中引入了MOC来反射,编译阶段变成 MOC–>预处理–>编译–>汇编–>链接 1-1、Q_OBJECT 这个宏定义了一系列代码,包括元对象和处理的函数 #define Q_OBJECT \public: \QT_WARNING_PUSH \Q_OBJECT_NO_OVERRIDE_WARNING \static c…

位运算03 不用加号的加法[C++]

图源:文心一言 上机题目练习整理,位运算,供小伙伴们参考~🥝🥝 网页版目录在页面的右上角↗~🥝🥝 第1版:在力扣新手村刷题的记录~🧩🧩 编辑:梅…

二叉树与堆

目录 1.树概念及结构 1.1树的概念 1.2 树的相关概念 1.3 树的表示 1.4 树在实际中的运用(表示文件系统的目录树结构) 2.二叉树概念及结构 2.1概念 2.2现实中的二叉树: 2.3 特殊的二叉树: 2.4 二叉树的性质 2.5 二叉树的…

高性能 Kafka 及常见面试题

Kafka 是一种分布式的,基于发布/订阅的消息系统,原本开发自 LinkedIn,用作 LinkedIn 的事件流(Event Stream)和运营数据处理管道(Pipeline)的基础。 基础原理详解可见 Kafka 基本架构及原理 基础…

【大数据】Flink SQL 语法篇(四):Group 聚合、Over 聚合

Flink SQL 语法篇(四):Group 聚合、Over 聚合 1.Group 聚合1.1 基础概念1.2 窗口聚合和 Group 聚合1.3 SQL 语义1.4 Group 聚合支持 Grouping sets、Rollup、Cube 2.Over 聚合2.1 时间区间聚合2.2 行数聚合 1.Group 聚合 1.1 基础概念 Grou…

019 Spring Boot+Vue 电影院会员管理系统(源代码+数据库+文档)

部分代码地址: https://github.com/XinChennn/xc019-cinema 一、系统介绍 cinema项目是一套电影院会员管理系统,使用前后端分离架构开发包含管理员、会员管理、会员卡管理、电影票、消费记录、数据统计等模块 二、所用技术 后端技术栈: …

【Flink精讲】Flink组件通信

主要指三个进程中的通讯 CliFrontendYarnJobClusterEntrypointTaskExecutorRunner Flink内部节点之间的通讯使用Akka,比如JobManager和TaskManager之间。而operator之间的数据传输是利用Netty。 RPC是统称,Akka,Netty是实现 Akka与Ac…

热闹元宵进行中,如何利用VR全景展示民宿品牌形象?

错峰出游闹元宵,元宵节恰逢周末,而且还是春节假期返工之后的首个休息日,不少人都想通过短途度假来缓解“节后综合征”。两位数的特价机票、打折的各种酒店让你实现“旅行自由”,那么如何知道特价酒店服务好不好呢?先别…

Docker Volume

"Ice in my vein" Docker Volume(存储卷) 什么是存储卷? 存储卷就是: “将宿主机的本地文件系统中存在的某个目录,与容器内部的文件系统上的某一目录建立绑定关系”。 存储卷与容器本身的联合文件系统? 在宿主机上的这个与容器形成绑定关系…

实用区块链应用:去中心化投票系统的部署与实施

一、需求分析背景 随着技术的发展,传统的投票系统面临着越来越多的挑战,如中心化控制、透明度不足和易受攻击等问题。为了解决这些问题,我们可以利用区块链技术去中心化、透明性和安全性来构建一个去中心化投票系统。这样的系统能够确保投票过…

vue2.0及起步(前端面试知识积累)

1、需要了解的vue概要知识 1、vue是什么? 一套用于构建用户界面的渐进式JavaScript框架。 为什么vue被称为是渐进式JS框架? 答:Vue允许开发者在不同的项目中以渐进式的方式使用它,这种渐进式表现在以下的方面: 逐步采…

数据可视化--了解数据可视化和Excel数据可视化

目录 1.1科学可视化: 可视化是模式、关系、异常 1.2三基色原理: 三基色:红色、绿色和蓝色 1.3Excel数据可视化 1.3.1 excel数据分析-13个图表可视化技巧 1.3.2 excel数据分析-28个常用可视化图表(video) 1.3.3Excel可视化…

Java面试——锁

​ 公平锁: 是指多个线程按照申请锁的顺序来获取锁,有点先来后到的意思。在并发环境中,每个线程在获取锁时会先查看此锁维护的队列,如果为空,或者当前线程是等待队列的第一个,就占有锁,否则就会…

Apache Doris 发展历程、技术特性及云原生时代的未来规划

本文节选自《基础软件之路:企业级实践及开源之路》一书,该书集结了中国几乎所有主流基础软件企业的实践案例,由 28 位知名专家共同编写,系统剖析了基础软件发展趋势、四大基础软件(数据库、操作系统、编程语言与中间件…

js里面有引用传递吗?

一:什么是引用传递 引用传递是相对于值传递的。那什么是值传递呢?值传递就是在传递过程中再复制一份,然后再赋值给变量,例如: let a 2; let b a;在这个代码中,let b a; 就是一个值传递,首先…

深度学习手写字符识别:推理过程

说明 本篇博客主要是跟着B站中国计量大学杨老师的视频实战深度学习手写字符识别。 第一个深度学习实例手写字符识别 深度学习环境配置 可以参考下篇博客,网上也有很多教程,很容易搭建好深度学习的环境。 Windows11搭建GPU版本PyTorch环境详细过程 数…

设计模式(十) - 工厂方式模式

前言 在此前的设计模式(四)简单工厂模式中我们介绍了简单工厂模式,在这篇文章中我们来介绍下工厂方法模式,它同样是创建型设计模式,而且又有些类似,文章的末尾会介绍他们之间的不同。 1.工厂方法模式简介 …

小程序性能优化

背景 在开发小程序的过程中我们发现,小程序的经常会遇到性能问题,尤其是在微信开发者工具的时候更是格外的卡,经过排查发现,卡顿的页面有这么多的js代码需要加载,而且都是在进入这个页面的时候加载,这就会…

面试redis篇-10Redis集群方案-主从复制

在Redis中提供的集群方案总共有三种: 主从复制哨兵模式分片集群主从复制 单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。 主从数据同步原理 Replication Id:简称replid,是数据集的标记,id一致则说明是同一数据集。每…

React18源码: Fiber树的初次创建过程图文详解

fiber树构造(初次创建) fiber树构造的2种情况: 1.初次创建 在React应用首次启动时,界面还没有渲染此时并不会进入对比过程,相当于直接构造一棵全新的树 2.对比更新 React应用启动后,界面已经渲染如果再次发…