FreeChunker: 유연한 다중‑Granularity 텍스트 청킹 프레임워크
초록
FreeChunker는 문장을 원자 단위로 취급하고, 고정된 청킹 경계를 없애며 하나의 전방향 패스로 다양한 문장 조합(1문장부터 k문장까지)을 동시에 인코딩한다. 이를 통해 의미 경계 탐지 비용을 크게 절감하고, 질의에 따라 세밀하거나 거대한 문맥을 자유롭게 선택할 수 있다. LongBench V2 실험에서 기존 고정‑Granularity 및 의미‑aware 청킹 방법보다 검색 정확도와 처리 속도 모두 우수함을 보였다.
상세 분석
FreeChunker의 핵심 아이디어는 “문장을 원자 단위로 간주하고, 청크 패턴 마스크를 이용해 여러 granularity를 한 번에 생성한다”는 점이다. 기존의 고정‑granularity 청킹은 문서 전체에 동일한 청크 크기를 적용해 세부 정보와 전역 문맥 사이의 트레이드오프를 강제한다. 의미‑aware 청킹(예: SemanticChunker, Meta‑Chunking, LumberChunker)은 임베딩 유사도나 퍼플렉시티 변화를 이용해 경계를 찾지만, 여전히 하나의 청크 크기만을 산출하고 대규모 LLM을 호출해야 하는 계산 비용이 크다.
FreeChunker는 먼저 Sentenizer 단계에서 문서를 문장 단위로 분리하고, 사전 학습된 토큰‑레벨 인코더(예: jina‑embeddings‑v2‑small‑en, nomic‑embed‑text‑v1.5, BGE‑M3)로 각 문장을 d‑차원 임베딩 행렬 E∈ℝⁿˣᵈ 로 변환한다. 그 다음 Chunk Pattern Mask P∈{0,−∞}^{m×n} 를 구성한다. 여기서 m은 생성하려는 청크 수이며, 각 행은 특정 granularity g와 시작 위치 s에 대해 P_{g,s}
댓글 및 학술 토론
Loading comments...
의견 남기기