Datenqualitätsmanagement mit KI
Identifikation von doppelten und falschen Stammdaten mit R und modernsten auf Künstlicher Intelligenz basierten Methoden
Es gibt eine Vielzahl an Gründen, warum Kunden- und Lieferantenstammdaten fehlerhaft sind oder Duplikate enthalten: Systemmigrationen, Dummy- und Testeinträge, Vertipper oder fehlgeschlagene Batch-Input-Läufe. Die daraus resultierende, mangelnde Datenqualität kann verschiedene Auswirkungen haben:
- Zusätzlicher Zeitaufwand beim Vergleich von doppelt angelegten Kunden
- Prozessfehler durch doppelt gebuchte Rechnungen auf den identischen, aber doppelt angelegten Lieferanten
- Ausgehebelte Freigabegrenzen durch doppelt angelegte Lieferanten
- Erhöhte Kosten für Speicherplatz durch fehlerhaft migrierte Stammsätze
- Diverse Fraud-Szenarien
Um eine hohe Datenqualität zu gewährleisten, haben wir eine KI-basierte Software in R entwickelt, welche Ihre Lieferanten- und Kundenstammdaten überprüft und doppelte bzw. falsche Stammsätze identifiziert. Im Folgenden wird unsere Software „dab:DQM“ mit der herkömmlichen Methodik als Benchmark verglichen:
Suche von Fuzzy-Duplikaten in Stammdaten
Klassische Methodik
Meist wird für die Suche von unscharfen Duplikaten die Levenshtein-Distanz o.ä. verwendet. Diese zählt für zwei Adressen die Anzahl der Veränderungen, um die eine Adresse in die andere zu überführen.
Beispiel:
Die beiden Adressen
„Hans-Obser–Straße 12“
und
„Hans-Obser Straße 12“
haben eine Levenshtein-Distanz gleich 1, weil man aus der ersten Adresse, durch die Ersetzung von „-“ durch „ “, die zweite Adresse erhält. Es wird also genau ein Zeichen verändert.
Herkömmlicherweise werden alle Paare von Adressen als unscharfe Duplikate interpretiert, welche eine kleine Levenshtein-Distanz aufweisen. Häufig wird eine Distanz kleiner gleich 3 als Vorgabe verwendet.
Schwachstelle dieses Vorgehens:
Die Zeichenketten:
„dab:GmbH, Hans-Obser-Straße 12, 94469 Deggendorf“
und
„dab:GmbH, 94469 Deggendorf, Hans-Obser Straße 12“
beschreiben eine identische Adresse, haben aber eine Levenshtein-Distanz von 37. Dieses Paar wird mit der Vorgabe, dass die Distanz kleiner gleich 3 sein soll, nicht gefunden. Erhöht man die genannte Grenze, handelt es sich beim Großteil der ermittelten Paare um keine unscharfen Duplikate mehr. Beispielsweise haben die beiden Adressen:
"Hans-Obser-Straße 12, 94469 Deggendorf"
und
"Marienplatz 1, 80331 München“
eine Levenshtein-Distanz gleich 29.
Es ergibt sich also folgendes Dilemma: Wählt man eine zu kleine Grenze, werden zu viele Duplikate ausgeschlossen. Wählt man eine zu große Grenze, enthält das Ergebnis zu viele Duplikate, welche keine sind.
dab:DQM
Auf Basis des Natural Language Processings, also Techniken zum Verarbeiten natürlicher Sprache, haben wir eine Software in R programmiert, welche Adressen durch tieferes sprachliches Verständnis analysiert und so Fuzzy-Duplikate findet. Unsere Software basiert also nicht auf syntaktischen Vergleichen, wie etwa der Levenshtein-Distanz, sondern auf semantischem Verständnis von Sprache. Deshalb werden die beiden Adressen:
„Hans-Obser-Straße 12, 94469 Deggendorf“
und
„94469 Deggendorf, Hans-Obser Straße 12“
als Fuzzy-Duplikat erkannt.
Das Beispiel mit den beiden Zeichenketten
"Hans-Obser-Straße 12, 94469 Deggendorf"
und
"Marienplatz 1, 80331 München“
wird korrekterweise nicht als Duplikat interpretiert.
Suche von auffälligen Stammsätzen
Klassische Methodik
Bei der Vermutung von Dummy-Einträgen oder generellen Datenfehlern in Stammdaten, wird klassischerweise nach Stammsätzen gesucht, welche „XXX“, „???“ oder „Dummy““ enthalten.
Beispiel:
Die Abfrage
Zeige alle Zeilen, in denen „Name“ einen Eintrag gleich „XXX“ enthält.
könnte folgenden Stammsatz identifizieren:
dab:DQM
Folgende Tabelle enthält einen Dummy- und einen Testeintrag, sowie einen Stammsatz, welcher klassischerweise bei System Migrationen mit Formatierungsfehlern auftreten kann. Diese Stammsätze erkennt „dab:DQM“ auf Grund ihres semantischen Verständnisses von natürlicher Sprache und nicht durch statische Abfragen wie etwa:
Enthält die Spalte „Name“ einen Eintrag gleich „XXX“
Es müssen also keine endlosen Listen mit Abfragen gepflegt werden.
Schwachstelle dieses Vorgehens:
Es kann nicht ausgeschlossen werden, dass weitere Stammsätze mit Einträgen wie etwa: „XXXX“, „dummy“, „Dummy“, „Test“, „asdf“, usw. befüllt sind. Theoretisch gibt es eine unüberschaubare Anzahl an Zeichenketten, welche aus Dummy- und Testeinträgen, sowie Datenfehlern resultieren. Zur Ermittlung dieser Stammsätze würde man eine endlose Liste an Abfragen benötigen. Ein weiteres Manko: Die Abfragen basieren meist nur auf einer Sprache.
Möchten Sie mehr über den Lösungsansatz von dab:DQM mit Künstlicher Intelligenz und R erfahren, dann setzen Sie sich jederzeit gerne mit uns in Verbindung. Wir freuen uns, Ihre Fragen zu beantworten.