Query-Adaptive Semantic Chunking for Retrieval-Augmented Generation: A Dynamic Strategy with Contextual Window Expansion
本文介绍了查询自适应语义分块(QASC),这是一种动态策略,通过将用户查询融入文档分割过程,相较于固定、语义及代理分块方法,实现了显著更高的检索相关性与连贯性。
原始论文根据 CC0 1.0(http://creativecommons.org/publicdomain/zero/1.0/)发布到公有领域。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在一座拥有 100 本食谱的庞大且杂乱无章的图书馆中寻找某道特定的食谱。
旧方法(传统分块)
目前,大多数用于回答问题的计算机系统(称为 RAG 系统)处理这些食谱的方式是将它们切割成大小相等的片段,就像将一条面包切成均匀的切片,而不管里面具体是什么内容。
- 如果你问“如何制作酸面团面包?”,系统可能会递给你一片包含该食谱的切片,但其中还夹杂着三页关于面包师童年故事的内容以及一份无关的香料清单。
- 如果你把切片切得更小以避免这些多余内容,可能会把食谱切成两半,从而遗漏了揉面这一关键步骤。
- 系统必须猜测完美的切片大小,但没有一种单一的大小能适用于所有问题。这就像每次提问时都试图将方形的木桩塞进圆形的孔里。
新方法(QASC)
本文介绍了一种名为**查询自适应语义分块(Query-Adaptive Semantic Chunking, QASC)**的新策略。QASC 不像那样盲目地切面包,而是像一位聪明、专注的读者,在切割任何内容之前,先高亮标出你需要的确切部分。
以下是其工作原理,采用简单的三步流程:
寻找“种子”(高亮笔):
当你提出问题时,QASC 会阅读整个文档,并寻找与你问题最相似的句子。这就像一位读者扫视页面并说道:“啊哈!这句话正是我要找的!”这些被称为种子句子。- 类比: 如果你问“法国的首都是什么?”,系统会高亮标出句子“巴黎是法国的首都”。
扩展窗口(上下文气泡):
单个高亮的句子往往不足以独立存在。它可能需要前面的句子来解释“为什么”,或者需要后面的句子来解释“如何”。QASC 会在该种子句子周围创建一个“上下文气泡”。它会抓取高亮部分前后的几句话,以确保答案本身具有意义。- 类比: 如果高亮的句子是“他赢得了比赛”,系统会抓取周围的句子来告诉你“他”是谁,以及那是“什么”比赛,这样答案就不会令人困惑。
合并与润色(最终切割):
有时,两个高亮区域彼此靠近。QASC 会将它们合并为一个流畅、连贯的块。它还会进行检查,确保该块不会在某个想法的中间开始或结束。- 类比: 如果你高亮标出了两个紧挨着的段落,QASC 会将它们粘合在一起,形成一个完美的段落,而不是给你两张支离破碎的纸片。
为什么这更好?
该论文将这种方法与旧的“均匀切片”方法以及其他一些复杂方法进行了测试。以下是他们的发现:
- 更好的答案: 因为分块是专门围绕你的问题构建的,计算机无需猜测什么是重要的。它能立即获取正确的信息。
- 更少的混淆: 计算机生成的答案更加准确,错误(幻觉)更少,因为提供的上下文紧密聚焦于问题。
- 速度与质量: 虽然这种方法在设置分块时需要多花一点点时间(因为它必须先阅读问题),但它仍然足够快,可用于实时场景。为了获得更好的结果,这点短暂的等待是值得的。
核心结论
可以将传统分块想象成一台将一切切成相同大小的工厂机器。QASC则像一位私人图书管理员,倾听你的具体需求,找到你需要的确切页面,并递给你一本装订完美、内容相关的册子。
该论文证明,通过让用户的提问来决定“如何”切割文档,而不是先切割再提问,我们可以获得显著更好、更准确、更有帮助的答案。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。