전처리
전처리(①)는 파이프라인의 첫 단계입니다. 여러 포맷이 섞인 원자료를 분석할 수 있는 텍스트로 바꾸고 추적 인덱스를 붙입니다. preprocessing-agent가 ecourt-organizer 스킬을 씁니다. “자료 넣었어”, “전처리”, “ZIP 풀어줘”, “OCR” 같은 발화가 이 단계를 실행시킵니다. 모든 처리는 사건 폴더 안 로컬에서만 합니다(S6).
자료 스캔
섹션 제목: “자료 스캔”먼저 00_원자료/를 스캔해 파일 목록을 만듭니다.
find {case_dir}/00_원자료 -type f | sort > {case_dir}/01_분석결과/raw_filelist.txt파일 수와 확장자 분포를 한 줄로 보고합니다. “PDF 23, DOCX 5, JPG 12, ZIP 2 발견” 같은 형태입니다.
다루는 포맷
섹션 제목: “다루는 포맷”| 포맷 | 처리 |
|---|---|
| 텍스트 추출, 스캔본은 OCR | |
| DOCX | 텍스트 추출 |
| HWPX | stdlib 기반 직접 추출 |
| 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가 지우지 않습니다(다섯 번째 원칙). 중복 자료는 따로 분리해 두고 모든 사실을 보존합니다. 중복 표시는 하되, 삭제처럼 되돌릴 수 없는 작업은 사용자 확인을 받습니다.
전처리가 끝나면 사실관계와 법리검토로 갑니다. 추출된 텍스트에서 사실을 구조화하고 법리를 검토하는 단계입니다.