Anonymisierung Daten mit Python

Anonymisierung persönlicher Daten mit Python: Verfahren im Vergleich

Warum Daten anonymisieren?

In unserer digitalen Welt ist der Schutz und die Anonymisierung personenbezogener Daten unerlässlich. Ob Microsoft, Meta, OpenAI, Google oder auch nur der lokale Energieanbieter um die Ecke, wie nie zu vor sammeln und verarbeiten Unternehmen Daten, um ihre Dienstleistungen zu verbessern, was erhebliche Risiken für die Privatsphäre der Betroffenen mit sich bringt. Die Datenschutz-Grundverordnung (DSGVO) der Europäischen Union soll dafür sorgen, dass personenbezogene Daten sicher und verantwortungsvoll behandelt werden. Das ist in Anbetracht des Datenhungers, den große Sprachmodelle beim Trainieren an den Tag legen, unabdingbar.

Früher kursierten Witze darüber, dass jemand versehentlich das ganze Internet ausgedruckt habe. Die Pointe fußte darauf, dass das auf Grund der schieren Masse an Daten unmöglich erscheint, frei nach dem Motto: Wer kann schon einen Ozean austrinken? Heute ist die Bewältigung solcher Volumina keine Fiktion mehr, sondern erlebte Realität, wie die Betreiber von ChatGPT und Co eindrucksvoll beweisen, wurden sie doch gewissermaßen auf dem ganzen Internet trainiert.

Aber auch wenn es nicht um das Anlernen von Modellen, sondern nur um deren Anwendung geht, sei es über Chat-GUIs wie ChatGPT oder als Teil einer Programmlogik, ist Datenschutz oberstes Gebot. Hier kommen APIs (Application Programming Interfaces) zum Einsatz, die den Datenaustausch zwischen Anwendungen und den KI-Systeme ermöglichen. Dabei gibt man die Daten aus der eigenen Hand und hat nur sehr begrenzt Einfluss, wie die Sprachmodell-Betreiber mit diesen verfahren. Der DSGVO-konforme Umgang mit diesen Datenübertragungen ist darum entscheidend, um die Privatsphäre der Nutzer zu schützen und Vertrauen in technologische Innovationen zu gewährleisten. Hier kann die Anonymisierung von personenbezogenen Daten einen entscheidenden Beitrag leisten.

Was ist zu anonymisieren?

Die DSGVO legt fest, dass persönliche Daten nur mit rechtlicher Grundlage, wie Einwilligung oder berechtigtem Interesse, weitergegeben werden dürfen, und dies transparent und sicher erfolgen muss. Wenn dies nicht der Fall ist, müssen relevante Daten so verändert werden, dass sie nicht mehr auf eine Person zurückgeführt werden können.

Betroffen sind im Geist der DSGVO Daten wie Adressen, Telefonnummern oder E-Mail-Adressen. Andere Daten, die zwar für die Zuordnung zu einer Person nicht relevant sind, aber dafür die Privatsphäre eines Menschen ausmachen, wie Gesundheitsdaten oder körperliche Merkmale (also Gewicht, Größe, Alter, …) sollten ebenfalls geschützt werden.

In diesem Artikel wird deshalb exemplarisch überprüft, wie gut sich verschiedene Ansätze auf einer Mischung aus Daten von beiden Arten schlagen:

  • Namen
  • Adressen
  • Telefonnummern
  • Kontonummern
  • E-Mail-Adressen
  • Alter
  • Geburtstag

Was ist nicht zu anonymisieren?

Andererseits ist nicht jede Zahl, die in einem Text auftaucht, als Telefonnummer zu verstehen. Geldbeträge (14.680 Euro) oder andere numerischen Angaben (33872 Einheiten) mögen oberflächlich betrachtet ähnlich wie Telefonnummern aussehen, was sie selbstredend aber nicht sind. Auch können Personennamen Dinge bezeichnen, die ebenfalls keiner Anonymisierung bedürfen: Max-Planck-Institut oder Rezepte nach Jamie Oliver zum Beispiel. Nicht jede E-Mail-Adresse oder Telefonnummer ist überdies ein Hinweis auf eine zu schützende Person. Bei E-Mail-Adressen wie info@greenpeace.com oder dem Notruf 112 geht es ja gerade darum, dass sie öffentlich zugänglich sind. Idealerweise sollten Verfahren solche Daten in Ruhe lassen.

Wie sieht ein geeigneter Testgegenstand aus?

Ein Text sollte darum neben wirklich zu schwärzenden persönliche Angaben auch Einträge erhalten, die wie zu anonymisierende Inhalte wirken, es aber nicht sind. Solche Honeypots oder Honigfallen sind geeignet, bei den Verfahren falsch-positive Treffer zu provozieren. Der folgende synthetisch erzeugte Beispieltext wurde sowohl mit echten Hits (grün), aber auch Honeypots (rot) gespickt. Und wie das bei einem unscharfen Medium wie Sprache nicht anders sein kann, gibt es auch Zwischenfälle (lila), die ein wenig das eine und das andere sind:

Details einblenden

Maria Müller, geboren am 15. März 1985 in Wittbrietzen, lebt heute in der Blumenstraße 10, 80331 München. Mit ihren 39 Jahren arbeitet sie als Lehrerin an einer Grundschule. Für Eltern und Kollegen ist sie unter der Telefonnummer 089 1234567 oder per E-Mail an maria.mueller@example.com erreichbar. In ihrer Freizeit besucht sie oft die Sankt Michael Kirche, die für ihre beeindruckenden Fresken bekannt ist.

Johannes Schmidt, geboren am 22. Juni 1978 in Hamburg, wohnt in der Bachstraße 15, 20095 Hamburg. Er ist 45 Jahre alt und arbeitet als Softwareentwickler. Seine Kontakte erreichen ihn unter der Nummer 040 9876543 oder via johannes.schmidt@example.com. Jeden Mittwoch trifft er sich mit Freunden im Gemeindezentrum in der Poststraße 4 in Frankfurt, um neue Projekte zu diskutieren.

Anna Weber wohnt in der Lindenallee 22, 10115 Berlin. Trotz ihres Alters von 74 Jahre sieht sie noch wie eine 50-Jährige aus. Telefonisch ist sie unter 030 5556667 erreichbar oder per E-Mail an anna.weber@example.com.

Die neuen Filiale der Bäckerei in der Hauptstraße 12, 50667 Köln lädt zum Info-Abend an. Interessierte melden sich unter +49 227 34560 oder über anmeldung@baeckerei.com

Maximilian Fischer, am 30. August 2000 in Stuttgart geboren, ist 23 Jahre alt und lebt in der Rosenstraße 18, 70173 Stuttgart. Er studiert Informatik und arbeitet nebenbei als Tutor. Seine Kommilitonen und Freunde erreichen ihn unter 0711 1122334 oder per E-Mail an max.fischer@example.com. Neben dem Studium engagiert er sich in der Methode nach Rudolf Steiner, um innovative Bildungskonzepte zu entwickeln.

Sabine Klein, geboren am 10. Oktober 1995 in Luckenwalde, wohnt jetzt in der Gartenstraße 7, 40210 Düsseldorf. Sie ist 28 Jahre alt und arbeitet als Marketing-Managerin. Ihre beruflichen Kontakte können sie unter der Nummer 0211 3344556 oder via sabine.klein@example.com erreichen. In ihrer Freizeit liest sie gern, besonders die Werke von Rudolf Steiner und Günter Grass.

Wenn man 5 Jahre alt ist, sieht man die Welt mit anderen Augen, sagt Sabine oft, wenn sie über Kreativität und Inspiration spricht. Sie findet, dass man die kindliche Neugierde nie verlieren sollte.

Der Kundenservice der Firma Georg Meier GmbH ist nicht mehr  unter der Nummer 030 12345 2345 zu erreichen. Beschwerden bitte an info@firma.de schicken, steht auf dem Schild neben ihrem Büro.

Maria (23), Johannes (15), Anna (18), Maximilian (12) und Sabine (33) sind alle Teil eines Projekts, das darauf abzielt, kreative Bildungsansätze in Deutschland zu fördern. Dabei spielen nicht nur ihre beruflichen Fähigkeiten eine Rolle, sondern auch ihre persönlichen Leidenschaften und Interessen. Der Gewinn dieses Projekts, so hofft das Team, wird bei etwa 6230101 Euro pro Jahr liegen, was ihnen ermöglichen würde, noch mehr innovative Ideen zu realisieren und das Bildungssystem nachhaltig zu verbessern.

Ich habe den Georg Büchner Preis gewonnen.

