전체 그래프
RAG

Semantic Chunking

ai-mlrag

상위: Advanced RAG Techniques

고정된 크기로 텍스트를 자르는 대신, 문장 간의 의미적 유사도를 분석하여 주제가 바뀌는 지점을 기준으로 청크를 분할하는 지능적인 Chunking 기법

  • 작동방식
    1. 문장 단위 임베딩: 문서를 개별 문장으로 나눈 뒤, 각 문장을 벡터로 변환(임베딩)
    2. 유사도 계산: 인접한 문장들의 벡터 간 코사인 유사도를 계산하여 문맥적 거리를 측정
    3. 경계점 탐지: 문장 간 유사도가 급격하게 떨어지는 지점(주제가 바뀌는 지점)을 '경계점(breakpoint)'으로 식별
    4. 의미 단위 청킹: 탐지된 경계점들을 기준으로 텍스트를 분할하여, 의미적으로 완결된 하나의 청크를 생성
  • 장점
    • 문맥 보존: 각 청크가 하나의 완결된 생각이나 주제를 담게 되어 정보의 일관성이 높아짐
    • 검색 정확도 향상: 의미적으로 더 명확한 청크는 검색 시스템이 사용자의 의도와 더 관련된 정보를 찾는 데 도움
    • 가변적 크기: 내용에 따라 청크의 크기가 유연하게 조절되어, 기계적인 분할로 인한 정보 손실을 최소화
  • 구현
    • LangChain의 SemanticChunker
    • breakpoint_threshold_type (ex. percentile, standard_deviation) 파라미터를 통해 주제 전환을 판단하는 민감도를 조절 가능