Elasticsearch:什么是信息检索?

信息检索定义

信息检索 (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.rhkb.cn/news/492523.html

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

相关文章

Pytest-Bdd vs Behave:选择最适合的 Python BDD 框架

Pytest-Bdd vs Behave:选择最适合的 Python BDD 框架 Pytest BDD vs Behave:选择最适合的 Python BDD 框架BDD 介绍Python BDD 框架列表Python BehavePytest BDDPytest BDD vs Behave:关键区别Pytest BDD vs Behave:最佳应用场景结…

【数据集】5种常见人类行为检测数据集3379张YOLO+VOC格式

数据集格式:VOC格式YOLO格式 压缩包内含:3个文件夹,分别存储图片、xml、txt文件 JPEGImages文件夹中jpg图片总计:3379 Annotations文件夹中xml文件总计:3379 labels文件夹中txt文件总计:3379 标签种类数&am…

唯品会Android面试题及参考答案

HTTP 和 HTTPS 的区别是什么?你的项目使用的是 HTTP 还是 HTTPS? HTTP 和 HTTPS 主要有以下区别。 首先是安全性。HTTP 是超文本传输协议,数据传输是明文的,这意味着在数据传输过程中,信息很容易被窃取或者篡改。比如,在一个不安全的网络环境下,黑客可以通过网络嗅探工具…

基于Python+Vue开发的商城管理系统,大四期末作业,实习作品

项目简介 该项目是基于PythonVue开发的商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的网上商城管…

在 Solana 上实现 SOL 转账及构建支付分配器

与以太坊不同,在以太坊中,钱包通过 msg.value 指定交易的一部分并“推送” ETH 到合约,而 Solana 程序则是从钱包“拉取” Solana。 因此,没有“可支付”函数或“msg.value”这样的概念。 下面我们创建了一个新的 anchor 项目&a…

WebRTC搭建与应用(一)-ICE服务搭建

WebRTC搭建与应用(一) 近期由于项目需要在研究前端WebGL渲染转为云渲染,借此机会对WebRTC、ICE信令协议等有了初步了解,在此记录一下,以防遗忘。 第一章 ICE服务搭建 文章目录 WebRTC搭建与应用(一)前言一、ICE是什么?二、什么…

Linux高性能服务器编程 | 读书笔记 | 12. 多线程编程

12. 多线程编程 注:博客中有书中没有的内容,均是来自 黑马06-线程概念_哔哩哔哩_bilibili 早期Linux不支持线程,直到1996年,Xavier Leroy等人开发出第一个基本符合POSIX标准的线程库LinuxThreads,但LinuxThreads效率…

查看Mysql数据库引擎以及修改引擎为innoDB

目录 打开Mysql命令行 打开Mysql命令行 SHOW ENGINES;innoDB在事务型数据库中应用最多,其主要支持事务安全表(ACID),行锁定和外键。 介绍下InnoDB的主要特性: 1、InnoDB给MySQL提供了具有提交、回滚和崩溃恢复能力的事…

Moretl安全日志采集工具

永久免费: 至Gitee下载 使用教程: Moretl使用说明 使用咨询: 用途 定时全量或增量采集工控机,电脑文件或日志. 优势 开箱即用: 解压直接运行.不需额外下载.管理设备: 后台统一管理客户端.无人值守: 客户端自启动,自更新.稳定安全: 架构简单,兼容性好,通过授权控制访问. 架…

密码学——密码学概述、分类、加密技术(山东省大数据职称考试)

大数据分析应用-初级 第一部分 基础知识 一、大数据法律法规、政策文件、相关标准 二、计算机基础知识 三、信息化基础知识 四、密码学 五、大数据安全 六、数据库系统 七、数据仓库. 第二部分 专业知识 一、大数据技术与应用 二、大数据分析模型 三、数据科学 密码学 大数据…

nodejs搭配express网站开发后端接口设计需要注意事项

nodejs搭配express网站开发后端接口设计需要注意事项!为了回避一些常见的误区,今天和大家汇总一下,最近我遇到的一些错误信息,虽然都是小问题,但是还是需要分享一下,以免大家再次犯错。 1:第一个…

8_HTML5 SVG (4) --[HTML5 API 学习之旅]

8_HTML5 SVG (4) --[HTML5 API 学习之旅] SVG 文本 HTML5 中的 SVG&#xff08;可缩放矢量图形&#xff09;允许你直接在网页中嵌入图形&#xff0c;并且可以使用 <text> 元素来添加文本到这些图形中。以下是四个带有详细注释的 SVG 文本示例&#xff0c;展示了如何在不…

【中标麒麟服务器操作系统实例分享】java应用DNS解析异常分析及处理

了解更多银河麒麟操作系统全新产品&#xff0c;请点击访问 麒麟软件产品专区&#xff1a;https://product.kylinos.cn 开发者专区&#xff1a;https://developer.kylinos.cn 文档中心&#xff1a;https://documentkylinos.cn 情况描述 中标麒麟服务器操作系统V7运行在 ARM虚…

谷歌浏览器的界面调整与设置方法

谷歌浏览器是一款广受欢迎的网络浏览器&#xff0c;其简洁的界面和丰富的扩展功能吸引了大量用户。本文将详细介绍如何调整谷歌浏览器的界面以及一些实用的设置方法&#xff0c;帮助你更好地使用这款浏览器。&#xff08;本文由https://chrome.sungyun.cn/的作者进行编写&#…

05、GC基础知识

JVM程序在跑起来之后&#xff0c;在数据的交互过程中&#xff0c;就会有一些数据是过期不用的&#xff0c;这些数据可以看做是垃圾&#xff0c;JVM中&#xff0c;这些垃圾是不用开发者管的&#xff0c;它自己会有一套垃圾回收系统自动回收这些内存垃圾&#xff0c;以备后面继续…

苍穹外卖-day05redis 缓存的学习

苍穹外卖-day05 课程内容 Redis入门Redis数据类型Redis常用命令在Java中操作Redis店铺营业状态设置 学习目标 了解Redis的作用和安装过程 掌握Redis常用的数据类型 掌握Redis常用命令的使用 能够使用Spring Data Redis相关API操作Redis 能够开发店铺营业状态功能代码 功能实…

Spark-Streaming集成Kafka

Spark Streaming集成Kafka是生产上最多的方式&#xff0c;其中集成Kafka 0.10是较为简单的&#xff0c;即&#xff1a;Kafka分区和Spark分区之间是1:1的对应关系&#xff0c;以及对偏移量和元数据的访问。与高版本的Kafka Consumer API 集成时做了一些调整&#xff0c;下面我们…

启动报错java.lang.NoClassDefFoundError: ch/qos/logback/core/status/WarnStatus

报错信息图片 日志&#xff1a; Exception in thread "Quartz Scheduler [scheduler]" java.lang.NoClassDefFoundError: ch/qos/logback/core/status/WarnStatus先说我自己遇到的问题&#xff0c;我们项目在web设置了自定义的log输出路径&#xff0c;多了一个 / 去…

2025erp系统开源免费进销存系统搭建教程/功能介绍/上线即可运营软件平台源码

系统介绍 基于ThinkPHP与LayUI构建的全方位进销存解决方案 本系统集成了采购、销售、零售、多仓库管理、财务管理等核心功能模块&#xff0c;旨在为企业提供一站式进销存管理体验。借助详尽的报表分析和灵活的设置选项&#xff0c;企业可实现精细化管理&#xff0c;提升运营效…

数据增强的几大方式

1. 随机擦除(Random Erasing) 说明 随机在图像中选取一个矩形区域&#xff0c;将其像素值随机化或设为零&#xff0c;以增加模型对部分缺失信息的鲁棒性。 import numpy as np import cv2def random_erasing(image, sl0.02, sh0.2, r10.3):h, w, _ image.shapearea h * wta…