查询扩展

查询扩展

查询扩展通过为用户查询添加额外的上下文或术语,提升如RAG和聊天机器人等AI系统中的检索准确率和响应质量。

查询扩展

查询扩展通过为用户查询添加术语或上下文,提升文档检索的准确性。在RAG系统中,它提升召回率和相关性,帮助聊天机器人和AI更有效地处理模糊或同义查询,提供精准答案。

查询扩展是指在将用户原始查询发送给检索机制之前,通过添加额外术语或上下文对其进行增强的过程。这种加强有助于检索到更相关的文档或信息片段,从而生成更准确、上下文更合适的响应。如果使用替代查询进行文档检索并重新排序,RAG流程可以在提示上下文窗口中获得更精确的文档结果。

Query Expansion illustration

什么是检索增强生成(RAG)?

检索增强生成(RAG)是一种结合了检索机制和生成模型的AI架构,旨在生成更准确、上下文相关的响应。在RAG系统中,检索组件会根据用户查询,从知识库中获取相关文档或数据块。随后,生成模型(通常是大语言模型或LLM)利用这些检索到的信息来生成连贯且有信息量的答案。

查询扩展在RAG系统中的作用

提升检索性能

在RAG系统中,生成答案的质量很大程度上取决于检索到文档的相关性。如果检索组件未能获取最相关的信息,生成模型可能会输出次优或无关的答案。查询扩展通过优化初始查询,提高检索所有相关文档的概率,从而解决这一挑战。

提高召回率

通过使用相关术语、同义词或释义扩展原始查询,查询扩展拓宽了检索范围。这提升了检索系统的召回率,即能从知识库中捕获更多相关文档。更高的召回率为生成模型提供了更丰富的上下文,提升RAG系统整体输出的质量。

查询扩展在RAG系统中的应用方式

查询扩展流程步骤

  1. 接收用户查询:流程从用户原始查询开始,该查询可能不完整、模糊,或使用了与知识库文档不一致的术语。
  2. 生成扩展查询:系统生成与原始查询语义相近的其他查询。这可通过多种技术实现,包括利用大语言模型(LLM)。
  3. 检索文档:每个扩展查询用于从知识库中检索文档,结果是获得更大且多样化的相关文档集合。
  4. 聚合结果:将检索到的文档聚合,去重并根据相关性排序。
  5. 生成响应:生成模型利用聚合后的文档,为用户查询生成最终答案。

查询扩展技术

1. 利用大语言模型(LLM)

如GPT-4等LLM可以生成与原始查询语义相近的查询或释义。通过理解上下文和语言细节,LLM能够生成高质量的扩展,涵盖多种提问方式。

示例:

  • 原始查询:“气候变化的影响”
  • LLM生成的扩展查询
    • “全球变暖的影响”
    • “环境变化的后果”
    • “气候变异及其作用”

2. 假设答案生成

该方法通过LLM为用户查询生成一个假设答案。然后将假设答案添加到原始查询中,为检索提供更多上下文。

流程:

  • 为查询生成一个假设答案。
  • 将原始查询与假设答案结合。
  • 用合并后的文本作为检索的查询。

示例:

  • 原始查询:“哪些因素导致了收入增长?”
  • 生成的假设答案
    • “公司的收入增长得益于成功的市场营销活动、产品多元化以及拓展新市场。”
  • 合并查询
    • “哪些因素导致了收入增长?公司的收入增长得益于成功的市场营销活动、产品多元化以及拓展新市场。”

3. 多查询方法

通过生成多个不同表述或角度的替代表达,每个查询独立用于检索文档。

流程:

  • 利用LLM生成多个类似查询。
  • 分别对每个查询检索文档。
  • 合并和排序检索到的文档。

示例:

  • 原始查询:“公司增长的关键驱动因素”
  • 扩展查询
    • “业务扩展的主要因素”
    • “公司业绩提升的原因是什么?”
    • “推动组织增长的重要因素”

示例与应用场景

案例分析:提升年度报告分析的RAG效果

场景:
某AI系统旨在基于公司年度报告回答问题。用户提问:“高管团队有重大变动吗?”

