Anonymify hat 3 Modi für die Erkennung:
| Modus | Geschwindigkeit | Genauigkeit | Installation |
|---|---|---|---|
| fast | ⚡ ~0.1s | ⭐⭐⭐ | Standard, keine zusätzlichen Pakete |
| balanced | 🏃 ~1s | ⭐⭐⭐⭐ | Benötigt spaCy (klein) |
| accurate | 🐌 ~2-5s | ⭐⭐⭐⭐⭐ | Benötigt spaCy (groß) |
- Nur Pattern-Matching (Regex)
- Kein Machine Learning
- Super schnell (~0.1 Sekunden)
- Gut für Echtzeit-Nutzung
- ❌ Mehr False Positives
- ❌ "Der Richter" könnte als Name erkannt werden
# config.toml
[anonymization]
recognition_mode = "fast" # Standard- Pattern-Matching + leichtes ML (spaCy small)
- Named Entity Recognition (NER)
- Mittlere Geschwindigkeit (~1 Sekunde)
- Viel weniger False Positives
- ✅ Erkennt "Max Müller" als Person
- ✅ Ignoriert "Der Richter" (Beruf, kein Name)
- ✅ Noch brauchbar für Echtzeit
# 1. spaCy installieren
pip install spacy
# 2. Kleines deutsches Modell laden
python -m spacy download de_core_news_sm# config.toml
[anonymization]
recognition_mode = "balanced"- Pattern-Matching + großes ML-Modell
- Bestes Named Entity Recognition
- Langsam (~2-5 Sekunden)
- Fast keine False Positives
- ✅✅✅ Sehr präzise Erkennung
- ✅✅✅ Minimale False Positives
- ✅✅✅ Versteht Kontext
- ❌ Langsam (2-5 Sekunden)
- ❌ Größeres Modell (~100 MB)
# 1. spaCy installieren
pip install spacy
# 2. GROßES deutsches Modell laden
python -m spacy download de_core_news_lg# config.toml
[anonymization]
recognition_mode = "accurate"→ Nutze "balanced" oder "accurate"
→ Installiere spaCy
→ Teste mit balanced zuerst
→ Bleibe bei "fast"
→ Erhöhe Score-Thresholds stattdessen:
[anonymization]
recognition_mode = "fast"
person_score_threshold = 0.8 # Strenger
→ Nutze "accurate"
→ Warte 2-5 Sekunden pro Text
→ Fast keine False Positives mehr
"Der Richter Dr. Max Mustermann sprach das Urteil.
Die Staatsanwaltschaft Hamburg klagt an."
Ergebnis:
"<PERSON> <PERSON> <PERSON> sprach das Urteil.
<PERSON> Hamburg klagt an."
False Positives: 3 ("Der Richter", "Die Staatsanwaltschaft")
Zeit: 0.1s
Ergebnis:
"Der Richter <PERSON> sprach das Urteil.
Die Staatsanwaltschaft Hamburg klagt an."
False Positives: 0
Zeit: 1.2s
Ergebnis:
"Der Richter <PERSON> sprach das Urteil.
Die Staatsanwaltschaft Hamburg klagt an."
False Positives: 0
Zeit: 3.5s
[anonymization]
recognition_mode = "accurate" # Beste Genauigkeit
person_score_threshold = 0.7 # Standard OK[anonymization]
recognition_mode = "fast" # Schnell
person_score_threshold = 0.8 # Strenger Threshold[anonymization]
recognition_mode = "balanced" # Mittelweg
person_score_threshold = 0.7 # Standard# In Projekt-Ordner:
call venv\Scripts\activate.bat
# Installiere spaCy
pip install spacy
# Lade deutsches Modell
python -m spacy download de_core_news_sm
# Optional: Großes Modell für "accurate"
python -m spacy download de_core_news_lg[anonymization]
recognition_mode = "balanced" # Ändere hier!# App beenden
Rechtsklick Icon → Beenden
# Neu starten
Rechtsklick start.bat → "Als Administrator ausführen"Schaue in anonymizer.log:
[INFO] Erkennungs-Modus: balanced
[INFO] Versuche spaCy zu laden für Modus 'balanced'...
[INFO] spaCy NLP Engine geladen: de_core_news_sm
Problem: spaCy nicht installiert
Lösung:
pip install spacy
python -m spacy download de_core_news_sm
Problem: de_core_news_lg fehlt für "accurate"
Lösung:
python -m spacy download de_core_news_lg
Oder:
Nutze "balanced" statt "accurate"
Problem: Modus zu langsam
Lösung:
1. Wechsel von "accurate" → "balanced"
2. Oder von "balanced" → "fast"
3. Erhöhe stattdessen person_score_threshold auf 0.8
Problem: Zu viele False Positives (6000 → 2000 Zeichen)
Lösungen:
- ⚡ Schnell: Bleibe bei "fast", erhöhe Threshold auf 0.8
- 🏃 Mittel: Nutze "balanced" mit spaCy (EMPFOHLEN!)
- 🧠 Langsam: Nutze "accurate" mit großem Modell
Installation:
pip install spacy
python -m spacy download de_core_news_smAktivieren:
# config.toml
[anonymization]
recognition_mode = "balanced"Viel Erfolg! 🚀