Kapitel 1. Einführung in die Entitätsauflösung

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Überall auf der Welt werden riesige Datenmengen gesammelt und gespeichert, und jeden Tag kommen mehr Daten hinzu. Diese Daten erfassen die Welt, in der wir leben, und die sich verändernden Eigenschaften und Merkmale der Menschen, Orte und Dinge um uns herum.

Innerhalb dieses globalen Ökosystems der Datenverarbeitung sammeln Organisationen unabhängig voneinander überlappende Datensätze über dieselbe reale Einheit. Und jede Organisation hat ihren eigenen Ansatz, um die Daten zu organisieren und zu katalogisieren, die sie besitzt.

Unternehmen und Institutionen versuchen, wertvolle Erkenntnisse aus diesen Rohdaten zu gewinnen. Es wurden fortschrittliche Analyseverfahren entwickelt, um Muster in den Daten zu erkennen, Bedeutungen zu extrahieren und sogar zu versuchen, die Zukunft vorherzusagen. Die Leistung dieser Algorithmen hängt von der Qualität und dem Reichtum der Daten ab, mit denen sie gespeist werden. Durch die Kombination von Daten aus mehr als einer Organisation kann oft ein umfassenderer Datensatz erstellt werden, aus dem wertvollere Schlussfolgerungen gezogen werden können.

Dieses Buch zeigt dir, wie du diese heterogenen Datensätze zusammenführen kannst, um reichhaltigere Datensätze über die Welt, in der wir leben, zu erstellen. Dieser Prozess des Zusammenfügens von Datensätzen ist unter verschiedenen Namen bekannt: name matching, fuzzy matching, record linking, entity reconciliation und entity resolution. In diesem Buch werden wir den Begriff Entitätsauflösung verwenden, um den gesamten Prozess der Auflösung, d.h. der Zusammenführung von Daten, die sich auf reale Entitäten beziehen, zu beschreiben.

Was ist Entity Resolution?

Die Entitätsauflösung ist eine wichtige Analysetechnik, um Datensätze zu identifizieren, die sich auf dieselbe reale Entität beziehen. Dieser Abgleich ermöglicht es, doppelte Einträge innerhalb einer einzigen Quelle zu entfernen und unterschiedliche Datenquellen zusammenzuführen, wenn keine gemeinsamen eindeutigen Bezeichner verfügbar sind.

Die Auflösung von Entitäten ermöglicht es Unternehmen, umfangreiche und umfassende Datenbestände aufzubauen, Beziehungen aufzudecken und Netzwerke für Marketing- und Risikomanagementzwecke zu konstruieren. Sie ist oft eine wichtige Voraussetzung, um das volle Potenzial von maschinellem Lernen und KI auszuschöpfen.

Gesundheitsdienstleister müssen zum Beispiel oft Datensätze aus verschiedenen Praxen oder historischen Archiven, die auf unterschiedlichen Plattformen gespeichert sind, zusammenführen. Bei Finanzdienstleistungen müssen Kundendatenbanken abgeglichen werden, um die relevantesten Produkte und Dienstleistungen anbieten zu können oder um Betrug aufzudecken. Um die Widerstandsfähigkeit zu verbessern oder Transparenz in Bezug auf ökologische und soziale Fragen zu schaffen, müssen Unternehmen die Daten der Lieferkette mit Quellen für Risikoinformationen zusammenführen.

Warum ist eine Entitätsauflösung notwendig?

Auf werden uns im Alltag viele Nummern zugewiesen: Meinem Gesundheitsdienstleister zufolge werde ich durch eine Nummer identifiziert, meinem Arbeitgeber durch eine andere, meiner nationalen Regierung durch eine andere und so weiter. Wenn ich mich für Dienstleistungen anmelde, bekomme ich oft eine Nummer (oder manchmal auch mehrere) von meiner Bank, meinem Händler oder meinem Online-Anbieter zugewiesen. Warum all diese Nummern? In früheren Zeiten, als Dienstleistungen noch in einer lokalen Gemeinschaft erbracht wurden, man die Kunden persönlich kannte und von Angesicht zu Angesicht miteinander sprach, war es offensichtlich, mit wem man es zu tun hatte. Es handelte sich oft um diskrete Transaktionen, bei denen kein Bezug zu früheren Geschäften hergestellt werden musste und keine Aufzeichnungen über einzelne Kunden geführt werden mussten.

