GEO

시맨틱 청킹

시맨틱 청킹(Semantic Chunking)은 문서를 고정된 문자·토큰 수가 아니라 의미 경계에서 자르는 분할 기법입니다. 임베딩으로 인접 문장의 주제 전환을 감지하고 그 지점에서 자르기 때문에, 결과 청크 각각이 하나의 아이디어로 완결돼 검색하기 좋습니다.

시맨틱 청킹(Semantic Chunking)은 문서를 고정된 문자·토큰 수가 아니라 의미 경계에서 자르는 분할 기법입니다. 임베딩으로 인접 문장의 주제 전환을 감지하고 그 지점에서 자르기 때문에, 결과 청크 각각이 하나의 아이디어로 완결돼 검색하기 좋습니다.

왜 중요한가

단순 청킹은 매 N 토큰이나 문단 경계에서 무작정 자르기 때문에 의미를 무시합니다. 그 결과 하나의 논지를 전제와 결론으로 갈라 놓고, 검색기가 문맥이 깨진 조각을 반환하게 만듭니다. 시맨틱 청킹은 주제 전환을 존중해 이 문제를 해결합니다. LlamaIndex·LangChain의 20242025년 벤치마크에 따르면 시맨틱 청킹은 오픈 도메인 QA에서 고정 크기 분할 대비 RAG 답변 품질을 820% 개선하며, 긴 기술 문서일수록 개선 폭이 큽니다.

작동 원리

1. 문장 단위 분할: 문장 토크나이저로 원자 단위를 얻습니다.

2. 문장 임베딩: 작은 임베딩 모델로 문장당 벡터 하나를 만듭니다.

3. 인접 유사도 계산: 인접한 문장 쌍의 임베딩 코사인 유사도를 계산합니다.

4. 분할 지점 탐지: 유사도가 임계치 아래로 떨어지면(또는 하위 백분위수에 들면) 주제 전환으로 표시합니다.

5. 청크로 묶기: 분할 지점 사이의 문장들을 하나의 청크로 합칩니다. 각 청크는 주제적으로 일관됩니다.

6. 선택적 크기 제약: 너무 작은 청크는 합치고 너무 큰 청크는 나눠 검색이 실용적이도록 만듭니다.

시맨틱 vs 고정 크기 vs 재귀 청킹

전략분할 방식일관성비용적합 상황
고정 크기매 N 토큰낮음무료프로토타이핑, 로그
재귀문단 → 문장 → 단어중간무료범용 기본값
시맨틱임베딩 유사도 경계높음임베딩 비용기술 문서, 긴 글
에이전트 기반LLM이 문서별 판단최고매우 높음고위험·저볼륨

시맨틱 청킹은 '싸고 단순한' 쪽과 '비싸고 똑똑한' 쪽 사이의 좋은 기본값입니다. 재귀 분할로 한계를 느낄 때 자연스러운 다음 단계입니다.

튜닝 파라미터

유사도 임계치: 낮추면 청크가 많아지고 주제 일관성은 좋지만 문맥 연속성이 떨어집니다. 높이면 청크가 적고 길어집니다. 인접 유사도의 15~25백분위수에서 시작하는 것이 무난합니다.

임베딩 모델: 저렴한 소형 임베딩 모델이면 충분합니다 — 절대 의미가 아니라 상대 변화를 보기 때문입니다.

최소 청크 크기: 한 문장짜리 너무 짧은 청크는 문맥이 없어 검색이 잘 안 됩니다. 하한을 둡니다.

최대 청크 크기: 하류 컨텍스트 윈도우를 넘지 않도록 상한을 강제합니다.

오버랩: 인접 청크 간 1~2문장 겹침이 경계가 모호한 케이스를 살립니다.

쓸모 없는 경우

짧은 문서: 전체가 한 청크에 들어가면 분할 자체가 오버헤드입니다.

반복성 높은 텍스트: 로그·상품 목록·표는 자연 주제 드리프트가 거의 없어 시맨틱 청킹이 고정 크기와 같아집니다.

구조화 콘텐츠: 표·코드·JSON은 의미가 아니라 구조로 분할해야 합니다.

검색이 병목이 아닌 경우: 할루시네이션이 프롬프트 설계나 리랭킹에서 오는 거라면 청킹을 바꿔도 효과가 없습니다.

Sources:

관련 인블로그 게시물

inblog에서 활용하기

inblog 블로그가 AI 검색 시스템에 잘 인용되려면, 검색 엔진이 포스트를 의미 단위로 잘 쪼갤 수 있어야 합니다. 명확한 ### 서브헤딩과 주제 단위의 문단 구성은 시맨틱 청킹이 자연스러운 경계를 찾게 도와, LLM 검색기가 특정 개념을 정확히 끌어가 답변에 인용할 가능성을 높입니다. 블로그 구조 자체가 '청킹 친화적'이어야 AI 시대의 가시성이 확보됩니다.