Instructions to use tugrulkaya/turkish-pii-detector with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use tugrulkaya/turkish-pii-detector with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("token-classification", model="tugrulkaya/turkish-pii-detector")# Load model directly from transformers import AutoTokenizer, AutoModelForTokenClassification tokenizer = AutoTokenizer.from_pretrained("tugrulkaya/turkish-pii-detector") model = AutoModelForTokenClassification.from_pretrained("tugrulkaya/turkish-pii-detector", device_map="auto") - Notebooks
- Google Colab
- Kaggle
🔒 Turkish PII Detector
Türkçe metinlerde Kişisel Tanımlanabilir Bilgileri (PII) tespit eden BERT tabanlı NER modeli. KVKK / GDPR uyumu ve veri anonimleştirme için tasarlanmıştır.
Model Özeti
Bu model, Türkçe metinlerde kişi adları, e-posta, telefon, T.C. kimlik numarası, IBAN, kredi kartı ve adres gibi gizli bilgileri otomatik tespit eder. Veri anonimleştirme, log sanitize etme ve hassas içerik yönetimi senaryolarında kullanılabilir.
Desteklenen PII Türleri
| Etiket | Açıklama |
|---|---|
PERSON |
Kişi adı |
EMAIL |
E-posta adresi |
PHONE |
Telefon numarası |
TC_KIMLIK |
T.C. Kimlik No |
IBAN |
Banka hesap (IBAN) |
CREDIT_CARD |
Kredi kartı numarası |
ADDRESS |
Adres |
🚀 Demo
- 🛡️ KVKK Anonimleştirici — doğrulamalı tespit (TC checksum · IBAN mod-97 · kredi kartı Luhn) + gerçek NER + 3 maskeleme modu (etiket / redaksiyon / sahte veri)
- turkish-pii-demo — basit regex tabanlı demo
Kullanım
from transformers import pipeline
detector = pipeline(
"token-classification",
model="tugrulkaya/turkish-pii-detector",
aggregation_strategy="simple",
)
text = "Ahmet Yılmaz, ahmet@mail.com adresinden ulaşılabilir. Telefon: 0532 123 45 67"
for ent in detector(text):
print(f"{ent['entity_group']:12s} {ent['word']:30s} {ent['score']:.3f}")
Anonimleştirme Örneği
def anonymize(text):
results = detector(text)
# Sondan başa doğru değiştir ki offset'ler bozulmasın
for ent in sorted(results, key=lambda x: -x['start']):
text = text[:ent['start']] + f"[{ent['entity_group']}]" + text[ent['end']:]
return text
print(anonymize("Ahmet Yılmaz'ı 0532 123 45 67 numarasından arayın."))
# "[PERSON]'ı [PHONE] numarasından arayın."
İlgili Kaynaklar
- Veri kümesi:
tugrulkaya/turkish-pii-dataset - Demo Space:
tugrulkaya/kvkk-anonimlestirici(önerilen) ·tugrulkaya/turkish-pii-demo
Etik ve Sorumluluk
| ✅ Uygun Kullanım | ⛔ Uygun Olmayan Kullanım |
|---|---|
| Veri anonimleştirme | Kitlesel gözetim |
| KVKK / GDPR uyum denetimi | Profilleme, izleme |
| Log / içerik sanitize etme | Yasadışı veri toplama |
| Eğitim verisi temizleme | Rıza dışı veri işleme |
Önemli: Model %100 güvenilir değildir. Üretim ortamında insan denetimi ve ikincil doğrulama zorunludur.
Sınırlamalar
- Yalnızca Türkçe ve listelenen 7 PII türü için eğitilmiştir.
- Bağlamdan bağımsız (context-free) tanımlı PII'ler (IBAN, TC no) regex tabanlı post-processing ile birleştirilirse daha iyi sonuç verir.
- Argo, kısaltma veya standart dışı yazımlarda performans düşebilir.
Lisans
OpenRAIL — Sorumlu AI kullanımı için kısıtlamalar içerir.
- Downloads last month
- 19