Chunking은 RAG의 정보 검색 정확도와 문맥 보존성에 큰 영향을 미칩니다.
적절한 분할 전략을 사용하지 않으면, 검색된 정보가 너무 적거나 문맥이 손실될 위험이 있습니다.
설명:
Chunk를 분할하는 방법 자체가 검색 성능과 생성 결과에 영향을 미칠 수 있음.
예시:
"이 제품은 성능이 뛰어나고 배터리 수명이 길다. 고객 만족도가 높다. 가격도 합리적이다."
10 토큰 단위로 분할 시:
["이 제품은 성능이 뛰어나고", "배터리 수명이 길다. 고객 만족도가", "높다. 가격도 합리적이다."]
문장이 중간에 잘려 검색될 경우 의미 전달이 어려울 수 있음.
의미 단위 분할
["이 제품은 성능이 뛰어나고 배터리 수명이 길다.", "고객 만족도가 높다.", "가격도 합리적이다."]
설명:
Chunk 크기는 문서의 유형에 따라 다르게 설정해야 함.
예시:
연구 논문:
고객 FAQ:
설명:
예시:
Overlap이 0일 때 (겹치는 부분 없음)
["이 제품은 성능이 뛰어나고 배터리 수명이 길다.", "고객 만족도가 높다.", "가격도 합리적이다."]
→ 검색 시 “배터리 수명”이 포함된 Chunk를 찾으면, 고객 만족도에 대한 정보를 놓칠 가능성이 있음.
Overlap이 20%일 때
["이 제품은 성능이 뛰어나고 배터리 수명이 길다.",
"배터리 수명이 길다. 고객 만족도가 높다.",
"고객 만족도가 높다. 가격도 합리적이다."]
→ 검색 시 문맥 연결이 유지되어 더 정확한 답변이 가능해짐.
설명:
예시:
문서 구조
- 1장: 인공지능 개요
- 1.1 AI의 역사
- 1.2 AI의 응용 분야
Chunk 저장 방식:
설명:
예시:
"이 제품은 최근 출시되었으며, 2023년 3월 15일에 공개되었습니다. 색상은 블루, 레드, 블랙이 있습니다. 이 제품은 성능이 뛰어나고 배터리 수명이 깁니다."
"이 제품은 성능이 뛰어나고 배터리 수명이 깁니다. 고속 충전을 지원하며 30분 내 80% 충전이 가능합니다."
→ 검색 시 필요한 정보만 포함하여 효율적인 Retrieval 가능.
| 추가 요인 | 설명 |
|---|---|
| Chunking 방법 | 고정 길이, 의미 단위, 하이브리드 방식 선택 |
| 문서 타입별 크기 조정 | 문서 종류에 따라 적절한 Chunk 크기 설정 |
| Overlap 크기 | 문맥 연결성을 유지하기 위해 적절한 오버랩 설정 |
| 계층적 Chunking | 큰 문서와 작은 단위를 함께 저장하여 검색 효율 증대 |
| Chunk 내 정보 밀도 | 검색 효율을 높이기 위해 핵심 정보만 유지 |
| 도메인 최적화 | 코드, JSON, 대화 데이터 등 특수 문서에 적합한 방식 사용 |