
백엔드
HTML 문서의 실시간 본문 추출기: 노이즈 적은 콘텐츠 수집의 비밀
두줄요약
HTML 문서에서 실시간으로 본문만 빠르게 추출하기 위한 PAAS의 로직을 소개했습니다. 트리 구조 feature와 entropy를 활용해 노이즈를 줄이면서 핵심 정보 유실을 막았습니다.
문제 상황
- LLM search에서 실시간 웹 문서의 본문을 빠르게 추출해야 하는 상황
- 광고, 메뉴, 댓글 등 노이즈는 줄이되 핵심 정보는 유실 없이 남겨야 하는 요구
- HTML 가져오기 시간을 제외하면 본문 추출에 1초 내외만 사용 가능
원인 분석
- CSS 기반 추출은 사이트별 수동 관리 의존도가 높고 본문 유실 가능성 존재
- 키워드 유사도 방식은 추출 범위 설정이 어려워 과소·과대 추출이 발생
- 고정 depth의 Longest Child 방식은 문서마다 최적 depth가 달라 일반화에 한계
해결 방법
- DOM 트리의 depth, entropy, 텍스트 밀도 같은 일반화된 feature로 본문 후보를 점수화
- 자식 노드 텍스트 비율이 한쪽으로 치우치는 노드를 핵심 본문으로 판별
- entropy 결과만 쓰지 않고 CSS 필터와 방어 로직을 함께 결합
- 메모라이즈 방식으로 노드 순회를 최적화해 추출 속도 개선
