PDF에서 Markdown으로: RAG에 문서 파싱이 중요한 이유

발행: (2026년 3월 16일 AM 02:15 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

파싱 품질이 검색에 중요한 이유

RAG는 텍스트 조각을 임베딩하고 이를 벡터 DB에 저장한 뒤, 질의 시점에 가장 관련성 높은 조각을 검색함으로써 동작합니다. 이러한 조각이 문서의 구조와 의미를 얼마나 잘 반영하느냐에 따라 모델이 질문에 답변할 수 있는 능력이 달라집니다.

Bad parsing (raw text extraction, naive PDF‑to‑text)

  • Broken tables → 숫자와 헤더가 문단에 섞여 들어가며, 검색 결과가 불완전하거나 의미 없는 행을 반환합니다.
  • Lost headings → 의미론적 계층 구조가 사라져, 조각 경계가 섹션 논리를 무시합니다.
  • Garbled layout → 다중 컬럼이나 복잡한 문서는 읽기 순서가 뒤섞여 나옵니다.
  • Noise → 헤더, 푸터, 페이지 번호 등이 조각을 오염시켜 관련성을 희석합니다.

Good parsing (structured Markdown with layout‑aware extraction)

  • Clean tables → HTML이나 구조화된 블록으로 보존되어, 조각이 일관된 행과 셀을 포함할 수 있습니다.
  • Preserved hierarchy → 헤더가 자연스러운 조각 경계가 되며, 섹션이 온전하게 유지됩니다.
  • Logical flow → 읽기 순서가 문서가 의도한 구조를 따릅니다.
  • Less noise → 불필요한 요소를 필터링할 수 있어, 조각이 실제 내용에 더 잘 대표됩니다.

결과: 임베딩이 실제 의미를 포착하고, 검색이 질문에 답변할 수 있는 조각을 반환하게 됩니다. 조각이 쓰레기 조각이 아니라 의미 있는 내용이 됩니다.

Markdown as an Ideal RAG Ingestion Format

Markdown은 RAG 파이프라인에 자연스럽게 맞는 포맷입니다.

  • 구조 유지 – 헤더, 리스트, 테이블 등이 레이아웃에 숨겨지지 않고 명시적으로 드러납니다.
  • 쉽게 조각화## 로 구분하거나 블록 유형별로 나누어 임의의 문자 단위 절단 없이 분할할 수 있습니다.
  • 의미 단위 보존 – 테이블 행, 코드 블록, 섹션 등이 함께 유지됩니다.
  • 임베딩 친화적 – 모델은 보통 Markdown을 학습 데이터로 사용하며, 구조화된 텍스트는 더 예측 가능하게 임베딩됩니다.

반면 원시 PDF 텍스트는 명확한 경계가 없는 하나의 긴 문자열처럼 보입니다. 고정 토큰 수로만 조각을 나누면 컨텍스트가 손실되고, 직접 구조를 추론하려 하면 비용이 많이 들고 취약합니다. 깨끗한 Markdown에서 시작하면 “무료”로 구조를 얻을 수 있습니다.

What to Look For in a Parser

RAG용 문서 인제스트 파이프라인을 구축할 때는 다음을 충족하는 파서를 선택하세요.

  • 구조 보존 – 헤더, 테이블, 리스트, 코드 블록 등을 유지
  • Markdown 출력 – 혹은 Markdown으로 변환 가능한 구조화된 JSON 제공
  • 레이아웃 처리 – 다중 컬럼, 복잡한 포맷, 올바른 읽기 순서 지원
  • 블록 메타데이터 제공 – 블록 유형, 경계 박스, 읽기 순서 등을 노출해 맞춤형 조각화를 가능하게 함
0 조회
Back to Blog

관련 글

더 보기 »

RAG란 무엇인가?

소개 대부분의 AI 모델은 실제로 귀하의 데이터를 “알고” 있지 않습니다. 이들은 훈련된 내용을 기반으로 답변을 생성하므로, 최신성이 떨어지거나 부정확할 수 있습니다.