프로젝트 소개

rizzo-pii는 이탈리아 법률 및 전문 문서를 대상으로 한 로컬, 가역적 PII 비식별화 도구입니다. 핵심은 rizzo-pii:0.3B로, mmBERT/ModernBERT 백본(약 0.3B 파라미터)을 가진 토큰 분류 모델이며, 약 0.5GB RAM으로 CPU에서 실행되고 API 키나 네트워크 액세스가 필요 없습니다. 작업 흐름은 다음과 같습니다: 로컬에서 비식별화하고, 각 감지된 스팬을 [FULLNAME_1] 또는 [IBAN_1]과 같은 안정적인 유형 인식 플레이스홀더로 대체하며, 플레이스홀더-값 매핑을 로컬 사전에 유지하고, 플레이스홀더 텍스트만 프론티어 LLM에 전송한 후, 답변에서 로컬로 실제 값을 복원합니다. 동일한 값은 동일한 플레이스홀더를 공유하므로 원격 모델에 대해 텍스트 일관성이 유지됩니다. 모델은 BIO 형식으로 22개 엔터티 유형을 예측하며, 이름, 날짜, 주소, 연락처 세부 정보, IBAN, 신용카드, 금액, 번호판, 조직, 문서 식별자 및 카타스토 데이터를 포함합니다. 5개의 이탈리아 법률 태그(CF, PIVA, CATASTO, DOCID, PROVINCE)는 다른 오픈 모델에서 다루지 않는 식별자로 강조되며, 유효한 체크섬으로 합성하여 생성됩니다. 앱은 정규식으로만 처리되는 URL 태그를 추가합니다. 감지는 신경 모델과 결정적 정규식 및 체크섬 계층을 결합하여 구조화된 식별자(이메일, 전화, IBAN, CF, PIVA, 신용카드, 금액, 번호판)를 처리하며, 유효한 체크섬이 모델을 덮어씁니다. 앱은 안정적인 플레이스홀더, 다운로드 가능한 로컬 사전, 형식 변동에 관대한 복원 탭, 긴 PDF를 위한 중첩 청킹, 색상별 태그 인터페이스를 제공합니다. 훈련은 약 745k 레이블 행의 다국어 풀을 사용했으며, 이탈리아어를 약 45%로 강화했고, 실제 및 합성 소스에서 조립하여 로드 시 22개 태그에 재매핑했습니다. 합성 데이터는 "LLM 작성자, 코드 라벨러" 접근 방식을 따릅니다: LLM이 플레이스홀더로 이탈리아 법률 산문을 작성하고 코드가 유효한 값을 주입하여 라벨이 정확하고 실제 개인 데이터가 생성되지 않도록 합니다. 훈련은 단일 16GB 소비자 GPU에서 한 에포크로 실행되었습니다. 7,000행의 보류된 실제 이탈리아어 벤치마크에서 보고된 결과는 마이크로 정밀도 0.987, 마이크로 재현율 0.990, 마이크로 F1 0.989, 토큰 정확도 0.998이며, 22개 태그에 걸친 매크로 F1은 0.987입니다. README는 5개의 이탈리아 법률 식별자가 모두 1.000을 기록했으며, ZIPCODE, CREDITCARDNUMBER, STREET, CITY 및 ORG와 같은 더 부드러운 클래스가 있다고 명시합니다. 배포 옵션에는 Python/Flask CPU 사이드카를 번들한 Tauri 데스크톱 앱, 자체 포함 CPU 전용 Docker 이미지, 소스에서 웹 앱 실행, 단일 문서용 CLI, /health, /analyze, /pdf 및 /preview와 같은 엔드포인트가 있는 HTTP API가 포함됩니다. 사전 빌드된 Windows, macOS(Apple Silicon) 및 Linux AppImage 릴리스가 제공됩니다. 프로젝트는 GDPR 데이터 최소화 및 EU AI Act 정렬을 중심으로 설계를 구성하며, 기술 보고서 PDF, 데이터셋 및 분류 체계 문서, 빌드 지침을 포함합니다.