본문
RAG 시스템, 표(Table) 데이터에서 자꾸 할루시네이션이 발생한다면?
RAG(Retrieval-Augmented Generation) 시스템을 구축하다 보면 의외의 복병을 만납니다. 바로 PDF 속의 표(Table) 데이터입니다. 표는 정보 밀도가 높지만, 기존의 텍스트 기반 파싱 방식으로는 그 구조를 제대로 인덱싱하기 어렵습니다.
오늘은 표 데이터로 인한 할루시네이션을 방지하고, 정확한 답변을 이끌어내는 실무적인 노하우 4가지를 공유합니다.

1. 파싱 수준을 높이자: "텍스트가 아닌 구조 추출"
표를 단순 텍스트로 변환하면 행과 열의 관계가 무너져 의미를 잃게 됩니다. 특히 금융권 문서처럼 복잡한 셀 구조를 다뤄야 한다면 전문적인 OCR 엔진 활용이 필수입니다.
- 오픈소스 대안: Docling(IBM)이나 Marker를 활용해 PDF를 마크다운(Markdown) 형태로 변환하세요. 표의 레이아웃을 가장 잘 유지하는 방법입니다.
- AWS 관리형 서비스: AWS Textract를 추천합니다. Textract는 단순 텍스트 추출을 넘어 표의 행/열 구조를 자동으로 인식합니다. 특히 'Analyze Document' API를 통해 표 데이터를 정확한 마크다운이나 CSV로 추출할 수 있어 금융권에서 매우 신뢰도가 높습니다.
2. Multi-Vector 전략과 데이터 분리: "검색은 요약본으로, 답변은 원본으로"
표를 통째로 임베딩하면 정보가 희석됩니다. 이를 해결하기 위해 Vector DB(검색용 지도)와 Document Store(원본 데이터 창고)를 물리적, 논리적으로 분리하는 전략이 필요합니다.
- 검색용 (Vector DB): LLM을 이용해 표의 내용을 '의미 단위로 요약'한 뒤 이를 벡터화하여 저장합니다.
- 답변용 (Document Store): 검색된 요약본에 매핑된 '원본 마크다운 표'는 S3나 DynamoDB 같은 별도의 스토리지에 저장합니다.
[실제 데이터 처리 과정]
- 사용자가 질문하면, 먼저 Vector DB에서 질문의 맥락과 가장 잘 맞는 요약본의 ID(데이터 주소)를 찾습니다.
- 시스템은 이 ID를 이용해 S3나 DynamoDB 같은 원본 저장소에서 실제 표 데이터(마크다운)를 불러옵니다.
- LLM은 짧은 요약본이 아니라, 방금 불러온 '행과 열 형태가 그대로 보존된 원본 표 데이터'를 직접 읽고 정확한 답변을 만들어냅니다.
이렇게 역할을 나누면, 찰떡같이 문맥을 이해하는 벡터 검색의 장점과 수치 오류가 없는 원본 데이터의 정확성이라는 두 마리 토끼를 모두 잡을 수 있습니다.
3. 하이브리드 서치(Hybrid Search) 도입
수치 데이터가 많은 표는 의미론적 벡터 검색(Vector Search)만으로는 한계가 있습니다. '2025', '영업이익' 같은 핵심 키워드가 벡터 공간에서는 단순히 '숫자'나 '일반 단어'로 희석될 수 있기 때문입니다. 이를 해결하기 위해 하이브리드 서치를 적용하세요.
- BM25는 무엇인가요?: BM25는 문서 내 특정 단어의 등장 빈도와 중요도를 계산하여 검색하는 '키워드 검색' 방식입니다. 놀라운 점은 우리가 수동으로 키워드를 등록할 필요가 없다는 것입니다. 시스템에 데이터를 넣는 즉시 자동으로 문서 전체의 키워드 지도가 생성되므로, 관리 비용 없이 '정확한 단어 매칭' 성능을 얻을 수 있습니다.
- 왜 하이브리드 서치인가요?: 예를 들어 "삼성전자 주가 얼마야?"라고 질문했을 때, 벡터 검색은 '투자 전망'이나 '시장 분석'처럼 의미상 비슷한 문서를 찾아내지만 정작 수치가 담긴 표는 놓칠 수 있습니다. 이때 BM25는 '삼성전자', '주가'라는 단어를 정확히 포함한 표를 찾아내 상위로 끌어올립니다.
- 결론: 벡터 검색이 "질문의 맥락"을 파악한다면, 키워드 검색(BM25)은 "질문의 핵심 정보"를 타격합니다. 이 둘을 결합한 하이브리드 서치는 '의미'와 '정확성'이라는 두 마리 토끼를 모두 잡는 가장 강력한 무기입니다.
마치며
RAG의 성능은 결국 "얼마나 정제된 데이터를 LLM에게 전달하느냐"에 달려 있습니다. 특히 수치 정보가 중요한 도메인일수록, 표 데이터를 구조적으로 파싱하고, 멀티 벡터 전략과 하이브리드 검색을 통해 정밀하게 타격하는 것이 아키텍처 설계의 핵심입니다.
댓글