作者:Aris Papadopoulos, Gilad Gal

寻找意义,而不仅仅是文字

我们很高兴地与大家分享,在 8.8 中,Elastic ® 提供开箱即用的语义搜索。语义搜索旨在根据文本的意图或含义进行搜索,而不是词汇匹配或关键字查询。与传统的基于词汇术语的搜索相比,这是质的飞跃,提供了突破性的相关性。它在概念层面捕获单词之间的关系,理解上下文并根据含义显示相关结果,而不是简单地查询术语。

为了消除人工智能搜索的障碍,我们在 8.8 中引入了一种新的语义搜索模型(目前为技术预览版),该模型由 Elastic 训练和优化。使用它可以立即利用 Elastic 中原生的向量搜索和混合搜索的卓越语义相关性。

引入 Elastic Learned Sparse Encoder,一种用于语义搜索的新文本扩展模型

Elastic 在向量搜索和 AI 方面投入了三年时间,并在 8.0 中发布了对近似最近邻搜索的支持(在 Lucene 中使用 HNSW)。认识到实现语义搜索的工具正在迅速发展,我们以编程方式和通过 UI 提供了第三方模型部署和管理。借助组合功能,您可以载入向量模型(embedding)并通过熟悉的,已被增强的 search API 执行向量搜索。

假设一名员工正在寻找领导力课程。借助 Elastic Enterprise Search 中的向量搜索,我们可以更好地了解用户的意图并返回为其行业、组织和角色量身定制的课程。

- Jon Ducrou,Go1 工程高级副总裁

使用向量搜索的效果令人惊叹。但要实现这些目标,组织需要远远超出典型软件产品化的大量专业知识和努力。这包括在搜索将要执行的领域内对足够数量的查询进行注释(通常在数万个的数量级),在领域内重新训练机器学习(所谓的 “embedding”)模型以实现域适应,并维护模型以防止漂移。同时,出于隐私、支持、竞争或许可方面的考虑,您可能不想依赖第三方模型。因此,AI 驱动的搜索仍然超出了大多数用户的能力范围。

考虑到这一点,我们在 8.8 中引入了 Elastic Learned Sparse Encoder——技术预览版。您可以通过在 Elastic UI 中单击一个按钮来开始使用这个新的检索模型,适用于各种各样的用例,而且您不需要任何机器学习专业知识或部署工作。

机器学习训练模型管理

开箱即用的高级语义搜索

Elastic 的 Learned Sparse Encoder 使用文本扩展 为简单的搜索查询注入含义并提高相关性。它捕捉了英语单词之间的语义关系,并基于这些关系扩展搜索查询,包括查询中不存在的相关术语。这比使用词汇评分 (BM25) 添加同义词更强大,因为它使用这种更深层次的语言尺度知识来优化相关性。不仅如此,上下文也被考虑在内,有助于消除在不同句子中可能有不同解释的单词的歧义。

因此,该模型有助于缓解词汇不匹配问题:即使文档中不存在被查询术语,Elastic Learned Sparse Encoder 也会返回相关文档(如果存在)。

根据我们的比较,这种新颖的检索模型在 12 个重要的相关性基准测试中有 11 个优于词汇搜索,而结合两者的混合搜索在所有 12 个相关性基准中都表现最好。换句话说,你可以在不同的领域中获得很好的性能,而在某些情况下,与词汇搜索的结合可以获得最佳的性能。如果你已经花了精力在你的领域中对词汇搜索进行了微调,你可以从混合评分中获得额外的提升!

为什么选择 Elastic 的 Learned Sparse Encoder?

最重要的是,您可以开箱即用地使用这个新模型,无需域适应——我们将在下面详细解释;它是一个稀疏向量模型,在领域外或零样本中表现良好。让我们来看看这些特性如何直接转化为您的搜索应用程序的价值:

  • 我们的模型的训练和架构方式使您不需要对其进行数据微调。作为一个跨领域模型,它在没有应用特定领域重新训练的情况下,优于密集向量模型。换句话说,只需在 UI 上点击 “deploy”,就可以使用最先进的语义搜索与您的数据一起使用。
  • 我们的模型在相同基准测试下优于 SPLADE(稀疏词汇和扩展模型),这是之前的跨领域、稀疏向量、文本扩展冠军。
  • 此外,您不必担心许可证、支持、竞争力的连续性以及超出 Elastic 许可证层次的可扩展性。例如,SPLADE 仅适用于非商业用途。我们的模型可在我们的 Platinum 订阅层次中使用。
  • 作为稀疏向量表示,它使用 Elasticsearch、基于 Lucene 的倒排索引。这意味着可以利用数十年的优化来提供最佳性能。因此,Elastic 提供了市场上最强大和最轻松的混合搜索解决方案之一。
  • 出于同样的原因,它既更高效,也更可解释。与密集表示相比,激活的维度更少,并且它们通常直接映射到单词,而不是密集表示的不透明性。在词汇不匹配的情况下,这将清楚地显示查询中不存在的哪些词触发了结果。

