Zusammenfassung

      Zusammenfassung

          Zusammenfassung

              Zusammenfassung

                  Zusammenfassung

                      Zusammenfassung

                          Zusammenfassung

                              Wie in diesem Kapitel verdeutlicht wurde, kann Datenharmonisierung in verschiedenen Dimensionen durchgeführt werden.

                              • Es gibt die Gewichtung einzelner Attribute, was sehr häufig getan wird.
                              • Innerhalb der Attributwerte können durch TF-IDF häufiger und seltener auftretende Terme gewichtet werden.
                              • Parallel angewendete Metriken können gegeneinander gewichtet bzw. als sequentieller Entscheidungsbaum Top-Down-Traversierung aufgebaut werden.

                              Abschließend soll ein kleiner Überblick zu frei verfügbaren Datenharmonisierungs-Tools bzw. Frameworks gegeben werden. Er stellt keinerlei Anspruch auf Vollständigkeit, sondern eine während der Bearbeitung explorativ aufgefundene Auswahl dar. Zunächst werden die Methoden-Sammlungen von Wilhelm Cohen und Sam Chapman genannt. Anschließend folgen einige Worte zu einem Record-Linkage-Framework von Peter Christen und Tim Churches. Abschließend wird das mit Lernmethoden aus Kapitel Klassifizierung arbeitende Marlin-Framework angesprochen, und mit ähnlichen Ansätzen von Cohen et.al und Minton et.al. verglichen.

                              [secstring06] SecondString ist eine Sammlung von Java-Klassen, welche eine große Auswahl an String-Vergleichs-Algorithmen enthalten. Von W. Cohen für Zeichenvergleichs-Experimente entwickelt, umfasst SecondString Methoden zum Tokenisieren und Grobblockieren, statische Zeichenketten-Metriken sowie Gewichtungsmethoden, jedoch keine Methoden zur Daten-Standardisierung oder Klassifizierung.

                              [simmetric06] stellt den europäischen Gegenpart dar. Der Umfang ist vergleichbar, der Code jedoch übersichtlicher gestaltet. Beide Pakete sind als OpenSource-Download unter [SF06] zu finden.

                              Die Herkunft des in objektorientierten Python implementierten Frameworks [Febrl05] liegt in der Bioinformatik. An der Universität Canberra, Australien von Peter Christen und Tim Churches entwickelt, stellt es die vollständige Mächtigkeit für Harmonisierungsaufgaben zur Verfügung. Ferbl teilt die Datenbearbeitung in die Schritte Datenanalyse/Standardisierung und Record-Linkage/Deduplikation auf.

                              Der erste Schritt umfasst im einzelnen die Wort-Ersetzung unter Nutzung von Lookup-Tables und Korrekturlisten. Anschließende werden Datums- und Zeitformate standardisiert und die Ergebnisse zwischengespeichert.

                              Im zweiten Schritt werden auf die Datenmenge Blockier- und Sortieralgorithmen angewendet und mögliche Treffer einem Feldvergleich mit individuellen, im Kapitel 4.4 vorgestellten Methoden zugeführt. In der Klassifizierung werden die Ergebnisse ausgewertet und ein ausführliches Logging für Protokoll-Untersuchungen erstellt.

                              Die Ähnlichkeitsschätzung zwischen Strings ist enormen Schwankungen unterlegen, abhängig von Domain und Aspekt (Betrachtungsweise). Anstatt diese Gewichtungen von Hand anzulernen sind trainierbaren Ähnlichkeitsberechnungen der Vorzug zu geben.

                              Die Folgende drei Ansätze, wovon Marlin als Einziger umgesetzt zu sein scheint, arbeiten mit einer vom Nutzer vorher gegebenen Traingsmenge an Daten. Diese beinhaltete gekennzeichnete korrekte sowie inkorrekte Vergleichsdatensätze und berechnet daraus zunächst bestimmte Parameter für die Abarbeitung der eigentlichen Daten.

                              Marlin ist eine auf dem Weka-Framework [weka06] basierende, automatische Trainingsumgebung der Universität Texas [Bilen03].

                              Funktionsweise MARLIN

                              In der Trainingsphase bekommt Marlin lernbare DistanzMetriken für jedes Datenfeld präsentiert. Homonyme („noisy trainingsdata“) wie beispielsweise „Asian“ und „Seafood“ werden dabei als Trainingspaare erkannt und erhalten eine Ähnlichkeit zugewiesen.

                              Nach dem Erlernen dieser Ähnlichkeitsmetriken für jedes individuelle Datensatzfeld wird das gewonnene Wissen genutzt, um die Distanz für jeden Datensatz zu berechnen. Diese Vektoren bestehend aus Distanz-Merkmalen und werden als Trainingsdaten für den Binärklassifikator genutzt. Bei diesem Vorgang kommt der unter Kapitel 4.5.5. vorgestellte „Support Vector Machine“-Algorithmus zur Anwendung, welche traditionelle Entscheidungsbäume übertrifft [kdd03].

                              In der „Erkennungsphase“ werden alle Datensätze miteinander verglichen. Da dies eine Anzahl von O(n²) Vergleichen bedeuten würde, nutzt „Marlin“ einen aus Canopies-Clustering via Jaccard bestehenden Pre-Blocking-Algorithmus.

                              Anschließend werden die gelernten Distanz-Metriken verwendet, um jedes Feld von jedem Paar möglicher Duplikat-Datensätze auszuwerten, also der Erstellung von Distanz-Feature-Vektoren für den Klassifizierer. Glaubhafte Schätzungen zur Einordnung in die Gruppe der Duplikate oder Unikate werden durch den Binär-Klassifikator vorgenommen, und Paare werden mit aufsteigender Reihenfolge sortiert.

                              Der von Cohen und Richmann genutzte Ansatz verwendet ebenso den Canopy-Algorithmus. Dieser wählt zu Beginn aus dem kompletten Datenbestand bestimmte Datensatzpaare aus, für die der Benutzer die Einteilung „match“ oder „non-match“ übernimmt. Diese werden darauffolgend als „Mittelpunkte“ genutzt.

                              Der Canopy-Algorithmus teilt nun mit Hilfe der Parameter und alle weiteren Paare den identifizierten Paaren zu.

                              Mit den gewonnenen Informationen bildet der Klassifikations-Lerner zwei Funktionen. Zum einen eine boolean-Funktion h(a,b), welche die Übereinstimmung der Datensätze a und b zurückgibt, zum Zweiten eine Funktion c(a,b), die die Wahrscheinlichkeit liefert, mit der die Klassifizierung h(a,b) positiv ist. Je höher c, umso sicherer ist der Klassifikations-Lerner mit der Einstufung der beiden Records als Duplikate.

                              Um den Maschinenlerner, meist ein „Expectation Maximization Lerner“, zu trainieren, werden aus den Kandidatenpaaren m Paare ausgewählt, für die der Nutzer die Übereinstimmung bewertet.

                              Hierbei werden aus den beiden Records mehrere Eigenschaften zusammen betrachtet, um daraus die Hypothese c(a,b) möglichst genau anzupassen. Eigenschaften sind binär, also ein Datensatz, und besitzt eine Eigenschaft oder nicht. Mögliche Paar-Eigenschaften sind SubstringMatch, PrefixMath, EditDistance, MatchAToken, MatchBToken, MatchABigram, JaccardDistance, StrongNumberDistance.

                              Die Spalten „Titel“ und „Adresse“ könnten folgende Eigenschaften genutzt werden: SubstringTitel,SubstringAdresse, PrefixMatchTitel, PrefixMatchAdresse,StrongNumberMatchTitel, StrongNumberMatchAdresse. Der Learner gewichtet die Nutzerauswahl, und stärkt somit sein internes Klassifikations-Modell. Abschließend wird auf die Gesamtmenge an Werten ein „GreedyAgglomerativeClustering“-Algorithmus [CallumNigamUngar] angewendet, welcher die Gesamtmenge aufteilt, bis eine vorgegebene Teilmengenanzahl erreicht wurde.

                              Dieser Ansatz arbeitet äquivalent zu Cohen und Richman, baut allerdings nach der 2. Lernphase einen Entscheidungbaum („Decision Tree“) aufgebaut, um alle weiteren Vergleiche über diesen traversierend durchgeführt.

                          Wie in diesem Kapitel verdeutlicht wurde, kann Datenharmonisierung in verschiedenen Dimensionen durchgeführt werden.

                          • Es gibt die Gewichtung einzelner Attribute, was sehr häufig getan wird.
                          • Innerhalb der Attributwerte können durch TF-IDF häufiger und seltener auftretende Terme gewichtet werden.
                          • Parallel angewendete Metriken können gegeneinander gewichtet bzw. als sequentieller Entscheidungsbaum Top-Down-Traversierung aufgebaut werden.

                          Abschließend soll ein kleiner Überblick zu frei verfügbaren Datenharmonisierungs-Tools bzw. Frameworks gegeben werden. Er stellt keinerlei Anspruch auf Vollständigkeit, sondern eine während der Bearbeitung explorativ aufgefundene Auswahl dar. Zunächst werden die Methoden-Sammlungen von Wilhelm Cohen und Sam Chapman genannt. Anschließend folgen einige Worte zu einem Record-Linkage-Framework von Peter Christen und Tim Churches. Abschließend wird das mit Lernmethoden aus Kapitel Klassifizierung arbeitende Marlin-Framework angesprochen, und mit ähnlichen Ansätzen von Cohen et.al und Minton et.al. verglichen.

                          SecondString / Simmetrik

                          [secstring06] SecondString ist eine Sammlung von Java-Klassen, welche eine große Auswahl an String-Vergleichs-Algorithmen enthalten. Von W. Cohen für Zeichenvergleichs-Experimente entwickelt, umfasst SecondString Methoden zum Tokenisieren und Grobblockieren, statische Zeichenketten-Metriken sowie Gewichtungsmethoden, jedoch keine Methoden zur Daten-Standardisierung oder Klassifizierung.

                          [simmetric06] stellt den europäischen Gegenpart dar. Der Umfang ist vergleichbar, der Code jedoch übersichtlicher gestaltet. Beide Pakete sind als OpenSource-Download unter [SF06] zu finden.

                          Ferbl

                          Die Herkunft des in objektorientierten Python implementierten Frameworks [Febrl05] liegt in der Bioinformatik. An der Universität Canberra, Australien von Peter Christen und Tim Churches entwickelt, stellt es die vollständige Mächtigkeit für Harmonisierungsaufgaben zur Verfügung. Ferbl teilt die Datenbearbeitung in die Schritte Datenanalyse/Standardisierung und Record-Linkage/Deduplikation auf.

                          Der erste Schritt umfasst im einzelnen die Wort-Ersetzung unter Nutzung von Lookup-Tables und Korrekturlisten. Anschließende werden Datums- und Zeitformate standardisiert und die Ergebnisse zwischengespeichert.

                          Im zweiten Schritt werden auf die Datenmenge Blockier- und Sortieralgorithmen angewendet und mögliche Treffer einem Feldvergleich mit individuellen, im Kapitel 4.4 vorgestellten Methoden zugeführt. In der Klassifizierung werden die Ergebnisse ausgewertet und ein ausführliches Logging für Protokoll-Untersuchungen erstellt.

                          Marlin

                          Die Ähnlichkeitsschätzung zwischen Strings ist enormen Schwankungen unterlegen, abhängig von Domain und Aspekt (Betrachtungsweise). Anstatt diese Gewichtungen von Hand anzulernen sind trainierbaren Ähnlichkeitsberechnungen der Vorzug zu geben.

                          Die Folgende drei Ansätze, wovon Marlin als Einziger umgesetzt zu sein scheint, arbeiten mit einer vom Nutzer vorher gegebenen Traingsmenge an Daten. Diese beinhaltete gekennzeichnete korrekte sowie inkorrekte Vergleichsdatensätze und berechnet daraus zunächst bestimmte Parameter für die Abarbeitung der eigentlichen Daten.

                          Marlin ist eine auf dem Weka-Framework [weka06] basierende, automatische Trainingsumgebung der Universität Texas [Bilen03].

                          Funktionsweise MARLIN

                          In der Trainingsphase bekommt Marlin lernbare DistanzMetriken für jedes Datenfeld präsentiert. Homonyme („noisy trainingsdata“) wie beispielsweise „Asian“ und „Seafood“ werden dabei als Trainingspaare erkannt und erhalten eine Ähnlichkeit zugewiesen.

                          Nach dem Erlernen dieser Ähnlichkeitsmetriken für jedes individuelle Datensatzfeld wird das gewonnene Wissen genutzt, um die Distanz für jeden Datensatz zu berechnen. Diese Vektoren bestehend aus Distanz-Merkmalen und werden als Trainingsdaten für den Binärklassifikator genutzt. Bei diesem Vorgang kommt der unter Kapitel 4.5.5. vorgestellte „Support Vector Machine“-Algorithmus zur Anwendung, welche traditionelle Entscheidungsbäume übertrifft [kdd03].

                          In der „Erkennungsphase“ werden alle Datensätze miteinander verglichen. Da dies eine Anzahl von O(n²) Vergleichen bedeuten würde, nutzt „Marlin“ einen aus Canopies-Clustering via Jaccard bestehenden Pre-Blocking-Algorithmus.

                          Anschließend werden die gelernten Distanz-Metriken verwendet, um jedes Feld von jedem Paar möglicher Duplikat-Datensätze auszuwerten, also der Erstellung von Distanz-Feature-Vektoren für den Klassifizierer. Glaubhafte Schätzungen zur Einordnung in die Gruppe der Duplikate oder Unikate werden durch den Binär-Klassifikator vorgenommen, und Paare werden mit aufsteigender Reihenfolge sortiert.

                          Cohen/Richman

                          Der von Cohen und Richmann genutzte Ansatz verwendet ebenso den Canopy-Algorithmus. Dieser wählt zu Beginn aus dem kompletten Datenbestand bestimmte Datensatzpaare aus, für die der Benutzer die Einteilung „match“ oder „non-match“ übernimmt. Diese werden darauffolgend als „Mittelpunkte“ genutzt.

                          Der Canopy-Algorithmus teilt nun mit Hilfe der Parameter und alle weiteren Paare den identifizierten Paaren zu.

                          Mit den gewonnenen Informationen bildet der Klassifikations-Lerner zwei Funktionen. Zum einen eine boolean-Funktion h(a,b), welche die Übereinstimmung der Datensätze a und b zurückgibt, zum Zweiten eine Funktion c(a,b), die die Wahrscheinlichkeit liefert, mit der die Klassifizierung h(a,b) positiv ist. Je höher c, umso sicherer ist der Klassifikations-Lerner mit der Einstufung der beiden Records als Duplikate.

                          Um den Maschinenlerner, meist ein „Expectation Maximization Lerner“, zu trainieren, werden aus den Kandidatenpaaren m Paare ausgewählt, für die der Nutzer die Übereinstimmung bewertet.

                          Hierbei werden aus den beiden Records mehrere Eigenschaften zusammen betrachtet, um daraus die Hypothese c(a,b) möglichst genau anzupassen. Eigenschaften sind binär, also ein Datensatz, und besitzt eine Eigenschaft oder nicht. Mögliche Paar-Eigenschaften sind SubstringMatch, PrefixMath, EditDistance, MatchAToken, MatchBToken, MatchABigram, JaccardDistance, StrongNumberDistance.

                          Die Spalten „Titel“ und „Adresse“ könnten folgende Eigenschaften genutzt werden: SubstringTitel,SubstringAdresse, PrefixMatchTitel, PrefixMatchAdresse,StrongNumberMatchTitel, StrongNumberMatchAdresse. Der Learner gewichtet die Nutzerauswahl, und stärkt somit sein internes Klassifikations-Modell. Abschließend wird auf die Gesamtmenge an Werten ein „GreedyAgglomerativeClustering“-Algorithmus [CallumNigamUngar] angewendet, welcher die Gesamtmenge aufteilt, bis eine vorgegebene Teilmengenanzahl erreicht wurde.

                          Tejada Knobloch Minton

                          Dieser Ansatz arbeitet äquivalent zu Cohen und Richman, baut allerdings nach der 2. Lernphase einen Entscheidungbaum („Decision Tree“) aufgebaut, um alle weiteren Vergleiche über diesen traversierend durchgeführt.

                      Wie in diesem Kapitel verdeutlicht wurde, kann Datenharmonisierung in verschiedenen Dimensionen durchgeführt werden.

                      • Es gibt die Gewichtung einzelner Attribute, was sehr häufig getan wird.
                      • Innerhalb der Attributwerte können durch TF-IDF häufiger und seltener auftretende Terme gewichtet werden.
                      • Parallel angewendete Metriken können gegeneinander gewichtet bzw. als sequentieller Entscheidungsbaum Top-Down-Traversierung aufgebaut werden.

                      Abschließend soll ein kleiner Überblick zu frei verfügbaren Datenharmonisierungs-Tools bzw. Frameworks gegeben werden. Er stellt keinerlei Anspruch auf Vollständigkeit, sondern eine während der Bearbeitung explorativ aufgefundene Auswahl dar. Zunächst werden die Methoden-Sammlungen von Wilhelm Cohen und Sam Chapman genannt. Anschließend folgen einige Worte zu einem Record-Linkage-Framework von Peter Christen und Tim Churches. Abschließend wird das mit Lernmethoden aus Kapitel Klassifizierung arbeitende Marlin-Framework angesprochen, und mit ähnlichen Ansätzen von Cohen et.al und Minton et.al. verglichen.

                      SecondString / Simmetrik

                      [secstring06] SecondString ist eine Sammlung von Java-Klassen, welche eine große Auswahl an String-Vergleichs-Algorithmen enthalten. Von W. Cohen für Zeichenvergleichs-Experimente entwickelt, umfasst SecondString Methoden zum Tokenisieren und Grobblockieren, statische Zeichenketten-Metriken sowie Gewichtungsmethoden, jedoch keine Methoden zur Daten-Standardisierung oder Klassifizierung.

                      [simmetric06] stellt den europäischen Gegenpart dar. Der Umfang ist vergleichbar, der Code jedoch übersichtlicher gestaltet. Beide Pakete sind als OpenSource-Download unter [SF06] zu finden.

                      Ferbl

                      Die Herkunft des in objektorientierten Python implementierten Frameworks [Febrl05] liegt in der Bioinformatik. An der Universität Canberra, Australien von Peter Christen und Tim Churches entwickelt, stellt es die vollständige Mächtigkeit für Harmonisierungsaufgaben zur Verfügung. Ferbl teilt die Datenbearbeitung in die Schritte Datenanalyse/Standardisierung und Record-Linkage/Deduplikation auf.

                      Der erste Schritt umfasst im einzelnen die Wort-Ersetzung unter Nutzung von Lookup-Tables und Korrekturlisten. Anschließende werden Datums- und Zeitformate standardisiert und die Ergebnisse zwischengespeichert.

                      Im zweiten Schritt werden auf die Datenmenge Blockier- und Sortieralgorithmen angewendet und mögliche Treffer einem Feldvergleich mit individuellen, im Kapitel 4.4 vorgestellten Methoden zugeführt. In der Klassifizierung werden die Ergebnisse ausgewertet und ein ausführliches Logging für Protokoll-Untersuchungen erstellt.

                      Marlin

                      Die Ähnlichkeitsschätzung zwischen Strings ist enormen Schwankungen unterlegen, abhängig von Domain und Aspekt (Betrachtungsweise). Anstatt diese Gewichtungen von Hand anzulernen sind trainierbaren Ähnlichkeitsberechnungen der Vorzug zu geben.

                      Die Folgende drei Ansätze, wovon Marlin als Einziger umgesetzt zu sein scheint, arbeiten mit einer vom Nutzer vorher gegebenen Traingsmenge an Daten. Diese beinhaltete gekennzeichnete korrekte sowie inkorrekte Vergleichsdatensätze und berechnet daraus zunächst bestimmte Parameter für die Abarbeitung der eigentlichen Daten.

                      Marlin ist eine auf dem Weka-Framework [weka06] basierende, automatische Trainingsumgebung der Universität Texas [Bilen03].

                      Funktionsweise MARLIN

                      In der Trainingsphase bekommt Marlin lernbare DistanzMetriken für jedes Datenfeld präsentiert. Homonyme („noisy trainingsdata“) wie beispielsweise „Asian“ und „Seafood“ werden dabei als Trainingspaare erkannt und erhalten eine Ähnlichkeit zugewiesen.

                      Nach dem Erlernen dieser Ähnlichkeitsmetriken für jedes individuelle Datensatzfeld wird das gewonnene Wissen genutzt, um die Distanz für jeden Datensatz zu berechnen. Diese Vektoren bestehend aus Distanz-Merkmalen und werden als Trainingsdaten für den Binärklassifikator genutzt. Bei diesem Vorgang kommt der unter Kapitel 4.5.5. vorgestellte „Support Vector Machine“-Algorithmus zur Anwendung, welche traditionelle Entscheidungsbäume übertrifft [kdd03].

                      In der „Erkennungsphase“ werden alle Datensätze miteinander verglichen. Da dies eine Anzahl von O(n²) Vergleichen bedeuten würde, nutzt „Marlin“ einen aus Canopies-Clustering via Jaccard bestehenden Pre-Blocking-Algorithmus.

                      Anschließend werden die gelernten Distanz-Metriken verwendet, um jedes Feld von jedem Paar möglicher Duplikat-Datensätze auszuwerten, also der Erstellung von Distanz-Feature-Vektoren für den Klassifizierer. Glaubhafte Schätzungen zur Einordnung in die Gruppe der Duplikate oder Unikate werden durch den Binär-Klassifikator vorgenommen, und Paare werden mit aufsteigender Reihenfolge sortiert.

                      Cohen/Richman

                      Der von Cohen und Richmann genutzte Ansatz verwendet ebenso den Canopy-Algorithmus. Dieser wählt zu Beginn aus dem kompletten Datenbestand bestimmte Datensatzpaare aus, für die der Benutzer die Einteilung „match“ oder „non-match“ übernimmt. Diese werden darauffolgend als „Mittelpunkte“ genutzt.

                      Der Canopy-Algorithmus teilt nun mit Hilfe der Parameter und alle weiteren Paare den identifizierten Paaren zu.

                      Mit den gewonnenen Informationen bildet der Klassifikations-Lerner zwei Funktionen. Zum einen eine boolean-Funktion h(a,b), welche die Übereinstimmung der Datensätze a und b zurückgibt, zum Zweiten eine Funktion c(a,b), die die Wahrscheinlichkeit liefert, mit der die Klassifizierung h(a,b) positiv ist. Je höher c, umso sicherer ist der Klassifikations-Lerner mit der Einstufung der beiden Records als Duplikate.

                      Um den Maschinenlerner, meist ein „Expectation Maximization Lerner“, zu trainieren, werden aus den Kandidatenpaaren m Paare ausgewählt, für die der Nutzer die Übereinstimmung bewertet.

                      Hierbei werden aus den beiden Records mehrere Eigenschaften zusammen betrachtet, um daraus die Hypothese c(a,b) möglichst genau anzupassen. Eigenschaften sind binär, also ein Datensatz, und besitzt eine Eigenschaft oder nicht. Mögliche Paar-Eigenschaften sind SubstringMatch, PrefixMath, EditDistance, MatchAToken, MatchBToken, MatchABigram, JaccardDistance, StrongNumberDistance.

                      Die Spalten „Titel“ und „Adresse“ könnten folgende Eigenschaften genutzt werden: SubstringTitel,SubstringAdresse, PrefixMatchTitel, PrefixMatchAdresse,StrongNumberMatchTitel, StrongNumberMatchAdresse. Der Learner gewichtet die Nutzerauswahl, und stärkt somit sein internes Klassifikations-Modell. Abschließend wird auf die Gesamtmenge an Werten ein „GreedyAgglomerativeClustering“-Algorithmus [CallumNigamUngar] angewendet, welcher die Gesamtmenge aufteilt, bis eine vorgegebene Teilmengenanzahl erreicht wurde.

                      Tejada Knobloch Minton

                      Dieser Ansatz arbeitet äquivalent zu Cohen und Richman, baut allerdings nach der 2. Lernphase einen Entscheidungbaum („Decision Tree“) aufgebaut, um alle weiteren Vergleiche über diesen traversierend durchgeführt.

                  Wie in diesem Kapitel verdeutlicht wurde, kann Datenharmonisierung in verschiedenen Dimensionen durchgeführt werden.

                  • Es gibt die Gewichtung einzelner Attribute, was sehr häufig getan wird.
                  • Innerhalb der Attributwerte können durch TF-IDF häufiger und seltener auftretende Terme gewichtet werden.
                  • Parallel angewendete Metriken können gegeneinander gewichtet bzw. als sequentieller Entscheidungsbaum Top-Down-Traversierung aufgebaut werden.

                  Abschließend soll ein kleiner Überblick zu frei verfügbaren Datenharmonisierungs-Tools bzw. Frameworks gegeben werden. Er stellt keinerlei Anspruch auf Vollständigkeit, sondern eine während der Bearbeitung explorativ aufgefundene Auswahl dar. Zunächst werden die Methoden-Sammlungen von Wilhelm Cohen und Sam Chapman genannt. Anschließend folgen einige Worte zu einem Record-Linkage-Framework von Peter Christen und Tim Churches. Abschließend wird das mit Lernmethoden aus Kapitel Klassifizierung arbeitende Marlin-Framework angesprochen, und mit ähnlichen Ansätzen von Cohen et.al und Minton et.al. verglichen.

                  SecondString / Simmetrik

                  [secstring06] SecondString ist eine Sammlung von Java-Klassen, welche eine große Auswahl an String-Vergleichs-Algorithmen enthalten. Von W. Cohen für Zeichenvergleichs-Experimente entwickelt, umfasst SecondString Methoden zum Tokenisieren und Grobblockieren, statische Zeichenketten-Metriken sowie Gewichtungsmethoden, jedoch keine Methoden zur Daten-Standardisierung oder Klassifizierung.

                  [simmetric06] stellt den europäischen Gegenpart dar. Der Umfang ist vergleichbar, der Code jedoch übersichtlicher gestaltet. Beide Pakete sind als OpenSource-Download unter [SF06] zu finden.

                  Ferbl

                  Die Herkunft des in objektorientierten Python implementierten Frameworks [Febrl05] liegt in der Bioinformatik. An der Universität Canberra, Australien von Peter Christen und Tim Churches entwickelt, stellt es die vollständige Mächtigkeit für Harmonisierungsaufgaben zur Verfügung. Ferbl teilt die Datenbearbeitung in die Schritte Datenanalyse/Standardisierung und Record-Linkage/Deduplikation auf.

                  Der erste Schritt umfasst im einzelnen die Wort-Ersetzung unter Nutzung von Lookup-Tables und Korrekturlisten. Anschließende werden Datums- und Zeitformate standardisiert und die Ergebnisse zwischengespeichert.

                  Im zweiten Schritt werden auf die Datenmenge Blockier- und Sortieralgorithmen angewendet und mögliche Treffer einem Feldvergleich mit individuellen, im Kapitel 4.4 vorgestellten Methoden zugeführt. In der Klassifizierung werden die Ergebnisse ausgewertet und ein ausführliches Logging für Protokoll-Untersuchungen erstellt.

                  Marlin

                  Die Ähnlichkeitsschätzung zwischen Strings ist enormen Schwankungen unterlegen, abhängig von Domain und Aspekt (Betrachtungsweise). Anstatt diese Gewichtungen von Hand anzulernen sind trainierbaren Ähnlichkeitsberechnungen der Vorzug zu geben.

                  Die Folgende drei Ansätze, wovon Marlin als Einziger umgesetzt zu sein scheint, arbeiten mit einer vom Nutzer vorher gegebenen Traingsmenge an Daten. Diese beinhaltete gekennzeichnete korrekte sowie inkorrekte Vergleichsdatensätze und berechnet daraus zunächst bestimmte Parameter für die Abarbeitung der eigentlichen Daten.

                  Marlin ist eine auf dem Weka-Framework [weka06] basierende, automatische Trainingsumgebung der Universität Texas [Bilen03].

                  Funktionsweise MARLIN

                  In der Trainingsphase bekommt Marlin lernbare DistanzMetriken für jedes Datenfeld präsentiert. Homonyme („noisy trainingsdata“) wie beispielsweise „Asian“ und „Seafood“ werden dabei als Trainingspaare erkannt und erhalten eine Ähnlichkeit zugewiesen.

                  Nach dem Erlernen dieser Ähnlichkeitsmetriken für jedes individuelle Datensatzfeld wird das gewonnene Wissen genutzt, um die Distanz für jeden Datensatz zu berechnen. Diese Vektoren bestehend aus Distanz-Merkmalen und werden als Trainingsdaten für den Binärklassifikator genutzt. Bei diesem Vorgang kommt der unter Kapitel 4.5.5. vorgestellte „Support Vector Machine“-Algorithmus zur Anwendung, welche traditionelle Entscheidungsbäume übertrifft [kdd03].

                  In der „Erkennungsphase“ werden alle Datensätze miteinander verglichen. Da dies eine Anzahl von O(n²) Vergleichen bedeuten würde, nutzt „Marlin“ einen aus Canopies-Clustering via Jaccard bestehenden Pre-Blocking-Algorithmus.

                  Anschließend werden die gelernten Distanz-Metriken verwendet, um jedes Feld von jedem Paar möglicher Duplikat-Datensätze auszuwerten, also der Erstellung von Distanz-Feature-Vektoren für den Klassifizierer. Glaubhafte Schätzungen zur Einordnung in die Gruppe der Duplikate oder Unikate werden durch den Binär-Klassifikator vorgenommen, und Paare werden mit aufsteigender Reihenfolge sortiert.

                  Cohen/Richman

                  Der von Cohen und Richmann genutzte Ansatz verwendet ebenso den Canopy-Algorithmus. Dieser wählt zu Beginn aus dem kompletten Datenbestand bestimmte Datensatzpaare aus, für die der Benutzer die Einteilung „match“ oder „non-match“ übernimmt. Diese werden darauffolgend als „Mittelpunkte“ genutzt.

                  Der Canopy-Algorithmus teilt nun mit Hilfe der Parameter und alle weiteren Paare den identifizierten Paaren zu.

                  Mit den gewonnenen Informationen bildet der Klassifikations-Lerner zwei Funktionen. Zum einen eine boolean-Funktion h(a,b), welche die Übereinstimmung der Datensätze a und b zurückgibt, zum Zweiten eine Funktion c(a,b), die die Wahrscheinlichkeit liefert, mit der die Klassifizierung h(a,b) positiv ist. Je höher c, umso sicherer ist der Klassifikations-Lerner mit der Einstufung der beiden Records als Duplikate.

                  Um den Maschinenlerner, meist ein „Expectation Maximization Lerner“, zu trainieren, werden aus den Kandidatenpaaren m Paare ausgewählt, für die der Nutzer die Übereinstimmung bewertet.

                  Hierbei werden aus den beiden Records mehrere Eigenschaften zusammen betrachtet, um daraus die Hypothese c(a,b) möglichst genau anzupassen. Eigenschaften sind binär, also ein Datensatz, und besitzt eine Eigenschaft oder nicht. Mögliche Paar-Eigenschaften sind SubstringMatch, PrefixMath, EditDistance, MatchAToken, MatchBToken, MatchABigram, JaccardDistance, StrongNumberDistance.

                  Die Spalten „Titel“ und „Adresse“ könnten folgende Eigenschaften genutzt werden: SubstringTitel,SubstringAdresse, PrefixMatchTitel, PrefixMatchAdresse,StrongNumberMatchTitel, StrongNumberMatchAdresse. Der Learner gewichtet die Nutzerauswahl, und stärkt somit sein internes Klassifikations-Modell. Abschließend wird auf die Gesamtmenge an Werten ein „GreedyAgglomerativeClustering“-Algorithmus [CallumNigamUngar] angewendet, welcher die Gesamtmenge aufteilt, bis eine vorgegebene Teilmengenanzahl erreicht wurde.

                  Tejada Knobloch Minton

                  Dieser Ansatz arbeitet äquivalent zu Cohen und Richman, baut allerdings nach der 2. Lernphase einen Entscheidungbaum („Decision Tree“) aufgebaut, um alle weiteren Vergleiche über diesen traversierend durchgeführt.

              Wie in diesem Kapitel verdeutlicht wurde, kann Datenharmonisierung in verschiedenen Dimensionen durchgeführt werden.

              • Es gibt die Gewichtung einzelner Attribute, was sehr häufig getan wird.
              • Innerhalb der Attributwerte können durch TF-IDF häufiger und seltener auftretende Terme gewichtet werden.
              • Parallel angewendete Metriken können gegeneinander gewichtet bzw. als sequentieller Entscheidungsbaum Top-Down-Traversierung aufgebaut werden.

              Abschließend soll ein kleiner Überblick zu frei verfügbaren Datenharmonisierungs-Tools bzw. Frameworks gegeben werden. Er stellt keinerlei Anspruch auf Vollständigkeit, sondern eine während der Bearbeitung explorativ aufgefundene Auswahl dar. Zunächst werden die Methoden-Sammlungen von Wilhelm Cohen und Sam Chapman genannt. Anschließend folgen einige Worte zu einem Record-Linkage-Framework von Peter Christen und Tim Churches. Abschließend wird das mit Lernmethoden aus Kapitel Klassifizierung arbeitende Marlin-Framework angesprochen, und mit ähnlichen Ansätzen von Cohen et.al und Minton et.al. verglichen.

              SecondString / Simmetrik

              [secstring06] SecondString ist eine Sammlung von Java-Klassen, welche eine große Auswahl an String-Vergleichs-Algorithmen enthalten. Von W. Cohen für Zeichenvergleichs-Experimente entwickelt, umfasst SecondString Methoden zum Tokenisieren und Grobblockieren, statische Zeichenketten-Metriken sowie Gewichtungsmethoden, jedoch keine Methoden zur Daten-Standardisierung oder Klassifizierung.

              [simmetric06] stellt den europäischen Gegenpart dar. Der Umfang ist vergleichbar, der Code jedoch übersichtlicher gestaltet. Beide Pakete sind als OpenSource-Download unter [SF06] zu finden.

              Ferbl

              Die Herkunft des in objektorientierten Python implementierten Frameworks [Febrl05] liegt in der Bioinformatik. An der Universität Canberra, Australien von Peter Christen und Tim Churches entwickelt, stellt es die vollständige Mächtigkeit für Harmonisierungsaufgaben zur Verfügung. Ferbl teilt die Datenbearbeitung in die Schritte Datenanalyse/Standardisierung und Record-Linkage/Deduplikation auf.

              Der erste Schritt umfasst im einzelnen die Wort-Ersetzung unter Nutzung von Lookup-Tables und Korrekturlisten. Anschließende werden Datums- und Zeitformate standardisiert und die Ergebnisse zwischengespeichert.

              Im zweiten Schritt werden auf die Datenmenge Blockier- und Sortieralgorithmen angewendet und mögliche Treffer einem Feldvergleich mit individuellen, im Kapitel 4.4 vorgestellten Methoden zugeführt. In der Klassifizierung werden die Ergebnisse ausgewertet und ein ausführliches Logging für Protokoll-Untersuchungen erstellt.

              Marlin

              Die Ähnlichkeitsschätzung zwischen Strings ist enormen Schwankungen unterlegen, abhängig von Domain und Aspekt (Betrachtungsweise). Anstatt diese Gewichtungen von Hand anzulernen sind trainierbaren Ähnlichkeitsberechnungen der Vorzug zu geben.

              Die Folgende drei Ansätze, wovon Marlin als Einziger umgesetzt zu sein scheint, arbeiten mit einer vom Nutzer vorher gegebenen Traingsmenge an Daten. Diese beinhaltete gekennzeichnete korrekte sowie inkorrekte Vergleichsdatensätze und berechnet daraus zunächst bestimmte Parameter für die Abarbeitung der eigentlichen Daten.

              Marlin ist eine auf dem Weka-Framework [weka06] basierende, automatische Trainingsumgebung der Universität Texas [Bilen03].

              Funktionsweise MARLIN

              In der Trainingsphase bekommt Marlin lernbare DistanzMetriken für jedes Datenfeld präsentiert. Homonyme („noisy trainingsdata“) wie beispielsweise „Asian“ und „Seafood“ werden dabei als Trainingspaare erkannt und erhalten eine Ähnlichkeit zugewiesen.

              Nach dem Erlernen dieser Ähnlichkeitsmetriken für jedes individuelle Datensatzfeld wird das gewonnene Wissen genutzt, um die Distanz für jeden Datensatz zu berechnen. Diese Vektoren bestehend aus Distanz-Merkmalen und werden als Trainingsdaten für den Binärklassifikator genutzt. Bei diesem Vorgang kommt der unter Kapitel 4.5.5. vorgestellte „Support Vector Machine“-Algorithmus zur Anwendung, welche traditionelle Entscheidungsbäume übertrifft [kdd03].

              In der „Erkennungsphase“ werden alle Datensätze miteinander verglichen. Da dies eine Anzahl von O(n²) Vergleichen bedeuten würde, nutzt „Marlin“ einen aus Canopies-Clustering via Jaccard bestehenden Pre-Blocking-Algorithmus.

              Anschließend werden die gelernten Distanz-Metriken verwendet, um jedes Feld von jedem Paar möglicher Duplikat-Datensätze auszuwerten, also der Erstellung von Distanz-Feature-Vektoren für den Klassifizierer. Glaubhafte Schätzungen zur Einordnung in die Gruppe der Duplikate oder Unikate werden durch den Binär-Klassifikator vorgenommen, und Paare werden mit aufsteigender Reihenfolge sortiert.

              Cohen/Richman

              Der von Cohen und Richmann genutzte Ansatz verwendet ebenso den Canopy-Algorithmus. Dieser wählt zu Beginn aus dem kompletten Datenbestand bestimmte Datensatzpaare aus, für die der Benutzer die Einteilung „match“ oder „non-match“ übernimmt. Diese werden darauffolgend als „Mittelpunkte“ genutzt.

              Der Canopy-Algorithmus teilt nun mit Hilfe der Parameter und alle weiteren Paare den identifizierten Paaren zu.

              Mit den gewonnenen Informationen bildet der Klassifikations-Lerner zwei Funktionen. Zum einen eine boolean-Funktion h(a,b), welche die Übereinstimmung der Datensätze a und b zurückgibt, zum Zweiten eine Funktion c(a,b), die die Wahrscheinlichkeit liefert, mit der die Klassifizierung h(a,b) positiv ist. Je höher c, umso sicherer ist der Klassifikations-Lerner mit der Einstufung der beiden Records als Duplikate.

              Um den Maschinenlerner, meist ein „Expectation Maximization Lerner“, zu trainieren, werden aus den Kandidatenpaaren m Paare ausgewählt, für die der Nutzer die Übereinstimmung bewertet.

              Hierbei werden aus den beiden Records mehrere Eigenschaften zusammen betrachtet, um daraus die Hypothese c(a,b) möglichst genau anzupassen. Eigenschaften sind binär, also ein Datensatz, und besitzt eine Eigenschaft oder nicht. Mögliche Paar-Eigenschaften sind SubstringMatch, PrefixMath, EditDistance, MatchAToken, MatchBToken, MatchABigram, JaccardDistance, StrongNumberDistance.

              Die Spalten „Titel“ und „Adresse“ könnten folgende Eigenschaften genutzt werden: SubstringTitel,SubstringAdresse, PrefixMatchTitel, PrefixMatchAdresse,StrongNumberMatchTitel, StrongNumberMatchAdresse. Der Learner gewichtet die Nutzerauswahl, und stärkt somit sein internes Klassifikations-Modell. Abschließend wird auf die Gesamtmenge an Werten ein „GreedyAgglomerativeClustering“-Algorithmus [CallumNigamUngar] angewendet, welcher die Gesamtmenge aufteilt, bis eine vorgegebene Teilmengenanzahl erreicht wurde.

              Tejada Knobloch Minton

              Dieser Ansatz arbeitet äquivalent zu Cohen und Richman, baut allerdings nach der 2. Lernphase einen Entscheidungbaum („Decision Tree“) aufgebaut, um alle weiteren Vergleiche über diesen traversierend durchgeführt.

          Wie in diesem Kapitel verdeutlicht wurde, kann Datenharmonisierung in verschiedenen Dimensionen durchgeführt werden.

          • Es gibt die Gewichtung einzelner Attribute, was sehr häufig getan wird.
          • Innerhalb der Attributwerte können durch TF-IDF häufiger und seltener auftretende Terme gewichtet werden.
          • Parallel angewendete Metriken können gegeneinander gewichtet bzw. als sequentieller Entscheidungsbaum Top-Down-Traversierung aufgebaut werden.

          Abschließend soll ein kleiner Überblick zu frei verfügbaren Datenharmonisierungs-Tools bzw. Frameworks gegeben werden. Er stellt keinerlei Anspruch auf Vollständigkeit, sondern eine während der Bearbeitung explorativ aufgefundene Auswahl dar. Zunächst werden die Methoden-Sammlungen von Wilhelm Cohen und Sam Chapman genannt. Anschließend folgen einige Worte zu einem Record-Linkage-Framework von Peter Christen und Tim Churches. Abschließend wird das mit Lernmethoden aus Kapitel Klassifizierung arbeitende Marlin-Framework angesprochen, und mit ähnlichen Ansätzen von Cohen et.al und Minton et.al. verglichen.

          SecondString / Simmetrik

          [secstring06] SecondString ist eine Sammlung von Java-Klassen, welche eine große Auswahl an String-Vergleichs-Algorithmen enthalten. Von W. Cohen für Zeichenvergleichs-Experimente entwickelt, umfasst SecondString Methoden zum Tokenisieren und Grobblockieren, statische Zeichenketten-Metriken sowie Gewichtungsmethoden, jedoch keine Methoden zur Daten-Standardisierung oder Klassifizierung.

          [simmetric06] stellt den europäischen Gegenpart dar. Der Umfang ist vergleichbar, der Code jedoch übersichtlicher gestaltet. Beide Pakete sind als OpenSource-Download unter [SF06] zu finden.

          Ferbl

          Die Herkunft des in objektorientierten Python implementierten Frameworks [Febrl05] liegt in der Bioinformatik. An der Universität Canberra, Australien von Peter Christen und Tim Churches entwickelt, stellt es die vollständige Mächtigkeit für Harmonisierungsaufgaben zur Verfügung. Ferbl teilt die Datenbearbeitung in die Schritte Datenanalyse/Standardisierung und Record-Linkage/Deduplikation auf.

          Der erste Schritt umfasst im einzelnen die Wort-Ersetzung unter Nutzung von Lookup-Tables und Korrekturlisten. Anschließende werden Datums- und Zeitformate standardisiert und die Ergebnisse zwischengespeichert.

          Im zweiten Schritt werden auf die Datenmenge Blockier- und Sortieralgorithmen angewendet und mögliche Treffer einem Feldvergleich mit individuellen, im Kapitel 4.4 vorgestellten Methoden zugeführt. In der Klassifizierung werden die Ergebnisse ausgewertet und ein ausführliches Logging für Protokoll-Untersuchungen erstellt.

          Marlin

          Die Ähnlichkeitsschätzung zwischen Strings ist enormen Schwankungen unterlegen, abhängig von Domain und Aspekt (Betrachtungsweise). Anstatt diese Gewichtungen von Hand anzulernen sind trainierbaren Ähnlichkeitsberechnungen der Vorzug zu geben.

          Die Folgende drei Ansätze, wovon Marlin als Einziger umgesetzt zu sein scheint, arbeiten mit einer vom Nutzer vorher gegebenen Traingsmenge an Daten. Diese beinhaltete gekennzeichnete korrekte sowie inkorrekte Vergleichsdatensätze und berechnet daraus zunächst bestimmte Parameter für die Abarbeitung der eigentlichen Daten.

          Marlin ist eine auf dem Weka-Framework [weka06] basierende, automatische Trainingsumgebung der Universität Texas [Bilen03].

          Funktionsweise MARLIN

          In der Trainingsphase bekommt Marlin lernbare DistanzMetriken für jedes Datenfeld präsentiert. Homonyme („noisy trainingsdata“) wie beispielsweise „Asian“ und „Seafood“ werden dabei als Trainingspaare erkannt und erhalten eine Ähnlichkeit zugewiesen.

          Nach dem Erlernen dieser Ähnlichkeitsmetriken für jedes individuelle Datensatzfeld wird das gewonnene Wissen genutzt, um die Distanz für jeden Datensatz zu berechnen. Diese Vektoren bestehend aus Distanz-Merkmalen und werden als Trainingsdaten für den Binärklassifikator genutzt. Bei diesem Vorgang kommt der unter Kapitel 4.5.5. vorgestellte „Support Vector Machine“-Algorithmus zur Anwendung, welche traditionelle Entscheidungsbäume übertrifft [kdd03].

          In der „Erkennungsphase“ werden alle Datensätze miteinander verglichen. Da dies eine Anzahl von O(n²) Vergleichen bedeuten würde, nutzt „Marlin“ einen aus Canopies-Clustering via Jaccard bestehenden Pre-Blocking-Algorithmus.

          Anschließend werden die gelernten Distanz-Metriken verwendet, um jedes Feld von jedem Paar möglicher Duplikat-Datensätze auszuwerten, also der Erstellung von Distanz-Feature-Vektoren für den Klassifizierer. Glaubhafte Schätzungen zur Einordnung in die Gruppe der Duplikate oder Unikate werden durch den Binär-Klassifikator vorgenommen, und Paare werden mit aufsteigender Reihenfolge sortiert.

          Cohen/Richman

          Der von Cohen und Richmann genutzte Ansatz verwendet ebenso den Canopy-Algorithmus. Dieser wählt zu Beginn aus dem kompletten Datenbestand bestimmte Datensatzpaare aus, für die der Benutzer die Einteilung „match“ oder „non-match“ übernimmt. Diese werden darauffolgend als „Mittelpunkte“ genutzt.

          Der Canopy-Algorithmus teilt nun mit Hilfe der Parameter und alle weiteren Paare den identifizierten Paaren zu.

          Mit den gewonnenen Informationen bildet der Klassifikations-Lerner zwei Funktionen. Zum einen eine boolean-Funktion h(a,b), welche die Übereinstimmung der Datensätze a und b zurückgibt, zum Zweiten eine Funktion c(a,b), die die Wahrscheinlichkeit liefert, mit der die Klassifizierung h(a,b) positiv ist. Je höher c, umso sicherer ist der Klassifikations-Lerner mit der Einstufung der beiden Records als Duplikate.

          Um den Maschinenlerner, meist ein „Expectation Maximization Lerner“, zu trainieren, werden aus den Kandidatenpaaren m Paare ausgewählt, für die der Nutzer die Übereinstimmung bewertet.

          Hierbei werden aus den beiden Records mehrere Eigenschaften zusammen betrachtet, um daraus die Hypothese c(a,b) möglichst genau anzupassen. Eigenschaften sind binär, also ein Datensatz, und besitzt eine Eigenschaft oder nicht. Mögliche Paar-Eigenschaften sind SubstringMatch, PrefixMath, EditDistance, MatchAToken, MatchBToken, MatchABigram, JaccardDistance, StrongNumberDistance.

          Die Spalten „Titel“ und „Adresse“ könnten folgende Eigenschaften genutzt werden: SubstringTitel,SubstringAdresse, PrefixMatchTitel, PrefixMatchAdresse,StrongNumberMatchTitel, StrongNumberMatchAdresse. Der Learner gewichtet die Nutzerauswahl, und stärkt somit sein internes Klassifikations-Modell. Abschließend wird auf die Gesamtmenge an Werten ein „GreedyAgglomerativeClustering“-Algorithmus [CallumNigamUngar] angewendet, welcher die Gesamtmenge aufteilt, bis eine vorgegebene Teilmengenanzahl erreicht wurde.

          Tejada Knobloch Minton

          Dieser Ansatz arbeitet äquivalent zu Cohen und Richman, baut allerdings nach der 2. Lernphase einen Entscheidungbaum („Decision Tree“) aufgebaut, um alle weiteren Vergleiche über diesen traversierend durchgeführt.

      Wie in diesem Kapitel verdeutlicht wurde, kann Datenharmonisierung in verschiedenen Dimensionen durchgeführt werden.

      • Es gibt die Gewichtung einzelner Attribute, was sehr häufig getan wird.
      • Innerhalb der Attributwerte können durch TF-IDF häufiger und seltener auftretende Terme gewichtet werden.
      • Parallel angewendete Metriken können gegeneinander gewichtet bzw. als sequentieller Entscheidungsbaum Top-Down-Traversierung aufgebaut werden.

      Abschließend soll ein kleiner Überblick zu frei verfügbaren Datenharmonisierungs-Tools bzw. Frameworks gegeben werden. Er stellt keinerlei Anspruch auf Vollständigkeit, sondern eine während der Bearbeitung explorativ aufgefundene Auswahl dar. Zunächst werden die Methoden-Sammlungen von Wilhelm Cohen und Sam Chapman genannt. Anschließend folgen einige Worte zu einem Record-Linkage-Framework von Peter Christen und Tim Churches. Abschließend wird das mit Lernmethoden aus Kapitel Klassifizierung arbeitende Marlin-Framework angesprochen, und mit ähnlichen Ansätzen von Cohen et.al und Minton et.al. verglichen.

      SecondString / Simmetrik

      [secstring06] SecondString ist eine Sammlung von Java-Klassen, welche eine große Auswahl an String-Vergleichs-Algorithmen enthalten. Von W. Cohen für Zeichenvergleichs-Experimente entwickelt, umfasst SecondString Methoden zum Tokenisieren und Grobblockieren, statische Zeichenketten-Metriken sowie Gewichtungsmethoden, jedoch keine Methoden zur Daten-Standardisierung oder Klassifizierung.

      [simmetric06] stellt den europäischen Gegenpart dar. Der Umfang ist vergleichbar, der Code jedoch übersichtlicher gestaltet. Beide Pakete sind als OpenSource-Download unter [SF06] zu finden.

      Ferbl

      Die Herkunft des in objektorientierten Python implementierten Frameworks [Febrl05] liegt in der Bioinformatik. An der Universität Canberra, Australien von Peter Christen und Tim Churches entwickelt, stellt es die vollständige Mächtigkeit für Harmonisierungsaufgaben zur Verfügung. Ferbl teilt die Datenbearbeitung in die Schritte Datenanalyse/Standardisierung und Record-Linkage/Deduplikation auf.

      Der erste Schritt umfasst im einzelnen die Wort-Ersetzung unter Nutzung von Lookup-Tables und Korrekturlisten. Anschließende werden Datums- und Zeitformate standardisiert und die Ergebnisse zwischengespeichert.

      Im zweiten Schritt werden auf die Datenmenge Blockier- und Sortieralgorithmen angewendet und mögliche Treffer einem Feldvergleich mit individuellen, im Kapitel 4.4 vorgestellten Methoden zugeführt. In der Klassifizierung werden die Ergebnisse ausgewertet und ein ausführliches Logging für Protokoll-Untersuchungen erstellt.

      Marlin

      Die Ähnlichkeitsschätzung zwischen Strings ist enormen Schwankungen unterlegen, abhängig von Domain und Aspekt (Betrachtungsweise). Anstatt diese Gewichtungen von Hand anzulernen sind trainierbaren Ähnlichkeitsberechnungen der Vorzug zu geben.

      Die Folgende drei Ansätze, wovon Marlin als Einziger umgesetzt zu sein scheint, arbeiten mit einer vom Nutzer vorher gegebenen Traingsmenge an Daten. Diese beinhaltete gekennzeichnete korrekte sowie inkorrekte Vergleichsdatensätze und berechnet daraus zunächst bestimmte Parameter für die Abarbeitung der eigentlichen Daten.

      Marlin ist eine auf dem Weka-Framework [weka06] basierende, automatische Trainingsumgebung der Universität Texas [Bilen03].

      Funktionsweise MARLIN

      In der Trainingsphase bekommt Marlin lernbare DistanzMetriken für jedes Datenfeld präsentiert. Homonyme („noisy trainingsdata“) wie beispielsweise „Asian“ und „Seafood“ werden dabei als Trainingspaare erkannt und erhalten eine Ähnlichkeit zugewiesen.

      Nach dem Erlernen dieser Ähnlichkeitsmetriken für jedes individuelle Datensatzfeld wird das gewonnene Wissen genutzt, um die Distanz für jeden Datensatz zu berechnen. Diese Vektoren bestehend aus Distanz-Merkmalen und werden als Trainingsdaten für den Binärklassifikator genutzt. Bei diesem Vorgang kommt der unter Kapitel 4.5.5. vorgestellte „Support Vector Machine“-Algorithmus zur Anwendung, welche traditionelle Entscheidungsbäume übertrifft [kdd03].

      In der „Erkennungsphase“ werden alle Datensätze miteinander verglichen. Da dies eine Anzahl von O(n²) Vergleichen bedeuten würde, nutzt „Marlin“ einen aus Canopies-Clustering via Jaccard bestehenden Pre-Blocking-Algorithmus.

      Anschließend werden die gelernten Distanz-Metriken verwendet, um jedes Feld von jedem Paar möglicher Duplikat-Datensätze auszuwerten, also der Erstellung von Distanz-Feature-Vektoren für den Klassifizierer. Glaubhafte Schätzungen zur Einordnung in die Gruppe der Duplikate oder Unikate werden durch den Binär-Klassifikator vorgenommen, und Paare werden mit aufsteigender Reihenfolge sortiert.

      Cohen/Richman

      Der von Cohen und Richmann genutzte Ansatz verwendet ebenso den Canopy-Algorithmus. Dieser wählt zu Beginn aus dem kompletten Datenbestand bestimmte Datensatzpaare aus, für die der Benutzer die Einteilung „match“ oder „non-match“ übernimmt. Diese werden darauffolgend als „Mittelpunkte“ genutzt.

      Der Canopy-Algorithmus teilt nun mit Hilfe der Parameter und alle weiteren Paare den identifizierten Paaren zu.

      Mit den gewonnenen Informationen bildet der Klassifikations-Lerner zwei Funktionen. Zum einen eine boolean-Funktion h(a,b), welche die Übereinstimmung der Datensätze a und b zurückgibt, zum Zweiten eine Funktion c(a,b), die die Wahrscheinlichkeit liefert, mit der die Klassifizierung h(a,b) positiv ist. Je höher c, umso sicherer ist der Klassifikations-Lerner mit der Einstufung der beiden Records als Duplikate.

      Um den Maschinenlerner, meist ein „Expectation Maximization Lerner“, zu trainieren, werden aus den Kandidatenpaaren m Paare ausgewählt, für die der Nutzer die Übereinstimmung bewertet.

      Hierbei werden aus den beiden Records mehrere Eigenschaften zusammen betrachtet, um daraus die Hypothese c(a,b) möglichst genau anzupassen. Eigenschaften sind binär, also ein Datensatz, und besitzt eine Eigenschaft oder nicht. Mögliche Paar-Eigenschaften sind SubstringMatch, PrefixMath, EditDistance, MatchAToken, MatchBToken, MatchABigram, JaccardDistance, StrongNumberDistance.

      Die Spalten „Titel“ und „Adresse“ könnten folgende Eigenschaften genutzt werden: SubstringTitel,SubstringAdresse, PrefixMatchTitel, PrefixMatchAdresse,StrongNumberMatchTitel, StrongNumberMatchAdresse. Der Learner gewichtet die Nutzerauswahl, und stärkt somit sein internes Klassifikations-Modell. Abschließend wird auf die Gesamtmenge an Werten ein „GreedyAgglomerativeClustering“-Algorithmus [CallumNigamUngar] angewendet, welcher die Gesamtmenge aufteilt, bis eine vorgegebene Teilmengenanzahl erreicht wurde.

      Tejada Knobloch Minton

      Dieser Ansatz arbeitet äquivalent zu Cohen und Richman, baut allerdings nach der 2. Lernphase einen Entscheidungbaum („Decision Tree“) aufgebaut, um alle weiteren Vergleiche über diesen traversierend durchgeführt.

