Skip to content

Back to the catalog

SCAR: Semantic Continuity-Aware Retrieval for Efficient Context Expansion in RAG
arxiv.orgpaper

SCAR: Semantic Continuity-Aware Retrieval for Efficient Context Expansion in RAG

SCAR is an adaptive retrieval policy for RAG that combats boundary fragmentation from fixed-length chunking by selectively expanding neighboring chunks, using a relative expansion threshold tied to each chunk's own query-relevance rather than a fixed window size. Tested on four corpora (RFC, GDPR, a 10-K filing, a merger agreement; 320 queries) it hits 92.8% recall on boundary-fragmented queries using 22.9% fewer chunks than static windowing, transfers across three embedding models (text-embedding-3-large, BGE-large-en-v1.5, zembed-1) without recalibration, and cuts context tokens by 27.1% while preserving RAGAS-measured generation faithfulness.

TL;DR A scale-invariant chunk-expansion policy for RAG that recovers boundary-fragmented evidence with fewer tokens than static windowing.
Document

What it claims

SCAR is a training-free, single-shot retrieval-time policy that decides, per retrieved chunk, whether to pull in an adjacent chunk — as opposed to iterative LLM-loop methods (FLARE, Self-RAG) or trained utility retrievers (SCARLet). It composes on top of any indexing-time chunker. Code and eval datasets: https://github.com/scarmethod/SCAR.

How it works

For a retrieved chunk c and neighbor n, SCAR scores expansion as query-relevance minus a continuity penalty:

  • S(c,n) = cos(e_q, e_n) − λ·(1 − cos(e_c, e_n))
  • Expand n only if S(c,n) > γ·cos(e_q, e_c)

The threshold is relative to the parent chunk's own query-relevance, not absolute — so a weakly-retrieved chunk sets a lower bar, and the rule is (near) scale-invariant across embedding models. Two hyperparameters, fixed at λ=0.1, γ=0.80 across all corpora and all three embedding models (verified via leave-one-corpus-out grid search; λ∈[0.05,0.15] is comparable). Documents chunked with a recursive splitter at 600 chars / 60-char overlap, with structural hierarchy prepended before embedding.

Evidence

Boundary-fragmented set (N=160), full method comparison (recall / chunks / efficiency):

MethodRecallChunksEff.
Top-k baseline0.8305.00.166
SCAR (±1)0.9287.840.118
Window (±1)0.96710.160.095
SCAR (±2)0.9499.20.103
Window (±2)0.98514.40.069
Reranker→top-80.8548.00.107
Parent0.96850.20.019

Notable: a cross-encoder reranker (bge-reranker-large) at the same 8-chunk budget reaches only 0.854 despite 97.2% Recall@20 — it demotes continuation chunks whose standalone relevance is low. Chunk reduction vs Window(±1) is a large effect (Cohen's d=−1.49, p<10⁻⁴); the recall cost is small (d=−0.33). On atomic queries SCAR is "zero-regret": 7.6 vs Window's 11.3 chunks with no needed expansion. Cross-model transfer without recalibration: BGE 12.7% reduction/0.913 recall, zembed-1 17.2%/0.956. Ablation: removing the continuity penalty (λ=0) adds up to 7.2% chunks with little recall change.

Limits

  • Single author, benchmark not yet peer-reviewed (CIKM '26 listing, arXiv Aug 2026).
  • Downstream generation quality tested on only one corpus (Microsoft 10-K, GPT-4o-mini, RAGAS): faithfulness tied at 4.99/5, 27.1% token cut. Other three corpora have no generation eval.
  • SCAR trades ~3.9pt recall for its savings — if you need Window's 0.967, SCAR does not match it at any tested setting.
  • Gold labels are LLM-generated; human IAA was substantial but modest (κ=0.71/0.79, 0.57 for a rapid pass). Authors re-ran under four alternative gold definitions to check, but the ground truth remains partly synthetic.
  • Only 320 queries across 4 documents; each corpus is a single document, not a large collection.

Organisations named here

  • GDPR
  • RFC corpus

Technologies named here

  • RAGAS
  • text-embedding-3-large
  • BGE-large-en-v1.5
  • zembed-1
  • RAG

Techniques named here

  • SCAR
  • Static windowing
  • Parent retrieval
  • Fixed-length chunking