首先,直接给出几个核心结论。
最近一篇名为《Is Semantic Chunking Worth the Computational Cost?》的论文引起了广泛关注。该研究系统评估了在检索增强型生成(RAG)系统中,语义分块策略是否真的值得投入额外的计算资源。简单来说,研究者将语义分块与传统的固定大小分块进行了直接对比,用数据说话。

所谓语义分块,其核心思路是将文档划分为语义上连贯的段落,理论上能够提升检索性能。然而,随着这一方法越来越流行,一个问题逐渐浮现:它究竟比最朴素的固定大小分块强多少?以往的回答大多依赖直觉,而这篇论文则以实证数据给出了答案。
为了全面评估,作者设计了三种分块策略,并用图示说明了它们的区别:
- 固定大小分块器:作为基线方法,简单直接,按预定义的句子数量将文档等分。
- 基于断点的语义分块器:通过检测句子间语义距离的阈值进行切分,目标是保持每个块内部的语义连贯性。
- 基于聚类的语义分块器:采用聚类算法,按语义对句子进行分组,能够捕捉全局关系,甚至允许将非连续的文本片段组合在一起。
三种策略齐备后,研究者分别在三个关键任务上进行了测试——文档检索、证据检索以及基于检索的答案生成。
文档检索任务表现
先看文档检索的结果。下表的数据值得关注:在大多数数据集上,三者之间的差距并不显著,但有两个例外——Miracl和NQ。注意,标*的数据集,其文本本身由一些独立性较强的短句组成。在这种场景下,基于断点的语义分块似乎占了一些优势。
| Dataset | Fixed-size | Breakpoint | Clustering |
|---|---|---|---|
| Miracl* | 69.45 | 81.89 | 67.35 |
| NQ* | 43.79 | 63.93 | 41.01 |
| Scidocs* | 16.82 | 17.60 | 19.87 |
| Scifact* | 35.27 | 36.27 | 35.70 |
| BioASQ* | 61.86 | 61.87 | 62.49 |
| NFCorpus* | 21.36 | 21.07 | 22.12 |
| HotpotQA | 90.59 | 87.37 | 84.79 |
| MSMARCO | 93.58 | 92.23 | 93.18 |
| ConditionalQA | 68.11 | 64.44 | 65.94 |
| Qasper | 90.99 | 89.27 | 90.77 |
整体来看,固定大小分块在多数非标*数据集上反而表现更稳定。
证据检索结果分析
再看证据检索任务,结果更加平淡——三者在几乎所有数据集上的表现几乎肉眼难以区分。
| Dataset | Fixed-size | Breakpoint | Clustering |
|---|---|---|---|
| ExpertQA | 47.11 | 47.08 | 46.87 |
| DelucionQA | 43.05 | 43.24 | 43.36 |
| TechQA | 28.98 | 28.49 | 27.96 |
| ConditionalQA | 18.23 | 19.83 | 19.14 |
| Qasper | 8.66 | 8.16 | 8.50 |
可以说,在这个任务中,选择哪种分块策略对最终结果几乎不产生实质影响。
答案生成效果对比
最后一个任务是基于检索的答案生成。结果更为简洁——看下表即可发现,三列数据几乎完全一致,偶尔相差0.01,相当于没有区别。
| Dataset | Fixed-size | Breakpoint | Clustering |
|---|---|---|---|
| ExpertQA | 0.65 | 0.65 | 0.65 |
| DelucionQA | 0.76 | 0.76 | 0.76 |
| TechQA | 0.68 | 0.68 | 0.68 |
| ConditionalQA | 0.42 | 0.43 | 0.43 |
| Qasper | 0.49 | 0.49 | 0.50 |
核心结论与启示
综合各项实验数据,结论非常明确:语义分块所额外消耗的计算成本,并未通过一致性的性能提升得到合理回报。这些结果直接挑战了以往“语义分块必然更优”的固有认知。归根结底,对于绝大多数实际RAG应用场景,固定大小分块既高效又可靠,反而是一个被低估的明智选择。