Da immer mehr Dienstleistungen aus der Ferne erbracht und auf breiterer regionaler oder sogar nationaler Basis angeboten wurden, wurde ein Mittel zur Identifizierung der jeweiligen Person notwendig. Da die Namen nicht eindeutig genug waren, wurden die Namen oft mit dem Ort kombiniert, um eine zusammengesetzte Kennung zu schaffen: Mrs. Jones wurde zu Mrs. Jones aus Bromley und nicht zu Mrs. Jones aus Harrow. Als die Aufzeichnungen von Papier auf elektronische Form umgestellt wurden, begann mit der Zuweisung einer eindeutigen, maschinenlesbaren Nummer die Ära der numerischen und alphanumerischen Identifikatoren, die uns heute umgeben.

Innerhalb der Grenzen ihres eigenen Bereichs funktionieren diese Identifikatoren normalerweise gut. Ich identifiziere mich mit meiner eindeutigen Nummer und es ist klar, dass ich die gleiche Person bin. Mit diesem Identifikator lässt sich schnell ein gemeinsamer Kontext zwischen zwei Parteien herstellen und die Möglichkeit von Missverständnissen verringern. Diese Identifikatoren haben in der Regel nichts gemeinsam, variieren in Länge und Format und werden nach unterschiedlichen Schemata vergeben. Es gibt keinen Mechanismus, um sie zu übersetzen oder um zu erkennen, dass sie sich einzeln und zusammen auf mich und nicht auf eine andere Person beziehen.

Aber wenn das Geschäft entpersonalisiert ist und ich die Person, mit der ich zu tun habe, nicht kenne und sie mich nicht kennt, was passiert dann, wenn ich mich mehr als einmal für dieselbe Dienstleistung anmelde? Vielleicht habe ich vergessen, mich mit meiner eindeutigen Nummer zu identifizieren, oder es wird ein neuer Antrag in meinem Namen gestellt. Es wird dann eine zweite Nummer erstellt, die mich ebenfalls identifiziert. Diese Duplizierung macht es für den Dienstleister schwieriger, einen personalisierten Service anzubieten, da er nun zwei verschiedene Datensätze zusammenführen muss, um zu verstehen, wer ich bin und welche Bedürfnisse ich habe.

In größeren Organisationen wird das Problem des Abgleichs von Kundendaten noch schwieriger. Verschiedene Funktionen oder Geschäftsbereiche können ihre eigenen Datensätze führen, die speziell auf ihren Zweck zugeschnitten sind, aber unabhängig voneinander erstellt wurden. Ein häufiges Problem ist, wie man eine umfassende (oder 360-Grad-) Sicht auf einen Kunden erstellen kann. Kunden können über viele Jahre hinweg mit verschiedenen Teilen eines Unternehmens interagiert haben. Sie haben dies in verschiedenen Kontexten getan - als Einzelperson, als Teil eines gemeinsamen Haushalts oder vielleicht in einer offiziellen Funktion, die mit einem Unternehmen oder einer anderen juristischen Person verbunden ist. Im Laufe dieser verschiedenen Interaktionen kann ein und dieselbe Person in verschiedenen Systemen mit einer Vielzahl von Identifikatoren versehen worden sein.

Diese Situation entsteht häufig durch (oft historische) Fusionen und Übernahmen, bei denen sich überschneidende Kundengruppen zusammengeführt und einheitlich als eine einzige Population behandelt werden sollen. Wie können wir einen Kunden aus einem Bereich mit einem Kunden aus einem anderen Bereich abgleichen?

Diese Herausforderung der Zusammenführung von Datensätzen tritt auch auf, wenn Datensätze verschiedener Organisationen zusammengeführt werden. Da es in der Regel keinen allgemeingültigen Standard oder gemeinsamen Schlüssel zwischen den Unternehmen gibt, insbesondere in Bezug auf Einzelpersonen, ist die Zusammenführung ihrer Daten eine häufig übersehene und nicht triviale Aufgabe.

