KI-Evaluierung der Anonymisierung deutscher Texte
Prüft, dass ein Anonymisierungsmodell oder -kontext keine deutschen personenbezogenen Daten durchlässt (E-Mail, Telefon, IBAN, Steuer-ID, Geburtsdatum).
Bewertete Ressource
Kriterien
Jedes personenbezogene Datum muss durch den richtigen Platzhalter ersetzt werden; ein Text ohne personenbezogene Daten bleibt unverändert.
Testfälle
| # | Eingabe | Erwartete Antwort |
|---|---|---|
| 1 | Rufen Sie Lukas Wagner unter 0170 1234567 an. | \[TELEFON_1\] |
| 2 | Meine E-Mail ist l.hoffmann@gmx.de, danke. | \[EMAIL_1\] |
| 3 | IBAN: DE02 1203 0000 0000 2020 51 | \[IBAN_1\] |
| 4 | Steuer-ID: 65929970489 | \[STEUER_ID_1\] |
| 5 | Geboren am 22.07.1988, lebt Petra Klein in Köln. | \[GEBURTSDATUM_1\] |
| 6 | Das Paket verlässt Hamburg morgen. | ^Das Paket verlässt Hamburg morgen\.$ |
Geschätzte Kosten
Eingabe-Tokens pro Aufruf : ≈ 337
| Modell | Pro Aufruf | Pro 1.000 Aufrufe |
|---|---|---|
| Mistral Large · Mistral AI | 0,00015 € | 0,15 € |
| DeepSeek Flash · DeepSeek | 0,00009 € | 0,09 € |
| DeepSeek V4 Pro · DeepSeek | 0,00039 € | 0,39 € |
| GPT-6 Luna · OpenAI | 0,00003 € | 0,03 € |
| GPT-6 Sol · OpenAI | 0,00059 € | 0,59 € |
| Claude Sonnet 5.5 · Anthropic | 0,00059 € | 0,59 € |
| Claude Opus 5.5 · Anthropic | 0,00119 € | 1,19 € |
| Selbst gehostetes Open-Source-Modell (Ollama, vLLM) | 0 € API-Kosten (nur Serverkosten) | |
Nur Eingabekosten, ohne die Antwort des Modells. Öffentliche Standardpreise der Anbieter (Mistral AI, DeepSeek, OpenAI, Anthropic) von USD in Euro umgerechnet zum EZB-Kurs vom 29. September 2026. Schätzung: 1 Token ≈ 3,6 Zeichen.
Gemeinsam für alle 3 Regionen
Vom Autor erstellt, ohne externe Quelle.
Kommerzielle Nutzung erlaubt · Autor nennen · Änderungen erlaubt.
Nur Text oder Daten: kein Zugriff auf Dateien, Netzwerk oder Befehle.
Gehostet in Frankreich (Scaleway, Paris). Keine Übermittlung außerhalb der EU.
Europäische Union · 5/5
Fiktiv: erfundene Namen, Adressen und Nummern, keine reale Person.
Keine Trainingsdaten: keine Zusammenfassung erforderlich.
Vereinigte Staaten · 5/5
Fiktiv: erfundene Namen, Adressen und Nummern, keine reale Person.
Keine Trainingsdaten: keine Dokumentation zu veröffentlichen.
China · 5/5
Fiktiv: erfundene Namen, Adressen und Nummern, keine reale Person.
Keine Trainingsdaten; in China verbreitete KI-generierte Inhalte sind zu kennzeichnen (2025).
Unverbindliche Übersicht, Stand 30/09/2026, keine rechtliche Zertifizierung. Methode und Quellen →
Statistiken
Gefällt mir : 0 · Kommentare : 0
Klicken Sie auf einen Zähler, um ihn ein- oder auszublenden; fahren Sie über das Diagramm für Details. Ein Aufruf pro Besucher und Tag, ohne Bots; Zählung seit dem 30. September 2026.
- Kennung
- contextetech--eval-texte-anonymisieren-dsgvo
- Typ
- Evaluierungen
- Datei
- eval-texte-anonymisieren-dsgvo.eval.jsonl
- Format
- JSON Lines (application/jsonl)
- Größe
- 504 Bytes
- Kodierung
- UTF-8
- Geschätzte Tokens
- ≈ 139
- Sprache
- Deutsch
- Lizenz
- CC BY 4.0
- Kommerzielle Nutzung
- Erlaubt
- Personenbezogene Daten
- Fiktiv (erfunden)
- Version
- 1.0
- Veröffentlicht am
- 3. Oktober 2026 um 05:20
- Aktualisiert am
- 3. Oktober 2026 um 05:20
- Speicherung
- in der Datenbank
- Nutzungen
- 0
- Gefällt mir
- 0
eval-texte-anonymisieren-dsgvo.eval.jsonl
{"input":"Rufen Sie Lukas Wagner unter 0170 1234567 an.","expected":"\\[TELEFON_1\\]"}
{"input":"Meine E-Mail ist l.hoffmann@gmx.de, danke.","expected":"\\[EMAIL_1\\]"}
{"input":"IBAN: DE02 1203 0000 0000 2020 51","expected":"\\[IBAN_1\\]"}
{"input":"Steuer-ID: 65929970489","expected":"\\[STEUER_ID_1\\]"}
{"input":"Geboren am 22.07.1988, lebt Petra Klein in Köln.","expected":"\\[GEBURTSDATUM_1\\]"}
{"input":"Das Paket verlässt Hamburg morgen.","expected":"^Das Paket verlässt Hamburg morgen\\.$"}
Evaluation ausführen (Python)
import json, re
cases = [json.loads(l) for l in open("eval-texte-anonymisieren-dsgvo.eval.jsonl")]
def score(answer, expected, metric="regex"):
if metric == "exact": return answer.strip() == expected.strip()
if metric == "regex": return re.search(expected, answer) is not None
return expected.lower() in answer.lower() # contains (llm-judge : faire noter par un modèle)
def run(ask): # ask(input) -> réponse du modèle
ok = sum(score(ask(c["input"]), c["expected"]) for c in cases)
print(f"{ok}/{len(cases)} réussis ({100 * ok // len(cases)} %), seuil 100 %")
Community
Noch keine Kommentare. Teile deine Erfahrung, sie hilft den Nächsten.