콘텐츠로 이동

전처리

전처리(①)는 파이프라인의 첫 단계입니다. 여러 포맷이 섞인 원자료를 분석할 수 있는 텍스트로 바꾸고 추적 인덱스를 붙입니다. preprocessing-agent가 ecourt-organizer 스킬을 씁니다. “자료 넣었어”, “전처리”, “ZIP 풀어줘”, “OCR” 같은 발화가 이 단계를 실행시킵니다. 모든 처리는 사건 폴더 안 로컬에서만 합니다(S6).

먼저 00_원자료/를 스캔해 파일 목록을 만듭니다.

Terminal window
find {case_dir}/00_원자료 -type f | sort > {case_dir}/01_분석결과/raw_filelist.txt

파일 수와 확장자 분포를 한 줄로 보고합니다. “PDF 23, DOCX 5, JPG 12, ZIP 2 발견” 같은 형태입니다.

포맷처리
PDF텍스트 추출, 스캔본은 OCR
DOCX텍스트 추출
HWPXstdlib 기반 직접 추출
HWP(바이너리)pyhwp(hwp5txt) 추출, 없으면 HWPX 변환 안내
이미지(JPG 등)OCR
전자소송 ZIP압축 해제, EUC-KR 파일명 안전 디코딩

전자소송 ZIP은 파일명이 EUC-KR로 인코딩된 경우가 많아서, 파일명이 깨지지 않도록 안전하게 디코딩합니다. HWP는 한국 법률 문서에서 널리 쓰이는 포맷이라 따로 다룹니다. HWPX 추출은 stdlib 기반(hwp_extract.py)이어서, “일단 PDF로 변환”하고 보는 우회 방법을 쓰지 않아도 됩니다.

처리된 텍스트는 01_분석결과/extracted/에 저장되고, 자료 목록 manifest가 함께 만들어집니다. 각 자료에 추적 인덱스가 붙고, 다음 단계에서 사실에 출처를 달 때 이 인덱스를 씁니다.

HWP나 OCR 추출이 실패해도 파이프라인을 멈추지 않습니다. 실패한 자료는 [보류]로 표시하고 나머지를 계속 처리합니다. 한 자료의 추출 실패가 전체 처리를 막지 않게 하려는 것입니다. 보류 항목은 변호사가 나중에 직접 확인합니다.

전처리는 검수 게이트가 없고 문서별로 독립적입니다. 그래서 자료가 많을 때는 결정론적 워크플로우(preprocess-extract.js)로 병렬 추출을 위임할 수 있습니다. 여러 문서를 동시에 텍스트로 추출하고 정규화해 manifest를 돌려받습니다.

이 방식은 기존 흐름에 더하는 선택지입니다. 파이프라인의 순서와 검수 게이트는 그대로 두고, 전처리 단계만 병렬로 빠르게 실행합니다. 추출 실패(HWP, OCR)는 여기서도 [보류]로 표시하고 계속 진행합니다. 사람 검수는 이 워크플로우 안에 넣지 않습니다. 전처리에는 애초에 검수 게이트가 없으니 위임해도 안전합니다.

전처리에서 중복 자료를 발견해도 AI가 지우지 않습니다(다섯 번째 원칙). 중복 자료는 따로 분리해 두고 모든 사실을 보존합니다. 중복 표시는 하되, 삭제처럼 되돌릴 수 없는 작업은 사용자 확인을 받습니다.

전처리가 끝나면 사실관계와 법리검토로 갑니다. 추출된 텍스트에서 사실을 구조화하고 법리를 검토하는 단계입니다.