피드로 돌아가기
Dev.toAI/ML
원문 읽기
정형화되지 않은 HTML 데이터 추출을 위한 LLM 기반 Universal Parser 설계
When Regex Fails: Using LLMs to Extract Structured Data from Messy Pages
AI 요약
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 로직을 선행 구현할 것