Meine Nummer 0331 64746460,
Call me at +1 800-555-5555,
Ruf mich unter +49 (0)179 2271685 an,
Für Hilfe 0049 0761 586333 wählen,
Selbe Nummer im kompakten Format: 0761586333,
My number is (123) 456 7890,
Fälliger Betrag: 200.000 €,
Ausgaben für Leads: 40000,23,
Hier sind 30000 Euro,
Das sind 10 Millionen: 10000000,
Beispiel-Zahl mit Tausendertrennung: 100.643.724,26,
Meine E-Mail ist max.museermann1@gmail.com Tel: 0179-22756923,
E-Mail mit Umlaut meier@münchen.co.uk,
E-Mail mit Leerzeichen aaaa @beier-mail.biz,
@Tim Friedmann kommst du ins Meeting?,
Hier sind einige IBANs mit Leerzeichen: DE89 3704 0044 0532 0130 00 und FR76 3000 6000 0112 3456 7890 189,
Hier sind einige IBANs ohne Leerzeichen: DE89370400440532013000 und FR7630006000011234567890189,
noch eine DE43100500000920018963,
Meine Kontonummer 0532013000,
Kontonummer ohne Auffüllnull, neunstellig 532013000 
Alle Eingaben wie @-Zeichen, E-Mail friedmann@mai-group.com oder (tester@starpool.subdomain.com), Beträge 40699,23 oder 11700 und Telefonnummern (00)49 (0)20 23410245 oder 0331 345 732-56 und IBANs AT021420020010147558 oder auch die hier CH02 0076 7000 C510 01987 in einem Beispiel.

Welche Möglichkeiten zur Datenanonymisierung gibt es?

Der Bereich der Datenanonymisierung ist ein riesiger Markt. Unzählige Anbieter haben dafür die unterschiedlichsten Produkte entwickelt. In diesem Artikel werden aber nur frei verfügbare, rein technische Lösungen besprochen, für die die folgenden Bedingungen gelten:

  1. Sie sind als OpenSource frei verfügbar.
  2. Sie sind in Python (und weiteren Programmiersprachen) implementierbar.
  3. Sie können lokal auf einem Computer oder Server ausgeführt werden.

Für jedes Verfahren wird anhand von Beispiel-Implementationen in Python gezeigt, wie sie sich mit dem Beispieltext schlagen. Die Verfahren gehen von einfachen Mustererkennungsansätzen, über klassische Modelle des NLPs (Natural Language Processing), bis hin zu moderneren Ansätzen, die die Transformer-Architektur großer Sprachmodelle verwenden.

Folgende Ansätze werden in aufsteigender Komplexität vorgestellt:

  1. Reguläre Ausdrücke (als konventioneller Ansatz)
  2. spaCy (als Implementation des klassischen NLP Verfahren)
  3. Presidio (als eine umfassende Bibliothek, die mehrere klassische NLP Ansätze zusammenfasst)
  4. Stanza (als Bibliothek, die eigenes zu diesem Zweck trainierte Transformer-Modelle einbindet)
  5. Llama 3 und Mixtral (als derzeit wohl performanteste Open Source Transformer-Modelle)
  6. Ebenfalls aufsteigend ist der Verbrauch an Speicher und Rechenkapazität der einzelnen Ansätze.

Die Implementierung der Ansätze ist in einem Colab-Notebook mit dem vollständigen Code zu finden. Lediglich der API-Key für NLP-Cloud muss ergänzt werden. Ein Testaccount für NLP-Cloud mit einigen Freitoken lässt sich hier beziehen.

Regex: Der Klassiker für die Ersetzung von Zeichenketten

Schon in den 50er Jahren des letzten Jahrhunderts wurde dieser Ansatz entwickelt und ist seit den 60ern im Einsatz. Aus seiner Entstehung heraus ist er deshalb auf höchste Effizienz ausgelegt. Über reguläre Ausdrücke (kurz regex für regular expressions) lassen sich sehr simple Regeln postulieren, über die Muster in Zeichenketten gefunden werden.

Beschreibung des Verfahrens

Natürlich eignet sich dieser Ansatz nur dort, wo es wiederkehrende Auffälligkeiten in Zeichenketten gibt. Dies sind vor allem E-Mail-Adressen, IBAN-Nummern und mit Einschränkungen auch Telefonnummern.

