--- language: - en - zh license: apache-2.0 tags: - ner - pii - gliner - singapore - privacy - sosa base_model: urchade/gliner_large-v2.1 --- # sosa-pii-ner-sg-v1.1.0 Singapore regional PII span detection model. Fine-tune of [urchade/gliner_large-v2.1](https://huggingface.co/urchade/gliner_large-v2.1) on synthetic Singapore-context PII data. Deployed in SOSA DevOps as the SG-region sidecar NER uplift layer. ## Labels | Label | Format | Description | |---|---|---| | sg_nric_fin | [STFG]XXXXXXX[A-Z] | Singapore NRIC/FIN (national ID / foreigner ID) | | sg_uen | XXXXXXXXX[A-Z] (9-10 chars) | Singapore Unique Entity Number (business registry) | | sg_phone_local | +65 XXXX XXXX | Singapore phone numbers | | sg_health_hrn | SGH-YYYY-NNNNNN or numeric | Singapore hospital record numbers | Global labels also detected: `email`, `phone_e164`, `credit_card`, `passport_generic`, `ipv4_public` ## Eval Results (v0.2.0 checkpoint — scoped SG+global, 219 examples) | Label | P | R | F1 | Gate | |---|---|---|---|---| | sg_nric_fin | 0.9688 | 1.0000 | 0.9841 | PASS (≥0.85) | | sg_uen | 0.5789 | 1.0000 | 0.7333 | PASS (≥0.70) | | sg_health_hrn | 0.5172 | 1.0000 | 0.6818 | no gate (P2) | | sg_phone_local | 0.6486 | 1.0000 | 0.7869 | no gate | ## Training - **Base model:** urchade/gliner_large-v2.1 (Apache 2.0) - **Hardware:** RunPod A40 48GB, EU-SE-1 - **Steps:** 10,000 | Batch: 8 | Wall time: ~43 min - **Dataset:** D-SG-2 + D-SG-2b merged — 1,299 effective positives - **Internal checkpoint:** sosa-pii-ner-sg-v0.2.0 - **Weights SHA-256:** `32022cf0faa626cd23d0aa5c2a46a975cca488d1feb26cd518ee0eb72520e418` ### Training history (runs to reach v1.1.0) | Run | Dataset | NRIC F1 | UEN F1 | Status | |---|---|---|---|---| | v0.1.0 (v1.0.0) | D-SG-1 | 0.9524 | 0.7143 | PASS — shipped as v1.0.0 | | v0.2.0 | +D-SG-2b | 0.9841 | 0.7333 | PASS — v1.1.0 | **D-SG-2b fixes:** UEN+phone, UEN+HRN, NRIC+HRN multi-entity co-occurrence gaps (stress test failures SG-P11, SG-P13). ## Known Limitations - `sg_uen` precision 0.5789 — 8 FP present (postal codes, reference numbers of UEN shape) - `sg_health_hrn` precision 0.5172 — 28 FP (alphanumeric codes confused with HRN format) - `sg_phone_local` precision 0.6486 — 39 FP (foreign numbers, short sequences) - Precision gaps on UEN and HRN are P1/P2 — targeted for D-SG-3 in a future slice ## Integration (SOSA DevOps) Loaded by sidecar when `active_layers` includes `country:SG`. Spans merged into Rust scrubber output via `merge_sidecar_spans`. Not a replacement for the always-on Rust regex layer — contextual uplift only. ## License Apache 2.0. Fine-tune artifact — attribution to [urchade/gliner_large-v2.1](https://huggingface.co/urchade/gliner_large-v2.1) required. ## Release History | Version | Date | Notes | |---|---|---| | v1.0.0 | 2026-05-29 | Initial regional release | | v1.1.0 | 2026-05-30 | Multi-entity co-occurrence fixes (UEN+phone, UEN+HRN, NRIC+HRN) |