实现方式:

  1. 假设答案生成
    • 系统生成假设答案:“高管团队变动极小,为战略举措提供了稳定性和连续性。”
  2. 查询扩展
    • 将假设答案与原始查询组合,形成扩展查询。
  3. 检索
    • 用扩展查询检索年度报告中涉及高管变动的相关内容。
  4. 生成
    • AI基于检索到的信息生成精准答案。

益处:
通过假设答案补充上下文,系统能检索到原始查询可能遗漏的相关信息。

案例分析:提升客户支持聊天机器人的搜索效果

场景:
客户支持机器人帮助用户排查问题。用户输入:“我的网速很慢。”

实现方式:

  1. 利用LLM进行查询扩展
    • 生成扩展查询:
      • “网络速度变慢”
      • “宽带连接很慢”
      • “网络延迟问题”
  2. 检索
    • 每个查询检索与网络速度慢相关的帮助文章和排查步骤。
  3. 响应生成
    • 聊天机器人整合检索信息,指导用户解决问题。

益处:
机器人涵盖了更多可能的问题与解决方案,提高了高效解决用户问题的概率。

案例分析:学术研究辅助

场景:
学生使用AI助手查找主题资源:“睡眠剥夺对认知功能的影响。”

实现方式:

  1. 多查询生成
    • 生成类似查询:
      • “缺乏睡眠如何影响思维能力?”
      • “因失眠导致的认知障碍”
      • “睡眠剥夺与心理表现”
  2. 检索
    • 针对每个查询检索相关论文和文章。
  3. 聚合与排序
    • 合并结果,优先推荐最相关和最新的研究。
  4. 响应生成
    • AI总结研究发现并推荐关键文献。

益处:
学生能获得覆盖话题各方面的全面信息,便于深入研究。

查询扩展在RAG系统中的优势

  • 提升召回率:检索到更多相关文档,为生成准确答案提供更好上下文。
  • 处理模糊查询:通过补充上下文应对简短或歧义查询。
  • 同义词识别:覆盖原始查询未包含的同义词或相关术语的文档。
  • 优化用户体验:用户无需手动优化查询即可获得更准确、信息丰富的响应。

挑战与注意事项

过度扩展

扩展查询过多可能引入无关文档,降低检索精度。

应对措施:

  • 受控生成:限制扩展查询的数量。
  • 相关性过滤:采用评分机制优先考虑最相关的扩展查询。

歧义与多义词

多义词可能导致无关扩展。

应对措施:

  • 上下文感知扩展:使用能理解查询上下文的LLM。
  • 消歧技术:通过算法结合查询上下文区分不同含义。

计算资源消耗

生成和处理多个扩展查询会消耗较多计算资源。

应对措施:

  • 高效模型:采用优化的LLM和检索系统。
  • 缓存机制:缓存常见查询及扩展,减少重复计算。

检索系统集成

确保扩展查询能与现有检索算法高效结合。

应对措施:

  • 评分调整:修改检索评分算法以兼容扩展查询。
  • 混合方法:结合关键词检索和语义检索。

有效查询扩展的技术

术语加权

为扩展查询中的术语分配权重,体现其重要性。

  • TF-IDF(词频-逆文档频率):衡量术语在文档和语料库中的重要程度。
  • BM25评分:搜索引擎常用的文档相关性排序函数。
  • 自定义权重:根据扩展术语的相关性调整权重。

检索文档重排序

检索后对文档进行重排序,以优先显示相关性高的结果。

  • Cross-Encoder:对查询与文档对的相关性进行评分。
  • 重排序模型(如ColBERT、FlashRank):高效准确的专用重排序模型。

示例:

检索后使用Cross-Encoder对文档进行评分和重排序,以确保与原始查询的高相关性。

利用用户反馈

结合用户交互来优化查询扩展。

  • 隐式反馈:分析用户点击、浏览时间等行为。
  • 显式反馈:允许用户优化查询或选择偏好结果。

与AI、AI自动化和聊天机器人的联系

AI驱动的查询扩展

利用AI和LLM进行查询扩展,借助先进的语言理解能力提升检索效果,使AI系统(包括聊天机器人和虚拟助手)能生成更准确、上下文相关的答案。

信息检索自动化

自动化查询扩展流程,减轻用户构建精确查询的负担。AI自动化在后台处理复杂性,提升信息检索系统的效率。

优化聊天机器人交互

