7차시. 텍스트 분할 이해
이번 차시에서 배우는 것
출처: 원본 PDF 07차시_텍스트분할이해.pdf 1쪽 · 쪽 그림 1쪽
텍스트 분할 이해 — 어떻게 자르느냐가 절반이다
✓ 문서를 왜 잘라야 하는지 두 가지 이유로 설명할 수 있다 ✓ chunk_size가 무엇이고 어떻게 정하는지 감각을 잡는다 ✓ chunk_overlap이 왜 필요한지 직접 눈으로 확인한다 ✓ separators가 의미 단위를 어떻게 지켜주는지 이해한다 ✓ RecursiveCharacterTextSplitter를 자유롭게 다룬다 ✓ 내 문서에 맞는 분할 설정을 스스로 찾아낸다
교안 해설: 이 시간에 하는 일
출처: 교안 07_텍스트분할이해.md
분할은 잘게 자르는 일이 아니라, 조각 하나만 봐도 답이 나오게 검색 단위를 정하는 일입니다. 이유는 두 가지입니다. 모델에 넣을 수 있는 길이에 한계가 있고, 질문과 무관한 문단이 같이 들어가면 답이 흐려집니다.
RecursiveCharacterTextSplitter는 빈 줄, 줄바꿈, 문장 부호, 공백 순으로 자를 곳을 찾습니다. 그래서 평균 길이는 chunk_size보다 짧은 것이 정상입니다. 한글은 글자당 정보량이 많아, 영어 예제의 1000자를 그대로 쓰지 않습니다.
overlap은 경계에 걸린 조건을 양쪽 조각에 남깁니다. check_overlap.py는 실제로 이웃 조각이 같은 문자열을 공유하는지 출력합니다. prepare.py는 로드, 분할, 조각마다 chunk_id 부여까지 한 함수로 묶습니다.
강의 PPT 흐름
출처: 강의 PPT 07차시_텍스트분할이해.pptx (24장)
| 장 | 꼬리표 | 슬라이드 제목 |
|---|---|---|
| 1 | - | 실습으로 배우는 LangGraph : 내 손으로 RAG 시스템 만들기 |
| 2 | LEARNING GOALS | 이번 차시에서 배우는 것 |
| 3 | WHERE WE ARE | 준비 단계의 두 번째 칸입니다 |
| 4 | WHY SPLIT | 문서를 잘라야 하는 두 가지 이유 |
| 5 | THE RIGHT QUESTION | 분할은 잘게 자르는 작업이 아닙니다 |
| 6 | KEY TERMS | 핵심 용어 |
| 7 | CHUNK SIZE | 얼마나 크게 자를까 |
| 8 | CAKE ANALOGY | "딸기 부분만 먹고 싶어요" |
| 9 | KOREAN DOCUMENTS | 영어 기준 권장값을 그대로 쓰지 마세요 |
| 10 | CHUNK OVERLAP | 겹치지 않으면 문장이 반으로 잘립니다 |
| 11 | HOW MUCH | overlap은 얼마로 잡을까 |
| 12 | SEPARATORS | 아무 데나 자르면 안 됩니다 |
| 13 | PRIORITY | 자를 곳을 찾는 다섯 단계 |
| 14 | IN ACTION | 우선순위가 실제로 작동하는 모습 |
| 15 | EXPERIMENT | 값을 바꿔가며 무엇이 달라지는지 봅니다 |
| 16 | READING THE NUMBERS | 표에서 읽어내야 할 세 가지 |
| 17 | FOUR QUESTIONS | 조각을 읽으면서 스스로에게 물어보세요 |
| 18 | STARTING POINTS | 문서 종류별 권장 출발점 |
| 19 | TROUBLESHOOTING | 자주 겪는 문제와 해결법 |
| 20 | SPECIAL CASE | 제목 구조가 있는 문서라면 |
| 21 | CHECKLIST | 이번 차시 체크리스트 |
| 22 | ASSIGNMENT | 이번 차시 과제 |
| 23 | NEXT | 다음 차시 미리보기 — 8차시 첫 번째 RAG 실습 |
| 24 | - | 마무리 |