Wie gut die Erkennung wirklich ist. Und wo sie bricht.
Referenzdatensatz, Methode und Ergebnisse einer Messung der PII-Erkennung vor der KI-Nutzung: Zahlen je Entitätstyp, der Einbruch auf gescannten Unterlagen und die Grenzen der Messung.
- Stand
- 1. August 2026
Wer Unterlagen mit einem kommerziellen Sprachmodell bearbeiten will, schaltet dafür eine Erkennung vor, die Namen, Nummern und Adressen ersetzt. Über deren Qualität wird viel behauptet und wenig gemessen. Diese Seite hält die Zahlen fest, die auf einem eigenen deutschen Referenzdatensatz entstanden sind, samt Methode, Grenzen und dem Befehl, mit dem sich der Lauf wiederholen lässt.
Gemessen wurde die Erkennung des Privacy Gateway, einer selbst gebauten Anwendung, die auf Microsoft Presidio mit eigenen deutschen Recognizern aufsetzt. Die fachliche Einordnung, wozu Pseudonymisierung taugt und wozu nicht, steht unter Pseudonymisierung & Anonymisierung.
Der Datensatz
66 erfundene deutsche Geschäftstexte mit 593 von Hand annotierten Fundstellen: Rechnungen, Support-Mails, Außendienstnotizen, Verträge, Kundenlisten. Davon liegen 54 Beispiele mit 479 Fundstellen im Abnahmeumfang; 12 Beispiele mit 114 Fundstellen bilden eine getrennt ausgewiesene Kategorie mit Lesefehlern, wie sie bei gescannten Unterlagen entstehen.
Alle Angaben sind erfunden. Steuer-Identifikationsnummern und Sozialversicherungsnummern erfüllen ihre Prüfziffer, damit die Verfahren tatsächlich geprüft werden, gehören aber keiner realen Person. Die IBANs erfüllen MOD 97 auf erfundenen Kontonummern.
Wie gemessen wird
Ein Treffer zählt, wenn er die annotierte Fundstelle berührt und denselben Typ hat. Berichtet werden Recall (wie viel von dem, was da ist, gefunden wird) und Precision (wie viel von dem Gefundenen tatsächlich eine Fundstelle ist). Für die Pseudonymisierung ist zusätzlich die typunabhängige Abdeckung interessant: der Anteil der Fundstellen, den mindestens eine Erkennung überdeckt, unabhängig davon, ob sie den Typ richtig benennt. Was hier fehlt, ginge im Klartext an den Anbieter.
Ergebnis auf getipptem Text
| Gruppe | Recall | Precision |
|---|---|---|
| Deterministische Typen | 1,000 | 0,986 |
| Namen und Organisationen | 0,944 | 0,656 |
| Typunabhängige Abdeckung | 0,973 | – |
Zu den deterministischen Typen zählen IBAN, Steuer-Identifikationsnummer, Sozialversicherungsnummer, Kfz-Kennzeichen, Postleitzahl, Telefonnummer, E-Mail-Adresse sowie konfigurierbare Kunden-, Vertrags- und Rechnungsnummern. 466 von 479 Fundstellen sind abgedeckt.
Je Entitätstyp:
| Typ | Gold | Recall | Precision |
|---|---|---|---|
| IBAN_CODE | 25 | 1,000 | 1,000 |
| DE_STEUER_ID | 9 | 1,000 | 1,000 |
| DE_SOZIALVERSICHERUNG | 5 | 1,000 | 1,000 |
| DE_KFZ_KENNZEICHEN | 19 | 1,000 | 1,000 |
| DE_PLZ | 35 | 1,000 | 1,000 |
| EMAIL_ADDRESS | 43 | 1,000 | 1,000 |
| PHONE_NUMBER | 46 | 1,000 | 0,958 |
| KUNDENNUMMER | 28 | 1,000 | 0,966 |
| VERTRAGSNUMMER | 28 | 1,000 | 0,966 |
| RECHNUNGSNUMMER | 22 | 1,000 | 1,000 |
| GEBURTSDATUM | 3 | 1,000 | 1,000 |
| STRASSE | 37 | 1,000 | 1,000 |
| PERSON | 74 | 0,919 | 0,872 |
| ORGANIZATION | 33 | 1,000 | 0,434 |
| LOCATION | 53 | 0,811 | 0,524 |
Mit exaktem statt überlappendem Spannenvergleich bleibt die deterministische
Gruppe bei Recall 1,000 und Precision 0,985; bei Namen und Organisationen fällt
der Recall auf 0,863, weil die Spanne gelegentlich einen Titel mehr oder weniger
umfasst (Dr. Miriam Falkenhain gegen Miriam Falkenhain). Für die
Maskierung ist das folgenlos.
Die zwei Lücken
Neun der dreizehn nicht abgedeckten Fundstellen sind Ortsnamen, die zugleich
gewöhnliche Wörter oder Vornamen sind: Essen, Hagen, Kiel, Iserlohn.
Gemildert wird das dadurch, dass Postleitzahl und Straße mit Recall 1,000
erkannt werden – von Wetterstraße 14, 58095 Hagen bleibt nach der Maskierung
nur der Ortsname stehen. Geschlossen ist die Lücke damit nicht.
Die übrigen sind einzeln stehende Vor- oder Nachnamen. Übersehen wurden
Claudia und Ingrid (Anrede ohne Nachnamen), Deggendorf und Rehberg
(Nachnamen, die zugleich Ortsnamen sind), sowie achterberg und hr. mertens
aus schnell getippten Notizen. Die Fehler häufen sich in internen Notizen, und
dort ist die Kleinschreibung das Problem, mit dem ein auf Zeitungstext
trainiertes Modell wenig anfangen kann.
Gescannte Unterlagen
Dieselben Beispiele, versehen mit den Fehlern, die Texterkennung auf deutschen
Geschäftsunterlagen macht: 0 als O, 1 als l, 5 als S, Trennstriche
am Zeilenende, zusätzliche Leerzeichen mitten in Nummern, Doppelpunkte als Punkt
gelesen.
| Gruppe | getippt | mit Lesefehlern |
|---|---|---|
| Recall deterministische Typen | 1,000 | 0,695 |
| Recall Namen und Organisationen | 0,944 | 0,960 |
| Typunabhängige Abdeckung | 0,973 | 0,868 |
Das Ergebnis ist zweigeteilt, und der Grund liegt in der Prüfziffer. Sie macht
die deterministische Erkennung im sauberen Text präzise, und sie ist es, die ein
falsch gelesenes Zeichen zerstört: Die Sozialversicherungsnummer fällt auf
0,000, die Steuer-Identifikationsnummer auf 0,333, die IBAN auf 0,700. Die
statistische Namenserkennung verkraftet ein vertauschtes Zeichen dagegen; ein
Mirlam Falkenhain bleibt für sie eine Person.
Die Precision bei Telefonnummern fällt auf 0,217, weil zerbrochene Nummern in Teilstücken gemeldet werden. Das ist in der Prüfansicht Lärm, aber kein Sicherheitsproblem.
Zwei Dinge folgen daraus. Die Qualität der Texterkennung ist eine Sicherheitseigenschaft und keine Komfortfrage: Ein schlecht erkannter Scan bedeutet nicht schlechteren Text, sondern eine unerkannte Sozialversicherungsnummer im Prompt. Und die Prüfung durch einen Menschen ist bei gescannten Unterlagen keine Vorsicht, sondern notwendig.
Wörterbuch je Fall
Eine gepflegte Liste der Mitarbeiter-, Kunden- und Standortnamen eines Mandanten schließt die verbliebenen Lücken:
| Gruppe | ohne Wörterbuch | mit Wörterbuch |
|---|---|---|
| Recall PERSON | 0,919 | 1,000 |
| Recall LOCATION | 0,811 | 1,000 |
| Typunabhängige Abdeckung | 0,973 | 1,000 |
| Precision Namen und Organisationen | 0,656 | 0,514 |
Diese Zahlen sind keine Aussage über die allgemeine Erkennungsleistung. Die Begriffe im Wörterbuch stammen aus dem Referenzdatensatz selbst, gemessen wird also gegen das eigene Lösungsblatt. Der Lauf zeigt, dass die Mechanik funktioniert und was eine gepflegte Fallliste im günstigsten Fall leisten kann. Die Werte oben auf dieser Seite sind die ohne Wörterbuch.
Vergleich mit den Standardrecognizern
Presidio bringt inzwischen eigene deutsche Recognizer mit. Gemessen in derselben Engine, mit demselben Schwellwert und Kontext-Enhancer wie im Regelbetrieb:
| Typ | Standardklasse | eigene Klasse |
|---|---|---|
| DE_STEUER_ID | 1,000 | 1,000 |
| DE_SOZIALVERSICHERUNG | 1,000 | 1,000 |
| DE_KFZ_KENNZEICHEN | 0,526 | 1,000 |
| DE_PLZ | 0,559 | 1,000 |
Bei Steuer-Identifikationsnummer und Sozialversicherungsnummer ist der Standard gleich gut; beide arbeiten mit demselben Prüfverfahren, und mehr als „Prüfziffer stimmt oder stimmt nicht“ ist dort nicht zu holen. Diese zwei ließen sich ohne Qualitätsverlust tauschen.
Bei Kennzeichen und Postleitzahl liegt der Unterschied nicht am Muster, sondern
am Grundscore. Der Standard-Recognizer für Postleitzahlen vergibt 0,05 für eine
fünfstellige Zahl und verlässt sich auf den Kontext-Enhancer. Steht kein Wort
wie „Anschrift“ in Reichweite, und in einem Briefkopf steht dort meistens
nichts, bleibt der Treffer unter dem Schwellwert und fällt heraus. Ohne
Schwellwert betrachtet liegt sein Recall bei 1,000, im Regelbetrieb bei 0,559.
Der Standard-Recognizer für Kennzeichen verliert die Schreibweise mit
Leerzeichen (HA NL 812) und die mit dreistelligem Unterscheidungszeichen.
Warum die Precision bei Organisationen niedrig bleibt
0,434 ist eine Einstellung, kein Mangel. Für die Pseudonymisierung ist ein zu viel maskiertes Wort billiger als ein übersehener Firmenname: Der Fehltreffer ist in der Prüfansicht mit einem Klick erledigt, die übersehene Nummer wäre bereits beim Anbieter. Wer eine solche Erkennung nach Precision auswählt, optimiert für den falschen Fehler.
Die Precision-Schranken im Testlauf sind aus demselben Grund Regressionsgrenzen und keine Qualitätsziele. Sie liegen unter den gemessenen Werten und sollen melden, wenn sich etwas verschlechtert.
Grenzen dieser Messung
54 Beispiele sind wenig. Bei fünf Sozialversicherungsnummern bedeutet ein einziger Fehler 20 Prozentpunkte Recall; die Werte für seltene Typen sind eher ein Funktionsnachweis als eine belastbare Quote.
Datensatz und Recognizer stammen von derselben Person. Was beim Schreiben der Muster nicht eingefallen ist, fehlt mit einiger Wahrscheinlichkeit auch in den Testtexten. Der ehrlichste nächste Schritt wären echte, anschließend anonymisierte Dokumente aus der Beratungspraxis als zweiter, unabhängiger Datensatz.
Die Kategorie mit Lesefehlern ist nachgebaut, nicht gescannt. Die Fehler sind den typischen Tesseract-Fehlern nachempfunden, aber kein Blatt Papier ist durch einen Scanner gelaufen.
Reproduktion
Die berichteten Zahlen stammen aus einem Lauf mit presidio-analyzer 2.2.364
und de_core_news_lg 3.8.0.
python eval/messung.py --lokal
Weitere Läufe: --nur-ocr für die Kategorie mit Lesefehlern, --woerterbuch
für den Lauf mit Fallliste, --streng für den exakten Spannenvergleich.
Stand und Verwendung
Stand der Messung: 31. Juli 2026. Wer die Zahlen zitiert, sollte den Stand und die Versionen mitnennen, weil ein Versionssprung bei Presidio oder dem Sprachmodell sie verschieben kann. Rückfragen zur Methode gerne über Kontakt.