Die größten Herausforderungen bei der Auflösung von Entitäten

Wenn unsere zugewiesenen eindeutigen Bezeichner alle unterschiedlich sind und nicht übereinstimmen, wie können wir dann feststellen, dass sich zwei Datensätze auf dieselbe Person beziehen? Am besten vergleichen wir einzelne Attribute dieser Personen, wie z. B. ihren Namen, und wenn sie genügend Ähnlichkeiten aufweisen, können wir nach bestem Wissen und Gewissen entscheiden, dass sie übereinstimmen. Das klingt doch ganz einfach, oder? Sehen wir uns einige der Gründe an, warum das nicht so einfach ist, wie es klingt.

Mangel an eindeutigen Namen

Erstens gibt es die Herausforderung, die Einzigartigkeit von Namen oder Bezeichnungen zu erkennen. Die wiederholte Zuweisung desselben Namens an verschiedene Personen der realen Welt stellt eine offensichtliche Herausforderung dar, um zu unterscheiden, wer wer ist. Vielleicht hast du im Internet nach deinem eigenen Namen gesucht. Wenn dein Name nicht besonders ungewöhnlich ist, wirst du wahrscheinlich viele Doppelgänger finden, die genau denselben Namen tragen wie du.

Inkonsistente Namenskonventionen

Namen werden auf verschiedene Arten und in unterschiedlichen Datenstrukturen erfasst. Manchmal werden Namen vollständig beschrieben, aber oft gibt es auch Abkürzungen oder weniger wichtige Teile des Namens werden weggelassen. Mein Name könnte zum Beispiel völlig korrekt als eine der Varianten in Tabelle 1-1 ausgedrückt werden.

Tabelle 1-1. Namensvariationen
Name
Michael Shearer
Michael William Shearer
Michael William Robert Shearer
Michael W. R. Shearer
M W R Shearer
M W Shearer

Keiner dieser Namen stimmt genau mit dem anderen überein, aber alle beziehen sich auf dieselbe Person, dasselbe reale Wesen. Titel, Spitznamen, verkürzte Formen oder akzentuierte Buchstaben erschweren die Suche nach einer exakten Übereinstimmung. Doppelte Nachnamen oder Nachnamen mit Bindestrich sorgen für zusätzliche Abwechslung.

Im internationalen Kontext variieren die Namensgebungspraktiken auf der ganzen Welt enorm. Personennamen können am Anfang oder am Ende eines Namens stehen und Familiennamen können vorhanden sein oder auch nicht. Familiennamen können auch je nach Geschlecht und Familienstand der Person variieren. Namen können in einer Vielzahl von Alphabeten/Zeichensätzen geschrieben oder in verschiedenen Sprachen unterschiedlich übersetzt werden.1

Unstimmigkeiten bei der Datenerfassung

Das Verfahren zur Erfassung und Aufzeichnung von Namen oder Bezeichnungen spiegelt normalerweise die Datenstandards des Erfassers wider. Bei einigen Datenerfassungsprozessen werden nur Großbuchstaben verwendet, bei anderen Kleinbuchstaben, während viele eine gemischte Schreibweise zulassen, bei der die Anfangsbuchstaben groß geschrieben werden.

Ein Name wird vielleicht nur im Gespräch gehört, ohne dass die Gelegenheit besteht, die richtige Schreibweise zu klären, oder er wird in der Eile falsch abgeschrieben. Oft werden Namen oder Bezeichnungen bei der manuellen Nacherfassung falsch geschrieben oder versehentlich ausgelassen. Manchmal werden unterschiedliche Konventionen verwendet, die leicht falsch interpretiert werden können, wenn der ursprüngliche Kontext verloren geht. So kann zum Beispiel auch ein einfacher Name als "Vorname, Nachname" oder vielleicht als "Nachname, Vorname" erfasst oder sogar komplett in die falschen Felder übertragen werden.

Die internationale Datenerfassung kann zu Unstimmigkeiten bei der Transkription von einer Schrift in die andere oder zu Transkriptionsfehlern bei der mündlichen Erfassung führen.

