edgepiityped character spans
taxonomy 2026.11 GitHub

Measured, not claimed

Public score

Exact-span F1 on two pinned public PII corpora. A prediction counts only when the type, the start, and the end all match gold. A one-character shift is a miss, because one character is enough to break a mask.

The two corpora

KeyCorpusLicenseRole
nemotron-piiNVIDIA Nemotron-PII, test splitCC-BY-4.0 In domain. The en-closed checkpoint trains on this distribution
gretel-finance-enGretel synthetic PII, finance, English test splitApache-2.0 Out of domain. Finance documents and SWIFT messages

Each corpus is pinned by commit revision, byte count, and sha256. A download that does not match stops the run, because a moved file makes an old score unreadable.

Results

CorpusPresetDocsGoldPRF1F2Leaks
nemotron-piirules2,0005,8900.6530.2660.3780.301589
nemotron-piien-closed5001,3430.7100.9870.8260.9162
gretel-finance-enrules2,8917,3970.2600.1190.1630.133424
gretel-finance-enen-closed4009820.0930.2550.1360.18938

The rules lane finds no name, so PERSON and ADDRESS score zero for that lane by construction. Those two types need a model lane.

Per type

Typenemotron
rules
nemotron
en-closed
gretel
rules
gretel
en-closed
PERSON0.0000.9950.0000.048
ADDRESS0.0000.3830.0000.123
EMAIL0.9980.9940.4500.431
PHONE0.6440.6330.3510.410
PAYMENT0.0910.6910.2360.232
GOV_ID0.0001.0000.0000.321
SECRET0.4380.8910.1890.291
IP_ADDRESS0.8170.7370.8860.813
USERNAME0.0001.0000.0000.143

The finding that matters

The en-closed checkpoint scores 0.995 on PERSON in domain and 0.048 out of domain. It learned where a name sits in a synthetic persona note, not what a name is. The model card reports F1 0.9628 on its own test split, and that number alone would have shipped the lane.

This is why the harness exists. Read the full analysis in the first public score.