查询扩展帮助聊天机器人更好地理解用户意图,尤其是在用户使用口语化或不完整表达时,从而实现更高效的问题解决和更满意的交互体验。

示例:

技术支持聊天机器人可将用户模糊的提问如“我的应用打不开”扩展为“应用崩溃”“软件无响应”“应用报错”,从而更快锁定问题并提供解决方案。

查询扩展在RAG领域的研究

  1. Improving Retrieval for RAG based Question Answering in question answering, enhancing accuracy with real-time data. Discover more!") Models on Financial Documents
    本文研究了在金融文档环境下,通过检索增强生成(RAG)提升大语言模型(LLM)效果的问题。研究发现,LLM输出的不准确主要源于文本片段检索不佳而非模型本身。论文提出改进RAG流程,包括更精细的文本分块、查询扩展、元数据标注和重排序算法,从而优化文本检索,提升LLM生成答案的准确率。阅读全文

  2. Enhancing Retrieval and Managing Retrieval: A Four-Module Synergy for Improved Quality and Efficiency in RAG Systems
    该论文提出了模块化方法提升RAG系统,重点介绍了Query Rewriter模块,它能生成更易于检索知识的查询,有效解决查询信息瓶颈和歧义问题。还提出Knowledge Filter和Memory Knowledge Reservoir模块,用于管理无关知识和优化检索资源。多项QA数据集实验验证了这些方法对RAG系统响应质量和效率的提升。访问代码和更多细节

  3. MultiHop-RAG: Benchmarking Retrieval-Augmented Generation for Multi-Hop Queries
    该研究关注RAG系统在处理多跳查询(需整合多条证据链)时遇到的挑战,并提出了专为多跳查询设计的新数据集,推动RAG方法突破当前能力瓶颈,提升LLM在实际复杂应用中的表现。

常见问题

什么是查询扩展?

查询扩展是通过添加相关术语、同义词或上下文,增强用户原始查询的过程,有助于检索系统获取更相关的文档,并生成更准确的响应,尤其适用于AI驱动的应用场景。

查询扩展如何提升RAG系统?

在RAG(检索增强生成)系统中,查询扩展通过扩大检索空间,提高检索组件的召回率,确保更多相关文档被用于生成精确的回答。

查询扩展有哪些技术?

包括利用大语言模型生成同义查询、假设答案生成、多查询方法、术语加权,以及借助用户反馈进行持续改进等技术。

查询扩展有哪些好处?

查询扩展提升召回率,处理模糊或歧义查询,识别同义词,并通过提供更准确、信息量更丰富的响应,提升用户体验,无需手动优化查询。

查询扩展存在哪些挑战?

是的,挑战包括过度扩展(引入无关文档)、术语歧义、计算资源需求,以及与检索算法的兼容性。可通过受控生成、相关性过滤和高效模型来缓解这些问题。

使用 FlowHunt 探索查询扩展

了解查询扩展如何提升AI聊天机器人的准确性和改进信息检索。发现 FlowHunt 为高效自动化查询处理提供的解决方案。

了解更多

文档重排序
文档重排序

文档重排序

文档重排序是根据用户查询的相关性对检索到的文档进行重新排序的过程,优化搜索结果,使最相关的信息优先呈现。这是检索增强生成(RAG)系统中的关键步骤,通常与查询扩展结合使用,以提升 AI 搜索和聊天机器人的召回率和精确度。...

2 分钟阅读
Document Reranking RAG +4
检索增强生成(RAG)
检索增强生成(RAG)

检索增强生成(RAG)

检索增强生成(RAG)是一种先进的人工智能框架,将传统的信息检索系统与生成式大语言模型(LLM)相结合,通过整合外部知识,使AI生成的文本更加准确、及时且具有上下文相关性。...

1 分钟阅读
RAG AI +4
检索增强生成(RAG)与缓存增强生成(CAG)的对比
检索增强生成(RAG)与缓存增强生成(CAG)的对比

检索增强生成(RAG)与缓存增强生成(CAG)的对比

探索人工智能中检索增强生成(RAG)与缓存增强生成(CAG)的关键区别。了解RAG如何动态检索实时信息以实现灵活、准确的响应,而CAG则利用预缓存数据实现快速一致的输出。找出哪种方法更适合您的项目需求,并探讨实际应用场景、优势与局限性。...

1 分钟阅读
RAG CAG +5