RAG2026-5일7차시 · 텍스트 분할 이해6 / 19← 이전목차다음 →MetaContents

7차시. 텍스트 분할 이해

3. chunk_overlap — 왜 겹쳐야 할까?

출처: 원본 PDF 07차시_텍스트분할이해.pdf 7~8쪽 · 쪽 그림 7쪽 8쪽

두 번째로 정할 값입니다. 이건 개념만 이해하면 아주 간단합니다.

3-1) 겹치지 않으면 생기는 일

✂️ 문장이 반으로 잘리는 문제
원문:
"...환불은 상품 수령일로부터 7일 이내에 신청해야 합니다. 단, 상품이 훼손된 경우에는 환불
이 제한될 수 있습니다..."
겹침 없이(overlap=0) 자르면
[조각 1] ...환불은 상품 수령일로부터 7일 이내에 신청해
[조각 2] 야 합니다. 단, 상품이 훼손된 경우에는...

😱 "신청해" / "야 합니다"로 잘렸습니다.
검색으로 조각 1만 걸리면
"7일 이내에 신청해"까지만 보이고
그 다음 조건은 사라집니다.

3-2) 겹치면 해결되는 이유

🔗 이어 붙이는 다리 역할
overlap=50으로 자르면
[조각 1] ...환불은 상품 수령일로부터 7일 이내에 신청해야 합니다.
[조각 2] 7일 이내에 신청해야 합니다. 단, 상품이 훼손된 경우...
조각 2의 앞부분에
조각 1의 끝부분이 다시 들어갑니다.
→ 어느 조각이 검색되든 문맥이 살아 있습니다
→ 경계에서 정보가 사라지지 않습니다

💡 overlap은 얼마로 잡을까?
chunk_size의 10~20%가 일반적입니다.
· chunk_size 300 → overlap 30~60
· chunk_size 500 → overlap 50~100
· chunk_size 1000 → overlap 100~200
너무 크게 잡으면?
→ 같은 내용이 여러 조각에 중복 저장됩니다
→ 저장 공간과 임베딩 비용이 늘어납니다
→ 검색 결과에 비슷한 조각만 잔뜩 나옵니다

👉
출발점: chunk_size의 10%

← 이전 절7차시 · 2. chunk_size — 얼마나 크게 자를까?다음 절 →7차시 · 4. separators — 아무 데나 자르면 안 된다