Bearbeitetes Beispiel

Betrachten wir ein einfaches, fiktives Beispiel, um zu veranschaulichen, wie sich diese Herausforderungen äußern können. Stellen wir uns vor, die einzige Information, die wir haben, ist der Name, wie in Tabelle 1-2 dargestellt.

Tabelle 1-2. Beispielsätze
Name
Michael Shearer
Micheal William Shearer

Ist es wahrscheinlich, dass sich ein "Michael Shearer" auf dieselbe Person bezieht wie ein "Michael William Shearer"? Wenn es keine weiteren Informationen gibt, ist die Wahrscheinlichkeit groß, dass sich beide auf dieselbe Person beziehen. Der zweite, mit dem Zusatz eines zweiten Vornamens, hat zusätzliche Informationen, aber ansonsten sind sie fast identisch und ein Vergleich der beiden Nachnamen würde eine exakte Übereinstimmung ergeben. Beachte, dass ich einen häufigen Schreibfehler meines Vornamens eingebaut habe. Hast du ihn entdeckt?

Was ist, wenn wir ein weiteres Attribut hinzufügen - kann das unsere Abgleichgenauigkeit verbessern? Wenn du dich nicht mehr an deine Mitgliedsnummer erinnern kannst, fragt ein Dienstleister oft nach deinem Geburtsdatum, um dich zu identifizieren (auch aus Sicherheitsgründen). Das Geburtsdatum ist ein besonders hilfreiches Attribut, weil es sich nicht ändert und eine große Anzahl von möglichen Werten hat (bekannt als hohe Kardinalität). Auch die zusammengesetzte Struktur der einzelnen Werte für Tag, Monat und Jahr kann uns Hinweise auf die Wahrscheinlichkeit einer Übereinstimmung geben, wenn keine exakte Entsprechung festgestellt werden kann. Betrachte zum Beispiel Tabelle 1-3.

Tabelle 1-3. Beispiel Datensätze-2
Name Geburtsdatum
Michael Shearer 1/4/1970
Micheal William Shearer 14. Januar 1970

Auf den ersten Blick stimmt das Geburtsdatum der beiden Datensätze nicht überein, sodass man versucht sein könnte, die Übereinstimmung zu ignorieren. Wenn diese beiden Personen 10 Tage auseinander geboren sind, ist es unwahrscheinlich, dass sie dieselbe Person sind! Es gibt jedoch nur einen einstelligen Unterschied zwischen den beiden, wobei im ersten Datensatz die führende Ziffer 1 im Tagesunterfeld fehlt - könnte das ein Tippfehler sein? Das ist schwer zu sagen. Wenn die Datensätze aus unterschiedlichen Quellen stammen, müssen wir auch prüfen, ob das Datenformat einheitlich ist - haben wir das britische Format DD/MM/YYYY oder das US-Format MM/DD/YYYY?

Was ist, wenn wir einen Geburtsort hinzufügen? Auch dieses Attribut sollte sich nicht ändern, aber es kann auf verschiedenen Granularitätsebenen oder mit unterschiedlicher Zeichensetzung ausgedrückt werden. Tabelle 1-4 zeigt die angereicherten Datensätze.

Tabelle 1-4. Beispiel Datensätze-3
Name Geburtsdatum Ort der Geburt
Michael Shearer 1/4/1970 Stow-on-the-Wold
Micheal William Shearer 14. Januar 1970 Stow on the Wold

Hier gibt es keine exakte Übereinstimmung des Geburtsortes zwischen den beiden Aufzeichnungen, obwohl beide sachlich korrekt sein könnten.

Daher hilft uns der Geburtsort, der auf verschiedenen Ebenen aufgezeichnet werden kann, nicht so sehr weiter, wie wir dachten. Wie wäre es mit etwas Persönlicherem, wie einer Telefonnummer? Natürlich ändern viele von uns im Laufe ihres Lebens ihre Telefonnummer, aber mit der Möglichkeit, eine liebgewonnene und gut sozialisierte Handynummer beizubehalten, wenn man den Anbieter wechselt, ist diese Nummer ein festeres Attribut, das wir nutzen können. Aber auch hier gibt es Herausforderungen. Personen können mehr als eine Nummer besitzen (z. B. eine berufliche und eine private Nummer), oder die Kennung kann in verschiedenen Formaten aufgezeichnet sein, einschließlich Leerzeichen oder Bindestrichen. Sie kann eine internationale Vorwahl enthalten oder nicht.

