Azure AI Search 新功能:查询重写与语义重排器详解
Azure AI Search 最近推出了两项重大更新:查询重写(Query Rewriting,QR)和新的语义重排器(Semantic Ranker,SR)。这些新功能大幅提升了检索增强生成(Retrieval-Augmented Generation,RAG)的性能,提高了搜索结果的相关性和效率。在本文中,我们将详细介绍这两项新功能,并深入解释三个关键概念:查询重写、召回率和交叉编码器,并通过示例帮助您更好地理解。
一、Azure AI Search 的新功能
1. 查询重写(Query Rewriting,QR)
主要特点:
- 基于微调的小型语言模型(SLM):QR 利用专为低延迟优化的 SLM,能够快速生成查询重写。
- 生成多种查询变体:针对用户的原始查询,QR 可以生成多达 10 个不同的重写版本,以提高搜索的覆盖面。
- 提升召回率和搜索相关性:特别是在基于关键词的索引和召回率较低的情况下,QR 能够显著提高搜索结果的相关性,NDCG@3 指标提升了 4 个百分点。
- 无额外费用:当与语义重排器一起使用时,QR 不会产生额外的成本。
2. 新的语义重排器(Semantic Ranker,SR)
主要特点:
- 采用交叉编码器模型:新的 SR 使用了强大的交叉编码器模型,对初始召回的前 50 个结果进行重新排序。
- 显著提升相关性和性能:在 19 种语言的 90 多个数据集上测试,SR 显著提升了搜索结果的相关性。当与 QR 结合使用时,NDCG@3 指标最高提升了 22 个百分点。
- 降低延迟:新的 SR 模型比之前的模型快了最多 2.3 倍,大大减少了查询处理的延迟时间。
- 功能更新:包括答案生成、内容摘要和重点突出显示等功能都得到了改进。
- 自动升级:无需任何配置更改,新的 SR 将于 2024 年 11 月 19 日自动生效。
二、深入理解关键概念
为了更好地理解这些新功能如何提升搜索性能,我们需要先了解以下三个关键概念:查询重写、召回率和交叉编码器。
1. 查询重写(Query Rewriting)
定义:
查询重写是搜索系统在接收到用户的原始查询后,对其进行自动修改、扩展或优化的过程。目的是生成更有效的查询,以便检索到更多相关的结果,提高搜索的召回率和精准度。
作用:
- 提升召回率:通过生成查询的不同变体,捕获更多可能相关的文档。
- 处理用户输入问题:纠正拼写错误、语法问题或模糊表达,理解用户的真实意图。
- 扩展查询语义:添加同义词、相关词或上下文信息,更全面地覆盖用户需求。
示例:
用户原始查询: '新冠疫苗副作用严重吗?'
查询重写后的可能变体:
- '新冠疫苗的常见副作用是什么?'
- '接种新冠疫苗是否有严重的不良反应?'
- '新冠疫苗有哪些副作用?'
- '新冠疫苗的安全性如何?'
- '接种新冠疫苗会产生哪些不良反应?'
解释:
通过查询重写,搜索系统生成了多个与原始查询语义相近的变体。这些重写的查询可能使用了不同的措辞、同义词或更加具体的描述,使得搜索系统能够检索到更多相关的文档。例如,将"副作用严重吗"重写为"常见副作用是什么",扩大了检索范围。
2. 召回率(Recall Rate)
定义:


