Question-Based Retrieval using Atomic Units for Enterprise RAG
作者: Vatsal Raina, Mark Gales
分类: cs.CL
发布日期: 2024-05-20 (更新: 2024-08-30)
备注: 14 pages, 5 figures, 5 tables
💡 一句话要点
针对企业RAG,提出基于原子单元的问题检索方法,提升检索准确率
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 检索增强生成 RAG 原子语句 问题生成 密集检索 企业应用 信息检索
📋 核心要点
- 企业RAG中,检索环节的准确性直接影响最终生成质量,错误的检索结果会导致LLM生成错误答案。
- 该论文提出将文档块分解为原子语句,并生成合成问题,通过检索与用户查询最相关的合成问题来提升检索准确率。
- 实验表明,基于原子语句和合成问题的检索方法,能够有效提高检索召回率,进而提升RAG整体性能。
📝 摘要(中文)
企业检索增强生成(RAG)提供了一个高度灵活的框架,可以将强大的大型语言模型(LLM)与内部的、可能随时间变化的文档相结合。在RAG中,文档首先被分块。然后,检索相关的块以响应用户查询,这些块作为上下文传递给合成器LLM以生成查询响应。然而,检索步骤可能会限制性能,因为不正确的块可能导致合成器LLM生成错误的响应。本研究采用了一种零样本自适应的标准密集检索步骤,以实现更准确的块召回。具体来说,首先将一个块分解为原子语句。然后,在这些原子上生成一组合成问题(以块作为上下文)。密集检索包括找到与用户查询最接近的合成问题集及其相关的块。研究发现,使用原子进行检索比使用块进行检索能获得更高的召回率。使用基于原子生成的合成问题进行检索,可以观察到进一步的性能提升。检索步骤中更高的召回率使得使用RAG管道的企业LLM能够获得更高的性能。
🔬 方法详解
问题定义:企业RAG系统依赖于从文档库中检索相关信息块来增强LLM的生成能力。然而,传统的基于块的检索方法可能会因为块的粒度过大或语义不清晰而导致检索结果不准确,从而影响最终生成答案的质量。现有方法难以有效处理复杂查询和长文档,导致召回率较低。
核心思路:该论文的核心思路是将文档块分解为更小的、语义更明确的原子语句,并基于这些原子语句生成合成问题。通过检索与用户查询最相关的合成问题,可以更精确地定位到相关的原子语句,从而提高检索的召回率和准确率。这种方法旨在克服传统基于块的检索方法的局限性,提升RAG系统的整体性能。
技术框架:该方法主要包含以下几个阶段:1) 原子分解:将文档块分解为原子语句。2) 问题生成:基于每个原子语句,生成一组合成问题,这些问题旨在覆盖原子语句的不同方面。3) 密集检索:使用预训练的密集检索模型(例如,Sentence-BERT)将用户查询和合成问题嵌入到向量空间中。然后,通过计算查询向量与问题向量之间的相似度,找到最相关的合成问题及其对应的原子语句。4) RAG集成:将检索到的原子语句作为上下文传递给LLM,用于生成最终的答案。
关键创新:该方法最重要的创新点在于将文档块分解为原子语句,并基于原子语句生成合成问题。这种方法能够更精细地捕捉文档的语义信息,从而提高检索的准确率。与传统的基于块的检索方法相比,该方法能够更好地处理复杂查询和长文档,并减少噪声信息的干扰。
关键设计:论文中关键的设计包括:1) 原子分解策略:如何将文档块分解为原子语句,需要考虑语句的完整性和语义的独立性。2) 问题生成策略:如何生成高质量的合成问题,需要确保问题能够覆盖原子语句的不同方面,并与用户查询相关。3) 相似度计算方法:如何选择合适的相似度计算方法(例如,余弦相似度)来衡量查询向量与问题向量之间的相似度。4) 负样本选择:在训练检索模型时,如何选择合适的负样本来提高模型的区分能力。
🖼️ 关键图片
📊 实验亮点
实验结果表明,基于原子语句和合成问题的检索方法,能够显著提高检索召回率。与传统的基于块的检索方法相比,该方法在检索准确率方面取得了显著提升,从而提高了RAG系统的整体性能。具体提升幅度未知,论文中未提供明确的数值对比。
🎯 应用场景
该研究成果可广泛应用于企业级RAG系统,例如智能客服、知识库问答、文档检索等场景。通过提高检索准确率,可以显著提升LLM生成答案的质量,从而提高用户满意度和工作效率。未来,该方法还可以扩展到其他领域,例如医疗、金融等,为专业领域的知识检索提供更准确、更可靠的支持。
📄 摘要(原文)
Enterprise retrieval augmented generation (RAG) offers a highly flexible framework for combining powerful large language models (LLMs) with internal, possibly temporally changing, documents. In RAG, documents are first chunked. Relevant chunks are then retrieved for a user query, which are passed as context to a synthesizer LLM to generate the query response. However, the retrieval step can limit performance, as incorrect chunks can lead the synthesizer LLM to generate a false response. This work applies a zero-shot adaptation of standard dense retrieval steps for more accurate chunk recall. Specifically, a chunk is first decomposed into atomic statements. A set of synthetic questions are then generated on these atoms (with the chunk as the context). Dense retrieval involves finding the closest set of synthetic questions, and associated chunks, to the user query. It is found that retrieval with the atoms leads to higher recall than retrieval with chunks. Further performance gain is observed with retrieval using the synthetic questions generated over the atoms. Higher recall at the retrieval step enables higher performance of the enterprise LLM using the RAG pipeline.