让我们来谈谈性能和 Elasticsearch 作为向量数据库的问题

保留数万个维度的向量并在它们上执行向量相似度可能听起来像是一个规模和延迟的挑战。然而,稀疏向量压缩效果非常好,而 Elasticsearch(和 Lucene)倒排索引是这种用例的强大技术方法。此外,对于 Elastic 来说,向量相似度是一种计算强度较小的操作,因为 Elasticsearch 隐藏了一些巧妙的倒排索引技巧。总体而言,使用我们的稀疏检索模型时,查询性能和索引大小都非常出色,并且与典型的密集向量索引相比,需要更少的资源。

话虽如此,无论平台如何,向量搜索(稀疏或密集)与词汇搜索相比,在内存占用和时间复杂度方面都具有固有的更大占用。Elastic 作为向量数据库进行了优化,并在所有层面(数据结构和算法)提供了所有可能的优势。尽管与词法搜索相比,学习稀疏检索可能需要更多资源,但根据您的应用程序和数据,它提供的增强功能很值得投资。

未来:市场上最强大的混合搜索

在第一个技术预览版中,我们将输入的长度限制为 512 个标记(tokens),这大约是每个字段中通过推理管道的前 300-400 个单词。这对于许多用例来说已经足够了,我们正在研究在未来版本中处理更长文档的方法。为了成功进行早期评估,我们建议使用大部分信息存储在前 300-400 个单词中的文档。

在评估了不同的相关性模型之后,我们发现最好的结果来自于不同排名方法的集合。您可以通过我们简化的搜索 API,将向量搜索(使用或不使用新的检索模型)与 Elastic 的词汇搜索相结合。将每种方法的归一化分数线性组合可以提供出色的结果。

但是,我们想要突破界限,通过消除基于分数、数据、查询等的微调的任何搜索科学努力,提供市场上最强大的混合搜索功能。为此,我们在 8.8 中发布了 Reciprocal Rank Fusion(RRF),最初可与 Elastic 中的第三方模型一起使用,并且我们正在努力通过 RRF 将我们的稀疏检索模型和词汇搜索集成到后续版本中。这样,您将能够利用 Elastic 的创新混合搜索架构,通过您熟悉并信任多年成熟的 Elastic 搜索 API,结合语义、词汇和多媒体进行混合搜索。

最后,在努力实现  GA 生产就绪版本的过程中,我们正在探索处理长文档和整体优化的策略,以进一步提高性能。

立即开始使用 Elastic 的人工智能搜索

要试用 Elastic Learned Sparse Encoder,请前往经过训练的模型视图中的机器学习或企业搜索,只需单击一个按钮,即可开始使用语义相关的术语丰富您摄取的数据。如果您还没有访问 Elastic 的权限,您可以在此处请求访问所需的高级试用版。

要详细了解我们在矢量搜索和 AI 领域的投资和发展轨迹,请观看企业搜索总经理 Matt Riley 的 ElasticON Global 聚焦演讲。

面向开发人员的 Elasticsearch

要更深入地了解新模型的架构和训练,请阅读我们机器学习专家的博客。

要了解如何使用该模型进行语义搜索和混合搜索,请访问我们的 API 和需求文档。

本博文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。当前不可用的任何特性或功能可能无法按时交付或根本无法交付。