Tabelle 1-5 zeigt unsere vollständigen Aufzeichnungen.

Tabelle 1-5. Beispiel Datensätze-4
Name Geburtsdatum Ort der Geburt Handynummer
Michael Shearer 1/4/1970 Stow-on-the-Wold 07700 900999
Micheal William Shearer 14. Januar 1970 Stow on the Wold 0770-090-0999

Wie du siehst, wird diese Herausforderung schnell ziemlich kompliziert.

Vorsätzliche Vernebelung

Die überwiegende Mehrheit der Dateninkonsistenzen, die den Abgleichprozess behindern, entstehen durch unaufmerksame, aber gut gemeinte Datenerfassungsprozesse. Bei einigen Anwendungen müssen wir jedoch das Szenario in Betracht ziehen, dass Daten böswillig verschleiert wurden, um die wahre Identität der Person zu verschleiern und Assoziationen zu verhindern, die kriminelle Absichten oder Verbindungen offenbaren könnten.

Spiel Permutationen

Wenn ich dich bitten würde, deinen Namen mit einer einfachen Tabelle von, sagen wir, 30 Namen abzugleichen, könntest du das wahrscheinlich innerhalb von ein paar Sekunden tun. Bei einer längeren Liste dauert es vielleicht ein paar Minuten, aber es ist trotzdem eine praktische Aufgabe. Wenn ich dich aber bitte, eine Liste mit 100 Namen mit einer zweiten Liste mit 100 Namen zu vergleichen, wird die Aufgabe sehr viel mühsamer und fehleranfälliger.

Nicht nur, dass sich die Anzahl der möglichen Übereinstimmungen auf 10.000 (100 × 100) erhöht, du musst auch alle 100 Namen aus der ersten Tabelle im Kopf behalten, wenn du sie in einem Durchgang durch die zweite Tabelle finden willst - nicht einfach!

Wenn ich dich bitten würde, eine Liste mit 100 Namen in eine einzige Liste zu verwandeln, müsstest du tatsächlich vergleichen:

  1. Der erste Name gegen die restlichen 99, dann
  2. Der zweite Name gegen die restlichen 98 und so weiter.

Tatsächlich müsstest du 4.950 Vergleiche anstellen. Bei einem Vergleich pro Sekunde sind das etwa 80 Minuten Arbeit, nur um zwei kurze Listen zu vergleichen. Bei viel größeren Datensätzen wird die Anzahl der möglichen Kombinationen selbst für die leistungsfähigste Hardware unpraktisch.

Blind Matching?

Bisher sind wir davon ausgegangen, dass die Datensätze, die wir abgleichen wollen, für uns völlig transparent sind - dass also die Werte der Attribute in vollem Umfang verfügbar sind und in keiner Weise verschleiert oder maskiert wurden. In manchen Fällen ist dieses Ideal aufgrund von Datenschutzbestimmungen oder geopolitischen Faktoren, die den grenzüberschreitenden Datenverkehr verhindern, nicht möglich. Wie können wir Übereinstimmungen finden, ohne dass wir die Daten sehen können? Das klingt wie Zauberei, aber wie wir in Kapitel 10 sehen werden, gibt es kryptografische Techniken, die einen Abgleich ermöglichen, ohne dass die abzugleichende Liste vollständig offengelegt werden muss.

Der Entitätsauflösungsprozess

Um die genannten Herausforderungen zu bewältigen, wird der grundlegende Prozess der Entitätsauflösung in vier aufeinanderfolgende Schritte unterteilt:

  1. Datenstandardisierung
  2. Blockieren von Aufzeichnungen
  3. Attribut-Vergleich
  4. Spielklassifizierung

Nach der Klassifizierung von Übereinstimmungen können weitere Nachbearbeitungsschritte erforderlich sein:

  • Clustering
  • Kanonisierung