Wie in diesem Kapitel verdeutlicht wurde, kann Datenharmonisierung in verschiedenen Dimensionen durchgeführt werden.

  • Es gibt die Gewichtung einzelner Attribute, was sehr häufig getan wird.
  • Innerhalb der Attributwerte können durch TF-IDF häufiger und seltener auftretende Terme gewichtet werden.
  • Parallel angewendete Metriken können gegeneinander gewichtet bzw. als sequentieller Entscheidungsbaum Top-Down-Traversierung aufgebaut werden.

Abschließend soll ein kleiner Überblick zu frei verfügbaren Datenharmonisierungs-Tools bzw. Frameworks gegeben werden. Er stellt keinerlei Anspruch auf Vollständigkeit, sondern eine während der Bearbeitung explorativ aufgefundene Auswahl dar. Zunächst werden die Methoden-Sammlungen von Wilhelm Cohen und Sam Chapman genannt. Anschließend folgen einige Worte zu einem Record-Linkage-Framework von Peter Christen und Tim Churches. Abschließend wird das mit Lernmethoden aus Kapitel Klassifizierung arbeitende Marlin-Framework angesprochen, und mit ähnlichen Ansätzen von Cohen et.al und Minton et.al. verglichen.

SecondString / Simmetrik

[secstring06] SecondString ist eine Sammlung von Java-Klassen, welche eine große Auswahl an String-Vergleichs-Algorithmen enthalten. Von W. Cohen für Zeichenvergleichs-Experimente entwickelt, umfasst SecondString Methoden zum Tokenisieren und Grobblockieren, statische Zeichenketten-Metriken sowie Gewichtungsmethoden, jedoch keine Methoden zur Daten-Standardisierung oder Klassifizierung.

