class MedicalPrivacyProcessor: def __init__(self): # Anonimleştirme için gerekli kaynakları yükle self.pii_patterns = { "isim": [r'\b[A-Z][a-z]+ [A-Z][a-z]+\b'], "tc_no": [r'\b[1-9][0-9]{10}\b'], "telefon": [r'\b0?5[0-9]{2} ?[0-9]{3} ?[0-9]{2} ?[0-9]{2}\b'], "email": [r'\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b'], "adres": [r'\b[A-Z][a-z]+ (Mahallesi|Mah\.)\b'] } def anonymize_text(self, text): """Metindeki kişisel verileri tespit eder ve anonimleştirir""" if not text: return text, {} # Basit bir örnek: gerçek uygulamada daha gelişmiş olmalı identified_data = {} anonymized = text # Her bir PII (Personally Identifiable Information) tipini kontrol et import re for data_type, patterns in self.pii_patterns.items(): matches = [] for pattern in patterns: for match in re.finditer(pattern, text): matches.append(match.group(0)) # Eşleşen verileri anonimleştir for i, match in enumerate(matches): replacement = f"[{data_type.upper()}_{i+1}]" anonymized = anonymized.replace(match, replacement) if matches: identified_data[data_type] = matches return anonymized, identified_data