Lass uns jeden dieser Schritte kurz beschreiben.

Datenstandardisierung

Bevor wir Datensätze vergleichen können, müssen wir sicherstellen, dass wir konsistente Datenstrukturen haben, damit wir die Gleichwertigkeit der Attribute prüfen können. Außerdem müssen wir sicherstellen, dass die Formatierung dieser Attribute einheitlich ist. Dieser Verarbeitungsschritt umfasst in der Regel das Aufteilen von Feldern und das Entfernen von Nullwerten und überflüssigen Zeichen. Er ist oft auf den Quelldatensatz zugeschnitten.

Blockieren von Aufzeichnungen

Um die Herausforderung der unpraktisch hohen Anzahl von Datensatzvergleichen zu bewältigen, wird oft ein Verfahren namens blocking verwendet. Anstatt jeden Datensatz mit jedem anderen Datensatz zu vergleichen, werden nur Teilmengen von Datensatzpaaren, die auf der Grundlage der Gleichwertigkeit bestimmter Attribute vorausgewählt wurden, in ihrer Gesamtheit verglichen. Dieser Filteransatz konzentriert den Auflösungsprozess auf die Datensätze, bei denen die Wahrscheinlichkeit einer Übereinstimmung am größten ist.

Attribut-Vergleich

Als Nächstes werden die einzelnen Attribute zwischen den durch die Sperrung ausgewählten Datensatzpaaren verglichen. Der Grad der Gleichwertigkeit kann auf der Grundlage einer exakten Übereinstimmung zwischen den Attributen oder einer Ähnlichkeitsfunktion ermittelt werden. Dieser Prozess führt zu einer Reihe von Äquivalenzmaßen zwischen zwei Datensatzpaaren.

Spielklassifizierung

Der letzte Schritt im grundlegenden Entitätsauflösungsprozess besteht darin, festzustellen, ob die kollektive Ähnlichkeit zwischen den einzelnen Attributen ausreicht, um zwei Datensätze als übereinstimmend zu erklären, d. h., um festzustellen, dass sie sich auf dieselbe reale Entität beziehen. Diese Entscheidung kann nach einer Reihe von manuell festgelegten Regeln getroffen werden oder auf einem probabilistischen Ansatz des maschinellen Lernens basieren.

Clustering

Sobald unsere Klassifizierung abgeschlossen ist, können wir unsere Datensätze anhand der übereinstimmenden Paare in zusammenhängende Cluster gruppieren. Die Zugehörigkeit eines Datensatzpaares zu einem Cluster kann durch einen zusätzlichen Schwellenwert für die Konfidenz der Übereinstimmung bestimmt werden. Datensätze, deren Paare diesen Schwellenwert nicht überschreiten, bilden eigenständige Cluster. Wenn unsere Abgleichskriterien unterschiedliche Äquivalenzkriterien zulassen, können unsere Cluster intransitiv sein, d. h. Datensatz A kann mit Datensatz B und Datensatz B mit Datensatz C gepaart sein, aber Datensatz C darf nicht mit Datensatz A gepaart sein.

Kanonisierung

Nach der Auflösung kann es erforderlich sein, zu bestimmen, welche Attributwerte zur Darstellung einer Entität verwendet werden sollen. Wenn ungefähre Matching-Techniken verwendet wurden, um die Gleichwertigkeit zu bestimmen, oder wenn ein zusätzliches variables Attribut in dem Paar oder Cluster vorhanden ist, aber nicht im Matching-Prozess verwendet wurde, muss eventuell entschieden werden, welcher Wert am repräsentativsten ist. Die daraus resultierenden kanonischen Attributwerte werden dann bei weiteren Berechnungen zur Beschreibung der aufgelösten Entität verwendet.

Bearbeitetes Beispiel

Kehren wir zu unserem einfachen Beispiel zurück und wenden wir die Schritte auf unsere Daten an. Zuerst standardisieren wir unsere Daten, indem wir das Namensattribut aufteilen, das Geburtsdatum standardisieren und die zusätzlichen Zeichen in den Feldern für den Geburtsort und die Handynummer entfernen. Tabelle 1-6 zeigt unsere bereinigten Datensätze.

