23.08.2022
Moritz Lang
Autor: Moritz Lang

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-ObserStraß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:
 

Analyse von Stammdaten aus SAP

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.
 

Analyse von Stammdaten aus SAP

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. 

Kontaktieren Sie uns


Kommentare (0)
Sei der erste, der diesen Blog-Beitrag kommentiert.
Blog Anmeldung

Sie sind nicht angemeldet. Bitte melden Sie sich an um diesen Blogbeitrag zu kommentieren.

anmelden