[simmetric06] stellt den europäischen Gegenpart dar. Der Umfang ist vergleichbar, der Code jedoch übersichtlicher gestaltet. Beide Pakete sind als OpenSource-Download unter [SF06] zu finden.

Ferbl

Die Herkunft des in objektorientierten Python implementierten Frameworks [Febrl05] liegt in der Bioinformatik. An der Universität Canberra, Australien von Peter Christen und Tim Churches entwickelt, stellt es die vollständige Mächtigkeit für Harmonisierungsaufgaben zur Verfügung. Ferbl teilt die Datenbearbeitung in die Schritte Datenanalyse/Standardisierung und Record-Linkage/Deduplikation auf.

Der erste Schritt umfasst im einzelnen die Wort-Ersetzung unter Nutzung von Lookup-Tables und Korrekturlisten. Anschließende werden Datums- und Zeitformate standardisiert und die Ergebnisse zwischengespeichert.

Im zweiten Schritt werden auf die Datenmenge Blockier- und Sortieralgorithmen angewendet und mögliche Treffer einem Feldvergleich mit individuellen, im Kapitel 4.4 vorgestellten Methoden zugeführt. In der Klassifizierung werden die Ergebnisse ausgewertet und ein ausführliches Logging für Protokoll-Untersuchungen erstellt.

