SeismosA Statistical Signal Detection Framework for Semantic Chunking
- 1Rajshahi University of Engineering & Technology
- 2Tulane University
- 3North South University
- 4University of Oklahoma
- 5University of Surrey
- 6Computational Intelligence and Operations Laboratory (CIOL)
- 5 / 5BEIR datasets where Seismos is the best chunker
- +68–79%chunk nDCG@5 in end-to-end RAG
- 15–23×faster than production semantic chunkers
- k = 2.5one parameter, never retuned
Abstract
Chunking is a hidden bottleneck in dense retrieval and retrieval-augmented generation: it determines the units that can be indexed, retrieved, and ultimately used as evidence. Yet most systems still segment documents using fixed token windows or globally thresholded semantic similarity drops, treating chunking as an engineering heuristic rather than a statistical decision. We propose Seismos, a statistical signal detection framework for semantic chunking. Seismos models consecutive sentence-embedding cosine similarities as a document-level signal and derives boundary decisions from the null hypothesis of no semantic transition.
Across four development BEIR corpora, we establish three corpus-invariant properties: bimodal document structure, rapid survival decay of shallow local minima, and positive lag-1 autocorrelation. These properties show that semantic boundaries should be detected by variance-normalized deviations, not by document means or global similarity thresholds. Accounting for autocorrelation leads to a normalized discrete Laplacian detector that identifies significant semantic valleys through a single interpretable decision rule.
Evaluated on five BEIR benchmarks, Seismos consistently improves over fixed-length, recursive, and production semantic chunking baselines under one fixed operating configuration. Without corpus-specific retuning, the same detector transfers to a held-out TREC-COVID corpus. Beyond short documents, Seismos remains competitive with strong fixed-length chunking on long-document (DAPR, ConTEB) and multilingual (MIRACL) retrieval across four encoders, and in end-to-end RAG on LongBench it retrieves better-ranked evidence and yields more faithful answers at 15–23× lower preprocessing cost than production semantic chunkers. Our results suggest that the boundaries needed for effective retrieval are already encoded in embedding-similarity signals, and that principled, efficient, LLM-free chunking can be obtained by detecting them statistically.
Chunking as hypothesis testing
Under the null of no topic shift, the document mean cancels out. The right normalizer is the signal's own variability.
The mean cancels
With no boundary at \(i\), the slope into a valley has zero mean, so \(\bar{x}_D\)-scaled thresholds are misspecified.
Similarities are AR(1)
Lag-1 ACF is 0.27–0.38 on every corpus. The second difference has an exact AR(1) variance.
One self-normalized test
\(\hat{s}_D=\operatorname{std}(D)\) absorbs both \(\sigma\) and \(\rho\). Split where
The whole detector in NumPy sketch of Algorithm 2
def seismos_chunk(sentences, encode, k=2.5):
n = len(sentences)
if n < 5:
return [" ".join(sentences)]
E = encode(sentences) # (n, d), L2-normalized
x = np.sum(E[:-1] * E[1:], axis=1) # x_i = <e_i, e_i+1>
D = x[2:] - 2 * x[1:-1] + x[:-2] # discrete Laplacian
s = D.std() # absorbs sigma and rho
B = set() if s == 0 else set(np.flatnonzero(D / s > k) + 1)
chunks, cur = [], [sentences[0]]
for i in range(n - 1): # boundary i sits between s_i and s_i+1
if i in B:
chunks.append(" ".join(cur)); cur = [sentences[i + 1]]
else:
cur.append(sentences[i + 1])
chunks.append(" ".join(cur))
return chunks
Try the detector
A synthetic document with four planted topic shifts (▲) and one gradual trough. Drag k and watch the splits.
- null tail Pr(Z>k)
- 0.6%
- splits
- 4
- shifts found
- 4 / 4
- noise splits
- 0
Three properties, every corpus
One operating point, every benchmark
| NDCG@10 (%) | ArguAna | FiQA | NFCorpus | SciFact | TREC-COVID† |
|---|---|---|---|---|---|
| LangChain Semantic | 63.62 | 39.18 | 36.78 | 73.57 | 66.90 |
| LlamaIndex Semantic | 56.85 | 35.68 | 37.05 | 72.53 | 66.24 |
| Recursive (best) | 59.91 | 39.35 | 37.33 | 74.42 | 70.00 |
| Fixed (best) | 60.62 | 39.04 | 36.36 | 74.22 | 69.81 |
| SEISMOS · z-score | 63.53 | 39.23 | 37.63 | 74.52 | 71.40 |
| SEISMOS · Laplacian | 63.63 | 39.50 | 37.63 | 74.55 | 71.35 |
Same encoder (BGE-base) and index for every chunker. † held out from all tuning. Up to +4.98% over the best fixed-length and +6.21% over the best recursive chunker.
| DAPR | ConTEB | MIRACL | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| nDCG@10 | MS MARCO | NQ | CondQA | Genomics | NarrQA | ESG | Geo | JA | DE | AR |
| Fixed@480 | 67.1 | 48.1 | 27.9 | 43.2 | 82.2 | 46.1 | 93.6 | 75.2 | 48.4 | 74.3 |
| SEISMOS | 68.1 | 47.1 | 26.9 | 42.9 | 82.2 | 44.6 | 93.7 | 75.6 | 49.3 | 74.4 |
| Δ | +1.0 | −1.0 | −1.0 | −0.3 | 0.0 | −1.5 | +0.1 | +0.4 | +0.8 | +0.1 |
Competitive with a strong fixed-length baseline on documents up to tens of thousands of tokens, and across Japanese, German and Arabic with no language-specific tuning.
Each correction adds up
Better evidence, faster
LongBench NarrativeQA, documents up to 67k tokens. Only the chunker changes.
Chunk nDCG@5
Preprocessing time
What the generator sees
Where does the slime attack Dana and Oscar?
Reference
museum
SEISMOS
The slime attack on Dana and Oscar occurs in the Museum Restoration Studio.
Fixed@480
The slime attack Dana and Oscar in the bathtub at Dana's apartment.
Recursive
The slime attack occurs in the bathtub at Dana's apartment.
LangChain
The slime attack on Dana and Oscar occurs in Dana's apartment bathroom.
LlamaIndex
The slime attack occurs in Dana's apartment when Dana is preparing to bathe Oscar in the old claw-footed bathtub.
Where did Bill work when he lived in Chicago?
Reference
Bill worked in a steel mill.
SEISMOS
Bill worked in a steel mill when he lived in Chicago.
Fixed@480
Bill worked in a mill when he lived in Chicago.
Recursive
Bill worked in a mill when he lived in Chicago.
LangChain
The provided context does not specify where Bill worked when he lived in Chicago. […] it is not possible to determine where Bill worked in Chicago.
LlamaIndex
The provided context does not specify where Bill worked when he lived in Chicago. […] it is not possible to determine his workplace in Chicago.
Where did the lover hide?
Reference
In the closet
SEISMOS
The lover (Gorenflot) hid in the cupboard.
Fixed@480
The lover, Gorenflot, hid in the cupboard on the ground floor of Madame de Merret's house, which served as a closet for hanging dresses.
Recursive
The lover hid under a big stone on a sort of breakwater along the river bank, nearly opposite la Grande Breteche.
LangChain
The context does not provide information about where the lover hid. […]
LlamaIndex
The passage does not explicitly state where the lover hid. […] This suggests that the lover likely hid near there after escaping.
BibTeX
@inproceedings{saad2026seismos,
title = {{SEISMOS}: A Statistical Signal Detection Framework
for Semantic Chunking},
author = {Saad, Ishtiak Mahmud and Islam, Mominul and
Ridoy, Shahriyar Zaman and Ahsan, Md Manjurul and
Wasi, Azmine Toushik},
booktitle = {Advances in Neural Information Processing Systems},
year = {2026}
}