Skip to main content
Clean 스테이지는 Source 와 Normalize 사이에 있습니다. 저장하고 싶지 않은 것들을 제거하는 역할입니다 — 우발 PII, 보일러플레이트, 근접 중복, 워크스페이스를 떠나면 안 되는 콘텐츠.

Clean 블록

PII 편집

자동 감지·치환:
  • 이메일[email]
  • 전화번호[phone] (US, EU, JP, KR 포맷)
  • 신용카드 번호[cc]
  • 국가 ID (SSN, KRRN, MyKad) → [id]
  • 이름 — 옵션, 기본 오프. NER + 작은 온-디바이스 모델 사용.
  • 커스텀 regex — 자체 패턴 추가.
문서 안에서 치환은 일관됨 (같은 이메일은 같은 플레이스홀더로) 이라 의미 보존.

보일러플레이트 제거

흔한 잡음 제거:
  • 이메일 헤더와 시그니처.
  • HTML 태그와 스타일링.
  • 목차, 페이지 번호, 헤더/푸터.
  • 법적 푸터와 면책 조항.
  • 쿠키 고지와 내비게이션 (웹 콘텐츠).

언어 필터

원치 않는 언어의 항목 드롭. 허용 목록 설정 (예: en, ko, ja). 나머지는 필터되고 로그.

콘텐츠 필터

거부 목록 에 매치되는 콘텐츠 드롭 — 패턴·키워드·제공한 작은 분류기. 테스트 데이터나 내부 전용 콘텐츠를 공개 에이전트 지식에서 빼는 데 유용.

근접 중복 감지기

이미 인제스트된 것과 95% 이상 유사한 항목 제거. MinHash 스케치 사용 — 빠르고 재임베딩 불필요. 임계값 조정 가능. 높게 (>99%) 는 거의 동일한 사본만; 낮게 (~85%) 는 공격적.

커스텀 변환 (인라인)

각 항목에 작은 JS/Python 함수 실행. content, metadata, 헬퍼 라이브러리 (re, bs4, markdown-it) 전체 접근. 변환된 항목 반환, 또는 null 반환으로 드롭.

순서가 중요

Clean 블록은 배선한 순서대로 실행. 흔한 레시피:
  1. 언어 필터 (일찍 드롭 — 저렴).
  2. 보일러플레이트 제거 (구조 정리).
  3. PII 편집 (깨끗한 텍스트에 작용).
  4. 근접 중복 감지기 (다른 것들이 잡음을 정규화한 후 중복 제거).

무엇이 정리됐는지 로깅

실행 로그가 항목별 정리 작업을 기록: PII 히트 수, 무엇이 제거됐는지, 항목이 드롭됐는지. 정리 전 데이터를 보관하지 않고도 감사 가능.

되돌리기

편집은 설계상 되돌릴 수 없음. 편집 해제가 필요하면 다시 소싱하고 다시 실행해야 함. 원본이 감사용으로 필요하면 원본을 원래 저장소에 그대로 유지하세요 — Nora 는 파이프라인의 파생 사본만 편집합니다.