Marlin

Die Ähnlichkeitsschätzung zwischen Strings ist enormen Schwankungen unterlegen, abhängig von Domain und Aspekt (Betrachtungsweise). Anstatt diese Gewichtungen von Hand anzulernen sind trainierbaren Ähnlichkeitsberechnungen der Vorzug zu geben.

Die Folgende drei Ansätze, wovon Marlin als Einziger umgesetzt zu sein scheint, arbeiten mit einer vom Nutzer vorher gegebenen Traingsmenge an Daten. Diese beinhaltete gekennzeichnete korrekte sowie inkorrekte Vergleichsdatensätze und berechnet daraus zunächst bestimmte Parameter für die Abarbeitung der eigentlichen Daten.

Marlin ist eine auf dem Weka-Framework [weka06] basierende, automatische Trainingsumgebung der Universität Texas [Bilen03].

Funktionsweise MARLIN

In der Trainingsphase bekommt Marlin lernbare DistanzMetriken für jedes Datenfeld präsentiert. Homonyme („noisy trainingsdata“) wie beispielsweise „Asian“ und „Seafood“ werden dabei als Trainingspaare erkannt und erhalten eine Ähnlichkeit zugewiesen.

Nach dem Erlernen dieser Ähnlichkeitsmetriken für jedes individuelle Datensatzfeld wird das gewonnene Wissen genutzt, um die Distanz für jeden Datensatz zu berechnen. Diese Vektoren bestehend aus Distanz-Merkmalen und werden als Trainingsdaten für den Binärklassifikator genutzt. Bei diesem Vorgang kommt der unter Kapitel 4.5.5. vorgestellte „Support Vector Machine“-Algorithmus zur Anwendung, welche traditionelle Entscheidungsbäume übertrifft [kdd03].

