Elasticsearch:什么是信息检索?

news2024/12/21 4:40:57

信息检索定义

信息检索 (IR) 是一种有助于从大量非结构化或半结构化数据中有效、高效地检索相关信息的过程。信息(IR)检索系统有助于搜索、定位和呈现与用户的搜索查询或信息需求相匹配的信息。

作为信息访问的主要形式,信息检索是每天使用搜索引擎的数十亿人的依靠。信息检索系统部署了各种模型、算法和日益先进的技术(例如:向量搜索),使搜索访问范围广泛且不断增长的来源成为可能,包括文档、文档中的项目、元数据以及文本、图像、视频和声音的数据库。

信息检索简史

信息检索的起源可以追溯到古代,当时人们建立了图书馆和档案馆来组织和存储信息,包括对学术作品进行索引和字母排序。到了 19 世纪,人们开始使用打孔卡来处理信息,1931 年,伊曼纽尔·戈德堡 (Emanuel Goldberg) 获得了第一台成功的机电文档检索设备的专利,该设备被称为 “统计机(Statistical Machine)”,旨在搜索胶片上编码的数据。

随着现代计算机的发展,信息检索在 20 世纪中叶开始正式化为一门科学学科。杰拉德·萨尔顿 (Gerard Salton) 和汉斯·彼得·卢恩 (Hans Peter Luhn) 开创了自动文档检索的早期模型。 20 世纪 60 年代,Salton 和康奈尔大学的同事创建了 SMART 信息检索系统,这是该领域的一个里程碑,为现代 IR 技术和关键概念奠定了基础,包括术语文档矩阵、向量空间模型、相关反馈和 Rocchio 分类。

到 20 世纪 70 年代,随着更先进的检索技术、概率模型和完全清晰的向量处理框架的出现,该领域取得了长足的进步。随着 20 世纪 90 年代末搜索引擎的出现,曾经主要属于学术界、机构和图书馆领域的 IR 系统和模型开始得到广泛应用。

信息检索模型的类型

不同类型的信息检索模型旨在应对特定挑战并建立检索相关信息的流程。有经典模型构成该领域的基础,有非经典模型试图解决传统方法的局限性,还有替代 IR 模型走得更远,通常通过集成机器学习和语言模型等先进技术。一般来说,最常见的信息检索模型类型包括:

布尔模型

布尔模型是最简单和最早的信息检索模型之一,它基于布尔逻辑,使用包括 AND、OR 和 NOT 在内的运算符来组合查询词。文档表示为术语集,查询经过处理以识别符合指定条件的文档。虽然布尔模型对于精确查询匹配很有效,但它无法根据相关性对文档进行排名或提供部分匹配。

向量空间模型

在此模型中,文档和查询表示为多维空间中的向量。每个维度对应一个唯一的术语,每个维度的值表示该术语在文档或查询中的重要性和频率。计算查询向量和文档向量之间的余弦相似度来确定文档与查询的相关性。向量空间模型的部分开发目的是为了解决布尔模型的缺点,它可以根据相关性分数提供排名结果,并广泛用于文本检索。

概率模型

此模型估计文档与给定查询相关的概率。它考虑术语频率和文档长度等因素来计算相关性概率。它在处理大量数据时特别有用。由于它与加权统计数据一起工作,因此该模型非常适合提供排名结果。

潜在语义索引 (Latent Semantic Indexing - LSI)

LSI 使用奇异值分解 (Singular Value Decomposition, SVD) 来捕捉术语与文档之间的语义关系。与语义搜索类似,语义索引利用意图和上下文来识别概念上相关的文档,即使它们并不共享完全相同的术语。这一关键能力使 LSI 能够有效提取文本主体中词语的上下文意义。

Okapi BM25

BM25 是概率模型中比较流行的变体之一,是一种搜索相关性排名函数。搜索引擎使用它来估计文档与搜索查询的相关性。它根据出现在每个文档中的查询词对一组文档进行排名,而不考虑文档中词之间的相互关系,它由许多具有不同组件和参数的评分函数组成。BM 代表 “最佳匹配 - best matching.”。

信息检索为何如此重要?

在信息时代,每秒都会生成数据,其规模曾经令人难以想象。如果没有可行的信息访问方式,数据实际上就是无用的。IR 系统可确保用户在信息过载的噪声不断增加的情况下获得所需的相关信息。

信息检索在现代世界的几乎所有行业和领域都发挥着至关重要的作用,从学术界和电子商务到医疗保健和国防。它是一种人机界面,可帮助企业和个人进行决策、研究和知识发现。从搜索本地桌面到发现世界新闻,从基因组研究到垃圾邮件过滤,信息检索几乎是我们生活的方方面面的基础。

