Massachusetts Institute of Technology (MIT) 17.05.2021, 10:31 Uhr

PClean: Datentabellen automatisch bereinigen

MIT-Forscher haben ein System entwickelt, das automatisch "schmutzige Daten" bereinigt – die von Datenanalysten, Dateningenieuren und Datenwissenschaftlern gefürchteten Tippfehler, Duplikate, fehlende Werte, Rechtschreibfehler und Inkonsistenzen.
(Quelle: news.mit.edu)
Laut Umfragen von Anaconda und Figure Eight kann die Datenbereinigung ein Viertel der Zeit eines Datenwissenschaftlers in Anspruch nehmen. Die Automatisierung dieser Aufgabe ist eine Herausforderung, da verschiedene Datensätze unterschiedliche Arten der Bereinigung erfordern und oft eine Beurteilung von Objekten in der Welt nach gesundem Menschenverstand erforderlich ist (zum Beispiel in welcher von mehreren Städten namens "Beverly Hills" jemand wohnt). PClean bietet generische Common-Sense-Modelle für diese Art von Beurteilungen, die an bestimmte Datenbanken und Fehlertypen angepasst werden können.
PClean verwendet einen wissensbasierten Ansatz, um den Datenbereinigungsprozess zu automatisieren: Die Benutzer kodieren Hintergrundwissen über die Datenbank und die Art der Probleme, die auftreten könnten. Nehmen Sie zum Beispiel das Problem der Bereinigung von Staatsnamen in einer Datenbank mit Wohnungsangeboten. Was wäre, wenn jemand angibt, in Beverly Hills zu wohnen, aber die Spalte für den Bundesstaat leer lässt? Obwohl es ein bekanntes Beverly Hills in Kalifornien gibt, gibt es auch eines in Florida, Missouri und Texas ... und es gibt einen Stadtteil von Baltimore, der als Beverly Hills bekannt ist. Wie können Sie wissen, in welchem die Person lebt? Hier kommt die ausdrucksstarke Skriptsprache von PClean ins Spiel. Benutzer können PClean Hintergrundwissen über die Domäne und darüber, wie Daten beschädigt werden könnten, zur Verfügung stellen. PClean kombiniert dieses Wissen über probabilistische Schlussfolgerungen mit gesundem Menschenverstand, um die Antwort zu finden. Bei zusätzlichem Wissen über typische Mietpreise folgert PClean beispielsweise, dass Beverly Hills in Kalifornien liegt, weil die Mieten dort, wo der Befragte lebt, sehr hoch sind.
Alex Lew, der Hauptautor der Arbeit und Doktorand im Fachbereich Elektrotechnik und Informatik (EECS), sagt, dass er am meisten davon begeistert ist, dass PClean eine Möglichkeit bietet, die Hilfe von Computern in Anspruch zu nehmen, so wie Menschen sich gegenseitig um Hilfe bitten. "Wenn ich einen Freund um Hilfe bei etwas bitte, ist das oft einfacher, als einen Computer zu fragen. Das liegt daran, dass ich in den heute vorherrschenden Programmiersprachen Schritt-für-Schritt-Anweisungen geben muss, bei denen nicht davon ausgegangen werden kann, dass der Computer irgendeinen Kontext über die Welt oder die Aufgabe hat – oder auch nur die Fähigkeit, mit gesundem Menschenverstand zu denken. Bei einem Menschen kann ich all diese Dinge voraussetzen", sagt er. "PClean ist ein Schritt, diese Lücke zu schließen. Es ermöglicht mir, dem Computer mitzuteilen, was ich über ein Problem weiß, indem es die gleiche Art von Hintergrundwissen kodiert, die ich einer Person erklären würde, die mir beim Bereinigen meiner Daten hilft. Ich kann PClean auch Hinweise, Tipps und Tricks geben, die ich bereits entdeckt habe, um die Aufgabe schneller zu lösen."
PClean baut auf den jüngsten Fortschritten in der probabilistischen Programmierung auf, einschließlich eines neuen KI-Programmiermodells, das am Probabilistic Computing Project des MIT entwickelt wurde und die Anwendung realistischer Modelle des menschlichen Wissens zur Interpretation von Daten wesentlich erleichtert. Die Reparaturen von PClean basieren auf Bayes'schem Denken, einem Ansatz, der alternative Erklärungen für mehrdeutige Daten abwägt, indem er Wahrscheinlichkeiten auf Basis von Vorwissen auf die vorliegenden Daten anwendet. "Die Fähigkeit, diese Art von unsicheren Entscheidungen zu treffen, bei denen wir dem Computer sagen wollen, welche Art von Dingen er wahrscheinlich sehen wird, und den Computer diese automatisch verwenden lassen, um herauszufinden, was wahrscheinlich die richtige Antwort ist, ist zentral für die probabilistische Programmierung", sagt Lew.
PClean ist das erste Bayes'sche Datenbereinigungssystem, das Fachwissen mit gesundem Menschenverstand kombinieren kann, um Datenbanken mit Millionen von Datensätzen automatisch zu bereinigen. PClean erreicht diese Größenordnung durch drei Innovationen. Erstens: Die Skriptsprache von PClean ermöglicht es den Benutzern, ihr Wissen zu kodieren. Dies führt zu genauen Modellen, selbst für komplexe Datenbanken. Zweitens verwendet der Inferenzalgorithmus von PClean einen zweistufigen Ansatz, der darauf basiert, dass Datensätze einzeln verarbeitet werden, um fundierte Vermutungen darüber anzustellen, wie sie zu bereinigen sind, und dann seine Entscheidungen zu überprüfen, um Fehler zu korrigieren. Dies führt zu robusten, präzisen Inferenzergebnissen. Drittens bietet PClean einen eigenen Compiler, der schnellen Inferenzcode erzeugt. Dadurch kann PClean auf Datenbanken mit Millionen von Datensätzen mit höherer Geschwindigkeit laufen als mehrere konkurrierende Ansätze. "PClean-Benutzer können PClean Hinweise geben, wie es effektiver über ihre Datenbank schlussfolgern kann, und seine Leistung einstellen - im Gegensatz zu früheren probabilistischen Programmieransätzen zur Datenbereinigung, die sich hauptsächlich auf generische Inferenzalgorithmen verließen, die oft zu langsam oder ungenau waren", sagt Mansinghka.
Wie bei allen probabilistischen Programmen sind die Codezeilen, die das Tool benötigt, um zu funktionieren, viel geringer als bei alternativen, modernen Optionen: PClean-Programme benötigen nur etwa 50 Codezeilen, um Benchmarks in Bezug auf Genauigkeit und Laufzeit zu übertreffen. Zum Vergleich: Ein einfaches Schlangen-Handyspiel benötigt doppelt so viele Codezeilen, und Minecraft kommt auf weit über 1 Million Codezeilen.
In ihrer Arbeit, die gerade auf der Konferenz der Society for Artificial Intelligence and Statistics 2021 vorgestellt wurde, zeigen die Autoren die Fähigkeit von PClean, auf Datensätze mit Millionen von Datensätzen zu skalieren, indem sie PClean zur Erkennung von Fehlern und zur Imputation fehlender Werte im nationalen Medicare Physician Compare-Datensatz mit 2,2 Millionen Zeilen verwenden. Bei einer Laufzeit von siebeneinhalb Stunden fand PClean mehr als 8.000 Fehler. Die Autoren überprüften dann von Hand (durch Suchen auf Krankenhaus-Websites und Arzt-Linux-Seiten), dass die von PClean vorgeschlagene Lösung für mehr als 96 Prozent der Fehler korrekt war.
Da PClean auf der Bayes'schen Wahrscheinlichkeitsrechnung basiert, kann es auch kalibrierte Schätzungen seiner Unsicherheit abgeben. "Es kann mehrere Hypothesen aufrechterhalten - es liefert abgestufte Urteile, nicht nur Ja/Nein-Antworten. Das schafft Vertrauen und hilft dem Anwender, PClean bei Bedarf zu übersteuern. Sie können sich zum Beispiel ein Urteil ansehen, bei dem PClean unsicher war, und ihm die richtige Antwort mitteilen. PClean kann dann den Rest seiner Beurteilungen im Lichte Ihres Feedbacks aktualisieren", sagt Mansinghka. "Wir glauben, dass diese Art von interaktivem Prozess, der die menschliche Beurteilung mit der maschinellen verschränkt, einen großen Wert hat. Wir sehen PClean als ein frühes Beispiel für eine neue Art von KI-Systemen, die mehr von dem wissen, was Menschen wissen, die melden, wenn sie unsicher sind, und die mit Menschen auf nützlichere, menschenähnliche Weise argumentieren und interagieren können."


Das könnte Sie auch interessieren