CoolFace
Datasetpublic

fevziegeyurtsevenler/turkish-pii-corpus

turkish-pii-corpus from datasets import load_dataset ds = load_dataset("fevziegeyurtsevenler/turkish-pii-corpus") A synthetic, checksum-valid, character-span-labeled Turkish PII corpus — no real person's data. Every TCKN/IBAN/VKN/plaka/card is randomly generated but passes its checksum, plus distractor sentences with number-like strings that are not PII (to test precision). Each row: text, entities: [{type, start, end, value}]. Entity types: TCKN, IBAN, VKN, PLAKA, PHONE… See the full description on the dataset page: https://huggingface.co/datasets/fevziegeyurtsevenler/turkish-pii-corpus.

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes52downloads
Dataset Card

[image]

turkish-pii-corpus

python
from datasets import load_dataset
ds = load_dataset("fevziegeyurtsevenler/turkish-pii-corpus")

A synthetic, checksum-valid, character-span-labeled Turkish PII corpus — no real person's data. Every TCKN/IBAN/VKN/plaka/card is randomly generated but passes its checksum, plus distractor sentences with number-like strings that are not PII (to test precision).

Each row: text, entities: [{type, start, end, value}]. Entity types: TCKN, IBAN, VKN, PLAKA, PHONE, EMAIL, CREDIT_CARD.

Why checksums matter

Matching a bare 11-digit number as "TCKN" floods you with false positives. Validating the checksum makes redaction precise. On this corpus, Microsoft Presidio out-of-the-box catches 0% of TCKN / VKN / plaka (it ships no recognizer for them); the companion library turkish-pii-redactor fills that gap and includes a KVKK-safe browser demo.

⚠️ Synthetic test data — not a real-world benchmark, not KVKK legal advice.

Related: uncloak · guardrail-arena · AltaySec

Apache-2.0 · by AltaySec.