搜索引擎依靠信息检索模型来提供准确的搜索结果。电子商务平台使用检索模型根据用户偏好和行为推荐产品。数字图书馆依靠信息检索科学来帮助用户进行研究。在医疗保健领域,信息检索系统可帮助在数据库中搜索相关患者记录、医学研究和治疗方案。法律专业人士则使用信息检索来梳理大量法律案件,寻找先例。

信息检索系统如何工作?

信息检索过程通常在用户向系统输入正式查询以说明其信息需求时触发。IR 系统在内容集合或信息数据库中创建文档索引。数据对象(包括来自文本文档、图像、音频和视频的数据对象)经过处理以提取相关术语和替代数据,并使用数据结构有效地存储和检索这些实体。

当用户提交查询时,系统会对其进行处理以识别相关术语并确定其重要性。然后,系统根据文档与查询的相关性对其进行排名。在许多情况下,IR 模型和算法用于根据集合或数据库中的每个对象与查询的匹配程度来计算数字分数。许多查询不会完全匹配:最相关的文档以排名列表的形式呈现给用户。这些排名结果代表了信息检索搜索和数据库搜索之间的一个主要区别。

信息检索系统的主要组件

信息检索系统由几个关键组件组成:

  • 文档集合
    • 系统可以从中检索信息的文档集。
  • 索引组件
    • 处理源数据和文档以创建索引,将术语和数据映射到包含它们的文档 — 通常采用专用的、优化的数据结构。
  • 查询处理器
    • 查询处理器分析用户查询和关键字,并准备将它们与索引实体进行匹配。
  • 排名算法
    • 排名算法确定文档与查询的相关性并为其分配分数。最常见的是 BM25(最佳匹配 25)排名算法,该算法以其对词频的改进方法而闻名,可避免文档中充斥过多的关键字和重复术语。
  • 用户界面
    • UI 是用户与系统交互、提交查询和显示结果的显示界面。在这里,可以根据结果对用户查询的响应程度对其进行调整。在某些情况下,机制可能允许用户对检索到的文档的相关性提供反馈,这可用于改进未来的检索。

信息检索的好处

信息检索模型的显著好处包括:

  • 高效的信息访问:最重要的是,信息检索系统为人们节省了大量的时间和精力。信息检索使用户能够快速访问相关信息,而无需手动搜索大量文档和数据。
  • 知识发现:信息检索是一种强大的工具,可以让我们理解数据。借助信息检索,用户可以识别数据中最初可能不明显的趋势、模式和关系。
  • 个性化:一些信息检索系统可以根据个人用户的偏好和行为以有意义的方式定制结果。
  • 决策支持:专业人士能够在需要时访问最相关的信息,从而做出明智的决策。

信息检索的挑战和局限性

尽管取得了重大进展,但信息检索从来都不完美。已知的问题、挑战和局限性仍然存在,包括:

  • 模糊性自然语言本质上是模糊的,因此很难准确解释用户查询。类似的模糊性和不确定性问题会影响索引和评估过程,尤其是对于图像和视频等对象。
  • 相关性确定相关性是主观的,可能会因用户上下文和意图而异。用于确定价值和重要性的标准可能受一组不完善的通用标准的支配,这些标准不能反映个人用户的特定需求。
  • 语义差距由于文本表示和人类理解之间的差距,检索系统可能难以捕捉内容的深层含义。信息和用户表达的不清晰是成功进行 IR 的主要障碍。由人工智能驱动的高级自然语言处理旨在弥合这些语义和模糊性差距。
  • 可扩展性随着数据量的增加,维持高效、有效的检索和索引变得更加复杂,需要越来越多的资源和计算能力。

信息检索的未来趋势

随着生成式人工智能和机器学习的最新突破,我们所熟知的信息检索可能即将迎来变革。

先进的机器学习技术已经通过从用户交互中学习并适应不断变化的环境、位置和偏好来增强检索。改进的自然语言处理和语义分析可以更好地理解用户查询和文档内容。检索系统也在不断发展,以更有效地处理不断增长的多媒体内容。

生成式人工智能对信息检索的影响具有革命性的潜力。我们将收到问题的实际答案,而不是我们习惯的结果排序列表,这需要手动对现有链接和文档进行排序才能找到我们正在寻找的内容。上下文将从一个问题传递到另一个问题,允许进行复杂、对话式、多步骤的查询,几乎消除了人类语言处理和意图的障碍。搜索引擎无需我们自己拼凑答案,而是会替我们完成工作,将信息综合成原创内容形式的具体定制结果,提供我们真正需要的内容,而不会提供我们不需要的内容。

