Eine mehrsprachige NLP-Engine, die bereits in Elasticsearch indexierte Dokumente scannt, Namen, Orte und Daten erkennt, sensible Sprache in besondere DSGVO-Kategorien klassifiziert und jeden Fund direkt auf das Dokument zurückschreibt. Die Daten verlassen dabei niemals den eigenen Such-Cluster des Kunden.
Abfragen, analysieren, speichern. Wiederholen.
Derselbe Erkennungskern (handle_doc) betreibt sowohl eine Hintergrundpipeline für hohe Volumen als auch einen Echtzeit-Endpunkt. Batch-Aufgaben fließen von links nach rechts durch den Scheduler, eine begrenzte Warteschlange und einen Pool von spaCy-Workern; der Echtzeit-Endpunkt leitet einen einzelnen Text direkt in den Kern und gibt JSON zurück.
Der Profiler liest bereits in Elasticsearch indexierte Dokumente. Für jedes Dokument erkennt er Namen, Orte und Daten und sucht anschließend nach Sprache, die besondere Kategorien personenbezogener Daten offenbart: Gesundheit, Religion, politische Ansichten, sexuelle Orientierung, Ethnizität, Vorstrafen, Gewerkschaftsmitgliedschaft und arbeitsrechtliche Maßnahmen. Jeder Treffer wird mit einem Typ, dem übereinstimmenden Text und seiner Position versehen und anschließend auf dem Dokument gespeichert, sodass Compliance-Arbeit auf Fakten statt auf Vermutungen basiert.
Ein Hintergrund-Thread fragt Elasticsearch kontinuierlich nach als DS_Status: REQUEST_AI markierten Dokumenten ab und leitet sie an einen Pool von Worker-Prozessen weiter. So werden umfangreiche Archive analysiert.
Eine POST /profile-text Route analysiert auf Anfrage einen einzelnen Text und gibt farblich gekennzeichnete Treffer als JSON zurück. Eine /health Route gibt Auskunft über den Betriebsstatus.
Beim Start wartet die Anwendung, bis der Elasticsearch-Cluster betriebsbereit ist, und startet anschließend den Scheduler sowie den Worker-Pool. Der folgende Zyklus wiederholt sich kontinuierlich.
data Index nach Dokumenten, bei denen DS_Status = REQUEST_AI, seitenweise zu je 50 Einträgen mit search-after.handle_doc, nachfolgend näher erläutert.FINISHED gesetzt. Selbst im Fehlerfall wechselt der Status zu FINISHED, sodass kein Dokument endlos erneut verarbeitet wird.Bevor ein Modell ausgeführt wird, handle_doc filtert Arbeit heraus, die nicht verarbeitet werden soll, und wählt dann das geeignete Werkzeug für die jeweilige Sprache. Erst danach werden die Matcher ausgeführt.
Nur freigegebene Dokumenttypen werden profiliert (doc, docx, pdf, eml, txt und weitere). Strukturierte Formate wie json, xml und log werden übersprungen. Texte mit mehr als 20.000 Zeichen werden gekennzeichnet und gekürzt, und Inhalte in unbekannter Sprache werden verworfen.
Verfügt eine Sprache über grammatikalische Abhängigkeitsmuster, wird der gesamte Text auf einmal analysiert. Andernfalls wird der Text in Sätze aufgeteilt und jeder Satz wird einzeln analysiert, wobei das mehrsprachige Modell als universeller Fallback dient.
Jeder Fund trägt ein Präfix-Label, damit nachgelagerte Systeme erkennen können, wie er gefunden wurde. Die drei Perspektiven werden auf denselben Satz angewendet und ihre Ergebnisse zusammengeführt.
Das statistische Modell von spaCy erkennt Personen, Organisationen, Orte, Datumsangaben und Uhrzeiten. Namen mit der richtigen Struktur (zwei bis drei verschiedene alphabetische Wörter, keine Ziffern) werden zu Vollnamen-Funden hochgestuft.
Ein lemma-bewusster Phrasen-Matcher durchsucht Texte nach Begriffen aus kundenspezifischen Wörterbüchern sensibler Vokabeln und erkennt dabei flektierte Formen statt ausschließlich exakter Zeichenketten.
Grammatikalische Muster bestätigen eine tatsächliche Aussage: Eine Person oder ein zulässiges Pronomen ist das Subjekt, und ein sensibler Begriff ist das Objekt. Dies reduziert Falschmeldungen, da Kontext verlangt wird und nicht nur ein einzelnes Wort.
Die genauen Kategorien werden durch kundenspezifische Wörterbücher gesteuert, die aus Elasticsearch geladen werden, sodass jedes Abonnement nur die relevanten Typen aktivieren kann.
Dedizierte Modelle stehen für Englisch, Dänisch, Deutsch, Niederländisch, Französisch, Italienisch, Spanisch, Schwedisch, Norwegisch, Finnisch, Polnisch, Portugiesisch, Litauisch, Kroatisch (auch für Serbisch, Bosnisch und Montenegrinisch) sowie Ukrainisch zur Verfügung, ergänzt durch ein mehrsprachiges Modell für alle weiteren Sprachen und einen universellen Satztrenner als Grundlage.
Der AI Profiler verwandelt ein stilles Dokumentenarchiv in eine gekennzeichnete Übersicht personenbezogener Daten – vollständig innerhalb des eigenen Such-Clusters des Kunden – sodass Compliance-Arbeit auf Fakten statt auf Vermutungen basiert.