pf-bc-ko — 한국어 개인정보(PII) 탐지 토큰 분류 모델

openai/privacy-filter(1.4B)를 한국어 개인정보 탐지에 특화 파인튜닝한 모델. BC 개인정보 정책(패턴·마스킹 기준표)의 유형 체계와 정렬된 49개 엔티티 × BIOES = 197클래스 토큰 분류를 수행한다.

용도 주의: 이 모델은 단독 마스킹 솔루션이 아니라 3-스테이지 파이프라인의 2차 NER 로 설계됐다. 정형 PII 의 유형 확정은 1차 정규식(값 검증)이 최종 책임지며, 모델 출력에는 후처리(BIOES 전이 제약·이름 경계 확장·DOB 재라벨 등, 저장소의 pipeline/pf_ner_backend.py)가 전제된다. 단독 사용 시 아래 한계 항목이 그대로 노출된다.

학습 데이터

구성 규모 내용
다국어 (비ko) 1,288,687행 ai4privacy/pii-masking-openpii-1.5m (CC-BY-4.0) — 라벨 쌍둥이 통일(CREDITCARDNUMBER→CARDNUM 등) + 인접 성/이름→NAME 병합
한국어 (sehe1121/bc-pii-ko) 62,194행 ×5 업샘플 (실효 19.4%) openpii ko 서브셋을 한국 규격으로 가공: 값 현지화(주민/카드/면허 등 48,500스팬), 이름 어순·호칭 교정, 절 조합 증강(계좌·CI·IP·유효기간·CVC·I-PIN 등 갭 유형 주입), 부분마스킹 표기·네거티브 샘플

전량 합성/공개 데이터 — 실존 개인정보 미포함 (주민번호 등은 형식 규칙만 준수한 난수, 카드번호는 테스트 IIN 대역 + Luhn).

학습 절차

  • 2단계: ①전체 1에폭 (lr 2e-5, cosine, warmup 500) → ②데이터 패치(이름 분포 개선) 후 이어달리기 1에폭 (lr 5e-6)
  • bf16, 실효 배치 32, max_length 512, 분류 헤드는 197클래스로 교체 후 학습
  • 라벨 공간: config 의 id2label 에 포함 (O + B/I/E/S × 49)

평가 (ko 정본 test 2,067행 — 증강 미포함 원본 분포)

지표
fine 라벨 strict F1 (seqeval IOBES) 0.849 (micro P 0.92 / R 0.79)
계열(마스킹 유형) 수준 F1 0.870
이름(PERSON) 문자 커버리지 90% (strict 채점은 토크나이저 경계 아티팩트로 과소평가)

주요 라벨: CARDNUM 0.99 · EMAIL 0.99 · ZIPCODE 0.99 · DRIVERLICENSENUM 0.99 · PASSPORTNUM 0.99 · PHONE_MOBILE 0.96 · DATE 0.96 · TAXNUM 0.94 · SEX 0.92 · PHONE_LANDLINE 0.91 · CITY 0.87 · RRN 0.79

알려진 한계 (파이프라인이 보완하는 항목)

  • 이름(NAME): strict F1 0.47 이나 실효 커버 90% — 부분 커버·경계 불일치는 후처리(단어경계 확장)로 교정. 짧은 문맥의 오탐/미탐 잔존 → 존칭 힌트 규칙 + 3차 SLM 백스톱 전제
  • DOB: P 1.00 / R 0.10 — 파이프라인의 키워드 재라벨 규칙이 recall 담당
  • RRN/FRN 구분: 7번째 숫자 구분은 서브워드 모델에 구조적으로 어려움 — 1차 정규식이 유형 확정 (모델은 스팬 검출)
  • 갭 유형 중 미학습군: ACCOUNTNUM·IPIN·USERNAME·PASSWORD·CVC 는 미학습 문맥 일반화 미달 (후속 LLM 증강 트랙) — 1차 정규식/사전이 커버
  • 학습 분포가 합성 데이터 기반 — 실무 텍스트 성능은 별도 골드셋 검증 필요

사용

from transformers import AutoModelForTokenClassification, AutoTokenizer  # transformers>=5

tok = AutoTokenizer.from_pretrained("sehe1121/pf-bc-ko")
model = AutoModelForTokenClassification.from_pretrained("sehe1121/pf-bc-ko")
# BIOES 디코드·후처리 포함 사용은 저장소의 pipeline/pf_ner_backend.py 참조

출처 고지

  • 베이스: openai/privacy-filter
  • 데이터: ai4privacy/pii-masking-openpii-1.5m (CC-BY-4.0) 가공
  • 라벨 세분화 설계는 OpenMed/privacy-filter-multilingual 의 체계를 참조
Downloads last month
-
Safetensors
Model size
1B params
Tensor type
F32
·
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for sehe1121/pf-bc-ko

Finetuned
(49)
this model

Datasets used to train sehe1121/pf-bc-ko