피드로 돌아가기
When Regex Fails: Using LLMs to Extract Structured Data from Messy Pages
Dev.toDev.to
AI/ML

정형화되지 않은 HTML 데이터 추출을 위한 LLM 기반 Universal Parser 설계

When Regex Fails: Using LLMs to Extract Structured Data from Messy Pages

zhongqiyue2026년 6월 6일5intermediate

Context

수백 개의 서로 다른 e-commerce 사이트마다 상이한 HTML 구조로 인해 기존 CSS Selector 및 Regex 기반 파싱 전략의 유지보수 비용이 급증한 상황. 단순 분류기(Classifier)나 Computed Style 분석 시도에도 불구하고 새로운 레이아웃에 대한 낮은 일반화 성능으로 인해 파이프라인 붕괴 발생.

Technical Solution

  • HTML 구조에 의존하지 않는 Few-shot Prompting 기반의 LLM Universal Parser 도입
  • Token Limit 최적화를 위해 가격 패턴이 포함된 특정 Subtree 영역만 추출하는 Pre-trimming 전략 적용
  • 추출 정확도 확보를 위해 HTML $\rightarrow$ JSON 변환 예시를 포함한 시스템 프롬프트 설계
  • LLM의 Hallucination 방지를 위해 추출 결과값을 Regex로 검증하는 Post-validation 단계 구축
  • 비용과 속도 최적화를 위해 Known Site는 기존 Parser를 사용하고 Unknown Layout만 LLM으로 처리하는 Hybrid Fallback 구조 채택
  • 데이터 보안 요구사항에 따른 Local LLM(Llama 3, Mistral) 교체 가능 구조 설계

비정형 데이터 추출 시 [Deterministic Parser $\rightarrow$ LLM Parser] 순의 Hybrid 전략을 검토하고, Token 비용 절감을 위한 HTML 노이즈 제거 및 Pre-trimming 로직을 선행 구현할 것

원문 읽기