표형 데이터용 RAG 청킹 기법 15가지 핵심 전략
RAG 앱 성능을 높이는 테이블 처리 전략: 텍스트와 달리 구조화된 데이터를 어떻게 나누어야 할까? RAG(검색 증강 생성) 앱을 개발하다 보면 데이터를 어떻게 나누는지가 검색 정확도에 결정적인 영향을 미칩니다. 대부분의 가이드는 텍스트 기반 데이터를 위한 청킹 전략을 제시하지만, 실제로는 엑셀 시트, 청구서, 인사 보고서, 과학 실험 결과처럼 구조화된 표 형식의 데이터를 다뤄야 할 때가 많습니다. 이때 기존의 줄 단위 청킹은 효과가 떨어집니다. 표는 단순한 텍스트가 아니라 관계와 맥락이 담긴 정보의 집합이기 때문입니다. 예를 들어, ‘매출 보고서’ 표에서 ‘2024년 3월’의 ‘서울 지점’ 매출이 1,200만 원이라는 정보는 단독으로는 의미가 없고, 다른 행과 열과의 관계 속에서만 의미가 됩니다. 이를 무시하고 텍스트처럼 나누면 LLM이 올바른 정보를 추출하기 어렵습니다. 따라서 표 데이터를 위한 청킹 전략은 다음과 같이 접근해야 합니다. - 행 단위 청킹: 한 행을 하나의 청크로 처리하면, 각 항목의 관계가 유지됩니다. - 그룹 기반 청킹: 특정 카테고리(예: 월별, 부서별)를 기준으로 그룹화해 청크를 만듭니다. - 셀 병합 청킹: 핵심 정보가 여러 셀에 분산된 경우, 관련 셀을 하나의 청크로 통합합니다. - 행-열 구조 유지: 청킹 시 열 제목과 행 데이터를 함께 포함해 맥락을 보존합니다. 실제 예시로, ‘인사 보고서’에서 ‘이름, 부서, 입사일, 연봉’이 있는 표를 처리할 때, 각 직원을 하나의 청크로 묶는 것이 가장 효과적입니다. 이 경우, LLM이 “홍길동의 연봉은 얼마인가요?”라는 질문에 정확히 답할 수 있습니다. 결론적으로, 표는 단순한 텍스트가 아니라 구조화된 정보의 집합입니다. RAG 앱에서 테이블 데이터를 효과적으로 활용하려면, 단순히 나누는 것보다 ‘관계와 맥락’을 유지하는 청킹 전략이 필수적입니다. 이는 검색 정확도와 사용자 만족도를 크게 높입니다.