深入研究 2024 年技术搜索趋势。观看此网络研讨会,了解最佳实践、新兴方法以及顶级趋势如何影响 2024 年的开发人员。

使用 Elasticsearch 进行信息检索

Elastic 致力于不断改进 Elastic Stack 中可用的信息检索功能。我们最新的检索模型 Elastic Learned Sparse Encoder 通过预先训练的语言模型增强了 Elastic 的开箱即用检索功能。为了实现真正的一键式体验,我们将其与新的 Elasticsearch Relevance Engine 集成在一起。

Elasticsearch 还具有出色的词汇检索功能和丰富的工具,可用于组合不同查询的结果,这一概念称为混合检索。我们还通过 NLP 和向量搜索增强了聊天机器人功能,发布了用于文本嵌入的第三方自然语言处理模型,并使用 BEIR 的子集评估我们的性能。

你接下来应该做什么

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

  1. 开始免费试用,了解 Elastic 如何帮助你的业务。
  2. 浏览我们的解决方案,了解 Elasticsearch 平台的工作原理以及它们如何满足你的需求。
  3. 了解如何在企业中提供生成式 AI。
  4. 与你认识的喜欢阅读这篇文章的人分享这篇文章。通过电子邮件、LinkedIn、Twitter 或 Facebook 与他们分享。

原文:What is Information Retrieval? | A Comprehensive Information Retrieval (IR) Guide | Elastic

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深度学习】 零基础介绍卷积神经网络(CNN)

CNN学习 零基础介绍写个CNN最简单的代码一. 概述二. 搭建CNN1. 输入层2. 卷积层3. 激活层4. 池化层5. 全连接层6. 网络搭建小结7. 损失函数8. 梯度下降9. 反向传播10. 模型评估与正则化11. 尝试搭建自己的第一个CNN 三. 经典CNN结构四. 猫狗识别项目实践1. Paddle实现版本&…

flutter 使用dio 请求go语言后台数据接口展示瀑布流图片

添加依赖 dependencies:flutter:sdk: flutterdio: ^5.0.0 # 请检查最新版本flutter_staggered_grid_view: ^0.4.0 添加网络权限 <uses-permission android:name"android.permission.INTERNET" /> go后端代码 图片存放目录 // main.go package mainimport (&q…

ZYNQ初识2(zynq_7010)基于vivado,从PL端调用PS端的时钟

由于需要进行一些FPGA的简单开发&#xff0c;但板载PL端没有焊接晶振&#xff0c;所以需要从PS端借用时钟到PL端使用。 首先新建项目&#xff0c;根据自己的板载选择芯片&#xff0c;我的板载芯片是zynq_7010。 一路next&#xff0c;在自己的vivado的工作文档新建文件夹并给自…

Go语言启动独立进程

文章目录 问题解决方案1. **将 npc.exe 启动为独立的进程**2. **修改 exec.Command 函数**示例代码解释为什么这样有效注意 问题 在你当前的代码中&#xff0c;调用 exec.Command("XXX.exe") 启动 XXX.exe 程序时&#xff0c;这个程序是由 Go 程序直接启动的。如果 …

oracle client linux服务器安装教程

p13390677_112040_Linux-x86-64_4of7.zip 安装前&#xff0c;确认/etc/hosts文件已配置正确 cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.2…

strongswan构建测试环境

make-testing脚本文件负责构建strongswan的虚拟化测试系统。位于目录strongswan-5.9.14/testing/&#xff0c;需要以管理员身份运行make-testing。生成测试用到的虚拟客户机镜像&#xff0c;KVM虚拟机和虚拟网络的配置文件位于目录:config/kvm。 ~/strongswan-5.9.14/testing$…

页面无滚动条,里面div各自有滚动条

一、双滚动条左右布局 实现效果 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Doc…

踩准智能汽车+机器人两大风口,速腾聚创AI+机器人应用双线爆发

日前&#xff0c;RoboSense速腾聚创交出了一份亮眼的Q3财报。受到多重利好消息影响&#xff0c;其股价也应势连续大涨。截止12月9日发稿前&#xff0c;速腾聚创股价近一个月内累计涨幅已超88%。 财务数据方面&#xff0c;速腾聚创在今年前三季度实现总收入约11.3亿元&#xff0…

省略内容在句子中间

一、使用二分查找法 每次查找时&#xff0c;将查找范围分成两半&#xff0c;并判断目标值位于哪一半&#xff0c;从而逐步缩小查找范围。 循环查找 计算中间位置 mid Math.floor((low high) / 2)。比较目标值 target 和中间位置的元素 arr[mid]&#xff1a; 如果 target ar…