In der „Erkennungsphase“ werden alle Datensätze miteinander verglichen. Da dies eine Anzahl von O(n²) Vergleichen bedeuten würde, nutzt „Marlin“ einen aus Canopies-Clustering via Jaccard bestehenden Pre-Blocking-Algorithmus.

Anschließend werden die gelernten Distanz-Metriken verwendet, um jedes Feld von jedem Paar möglicher Duplikat-Datensätze auszuwerten, also der Erstellung von Distanz-Feature-Vektoren für den Klassifizierer. Glaubhafte Schätzungen zur Einordnung in die Gruppe der Duplikate oder Unikate werden durch den Binär-Klassifikator vorgenommen, und Paare werden mit aufsteigender Reihenfolge sortiert.

Cohen/Richman

Der von Cohen und Richmann genutzte Ansatz verwendet ebenso den Canopy-Algorithmus. Dieser wählt zu Beginn aus dem kompletten Datenbestand bestimmte Datensatzpaare aus, für die der Benutzer die Einteilung „match“ oder „non-match“ übernimmt. Diese werden darauffolgend als „Mittelpunkte“ genutzt.

Der Canopy-Algorithmus teilt nun mit Hilfe der Parameter und alle weiteren Paare den identifizierten Paaren zu.

Mit den gewonnenen Informationen bildet der Klassifikations-Lerner zwei Funktionen. Zum einen eine boolean-Funktion h(a,b), welche die Übereinstimmung der Datensätze a und b zurückgibt, zum Zweiten eine Funktion c(a,b), die die Wahrscheinlichkeit liefert, mit der die Klassifizierung h(a,b) positiv ist. Je höher c, umso sicherer ist der Klassifikations-Lerner mit der Einstufung der beiden Records als Duplikate.

