Messung

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

GruppeRecallPrecision
Deterministische Typen1,0000,986
Namen und Organisationen0,9440,656
Typunabhängige Abdeckung0,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:

TypGoldRecallPrecision
IBAN_CODE251,0001,000
DE_STEUER_ID91,0001,000
DE_SOZIALVERSICHERUNG51,0001,000
DE_KFZ_KENNZEICHEN191,0001,000
DE_PLZ351,0001,000
EMAIL_ADDRESS431,0001,000
PHONE_NUMBER461,0000,958
KUNDENNUMMER281,0000,966
VERTRAGSNUMMER281,0000,966
RECHNUNGSNUMMER221,0001,000
GEBURTSDATUM31,0001,000
STRASSE371,0001,000
PERSON740,9190,872
ORGANIZATION331,0000,434
LOCATION530,8110,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.

Gruppegetipptmit Lesefehlern
Recall deterministische Typen1,0000,695
Recall Namen und Organisationen0,9440,960
Typunabhängige Abdeckung0,9730,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:

Gruppeohne Wörterbuchmit Wörterbuch
Recall PERSON0,9191,000
Recall LOCATION0,8111,000
Typunabhängige Abdeckung0,9731,000
Precision Namen und Organisationen0,6560,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:

TypStandardklasseeigene Klasse
DE_STEUER_ID1,0001,000
DE_SOZIALVERSICHERUNG1,0001,000
DE_KFZ_KENNZEICHEN0,5261,000
DE_PLZ0,5591,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.