CTF — 压缩包密码爆破

CTF — 压缩包密码爆破 ​ 在CTF比赛中&#xff0c;密码爆破压缩包&#xff08;如ZIP或RAR文件&#xff09;是一个常见的任务。针对ZIP压缩包的密码爆破主要是使用工具ARCHPR完成的。这个工具的功能非常强大&#xff0c;假设你已经在Win系统里安装完这个软件了&#xff0c;打开…

Spring之我见 - 从IOC谈到AOP实现原理

前言 以前写过一篇文章&#xff0c; 专门讲了 Spring 的动态代理实现原理 从代理模式再出发&#xff01;Proxy.newProxyInstance的秘密&#xff0c; 这一次我们探究下动态代理模式比较重量级的应用 – Spring AOP 的源码实现。 本文重在讲主流程&#xff0c; 但为了让流程更清…

基于 SSM 框架 Vue 电脑测评系统:赋能电脑品质鉴定

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;作为一个一般的用户都开始注重与自己的信息展示平台&#xff0c;实现基于SSM框架的电脑测评系统在技术上已成熟。本文介绍了基于SSM框架的电脑测评系统的开发全过程。通过分析用户对于基于SSM框架的电脑测评系统的…

[react] 优雅解决typescript动态获取redux仓库的类型问题

store.getState()是可以获取总仓库的 先拿到函数的类型 再用ReturnType<T> 它是 TypeScript 中的一个内置条件类型&#xff0c;用于获取某个函数类型 T 的返回值类型 代码 // 先拿总仓库的函数类型type StatefuncType typeof store.getState;//再拿函数类型T的返回值类…

mysql中与并发相关的问题?

今天我们来聊聊 MySQL 中与并发相关的一些问题。作为一名资深 Python 开发工程师&#xff0c;我觉得这些问题不仅关乎数据库的稳定性和数据的一致性&#xff0c;更与我们的代码实现和业务逻辑密切相关。 尤其是在高并发环境下&#xff0c;如何保证数据的一致性&#xff0c;如何…

(补)算法刷题Day19:BM55 没有重复项数字的全排列

题目链接 给出一组数字&#xff0c;返回该组数字的所有排列 例如&#xff1a; [1,2,3]的所有排列如下 [1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2], [3,2,1]. &#xff08;以数字在数组中的位置靠前为优先级&#xff0c;按字典序排列输出。&#xff09; 思路&#xff1a; 使用回…

ARM嵌入式学习--第八天(PWM)

PWM -PWM介绍 PWM&#xff08;pulse Width Modulation&#xff09;简称脉宽调制&#xff0c;是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术&#xff0c;广泛应用在测量&#xff0c;通信&#xff0c;工控等方面 PWM的频率 是指在1秒钟内&#xff0c;信号从…

neo4j 图表数据导入到 TuGraph

neo4j 图表数据导入到 TuGraph 代码文件说明后文 前言:近期在引入阿里的 TuGraph 图数据库&#xff0c;需要将 原 neo4j 数据导入到新的 tugraph 数据库中。预期走csv文件导入导出&#xff0c;但因为格式和数据库设计问题&#xff0c;操作起来比较麻烦&#xff08;可能是个人没…

Docker介绍、安装、namespace、cgroup、镜像-Dya 01

0. 容器简介 从生活上来说&#xff0c;容器是一种工具&#xff0c;可以装东西的工具&#xff0c;如衣柜、背包、行李箱等等。 从IT技术方面来说&#xff0c;容器是一种全新的虚拟化技术&#xff0c;它提高了硬件资源利用率&#xff0c;结合k8s还可以让企业业务快速横向扩容、业…

鱼跃医疗获评2024年国家级“绿色工厂”,以绿色制造树立行业标杆

近日&#xff0c;工业和信息化部公布了2024年度绿色制造名单&#xff0c;鱼跃医疗凭借在绿色制造和可持续发展方面的卓越表现&#xff0c;成功入选并获评国家级“绿色工厂”。 “绿色工厂”是工信部为贯彻落实国家《工业绿色发展规划》&#xff0c;加快推动绿色制造体系建设&a…

建投数据与腾讯云数据库TDSQL完成产品兼容性互认证

近日&#xff0c;经与腾讯云联合测试&#xff0c;建投数据自主研发的人力资源信息管理系统V3.0、招聘管理系统V3.0、绩效管理系统V2.0、培训管理系统V3.0通过腾讯云数据库TDSQL的技术认证&#xff0c;符合腾讯企业标准的要求&#xff0c;产品兼容性良好&#xff0c;性能卓越。 …