Folgende Regeln kommen zum Einsatz:

  1. IBAN-Anonymisierung:
    • Regulärer Ausdruck: \b[A-Z]{2}\d{2}(?: ?[A-Z\d]){1,30}\b
      • \b: Wortgrenze, um sicherzustellen, dass das Muster am Anfang und Ende eines Wortes ist.
      • [A-Z]{2}: Genau zwei Großbuchstaben.
      • \d{2}: Genau zwei Ziffern.
      • (?: ?[A-Z\d]){1,30}: Eine optionale Leerstelle gefolgt von einem Großbuchstaben oder einer Ziffer, wiederholt 1 bis 30 Mal.
  2. Telefonnummern-Anonymisierung:
    • Regulärer Ausdruck: (?!\d+,\d+)[\+\(]?\d{1,4}[\d \-\(\)]{9,}
      • (?!\d+,\d+): Negative Lookahead, um sicherzustellen, dass das Muster keine Dezimalzahlen (mit Komma) erfasst.
      • [+(]?: Ein optionales Pluszeichen oder eine öffnende Klammer.
      • \d{1,4}: 1 bis 4 Ziffern.
      • [\d -()]{9,}: Mindestens 9 Zeichen, die Ziffern, Leerzeichen, Bindestriche oder Klammern sein können.
  3. E-Mail-Anonymisierung:
    • Regulärer Ausdruck: \S+@\S+
      • \S+: Ein oder mehrere nicht-leere Zeichen vor dem @-Symbol.
      • @: Ein @-Symbol.
      • \S+: Ein oder mehrere nicht-leere Zeichen nach dem @-Symbol.

Ergebnisse

Dieses Verfahren ist mit Abstand das schnellste, filtert aber auf Grund seiner Beschaffenheit nur nach eindeutigen syntaktischen Regeln gebaute Angaben heraus. Es unterscheidet dabei natürlich auch nicht zwischen öffentlichen und privaten Angaben, sondern filtert jede Telefonnummer, jede E-Mal-Adresse und jede Kontonumme heraus. Immerhin bleiben andere Zahlenangaben erhalten, solange sie nicht länger als 9 neunstellig sind. Für Verschreiber in E-Mail-Adressen (aaa @beier-mail.biz) ist dieser Ansatz allerdings anfällig.

Ausgabe Reguläre Ausdrücke

Maria Müller, geboren am 15. März 1985 in Wittbrietzen, lebt heute in der Blumenstraße 10, 80331 München. Mit ihren 39 Jahren arbeitet sie als Lehrerin an einer Grundschule. Für Eltern und Kollegen ist sie unter der Telefonnummer [NUMMER UNTERDRÜCKT] oder per E-Mail an [EMAIL UNTERDRÜCKT]  erreichbar. In ihrer Freizeit besucht sie oft die Sankt Michael Kirche, die für ihre beeindruckenden Fresken bekannt ist.

Johannes Schmidt, geboren am 22. Juni 1978 in Hamburg, wohnt in der Bachstraße 15, 20095 Hamburg. Er ist 45 Jahre alt und arbeitet als Softwareentwickler. Seine Kontakte erreichen ihn unter der Nummer [NUMMER UNTERDRÜCKT] oder via [EMAIL UNTERDRÜCKT]  Jeden Mittwoch trifft er sich mit Freunden im Gemeindezentrum in der Poststraße 4 in Frankfurt, um neue Projekte zu diskutieren.

Anna Weber wohnt in der Lindenallee 22, 10115 Berlin. Trotz ihres Alters vo 74 Jahre sieht sie noch wie eine 50-Jährige aus. Telefonisch ist sie unter [NUMMER UNTERDRÜCKT] erreichbar oder per E-Mail an [EMAIL UNTERDRÜCKT] 

Die neuen Filiale der Bäckerei in der Hauptstraße 12, 50667 Köln lädt zum Info-Abend an. Interessierte melden sich unter [NUMMER UNTERDRÜCKT] oder über [EMAIL UNTERDRÜCKT] 

Maximilian Fischer, am 30. August 2000 in Stuttgart geboren, ist 23 Jahre alt und lebt in der Rosenstraße 18, 70173 Stuttgart. Er studiert Informatik und arbeitet nebenbei als Tutor. Seine Kommilitonen und Freunde erreichen ihn unter [NUMMER UNTERDRÜCKT] oder per E-Mail an [EMAIL UNTERDRÜCKT]  Neben dem Studium engagiert er sich in der Methode nach Rudolf Steiner, um innovative Bildungskonzepte zu entwickeln.

Sabine Klein, geboren am 10. Oktober 1995 in Luckenwalde, wohnt jetzt in der Gartenstraße 7, 40210 Düsseldorf. Sie ist 28 Jahre alt und arbeitet als Marketing-Managerin. Ihre beruflichen Kontakte können sie unter der Nummer [NUMMER UNTERDRÜCKT] oder via [EMAIL UNTERDRÜCKT]  erreichen. In ihrer Freizeit liest sie gern, besonders die Werke von Rudolf Steiner und Günter Grass.

Wenn man 5 Jahre alt ist, sieht man die Welt mit anderen Augen, sagt Sabine oft, wenn sie über Kreativität und Inspiration spricht. Sie findet, dass man die kindliche Neugierde nie verlieren sollte.

Der Kundenservice der Firma Georg Meier GmbH ist nicht mehr  unter der Nummer [NUMMER UNTERDRÜCKT] zu erreichen. Beschwerden bitte an [EMAIL UNTERDRÜCKT]  schicken, steht auf dem Schild neben ihrem Büro.

Maria (23), Johannes (15), Anna(18), Maximilian (12) und Sabine (33) sind alle Teil eines Projekts, das darauf abzielt, kreative Bildungsansätze in Deutschland zu fördern. Dabei spielen nicht nur ihre beruflichen Fähigkeiten eine Rolle, sondern auch ihre persönlichen Leidenschaften und Interessen. Der Gewinn dieses Projekts, so hofft das Team, wird bei etwa 6230101 Euro pro Jahr liegen, was ihnen ermöglichen würde, noch mehr innovative Ideen zu realisieren und das Bildungssystem nachhaltig zu verbessern.

Ich habe den Georg Büchner Preis gewonnen.

Meine Nummer [NUMMER UNTERDRÜCKT] ,
Call me at [NUMMER UNTERDRÜCKT] ,
Ruf mich unter [NUMMER UNTERDRÜCKT] an,
Für Hilfe [NUMMER UNTERDRÜCKT] wählen,
Selbe Nummer im kompakten Format: [NUMMER UNTERDRÜCKT] ,
My number is [NUMMER UNTERDRÜCKT] ,
Fälliger Betrag: 200.000 €,
Ausgaben für Leads: 40000,23,
Hier sind 30000 Euro,
Das sind 10 Millionen: 10000000,
Beispiel-Zahl mit Tausendertrennung: 100.643.724,26,
Meine E-Mail ist [EMAIL UNTERDRÜCKT]  Tel: [NUMMER UNTERDRÜCKT] ,
E-Mail mit Umlaut [EMAIL UNTERDRÜCKT] 
E-Mail mit Leerzeichen aaaa @beier-mail.biz,
@Tim Friedmann kommst du ins Meeting?,
Hier sind einige IBANs mit Leerzeichen: [IBAN UNTERDRÜCKT] und [IBAN UNTERDRÜCKT].,
Hier sind einige IBANs ohne Leerzeichen: [IBAN UNTERDRÜCKT] und [IBAN UNTERDRÜCKT].,
noch eine [IBAN UNTERDRÜCKT],
Meine Kontonummer [NUMMER UNTERDRÜCKT] ,
Kontonummer onhe Auffüllnull, neunstellig 532013000,
Alle Eingaben wie @-Zeichen, E-Mail [EMAIL UNTERDRÜCKT]  oder [EMAIL UNTERDRÜCKT]  Beträge 40699,23 oder 11700 und Telefonnummern [NUMMER UNTERDRÜCKT] oder [NUMMER UNTERDRÜCKT] und IBANs [IBAN UNTERDRÜCKT] oder auch die hier [IBAN UNTERDRÜCKT] in einem Beispiel.

spaCy: Named Entity Recognition (NER) in Reinform

spaCy ist ein von Explosion AI entwickeltes Open Source Framework, das als robuste und industrietaugliche Lösung ausgelegt ist, um Lösungen im Bereich NLP bereitzustellen. Gerade im Bereich der Named Entity Recognition (NER) hat Explosion AI damit Maßstäbe gesetzt, wo es darum geht, bestimmte Entitäten wie Namen von Personen, Organisationen, Orten und andere vordefinierte Kategorien in einem Text automatisch zu identifizieren und zu klassifizieren.

Beschreibung des Verfahrens

Für den Test wurde das größte deutschsprachige Modell (“de_core_news_lg”) verwendet. Dieses setzt NLP-Techniken wie regelbasierte und statistische Modelle für Tokenisierung, Part-of-Speech-Tagging, Abhängigkeitsparsing usw. ein, die noch aus der Zeit vor dem Siegeszug der Transformer-Modelle wie chatGPT stammen. Zwar hat spaCy auch ein Transformer-Modell an Bord, dieses ist aber nicht für NER vorgesehen. Um die Verarbeitung zu beschleunigen, wurde eine GPU eingesetzt, also die Verarbeitungseinheit einer Grafikkarte, um Berechnungen zu beschleunigen. Der Attribute-Ruler des deutsch-sprachigen spaCy Modell ist für die Unterdrückung der folgenden Daten ausgelegt: Orte (‘LOC’), ‘Verschiedenes (‘MISC’), Organistionen (‘ORG’) und Personen (‘PER’). Leider war nicht ersichtlich, was genau in welche dieser Kategorien fällt. Erste Tests zeigten aber, dass man Organisationen außenvorlassen kann, da diese nicht unter den Schutz persönlicher Daten fallen.

Ergebnisse

spaCy war leider bei der Verwendung “out-of-the-box” nicht in der Lage, Telefonnummern zu maskieren, darum muss es zwingend mit einem weiteren Verfahren wie der Anwendung regulärer Ausdrücke (s.o.) kombiniert werden. Gleiches gilt für Kontonummern, Alter und Geburtsangaben, wobei es hier keinen einfachen Weg gibt, diesen Mangel zu kompensieren. Auch Hausnummern oder Postleitzahlen werden in der Regel nicht erkannt. Bei Postleitzahlen kann es aber für dünn besiedelte Gegenden durchaus möglich sein, die Person zu ermitteln, vor allem dann, wenn weitere Daten wie Beruf oder ähnliches bekannt sind. Bei den sehr kurzen aus dem Zusammenhang gerissenen Beispielen fiel auf, dass dort die unterdrückung von E-Mail-Adressen nicht immer klappte. Auch wird so ziemlich alles, was wie ein Name aussieht, recht schonungslos entfernt, auch wenn es dabei nicht um eine Person geht.

Positiv viel auf, dass spaCy in den beiden Beispieltexten zu Organisationen die Daten nicht, oder so gut wie gar nicht unterdrückte.

Ausgabe spaCy[NAME UNTERDRÜCKT], geboren am 15. März 1985 in [ADRESSE UNTERDRÜCKT], lebt heute in der [ADRESSE UNTERDRÜCKT] 10, 80331 [ADRESSE UNTERDRÜCKT]. Mit ihren 39 Jahren arbeitet sie als Lehrerin an einer Grundschule. Für Eltern und Kollegen ist sie unter der Telefonnummer 089 1234567 oder per E-Mail an [SONSTIGES UNTERDRÜCKT] erreichbar. In ihrer Freizeit besucht sie oft die Sankt Michael Kirche, die für ihre beeindruckenden Fresken bekannt ist.

[NAME UNTERDRÜCKT], geboren am 22. Juni 1978 in [ADRESSE UNTERDRÜCKT], wohnt in der [ADRESSE UNTERDRÜCKT] 15, 20095 [ADRESSE UNTERDRÜCKT]. Er ist 45 Jahre alt und arbeitet als Softwareentwickler. Seine Kontakte erreichen ihn unter der Nummer 040 9876543 oder via [SONSTIGES UNTERDRÜCKT]. Jeden Mittwoch trifft er sich mit Freunden im Gemeindezentrum in der Poststraße 4 in [ADRESSE UNTERDRÜCKT], um neue Projekte zu diskutieren.

[NAME UNTERDRÜCKT] wohnt in der [ADRESSE UNTERDRÜCKT] 22, 10115 [ADRESSE UNTERDRÜCKT]. Trotz ihres Alters vo 74 Jahre sieht sie noch wie eine 50-Jährige aus. Telefonisch ist sie unter 030 5556667 erreichbar oder per E-Mail an anna.weber@example.com.

Die neuen Filiale der Bäckerei in der Hauptstraße 12, 50667 [ADRESSE UNTERDRÜCKT] lädt zum Info-Abend an. Interessierte melden sich unter +49 227 34560 oder über anmeldung@baeckerei.com

[NAME UNTERDRÜCKT], am 30. August 2000 in [ADRESSE UNTERDRÜCKT] geboren, ist 23 Jahre alt und lebt in der [SONSTIGES UNTERDRÜCKT] 18, 70173 [ADRESSE UNTERDRÜCKT]. Er studiert Informatik und arbeitet nebenbei als Tutor. Seine Kommilitonen und Freunde erreichen ihn unter 0711 1122334 oder per E-Mail an max.fischer@example.com. Neben dem Studium engagiert er sich in der Methode nach [NAME UNTERDRÜCKT], um innovative Bildungskonzepte zu entwickeln.

[NAME UNTERDRÜCKT], geboren am 10. Oktober 1995 in [ADRESSE UNTERDRÜCKT], wohnt jetzt in der [ADRESSE UNTERDRÜCKT] 7, 40210 [ADRESSE UNTERDRÜCKT]. Sie ist 28 Jahre alt und arbeitet als Marketing-Managerin. Ihre beruflichen Kontakte können sie unter der Nummer 0211 3344556 oder via [SONSTIGES UNTERDRÜCKT] erreichen. In ihrer Freizeit liest sie gern, besonders die Werke von [NAME UNTERDRÜCKT] und [NAME UNTERDRÜCKT].

Wenn man 5 Jahre alt ist, sieht man die Welt mit anderen Augen, sagt [NAME UNTERDRÜCKT] oft, wenn sie über Kreativität und Inspiration spricht. Sie findet, dass man die kindliche Neugierde nie verlieren sollte.

Der Kundenservice der Firma Georg Meier GmbH ist nicht mehr  unter der Nummer 030 12345 2345 zu erreichen. Beschwerden bitte an info@firma.de schicken, steht auf dem Schild neben ihrem Büro.

Maria (23), [NAME UNTERDRÜCKT] (15), Anna(18), [NAME UNTERDRÜCKT] (12) und [NAME UNTERDRÜCKT] (33) sind alle Teil eines Projekts, das darauf abzielt, kreative Bildungsansätze in [ADRESSE UNTERDRÜCKT] zu fördern. Dabei spielen nicht nur ihre beruflichen Fähigkeiten eine Rolle, sondern auch ihre persönlichen Leidenschaften und Interessen. Der Gewinn dieses Projekts, so hofft das Team, wird bei etwa 6230101 Euro pro Jahr liegen, was ihnen ermöglichen würde, noch mehr innovative Ideen zu realisieren und das Bildungssystem nachhaltig zu verbessern.

Ich habe den [NAME UNTERDRÜCKT] Preis gewonnen.

Meine Nummer 0331 64746460,
[SONSTIGES UNTERDRÜCKT],
Ruf mich unter +49 (0)179 2271685 an,
Für Hilfe 0049 0761 586333 wählen,
Selbe Nummer im kompakten Format: 0761586333,
[SONSTIGES UNTERDRÜCKT] (123) 456 7890,
[ADRESSE UNTERDRÜCKT] Betrag: 200.000 €,
Ausgaben für Leads: 40000,23,
Hier sind 30000 Euro,
Das sind 10 Millionen: 10000000,
Beispiel-Zahl mit Tausendertrennung: 100.643.724,26,
Meine E-Mail ist [ADRESSE UNTERDRÜCKT] Tel: 0179-22756923,
E-Mail mit Umlaut [SONSTIGES UNTERDRÜCKT],
E-Mail mit Leerzeichen aaaa @beier-mail.biz,
@Tim Friedmann kommst du ins Meeting?,
Hier sind einige IBANs mit Leerzeichen: [SONSTIGES UNTERDRÜCKT] 3704 0044 0532 0130 00 und [SONSTIGES UNTERDRÜCKT] 6000 0112 3456 7890 189.,
Hier sind einige IBANs ohne Leerzeichen: [SONSTIGES UNTERDRÜCKT]370400440532013000 und [SONSTIGES UNTERDRÜCKT],
noch eine DE43100500000920018963,
Meine Kontonummer 0532013000,
Kontonummer onhe [ADRESSE UNTERDRÜCKT], neunstellig 532013000,
Alle Eingaben wie @-Zeichen, E-Mail friedmann@mai-group.com oder (tester@starpool.subdomain.com), Beträge 40699,23 oder 11700 und Telefonnummern (00)49 (0)20 23410245 oder 0331 345 732-56 und [SONSTIGES UNTERDRÜCKT] oder auch die hier [ADRESSE UNTERDRÜCKT] 7000 [SONSTIGES UNTERDRÜCKT] in einem Beispiel.

Presidio: Microsofts Classic-NLP Flagschiff

Presidio war vor ihrer Allianz mit OpenAI das Flagschiff von Microsoft in Sachen NLP. Es bindet NLP-Bibliotheken wie regEx, spacy oder die Ermittlung von Checksummen zu einem Framework zusammen.

Beschreibung des Verfahrens

Bei der Anonymisierung setzt Presidio unter der Haube auf spaCy. Darum wurde auch hier das größte deutschsprachige Spacy-Modell (“de_core_news_lg”) verwendet. Die Frage ist, ob Predidio beim Analysieren noch ein paar zusätzliche Tricks in Petto hat, um das Ergebnis zu boosten. Auch hier wurde auf die Nutzung einer GPU gesetzt.

Ergebnisse

Presidio liefert wenig überraschend ähnliche Ergebnsse wie spaCy, da es für Deutsch denselben Recognizer verwendet. Gerade bei Ortsangaben bleiben ebenfalls PLZs erhalten. Durch die Kombination mit der Anwendung von regulären Ausdrücken werden auch Telefonnummern oder IBANs ziemlich sicher maskiert. Einmal entwischt dem Modell eine Straßenangabe. Leider werden auch die Adressdaten von Organistationen maskiert. Auch Namen, die keine persönlichen Daten sind, fallen der Schwärzung zum Opfer. Vorwegnehmend lässt sich aber sagen, dass Presidio das insgesamt beste Ergebnis ablieferte.

Ausgabe Presidio[ANONYM], geboren am 15. März 1985 in [ANONYM], lebt heute in der [ANONYM] 10, 80331 [ANONYM]. Mit ihren 39 Jahren arbeitet sie als Lehrerin an einer Grundschule. Für Eltern und Kollegen ist sie unter der Telefonnummer [ANONYM] oder per E-Mail an [ANONYM] erreichbar. In ihrer Freizeit besucht sie oft die Sankt Michael Kirche, die für ihre beeindruckenden Fresken bekannt ist.

[ANONYM], geboren am 22. Juni 1978 in [ANONYM], wohnt in der [ANONYM] 15, 20095 [ANONYM]. Er ist 45 Jahre alt und arbeitet als Softwareentwickler. Seine Kontakte erreichen ihn unter der Nummer [ANONYM] oder via [ANONYM]. Jeden Mittwoch trifft er sich mit Freunden im Gemeindezentrum in der Poststraße 4 in [ANONYM], um neue Projekte zu diskutieren.

[ANONYM] wohnt in der [ANONYM] 22, 10115 [ANONYM]. Trotz ihres Alters vo 74 Jahre sieht sie noch wie eine 50-Jährige aus. Telefonisch ist sie unter [ANONYM] erreichbar oder per E-Mail an [ANONYM].

Die neuen Filiale der Bäckerei in der Hauptstraße 12, 50667 [ANONYM] lädt zum Info-Abend an. Interessierte melden sich unter [ANONYM] oder über [ANONYM][ANONYM], am 30. August 2000 in [ANONYM] geboren, ist 23 Jahre alt und lebt in der Rosenstraße 18, 70173 [ANONYM]. Er studiert Informatik und arbeitet nebenbei als Tutor. Seine Kommilitonen und Freunde erreichen ihn unter [ANONYM] oder per E-Mail an [ANONYM]. Neben dem Studium engagiert er sich in der Methode nach [ANONYM], um innovative Bildungskonzepte zu entwickeln.

[ANONYM], geboren am 10. Oktober 1995 in [ANONYM], wohnt jetzt in der [ANONYM] 7, 40210 [ANONYM]. Sie ist 28 Jahre alt und arbeitet als Marketing-Managerin. Ihre beruflichen Kontakte können sie unter der Nummer [ANONYM] oder via [ANONYM] erreichen. In ihrer Freizeit liest sie gern, besonders die Werke von [ANONYM] und [ANONYM].

Wenn man 5 Jahre alt ist, sieht man die Welt mit anderen Augen, sagt [ANONYM] oft, wenn sie über Kreativität und Inspiration spricht. Sie findet, dass man die kindliche Neugierde nie verlieren sollte.

Der Kundenservice der Firma Georg Meier GmbH ist nicht mehr  unter der Nummer [ANONYM] zu erreichen. Beschwerden bitte an [ANONYM] schicken, steht auf dem Schild neben ihrem Büro.

Maria (23), [ANONYM] (15), Anna (18), [ANONYM] (12) und [ANONYM] (33) sind alle Teil eines Projekts, das darauf abzielt, kreative Bildungsansätze in [ANONYM] zu fördern. Dabei spielen nicht nur ihre beruflichen Fähigkeiten eine Rolle, sondern auch ihre persönlichen Leidenschaften und Interessen. Der Gewinn dieses Projekts, so hofft das Team, wird bei etwa 6230101 Euro pro Jahr liegen, was ihnen ermöglichen würde, noch mehr innovative Ideen zu realisieren und das Bildungssystem nachhaltig zu verbessern.

Ich habe den [ANONYM] Preis gewonnen.

Meine Nummer [ANONYM],
Call me at [ANONYM],
Ruf mich unter [ANONYM] an,
Für Hilfe [ANONYM] wählen,
Selbe Nummer im kompakten Format: [ANONYM],
My number is [ANONYM],
[ANONYM] Betrag: 200.000 €,
Ausgaben für Leads: 40000,23,
Hier sind 30000 Euro,
Das sind 10 Millionen: 10000000,
Beispiel-Zahl mit Tausendertrennung: 100.643.724,26,
Meine E-Mail ist [ANONYM] Tel: [ANONYM],
E-Mail mit Umlaut [ANONYM],
E-Mail mit Leerzeichen aaaa @[ANONYM],
@Tim Friedmann kommst du ins Meeting?,
Hier sind einige IBANs mit Leerzeichen: [ANONYM] und [ANONYM].,
Hier sind einige IBANs ohne Leerzeichen: [ANONYM] und [ANONYM].,
noch eine [ANONYM],
Meine Kontonummer [ANONYM],
Kontonummer onhe [ANONYM], neunstellig 532013000,
Alle Eingaben wie @-Zeichen, E-Mail [ANONYM] oder ([ANONYM]), Beträge 40699,23 oder 11700 und Telefonnummern [ANONYM] oder [ANONYM] und IBANs [ANONYM] oder auch die hier [ANONYM] in einem Beispiel.

Stanza: der wissenschaftliche Ansatz aus Stanford

Stanza verfolgt einen weniger industriebezogenen, mehr forschung- und wissenschafsgetriebenen Ansatz. Die Stanza-Bibliothek wurde in Stanford entwickelt und sieht sich vorallem als Forschungsplatform im Bereich der datengetriebenen Linguistik.

Beschreibung des Verfahrens

Für Stanza wurde das Modell ‘de’ herutergeladen und in die Standard-Pipeline von Stanza gesteckt. Auch hier wurde auf GPU-Verwendung geachtet, was bei diesem Modell die Verarbeitung dramatisch beschleunigt hat.

Ergebnisse

Auch Stanza ist nicht in der Lage, Telefonnummern, Kontonummer, Geburtstage oder Altersangaben zu erkennen und genauso wie spaCy oder Presidio anonymisiert Stanza Angaben von Firmen, die nicht unter die DSGVO fallen. Auch in die verschiedenen Honeypots bei Namen ist Stanza bereitwillig getappt. Einige Male entging Stanza überdies E-Mail-Adressen.

Ausgabe Stanza[ANONYM], geboren am 15. März 1985 in [ANONYM], lebt heute in der [ANONYM] 10, 80331 [ANONYM]. Mit ihren 39 Jahren arbeitet sie als Lehrerin an einer Grundschule. Für Eltern und Kollegen ist sie unter der Telefonnummer 089 1234567 oder per E-Mail an [ANONYM] erreichbar. In ihrer Freizeit besucht sie oft die [ANONYM], die für ihre beeindruckenden Fresken bekannt ist.

[ANONYM], geboren am 22. Juni 1978 in [ANONYM], wohnt in der [ANONYM], 20095 [ANONYM]. Er ist 45 Jahre alt und arbeitet als Softwareentwickler. Seine Kontakte erreichen ihn unter der Nummer 040 9876543 oder via [ANONYM]. Jeden Mittwoch trifft er sich mit Freunden im Gemeindezentrum in der [ANONYM] in [ANONYM], um neue Projekte zu diskutieren.

[ANONYM] wohnt in der [ANONYM], 10115 [ANONYM]. Trotz ihres Alters vo 74 Jahre sieht sie noch wie eine 50-Jährige aus. Telefonisch ist sie unter 030 5556667 erreichbar oder per E-Mail an [ANONYM].

Die neuen Filiale der Bäckerei in der [ANONYM], 50667 [ANONYM] lädt zum Info-Abend an. Interessierte melden sich unter +49 227 34560 oder über [ANONYM][ANONYM], am 30. August 2000 in [ANONYM] geboren, ist 23 Jahre alt und lebt in der [ANONYM], 70173 [ANONYM]. Er studiert Informatik und arbeitet nebenbei als Tutor. Seine Kommilitonen und Freunde erreichen ihn unter 0711 1122334 oder per E-Mail an [ANONYM]. Neben dem Studium engagiert er sich in der Methode nach [ANONYM], um innovative Bildungskonzepte zu entwickeln.

[ANONYM], geboren am 10. Oktober 1995 in [ANONYM], wohnt jetzt in der [ANONYM], 40210 [ANONYM]. Sie ist 28 Jahre alt und arbeitet als Marketing-Managerin. Ihre beruflichen Kontakte können sie unter der Nummer 0211 3344556 oder via sabine.klein@example.com erreichen. In ihrer Freizeit liest sie gern, besonders die Werke von [ANONYM] und [ANONYM].

Wenn man 5 Jahre alt ist, sieht man die Welt mit anderen Augen, sagt [ANONYM] oft, wenn sie über Kreativität und Inspiration spricht. Sie findet, dass man die kindliche Neugierde nie verlieren sollte.

Der Kundenservice der Firma [ANONYM] ist nicht mehr  unter der Nummer 030 12345 2345 zu erreichen. Beschwerden bitte an [ANONYM] schicken, steht auf dem Schild neben ihrem Büro.

[ANONYM] (23), [ANONYM] (15), [ANONYM]18), [ANONYM] (12) und [ANONYM] (33) sind alle Teil eines Projekts, das darauf abzielt, kreative Bildungsansätze in [ANONYM] zu fördern. Dabei spielen nicht nur ihre beruflichen Fähigkeiten eine Rolle, sondern auch ihre persönlichen Leidenschaften und Interessen. Der Gewinn dieses Projekts, so hofft das Team, wird bei etwa 6230101 [ANONYM] pro Jahr liegen, was ihnen ermöglichen würde, noch mehr innovative Ideen zu realisieren und das Bildungssystem nachhaltig zu verbessern.

Ich habe den [ANONYM] Preis gewonnen.

Meine Nummer 0331 64746460,
Call me at +1 800-555-5555,
Ruf mich unter +49 (0)179 2271685 an,
Für Hilfe 0049 0761 586333 wählen,
Selbe Nummer im kompakten Format: 0761586333,
My number is (123) 456 7890,
Fälliger Betrag: 200.000 [ANONYM],
Ausgaben für Leads: 40000,23,
Hier sind 30000 [ANONYM],
Das sind 10 Millionen: 10000000,
Beispiel-Zahl mit Tausendertrennung: 100.643.724,26,
Meine E-Mail ist [ANONYM] Tel: 0179-22756923,
E-Mail mit Umlaut [ANONYM],
E-Mail mit Leerzeichen aaaa @beier-mail.biz,
@[ANONYM]?,
Hier sind einige IBANs mit Leerzeichen: DE89 3704 0044 0532 0130 00 und FR76 3000 6000 0112 3456 7890 189.,
Hier sind einige IBANs ohne Leerzeichen: DE89370400440532013000 und FR7630006000011234567890189.,
noch eine DE43100500000920018963,
Meine Kontonummer 0532013000,
Kontonummer onhe Auffüllnull, neunstellig 532013000,
Alle Eingaben wie @-Zeichen, E-Mail [ANONYM] oder (tester@starpool.subdomain.com), Beträge 40699,23 oder 11700 und Telefonnummern (00)49 (0)20 23410245 oder 0331 345 732-56 und IBANs AT021420020010147558 oder auch die hier CH02 0076 7000 C510 01987 in einem Beispiel.

Gen AI: die Ergebnisse von Llama 3 und Mistral

Die seit anderthalb Jahren so populären großen Sprachmodelle haben den gesamten NLP-Markt umgekrempelt. Dort wo früher Personenjahre in die Entwicklung von NLP-Verfahren geflossen sind, reichen heute schon ein paar Stunden Prompting, um oft überzeugendere Ergebnisse zu erzielen, als das mit den klassischen Verfahren möglich war. Dank dieser Generalisierbarkeit sind die großen Sprachmodelle mit ihren Transformern eine ernstzunehmende Alternative.

Beschreibung des Verfahrens

Für die Anonymisierung scheiden die leistungsfähigen Modelle von OpenAI, Atrophic oder Mistral aus, da sie nicht lokal betrieben werden können und somit die schützenswerten Daten aus dem eigenen Sandkasten herausgegeben werden müssten. Um das bestmögliche Ergebnis zu erzielen, wurde darum auf die leistungsstärksten frei verfügbaren Modelle zurückgegriffen, die am Markt verfügbar sind: Das Llama 3 Modell mit 70 Billionen Parameter (“llama-3-70b”) von Meta sowie das neuste Mixtral Modell von Mistral (“mixtral-8x7b”). Sie belegen beide seit Monaten Spitzenplätze im Chatbot Arena Leaderboard, wenn es um offene, frei herunterladbare Modell geht. Leider sind auch diese Modelle so speicherhungrig, dass sie nur mit GPU-Unterstützung und meistens nicht mehr direkt in einem Jupyter Notebook betrieben werden können. Wenn man sich nicht selbst eine extrem leistungsstarke Maschine mit einem Haufen von GPUs hinstellen möchte, muss man die Daten notgedrungen herausgeben, womit sich die Katze in den Schwanz beißt.

Für diesen Test haben wir NLP-Cloud als Provider angebunden, die eine trainierte Version von llama-3-70b und für mixtral-8x7b bereitstellen. Die dabei verwendete Hardware von NLP-Cloud ist so leistungsfähig, dass sie in Tests für Llama 3 einen schnelleren Token-Durchsatz als gpt-4o hat, das für seine Geschwindigkeit gerühmt wird. Dennoch waren die Laufzeiten massiv länger als bei den klassichen NLP-Verfahren. Während reguläre Ausdrücke im Millisekunden-Bereich angewendet wurden und spaCy sowie Presidio weniger als eine Sekunde für die Verarbeitung benötigten, brauchte Stanza trotz GPU-Unterstützung ein paar Sekunden. Für Llama und das Mistral-Modell hingegen dauerte die Generierung des Outputs jeweils mehr als 20 Sekunden und das mit einer Hardware, die schon ziemlich am oberen Ende des Möglichen liegt.

Diagramm zeigt Laufzeiten von Anonymisierungsmethoden

Folgende Prompts wurden im Test verwendet, die trotz vieler Iterationen keine rundum befriedigenden Ergebnisse liefern. So war es trotzt der Verwendung von Beispielen (few-shot-prompting) nicht möglich, Llama die zuverlässige Maskierung von Namen zu vermitteln. Auch Extra-Hinweise in diese Richtung schufen keine Abhilfe. Prompting kann sich als wirklicher Zeitkiller herausstellen, vor allem wenn man die Modelle für Aufgaben an der Grenze ihrer “intellektuellen” Leistungsfähigkeit einsetzt:

Llama

Quelle anzeigen
You are a first-class text anonymizer. Please check the following text for all occurrences of personal data that are worthy of protection under the GDPR and should not be passed on. Replace all personal data with placeholders such as names [NAME UNTERDRÜCKT], phone numbers [TELEFONNUMMER UNTERDRÜCKT], addresses [ADRESSE UNTERDRÜCKT], email-addresses [E-MAIL UNTERDRÜCKT], age [ALTER UNTERDRÜCKT], birth dates [GEBURTSDATUM UNTERDRÜCKT], and account numbers [IBAN UNTERDRÜCKT]. Personal data includes names when they are used to identify individuals, but not when used as part of a concept or a role (e.g., 'Max Planck Institut'). Ensure only identifying personal data is anonymized. Official numbers or e-mail adresses of companies and organisations are not to be anonymized. Here is the text to be checked: {text} Here is your version:

Mistral

Quelle anzeigen
Du bist ein erstklassiger Textanonymisierer. Bitte überprüfe den folgenden Text auf alle Vorkommen von personenbezogenen Daten. Ersetze alle persönlichen Daten durch Platzhalter. Suche nach Namen [NAME UNTERDRÜCKT], Telefonnummern [TELEFONNUMMER UNTERDRÜCKT], Adressen [ADRESSE UNTERDRÜCKT], E-Mails [E-MAIL UNTERDRÜCKT], Alter [ALTER UNTERDRÜCKT], Geburtsdaten [GEBURTSDATUM UNTERDRÜCKT] und Kontonummern [IBAN UNTERDRÜCKT].  Zu den personenbezogenen Daten gehören Namen, wenn sie zur Identifizierung von Personen verwendet werden, nicht aber, wenn sie als Teil eines Konzepts oder einer Rolle verwendet werden (z. B. 'Max Planck Instituts'). Stelle sicher, dass nur identifizierende personenbezogene Daten anonymisiert werden. Offizielle Nummern oder E-Mail-Adressen von Unternehmen und Organisationen dürfen nicht anonymisiert werden Hier ist der zu prüfende Text: {text} Hier ist deine Version:

Im Platzhalter “{text}” wird der zu anonymisierende Text übermittelt. In den Regeln zur Klassifizierung wird auch gleich genannt, was als Maskierungstext ausgegeben werden soll.

Ergebnisse Llama 3

Llama 3 hat in Bezug auf die Anonymisierung von persönlichen Daten ein massives Lost Middle Problem. Kurioserweise beginnt die Mitte für Namen schon im zweiten Satz. Trotz zahlreicher Versuche und Interventionen war dieses Modell nicht in der Lage über länger Strecken Namen zu entfernen. Die beste Annäherung war meistens den Namen in eckige Klammern zu setzen. Manchmal gelang ihm nicht mal das. Ganz selten hatte es einen Lauf und entfernte die Namen zuverlässig. Überhaupt war die Leistung sehr schwankend. Immerhin ist das Modell oft in der Lage, Dinge und Konzepte mit Namen von Personen zu unterscheiden. Auch wurden Adressangaben nicht geschwärzt, wenn sie auf eine Firma und nicht auf ein Individuum verweisen. Bessere Ergebnisse lassen sich erzielen, wenn man jeden Satz einzeln in das Sprachmodell füttert, allerdings führt das dazu, dass die Laufzeit sich noch einmal verschlechtert, wenn man die Aufrufe nicht massiv parallelisiert. Möglicherweise sind aber mit Finetuning bessere Ergebnisse erzielbar.

Ausgabe llama 3[NAME UNTERDRÜCKT], geboren am [GEBURTSDATUM UNTERDRÜCKT] in Wittbrietzen, lebt heute in der Blumenstraße 10, 80331 München. Mit ihren [ALTER UNTERDRÜCKT] Jahren arbeitet sie als Lehrerin an einer Grundschule. Für Eltern und Kollegen ist sie unter der Telefonnummer [TELEFONNUMMER UNTERDRÜCKT] oder per E-Mail an [E-MAIL UNTERDRÜCKT] erreichbar. In ihrer Freizeit besucht sie oft die Sankt Michael Kirche, die für ihre beeindruckenden Fresken bekannt ist.

[Johannes Schmidt], geboren am [GEBURTSDATUM UNTERDRÜCKT] in Hamburg, wohnt in der Bachstraße 15, 20095 Hamburg. Er ist [ALTER UNTERDRÜCKT] Jahre alt und arbeitet als Softwareentwickler. Seine Kontakte erreichen ihn unter der Nummer [TELEFONNUMMER UNTERDRÜCKT] oder via [E-MAIL UNTERDRÜCKT]. Jeden Mittwoch trifft er sich mit Freunden im Gemeindezentrum in der Poststraße 4 in Frankfurt, um neue Projekte zu diskutieren.

[Anna Weber] wohnt in der Lindenallee 22, 10115 Berlin. Trotz ihres Alters vo [ALTER UNTERDRÜCKT] Jahre sieht sie noch wie eine [ALTER UNTERDRÜCKT]-Jährige aus. Telefonisch ist sie unter [TELEFONNUMMER UNTERDRÜCKT] erreichbar oder per E-Mail an [E-MAIL UNTERDRÜCKT].

Die neuen Filiale der Bäckerei in der Hauptstraße 12, 50667 Köln lädt zum Info-Abend an. Interessierte melden sich unter +49 227 34560 oder über anmeldung@baeckerei.com

[Maximilian Fischer], am [GEBURTSDATUM UNTERDRÜCKT] in Stuttgart geboren, ist [ALTER UNTERDRÜCKT] Jahre alt und lebt in der Rosenstraße 18, 70173 Stuttgart. Er studiert Informatik und arbeitet nebenbei als Tutor. Seine Kommilitonen und Freunde erreichen ihn unter [TELEFONNUMMER UNTERDRÜCKT] oder per E-Mail an [E-MAIL UNTERDRÜCKT]. Neben dem Studium engagiert er sich in der Methode nach Rudolf Steiner, um innovative Bildungskonzepte zu entwickeln.

[Sabine Klein], geboren am [GEBURTSDATUM UNTERDRÜCKT] in Luckenwalde, wohnt jetzt in der Gartenstraße 7, 40210 Düsseldorf. Sie ist [ALTER UNTERDRÜCKT] Jahre alt und arbeitet als Marketing-Managerin. Ihre beruflichen Kontakte können sie unter der Nummer [TELEFONNUMMER UNTERDRÜCKT] oder via [E-MAIL UNTERDRÜCKT] erreichen. In ihrer Freizeit liest sie gern, besonders die Werke von Rudolf Steiner und Günter Grass.

Wenn man 5 Jahre alt ist, sieht man die Welt mit anderen Augen, sagt [Sabine] oft, wenn sie über Kreativität und Inspiration spricht. Sie findet, dass man die kindliche Neugierde nie verlieren sollte.

Der Kundenservice der Firma Georg Meier GmbH ist nicht mehr  unter der Nummer 030 12345 2345 zu erreichen. Beschwerden bitte an info@firma.de schicken, steht auf dem Schild neben ihrem Büro.

[NAME UNTERDRÜCKT] (23), [NAME UNTERDRÜCKT] (15), [NAME UNTERDRÜCKT](18), [NAME UNTERDRÜCKT] (12) und [NAME UNTERDRÜCKT] (33) sind alle Teil eines Projekts, das darauf abzielt, kreative Bildungsansätze in Deutschland zu fördern. Dabei spielen nicht nur ihre beruflichen Fähigkeiten eine Rolle, sondern auch ihre persönlichen Leidenschaften und Interessen. Der Gewinn dieses Projekts, so hofft das Team, wird bei etwa 6230101 Euro pro Jahr liegen, was ihnen ermöglichen würde, noch mehr innovative Ideen zu realisieren und das Bildungssystem nachhaltig zu verbessern.

Ich habe den Georg Büchner Preis gewonnen.

Meine Nummer [TELEFONNUMMER UNTERDRÜCKT],
Call me at +1 800-555-5555,
Ruf mich unter +49 (0)179 2271685 an,
Für Hilfe 0049 0761 586333 wählen,
Selbe Nummer im kompakten Format: 0761586333,
My number is (123) 456 7890,
Fälliger Betrag: 200.000 €,
Ausgaben für Leads: 40000,23,
Hier sind 30000 Euro,
Das sind 10 Millionen: 10000000,
Beispiel-Zahl mit Tausendertrennung: 100.643.724,26,
Meine E-Mail ist max.museermann1@gmail.com Tel: 0179-22756923,
E-Mail mit Umlaut meier@münchen.co.uk,
E-Mail mit Leerzeichen aaaa @beier-mail.biz,
@Tim Friedmann kommst du ins Meeting?,
Hier sind einige IBANs mit Leerzeichen: DE89 3704 0044 0532 0130 00 und FR76 3000 6000 0112 3456 7890 189.,
Hier sind einige IBANs ohne Leerzeichen: DE89370400440532013000 und FR7630006000011234567890189.,
noch eine DE43100500000920018963,
Meine Kontonummer 0532013000,
Kontonummer onhe Auffüllnull, neunstellig 532013000,
Alle Eingaben wie @-Zeichen, E-Mail friedmann@mai-group.com oder (tester@starpool.subdomain.com), Beträge 40699,23 oder 11700 und Telefonnummern (00)49 (0)20 23410245 oder 0331 345 732-56 und IBANs AT021420020010147558 oder auch die hier CH02 0076 7000 C510 01987 in einem Beispiel.

Ergebnisse Mistral

Das Mixtral-Modelle hat zwar keine Namensschwäche wie Llama 3, aber war davon abgesehen sehr schwer zu domestizieren. Der Prompt musste auf Deutsch umgeschrieben werden, weil es andernfalls den Text übersetzt hat. Aus unklaren Gründen (möglicherweise ist das Kontextfenster zu klein) hat es nicht den gesamten Text abgearbeitet. Davon abgesehen wurde es bei den Platzhaltern sehr kreativ, die es als Beispiel und nicht als Regel verstand, obwohl es eigentlich, was seine Temperatur betrifft, am Nullpunkt betrieben wurde. Mit diesem Wert reguliert man den Freiraum, den ein Sprachmodell bei der Auswahl des näcchsten Wort bzw. Token in seiner Antwort hat. Zum Teil kamen dabei sprachlich fragwürdige Wort-Halluzinationen heraus (was ist Eigensober?). Auch ist es wie klassische NLP-Ansätze in jede der gestellten Fallen getreten. Das Open-Source Modell von Mistral scheint damit nicht mächtig genug, um für die gestellte Aufgabe akzeptable Ergebnisse zu liefern.

Ausgabe Mistral[NAME UNTERDRÜCKT], geboren am [GEBURTSDATUM UNTERDRÜCKT] in [ORT UNTERDRÜCKT], lebt heute in der [ADRESSE UNTERDRÜCKT]. Mit ihren [ALTER UNTERDRÜCKT] Jahren arbeitet sie als [BERUF UNTERDRÜCKT] an einer [ORTSBEZEICHUNG UNTERDRÜCKT]. Für Eltern und Kollegen ist sie unter der Telefonnummer [TELEFONNUMMER UNTERDRÜCKT] oder per E-Mail an [E-MAIL UNTERDRÜCKT] erreichbar. In ihrer Freizeit [ACTIVITÄT UNTERDRÜCKT] sie oft die [ORTE UNTERDRÜCKT], die für ihre [EIGENSONDER UNTERDRÜCKT] bekannt ist.


[NAME UNTERDRÜCKT], geboren am [GEBURTSDATUM UNTERDRÜCKT] in [ORT UNTERDRÜCKT], wohnt in der [ADRESSE UNTERDRÜCKT]. Er ist [ALTER UNTERDRÜCKT] Jahre alt und arbeitet als [BERUF UNTERDRÜCKT]. Seine Kontakte erreichen ihn unter der Nummer [TELEFONNUMMER UNTERDRÜCKT] oder via [E-MAIL UNTERDRÜCKT]. Jeden [TAG UNTERDRÜCKT] trifft er sich mit Freunden im [ORTE UNTERDRÜCKT] in der [ADRESSE UNTERDRÜCKT], um neue Projekte zu diskutieren.


[NAME UNTERDRÜCKT], wohnt in der [ADRESSE UNTERDRÜCKT]. Trotz ihres Alters von [ALTER UNTERDRÜCKT] sieht sie noch wie eine [EIGENSOBER UNTERDRÜCKT] aus. Telefonisch ist sie unter [TELEFONNUMMER UNTERDRÜCKT] erreichbar oder per E-Mail an [E-MAIL UNTERDRÜCKT].


Die neuen Filiale der [FIRMENNAME UNTERDRÜCKT] in der [ADRESSE UNTERDRÜCKT], [ORTSBEZEICHUNG UNTERDRÜCKT] lädt zum Info-Abend ein. Interessierte melden sich unter [TELEFONNUMMER UNTERDRÜCKT] oder über [E-MAIL UNTERDRÜCKT].


[NAME UNTERDRÜCKT], am [GEBURTSDATUM UNTERDRÜCKT] in [ORT UNTERDRÜCKT] geboren, ist [ALTER UNTERDRÜCKT] Jahre alt und lebt in der [ADRESSE UNTERDRÜCKT]. Er studiert [FACH UNTERDRÜCKT] und arbeitet nebenbei als [TUTOREN UNTERDRÜCKT]. Seine Kommilitonen und Freunde erreichen ihn unter [TELEFONNUMMER UNTERDRÜCKT] oder per E-Mail an [E-MAIL UNTERDRÜCKT]. Neben dem Studium engagiert er sich in der [METHODE UNTERDRÜCKT], um innovative Bildungskonzepte zu entwickeln.

[NAME UNTERDRÜCKT], geboren am [GEBURTSDATUM UNTERDRÜCKT] in [ORT UNTERDRÜCKT], wohnt jetzt in der [ADRESSE UNTERDRÜCKT]. Sie ist [ALTER UNTERDRÜCKT] Jahre alt und arbeitet als [BERUF UNTERDRÜCKT]. Ihre beruflichen Kontakte können sie unter der Nummer [TELEFONNUMMER UNTERDRÜCKT] oder via [E-MAIL UNTERDRÜCKT] erreichen. In ihrer Freizeit liest sie gern, besonders die Werke von [AUTOR UNTERDRÜCKT] und [AUTOR UNTERDRÜCKT].

Exkurs GPT-4

Wie es perfekt aussehen kann, haben sowohl gpt-4 als auch Claude 3.5 sonnet in einem kleinen Test außer der Reihe bewiesen. Kurioserweise leidet aber das neue Flagschiff von OpenAI gpt-4o an derselben Namensschwäche wie Llama 3. Das Maskieren von Namen scheint für diese Modelle eine seltsam komplexe Angelegenheit zu sein. Anbei die Rückgabe von gpt-4, die sich nicht wesentlich von der aus claude 3.5 sonnet unterscheidet.

Exkurs gpt-4[NAME UNTERDRÜCKT], geboren am [GEBURTSDATUM UNTERDRÜCKT] in Wittbrietzen, lebt heute in der [ADRESSE UNTERDRÜCKT]. Mit ihren [ALTER UNTERDRÜCKT] Jahren arbeitet sie als Lehrerin an einer Grundschule. Für Eltern und Kollegen ist sie unter der Telefonnummer [TELEFONNUMMER UNTERDRÜCKT] oder per E-Mail an [E-MAIL UNTERDRÜCKT] erreichbar. In ihrer Freizeit besucht sie oft die Sankt Michael Kirche, die für ihre beeindruckenden Fresken bekannt ist.

[NAME UNTERDRÜCKT], geboren am [GEBURTSDATUM UNTERDRÜCKT] in Hamburg, wohnt in der [ADRESSE UNTERDRÜCKT]. Er ist [ALTER UNTERDRÜCKT] Jahre alt und arbeitet als Softwareentwickler. Seine Kontakte erreichen ihn unter der Nummer [TELEFONNUMMER UNTERDRÜCKT] oder via [E-MAIL UNTERDRÜCKT]. Jeden Mittwoch trifft er sich mit Freunden im Gemeindezentrum in der Poststraße 4 in Frankfurt, um neue Projekte zu diskutieren.

[NAME UNTERDRÜCKT] wohnt in der [ADRESSE UNTERDRÜCKT]. Trotz ihres Alters vo [ALTER UNTERDRÜCKT] Jahre sieht sie noch wie eine 50-Jährige aus. Telefonisch ist sie unter [TELEFONNUMMER UNTERDRÜCKT] erreichbar oder per E-Mail an [E-MAIL UNTERDRÜCKT].

Die neuen Filiale der Bäckerei in der Hauptstraße 12, 50667 Köln lädt zum Info-Abend an. Interessierte melden sich unter +49 227 34560 oder über anmeldung@baeckerei.com

[NAME UNTERDRÜCKT], am [GEBURTSDATUM UNTERDRÜCKT] in Stuttgart geboren, ist [ALTER UNTERDRÜCKT] Jahre alt und lebt in der [ADRESSE UNTERDRÜCKT]. Er studiert Informatik und arbeitet nebenbei als Tutor. Seine Kommilitonen und Freunde erreichen ihn unter [TELEFONNUMMER UNTERDRÜCKT] oder per E-Mail an [E-MAIL UNTERDRÜCKT]. Neben dem Studium engagiert er sich in der Methode nach Rudolf Steiner, um innovative Bildungskonzepte zu entwickeln.

[NAME UNTERDRÜCKT], geboren am [GEBURTSDATUM UNTERDRÜCKT] in Luckenwalde, wohnt jetzt in der [ADRESSE UNTERDRÜCKT]. Sie ist [ALTER UNTERDRÜCKT] Jahre alt und arbeitet als Marketing-Managerin. Ihre beruflichen Kontakte können sie unter der Nummer [TELEFONNUMMER UNTERDRÜCKT] oder via [E-MAIL UNTERDRÜCKT] erreichen. In ihrer Freizeit liest sie gern, besonders die Werke von Rudolf Steiner und Günter Grass.

Wenn man 5 Jahre alt ist, sieht man die Welt mit anderen Augen, sagt [NAME UNTERDRÜCKT] oft, wenn sie über Kreativität und Inspiration spricht. Sie findet, dass man die kindliche Neugierde nie verlieren sollte.

Der Kundenservice der Firma Georg Meier GmbH ist nicht mehr  unter der Nummer 030 12345 2345 zu erreichen. Beschwerden bitte an info@firma.de schicken, steht auf dem Schild neben ihrem Büro.

[NAME UNTERDRÜCKT] (23), [NAME UNTERDRÜCKT] (15), [NAME UNTERDRÜCKT](18), [NAME UNTERDRÜCKT] (12) und [NAME UNTERDRÜCKT] (33) sind alle Teil eines Projekts, das darauf abzielt, kreative Bildungsansätze in Deutschland zu fördern. Dabei spielen nicht nur ihre beruflichen Fähigkeiten eine Rolle, sondern auch ihre persönlichen Leidenschaften und Interessen.

Der Gewinn dieses Projekts, so hofft das Team, wird bei etwa 6230101 Euro pro Jahr liegen, was ihnen ermöglichen würde, noch mehr innovative Ideen zu realisieren und das Bildungssystem nachhaltig zu verbessern.

Ich habe den Georg Büchner Preis gewonnen.

Meine Nummer [TELEFONNUMMER UNTERDRÜCKT], 
Call me at [TELEFONNUMMER UNTERDRÜCKT], 
Ruf mich unter [TELEFONNUMMER UNTERDRÜCKT] an,
Für Hilfe [TELEFONNUMMER UNTERDRÜCKT] wählen,
Selbe Nummer im kompakten Format: [TELEFONNUMMER UNTERDRÜCKT],
My number is [TELEFONNUMMER UNTERDRÜCKT],
Fälliger Betrag: 200.000 €,
Ausgaben für Leads: 40000,23,
Hier sind 30000 Euro,
Das sind 10 Millionen: 10000000, Beispiel-Zahl mit Tausendertrennung: 100.643.724,26,
Meine E-Mail ist [E-MAIL UNTERDRÜCKT] Tel: [TELEFONNUMMER UNTERDRÜCKT],
E-Mail mit Umlaut [E-MAIL UNTERDRÜCKT], E-Mail mit Leerzeichen [E-MAIL UNTERDRÜCKT],
@Tim Friedmann kommst du ins Meeting?,
Hier sind einige IBANs mit Leerzeichen: [IBAN UNTERDRÜCKT] und [IBAN UNTERDRÜCKT],
Hier sind einige IBANs ohne Leerzeichen: [IBAN UNTERDRÜCKT] und [IBAN UNTERDRÜCKT],
noch eine [IBAN UNTERDRÜCKT], Meine Kontonummer [IBAN UNTERDRÜCKT],
Kontonummer ohne Auffüllnull,
neunstellig [IBAN UNTERDRÜCKT] 
Alle Eingaben wie @-Zeichen, E-Mail friedmann@mai-group.com oder (tester@starpool.subdomain.com), Beträge 40699,23 oder 11700 und Telefonnummern [TELEFONNUMMER UNTERDRÜCKT] oder [TELEFONNUMMER UNTERDRÜCKT] und IBANs [IBAN UNTERDRÜCKT] oder auch die hier [IBAN UNTERDRÜCKT] in einem Beispiel.

Methoden zur Anonymisierung im direkten Vergleich

So haben die verschiedenen Ansätze im Vergleich zueinander abgeschnitten:

Tabelle zeigt Verfahren zur Anonymisierung von Daten im Vergleich

Entity-Erkennung

Wenn man nur wenige sehr regelmäßig konstruierte Angaben wie E-Mail-Adressen, Kontonummern oder eventuell auch Geburtsdaten unterdrücken möchte, hat man mit Regulären Ausdrücken ein sehr brauchbares Verfahren. Die Logik der Zeichenerkennung ist darüberhinaus absolut transparent und lässt sich jederzeit nach Belieben anpassen. Kommen auch Namen und Adressen mit ins Spiel, liefert Presidio die besten Ergebnisse. Eine ähnliche Qualität wird man allerdings erzielen, wenn man reguläre Ausrücke und spaCy kombiniert. Weiter Daten aus dem Stand anonymisieren können nur große Sprachmodelle. Diese sind zumindest als Open Source verfügbare Varianten noch nicht in der Lage, robust verlässliche Ergebnisse zu liefern. Auch dürften künftige, dazu fähige Modelle so exorbitante Hardware-Anforderungen stellen, dass ein lokaler Einsatz auf dem eigenen Server für viele Szenarien vermutlich nicht in Frage kommt.

Honeypot-Vermeidung

Bei der Vermeidung von Honey-Pots, also der Anonymisierung von Daten die nach persönlichen Angaben aussehen, es aber nicht sind, weist Llama 3 in die richtige Richtung und gpt-4 und claude 3.5 sonnet zeigen auf, wo das Ziel der Reise sein kann.

Geschwindigkeit

Der Aspekt der Geschwindigkeit, hier gemessen in Wörter pro Sekunde, siehe letzte Spalte, darf nicht unerschätzt werden. Für einzelne Texte mag dieser Faktor keine Rolle spielen, sobald es aber um längere Artikel, Bücher oder ganzen Webseiten geht, stellt sich die Frage nach Laufzeiten durchaus. Für den Besuch beim nächsten Bäcker ist es sicherlich vollkommen OK, das Fahrrad zu nehmen, den wenigsten kommt as aber in den Sinn, damit eine Weltreise zu machen und für den Flug ins All ist Fahrrad-Tempo schlicht inakzeptabel. Wenn aber Llama 3 in Bezug auf Verarbeitungsgeschwindigkeit ein Fahrrad ist, dann wäre Stanza ein Hochgeschwindigkeitszug, Presidio und spaCy Überschall-Jets und reguläre Ausdrücke eine noch zu entwickelnde Raumsonde. Man sollte sich deshalb voher gut überlegen, welche “Wegstrecke” man mit diesen Modellen zurücklegen möchte.

Fazit

Nimmt man alle drei Faktoren zusammen, dann sind reguläre Ausdrücke immer ein guter Startpunkt. Verlässlichkeit bieten auch spaCy in der Kombination mit regulären Ausdrücken oder Presidio. Alle drei Ansätze sind außerdem schnell genug, um wohl die Textmengen der allermeisten Einsatzszenarien in akzeptabler Zeit zu bewältigen. Stanza biete zumindest für das Deutsche keine ersichtlichen Vorteile und ist zudem noch langsamer als die davor genannten Mitbewerber. Open Source Modelle sind Mitte 2024 noch keine Alternative, auch wenn mit gpt-4 und Claude 3.5 sonnet Alternativen vorführen, was im Open Source Bereich möglich werden könnte. Aber bis dahin müssen die kommenden Modelle viel schneller, effektiver und robuster werden.

Wer eine der genannten Ansätze selbst anwenden möchte, kann gerne auf das verlinkte Note-Book zurückgreifen.

 

Hier geht es zur englischen Version des Artikels.

Tim Friedmann

Tim Friedmann ist Senior UX Designer / UX Strategist bei mediaworx mit 20 Jahren Berufserfahrung. Trotzdem verblüffen ihn die Nutzer immer wieder aufs Neue.

E-Mail
Artikel teilen

Kontakt