Tabelle 1-6. Schritt 1: Standardisierte Datensätze
Vorname Nachname Geburtsdatum Ort der Geburt Handynummer
Michael Schafscherer 1/4/1970 Stow on the Wold 07700 900999
Micheal Schafscherer 1/14/1970 Stow on the Wold 07700 900999

In diesem einfachen Beispiel haben wir nur ein Paar zu berücksichtigen, also müssen wir keine Sperrung anwenden. Wir werden in Kapitel 5 darauf zurückkommen.

Als Nächstes vergleichen wir die einzelnen Attribute auf genaue Übereinstimmungen. Tabelle 1-7 zeigt den Vergleich zwischen jedem Attribut als "Übereinstimmung" oder "keine Übereinstimmung".

Tabelle 1-7. Schritt 3: Attributvergleich
Attribut Wertesatz 1 Wertesatz 2 Vergleich
Vorname Michael Micheal Keine Übereinstimmung
Nachname Schafscherer Schafscherer Spiel
Geburtsdatum 1/4/1970 1/14/1970 Keine Übereinstimmung
Ort der Geburt Stow on the Wold Stow on the Wold Spiel
Handynummer 07700 900999 07700 900999 Spiel

Abschließend wird in Schritt 4 festgestellt, ob es sich um eine Gesamtübereinstimmung handelt. Eine einfache Regel könnte lauten: Wenn die Mehrheit der Attribute übereinstimmt, dann ist der gesamte Datensatz eine Übereinstimmung, wie in diesem Fall.

Alternativ können wir auch verschiedene Kombinationen übereinstimmender Attribute als ausreichend betrachten, um eine Übereinstimmung zu erklären. In unserem Beispiel könnten wir entweder nach einer Übereinstimmung suchen:

  • Namensübereinstimmung UND (Geburtsdatum ODER Geburtsort stimmen überein), oder
  • Name UND Handynummer stimmen überein

Wir können diesen Ansatz noch einen Schritt weiter gehen und jedem unserer Attributvergleiche eine relative Gewichtung zuweisen; eine Übereinstimmung mit der Handynummer ist vielleicht doppelt so viel wert wie eine Übereinstimmung mit dem Geburtsdatum und so weiter. Die Kombination dieser gewichteten Werte ergibt eine Gesamtpunktzahl, die mit einer bestimmten Vertrauensschwelle verglichen werden kann.

In Kapitel 4 werden wir verschiedene Ansätze zur Bestimmung dieser relativen Gewichtungen mit Hilfe von statistischen Verfahren und maschinellem Lernen näher betrachten.

Wie wir gesehen haben, können verschiedene Attribute stärker oder schwächer sein, wenn es darum geht, festzustellen, ob wir eine Übereinstimmung haben. Zuvor haben wir uns überlegt, wie wahrscheinlich es ist, dass wir einen Treffer für einen recht häufigen Namen finden, im Gegensatz zu einem Namen, der seltener vorkommt. In Großbritannien zum Beispiel ist eine Übereinstimmung mit dem Nachnamen Smith wahrscheinlich weniger aussagekräftig als eine Übereinstimmung mit Shearer - es gibt weniger Shearers als Smiths, also ist eine Übereinstimmung von vornherein unwahrscheinlicher (eine geringere Wahrscheinlichkeit).

Dieser probabilistische Ansatz funktioniert besonders gut, wenn einige der Werte eines kategorialen Attributs (eines mit einer endlichen Menge von Werten) deutlich häufiger vorkommen als andere. Wenn wir ein Stadtattribut als Teil eines Adresstreffers in einem britischen Datensatz betrachten, dann kommt London wahrscheinlich viel häufiger vor als z. B. Bath und kann daher weniger gewichtet werden.

Beachte, dass wir nicht in der Lage waren zu bestimmen, welches Geburtsdatum definitiv richtig ist, so dass wir vor einer Herausforderung bei der Kanonisierung stehen.

Leistung messen

