Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Semantic Chunking

시맨틱 청킹은 인접 문장 간 임베딩 유사도로 주제 변화를 측정해 문서를 분할하므로 각 청크에 하나의 아이디어가 담깁니다.

시맨틱 청킹은 모든 고정된 문자 수나 토큰 수마다 자르는 대신, 인접 문장의 임베딩을 비교해 주제가 바뀌는 지점에서 검색 증강 생성(RAG)과 검색을 위한 문서 청크를 나눕니다. 각 청크는 하나의 아이디어를 담으므로 벡터 데이터베이스의 단일 벡터가 해당 아이디어를 잘 나타내며, 검색된 청크는 대규모 언어 모델(LLM)에 한 섹션의 끝부분과 다음 섹션의 시작 부분이 아니라 완결된 생각을 전달합니다.

시맨틱 청킹의 작동 방식#

Greg Kamradt의 텍스트 분할 튜토리얼로 널리 알려지고 LangChain에서 SemanticChunker로 구현된 일반적인 알고리즘은 네 단계로 구성됩니다. 텍스트를 문장으로 나누고, 각 문장을 임베딩합니다. 노이즈를 줄이기 위해 문장과 이웃 문장을 함께 묶는 경우도 있습니다. 연속된 문장 쌍 사이의 코사인 유사도를 거리로 변환합니다. 임계값을 사용해 거리가 비정상적으로 큰 지점을 분할 지점으로 표시합니다. LangChain은 기본적으로 문서 전체 거리의 95백분위수를 사용하며 표준편차, 사분위 범위, 기울기 기반 임계값도 제공합니다. 분할 지점 사이의 문장들이 하나의 청크를 이룹니다. LlamaIndex의 시맨틱 분할기도 동일한 백분위수 기반 분할 지점을 사용합니다.

import numpy as np
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
sentences = [
    "The XR-12 coolant pump circulates water through the press line.",
    "Inspect the XR-12 pump seals for leaks every week.",
    "A worn pump bearing grinds loudly before it fails.",
    "The staff cafeteria now opens for breakfast at 7:00.",
    "The cafeteria menu adds vegetarian lunches in May.",
]

# 각 문장과 그다음 문장 사이의 코사인 거리
embeddings = model.encode(sentences, normalize_embeddings=True)
distances = 1 - np.sum(embeddings[:-1] * embeddings[1:], axis=1)

# 거리가 95백분위수를 넘는 지점에서 새 청크를 시작합니다.
threshold = np.percentile(distances, 95)
chunks = [[sentences[0]]]
for sentence, distance in zip(sentences[1:], distances):
    if distance > threshold:
        chunks.append([])
    chunks[-1].append(sentence)
print(np.round(distances, 2))
print(*[" ".join(chunk) for chunk in chunks], sep="\n")

이웃 문장 사이의 거리는 0.56, 0.64, 0.98, 0.62이므로 펌프 베어링에서 구내식당으로 주제가 넘어가는 0.98 지점에만 분할 지점이 생깁니다. 결과적으로 XR-12 펌프를 다룬 세 문장짜리 청크 하나와 구내식당을 다룬 두 문장짜리 청크 하나가 생성됩니다.

청킹 전략 비교#

  • 고정 크기 청킹: 보통 이웃 청크 간에 일부 중복을 두고 N개의 토큰마다 분할합니다. 빠르고 예측 가능하지만 주제 경계는 고려하지 않습니다.
  • 재귀 분할: 각 조각이 크기 제한에 맞을 때까지 문단 구분, 줄바꿈, 문장 순으로 분할합니다. LangChain은 일반 텍스트에 재귀적 문자 분할기를 사용할 것을 권장합니다.
  • 구조 인식 분할: 제목, Markdown 섹션, HTML 요소 또는 PDF의 페이지 레이아웃을 따릅니다.
  • 시맨틱 청킹: 의미의 변화를 기준으로 분할합니다. 색인 생성 중 모든 문장을 임베딩해야 하고 청크 크기가 크게 달라질 수 있으므로, 구현 시 최소 및 최대 길이를 설정합니다.
  • 레이트 청킹 및 문맥 기반 검색: 대명사의 지시 대상이 이전 청크에 있는 경우처럼 문서의 나머지 부분에서 맥락이 분리된 청크 문제를 해결하며, 위의 경계 지정 방법과 함께 사용할 수 있습니다.

로보틱스에서 액션 청킹은 이름만 같을 뿐 다른 개념입니다. 이 경우 정책이 미래의 모터 명령 시퀀스를 하나의 단위로 예측합니다.

텍스트를 넘어선 시맨틱 청킹#

음성-텍스트 변환 시스템의 전사에는 문단 구분이 없으므로 임베딩 기반 분할 지점은 회의나 팟캐스트에서 주제가 바뀌는 부분을 찾는 일반적인 방법입니다. 비디오도 콘텐츠를 기준으로 청킹할 수 있으므로, 임의의 10초 구간 대신 각 클립이 비디오 이해 또는 멀티모달 RAG를 위한 하나의 이벤트를 보여주도록 만들 수 있습니다. Ultralytics YOLO26은 사람과 차량이 등장하는 장면에서 이러한 경계를 제공합니다. 추적 모드는 감지된 각 객체에 프레임 전체에서 유지되는 ID를 부여하므로, 파이프라인은 새 ID가 장면에 들어오면 클립을 시작하고 추적 중인 ID가 모두 장면을 벗어나면 클립을 종료할 수 있습니다.

시맨틱 청킹은 검색 성능을 개선할까요?#

전사, 웹 스크래핑 페이지, 연결된 메모처럼 서로 관련 없는 주제가 제목 없이 나란히 놓인 경우 주제 기반 경계가 특히 중요합니다. 시맨틱 청크는 임베딩 모델과 임계값에도 영향을 받으므로 둘 중 하나가 바뀌면 동일한 문서도 다르게 나뉩니다. 두 요소는 모두 실제 질의에 대한 재현율을 기준으로 조정해야 합니다. 2024년 연구인 시맨틱 청킹은 연산 비용을 들일 만한 가치가 있는가?는 문서 검색, 근거 검색, 검색 기반 답변 생성을 대상으로 시맨틱 청킹과 고정 크기 청킹을 비교한 결과, 시맨틱 청킹의 추가 연산이 고정 크기 청킹보다 일관된 성능 향상을 가져오지는 않는다고 밝혔습니다.

Explore solutions

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 환경 모니터링, 자연 보호, 공간정보 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 공간정보 산업을 지원하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요