Um den Maschinenlerner, meist ein „Expectation Maximization Lerner“, zu trainieren, werden aus den Kandidatenpaaren m Paare ausgewählt, für die der Nutzer die Übereinstimmung bewertet.

Hierbei werden aus den beiden Records mehrere Eigenschaften zusammen betrachtet, um daraus die Hypothese c(a,b) möglichst genau anzupassen. Eigenschaften sind binär, also ein Datensatz, und besitzt eine Eigenschaft oder nicht. Mögliche Paar-Eigenschaften sind SubstringMatch, PrefixMath, EditDistance, MatchAToken, MatchBToken, MatchABigram, JaccardDistance, StrongNumberDistance.

Die Spalten „Titel“ und „Adresse“ könnten folgende Eigenschaften genutzt werden: SubstringTitel,SubstringAdresse, PrefixMatchTitel, PrefixMatchAdresse,StrongNumberMatchTitel, StrongNumberMatchAdresse. Der Learner gewichtet die Nutzerauswahl, und stärkt somit sein internes Klassifikations-Modell. Abschließend wird auf die Gesamtmenge an Werten ein „GreedyAgglomerativeClustering“-Algorithmus [CallumNigamUngar] angewendet, welcher die Gesamtmenge aufteilt, bis eine vorgegebene Teilmengenanzahl erreicht wurde.

Tejada Knobloch Minton

Dieser Ansatz arbeitet äquivalent zu Cohen und Richman, baut allerdings nach der 2. Lernphase einen Entscheidungbaum („Decision Tree“) aufgebaut, um alle weiteren Vergleiche über diesen traversierend durchgeführt.

top