Statistische Ansätze können uns dabei helfen, zu entscheiden, wie wir alle Hinweise, die uns der Vergleich einzelner Attribute liefert, auswerten und kombinieren können, aber wie entscheiden wir, ob die Kombination gut genug ist oder nicht? Wie legen wir die Vertrauensschwelle fest, um eine Übereinstimmung festzustellen? Das hängt davon ab, was uns wichtig ist und wie wir unsere neu gefundenen Übereinstimmungen nutzen wollen.

Ist es uns wichtiger, dass wir alle potenziellen Übereinstimmungen erkennen, und ist es in Ordnung, wenn wir dabei ein paar Übereinstimmungen melden, die sich als falsch herausstellen? Diese Maßnahme ist als recall bekannt. Oder wollen wir unsere Zeit nicht mit falschen Übereinstimmungen verschwenden, aber wenn wir dabei ein paar richtige Übereinstimmungen übersehen, ist das in Ordnung. Dies wird als Genauigkeit bezeichnet.

Beim Vergleich zweier Datensätze gibt es vier verschiedene Szenarien, die auftreten können. Tabelle 1-8 listet die verschiedenen Kombinationen von Abgleichentscheidung und Ground Truth auf.

Tabelle 1-8. Passende Klassifizierungen
Du entscheidest Grundwahrheit Instanz von
Spiel Spiel Wahr positiv (TP)
Spiel Keine Übereinstimmung Falsch positiv (FP)
Keine Übereinstimmung Spiel Falsches Negativ (FN)
Keine Übereinstimmung Keine Übereinstimmung Wahres Negativ (TN)

Wenn unser Recall-Wert hoch ist, melden wir nur relativ wenige falsche Negativmeldungen, d. h., wir übersehen bei der Meldung einer Übereinstimmung nur selten einen guten Kandidaten. Wenn unsere Genauigkeit hoch ist, haben wir fast immer Recht, wenn wir eine Übereinstimmung melden.

Stellen wir uns einmal vor, wir würden jedes Kandidatenpaar als übereinstimmend deklarieren. Dann gäbe es keine falsch-negativen Ergebnisse und unser Maß für die Trefferquote wäre perfekt (1,0). Natürlich wäre unsere Genauigkeit sehr schlecht, da wir viele Nicht-Übereinstimmungen fälschlicherweise als Übereinstimmungen deklarieren würden. Oder stell dir vor, wir deklarieren eine Übereinstimmung im Idealfall, wenn jedes Attribut genau gleich ist. Dann werden wir nie eine Übereinstimmung fälschlicherweise deklarieren und unsere Genauigkeit wird perfekt (1,0) sein, allerdings auf Kosten unserer Auffindbarkeit, die sehr schlecht sein wird, da uns viele gute Übereinstimmungen entgehen.

Im Idealfall möchten wir natürlich eine hohe Auffindbarkeit und Präzision gleichzeitig - unsere Treffer sind sowohl richtig als auch umfassend - aber das ist schwierig zu erreichen! In Kapitel 6 wird dieser Prozess ausführlicher beschrieben.

Erste Schritte

Wie können wir diese Herausforderungen also lösen?

Wir hoffen, dass du in diesem Kapitel gut verstanden hast, was die Entitätsauflösung ist, warum sie benötigt wird und wie die wichtigsten Schritte im Prozess aussehen. Die folgenden Kapitel führen dich praxisnah durch eine Reihe von Beispielen aus der Praxis, die auf öffentlich verfügbaren Daten basieren.

Zum Glück gibt es neben den kommerziellen Optionen auch einige Open-Source-Python-Bibliotheken, die uns einen Großteil der Arbeit abnehmen. Diese Frameworks bieten das Gerüst, auf dem wir ein maßgeschneidertes Matching-Verfahren aufbauen können, das zu unseren Daten und unserem Kontext passt.

Bevor wir beginnen, werden wir im nächsten Kapitel einen kurzen Abstecher machen, um unsere Analyseumgebung einzurichten und einige der grundlegenden Python-Bibliotheken für die Datenwissenschaft kennenzulernen, die wir verwenden werden.

1 Weitere Informationen zu globalen Namenskonventionen findest du in diesem Leitfaden.

Get Praktische Auflösung von Entitäten now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.