Beyond Chunking: Discourse-Aware Hierarchical Retrieval for Long Document Question Answering¶
会议: ACL 2026
arXiv: 2506.06313
代码: https://github.com/DreamH1gh/DISRetrieval
领域: NLP 理解 / 长文档 QA / 检索增强生成
关键词: 长文档问答、RST、修辞结构理论、层级检索、跨语言
一句话总结¶
用修辞结构理论(RST)解析长文档的篇章结构,构建一棵句子级层级树并对中间节点做 LLM 摘要增强,最后在树上做结构感知的多粒度检索,使长文档 QA 在 QASPER / QuALITY / NarrativeQA / MultiFieldQA-zh 四个 benchmark 一致超越固定切块和 RAPTOR 语义聚类。
研究背景与动机¶
领域现状:长文档 QA 主流是「切块 + 检索 + 生成」,要么 flat-chunk(如 RAG 把文档切成 100-word 段落),要么用 RAPTOR 这种递归语义聚类构建文档树。
现有痛点:固定大小切块完全无视文档的篇章组织——一句话可能被腰斩到两个 chunk、原本互为对照的两段被分得很远;RAPTOR 用语义相似度聚类,把内容相近但篇章上关系不大的句子混在一起,丢失了文档原本「话题—对比—举证—结论」的层次。
核心矛盾:「相似度组织 vs. 篇章组织」——语言学早就指出,人类阅读靠的是修辞关系(contrast / elaboration / summary 等)而非表面相似度;现有 chunking 方法把这种结构信号完全丢掉了。
本文目标:把 RST 篇章结构系统性注入检索,让长文档 QA 不再依赖启发式切块,且要兼顾跨语言(英文 + 中文)。
切入角度:RST 把文档表示为以 EDU 为叶子、修辞关系为内节点的树。如果把 RST 树直接接入 retriever,结构本身就提供了多粒度的「天然 chunk」——叶子 = 句子(细),中间节点 = 修辞段落(粗),根 = 文档摘要。
核心 idea:把 RST 解析下放到「句子级 + 跨语言」+ 用 LLM 给中间节点写摘要,让一棵篇章树同时支持局部精准检索(叶子)与全局连贯检索(中间节点)。
方法详解¶
整体框架¶
DISRetrieval 三阶段:(1) 篇章感知树构造——先句子级 RST 解析每个段落 → 段内树 \(T_i\);再用 LLM 把每个 \(T_i\) 自底向上摘要成段落语义单元 \(u_i\);再用同一个 RST 解析器把 \(\{u_i\}\) 组合成文档级树 \(T_{doc}^*\);最后把 \(T_{doc}^*\) 的叶子替换回原段内树得到统一篇章树 \(T_D\)。(2) 节点编码:用 gte-multilingual-base 或 OpenAI text-embedding-3-large 给 \(T_D\) 中每个节点(句子+LLM 摘要)编码。(3) 结构感知检索:用 query 与所有节点算 cosine,按相关性排序,对叶子直接取、对中间节点做受控子树展开。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["长文档(英文 / 中文)"] --> B["粒度+语言自适应的 RST 解析器<br/>句子级解析每段 → 段内树 Tᵢ"]
B --> C["自底向上 LLM 节点增强<br/>内节点→可检索文本(阈值 τ 控摘要/拼接)"]
C --> D["同一解析器组文档级树<br/>替换回叶子 → 统一篇章树 T_D"]
D --> E["节点编码<br/>gte-multilingual / text-embedding-3-large"]
E --> F["结构引导的双选检索<br/>query 与各节点算 cosine 并排序"]
F -->|"叶子节点"| G["直接加入证据集 E"]
F -->|"内节点"| H["受控子树展开<br/>取子树内未用过的 top-k 叶子"]
G --> I["凑够 K 条多粒度证据 → 生成器"]
H --> I
关键设计¶
1. 粒度 + 语言自适应的 RST 解析器:传统 EDU 级解析在长文档下又慢又碎
RST 传统做法在 EDU 级别把每句切成数个最小篇章单元,长文档下计算开销大、语义太碎。本文把解析上升到句子级:先做粒度适配——把现有 EDU 数据集做两步转换,句子内的 EDU 合并成统一句子单元,句间关系则用原 EDU 树的最低公共祖先(LCA)推断。再做语言适配——用 GPT-4o 把 RST-DT 训练集句子级翻译到中文,与原始英文语料合并训练出一个统一解析器 \(f_{discourse}\),从而无需任何中文 RST 标注就能跨语言迁移,对低资源语言友好。
解析器本身是 transition-based:维护栈 \(\sigma\) 和句子队列 \(\beta\),用 shift / reduce / pop_root 三种动作增量构造树;评分模型用 \(h_v\) 表示每个节点(叶子用 PLM 编码,内节点取子节点平均),把栈顶三元素加队列首元素的拼接送进 softmax 选动作。上升到句子级既保留足够篇章信息又显著提速。
2. 自底向上 LLM 节点增强:纯结构内节点只有 Contrast/Elaboration 标签,没法和 query 做语义匹配
篇章树的内节点只携带修辞关系标签(如 Contrast、Elaboration),没有具体内容,无法参与语义检索。本文从叶子往上逐层把内节点变成可检索文本,对每个内节点 \(v\)(左右子 \(v_l, v_r\))用阈值规则:\(v^* = f_{LLM}(v_l, v_r)\) 当 \(|v_l|+|v_r| \geq \tau\),否则 \(v^* = f_{merge}(v)\) 直接拼接。这让中间节点同时带上"这是一段对比论证"和"具体在比较 X 和 Y"两种信号,弥合了抽象关系到具体语义的鸿沟。
阈值 \(\tau\) 按文档类型设(QASPER 设 0、QuALITY/NarrativeQA 设 50):学术论文句子独立性强、宜直接拼接保真,叙事文短句多、需要摘要聚合压缩。整个文档级树的构造很干净——同一个 RST 解析器先在段内跑一遍得到段落根节点 \(u_i\),再把所有 \(u_i\) 组成文档级树 \(T_{doc}^*\),最后把叶子替换回段内树得到统一篇章树 \(T_D\)。
3. 结构引导的双选检索:flat retrieval 给的均匀切块要么过短失去上下文、要么重复噪声
检索时既要细粒度证据又要连贯段落。先算 query 与每个节点的相似度 \(\text{score}(v) = \cos(f_{enc}(q), \mathbf{e}_v)\) 并排序,再做双策略选择:(a) 若 \(v\) 是未被用过的叶子,直接加入证据集 \(E\);(b) 若 \(v\) 是内节点,做"受控子树展开"——只在该子树内未被用过的叶子里挑分数前 \(k\) 个加入;直到 \(|E| \geq K\) 为止。这样高相关的具体句子和高相关的篇章段同时被选中,又避免子树内冗余,正对应人类阅读时既精读某句、又回望整段的行为。
一个完整示例¶
以一篇学术论文(QASPER 风格)问"该方法用什么数据集评测"为例:构树阶段,\(f_{discourse}\) 先在每个段落内做句子级 RST 解析得段内树 \(T_i\),再自底向上对内节点做增强——因为是学术论文设 \(\tau=0\),内节点基本走 \(f_{LLM}\) 摘要;同一解析器把各段根节点 \(u_i\) 再组一棵文档级树并替换回叶子,得到统一篇章树 \(T_D\)。学术论文长句独立性强,最终树偏"浅而精",实测检索命中的中间节点深度约 5、覆盖约 13 个叶子(对照 QuALITY 小说短句多,深度约 17、覆盖约 88 叶子——同一框架自适应不同文档)。检索阶段,query 与所有节点算 cosine 排序,命中的实验段内节点触发受控子树展开取出其中最相关的几句,命中的具体方法句作为叶子直接入选,凑够 \(K\) 条多粒度证据交给生成器。最终给出的是约 129 词的黄金证据而非 4170 词全文,正是 QASPER 上 gold evidence(50.71% F1)反而高于塞全文(48.81%)的原因。
损失函数 / 训练策略¶
句子级 RST 解析器训练目标:\(\mathcal{L}(\theta) = -\log p(a^* \mid c) + \frac{\lambda \|\theta\|_2}{2}\),即每步动作的交叉熵 + L2 正则,使用 RST-DT 标注的 gold 树作监督。生成阶段全部 zero-shot 不训练。
实验关键数据¶
主实验(生成性能 F1 / Accuracy)¶
| 数据集 | Context | flatten-chunk | RAPTOR | Bisection | DISRetrieval |
|---|---|---|---|---|---|
| QASPER (UnifiedQA-3B, OpenAI) | 400 | 39.03 | 39.53 | 39.70 | 40.74 |
| QASPER (GPT-4.1-mini, OpenAI) | 400 | 44.78 | 43.85 | 45.69 | 46.31 |
| QuALITY (Deepseek-v3, OpenAI) | 400 | 76.56 | 75.22 | 76.94 | 77.71 |
| NarrativeQA (BLEU) | — | 24.24 | 25.05 | 24.71 | 25.39 |
| MultiFieldQA-zh (Deepseek-v3, 400) | 400 | 26.70 | 27.01 | 28.24 | 29.54 |
在所有上下文长度(200/300/400)× 嵌入模型(SBERT / OpenAI)× 生成模型(UnifiedQA-3B / GPT-4.1-mini / Deepseek-v3)× 4 数据集组合下一致超越基线。
消融实验(QASPER 检索性能 token-level F1)¶
| 配置 | 200 (OpenAI) | 300 (OpenAI) | 400 (OpenAI) |
|---|---|---|---|
| flatten-chunk | 29.17 | 25.12 | 21.91 |
| RAPTOR | 27.18 | 23.57 | 20.64 |
| Bisection(仅去掉篇章结构) | 29.29 | 25.16 | 21.98 |
| Full DISRetrieval | 30.27 | 26.00 | 22.79 |
Bisection 共享了本文的 LLM 增强 + 层级检索机制但用二分树代替篇章树,仍稳定低于 Full DISRetrieval ~0.5-1 个点,证明「篇章结构」本身的不可替代价值。
关键发现¶
- 篇章结构 > 语义聚类:DISRetrieval 始终强于 RAPTOR,说明「修辞关系」比「embedding 相似度」更适合做文档组织。
- 黄金证据 (129 词) > 全文 (4170 词):QASPER 上 gold evidence 给出 50.71% F1,全文 48.81%,说明精准检索比塞全文更重要。
- 解析器能力直接限制下游:训练数据 0→100% 时 retrieval recall 与 answer F1 单调上升,说明 RST parser 是核心瓶颈。
- 跨数据集自适应:QuALITY(小说/对话/短句)检索到的中间节点深度 ~17、覆盖 ~88 叶子;QASPER(学术论文/长句)深度 ~5、覆盖 ~13。同一框架自然适配不同文档结构。
- 效率:处理 50K 词文档 103s vs RAPTOR 338s(3× 加速),预处理一次后可被无数 query 复用。
亮点与洞察¶
- 把语言学几十年的篇章理论实打实地嵌进神经检索,证明在 LLM 时代「结构化语言知识」依然有显著价值——这是对纯数据驱动派的有力反例。
- 「段内 RST 树 → LLM 摘要 → 段间再 RST → 替换回去」这个嵌套构造让同一个 RST 解析器跑两次就能得到文档级层级,工程上极其干净。
- 中间节点用 LLM 写摘要这一步看似平凡,实际解决了「语言学结构 vs 神经检索」之间最尴尬的鸿沟——纯结构标签无法做语义匹配,纯文本又无层次。
- 自适应阈值 \(\tau\)(学术 0 / 小说 50)是非常实用的工程参数,给出了清晰的选择准则(短句多用大 \(\tau\),长独立句用小 \(\tau\))。
局限与展望¶
- 篇章解析器是性能上限,目前训练在 RST-DT(新闻文本)上,对学术/小说/电影剧本等领域泛化但精度仍有提升空间。
- 跨语言只演示了英中两语,要扩展到其他语言需要额外 LLM 翻译训练数据。
- 阈值 \(\tau\) 是简单二值规则,未来可做基于内容复杂度和层级位置的动态选择。
- 评测指标仍是传统 F1/BLEU/ROUGE,不一定能完全反映「篇章结构感知」带来的连贯性增益。
相关工作与启发¶
- vs RAPTOR:他们用递归 embedding 聚类构树,本文用 RST 篇章关系构树;前者捕捉语义相似,后者捕捉修辞关系。同等检索机制下后者一致更优,证明「为什么相连」比「相连什么」更有用。
- vs Bisection:本文设计的强消融——保留所有 LLM 增强和层级检索、只换树构造方式。Bisection 已强于 flat baseline,但仍稳定弱于 DISRetrieval,干净地分离出「篇章结构」的独立贡献。
- vs 传统 chunking RAG:固定窗口切块完全无视文档组织,本文提供了一条「先理解文档结构、再做检索」的新范式,对法律文书 / 科研论文 / 教材等强结构化场景特别有价值。
评分¶
- 新颖性: ⭐⭐⭐⭐ 把 RST 系统性融入长文档检索是首次,跨语言扩展和 LLM 增强中间节点的组合也很巧妙。
- 实验充分度: ⭐⭐⭐⭐⭐ 四个数据集 × 多上下文长度 × 多嵌入 × 多生成模型,加上 5 个深入 RQ 分析和效率对比,论证非常详尽。
- 写作质量: ⭐⭐⭐⭐ 三阶段架构图清晰,关键公式(节点选择、子树展开算法)写得完整可复现,附录信息量大。
- 价值: ⭐⭐⭐⭐ 在 RAG 范式下提供了一条扎实的篇章感知改进路径;对所有需要长文档理解的应用(法律、医学、学术)都有直接借鉴价值。