Elastic Learned Sparse Encoder 简介:Elastic 用于语义搜索的 AI 模型相关推荐

  1. 使用 Elastic Learned Sparse Encoder 和混合评分的卓越相关性

    作者:The Elastic Platform team 2023 年 5 月 25 今天,我们很高兴地宣布 Elasticsearch 8.8 正式发布. 此版本为矢量搜索带来了多项关键增强功能,让 ...

  2. Elasticsearch:部署 ELSER - Elastic Learned Sparse EncoderR

    警告:此功能处于技术预览阶段,可能会在未来的版本中更改或删除. Elastic 将尽最大努力修复任何问题,但技术预览中的功能不受官方 GA 功能的支持 SLA 约束. Elastic Learned ...

  3. Elasticsearch:使用 ELSER 进行语义搜索

    Elastic Learned Sparse EncodeR(或 ELSER)是一种由 Elastic 训练的 NLP 模型,使你能够使用稀疏向量表示来执行语义搜索. 语义搜索不是根据搜索词进行字面匹 ...

  4. 知识图谱入门 【八】- 语义搜索

    知识图谱入门 [一]- 认识图谱技术 知识图谱入门 [二]- 知识表示与知识建模 知识图谱入门 [三]- 知识抽取 知识图谱入门 [四]- 知识挖掘 知识图谱入门 [五]- 知识存储 知识图谱入门 [ ...

  5. “进化”的搜索方式:揭秘微软语义搜索背后的技术

    编者按:作为一项云搜索服务,Azure 认知搜索集成了强大的 API 和工具,帮助开发人员构建丰富的搜索体验.不止于现状,微软的研究员们为 Azure 认知搜索"加持"了语义搜索功 ...

  6. aws elastic beanstalk入门之简介

    文档:What is AWS Elastic Beanstalk? - AWS Elastic Beanstalk 1.简介 Elastic Beanstalk 可以在 AWS 云中快速部署和管理应用 ...

  7. Dynamic Routing-中科院西交旷视(孙剑团队)提出用于语义分割的动态路由网络,精确感知多尺度目标,代码已开源!...

    关注公众号,发现CV技术之美 ▊ 写在前面 近年来,大量手工设计和基于搜索的网络被用于语义分割.然而,以前的工作(如FCN.U-Net和DeepLab系列)希望在预定义的静态网络结构中处理不同规模的输 ...

  8. CVPR2020 | 即插即用!将双边超分辨率用于语义分割网络,提升图像分辨率的有效策略...

    点击上方"AI算法修炼营",选择"星标"公众号 精选作品,第一时间送达 本文是收录于CVPR2020的工作,文章利用低分辨率的输入图像通过超分辨率网络生成高分辨 ...

  9. Elastic:使用 Docker 安装 Elastic Stack 8.x 并开始使用

    Elastic Stack 8.0 终于于最近发布了.在我之前的文章 "Elastic Stack 8.0 安装 - 保护你的 Elastic Stack 现在比以往任何时候都简单" ...

最新文章

  1. Java入门—输入输出流
  2. 再见 Python,Hello Julia!
  3. 网络流24题-骑士共存
  4. 去除警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
  5. 彻底删除SharePoint 2010 Content Database
  6. MS Reporting Services 报表开发
  7. 2022-02-03--银河麒麟-银河麒麟v4与.netcore安装
  8. 会签是什么意思_后宫为什么要争宠·六
  9. mathwin.top 联系我们_设计:“有目的”的“因果联系”
  10. Kong-dashboard 安装 启动运行
  11. android中利用实现二级联动的效果
  12. 软件测试职业发展-王学丹
  13. 445port入侵详细解释
  14. CS229 Lecture 17
  15. EasyDarwin —— windows搭建rtsp服务,使用FFmpeg进行rtsp推拉流
  16. java调用打印机打印
  17. 解决selenium自动关闭浏览器
  18. 电脑开机内存占用过高处理
  19. python从字符串中提取指定的内容
  20. 关于联想小新16pro无网络问题_雪雪专享篇(安装网卡驱动篇)

热门文章

  1. ip地址计算可用计算机数,可用网络地址数,可用主机地址数都是如何算的?
  2. 怎么更改计算机的网络设置,电脑中如何通过修改注册表来设置网络连接备注
  3. Python双色球开奖
  4. 宝莱坞电影重战江湖 印度剧将进中国观众视线
  5. 为什么你的60%的时间都被浪费了?——一场7天重塑大脑的专注力实验
  6. Nginx:09---HTTP模块之(URI请求与重定向:location模块)
  7. Elasticsearch:理解 Elasticsearch Percolate 查询
  8. css 实现加载动画效果
  9. 2015年,您用CRM做了什么?
  10. (无坑、直接的C++小代码)空间三点计算平面方程参数