84

Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

Embed Size (px)

Citation preview

Page 1: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz
Page 2: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

Christoph Kurek Rheinaustr. 11 68163 Mannheim E-Mail: [email protected] Studiengang Wirtschaftsinformatik Matrikelnummer 5470491 Erstgutachter: Dr. Guido Gryczan Zweitgutachter: Prof. Dr. Norbert Ritter 04.10.2011

Universität Hamburg Fachbereich Informatik Arbeitsbereich Softwaretechnik

Diplomarbeit

Ein Vergleich der Methoden automatisierter Dublettenerkennung.

Page 3: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

Inhaltsverzeichnis

1 Einleitung ..........................................................................................................................................1

1.1 Motivation ..................................................................................................................... 1

1.2 Zielsetzung ..................................................................................................................... 2

1.3 Aufbau ........................................................................................................................... 2

2 Grundlagen der Dublettenerkennung ..............................................................................................4

2.1 Einordnung und Relevanz des Problems ....................................................................... 4

2.2 Formale Definition......................................................................................................... 6

2.3 Ein iterativer Algorithmus zur Dublettenerkennung ..................................................... 7

2.4 Fokus der Arbeit und Einschränkung des Problems ...................................................... 8

3 Ähnlichkeitsbestimmung ..................................................................................................................9

3.1 Token-basierte Ähnlichkeitsfunktionen ...................................................................... 10

3.1.1 Jaccard-Ähnlichkeit ............................................................................................. 11

3.1.2 Cosinus-Ähnlichkeit mit tf/idf Gewichtung ......................................................... 12

3.2 Edit-basierte Ähnlichkeitsfunktionen .......................................................................... 15

3.2.1 Levenshtein und Needleman-Wunsch Distanz ................................................... 15

3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz ....... 16

3.2.3 Jaro und Jaro-Winkler Distanz ............................................................................. 17

3.3 Hybride Ähnlichkeitsfunktionen .................................................................................. 19

3.3.1 Erweiterte Jaccard Ähnlichkeit ............................................................................ 19

3.3.2 Monge-Elkan Ähnlichkeit .................................................................................... 20

3.3.3 Soft tf/idf Ähnlichkeit .......................................................................................... 21

4 Dublettenbestimmung .................................................................................................................. 23

4.1 Ähnlichkeitsbasierte Entscheidungsverfahren ............................................................ 24

4.1.1 „Ein Attribut“ Verfahren ...................................................................................... 25

4.1.2 Durchschnittverfahren ........................................................................................ 25

4.2 Probabilistische Entscheidungsverfahren ................................................................... 26

4.2.1 Bayes-Entscheidungsregel der kleinsten Fehlerrate ........................................... 26

4.2.2 Die kostenoptimale Bayes-Entscheidungsregel .................................................. 27

4.2.3 Die Klasse der möglichen Dubletten ................................................................... 28

4.3 Maschinelles Lernen .................................................................................................... 28

4.3.1 Entscheidungsbäume .......................................................................................... 29

4.3.2 Support Vector Machine ..................................................................................... 30

4.3.3 Nächste-Nachbarn-Klassifikation ........................................................................ 32

Page 4: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

4.3.4 Künstliche neuronale Netze ................................................................................ 33

4.4 Erfolgsmessung der Dublettenerkennung .................................................................. 36

5 Anforderungen, Vorgehensweise und Versuchsaufbau ............................................................... 39

5.1 Die Datenbasis ............................................................................................................. 39

5.2 Anforderungen an die Umsetzung der Evaluation ...................................................... 41

5.2.1 Ähnlichkeitsbestimmung ..................................................................................... 42

5.2.2 Dublettenbestimmung ........................................................................................ 42

5.2.3 Erfolgsmessung ................................................................................................... 43

5.3 Evaluationsimplementierung ...................................................................................... 43

5.3.1 Ähnlichkeitsbestimmung ..................................................................................... 43

5.3.2 Dublettenbestimmung und Erfolgsmessung ....................................................... 47

6 Durchführung und Ergebnisse der Evaluation .............................................................................. 50

6.1 Ähnlichkeitsbestimmung ............................................................................................. 50

6.2 Dublettenbestimmung ................................................................................................ 51

6.2.1 Naive Bayes ......................................................................................................... 52

6.2.2 Entscheidungsbäume .......................................................................................... 53

6.2.3 Support Vector Machine ..................................................................................... 54

6.2.4 Nächste-Nachbarn-Klassifikation ........................................................................ 55

6.2.5 Künstliche neuronale Netze ................................................................................ 55

6.3 Erfolgsmessung und Ergebnisanalyse ......................................................................... 56

6.3.1 Erfolgsmessung bei dem ähnlichkeitsbasierten Entscheidungsverfahren .......... 56

6.3.2 Erfolgsmessung bei dem Verfahren des maschinellen Lernens .......................... 57

6.3.3 Analyse und Beurteilung der Ergebnisse ............................................................. 58

6.3.4 Analyse der Fehlerbilder ..................................................................................... 60

7 Zusammenfassung, Fazit und Ausblick .......................................................................................... 63

7.1 Zusammenfassung ....................................................................................................... 63

7.2 Fazit ............................................................................................................................. 64

7.3 Ausblick ....................................................................................................................... 64

Anhang A ............................................................................................................................................... 65

Anhang B ............................................................................................................................................... 67

Anhang C ............................................................................................................................................... 72

Anhang D ............................................................................................................................................... 73

Literaturverzeichnis ............................................................................................................................... 74

Eidesstattliche Erklärung ....................................................................................................................... 79

Page 5: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz
Page 6: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

1

1 Einleitung

Durch die ständig wachsende Menge an Daten in der Datenverarbeitung ergeben sich

zwangsläufig Datenqualitätsprobleme. Eines der sehr häufig anzutreffenden Probleme dieser

Art sind Dubletten. Als Dubletten bezeichnet man verschiedene Datensätze, die dasselbe

Realweltobjekt repräsentieren [vgl. Elma07, S.1]. In dieser Arbeit geht es um die Methoden der

automatischen Erkennung von Dubletten und einen Vergleich dieser Methoden, sowohl

untereinander als auch gegenüber einer manuellen Dublettenerkennung.

1.1 Motivation

Das Entstehen von Dubletten kann unerwünscht sein, wenn es sich um mehrfach geführte

Kunden in einem Kundenmanagementsystem, verschiedene Repräsentationen eines Produkts

in einer Produktdatenbank oder doppelt gebuchte Bestellungen handelt. Die Ursachen,

weshalb es zu unerwünschten Dubletten kommt, sind vielfältig und können sowohl auf

maschinelle Vorgänge wie Datenintegration in einem Data Warehouse, als auch auf manuelle

Erfassung von Daten, beispielsweise am Telefon, zurückgeführt werden. Die Folgen sind oft

nicht unerhebliche wirtschaftliche Schäden. So kann es zum Beispiel zur doppelten

Aussendung eines Kundenkatalogs an den gleichen Empfänger oder zur unnötigen

Lagerhaltung identischer Ersatzteile kommen. Eine aufgrund schlechter Daten verfälschte

Auswertung und die daraus folgenden falschen, strategischen Entscheidungen können sehr

weitreichende Folgen haben. Aus diesen Gründen ist Dublettenerkennung eine wichtige

Maßnahme bei der Sicherung der Datenqualität.

Dublettenerkennung kann bei der Erfassung neuer Daten erfolgen, indem ein neu erfasster

Datensatz online mit den existierenden Datensätzen abgeglichen wird. Als Folge wird dem

Benutzer eine Liste möglicher Dubletten präsentiert. Dieser kann dann entscheiden, ob der

neue Datensatz angelegt werden soll, oder dieser bereits existiert. In bereits existierenden

Datenquellen erfolgt meistens ein Batchlauf, in dem Dubletten möglichst automatisch erkannt

werden sollen. Das Ziel dabei ist es, die Eingriffe von Benutzern möglichst gering zu halten.

Auch eine Suche nach Dubletten zwischen zwei verschiedenen Quellen kann sinnvoll sein, um

eine Verknüpfung der Daten zu erreichen. Dadurch ergibt sich eine Datenanreicherung und

somit einen Informationsgewinn. Ein Beispiel dafür könnte der Abgleich der Daten eigener

Kunden mit den Daten einer Insolvenzdatenbank sein, um so zahlungsunfähige Kunden zu

identifizieren und weitere Geschäfte mit diesen zu verhindern.

Unter Dublettenerkennung versteht man prinzipiell einen paarweisen Vergleich von

Datensätzen. Als Ergebnis des Vergleichs ergeben sich eine oder mehrere Maßzahlen für die

Ähnlichkeit von Datensatzpaaren. Die Identität eines Datensatzpaares ist das trivialste Maß

und allein für die Dublettenerkennung wenig geeignet [vgl. Naum10, S.1]. Vielmehr müssen

Ähnlichkeiten zwischen eventuell leicht unterschiedlichen Attributwerten der Datensätze

ermittelt werden. Sind diese Ähnlichkeiten ausreichend groß, so spricht man von einer

Dublette. Um die Entscheidung zu treffen, ob die Ähnlichkeit ausreichend groß ist, bedient

Page 7: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

2

man sich Entscheidungsverfahren aus dem Bereich der Wahrscheinlichkeitstheorie oder des

maschinellen Lernens.

Methoden der Dublettenerkennung sollen in erster Linie effektiv, also von hoher Qualität sein.

Ziel ist es, möglichst viele der tatsächlich vorhandenen Dubletten zu finden. Gleichzeitig sollen

möglichst wenige Datensätze als Dubletten erkannt werden, die keine Dubletten sind. Hier

spielen das gewählte Ähnlichkeitsmaß und die Entscheidungsmethodik eine entscheidende

Rolle. Die Messung der Effektivität einer Dublettenerkennungsmethode ist kein triviales

Unterfangen. Um dies zu bewerkstelligen, muss man die Dublettenzuordnungen bereits

kennen. Es gibt es kaum frei zugängliche Quellen, bei denen die Zuordnungen, auch golden

standard genannt, bekannt sind. Es liegt zum einen daran, dass „echte“ Daten, zum Beispiel in

Form von großen Adressdatenbanken, oft dem Datenschutz beziehungsweise einem

Betriebsgeheimnis unterliegen. Zum anderen ist die Bestimmung der Dublettenzuordnungen

ein zumindest teilmanueller und deshalb aufwendiger Prozess. Diese Zuordnung für größere

Datenbestände zu bestimmen, kann hunderte von Arbeitsstunden an Aufwand bedeuten [vgl.

Naum10, S.65f].

1.2 Zielsetzung

Das Ziel dieser Arbeit ist ein Vergleich aktueller Methoden der Dublettenerkennung. Als

Grundlage dazu dient ein großer Bestand deutscher Geschäftsadressen, die über Jahre manuell

sorgfältig auf die Darstellung des gleichen Realweltobjekts, in dem Fall einer Firma, geprüft

wurden. Mithilfe dieses Datenbestands ist es möglich zu prüfen, mit welchen automatisierten

Methoden der Dublettenerkennung ein ähnlich gutes Ergebnis wie bei der manuellen Prüfung

erzielt werden kann. Am Ende soll die Frage beantwortet werden, welche Methoden der

Dublettenerkennung innerhalb der speziellen Domäne der Geschäftsadressen die höchste

Effektivität besitzen, um diese Daten automatisch auf Dublettenzuordnungen zu prüfen. Auch

die manuellen Dublettenzuordnungen sollen überprüft werden und die hier erzielten

Fehlerquoten mit den Fehlerquoten der automatischen Methoden verglichen werden. Neben

dieser zentralen Fragestellungen ergeben sich weitere Nebenfragen, wie zum Beispiel ob es

wirklich signifikante Unterschiede zwischen den Methoden gibt. Des Weiteren soll geprüft

werden, inwiefern sich der Prozess der Dublettenfindung automatisieren oder der in vielen

Fällen hohe manuelle Aufwand zumindest deutlich reduzieren lässt, ohne Einbußen bei der

Qualität.

1.3 Aufbau

Im zweiten Kapitel dieser Arbeit werden die Bedeutung und Einordnung der

Dublettenerkennung als eine Datenqualitätsmaßnahme beschrieben und der Fokus der Arbeit

verdeutlicht. Im Kapitel drei werde ich die verschiedenen Methoden und Algorithmen für

Ähnlichkeitsmaße zur Messung der Ähnlichkeit von Zeichenketten vorstellen, die für die

Ähnlichkeitsbestimmung von Attributwerten eingesetzt werden. Das vierte Kapitel stellt

Methoden der Dublettenbestimmung vor, das heißt die Methoden der Entscheidung, ob es

Page 8: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

3

sich bei den gegebenen Datensätzen um eine Dublette handelt oder nicht. Hier liegt der

Schwerpunkt auf den Methoden des maschinellen, überwachten Lernens. Auch die Methoden

zur Messung des Erfolgs dieser Entscheidungen werden vorgestellt, da diese ein zentrales

Instrument zum Vergleich der Methoden der Dublettenerkennung sind. Kapitel fünf beschreibt

die Vorgehensweise bei der Evaluation und den verwendeten Versuchsaufbau. Es wird zuerst

die Datenbasis für die Evaluation vorgestellt. Anschließend widme ich mich den Anforderungen

an den Aufbau der Evaluation. Schließlich erläutere ich, wie diese Anforderungen umgesetzt

wurden und beschreibe die dabei entstandenen Implementierungen. Im Kapitel sechs geht es

um die Durchführung der Evaluation und die dabei entstandenen Ergebnisse. Bei der

Beschreibung der Durchführung gehe ich insbesondere auf die verwendeten Methoden und

deren Konfiguration. Danach erläutere ich die bei der Erfolgsmessung der Dublettenerkennung

entstandenen Ergebnisse. Dabei liegt der Fokus auf dem Vergleich der manuellen und der

automatisierten Dublettenerkennung. Anschließend stelle ich die entstandenen Fehlerbilder

der automatisierten Dublettenerkennung vor und zeige mögliche Lösungen für die Fehler auf.

Kapitel sieben fasst die gesamte Evaluation zusammen. Hier werde ich ein Fazit aus den

ermittelten Ergebnissen ziehen und versuche einen Ausblick auf die mögliche Fortführung der

Arbeit, basierend auf den erzielten Ergebnissen, zu geben.

Page 9: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

4

2 Grundlagen der Dublettenerkennung

Im folgenden Kapitel werde ich das Problem der Dublettenerkennung genau definieren. In

Kapitel 2.1 beschreibe ich die Dublettenerkennung als eine Maßnahme zur Verbesserung der

Daten- und Informationsqualität und verdeutliche die wirtschaftliche Relevanz des Themas

mithilfe von Beispielen. In Kapitel 2.2 werden der Input und der Output einer

Dublettenerkennung formal definiert. In Kapitel 2.3 wird die Vorgehensweise einer iterativen

Dublettenerkennung vorgestellt. In Kapitel 2.4 schließlich schränke ich das Thema ein und gehe

auf die in dieser Arbeit adressierte Problemstellung genauer ein.

2.1 Einordnung und Relevanz des Problems

Bei der Dublettenerkennung geht es um die Identifizierung unterschiedlicher Datensätze, die

dasselbe, eindeutige Realweltobjekt repräsentieren [vgl. Elma07, S.1].

ID Vorname Nachname Telefonnummer E-Mail

1 Max Mustermann +49 (40) 123456 [email protected]

2 Max Mustermann +49 (40) 123456 [email protected]

3 Max Münstermann 040/123456 [email protected] Tabelle 1 Ein Beispiel für Dubletten.

Die Tabelle 1 zeigt ein Beispiel für Dublettendatensätze, kurz Dubletten genannt. Die

Datensätze mit ID 1 und ID 2 sind exakte Dubletten. Sie sind über alle Attributwerte, außer

dem Wert für Primärschlüssel ID, identisch. Der Datensatz mit ID 3 repräsentiert offensichtlich

dasselbe Realweltobjekt wie die Datensätze 1 und 2, ist aber nicht mit diesen identisch. Es

handelt sich um eine unscharfe Dublette. Das Erkennen von exakten Dubletten ist relativ trivial

und lässt sich mithilfe einer einfachen Sortierung problemlos realisieren [vgl. Naum10, S.1].

Das Erkennen von unscharfen Dubletten ist hingegen ein komplexer Prozess, der den

Schwerpunkt dieser Arbeit bildet.

Dublettenerkennung ist kein neuer Forschungszweig. Einer der ersten Definitionen, hier unter

dem Begriff „automatic record linkage“, wurde bereits im Jahr 1959 verfasst [vgl. Newc59].

Dublettenerkennung gehört zu dem Forschungsbereich Informations- und Datenqualität.

Qualität wird von Juran als Gebrauchstüchtigkeit (fitness for use), bezeichnet [vgl. Jura91,

S.14]. Diese Definition wird für den Bereich Datenqualität zum Beispiel von Wang [vgl.

Wang96] angewendet. Desweitern werden in [Wang96] 15 Dimensionen der

Informationsqualität definiert. Diese Definition der Dimensionen wurde 2007 von der DGIQ

e.V. (Deutsche Gesellschaft für Informations- und Datenqualität e.V.) ins Deutsche übertragen

[vgl. DGIQ07]. Diese Übertragung ist in Abbildung 1 dargestellt.

Page 10: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

5

Abbildung 1 15 Dimensionen der Informationsqualität [DGIQ07].

Das Ziel der Dublettenerkennung ist die Erhöhung der Informationsqualität in den

Dimensionen der Fehlerfreiheit und Vollständigkeit. Fehlerfreiheit wird definiert als die

Übereinstimmung der Informationen mit der Realität. Dies wird durch die Dublettenerkennung

verbessert, da hierdurch die redundanten Repräsentationen eines Realweltobjekts aufgedeckt

werden. Vollständigkeit wird verbessert, da die gefundenen Dubletten oft unterschiedliche

Informationen über ein Realweltobjekt enthalten, die zusammen eine vollständigere Abbildung

des Objekts ergeben.

Dass mangelnde Informationsqualität und insbesondere Dubletten wirtschaftlichen Schaden

verursachen können, sollen folgende Beispiele verdeutlichen:

Ein Versandhändler versendet regelmäßig Kataloge an Kunden. Durch Dubletten im

Kundenstamm entstehen unnötige Kosten für Druck und Versand. Doppelt mit

Katalogen belieferte Kunden zweifeln an dem Qualitätsmanagement des

Unternehmens, was einen Imageschaden für das Unternehmen zu Folge hat.

Ein Handelsunternehmen gewährt seinen Kunden einen Kreditrahmen. Dubletten in

einer Kundendatenbank können dazu führen, dass ein Kunde den Kreditrahmen

mehrfach ausschöpft. Im Falle einer Insolvenz des Kunden drohen hohe

Forderungsausfälle. Ein zusätzlicher Abgleich der Kundendaten mit Daten der

Insolvenzmeldungen kann verhindern, dass Geschäfte mit bereits insolventen

Unternehmen getätigt werden.

Ein Maschinenbauunternehmen bestellt ein wichtiges Ersatzteil für eine Maschine, da

dieses offensichtlich nicht auf Lager ist. Durch eine Dublette im Materialstamm wurde

leider übersehen, dass das benötigte Teil doch auf Lager ist, aber unter einer

Bezeichnung, die einen Tippfehler enthält. Es kommt zu unnötigen

Produktionsverzögerungen, zusätzlich zu unnötigen Lagerkosten und Kapitalbindung.

Page 11: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

6

Die Liste lässt sich beliebig fortsetzen. Fazit ist, dass das Problem der Dubletten von hoher

wirtschaftlicher Relevanz ist.

2.2 Formale Definition

Um das Thema der Dublettenerkennung formal zu definieren, ist es nötig mit

Grunddefinitionen des relationalen Modells anzufangen [vgl. Naum10, S.13f].

Als Grundlage für eine Dublettenerkennung dient eine Relation R. Die Relation R besitzt ein

Schema SR, das aus einer Menge von Attributen besteht: { }. Jeder Datensatz

d, der in einer Relation R gespeichert ist, ordnet jedem Attribut einen Wert w zu. Somit kann

man einen Datensatz als eine Menge von Werten definieren: { } oder eine

Menge von Attribut-Wert Paaren: {( ) ( ) ( )}.

Ich nehme im Rahmen dieser Arbeit an, dass alle Datensätze, die für die Dublettenerkennung

relevant sind, diesem Schema entsprechen. Aufgrund der Komplexität wird die

schemaübergreifende Dublettenerkennung und Dublettenerkennung in komplexen Relationen,

wie zum Beispiel 1:n verknüpfte Relationen, ausgeklammert. Ich nehme an, dass

gegebenenfalls im Vorfeld eine Datenvorbereitung im Sinne von Parsen, Transformation und

Standardisierung, bereits stattgefunden hat. Solche Datenaufbereitung bezeichnet man häufig

mit dem Begriff ETL (Extaction, Transformation, Loading) [vgl. Elma07].

Aus der Menge der Datensätze wird eine Untermenge als Dublettenkandidaten bestimmt. Dies

können alle Datensätze der Relation sein oder nur eine Teilmenge, zum Beispiel alle seit der

letzten Dublettenerkennung veränderten Datensätze. So erhält man eine Menge von

Kandidaten aus einer Relation R: { } .

Nicht alle Attribute einer Relation sind für eine Dublettenerkennung relevant. Künstliche

Primärschlüssel, wie zum Beispiel im Kapitel 2.1 in der Tabelle 1 das Attribut ID, sind für die

Dublettenerkennung irrelevant. So werden für die Dublettenerkennung relevanten Attribute

als Projektion der Menge SR bestimmt. Diese Beschreibung eines Kandidaten k definiere ich als

( ) {( ) ( ) ( )} beziehungsweise ( ) { }. Die Menge

der entsprechend definierten Kandidaten wird als Input für den Dublettenerkennungsprozess

verwendet.

Das Ziel einer Dublettenerkennung ist eine Partitionierung der Kandidaten. Jede der

Partitionen enthält demnach nur die Kandidaten, die dasselbe Realweltobjekt repräsentieren.

Als Notation für die Partitionierung der Kandidaten verwende ich .

Um die Notation zu veranschaulichen, wende ich diese Notation auf das Beispiel der Relation

aus Kapitel 2.1, Tabelle 1 an. Diese hat das folgende Schema:

{ }

Die Relation enthält drei Datensätze. Ich Definiere beispielhaft den ersten Datensatz:

{ }

Page 12: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

7

Für den Abgleich werden alle Datensätze als Kandidaten verwendet:

{ }

Da ich das Attribut ID für den Abgleich nicht verwende, ergibt sich folgende Beschreibung für

den Kandidaten 1:

( ) { }

Nach der Durchführung des Abgleichs ergibt sich folgende Partitionierung der Kandidaten:

{( )}

Es gibt also nur eine Partition, da alle Kandidaten das gleiche Realweltobjekt repräsentieren.

2.3 Ein iterativer Algorithmus zur Dublettenerkennung

Im Kapitel 2.2 habe ich den Input und den Output einer Dublettenerkennung definiert. Um

eine Partitionierung der Kandidaten zu erreichen, geht man üblicherweise nach dem Schema

eines iterativen Dublettenerkennungsalgorithmus vor [vgl. Naum10, S.15]. Zuerst werden von

einem Algorithmus Kandidatenpaare (k1, k2) bestimmt, für die im zweiten Schritt eine

Ähnlichkeit sim(k1, k2) berechnet wird. Es ist eine Funktion, die zwei Kandidaten als Parameter

nimmt und als Ergebnis eine Ähnlichkeit liefert, meistens eine Zahl zwischen 0 und 1. Bei

mehreren Attributen ist es möglich, die Ähnlichkeiten pro Attribut zu bestimmen, was als

Ergebnis mehrere Ähnlichkeiten in Form eines Vektors liefert. Je nach definiertem

Schwellenwert θ für die Ähnlichkeit, kann die Entscheidung getroffen werden, ob zwei

Kandidaten eine Dublette darstellen, das heißt, ob sie dasselbe Realweltobjekt repräsentieren.

Formal würde man sagen, dass zwei Kandidaten (k1, k2) eine Dublette sind, wenn sim(k1, k2) > θ

ist. Im Falle der Ähnlichkeitsmessung pro Attribut bei mehreren Attributen ist eine

Dublettenentscheidung komplexer. Hier bedient man sich zum Beispiel der Methoden der

Wahrscheinlichkeitsrechnung oder des maschinellen Lernens. In der Praxis ist es schwierig,

eine solche Entscheidung automatisch zu treffen. Deswegen wird oft ein bestimmter Bereich

bestimmt, in dem ein menschlicher Experte die endgültige Entscheidung treffen muss. Doch

trotz dieser Maßnahme ist es in der Praxis sehr schwierig, ein perfektes Ergebnis zu erreichen,

das auch als golden standard bezeichnet wird. Es kann dazu kommen, dass manche Dubletten

nicht entdeckt werden, da diese eine zu geringe Ähnlichkeit zueinander aufweisen. Dieses

Fehlerbild bezeichnet man als false negatives. Umgekehrt kann es dazu kommen, dass zwei

Datensätze trotz hoher Ähnlichkeiten der Attributwerte keine Dubletten sind. Hier spricht man

von false positives. Den letzten Schritt bildet die Bestimmung der Transitivität und Erzeugung

der Partitionierung. Per Definition repräsentieren zwei Datensätze, die als Dubletten erkannt

wurden, dasselbe Realweltobjekt. Wenn also A eine Dublette von B ist und B eine Dublette von

C, dann ist auch A eine Dublette von C, da A, B und C dasselbe Realweltobjekt repräsentieren

[vgl. Naum10, S.15]. Wenn man das Modell der Kandidaten und Dublettenpaare als einen

Graphen betrachtet, mit Kandidaten als Knoten und den Kanten als Dublettenbeziehungen,

Page 13: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

8

dann erhält man durch die Bestimmung der transitiven Hülle die gewünschte Partitionierung.

Die nachfolgende Abbildung 2 zeigt schematisch den beschriebenen Ablauf.

Abbildung 2 Ein prototypischer Ablauf einer Dublettenerkennung.

2.4 Fokus der Arbeit und Einschränkung des Problems

Wie im Kapitel 1.2 beschrieben, ist das Ziel dieser Arbeit die Bestimmung der besten

Dublettenerkennungsmethodik für die vorliegende Domäne der Daten, in diesem Fall der

deutschen Geschäftsadressen. Aufgrund der Beschaffenheit der Daten und der Komplexität

des gesamten Dublettenerkennungsalgorithmus, konzentriere ich mich in dieser Arbeit auf die

zwei zentralen Schritte der Dublettenerkennung: die Bestimmung der Ähnlichkeit der

Attributwerte und die Entscheidung, ob es sich bei den Kandidatenpaar um eine Dublette

handelt oder nicht. Die für die Evaluation im Rahmen dieser Arbeit zur Verfügung stehenden

Daten liegen als Datensatzpaare vor, zusammen mit einer Markierung, die beschreibt, ob es

sich um ein Dublettenpaar handelt oder nicht. Somit ist die Auswahl der Kandidaten bereits

getroffen. Des Weiteren stammen die Datenpaare nicht aus einer Quelle, womit die

Bestimmung der Partitionen hier ebenfalls nicht möglich beziehungsweise sinnvoll ist. In den

folgenden beiden Kapiteln stelle ich die Methoden der Ähnlichkeitsbestimmung für

Attributwerte und der Dublettenbestimmung auf der Basis dieser Ähnlichkeiten vor.

Relation R

Algorithmus zur Auswahl von Kandidatenpaaren (k1, k2)

Bestimmung der Ähnlichkeit der Attribute sim(k1, k2)

Entscheidung, ob das Kandidatenpaar (k1, k2) eine Dublette ist.

Bestimmung zusammenhängender Komponenten

Partitionierung

Page 14: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

9

3 Ähnlichkeitsbestimmung

Wie in Kapitel 2.3 vorgestellt, wird vor der Klassifizierung zweier Kandidaten als „Dublette“

oder „nicht Dublette“ zuerst eine Ähnlichkeitsfunktion verwendet, um die Ähnlichkeit der

einzelnen Attributwerte zu bestimmen. In den meisten Fällen sind die Attributwerte

Zeichenketten oder werden als solche behandelt. Deswegen konzentriere ich mich in diesem

Kapitel auf Ähnlichkeitsfunktionen für Zeichenketten.

In diesem Kapitel werden die wichtigsten Ähnlichkeitsfunktionen für Zeichenketten vorgestellt.

Diese Ähnlichkeitsfunktionen ermöglichen es, Zeichenketten auf Ihre Ähnlichkeit zu

überprüfen, konkreter ausgedrückt, deren typographischen Abweichungen numerisch zu

bewerten. Einige der hier beschriebenen Funktionen sind Distanzfunktionen, denn diese

messen den Abstand zweier Zeichenketten. Bei einer Ähnlichkeitsfunktion sind zwei

Zeichenketten umso ähnlicher, je höher deren berechnete Ähnlichkeit ist. Bei einer

Distanzfunktion, im Gegensatz zur Ähnlichkeitsfunktion, sind zwei Zeichenketten umso

ähnlicher, je geringer die Distanz ist. Eine Umrechnung der Distanz in eine Ähnlichkeit ist

problemlos Möglich und wird in diesem Kapitel ebenfalls vorgestellt. Zur Vereinfachung

verwende ich im Rahmen dieser Arbeit die einheitliche Bezeichnung Ähnlichkeitsfunktionen.

Die Ähnlichkeitsfunktionen für Zeichenketten kann man nach ihrer grundlegenden

Funktionsweise in drei Klassen aufteilen. Im Kapitel 3.1 stelle ich die Token-basierten

Ähnlichkeitsfunktionen, die als Input eine Menge von Tokens entgegennehmen. Kapitel 3.2

beschreibt die Edit-basierten Ähnlichkeitsfunktionen, die direkt auf Zeichenketten arbeiten

und die Kosten der Edit-Operationen berechnen. Die beiden Klassen lassen sich auch zu

sogenannten hybriden Ähnlichkeitsfunktionen kombinieren, die in Kapitel 3.3 vorgestellt

werden.

Die Auswahl der konkreten Algorithmen, die in diesem Kapitel beschrieben werden, erfolgte

auf Basis einer Literaturstudie, insbesondere [Elma07] und [Naum10]. Die dort vorgestellten

Algorithmen kommen bei der im Rahmen dieser Arbeit durchgeführten Evaluation zum Einsatz.

Abbildung 3 zeigt den Überblick über die angesprochenen Klassen der Ähnlichkeitsfunktionen

und die entsprechende Zuordnung der in den folgenden Kapiteln beschriebenen Algorithmen.

Die jeweils eng verwandten Algorithmen werden gemeinsam in einem Kapitel vorgestellt.

Page 15: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

10

Abbildung 3 Die Hierarchie der Zeichenkettenähnlichkeitsfunktionen.

3.1 Token-basierte Ähnlichkeitsfunktionen

Der erste Schritt eines Token-basierten Ähnlichkeitsalgorithmus ist es, eine Zeichenkette in

eine Menge von Tokens, auch atomic strings genannt [vgl. Mong96], zu zerlegen. Für die

Funktion, die eine Zeichenkette in eine Menge von Tokens überführt, verwende ich die

Notation tokenize(.). Die einfachste Möglichkeit, eine Zeichenkette in Tokens zu zerlegen, ist

die Verwendung von Satzzeichen, vor allem Leerzeichen [vgl. Mong96]. Nach diesem Prinzip

wurde eine Zerlegung der Zeichenkette „Angelina Jolie“ zur folgenden Menge an Tokens

führen: {Angelina, Jolie}. Die Satzzeichen werden bei der Zerlegung weggelassen. Man kann

innerhalb der tokenize(.) Funktion noch weitere Normierungen vornehmen, wie zum Beispiel

die Überführung in Kleinbuchstaben. Weitere Maßnahmen wären die Entfernung bestimmter

häufiger Wörter, der sogenannten stopwords, oder die Eliminierung von häufigen

Abkürzungen. Diese Maßnahmen sind aber nur domainspezifisch möglich, da diese unter

anderem von der verwendeten Sprache abhängen.

Ähnlichkeitsfunktionen

Token-basierte

Jaccard Ähnlichkeit

Cosinus-Ähnlichkeit mit tf/idf Gewichtung

Edit-basierte

Levenshtein Distanz

Needleman-Wunsch Distanz

Affine Gapkosten Distanz

Smith-Watermann Distanz

Smith-Watermann-Gotoh Distanz

Jaro Distanz

Jaro-Winkler Distanz

Hybride

Erweiterte Jaccard Ähnlichkeit

Monge-Elkan Ähnlichkeit

Soft tf/idf Ähnlichkeit

Page 16: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

11

Eine spezielle Form der Zerlegung in Tokens ist die Bildung von q-Grammen, in der Literatur

auch häufig n-Gramme genannt [vgl. Ullm77 und Ukko92]. Die so entstandenen Tokens haben

eine konstante Länge q. Außerdem überlappen sich so erzeugte Tokens, im Gegensatz zu der

Satzzeichen-Methode. Um eine Zeichenkette in q-Gramme zu zerlegen, verschiebt man ein

Fenster der Länge q über alle Zeichen der Zeichenkette jeweils um eins. Der Inhalt eines

solchen Fensters ist jeweils ein Token. Damit jedes Zeichen einer Zeichenkette, auch das erste

und das letzte, gleich häufig, in dem Fall q Mal, in der Menge der Tokens vorkommen, werden,

vorne und hinten an der Zeichenkette q-1 spezielle, im verwendeten Alphabet sonst nicht

vorkommende, Sonderzeichen angehängt [vgl. Grav01]. Als Beispiel zerlege ich die

Zeichenkette „Angelina Jolie“ in q-Gramme mit der Länge q=3, auch Trigramme genannt. Als

Sonderzeichen für den Anfang und das Ende der Zeichenkette verwende ich #. Zum

verdeutlichen von Leerzeichen ersetze ich diese durch _. Somit ergibt sich folgende Menge an

Trigrammen: {##A, #An, Ang, nge, gel, eli, lin, ina, na_, a_J, _Jo, Jol, oli, lie, ie#, e##}.

In den folgenden Unterkapiteln werde ich Ähnlichkeitsfunktionen vorstellen, die ermöglichen,

mithilfe von tokenize(.) Funktion erzeugten Tokens, die Ähnlichkeit zweier Zeichenketten zu

ermitteln.

3.1.1 Jaccard-Ähnlichkeit

Eine einfache und oft sehr effektive Token-basierte Metrik ist die Jaccard Ähnlichkeit [vgl.

Bile03]. Generell vergleicht die Jaccard Ähnlichkeit zwei Mengen mithilfe folgender Formel:

( ) | |

| |

Mit der Jaccard Ähnlichkeit wird das Verhältnis der Schnittmenge der Mengen S und T zu allen

Elementen der Vereinigungsmenge von S und T ausgedrückt. Im Kontext der

Dublettenerkennung sind die Mengen S und T Mengen von Tokens zweier Zeichenketten. Bei

gegebenen zwei Zeichenketten z1 und z2 und einer, wie in Kapitel 3.1 definierten Funktion

tokenize(.), ergibt sich folgende Formel für die Jaccard Ähnlichkeit:

( ) | ( ) ( )|

| ( ) ( )|

Hier zwei Beispiele für die Berechnung der Jaccard Ähnlichkeit:

Beispiel 1: Im ersten Beispiel verwende ich zwei Zeichenketten z1 = “Frau Angelina Jolie“ und z2

= “Herr Angelina Jolie“. Zudem verwende ich eine tokenize(.) Funktion, die, wie in Kapitel 3.1

beschrieben, Tokens als Wert erzeugt. Somit ergeben sich folgende Tokenmengen:

( ) { }

( ) { }

Page 17: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

12

Die Vereinigung beider Mengen ergibt eine Anzahl von vier disjunkten Elementen. Die

Schnittmenge enthält zwei Elemente Angelina und Jolie. Somit ergibt sich folgende Jaccard

Ähnlichkeit:

( )

In diesem Beispiel erkennt man, dass schon die Veränderung eines Wortes, in dem Fall die

Anrede, die ermittelte Ähnlichkeit deutlich verringert. Dabei würde man intuitiv sagen, dass

nur ein Unterschied in der Anrede keine so starke Abwertung rechtfertigt. Das ist einer der

Nachteile der Jaccard Ähnlichkeit. Im nächsten Kapitel werde ich zeigen, wie man mithilfe der

Cosinus-Ähnlichkeit diesen Nachteil ausgleichen und dabei erreichen kann, dass offensichtlich

unwichtige Tokens geringer gewichtet werden. Ein Vorteil dieser Berechnung der Jaccard

Ähnlichkeit ist, dass die Wortreihenfolge keinen Einfluss auf den Wert der berechneten

Ähnlichkeit hat. Die kleinsten Unterschiede in der Schreibweise einzelner Wörter würden die

Ähnlichkeit jedoch massiv verringern. Dieser Nachteil lässt sich mit einer modifizierten

tokenize(.) Funktion ausgleichen, nämlich mit einer, die q-Gramme erzeugt, wie in Kapitel 3.1

beschrieben.

Beispiel 2: Ich verwende zwei Zeichenketten z1 = “Frau Angelina Jolie“ und z2 = “Herr Angelino

Yolie“. Bei dieser Zeichenkettenkombination würde sich mit der tokenize(.) Funktion aus

Beispiel 1 eine Jaccard Ähnlichkeit von null ergeben. Ich verwende eine tokenize(.) Funktion,

die q-Gramme mit q=3 (Trigramme) als Wert erzeugt. Hier ergeben sich folgende

Tokenmengen:

( )

{ }

( )

{ }

Die Vereinigung beider Mengen enthält eine Anzahl von 32 disjunkten Elementen. Die

Schnittmenge enthält zehn Elemente. Somit ergibt sich folgende Jaccard Ähnlichkeit:

( )

Die Jaccard Ähnlichkeit ist hier zwar noch geringer als im Beispiel 1, aber deutlich höher als

null. Somit wird deutlich, dass durch die Verwendung von q-Grammen eine Toleranz

gegenüber typografischen Fehlern erreicht werden kann. Techniken, die speziell diese Form

von Fehlern ansprechen, werde ich im Kapitel 3.2 vorstellen.

3.1.2 Cosinus-Ähnlichkeit mit tf/idf Gewichtung

Die Cosinus-Ähnlichkeit ist ein Ähnlichkeitsmaß, das aus dem Bereich des information retrieval,

zu Deutsch Informationsabruf, stammt. In [Cohe98] ist ein WHIRL genanntes Modell

beschrieben, das die Cosinus-Ähnlichkeit mit dem sogenannten tf-idf Gewichtungsschema

kombiniert, um die Ähnlichkeit zweier Zeichenketten zu berechnen.

Page 18: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

13

Generell wird bei der Cosinus-Ähnlichkeit der Cosinus eines Winkels α zwischen zwei n-

dimensionalen Vektoren V und W berechnet:

( ) ( )

| | | |

|V| bezeichnet die Länge des Vektors V = [a,b,c,…], berechnet als √ . In der

Dublettenerkennung repräsentieren die Vektoren V und W Gewichte der Tokens der jeweils zu

vergleichenden Zeichenketten. Die Vektoren haben d Dimensionen, wobei d die disjunkte

Anzahl aller Tokens in allen Zeichenketten einer endlichen Domäne D ist. Diese Tokens

entstehen durch die Anwendung der tokenize(.) Funktion auf die Zeichenkette, die einen Wert

w eines Attributs a in einer Relation R darstellt.

Wie schon in Kapitel 3.1.1 angedeutet, liegt die Besonderheit der hier beschriebenen Cosinus-

Ähnlichkeit in der Gewichtung der Tokens. Dazu definiert man einen Termvektor T der Domäne

D, der ebenfalls d Dimensionen besitzt. Dieser Vektor beinhaltet ein Gewicht für jeden der

disjunkten Tokens aus D. Mit diesem Gewicht soll die Relevanz der einzelnen Tokens in

Verhältnis zu allen anderen Tokens in D ausgedrückt werden. Dazu wird die Tokenhäufigkeit-

inverse Dokumentenhäufigkeit, kurz tf-idf, als Maß verwendet. Zuerst definiere ich für die

einzelnen Komponenten Tokenhäufigkeit tf (term frequency) und inverse

Dokumentenhäufigkeit idf (inverse document frequency) [vgl. Cohe98].

Die Tokenhäufigkeit drückt aus, wie oft ein Token in einer Zeichenkette vorkommt und

beschreibt somit die Relevanz des Tokens innerhalb einer Zeichenkette. Innerhalb der

Definition heißt es, ein Token t ist enthalten im Wert w einer Kandidatenbeschreibung des

Kandidaten k, sodass (a,w) ϵ B(k), die Notation tft,k besitzt.

Inverse Dokumentenhäufigkeit bedeutet, dass jene Tokens eine höhere Gewichtung

bekommen, die in der Gesamtmenge aller Kandidatenbeschreibungen weniger häufig

vorkommen. Ziel dabei ist es, häufig vorkommende Tokens geringer zu gewichten, da diese für

die Unterscheidung der Kandidaten weniger geeignet sind. Als Beispiel nehme ich eine fiktive

Datenbank mit Namen von Steuerberatern. Fast in jedem Namensfeld kommt der Token

„Steuerberater“ vor. Für die Ermittlung der Gleichheit zweier solcher Namen ist dieser Token

wenig relevant und erhält eine niedrige inverse Dokumentenhäufigkeit. Formal wird die

inverse Dokumentenhäufigkeit folgendermaßen definiert, wobei n die Gesamtanzahl der

Kandidaten bezeichnet:

|{ |( ) ( )} ⋀ ( )|

In dem WHIRL Modell werden die Termhäufigkeit und die inverse Dokumentenhäufigkeit zur

folgenden Tokengewichtung kombiniert.

( ) ( )

Diese Gewichtung wird für jeden Token ti ϵ D berechnet. Jetzt können die Vektoren V und W

erstellt werden. Der Wert an der i-ten Stelle der Vektoren entspricht der tf-idf Gewichtung des

jeweiligen Tokens, oder ist null, falls dieser Token in den zu vergleichenden

Page 19: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

14

Kandidatenzeichenketten nicht vorkommt. Mithilfe dieser Gewichtung kann die

Cosinusähnlichkeit berechnet werden.

Beispiel 3: Die Beispielberechnung führe ich mit einem Auszug aus einer fiktiven Datenbank für

Steuerberater. Dieser Auszug ist in der

Tabelle 2 dargestellt.

ID Name

1 Steuerberater Kreft

2 Steuerkanzlei Stapelmann

3 Steuerkanzlei Nack

4 Steuerberater Dipl-Betriebswirt Hans-Joachim Ziemer

5 Dr. Walter Burger & Partner Steuerberatungsgesellschaft

6 Dittmann & Kollegen Steuerberatungsgesellschaft mbH

7 Steuerberater Brandt

8 Steuerberater Foster

9 Steuerbüro Schneemann

10 Hosse-Weigl Steuerberatungsgesellschaft mbH Tabelle 2 Beispieltabelle mit Steuerberatern.

Man sieht, dass in jeden Namen die Tokens jeweils nur einmal vorkommen, sodass die

Termfrequenz tf immer 1 oder 0 ist. Wir wollen die Namen „Steuerberater Kreft“ und

„Steuerberater Foster“ vergleichen. Die Terme „Kreft“ und „Foster“ kommen in dieser Domäne

jeweils einmal vor, somit besitzen beide eine idf von

, also 10. Der Term „Steuerberater“

kommt hingegen vier Mal vor und hat einen idf Wert von

. Somit ergeben sich folgende

Vektoren mit tf-idf Werten (zur Vereinfachung lasse ich die Stellen, die bei beiden Vektoren 0

sind, weg), die in der Tabelle 3 dargestellt sind.

Term V W

Kreft ≈ 0,30 0

Foster 0 ≈ 0,30

Steuerberater ≈ 0,12 ≈ 0,12 Tabelle 3 Die Vektoren der zu vergleichenden Zeichenketten.

Daraus ergibt sich folgende Cosinusähnlichkeit:

( )

Eine vergleichbare Jaccard Ähnlichkeit würde hier

betragen und somit erheblich mehr als die

hier berechnete Cosinusähnlichkeit. Die Übereinstimmung des Tokens „Steuerberater“ wird

hier deutlich geringer bewertet, da dieser Token öfter in der gegebenen Domäne vorkommt

und somit die Übereinstimmung dieses Tokens weniger über die Ähnlichkeit der Namen

aussagt.

Page 20: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

15

Die Gewichtung der Terme soll die Wichtigkeit deren für die Ähnlichkeit wiederspiegeln. Dabei

ist die Verwendung der tf-idf Gewichtung, wie im WHIRL Modell vorgeschlagen, nur eine der

Möglichkeiten für die Cosinusähnlichkeit. Auch andere, zum Beispiel domänenspezifische

Gewichtungen, sind möglich.

3.2 Edit-basierte Ähnlichkeitsfunktionen

Im Unterschied zu den im Kapitel 3.1 beschriebenen Token-basierten Algorithmen, werden bei

den Edit-basierten Ähnlichkeitsfunktionen die zu vergleichenden Zeichenketten nicht in Tokens

zerlegt. Es werden vielmehr Operationen verwendet, wie Einfüge-, Lösch- oder Ersetzungs-

Operationen, um eine Zeichenkette in eine andere umzuwandeln [vgl. Nava01].

3.2.1 Levenshtein und Needleman-Wunsch Distanz

Die Levenshtein Distanz ist eine Metrik zur Bestimmung von Distanz beziehungsweise Abstand

zweier Zeichenketten. Die Distanz zwischen zwei Zeichenketten z1 und z2 wird hier errechnet

als die minimalen Kosten, um z1 in z2 zu überführen. Diese Kosten werden als die Summe der

Kosten der für die Überführung nötigen Operationen berechnet. Jeder Operation werden die

entsprechenden Kosten zugeordnet. Die Levenshtein Distanz zwischen zwei Zeichenketten z1

und z2 LevDist(z1, z2) definiert die Kosten für Einfüge-, Lösch- und Ersetzungs- Operation als 1.

Somit ist die LevDist(z1, z2) die minimale Anzahl dieser Operationen die nötig ist, um z1 in z2 zu

überführen [vgl. Leve66].

Beispiel 4: Als Beispiel nehme ich zwei Zeichenketten z1 = “Hase“ und z2 = “Rasen“. Die

minimalen Kosten, um z1 in z2 zu überführen, betragen hier zwei. Es sind nämlich zwei

Operationen nötig, eine Ersetzungsoperation des ersten Buchstabens „H“ in „R“ und eine

Einfügeoperation am Ende, wo ein „n“ eingefügt wird. Es gibt noch unzählige weitere

Möglichkeiten der Überführung, wie zum Beispiel das Löschen aller Zeichen aus z1 und das

Einfügen aller Zeichen von z2. Die Kosten betragen dann aber neun und sind nicht minimal.

Ein populärer Algorithmus zur Berechnung der Levenshtein Distanz basiert auf der

dynamischen Programmierung. Es initialisiert eine (|z1|+1)x(|z2|+1) große Matrix M, wobei |z|

die Länge der jeweiligen Zeichenketten ist. Wenn der Wert in der Spalte i und der Zeile j in der

Matrix als Mi,j definiert ist und die Position i in der Zeichenkette n als zn,i, so werden die Werte

in der Matrix folgendermaßen berechnet:

{

( )

Page 21: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

16

Die Berechnung beginnt an der Stelle M0,0. Das Ergebnis, also die Levenshtein Distanz, kann

nach der Berechnung an der Stelle M|z1|,|z2| abgelesen werden.

Für die Berechnung des Beispiels mit z1 = “Hase“ und z2 = “Rasen“ ergibt sich folgende, in der

Tabelle 4 dargestellte Matrix.

H A S E

0 1 2 3 4

R 1 1 2 3 4

A 2 2 1 2 3

S 3 3 2 1 2

E 4 4 3 2 1

N 5 5 4 3 2 Tabelle 4 Berechnung der Levenshtein Distanz.

Eine Erweiterung der Levenshtein Distanz, die andere Kosten für Einfüge-, Lösch- und

Ersetzungs- Operationen als 1 erlaubt, ist die Needleman-Wunsch Distanz, die ansonsten

analog zu der Levensthtein Distanz definiert ist [vgl. Need70]. Darüber hinaus erlaubt die

Needleman-Wunsch Distanz unterschiedliche Bewertung der verschiedenen

Ersetzungsoperationen. Beispielsweise kann eine Ersetzung ähnlich klingender oder auf einer

Tastatur nebeneinander liegender Zeichen mit geringeren Kosten bewertet werden als andere

Ersetzungen. Das erlaubt eine domänenspezifische Optimierung der berechneten Distanz.

3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh

Distanz

Die Levenshtein Distanz ist wenig geeignet zum Vergleich von Zeichenketten, bei denen sich

ganze Segmente unterscheiden, zum Beispiel wenn Abkürzungen verwendet werden („Hans J

Wurst“ und „Hans Jürgen Wurst“) oder wenn einer der Zeichenketten einen Präfix besitzt

(„Prof. Hans Wurst“ und „Hans Wurst“). In diesem Kapitel werden kurz Algorithmen

vorgestellt, die diese Schwächen der Levenshtein Distanz fokussieren, ansonsten in Ihrer

Grundfunktionalität der Levenshtein Distanz entsprechen. Im Folgenden gehe ich deswegen

nur auf die Unterscheide zu der Levenshtein Distanz ein.

Das Problem der Abkürzungen wird von der affinen Gapkosten Distanz angesprochen. Diese

erweitert die Operationen der Levenshtein Distanz um neue Operationen, die das Einfügen

oder Löschen von kompletten Zeichenblöcken und nicht nur einzelner Zeichen erlauben. Die

Kosten dieser Operationen sind niedriger als das Einfügen beziehungsweise Löschen aller

Zeichen innerhalb dieser Blöcke [vgl. Wate76]. So zum Beispiel bei Zeichenketten z1 = “Hans J

Wurst“ und z2 = “Hans Jürgen Wurst“. Man erkennt zwei übereinstimmende Blöcke „Hans J“

und „ Wurst“ und einen Block, der eingefügt werden muss, um z1 in z2 zu überführen, nämlich

Page 22: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

17

„ürgen“. Die Kosten für das Einfügen eines solchen Blocks können als die Summe aus den

Kosten für das Öffnen des Blocks o und die Erweiterung des Blocks um ein Zeichen e berechnet

werden. Wenn man die Kosten als o = 1 und e = 0,1 definiert, ergeben sich die Gesamtkosten

für das Einfügen des gesamten Beispielblocks „ürgen“ als o + 4e = 1 + 4 x 0,1 = 1,4. Die Kosten

für das Öffnen des Blocks beinhalten bereits die Kosten für das Einfügen des ersten Zeichens.

Diese Gesamtkosten sind erheblich niedriger als bei der Levenshtein Distanz, die dort 5

betragen würden. Deswegen eignet sich die Methode besonders gut für Zeichenketten mit

Abkürzungen oder fehlenden Fragmenten.

Die Problematik der unterschiedlichen Bewertung von Präfix beziehungsweise Suffix einer

Zeichenkette wird von der Smith-Waterman Distanz behandelt [vgl. Smit81]. Zuerst wird die

längste gemeinsame Subsequenz zwischen zwei Zeichenketten bestimmt. Bei dem Beispiel z1 =

“Prof. Hans Wurst“ und z2 = “Hans Wurst“ wäre das „Hans Wurst“. Da diese Subsequenz der

gesamten Zeichenkette z2 entspricht, stellt man fest, dass der Unterschied zwischen z1 und z2

in einem Präfix „Prof.“ besteht. Grundsätzlich werden bei der Smith-Watertman Distanz die

Zeichenketten in Präfix, gemeinsame Subsequenz und Suffix zerlegt. Das Einfügen

beziehungsweise Löschen von Präfix oder Suffix der Länge l kann, ähnlich der affinen

Gapkosten Distanz, mit niedrigeren Kosten versehen werden als das Ersetzen oder Löschen

von l Zeichen. Somit führen die Unterschiede in Präfix oder Suffix zu geringeren Distanz, als es

bei der Levenshtein Distanz der Fall wäre.

Eine Kombination beider Techniken, die sowohl Präfix und Suffix als auch affine Gaps

berücksichtigt, wird als Smith-Waterman-Gotoh Distanz bezeichnet [vgl. Goto82]. Des

Weiteren bedient sich dieser Ähnlichkeitsfunktion als Grundlage der Needleman-Wunsch

Distanz. Somit können auch die Edit-Operationen mit unterschiedlichen Kosten versehen

werden, wie in Kapitel 3.2.1 beschrieben.

3.2.3 Jaro und Jaro-Winkler Distanz

Die Jaro und Jaro-Winkler Distanz unterscheiden sich von den bis jetzt von mir vorgestellten,

Edit-basierten Algorithmen vor allem durch die Berücksichtigung einer neuen Operation. Diese

erlaubt eine Zeichenvertauschung. Des Weiteren werden die Algorithmen nicht mittels

dynamischer Programmierung implementiert.

Die Jaro Distanz vergleicht zwei Zeichenketten z1 und z2, indem zuerst die gemeinsamen

Zeichen der beiden Zeichenketten identifiziert werden. Als gemeinsam werden Zeichen

bezeichnet, die gleich sind und deren Position innerhalb der Zeichenketten, hier als i und j

bezeichnet, nicht mehr als die Hälfte der Länge der kürzeren Zeichenkette abweicht. Formal

ausgedrückt:

| | (| | | |)

Nachdem die gemeinsamen Zeichen identifiziert sind, werden alle Zeichen der Zeichenketten

nacheinander durchlaufen, um die Anzahl der Zeichenvertauschungen t der gemeinsamen

Zeichen zu identifizieren. Zeichenvertauschung bedeutet, dass das gemeinsame Zeichen aus z1

Page 23: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

18

an der Position i nicht gleich ist mit dem gemeinsamen Zeichen an der Position i aus z2. Wenn σ

die Menge der gemeinsamen Zeichen ist, ergibt sich folgende Formel für die Jaro Ähnlichkeit:

( )

(

| |

| |

| |

| |

| |

| |)

[vgl. Jaro89].

Beispiel 5: Als Beispiel für die Berechnung nehme ich z1 = “Prof. Hans Wurst“ und z2 = “Dr. Hasn

Wurst“. Es ergeben sich die Längen |z1| = 16 und |z2| = 14. Der maximale Abstand zwischen

zwei gemeinsamen Zeichen ist 0,5 x min(16, 14) = 7. Die Menge der gemeinsamen Zeichen ist σ

= {r, ., _, H, a, n, s, _, W, u, r, s, t}, wobei _ für das Leerzeichen steht. Streng genommen handelt

es sich um eine Multimenge, da gleiche Elemente mehrfach vorkommen können. Da die

Zeichen n und s bei Hans in den Zeichenketten jeweils vertauscht sind, ergibt sich t = 2, da es

zwei Zeichen gibt, die sich nicht an der gleichen Position in den beiden Zeichenketten

befinden. Es ergibt sich folgende Jaro Ähnlichkeit:

( )

(

)

Die Jaro Ähnlichkeit funktioniert sehr gut bei Zeichenketten mit geringen Abweichungen.

Durch die gegebene Definition der gemeinsamen Zeichen ergeben sich aber Probleme mit

Zeichenketten, die einen längeren Zeichenblock als Präfix beinhalten. Ein einfaches Beispiel

wäre z1 = “Professor Hans Wurst“ und z2 = “Hans Wurst“. Es lassen sich lediglich vier

gemeinsame Zeichen identifizieren. σ = {s, s, r, _} und ein t = 2. Das ergibt lediglich eine Jaro

Ähnlichkeit von circa 0,45. Und das, obwohl der Unterschied nur in einem recht langen Präfix

besteht. Ein ähnliches Verhalten lässt sich mit einem Suffix beobachten.

Um die Jaro Ähnlichkeit vor allem in Hinsicht auf den Vergleich der Namensfelder zu

verbessern, wurde die Jaro-Winkler Ähnlichkeit entwickelt. Die Jaro-Winkler Ähnlichkeit geht

davon aus, dass ein Präfix in den Namensfeldern wichtig ist und die Übereinstimmung einer

Aufwertung bedarf. Bei zwei gegebenen Zeichenketten z1 und z2 mit einem gemeinsamen

Präfix ρ und einem Korrekturfaktor f, der die Korrektur der Ähnlichkeit nach oben in

Abhängigkeit von dem gemeinsamen Präfix darstellt, ergibt sich folgende Formel:

( ) ( ) | | ( ( ))

[vgl. Wink91].

Beispiel 6: Als Beispiel nehme ich die Zeichenketten z1 = “Hans“ und z2 = “Hans Peter“. Diese

Besitzen vier gemeinsame Zeichen und ein gemeinsames Präfix ρ = “Hans“. Es gibt keine

Zeichenvertauschungen in σ, somit ist t = 0. Daraus ergibt sich JaroSim(z1, z2) = 0,8. Mit einem

Aufwertungsfaktor f = 0,1 ergibt sich folgende Jaro-Winkler Ähnlichkeit:

( ) ( )

Page 24: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

19

3.3 Hybride Ähnlichkeitsfunktionen

In diesem Kapitel geht es um Ähnlichkeitsfunktionen, die bei der Ähnlichkeitsberechnung die

Funktionsweise der in Kapitel 3.1 beschriebenen Token-basierten Ähnlichkeitsfunktionen mit

der aus dem Kapitel 3.2 bekannten Edit-basierten Ähnlichkeitsfunktionen kombinieren.

Deswegen die Bezeichnung hybride Ähnlichkeitsfunktionen. Alle diese Ähnlichkeitsfunktionen

besitzen die Gemeinsamkeit, dass sie eine sekundäre Ähnlichkeitsfunktion verwenden. In

folgendem stelle ich drei Beispiele der hybriden Ähnlichkeitsfunktionen vor.

3.3.1 Erweiterte Jaccard Ähnlichkeit

Die Jaccard Ähnlichkeit wurde bereits im Kapitel 3.1.1 als eine Token-basierte Ähnlichkeit

beschrieben. Jetzt geht es um zwei mögliche Erweiterungen dieser Funktion mit Elementen der

Edit-basierten Ähnlichkeitsfunktionen.

In der ursprünglichen Definition der Jaccard Ähnlichkeit werden zwei Zeichenketten z1 und z2

zuerst mittels einer tokenize(.) Funktion in zwei Mengen von Tokens zerlegt. Als Elemente der

Schnittmenge der beiden Tokenmengen werden die gleichen Tokens definiert. In der ersten

Erweiterung der Jaccard Ähnlichkeit geht es darum, auch ähnliche Tokens für die Schnittmenge

zuzulassen, um so geringe Schreibfehler innerhalb der Tokens auszugleichen [vgl. Anan02].

Dazu kann eine beliebige Ähnlichkeitsfunktion, bevorzugt eine Edit-basierte, verwendet

werden. Wenn diese sekundäre Ähnlichkeitsfunktion als TokenSim(t1, t2) definiert ist für

Tokens t1 ϵ tokenize(z1) und t2 ϵ tokenize(z2) und θ ein Ähnlichkeitsschellenwert für diese

Funktion darstellt, dann kann man die Schnittmenge der Tokens zwischen z1 und z2 wie folgt

definieren:

( ) {( )| ( ) ( ) ( ) }

Es stellt kein Problem dar, statt der sekundären Ähnlichkeitsfunktion eine Distanzfunktion zu

verwenden. Dazu muss lediglich ( ) durch ( ) ersetzt

werden.

Ausgehend von dieser Definition können wir auch die Tokens, die nur in z1 vorkommen,

definieren als:

( ) { | ( ) ( ) ( )}

Und die Tokens, die nur in z2 vorkommen als:

( ) { | ( ) ( ) ( )}

Eine weitere Erweiterung der Jaccard Ähnlichkeit baut auf der ersten auf und erweitert diese

um eine Gewichtung g für die Tokens [vgl. Weis05]. So können zum Beispiel die Tokens der

Schnittmenge mit deren Ähnlichkeit gewichtet werden. Die Aggregationsfunktion, die die

individuellen Gewichtungen aggregiert, wird als A bezeichnet. Mithilfe der beiden eben

beschriebenen Erweiterungen ergibt sich folgende Formel:

Page 25: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

20

( )

( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

Die Gewichtung der Tokens aus Shared(z1, z2), Unique(z1) und Unique(z2) kann auch

unterschiedlich sein. Das kann nötig sein, wenn zum Beispiel für Shared(z1, z2) die Ähnlichkeit

als Gewichtung fungiert, denn diese liegt für die Tokens aus den Unique Mengen einfach nicht

vor.

Beispiel 7: Für das Beispiel nehme ich zwei Zeichenketten z1 = “Frau Angelina Jolie“ und z2 =

“Herr Angelino Yolie“. Bei der Anwendung der in Kapitel 3.1.1 beschriebenen Jaccard

Ähnlichkeit ergeben sich, je nach der verwendeten tokenize(.) Funktion, Ähnlichkeiten von 0

bei der Trennung nach Satzzeichen, wie in Beispiel 1, oder 0,3125 bei der Verwendung von

Trigrammen, wie in Beispiel 2. Ich verwende die Levenshtein Distanz als sekundäre

Ähnlichkeitsfunktion für die Bestimmung der Schnittmenge der Tokens mit dem Schwellenwert

θ = 0.75. Für die Anwendung der hybriden Jaccard Ähnlichkeit erhalten wir folgende Mengen:

( ) {( ) ( )}

( ) { }

( ) { }

Für die Unique Tokens verwenden wir die Gewichtung von 1. Für die Shared Tokens nehme ich

eine Levenstein Ähnlichkeit. Diese kann, ausgehend von der Levenstein Distanz, wie folgt

berechnet werden:

( ) ( )

(| | | |)

Eine solche Berechnung ist möglich, da die maximale Levenstein Distanz nicht größer sein kann

als die Länge der längeren Zeichenkette.

Die Aggregationsfunktion A soll die Gewichte aufsummieren. Es ergibt sich folgende hybride

Jaccard Ähnlichkeit:

( )

3.3.2 Monge-Elkan Ähnlichkeit

In Folgendem beschreibe ich eine weitere hybride Ähnlichkeitsfunktion, die als Monge-Elkan

Ähnlichkeit bekannt ist [vgl. Mong96]. Nach der Anwendung der tokenize(.) Funktion auf zwei

Zeichenketten z1 und z2 wird zu jedem Token ti aus z1 ein Token tj aus z2 gesucht, der die

höchste Ähnlichkeit hat, das heißt bei dem TokenSim(ti, tj) maximal ist. Diese maximalen

Page 26: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

21

Ähnlichkeiten für jeden Token aus z1 werden aufsummiert, und die Summe wird mit der Anzahl

der Tokens in z1 normalisiert. Formal ausgedrückt:

( )

| ( )|∑

| ( )| ( )

| ( )|

Beispiel 8: Als Beispiel nehme ich wieder die Zeichenketten z1 = “Frau Angelina Jolie“ und z2 =

“Herr Angelino Yolie“. Als TokenSim Funktion verwende ich erneut, analog zum Beispiel 7 für

die erweiterte Jaccard Ähnlichkeit, eine Levenstein Ähnlichkeit:

( ) ( )

(| | | |)

Die maximale Ähnlichkeit zu dem Token „Frau“ hat „Herr“ mit der Ähnlichkeit 0, für „Angelina“

ist es „Angelino“ mit der Ähnlichkeit 0,875 und für „Jolie“ ist es „Yolie“ mit 0,8. Es ergibt sich

folgende Monge-Elkan Ähnlichkeit:

( )

3.3.3 Soft tf/idf Ähnlichkeit

Die soft tf/idf Ähnlichkeit erweitert prinzipiell auf die gleiche Art und Weise die Cosinus tf/idf

Ähnlichkeit, wie die erweiterte Jaccard Ähnlichkeit die Jaccard Ähnlichkeit erweitert [vgl.

Naum10, S.36f]. Auch hier wird eine sekundäre Ähnlichkeitsfunktion TokenSim(t1, t2) definiert,

um die Tokens zu vergleichen. Des Weiteren wird eine Menge Close(θ, z1, z2) der Tokens ti

tokenize(z1) definiert, zu denen ein Token tj tokenize(z2) existiert, sodass TokenSim(t1, t2) >

θ. Dabei ist θ wieder ein Schwellenwert für die sekundäre Ähnlichkeitsfunktion. Formal

ausgedrückt:

( ) { | ( ) ( ) ( ) }

Der Unterschied zu der Shared(z1, z2) Menge aus der Definition der erweiterten Jaccard

Ähnlichkeit ist, dass Close(θ, z1, z2) nur Tokens aus der Zeichenkette z1 enthält. Tokens aus der

Zeichenkette z2, die ähnlich zu Tokens aus z1 und in Close(θ, z1, z2) enthalten sind, werden

mithilfe folgender Gleichung berücksichtigt, die den ähnlichsten Token tj tokenize(z2) zu

jedem ti Close(θ, z1, z2) bestimmt:

( ) ( )

( )

Die soft tf/idf Ähnlichkeit ist dann wie folgt definiert:

( ) ∑ (

| |

| | ( ))

( )

Page 27: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

22

V und W sind Vektoren, die jeweils die tf-idf Gewichtung für Terme aus z1 und z2 enthalten,

analog zur Definition für die Cosinus Ähnlichkeit im Kapitel 3.1.2.

Beispiel 9: Ich bediene mich des gleichen Beispiels wie bei der Monge-Elkan Ähnlichkeit und

vergleiche Zeichenketten z1 = “Frau Angelina Jolie“ und z2 = “Herr Angelino Yolie“. Zudem

verwende ich die gleiche sekundäre Ähnlichkeitsfunktion TokenSim:

( ) ( )

(| | | |)

Ich nehme an, dass sich in der gesamten Domäne zehn Dokumente befinden. Jeweils fünf

enthalten den Token „Herr“ und fünf den Token „Frau“. Die restlichen Tokens kommen jeweils

nur einmal vor. Es ergeben sich folgende Vektoren V und W:

{ }

{ }

Bei einem Schwellenwert für die sekundäre Ähnlichkeitsfunktion θ = 0,75 erhält man folgende

Menge Close(θ, z1, z2) = {Angelina, Jolie}. Daraus ergibt sich folgende Ähnlichkeit:

( )

Der Unterschied zu der im vorherigen Kapitel besprochenen Monge-Elkan Ähnlichkeit besteht

darin, dass bei Monge-Elkan die Terme gleiche Gewichtung besitzen, wohingegen bei soft tf/idf

Ähnlichkeit die tf/idf Gewichtung verwendet wird. Des Weiteren verwendet soft tf/idf

Ähnlichkeit nur sekundäre Ähnlichkeiten über einem bestimmten Schwellenwert θ. Bei der

Monge-Elkan Ähnlichkeit finden alle sekundären Ähnlichkeiten der Tokens aus z1 zu Tokens aus

z2 Verwendung.

Page 28: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

23

4 Dublettenbestimmung

Die im Kapitel 3 vorgestellten Ähnlichkeitsfunktionen eignen sich alle zum Vergleich einzelner

Attributwerte der Dublettenkandidaten. Meistens aber haben die Kandidaten mehrere

Attribute, so wie zum Beispiel bei einer üblichen deutschen Geschäftsadresse, die die Attribute

{Name, Straße, Postleitzahl, Ort} enthält. Wie bereits in Kapitel 2.2 definiert, wird für die

Kandidaten eine Projektion der Attribute definiert, auf dieser ein Dublettenvergleich

stattfindet: ( ) { } und ( ) { }. Beim Vergleich der

Ähnlichkeit pro Attribut erhält man einen Vektor mit Ähnlichkeiten:

( ) { ( ) ( ) ( )}

Ich verwende an dieser Stelle eine etwas andere Notation, die bereits 1969 von Fellegi und

Sunter eingeführt wurde und in Zusammenhang mit Dublettenbestimmung seitdem sehr

häufig verwendet wird [vgl. Fell69].

Seien A und B zwei Tabellen, die verglichen werden sollen und n gleiche Attribute enthalten.

Die Kandidatenpaare werden hier mit (α, β) bezeichnet, wobei α aus der Tabelle A stammt und

β aus der Tabelle B (α A, β B). Jedes Kandidatenpaar ist entweder der Klasse M oder U

zugewiesen. M enthält die Kandidatenpaare, die dasselbe Realweltobjekt repräsentieren, U

diejenigen, die unterschiedliche Realweltobjekte repräsentieren. Jedes dieser Kandidatenpaare

wird von einem Vektor, in Folgendem auch Entscheidungsvektor genannt, der folgenden Form

repräsentiert:

Die n Komponenten des Vektors korrespondieren mit den n Attributen der Kandidaten und

beschreiben die Übereinstimmung des i-ten Attributes der Kandidaten α und β. Das können

Ähnlichkeiten sein, die mit Methoden aus Kapitel 3 bestimmt wurden oder binäre Werte mit xi

= 1 bei einer Übereinstimmung oder xi = 0 bei keiner Übereinstimmung. Diese

Übereinstimmung kann ebenfalls mithilfe von Methoden aus Kapitel 3 bestimmt werden. Dies

geschieht mithilfe eines Schwellenwertes, wie in der Einführung in Kapitel 3 beschrieben.

In diesem Kapitel werden Methoden beschrieben, die auf der Basis eines solchen Vektors eine

Entscheidung ermöglichen, ob es sich bei einem Kandidatenpaar um Dubletten handelt. Den

Schwerpunkt lege ich besonders auf die Methoden, die sich gut für die Datenbasis eignen, die

für den Vergleich der Methoden im Rahmen dieser Arbeit zur Verfügung steht. Zuerst

beschreibe ich einfache Methoden der Entscheidung, die direkt auf den berechneten

Ähnlichkeiten basieren. Besonders interessant für die vorliegenden Daten sind Methoden, die

eine Trainingsmenge verwenden können beziehungsweise müssen und darauf basierend ein

Entscheidungsmodel erstellen, weil die zur Verfügung stehenden Datenpaare bereits als

„Dublette“ beziehungsweise „keine Dublette“ gekennzeichnet sind. Dies sind vor allem

Verfahren aus dem Bereich des maschinellen Lernens. Vor allem diese Verfahren werden im

Rahmen der Evaluation zum Einsatz kommen.

Die konkrete Auswahl der hier beschriebenen Methoden basiert auf [Elma07, S.6f], im Bereich

des maschinellen Lernens ergänzt um die künstlichen neuronalen Netze. Abbildung 4 zeigt

Page 29: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

24

schematisch die Methoden, die bei der Evaluation zum Einsatz kommen und verdeutlicht den

Schwerpunkt der Methoden des maschinellen Lernens. Die Beschreibung der probabilistischen

Entscheidungsverfahren ist in dem Zusammenhang trotzdem wichtig, da es zum einen hilft, die

Grundlagen der Dublettenbestimmung zu verstehen. Zum anderen stellten diese Verfahren

über mehrere Jahrzehnte in der Fachliteratur die dominierenden Methoden für die

Dublettenbestimmung dar.

Abbildung 4 Die Methoden der Dublettenbestimmung.

4.1 Ähnlichkeitsbasierte Entscheidungsverfahren

Als erstes werde ich Entscheidungsverfahren vorstellen, die direkt auf den berechneten

Ähnlichkeiten zwischen den Zeichenketten basieren. Die Methoden der

Ähnlichkeitsberechnung wurden bereits im Kapitel 3 vorgestellt. Die ähnlichkeitsbasierten

Entscheidungsverfahren gehen davon aus, dass es nur eine Ähnlichkeit pro

Dublettenbestimmung

Ähnlichkeits-basierte

Verfahren

Ein Attribut

Durchschnitt

Probabilistische Verfahren

Naive Bayes

Maschinelles Lernen

Entscheidungsbäume

Support Vector Machine

Nächster-Nachbar-Klassifikation

Künstliche neuronale Netze

Page 30: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

25

Dublettenkandidatenpaar gibt, was damit vergleichbar ist, dass der Entscheidungsvektor x nur

eine Dimension besitzt. Das Entscheidungsproblem für kann dann auf folgendes Vorgehen

reduziert werden:

( ) { ( )

( )

Das ist möglich, falls zum Beispiel die Kandidaten α und β nur ein Attribut besitzen. Der

optimale Schwellenwert lässt sich durch die Optimierung der Parameter precision und recall

bestimmen, die in Kapitel 4.4 vorgestellt werden. Die hier vorgestellten Methoden basieren

auf der Evaluation, die in [Bile03] beschrieben wurde.

4.1.1 „Ein Attribut“ Verfahren

Bei dem „ein Attribut“ Verfahren geht es darum, dass man die Entscheidung, ob α und β

Dubletten sind, auf Basis der Ähnlichkeitsberechnung eines Attributwerts fällt. Existieren in α

und β mehrere Attribute, so erzeugt man ein neues, künstliches Attribut, das alle Werte der

anderen Attribute hintereinander geschrieben und getrennt durch einen Trenner, wie zum

Beispiel ein Leerzeichen, beinhaltet. Auf diesem Attribut lässt sich die Ähnlichkeit berechnen,

in dem man die Inhalte des Attributs, die Zeichenketten z1 und z2, mithilfe einer

Ähnlichkeitsfunktion vergleicht. Mithilfe dieser Ähnlichkeit und eines Schwellwertes lässt

sich entscheiden, ob es sich bei α und β um eine Dublette handelt:

( ) { ( )

( )

Dieses Verfahren wurde zum Beispiel in [Mong96] vorgeschlagen. Aus dieser Basis wurde auch

die Monge-Elkan Ähnlichkeit entwickelt, die in Kapitel 3.3.2 vorgestellt wurde.

4.1.2 Durchschnittverfahren

Eine weitere Möglichkeit, die Entscheidung auf der Basis einer Maßzahl zu treffen, ist den

Durchschnitt der Ähnlichkeiten einzelner Attributwerte zu bilden. Auf der so erzeugten Zahl

kann man ebenfalls einen Schwellenwert anwenden [vgl. Bile03]. Einer Weiterentwicklung

dieser Methode könnte sein, die Ähnlichkeit der einzelnen Attribute bei der

Durchschnittsberechnung unterschiedlich zu gewichten. Die Suche nach der geeigneten

Gewichtung wird so sehr komplex und ähnelt den probabilistischen Entscheidungsproblem,

das ich in Kapitel 4.2 vorstelle [vgl. Elma07, S.9]. Deswegen wird in der Evaluation in Rahmen

dieser Arbeit nur der einfache Durchschnitt verwendet, ähnlich wie in der Evaluation aus

[Bile03].

Page 31: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

26

4.2 Probabilistische Entscheidungsverfahren

Bereits 1959 beschreibt Newcombe die Dublettenerkennung als eine Aufgabe der

Diskriminanzanalyse [vgl. Newc59]. Zehn Jahre später wurde dieser Gedanke formalisiert und

beherrschte seitdem die Fachliteratur zum Thema Entscheidungsverfahren bei der

Dublettenerkennung [vgl. Fell69]. Der Merkmalsvektor x dient als Input für eine

Entscheidungsregel, die x der Klasse M beziehungsweise U zuordnet. Die Hauptannahme dabei

ist, dass die Dichtefunktionen des Merkmalsvektors x für M und U unterschiedlich sind. Wenn

diese Dichtefunktionen bekannt sind, kann dieses Entscheidungsverfahren als eine Aufgabe für

eine Bayes-Entscheidungsregel angesehen werden. In Folgenden stelle ich

Entscheidungsverfahren vor, die auf dieser Idee basieren.

4.2.1 Bayes-Entscheidungsregel der kleinsten Fehlerrate

Sei x ein Vergleichsvektor der Kandidaten (α, β). Eine Entscheidung nach einer Bayes-

Entscheidungsregel wie folgt definiert [Fahr98, S.360]:

„Eine Zuordnung erfolgt nach der Bayes-Entscheidungsregel, wenn ein Objekt mit dem

beobachteten Merkmalsvektor x derjenigen Klasse (…) zugeordnet wird, die die größte a

posteriori-Wahrscheinlichkeit besitzt.“

Ob (α, β) M oder (α, β) U lässt sich also wie folgt auf Basis einer Bayes-

Entscheidungsregel entscheiden:

( ) { ( | ) ( | )

Das bedeutet, falls die Wahrscheinlichkeit, dass der Vektor x zu M gehört, größer ist als die

Wahrscheinlichkeit, dass x zu U gehört, dann wird x als zu M angehörig qualifiziert und

umgekehrt. Unter Verwendung des Bayestheorems kann diese Regel wie folgt ausgedrückt

werden:

( ) { ( )

( | )

( | )

( )

( )

In dem Fall ist

( ) ( | )

( | )

ein sogenanntes Likehood und

( )

( )

Page 32: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

27

ein Schwellenwert für Likehood bei dieser Entscheidung. In [Fahr98, S.361] findet man einen

Beweis für den folgenden Satz:

„Unter allen Entscheidungsregeln besitzt die Bayes-Entscheidungsregel für alle x die kleinste

bedingte Fehlerrate, wenn x beobachtet wird, und damit auch die kleineste

Gesamtfehlerrate.“

Somit kann diese Entscheidungsregel als optimal im Sinne der kleinsten Fehlerrate bezeichnet

werden. Voraussetzung dafür ist natürlich, dass die Verteilung von p(x|M) und p(x|U) und

auch p(M) und p(U) bekannt sind. Diese können mithilfe einer sogenannten Lernstichprobe

geschätzt werden.

Ein möglicher Ansatz, um die Verteilungen p(x|M) und p(x|U) zu berechnen, ist die sogenannte

naive Bayes Methode. Dazu wird angenommen, dass die Elemente des Entscheidungsvektors

unabhängige Beobachtungen darstellen und damit die Wahrscheinlichkeiten p(xi|M) und

p(xj|M) bei i ≠ j unabhängig sind. Diese Entscheidungsmethode liefert auch gute Ergebnisse,

wenn die Wahrscheinlichkeiten nicht vollkommen unabhängig sind [vgl. Samm11, S.713], was

in der Praxis der Dublettenbestimmung meistens der Fall ist. Genau das Gleiche gilt für die

Wahrscheinlichkeiten p(xi|U) und p(xj|U) bei i ≠ j. In diesem Fall werden die

Wahrscheinlichkeiten wie folgt berechnet:

( | ) ∏ ( | )

( | ) ∏ ( | )

Die Werte für p(xi|M) und p(xi|U) können mithilfe einer sogenannten Lernstichprobe aus

vorqualifizierten Kandidatenpaaren ermittelt werden. Als vorqualifizierte Datenpaare

bezeichnet man die Kandidatenpaare, bei denen die Zugehörigkeit zu Klasse M

beziehungsweise U a priori bekannt ist.

4.2.2 Die kostenoptimale Bayes-Entscheidungsregel

Die Minimierung der Fehlklassifikationswahrscheinlichkeit ist nicht immer das beste Kriterium

für eine Entscheidungsregel. Die falsche Zuordnung zu Klasse M oder U kann unterschiedliche

Konsequenzen haben. Die unterschiedliche Bewertung einer Fehlqualifikation kann durch

Berücksichtigung von Kosten cij ausgedrückt werden. Dies sind Kosten für eine Zuordnung des

Vektors x zu Klasse i, wenn dieser Vektor tatsächlich zu Klasse j gehört. Die Kostenfunktionen

können wie folgt ausgedrückt werden:

( ) ( | ) ( | )

( ) ( | ) ( | )

Page 33: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

28

Somit ergibt sich folgende Entscheidungsregel:

( ) { ( ) ( )

Unter Anwendung des Bayestheorems ergibt sich folgende Entscheidungsregel:

( ) { ( )

( ) ( )

( ) ( )

Im Falle der symmetrischen Kosten, das heißt cUM – cMM = cMU - cUU, ist die kostenoptimale

Entscheidungsregel identisch mit der Regel der kleinsten Fehlerrate [vgl. Very03].

Die Festlegung der Kosten ist schwierig und in der Literatur oft kritisch beurteilt [Fahr98,

S.363]:

„Die Festlegung allgemeiner Kostenfunktionen ist allerdings meist schwierig und (…) von einem

hohen Maß an Willkür geprägt.“.

4.2.3 Die Klasse der möglichen Dubletten

Erwähnenswert in Zusammenhang mit den probabilistischen Entscheidungsverfahren ist noch

die Klasse der möglichen Dubletten. Dabei wird vorgeschlagen, eine dritte Klasse für die

Entscheidungsregel einzuführen, nämlich die der möglichen Dubletten, in [Fell69] „possible

link“ genannt. Dieser Klasse sollen Kandidatenpaare zugeordnet werden, bei denen der

Likehood l(x) im Rahmen einer festgelegten Fehlerquote nah am Schwellenwert liegt. Die

Kandidatenpaare, die der Klasse der möglichen Dubletten zugeordnet wurden, sollen manuell

von einem Experten auf die Zugehörigkeit zu den Klassen M und U überprüft werden [vgl.

Fell69].

4.3 Maschinelles Lernen

Die probabilistischen Entscheidungsverfahren, basierend auf Bayes-Entscheidungsregeln und

üblicherweise aufbauend auf den Ideen aus [Fell69], beherrschten über 20 Jahre lang den

Bereich der Dublettenbestimmung. Die Entwicklung neuer Verfahren im Bereich des

maschinellen Lernens führte dazu, dass diese neuen Methoden seit Anfang des 21.

Jahrhunderts den Eingang in die Dublettenbestimmung gefunden haben. Das maschinelle

Lernen setzt die Existenz von Lernstichproben voraus, die aus vorqualifizierten

Kandidatenpaaren bestehen. Bei diesen Kandidatenpaarten ist die Zugehörigkeit zu der Klasse

M oder U bekannt. Dies kann mithilfe einer manuellen Vorqualifizierung durch einen Experten

erfolgen. Da im Kontext dieser Arbeit eine große Menge solcher vorqualifizierten Daten zur

Verfügung steht, sind die Techniken des maschinellen Lernens eine sehr interessante

Dublettenbestimmungsmethode. In diesem Kapitel stelle ich die Methoden des maschinellen

Page 34: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

29

Lernens vor, die in dem Kontext der Dublettenbestimmung interessant sind beziehungsweise

bereits in dem Zusammenhang mit Dublettenbestimmung untersucht wurden. Im Bereich des

maschinellen Lernens wird auch die Methode des naive Bayes eingesetzt, die bereits im Kapitel

4.2.1 vorgestellt wurde und in diesem Kapitel nicht erneut explizit vorgestellt wird.

4.3.1 Entscheidungsbäume

Als Entscheidungsbäume bezeichnet man gerichtete Bäume, die mehrstufige

Entscheidungsregeln darstellen [vgl. Borg98]. Mithilfe dieser Bäume ist es möglich,

automatisierte Klassifizierungen durchzuführen, in diesem konkreten Fall die

Dublettenbestimmung. Um eine Klassifizierung eines Kandidatenpaares (α, β) durchzuführen,

geht man vom Wurzelknoten entlang des Baumes. Bei jedem Knoten wird mithilfe eines

Attributwerts des Merkmalvektors x die Entscheidung getroffen, welcher Knoten für die

nächste Entscheidung verwendet wird. Dies geschieht so lange, bis man ein Blatt erreicht hat.

Die Blätter eines Entscheidungsbaums entsprechen den Klassifikationsklassen, in diesem Fall M

für Dublette und U für keine Dublette.

In Abbildung 5 ist ein möglicher Baum für Dublettenbestimmung dargestellt. Die Knoten tragen

die Bezeichnung des Attributs, dessen Ähnlichkeit ausgewertet wird. Die Ähnlichkeiten können

zum Beispiel mithilfe der Methoden aus Kapitel 3 bestimmt werden und die Attribute des

Entscheidungsvektors x darstellen. Die Kanten sind jeweils mit den Ähnlichkeiten beschriftet,

die zu dem jeweils nächsten Knoten führen. Die Blätter sind dann die entsprechenden Klassen

M und U.

Abbildung 5 Ein möglicher Entscheidungsbaum für Dublettenerkennung.

Entscheidungsbäume sind für Menschen sehr gut lesbar und können ebenso manuell erstellt

werden. Im Kontext dieser Arbeit stehen die Methoden des maschinellen Lernens, um

name

plz U

M U

> 0,5 ≤ 0,5

> 0,5 ≤ 0,5

Page 35: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

30

Entscheidungsbäume zu induzieren, im Fokus. Die Induktion erfolgt üblicherweise rekursiv und

benötigt vorqualifizierte Lernstichproben. In jedem Induktionsschritt wird ein Attribut des

Entscheidungsvektors x gesucht, mit dem die Qualifizierung zu der bereits bekannten Klasse

sich am besten durchführen lässt. Wie diese Auswahl erfolgt und wie gegebenen falls die

Schwellenwerte für die Kanten berechnet werden, ist abhängig von dem jeweiligen

Algorithmus. Dies wird rekursiv auf den entstandenen Teilmengen so lange wiederholt, bis in

jeder Teilmenge möglichst nur noch Objekte einer Qualifikation vorhanden sind.

Der wohl erste bekannte Algorithmus zur Induktion der Entscheidungsbäumen ist der CHAID

(Chi-square Automatic Interaction Detectors) Algorithmus. Dieser verwendet für die Wahl der

Attribute einen Chi-Quadrat-Unabhängigkeitstest. Dieser Test berechnet die Abhängigkeit

zweier Variablen und drückt diese als Chi-Quadrat-Abstand aus. Je größer dieser Abstand,

desto größer die Abhängigkeit zweier Variablen. Das Attribut mit dem größten Abstand, somit

auch der größten Abhängigkeit zur Zielgröße, wird in der jeweiligen Rekursion als

Entscheidungsattribut für einen Knoten des Baums gewählt [vgl. Sonq64]. Der CHAID

Algorithmus erlaubt beliebig viele Verzweigungen pro Knoten. Dieser Algorithmus eignet sich

nur für diskrete Attributwerte und ist somit für die Entscheidungsvektoren mit reellwertigen

Attributwerten, wie es bei Ähnlichkeitswerten der Fall ist, nicht geeignet.

Der CARD (Classification And Regression Trees) Algorithmus ist für reellwertige Attribute

geeignet. Bei der Anwendung des CARD Algorithmus werden, im Gegensatz zu CHAID,

Binärbäume erzeugt. Die Auswahl der Attribute erfolgt durch die Minimierung der Entropie

(Maximierung des Informationsgehalts) in Bezug auf die Zielklassen. Des Weiteren wird ein

Schwellenwert gesucht, der auf Basis des jeweiligen Attributs die beste Trennung bezüglich der

Zielklassen erlaubt. Die Attribute und die dazugehörigen Schwellenwerte, die die höchste

Trefferquote bezüglich der Zielklasse besitzen und somit die niedrigste Entropie aufweisen,

finden sich weiter oben in dem Entscheidungsbaum [vgl. Brei84]. In [Coch01] findet sich ein

Vergleich verschiedener Methoden des maschinellen Lernens im Kontext der

Dublettenentscheidung. Hier erreicht der CARD Algorithmus im Vergleich zur linearen

Diskriminanzanalyse und einer Variante der Nächste-Nachbarn-Klassifikation die niedrigste

Fehlerquote.

Es existieren zahlreiche Weiterentwicklungen des CARD Algorithmus, wie der ID3-, C4.5- oder

C.5.0- Algorithmus, die aber alle die Grundidee der Minimierung der Entropie verfolgen.

4.3.2 Support Vector Machine

Die Idee einer SVM (Support Vector Machine), zu Deutsch Stützvektormaschine, basiert auf

Arbeiten vom Wladimir Wapnik [vgl. Wapn95]. Die Grundidee dieses Klassifikators ist, die

Entscheidungsvektoren einer Lernstichprobe mit vorqualifizierten Trainingsobjekten durch

eine Hyperebene gemäß deren Klassenzugehörigkeit möglichst gut zu trennen. Dabei soll der

Abstand der Hyperebene zu den Vektoren, die ihr am nächsten liegen, maximiert werden.

Diese Maximierung soll helfen, Entscheidungsvektoren unbekannter Klassen möglichst gut

automatisch zu klassifizieren. Abbildung 6 zeigt ein einfaches Beispiel einer solchen

Page 36: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

31

Hyperebene in einem zweidimensionalen Raum. Die als Punkte eingezeichneten

Entscheidungsvektoren gehören jeweils einer roten und einer blauen Klasse.

Abbildung 6 Ein Beispiel einer vom SVM erzeugten Hyperebene.

Die Lage der Hyperebene ist nur von den Vektoren abhängig, die der Ebene am nächsten

liegen. Mithilfe dieser Stützvektoren wird die Hyperebene exakt mathematisch beschrieben.

Eine Trennung mithilfe einer Hyperebene ist im Normalfall nur möglich, wenn die Vektoren

auch linear trennbar sind. Dies ist in der Praxis aber oft nicht der Fall. Hier bedient man sich

eines Kernels. Die Aufgabe eines Kernels ist es, den Vektorraum mit den dazugehörigen

Entscheidungsvektoren in einen höherdimensionalen Raum zu überführen. In diesem Raum

wird dann die Hyperebene berechnet. Anschließend wird eine Rücktransformation in den

ursprünglichen, niedrigerdimensionalen Raum durchgeführt. Dadurch kann die Hyperebene zu

einer nichtlinearen Hyperfläche werden, die auch nicht zwingend zusammenhängend sein

muss, um die Entscheidungsvektoren korrekt zu trennen.

Eine weitere Möglichkeit, SVMs flexibler zu gestalten, ist die Einführung von Schlupfvariablen.

Diese sollen die Kosten einer Fehlklassifikation bestimmen und somit steuern, inwiefern

Fehlklassifikationen bei der Berechnung der Hyperebene erlaubt sind.

Eine SVM berechnet bei der Klassifizierung für jeden Vektor den Abstand zur Hyperebene.

Dieser Abstand kann dazu genutzt werden, bestimmte Entscheidungsvektoren mit sehr

niedrigem Abstand zur Hyperebene einer dritten Klasse möglicher Dubletten zuzuordnen, wie

es für die Bayes-Entscheidungsregeln im Kapitel 4.2.3 vorgeschlagen wurde.

Die Dublettenentscheidungen mithilfe einer SVM wurden bereits untersucht. Es wurde gezeigt,

dass eine SVM in den meisten Fällen einfacheren, auf Ähnlichkeiten basierenden

Hyperebene

Page 37: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

32

Entscheidungsmethoden überlegen ist [vgl. Bile03]. Es wurde gleichzeitig betont, dass die

optimale Entscheidungsmethode für Dubletten domänenabhängig ist. Somit können für

verschiedenartige Daten unterschiedliche Methoden zum Erfolg führen.

4.3.3 Nächste-Nachbarn-Klassifikation

Die Nächste-Nachbarn-Klassifikation wird mithilfe eines k-Nearest-Neighbor-Algorithmus, kurz

k-NN, implementiert. Es ist ein relativ einfaches und intuitives Verfahren, bei dem die

Trainingsdaten nur gespeichert werden, was als lazy learning bezeichnet wird. Die

Entscheidung über die Klassenzugehörigkeit eines neuen Entscheidungsvektors wird mithilfe

seiner k nächsten Nachbarn getroffen. Um die Abstände zwischen den Vektoren zu berechnen,

kann man sich eines beliebigen Abstandsmaßes bedienen, zum Beispiel des euklidischen

Abstands. Die Entscheidung über die Klassenzuordnung ist dann eine Mehrheitsentscheidung.

Je nachdem, zu welcher Klasse die meisten k nächsten Nachbarn des Entscheidungsvektors

gehören, wird auch der neue Entscheidungsvektor zugeordnet [vgl. Fix51]. Abbildung 7 zeigt

eine beispielhafte Klassifikation eines neuen Vektors in einem zweidimensionalen Raum mit

unterschiedlichen Werten für k.

Abbildung 7 Beispiel einer k-NN Klassifikation in einem zweidimensionalen Raum.

An diesem Beispiel wird deutlich, dass die Auswahl der Größe von k entscheidend für die

Qualität der Klassifikation ist. Ein kleines k oder gar ein k = 1 kann schnell zu einer falschen

Zuordnung führen. Ein großes k kann Vektoren in die Entscheidung einbeziehen, die sehr weit

entfernt liegen. Dem kann man zum Beispiel mit einer gewichteten Abstandsmetrik begegnen,

die näher liegende Vektoren höher gewichtet [vgl. Hall08].

k = 7

k = 1

Page 38: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

33

Im Kontext der Dublettenbestimmung wurde die Nächste-Nachbarn-Klassifikation bereits

untersucht. Obwohl diese nicht am besten abgeschnitten hat, ist die Nächste-Nachbarn-

Klassifikation wegen ihrer Einfachheit und Schnelligkeit durchaus interessant [vgl. Coch01]. Es

gibt auch Ansätze, die die Nächste-Nachbarn-Klassifikation mit einer SVM kombinieren und

dadurch eine sehr gute Klassifikation erreichen können [vgl. Chri08].

4.3.4 Künstliche neuronale Netze

Eine weitere bekannte Technik aus dem Bereich des maschinellen Lernens sind die künstlichen

neuronalen Netze. Es sind Netze aus künstlichen Neuronen, die sich am Vorbild der

biologischen neuronalen Netze orientieren. Ein künstliches neuronales Netz kann wie folgt

definiert werden [Krie07, S.36]:

„Ein Neuronales Netz ist ein sortiertes Tripel (N, V, w) mit zwei Mengen N, V sowie einer

Funktion w, wobei N die Menge der Neurone bezeichnet und V eine sortierte Menge

{( )| }

ist, deren Elemente Verbindungen von Neuron i zu Neuron j heißen. Die Funktion

definiert die Gewichte, wobei w((i, j)), das Gewicht der Verbindung von Neuron i zu Neuron j,

kurz mit wi,j bezeichnet wird. Sie ist je nach Auffassung entweder undefiniert oder 0 für

Verbindungen, welche in dem Netz nicht existieren.“

Das zentrale Bestandteil der künstlichen neuronalen Netze sind künstliche Neuronen. Diese

nehmen eine oder mehrere Eingaben x entgegen, die mithilfe der Gewichte w gewichtet

werden. Die Eingaben können die Ausgaben anderer Neuronen oder externe Eingaben sein.

Die Propagierungsfunktion erzeugt aus den Eingaben und den Gewichtungen eine

Netzeingabe. Die Propagierungsfunktion bildet oft einfach die Summe der gewichteten

Eingaben [vgl. Brau95].

Ein künstliches Neuron wird aktiviert, wenn die Netzeingabe einen Schwellenwert

überschreitet. Der Aktivierungszustand, also auch die Ausgabe eines künstlichen Neurons, wird

von einer Aktivierungsfunktion berechnet, die die Netzeingabe, den alten Aktivierungszustand

und den Schwellenwert als Eingaben verwendet.

( )

t wird dabei als Zeitschritt bezeichnet. Die eben beschriebene Form eines künstlichen Neurons

zeigt die Abbildung 8.

Page 39: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

34

Abbildung 8 Ein künstliches Neuron.

Manchmal wird auch eine Ausgabefunktion verwendet. Diese berechnet aus der Aktivierung aj

die Ausgabe eines künstlichen Neurons oj [vgl. Grau92]. In der von mit verwendeter

Darstellung ist die Aktivierung gleichzeitig die Ausgabe des Neurons.

Künstliche neuronale Netze können verschiedene Topologien besitzen. In Rahmen dieser

Arbeit werde ich mich auf die FeedForward-Netze beschränken. Die FeedForward-Netze

werden wie folgt definiert [Krie07, S.41]:

„Ein FeedForward-Netz besitzt klar abgetrennte Schichten von Neuronen: Eine Eingabeschicht,

eine Ausgabeschicht und beliebig viele innere, von außen nicht sichtbare

Verarbeitungsschichten (auch versteckte Schichten bzw. hidden layer genannt). Verbindungen

sind nur zu Neuronen der jeweils nächsten Schicht erlaubt.“

Im Kontext der Dublettenbestimmung kann die Eingabeschicht aus den Attributen des

Entscheidungsvektors bestehen und die Ausgabeschicht die jeweilige Klassen M und U

repräsentieren. Ein Beispiel eines solchen Netzes zeigt Abbildung 9.

x1,j

x2,j

xn,j

.

.

.

w1,j

w2,j

wn,j

∑⬚ fact

Θj

oj

Eingaben Gewichtungen Propagierungs-

funktion

Netzeingabe

netj

Aktivierungs-

funktion

Schwellenwert

Aktivierung

Page 40: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

35

Abbildung 9 Ein Beispiel eines FeedForward-Netzes für eine Dublettenentscheidung.

Das in Abbildung 9 dargestellte Netz ist ein sogenanntes Perceptron. Es besitzt eine feste

Eingabeschicht, dann eine oder mehrere trainierbare Gewichtsschichten (in Abbildung 9 sind

es zwei) und eine feste Ausgabeschicht. Die Schichten sind jeweils vollverknüpft. Als

Propagierungsfunktion wird die als Beispiel angesprochene gewichtete Summe verwendet [vgl.

Rose58].

Die einfachste Form eines Perceptrons ist ein Singlelayerperceptron, abgekürzt SLP. Ein SLP

besitzt lediglich Eingabe- und Ausgabeneutronen, die mit einer variablen Gewichtsschicht

verbunden sind und somit keine Verarbeitungsschicht. Als Lernalgorithmus für SLPs wird

meistens die sogenannte Delta-Regel verwendet [vgl. Krie07, S.75f]. Im Prinzip geht es bei der

Delta-Regel darum, dass der Output des SLP, für gegebene Entscheidungsvektoren als Input,

möglichst immer der bekannten Klassenzuordnung der Lernstichprobe entspricht. Der

Gesamtfehler, also die Summe der Fehlzuordnungen, wird durch eine Fehlerfunktion

ausgedrückt. Eine Fehlerfunktion ist eine Funktion der Gewichte der Propagierungsfunktion,

die den quadratischen Abstand zwischen der Ausgabe und der gewünschten Klassifizierung

optimiert. Die Funktion wird auf alle Gewichte, die als Vektor betrachtet werden, angewendet.

Der Lernprozess verändert die Gewichte und sucht nach dem Minimum der Fehlerfunktion.

Dazu wird diese Funktion abgeleitet, um das Gesamtminimum zu finden. Die Ableitung

geschieht mithilfe der Gradienten, die eine Verallgemeinerung der Ableitung für

mehrdimensionale Funktionen sind. Die Suche nach dem Minimum wird mithilfe des

Gradientenabstieges durchgeführt. Dies ist eine Methode, um vom beliebigen Startpunkt der

Funktion entgegen den Gradienten schrittweise in Richtung kleinerer Werte zu gehen. Es sei

erwähnt, dass diese Methode nicht immer das globale Minimum findet. Da die Delta-Regel sich

nur auf lineare Aktivierungsfunktionen beschränkt, wird die Aktivierungsfunktion ebenfalls in

die Ableitung aufgenommen. Da sowohl die Propagierungsfunktion als auch die

Aktivierungsfunktion linear sind, geschieht es durch Verschachtelung der Funktionen und

Anwendung der Kettenregel. Wichtig ist, dass ein SLP nur linear separierbare Daten

qualifizieren kann.

Eingabeschicht

Ausgabeschicht

M

N

Name

Strasse

PLZ

Ort

Verarbeitungsschicht

Gewichtsschicht Gewichtsschicht

Page 41: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

36

Das Beispielnetz aus Abbildung 9 ist ein Multilayerperceptron, kurz MLP. Ein MLP besitzt, im

Gegensatz zu SLP, zwei oder mehrere trainierbare Gewichtsschichten, die durch eine

Verwendung von hidden Layers hinzugefügt werden. Dies sind Schichten von künstlichen

Neuronen, die zwischen die Eingabe- und die Ausgabeschicht platziert werden, um mehrere

Gewichtsschichten zu ermöglichen. Als Lernalgorithmus wird hier oft der Backpropagation of

Error Algorithmus verwendet. Dieser verallgemeinert die Delta-Regel auf MLPs, indem die

Fehlerfunktion auf mehrere Gewichtsschichten erweitert wird. Dieser Algorithmus wurde von

Paul Werbos entwickelt [vgl. Werb74]. Durch die Einführung mehrerer Schichten ist es möglich

auch nicht linear separierbare Daten zu klassifizieren.

4.4 Erfolgsmessung der Dublettenerkennung

Da es in dieser Arbeit um einen Vergleich der Methoden der Dublettenerkennung geht, spielt

die Erfolgsmessung eine zentrale Rolle. Die Erfolgsmessung einer Entscheidungsregel ist

insofern schwierig, da sie voraussetzt, dass die Zugehörigkeit der Kandidatenpaare zu den

Entscheidungsklassen M (Dublette) und U (keine Dublette) bekannt sein muss. Dies erfordert

einen hohen manuellen Aufwand, um die Kandidatenpaare zu klassifizieren.

Allgemein werden Klassifizierungsfehler erst einmal als spezifische Fehler gemessen. Ein

spezifischer Fehler ist der Fehler einer Klassifizierung, ausgedrückt durch den Abstand der

erwarteten und der vorgenommenen Klassifizierung. Wenn man das Ergebnis einer

Klassifizierung als Vektor betrachtet, kann der spezifische Fehler als euklidischer Abstand oder

Root-Mean-Square ausgedrückt werden [vgl. Krie07, S.58]. Der Gesamtfehler ist dann die

Summe der spezifischen Fehler aller vorgenommenen Qualifizierungen. Diese Berechnungen

lassen sich im Kontext der Dublettenerkennung vereinfachen, da es hier nur zwei mögliche

Klassifizierungen gibt.

Bei zwei Entscheidungsklassen, wie es bei der Dublettenerkennung der Fall ist, ergeben sich

zwei Typen von Fehlern. Ein Kandidatenpaar, das keine Dublette darstellt, kann als Dublette

qualifiziert werden. In dem Fall spricht man von false positive. Umgekehrt kann eine Dublette

als „keine Dublette“ qualifiziert werden. Dann spricht man von false negative. Bei

Kandidatenpaaren, die korrekt als „Dublette“ beziehungsweise „keine Dublette“ qualifiziert

werden, spricht man dementsprechend von true positive oder true negative [vgl. Naum10,

S.61f]. Abbildung 10 zeigt anschaulich diese vier Fehlergruppen.

Page 42: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

37

Abbildung 10 Fehlergruppen bei der Dublettenerkennung [Naum10, S.62].

Basierend auf diesen Fehlergruppen werden zwei Metriken definiert, die im Bereich der

Dublettenerkennung populär sind, nämlich precision und recall [vgl. Naum10, S.61f]. Precision

misst das Verhältnis der korrekt identifizierten Dubletten zu allen gefundenen Dubletten.

Recall ist das Verhältnis der korrekt identifizierten Dubletten zu den tatsächlichen Dubletten.

Beide Metriken sind wie folgt definiert [Naum10, S.61]:

| |

| | | |

| |

| |

| |

| | | |

| |

| |

Um eine hohe precision zu erhalten, ist es am besten, möglichst wenige Kandidatenpaare der

Klasse der Dubletten zuzuordnen. Das führt aber zu schlechtem recall, denn hier führt das

Zuordnen aller Kandidatenpaare zur Klasse der Dubletten zum besten Ergebnis, was sich

wiederum in einer schlechten precision niederschlägt. Um einen Kompromiss zwischen den

zwei Metriken zu finden, wird das F-Measure verwendet. Es ist ein harmonisches Mittel von

precision und recall, der wie folgt definiert ist [Naum10, S.62]:

Um ein gutes F-Measure zu erreichen, müssen also precision und recall möglichst hoch sein. Je

nach der Datendomäne beziehungsweise dem späteren Einsatz der Daten kann es erforderlich

sein, eine hohe precision oder ein hohes recall zu erreichen. Beispielsweise für eine

Beurteilung der Kreditwürdigkeit einer Person ist die Zusammenführung zweier Datensätze,

die nicht dieselbe Person (dasselbe Realweltobjekt) darstellen, ein viel gravierenderer Fehler

Tatsächlic

Gefunden

false positives

true negatives

false negatives

true positives

Daten

gefundene Dubletten

tatsächliche Dubletten

Page 43: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

38

als das Nichtentdecken einer Dublette. Somit ist in solchen Fällen eine hohe precision

erforderlich, auch auf Kosten eines niedrigeren recall [vgl. Weis08]. Dies kann durch ein

gewichtetes F-Measure erreicht werden, das wie folgt definiert ist [Mann08, S.156]:

( )

Mit β=1 ergibt sich das F-Measure als harmonisches Mittel, wie oben beschrieben. Deswegen

spricht man dabei oft von dem F1-Measure.

Page 44: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

39

5 Anforderungen, Vorgehensweise und Versuchsaufbau

In diesem Kapitel werde ich die Vorgehensweise bei der Evaluation beschreiben. Zuerst werde

ich die vorliegende Datenbasis vorstellen. Danach beschreibe ich, welche Anforderungen an

die einzelnen Schritte der Implementierung der Evaluation von mir gestellt wurden.

Anschließend widme ich mich der Implementierung des Versuchsaufbaus und den dabei

verwendeten Technologien und Softwaretechniken. Im Wesentlichen ist der Versuchsaufbau in

drei Teile unterteilt. Der erste Teil dient der Bestimmung der Ähnlichkeiten der vorliegenden

Dublettenkandidatenpaare. Im zweiten Teil geht es darum, auf der Basis dieser

Ähnlichkeitswerte automatisiert zu bestimmen, ob es sich bei den Kandidatenpaaren um

Dubletten handelt oder nicht. Der dritte Teil ist die Erfolgsmessung der Dublettenbestimmung,

die mithilfe der zu den Dublettenkandidaten zugehörigen, manuell erstellten

Dublettenmarkierung, durchgeführt wird. Diese manuelle Entscheidung wird der

automatischen gegenüber gestellt. Dabei werden die Abweichungen gemessen und bewertet.

5.1 Die Datenbasis

Um die Güte der automatischen Dublettenentscheidungen zu verifizieren, benötigt man

Dublettenkandidatenpaare, bei denen bereits bekannt ist, ob es sich um eine Dublette handelt

oder nicht. Um diese manuell zu erstellen, ist ein hoher Aufwand nötig. Offen zugängliche

Quellen mit Daten, bei denen die Dublettenzuordnungen bereits bekannt sind, die in der

Literatur auch golden standard genannt werden, sind äußerst rar. Daten dagegen, die im

Rahmen von Geschäftsprozessen verwendet werden und dabei auf Dubletten geprüft wurden,

sind oft aufgrund von Datenschutzbestimmungen oder Betriebsgeheimnissen nicht offen

zugänglich. Künstlich hergestellte Dublettenkandidaten spiegeln hingegen häufig nicht die

Probleme und Abweichungen wieder, die in der Praxis bei Dubletten vorkommen [vgl.

Naum10, S. 65f].

Bei den Daten, die für diese Evaluation zur Verfügung stehen, handelt es sich um deutsche

Firmenadressen. Die Dublettenkandidatenpaare entstanden im Rahmen eines

Geschäftsprozesses, bei dem zwei Datenbanken A und B, die Firmenadressen enthalten,

gegeneinander abgeglichen wurden. Täglich wurden die Neuzugänge und Änderungen aus der

Datenbank A gegen den kompletten Datenbestand der Datenbank B abgeglichen. Der Abgleich

bestand aus einer simplen Vergleichslogik. Verglichen wurden die Attributwerte der Attribute

Name, Straße, Postleitzahl und Ort der Adressen. Die in der Datenquelle verwendeten Namen

für die Attribute sind name, strasse, plz und ort. Die Werte der Attribute wurden vor dem

Abgleich in Kleinschreibung überführt. Bei einer Identität der Attribute wurde die

Dublettenentscheidung automatisch getroffen. Falls nur Teile der Attributwerte

übereingestimmt haben, wie zum Beispiel die Postleitzahl und die ersten fünf Buchstaben des

Namens, wurden die Datensätze zur manuellen Qualifizierung ausgesteuert. Falls keine

Übereinstimmung von Teilen der Attributwerte festgestellt wurde, wurden die Kandidaten

automatisch als „keine Dubletten“ gekennzeichnet. Aus Gründen des Betriebsgeheimnisses

Page 45: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

40

muss hier leider auf eine detaillierte Beschreibung der Vergleichslogik verzichtet werden.

Abbildung 11 stellt schematisch den angesprochenen Prozess dar.

Abbildung 11 Die Qualifizierung von Dublettenkandidatenpaaren.

Bei der manuellen Dublettenklassifizierung hat ein Experte die Entscheidung getroffen, ob es

sich bei dem Kandidatenpaar um eine Dublette handelt oder nicht. Da es ein

geschäftskritischer Prozess ist, wurde dabei sehr sorgfältig gearbeitet. Somit kann man von

einer sehr geringen Quote an Falschzuordnungen ausgehen, wobei, wie bei jedem manuellen

Vorgang, Fehler nicht ausgeschlossen werden können. In diesem Prozess wurden circa 88

Kandidatenpaare pro Tag manuell qualifiziert. Die Daten für die Evaluation stammen direkt aus

dem System, in dem die manuelle Qualifizierung stattgefunden hat, und liegen in mehreren

Tabellen einer relationalen Datenbank vor.

Für die spätere Auswertung der Ergebnisse ist es wichtig zu wissen, dass bei der Entscheidung,

ob ein Dublettenkandidatenpaar eine Dublette darstellt oder nicht, prozessbedingt sehr auf

die rechtliche Eigenständigkeit der verglichenen Firmen geachtet wurde. Dazu ein Beispiel

eines Dublettenkandidatenpaars in

Tabelle 5, das bei der manuellen Bearbeitung als „keine Dublette“ markiert wäre. Der Grund ist

die unterschiedliche Rechtsform, einmal „GmbH“ und einmal „OHG“. Selbst wenn sich bei der

GmbH um eine Nachfolgefirma der OHG handelt, so stellen die beiden Datensätze, rechtlich

gesehen, Adressen von zwei unterschiedlichen Firmen dar [vgl. Schi02, S.36f].

Dubletten-

kandidatenpaar

Dublette Keine

Dublette

Manuelle

Qualifizierung

Automatische

Qualifizierung

Page 46: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

41

Name Strasse PLZ Ort

Muster GmbH Musterstr. 11 12345 Musterstadt

Muster OHG Musterstr. 11 12345 Musterstadt

Tabelle 5 Ein Bespiel eines Dublettenkandidatenpaares, dass als „keine Dublette“ markiert wäre.

Für die Evaluation habe ich 88.072 Kandidatenpaare ausgewählt, die im Zeitraum von circa drei

Jahren manuell qualifiziert wurden. Die Menge enthält 3.227 Kandidatenpaare, die als

„Dublette“ qualifiziert wurden, und 84.845 Kandidatenpaare, die als „keine Dublette“

qualifiziert wurden. Für die Evaluation kann also eine große Menge manuell qualifizierter

Dublettenkandidatenpaare, die aus einem echten Geschäftsprozess stammen, verwendet

werden. Somit ist zu erwarten, dass die Evaluation durchaus praxisrelevante Ergebnisse für die

Güte einer automatisierten Dublettenerkennung in der Domäne der deutschen

Geschäftsadressen liefert.

5.2 Anforderungen an die Umsetzung der Evaluation

Die Evaluation soll in drei Schritten erfolgen. Im ersten Schritt wird für alle

Dublettenkandidatenpaare die Ähnlichkeit der Attribute bestimmt. Für die Berechnung der

Ähnlichkeit kommen die Ähnlichkeitsbestimmungsmethoden zum Einsatz, die in Kapitel 3

beschrieben wurden. Somit entsteht pro Kandidatenpaar und

Ähnlichkeitsbestimmungsmethode ein Vektor, der die Ähnlichkeiten der Attributwerte enthält.

Dieser Vektor soll dazu dienen, mithilfe der Dublettenbestimmungsmethoden aus Kapitel 4 zu

bestimmen, ob es sich bei den Dublettenkandidatenpaaren um Dubletten handelt oder nicht.

Im letzten Schritt wird diese Entscheidung mit der bereits manuell getroffen Entscheidung für

das jeweilige Kandidatenpaar verglichen. Dies ermöglicht Erfolgsauswertungen mithilfe der

Methoden aus dem Kapitel 4.4. Abbildung 12 stellt diesen Prozess schematisch dar. Im

Folgenden widme ich mich den Anforderungen, anhand dessen diese Schritte realisiert werden

sollen. Dieser Beschreibung soll als Grundlage für die Umsetzung dienen.

Abbildung 12 Grundlegender Versuchsaufbau.

Ähnlichkeitsbestimmung Dublettenbestimmung Erfolgsmessung

Page 47: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

42

5.2.1 Ähnlichkeitsbestimmung

Die Ähnlichkeitsbestimmung soll für alle Dublettenkandidatenpaare die Ähnlichkeit der

Attribute name, strasse, plz und ort bestimmen. Zusätzlich soll die Ähnlichkeit eines künstlich

erzeugten Attributes all berechnet werden. Dieses Attribut soll den Inhalt der anderen

Attribute enthalten, die hintereinander geschrieben und mit Leerzeichen getrennt sind. Für die

Berechnung sollen alle in Kapitel 3 beschriebenen Ähnlichkeitsfunktionen angewendet

werden. Für die Funktionen, die Konfigurationsparameter enthalten beziehungsweise, wie die

hybriden Ähnlichkeitsfunktionen aus Kapitel 3.3, eine sekundäre Ähnlichkeitsfunktion

verwenden, soll es eine einfache und flexible Konfigurationsmöglichkeit geben. Die Ergebnisse

der Ähnlichkeitsbestimmung sollen in einer Datenbank persistiert werden.

Da die Ähnlichkeitsbestimmung ein komplexer Prozess ist, ist zu erwarten, dass für die

komplette Durchführung der Berechnung mithilfe aller Methoden eine Berechnungsdauer von

mehreren Stunden erforderlich sein wird. Deswegen soll es nach einer Konfiguration möglich

sein, die Ähnlichkeitsbestimmung für alle Kandidatenpaare und alle Konfigurationen der

Ähnlichkeitsfunktionen in einem manuell angestoßenen Schritt durchzuführen.

Für die Durchführung beziehungsweise die Implementierung der Ähnlichkeitsbestimmung soll

möglichst auf bereits vorhandene Implementierungen und Frameworks zurückgegriffen

werden. Diese sollen unter einer open source Lizenz stehen, die eine lizenzkostenfreie

Verwendung im Rahmen einer wissenschaftlichen Arbeit erlaubt.

5.2.2 Dublettenbestimmung

Die Ergebnisse der Ähnlichkeitsbestimmung bilden die Basis für die Dublettenbestimmung. Die

Dublettenbestimmung soll mit den Methoden aus Kapitel 4 durchgeführt werden, wobei

vorrangig die Methoden des maschinellen Lernens zu Einsatz kommen sollen. Zum Vergleich

sollen ähnlichkeitsbasierte Methoden aus Kapitel 4.1 verwendet werden. Bei den Methoden

des maschinellen Lernens sollen die Modelle, die in der Trainingsphase entstehen, ersichtlich

und auswertbar sein. Idealerweise sollten diese, wenn möglich, auch graphisch darstellbar

sein. Dies wäre zum Beispiel bei den Wahrscheinlichkeitsverteilungen der naive Bayes

Methode oder den induzierten Entscheidungsbäumen möglich.

Aufgrund der algorithmischen Komplexität der Verfahren des maschinellen Lernens soll eine

eigene Implementierung möglichst vermieden werden. Hier wäre eine geeignete Anwendung

beziehungsweise ein geeignetes Framework die bessere Wahl. Diese sollen die beschriebenen

Methoden implementieren, eine möglichst unkomplizierte Konfiguration bieten sowie die

Schritte des Lernens und der Evaluation beherrschen. Des Weiteren sollte die Anwendung

beziehungsweise die verwendeten Frameworks unter einer open source Lizenz stehen, die eine

lizenzkostenfreie Verwendung im Rahmen einer wissenschaftlichen Arbeit erlaubt.

Page 48: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

43

5.2.3 Erfolgsmessung

Die Erfolgsmessung soll nach den Vorgaben aus dem Kapitel 4.4 erfolgen, also im Wesentlichen

precision, recall und F-Measure Messung vornehmen, und somit die Abweichung des

Ergebnisses der automatischen Methoden von der manuellen Dublettenbestimmung

ausdrücken. Da bei den gegebenen Daten sowohl eine hohe precision als auch ein hohes recall

gefragt ist, soll die ungewichtete Variante des F-Measures zum Einsatz kommen, auch F1-

Measure genannt. Das Zustandekommen der Metriken sollte transparent und nachvollziehbar

sein. Auch der Vergleich der automatischen Entscheidung mit der manuellen Markierung auf

der Ebene der einzelnen Dublettenkandidatenpaare soll möglich sein. Eine graphische

Auswertung der Metriken wäre ebenfalls wünschenswert.

5.3 Evaluationsimplementierung

In diesem Kapitel beschreibe ich, wie und mithilfe welcher Frameworks und Anwendungen, die

in Kapitel 5 beschrieben Anforderungen an die Evaluationsschritte von mir umgesetzt wurden.

5.3.1 Ähnlichkeitsbestimmung

Um die Anforderungen an die Ähnlichkeitsbestimmung zu realisieren, habe ich mich

entschlossen, eine eigene Implementierung zu erstellen. Es existieren einige wenige

Frameworks, die die Aufgabe haben, einen Vergleich verschiedener Methoden der

Ähnlichkeitsbestimmung zu ermöglichen. Eines davon ist DuDe: The Duplicate Detection

toolkit. Dieser wird in [Drai10] beschrieben und dort auch mit anderen, ähnlichen Frameworks

verglichen. DuDe entspricht weitgehend den Anforderungen, müsste allerdings erweitert

werden, da dieser nicht alle in Kapitel 3 beschriebenen Methoden der Ähnlichkeitsbestimmung

abdeckt. Außerdem ist DuDe darauf ausgerichtet, Dublettengruppen in größeren

Datenmengen zu suchen. Die Daten für die Evaluation liegen aber bereits als

Dublettenkandidatenpaare vor, sodass hier eine Anpassung des Frameworks nötig wäre. Des

Weiteren ist DuDe sehr generisch angelegt und bietet somit einiges an Funktionalität, die für

die Evaluation nicht benötigt wird. Diese generische Ausrichtung, wie zum Beispiel die interne

Darstellung der Daten in der JSON (JavaScript Object Notation, siehe dazu auch

http://json.org), ist in Bezug auf die Laufzeit kontraproduktiv. Aufgrund dieser Punkte habe ich

eine Entscheidung für eine eigene Implementierung getroffen, die gezielt und in möglichst

schlanker Form die Anforderung erfüllen soll.

Gemäß dem Werkzeug, Automat, Material-Ansatz (WAM-Ansatz) [vgl. Züll04], geht es bei der

Ähnlichkeitsbestimmung um die Implementierung eines Automaten. Diese Entwurfsmetapher

deckt sich mit dem in Anforderungen beschriebenen Szenario. Gemäß der Definition [Züll04,

S.70], ist ein Automat ein Gerät zum Behandeln von Material. Er soll Routinearbeiten

erledigen, die aus einer definierten Reihenfolge von Arbeitsschritten bestehen und zu einem

definierten Ergebnis führen, ohne eine menschliche Intervention. Normalerweise werden

Page 49: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

44

Automaten im Hintergrund ausgeführt und einmal vor dem Start konfiguriert. Die Rolle des

Materials wird von den Dublettenkandidatenpaaren erfüllt. Ein Material ist laut Definition

[Züll04, S.68] ein Objekt, das mithilfe von Werkzeugen beziehungsweise Automaten bearbeitet

wird und auch ein Teil des Ergebnisses werden kann. Die Dublettenkandidatenpaare sollen von

dem Automaten bearbeitet werden, sodass als Ergebnis ein Ähnlichkeitsvektor entsteht, der

die Ähnlichkeiten der Attributwerte der Kandidatenpaare enthält.

Die Architektur der Implementierung soll sich an der 3-Schichten Architektur orientieren [vgl.

Züll04, S.297f]. Da keine Interaktion mit dem Benutzer geplant ist, entfällt die

Präsentationsschicht. Im Folgenden gehe ich auf die konkrete Implementierung der Daten- und

der Funktionsschicht ein.

Die Datenschicht enthält die Datenobjekte und kümmert sich um das Persistieren der

Datenobjekte in einer Datenbank. Die wesentlichen Datenobjekte sind hier DupeData, das die

Dublettenkandidatenpaare repräsentiert und SimResult, das die Ergebnisse der

Ähnlichkeitsbestimmung kapselt. Ein DupeData Objekt besteht im Wesentlichen aus Address

Objekten, die die Geschäftsadressen repräsentieren. SimResult enthält wiederrum SimScore

Objekte und entsprechende Referenz auf ein DupeData Objekt. Die Persistenz der

Datenobjekte wird mithilfe des DAO (Data Access Objects) Entwurfsmusters realisiert. DAOs

sind Objekte, die sich um das Persistieren und das Materialisieren von Datenobjekten

kümmern [vgl. Sun01]. Die Funktionsschicht greift auf die Datenschicht nur über die

Schnittstellen der DAOs. Die konkrete Implementierung der Persistenz ist für die

Funktionsschicht transparent.

Die Funktionsschicht implementiert die Logik des Abgleichautomaten. Ein wesentlicher Teil

dieser Logik sind die Implementierungen der Ähnlichkeitsfunktionen. All diese

Implementierungen besitzen eine gemeinsame, einheitliche Schnittstelle, die

StringComparatorService genannt wird. Diese erlaubt eine einfache Iteration über

verschiedene Implementierungen und ermöglicht eine unkomplizierte Erweiterung des

Automaten um weitere Ähnlichkeitsfunktionen. In dieser Schicht findet die Berechnung der

Ähnlichkeiten der Dublettenkandidatenpaare statt. Um die Durchführung der

Ähnlichkeitsberechnung kümmert sich die Implementierung der Schnittstelle

ComparisonService. Diese enthält nur eine Methode mit den Namen makeComparison. Die in

dieser Methode implementierte Logik iteriert über alle Dublettenkandidatenpaare. Zuerst

werden, falls nötig, Statistiken über alle Dublettenkandidatenpaare erstellt, die zum Beispiel

für die Berechnung der idf (inverse document frequency) notwendig sind. Für jedes

Kandidatenpaar werden dann alle vorkonfigurierten Ähnlichkeitsfunktionen auf den Werten

der Attribute name, strasse, plz, ort und all ausgeführt. Das Attribut all ist ein künstliches

Attribut, das als Wert die Werte aller anderen Attribute, hintereinander geschrieben und mit

Leerzeichen getrennt, enthält. Die entsprechenden Attributwerte werden vorher mit einer

Implementierung des PreparateComparsionService aufbereitet. Diese führt in der

Grundimplementierung die Umwandlung der Zeichenketten in Kleinbuchstaben durch. Die

Ergebnisse der Anwendung der Ähnlichkeitsfunktionen werden anschließend persistiert.

Abbildung 13 stellt den Prozess grafisch dar. Die blauen Pfeile symbolisieren die Iteration über

die Dublettenkandidaten. Die roten Pfeile stellen die verschachtelte Iteration über die

Dublettenkandidatenpaare und die verschiedenen Konfigurationen der Ähnlichkeitsfunktionen

dar.

Page 50: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

45

Abbildung 13 Ablauf der Ähnlichkeitsbestimmung.

Die konkrete Implementierung des Automaten für die Ähnlichkeitsbestimmung erfolgte in der

Programmiersprache Java, Version 6. Diese wurde aufgrund der großen Anzahl frei erhältlicher

Entwicklungsumgebungen und Frameworks ausgewählt, die die Umsetzung erleichterten. Für

die Implementierung der meisten Ähnlichkeitsfunktionen habe ich die Bibliothek Simmetrics

verwendet. Diese Softwarebibliothek ist in Java implementiert und stellt im Wesentlichen eine

Sammlung von Implementierungen verschiedener Ähnlichkeits- und Tokenfunktionen dar [vgl.

Sour11]. Sie zeichnet sich gegenüber anderen Bibliotheken dieser Art, wie zum Beispiel Second

String [vgl. Cohe03], durch eine saubere Schnittstellendefinition und einheitliche

Rückgabewerte der Ähnlichkeitsfunktionen aus. Die in dieser Bibliothek nicht vorhandenen

Implementierungen von Ähnlichkeitsfunktionen habe ich mit eigenen Implementierungen

ergänzt. Abbildung 14 stellt die Struktur der Implementierung der Ähnlichkeitsfunktionen dar.

Aufbereiten der Attributwerte

Vorberechnen der idf Statistiken

Berechnen der Ähnlichekiten der Attributwerte

Persistieren der Ähnlichkeitswerte

Page 51: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

46

Abbildung 14 Struktur der Implementierung der Ähnlichkeitsfunktionen.

Die Klasse SimmetricsStringComparatorService kapselt die Implementierungen der

Ähnlichkeitsfunktionen aus der Simmetrics Bibliothek. Die Abhängigkeit zu der konkreten

Implementierung wird anhand des Entwurfsmusters Dependency Injection hergestellt [vgl.

Fowl04]. Als Inversion of Control Container [vgl. Fowl04] dient dabei das Spring Framework.

Wie aus der Abbildung 14 ersichtlich, wurden die Ähnlichkeitsfunktionen für die Cosinus-

Ähnlichkeit mit tf/idf Gewichtung, Soft tf/idf Ähnlichkeit sowie Erweiterte Jaccard Ähnlichkeit,

selbst implementiert.

Die gesamte Implementierung baut auf dem Spring Framework auf. Neben der Funktion als

Inversion of Control Container bietet das Spring Framework eine einfache und flexible

Konfigurierbarkeit mittels einer XML Datei. Dies hilft bei der komplexen Konfiguration des

gesamten Automaten zur Ähnlichkeitsbestimmung. Alle Ähnlichkeitsfunktionen und weitere

für den Ablauf nötigen Parameter werden mithilfe dieser XML Datei konfiguriert. Für weitere

Informationen zum Spring Framework siehe [Wolf10].

Für die Kommunikation mit der Datenbank und die Realisierung der Persistenz wird JDBC (Java

DataBase Connectivity [vgl. Orac11]) eingesetzt. Wegen der teilweise komplexen SQL Anfragen

und der geringen Anzahl der unterschiedlichen, zu persistierenden Objekte, wurde auf einen

Einsatz eines ORM (Object-Relational Mapping [vgl. Ambl10]) Frameworks zur Abbildung der

Java-Objekte in einer relationalen Datenbank verzichtet. Um die Handhabung der Ressourcen

beim Einsatz von JDBC zu erleichtern, kommen die JDBC Helferklassen des Spring Frameworks

zum Einsatz [vgl. Wolf10, S.167f].

<<interface>>

StringComparatorService

AbstractStringComparatorService

AbstractStatisticalStringComparatorService

TfIdfStringComparatorService

SoftTfIdfStringComparatorService

ExtendedJaccardStringComparatorService

SimmetricsStringComparatorService

Page 52: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

47

Da die der Evaluation zu Grunde liegenden Daten in Form von Relationen einer MySQL

Datenbank vorliegen, wurde für die gesamte Persistenz der Implementierung eine MySQL

Datenbank eingesetzt. Für weitere Informationen zur der MySQL Datenbank, siehe [Orac10].

Für das Logging in der Implementierung wird das Framework Logback eingesetzt. Es bietet

gegenüber anderen Open Source Loggingframeworks den entscheidenden Vorteil, dass die

Dokumentation von Logback frei verfügbar ist [vgl. Gülc11].

Für Tests der Implementierung, vor allem der Ähnlichkeitsfunktionen, wurden Testklassen

mithilfe des Frameworks JUnit implementiert [vgl. Pras09].

Als Build-Management-Tool kam Maven zum Einsatz. Dieses erlaubt ein standardisiertes

Erstellen und Verwalten von Java Applikationen [vgl. Obri11]. Insbesondere die komfortable

Verwaltung von Abhängigkeiten zu den anderen Softwareprojekten gab den Ausschlag für die

Verwendung von Maven.

Die gesamte Implementierung und Dokumentation in Form von JavaDoc ist auf einer CD im

Anhang C beigelegt.

5.3.2 Dublettenbestimmung und Erfolgsmessung

Die Implementierung der Dublettenbestimmung und Erfolgsmessung mithilfe von

ähnlichkeitsbasierten Entscheidungsverfahren, die im Kapitel 4.1 beschrieben wurden, erfolgte

als eine Eigenimplementierung. Zu diesem Zweck wurde ein Automat implementiert, der

ausgehend von den Ergebnissen der Ähnlichkeitsbestimmung, die Kennzahlen precision, recall

und F-Measure berechnet. Zuerst wird für jedes Kandidatenpaar eine Ähnlichkeitszahl

bestimmt. Bei dem „ein Attribut“ Verfahren ist es die Ähnlichkeit des künstlich erzeugten

Attributes all, bei dem Durchschnittsverfahren wird der ungewichtete Durchschnitt der

Ähnlichkeiten der Werte der Attribute name, strasse, plz und ort berechnet. Anschließend wird

für alle Schwellenwerte dieser Ähnlichkeit zwischen 0 und 1 in 0,01 Schritten die jeweilige

Anzahl von true positives, true negatives, false positives und false negatives berechnet und

persistiert. Im zweiten Schritt erfolgt auf dieser Basis die Berechnung von precision, recall und

F-Measure für alle Schwellenwerte. Die Ergebnisse der Berechnungen werden graphisch

beziehungsweise tabellarisch aufbereitet. Die graphische Aufbereitung erfolgt als HTML

Dokumente zur Anzeige im Browser, die tabellarische Aufbereitung in Form von Excel-

Tabellen. Die Implementierung erfolgte, analog zur Ähnlichkeitsbestimmung, mithilfe der

Programmiersprache Java und den bereits dort verwendeten Frameworks. Zusätzlich kamen

für die graphische Aufbereitung in HTML Dokumenten die Google Chart Tools zum Einsatz [vgl.

Goog11]. Die Erzeugung von Excel-Tabellen wurde mit dem Apache POI Framework realisiert

[vgl. Apac11].

Die Implementierung der Schritte der Dublettenbestimmung und Erfolgsmessung für die

Methoden des maschinellen Lernens, die im Kapitel 4.3 beschrieben wurden, erfolgte mithilfe

der Anwendung RapidMiner.

Page 53: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

48

RapidMiner ist eine Anwendung, die eine Umgebung für maschinelles Lernen und Data Mining

zur Verfügung stellt. Innerhalb dieser Umgebung können Abläufe mithilfe von über 500

Operatoren erstellt werden. Die Operatoren decken unter anderem die Aufgaben der Ein- und

Ausgabe, Datenvorverarbeitung, maschinellen Lernens und Data Mining. Die definierten

Abläufe werden als XML Dateien gespeichert und können mittels einer graphischen

Benutzeroberfläche entwickelt werden. RapidMiner wurde 2001 unter den Namen YALE vom

Lehrstuhl für künstliche Intelligenz der Technischen Universität Dortmund entwickelt. Seit

2007 wird RapidMiner von der Firma rapid-i unter eine Open Source Lizenz weiterentwickelt.

RapidMiner ist in der Programmiersprache Java implementiert [vgl. Mier09].

RapidMiner wurde in erster Linie für die Evaluation ausgewählt, weil diese Anwendung alle

Algorithmen des maschinellen Lernens implementiert, die in Kapitel 4.3 vorgestellt wurden.

Des Weiteren ermöglicht diese Software eine einfache, graphische Modellierung sowohl der

Prozesse für die Trainingsphase der Algorithmen, als auch der Evaluation der Ergebnisse. Die

Modelle und auch die Ergebnisse der Evaluation können graphisch und sehr detailliert

dargestellt werden. Somit ist RapidMiner sowohl für die Dublettenbestimmung als auch für die

Erfolgsmessung geeignet. Es liegt unter Open Source Lizenz vor.

„Gemäß einer unabhängigen Vergleichsstudie der TU Chemnitz, die beim internationalen Data

Mining Cup 2007 (DMC-2007) vorgestellt wurde, schneidet RapidMiner unter den wichtigsten

Open Source Data Mining Tools sowohl hinsichtlich der Technologie als auch der

Anwendbarkeit am besten ab“ [Mier09].

Um eine Durchführung der Dublettenbestimmung zu ermöglichen, war es zunächst nötig, die

Ergebnisse der Ähnlichkeitsbestimmung aus der für die Persistenz verwendeten MySQL

Datenbank in die interne Repository von RapidMiner zu überführen. Die Repository dient bei

RapidMiner als Ablage für Daten, Prozesse, Modelle und Ergebnisse der Evaluationen. Der

Prozess des Ladens der Daten stellt Abbildung 15 dar.

Abbildung 15 Prozess des Ladens der Daten in die RapidMiner Repository.

Zunächst werden im Schritt Read Database die Daten mittels einer SQL Anweisung aus der

Datenbank gelesen. Im Schritt Nominal to Binomial wird das Attribut flag, das die Markierung,

ob es sich um eine Dublette handelt oder nicht, enthält, als Binomialattribut markiert. Im

weiteren Schritt Set Role wird das Attribut flag als sogenanntes label Attribut markiert. Dies

sind notwendige Schritte, um eine problemlose Datenverarbeitung im Rahmen des Trainings

Page 54: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

49

der Dublettenbestimmungsmethoden zu gewährleisten. Anschließend werden die Daten im

Schritt Store inklusive der vorgenommenen Markierungen in der Repository von RapidMiner

gespeichert.

Um die Konfiguration der Dublettenbestimmungsprozesse zu erleichtern, bediente ich mich

einer Erweiterung für RapidMiner, die von dem Deutschen Forschungszentrum für Künstliche

Intelligenz GmbH entwickelt wurde. Die PaREn (Pattern Recognition Engineering) genannte

Erweiterung hilft beim Aufbau der Prozesse des maschinellen Lernens und beim Finden der

optimalen Konfigurationen für die einzelnen Verfahren, basierend auf der zur Verfügung

stehenden Lernmenge an Daten [vgl. Shaf10].

Für die weitere Optimierung der Parameter wurde der Operator Optimize Parameters (Grid)

verwendet. Dieser erlaubt das Optimieren der Parameter nach der Grid-Search Methode. Der

Operator iteriert durch die verschiedenen Kombinationen der vorher definierten Parameter

und führt für jede Kombination dieser Parameter den Schritt des Trainierens für den

gegebenen Algorithmus durch. Anschließend wird das trainierte Modell entsprechend auf eine

Teststichprobe angewendet. Als Ergebnis wird die Kombination von Parametern

zurückgegeben, die bezüglich einer definierten Zielgröße, in dem hier gegebenen Fall das F1-

Measure, die besten Ergebnisse liefert.

Für die eigentliche Evaluation wird ein Prozess mithilfe des Parallel:X-Validation Operators

aufgebaut. Dieser Operator führt eine Validierung eines gegebenen Operators für das

maschinelle Lernen durch. Dazu wird die Beispielmenge S, in diesem Fall die

Dublettenkandidatenpaare mit einer Dublettenmarkierung, in n Untermengen Si geteilt. Im

Schritt Training wird zuerst der Operator für das maschinelle Lernen mit der Menge von S / Si

Daten trainiert. Das so trainierte Model wird dann mithilfe der Datenmenge Si in Schritt

Testing erprobt. Dazu wird mithilfe des Operators Apply Model zuerst das im Schritt Training

erzeugte Modell auf die Datentestmenge angewendet. Anschließend werden im Schritt

Performance die vorher definierten Metriken für die Güte der Anwendung des Models

errechnet. Im Falle dieser Evaluation sind es precision, recall und F1-Measure. Diese Art von

Validierung wird Kreuzvalidierung genannt. Des Weiteren kann der Operator Parallel:X-

Validation die Schritte Training und Testing voneinander unabhängig und parallel ausführen.

Abbildung 16 zeigt den Aufbau der Kreuzvalidierung am Beispiel des Lernoperators für die

Lernmethode naive Bayes.

Abbildung 16 Kreuzvalidierung eines Operators am Beispiel von Naive Bayes.

Page 55: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

50

6 Durchführung und Ergebnisse der Evaluation

In Kapitel 5 habe ich die Datenbasis für die Evaluation vorgestellt und Konzeption sowie

Implementierung der Evaluationsschritte Ähnlichkeitsbestimmung, Dublettenbestimmung und

Erfolgsmessung beschrieben. In diesem Kapitel wird die Durchführung der Evaluation

beschrieben. Es beinhaltet insbesondere die Beschreibung der verwendeten Konfigurationen

der Implementierungen sowie die Ergebnisse der Erfolgsmessung. Anschließend diskutiere ich

mögliche Verbesserungen der Verfahren zur automatisierten Dublettenerkennung. Ich werde

sowohl auf die von mir vorgenommenen Verbesserungen eingehen, als auch Ideen für weitere

Verbesserungen aufzeigen.

6.1 Ähnlichkeitsbestimmung

Die Ähnlichkeitsbestimmung wurde mithilfe der Ähnlichkeitsfunktionen, die in Kapitel 3

beschrieben wurden, in 15 verschiedenen Konfigurationen durchgeführt. Die

unterschiedlichen Konfigurationen können der

Tabelle 6 entnommen werden. Zusätzlich sollte erwähnt werden, dass bei den sekundären

Ähnlichkeiten, insofern diese gebraucht wurden, ein Schwellenwert von 0,8 verwendet wurde.

Für jede Konfiguration aus

Tabelle 6 wurden zwei Vergleiche durchgeführt. Einmal wurden die Attributwerte nur insofern

Aufbereitet, dass diese in Kleinschreibung umgewandelt wurden, um die Ähnlichkeit

unabhängig von der Groß-/Kleinschreibung zu berechnen. Das zweite Mal wurde die

Aufbereitung um die Vereinheitlichung von Abkürzungen erweitert. Zu diesem Zweck wurden

bei bestimmten Attributwerten folgende Ersetzungen vorgenommen: „gesellschaft“ wurde bei

Attribut name in „g“ umgewandelt und bei dem Attribut strasse wurde „strasse“

beziehungsweise „straße“ durch „str.“ ersetzt. Diese Art der Aufbereitung, auch als

Normierung bezeichnet, verlangt ein domänenspezifisches Wissen. Der Inhalt der zu

vergleichenden Attribute muss dem Ersteller dieser Normierungsregeln bekannt sein.

Deswegen werde ich im Folgenden von einer domänenspezifischen Aufbereitung der

Attributwerte sprechen. Mit dieser Aufbereitung sollte untersucht werden, inwiefern sich

solche Normierungen signifikant auf das Ergebnis der Erfolgsmessung auswirken.

Somit wurden für jedes Dublettenkandidatenpaar 30 Entscheidungsvektoren erstellt, die

jeweils fünf Dimensionen besitzen. Die Dimensionen entsprechen den verglichenen Werten

der Attribute name, strasse, plz, ort und all. Auf die entsprechenden Konfigurationen werde

ich im Folgenden mithilfe des Identifikators ID verweisen. Dabei besitzen die Konfigurationen

mit der einfachen Aufbereitung der Attributwerte die ID entsprechend der

Tabelle 6. Die Konfigurationen mit der domänenspezifischen Aufbereitung der Attributwerte

besitzen die ID aus der Spalte ID 2. So besitzt beispielsweise die Konfiguration mit der

Ähnlichkeitsfunktion Levenshtein und der einfachen Aufbereitung der Attributwerte gemäß der

Tabelle 6 die ID 7. Die Konfiguration mit der Ähnlichkeitsfunktion Levenshtein und der

domänenspezifischen Aufbereitung der Attributwerte entspricht demnach der ID 22.

Page 56: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

51

ID ID 2 Ähnlichkeit Tokenizer Sekundäre Ähnlichkeit

1 16 Jaccard Leer- und Satzzeichen

2 17 Jaccard q-Gram q=2

3 18 Jaccard q-Gram q=3

4 19 Cosinus TF/IDF Leer- und Satzzeichen

5 20 Cosinus TF/IDF q-Gram q=2

6 21 Cosinus TF/IDF q-Gram q=3

7 22 Levenshtein

8 23 Needleman-Wunsch

9 24 Smith-Waterman-Gotoh

10 25 Jaro

11 26 Jaro-Winkler

12 27 Erweiterte Jaccard Leer- und Satzzeichen Levenshtein

13 28 Monge-Elkan Levenshtein

14 29 Soft TF/IDF Leer- und Satzzeichen Levenshtein

15 30 Monge-Elkan Smith-Waterman-Gotoh Tabelle 6 Die verwendeten Konfigurationen der Ähnlichkeitsfunktionen.

6.2 Dublettenbestimmung

Die Dublettenbestimmung mittels der ähnlichkeitsbasierten Methoden wurde mithilfe einer

eigenen Implementierung durchgeführt. Aufgrund der Einfachheit des Aufbaus wurde dieser

gemeinsam mit der Beschreibung der Implementierung im Kapitel 5.3.2 beschrieben.

Die Dublettenbestimmung mit den Methoden des maschinellen Lernens wurde mithilfe der

Anwendung RapidMiner durchgeführt. Zum Einsatz kamen fünf Verfahren aus dem Bereich des

maschinellen Lernens, die in Kapiteln 4.2 und vor allem 4.3 beschrieben wurden. Als

Datengrundlage kamen die bei der Ähnlichkeitsbestimmung erstellten Entscheidungsvektoren,

und zwar mit den Ähnlichkeitswerten für die Attributwerte der Attribute name, strasse, plz

und ort, zum Einsatz. Jeder Entscheidungsvektor wurde entsprechend mit der Markierung der

manuellen Entscheidung versehen, ob es sich bei dem Dublettenkandidatenpaar, zu dem

dieser Entscheidungsvektor gehört, um eine Dublette handelt oder nicht. Diese Markierung

wird bei RapidMiner als label bezeichnet. Für jede der 30 Konfigurationen der

Ähnlichkeitsfunktionen (15 mit jeweils zwei unterschiedlichen Aufbereitungsarten der

Attributwerte) wurde die Dublettenbestimmung mit den Methoden naive Bayes,

Entscheidungsbäume, Support Vectore Machine, Nächster-Nachbar-Qualifikation sowie

künstliche neuronale Netze durchgeführt. Dabei wurden im Vorfeld diejenigen

Entscheidungsvektoren rausgefiltert, die Fehlwerte enthielten, da die meisten hier

implementierten Verfahren mit solchen Werten nicht umgehen können. Fehlwerte entstanden

bei der Ähnlichkeitsbestimmung, wenn bei mindestens einem der beiden Dublettenkandidaten

bei einem der Attribute die Werte fehlten und infolge dessen keine Ähnlichkeit der

Attributwerte bestimmt werden konnte. In folgenden Kapiteln gehe ich genauer auf die

Konfigurationen der einzelnen Verfahren des maschinellen Lernens und auf die bei der

Page 57: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

52

Trainingsphase entstandenen Entscheidungsmodelle ein. Die Ergebnisse, die durch die

Anwendung der jeweiligen Modelle auf die Evaluationsdaten entstanden sind, werden in

Kapitel 6.3 beschrieben.

6.2.1 Naive Bayes

Bei dem naive Bayes Verfahren werden für das Entscheidungsmodell die Dichtefunktionen für

die einzelnen Komponenten der Entscheidungsvektoren approximiert, da hier eine

Unabhängigkeit der einzelnen Komponenten angenommen wird. Für die Erstellung der

Dichtefunktionen wird eine Normalverteilung angenommen. Für weitere Details siehe Kapitel

4.2.1.

Die Konfiguration des Operators für naive Bayes hat lediglich einen Parameter. Dieser erlaubt

das Einschalten der Verwendung einer Laplace-Korrektur. Diese soll, laut der RapidMiner

Dokumentation, den starken Einfluss der Wahrscheinlichkeit 0 auf die berechnete

Gesamtwahrscheinlichkeit mindern. Diese Korrektur wurde verwendet.

Bei allen 30 Konfigurationen sehen die zu den trainierten Modellen zugehörigen

Dichtefunktionen ähnlich aus. Auffällig dabei ist, dass die Dichtefunktion für das Attribut name,

je nach dem jeweiligen label des Entscheidungsvektors, deutlich unterschiedlich ist. In

Abbildung 17 sieht man beispielhaft die beiden Dichtefunktionen. Die jeweiligen label der

Dublettenkandidatenpaare sind h für „Dublette“ und nh für „keine Dublette“. Diese

Bezeichnung der labels stammt aus den Originaldaten. Das Maximum der Dichtefunktionen für

keine Dublette ist bei einer Ähnlichkeit von circa 0,3. Das Maximum der Dichtefunktionen für

eine Dublette dagegen bei einer Ähnlichkeit von circa 0,9.

Abbildung 17 Dichtefunktion der Komponente des Entscheidungsvektors für das Attribut name.

Page 58: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

53

Die Dichtefunktionen für „Dublette“ und „keine Dublette“ der anderen Attribute sehen

dagegen ähnlich der in Abbildung 18 dargestellten Funktionen für das Attribut ort aus. Hier

liegt bei beiden Funktionen das Maximum bei einer Ähnlichkeit von circa 1,0. Lediglich die

Dichtefunktion für „keine Dublette“ fällt etwas „flacher“ aus, was ein Hinweis für eine etwas

breitere Verteilung ist. Daraus kann man schließen, dass bei den zur Verfügung stehenden

Dublettenkandidatenpaaren vor allem die Ähnlichkeit des Attributwertes name dafür

ausschlaggebend ist, ob es sich um eine Dublette handelt oder nicht.

Abbildung 18 Dichtefunktion der Komponente des Entscheidungsvektors für das Attribut ort.

Die hier dargestellten Dichtefunktionen gehören zu den Entscheidungsvektoren der

Konfiguration der Ähnlichkeitsfunktion mit der ID 24, also Ähnlichkeitsfunktion Smith-

Waterman-Gotoh mit domänenspezifischer Aufbereitung der Attributwerte.

6.2.2 Entscheidungsbäume

Der RapidMiner Operator für die Erstellung von Entscheidungsbäumen verwendet einen

Algorithmus, der dem CART Algorithmus sehr ähnelt.

Die verwendete Konfiguration der Parameter für das Trainieren des Entscheidungsbaums und

die Beschreibung der Parameter gemäß der Dokumentation von RapidMiner kann

Tabelle 7 entnommen werden.

Page 59: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

54

Parameter Wert Beschreibung

criterion gain_ratio Das Kriterium für die Auswahl der Attribute und der numerischen Spaltung. Weitere mögliche Ausprägungen: gain_ratio, information_gain, gini_index, accuracy.

minimal size of split 4 Die minimale Größe eines Knotens, um eine Spaltung zu ermöglichen.

minimal leaf size 2 Die minimale Größe aller Blätter.

minimal gain 0,1 Der minimale Gewinn, der erreicht werden muss, um eine Spaltung zu erzeugen.

maximal depth 20 Die maximale Tiefe des Baumes.

confidence 0,25 Das Konfidenzniveau, das für die pessimistische Fehlerberechnung der Vereinfachung (Pruning) verwendet wird.

Tabelle 7 Die Konfiguration des Operators für Entscheidungsbäume.

Die im vorherigen Kapitel 6.2.1 geäußerte Vermutung, dass die Dublettenentscheidung primär

von der Ähnlichkeit des Attributes name abhängt, bestätigt sich bei der Betrachtung des

ebenfalls für die Ähnlichkeitsfunktion mit der ID 24 induzierten Entscheidungsbaumes,

dargestellt in Abbildung 19. Auch hier stehen die jeweiligen label h für „Dublette“ und nh für

„keine Dublette“.

Abbildung 19 Entscheidungsbaum für die Konfiguration der Ähnlichkeitsfunktion mit der ID 24.

6.2.3 Support Vector Machine

name

ort nh

h nh

> 0,867 ≤ 0,867

> 0,613 ≤ 0,613

Page 60: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

55

Die Software RapidMiner bietet verschiedene Operatoren, die eine SVM implementieren.

Meine Wahl fiel auf den Operator LibSVM, da diese Implementierung mittels PaREn (Pattern

Recognition Engineering, siehe Kapitel 5.3.2) optimiert werden kann. Diese Implementierung

bietet verschiedene SVM Typen. Verwendet habe ich C-SVM, ein für Klassifikationen

geeigneter Typ, der eine Kostenverteilung für die Klassen ermöglicht. Für den Wert des Faktors

C für die Kosten habe ich 0 verwendet, da beide Klassen gleich gewichtet werden sollten. Die

Implementierung erlaubt die Verwendung verschiedener Kerneltypen. Bei der Evaluation kam

der RBF (Radiale Basisfunktion) Kernel zum Einsatz. Der gamma Parameter für die

Kernelfunktion lag bei 0,05, die Toleranz der Terminierungskriteriums epsilon bei 0,001.

Das Modell einer SVM ist nicht so intuitiv und menschenlesbar, wie es zum Beispiel bei den

Entscheidungsbäumen der Fall ist. Auffällig jedoch war, dass eine sehr hohe Anzahl an

Stützvektoren verwendet wurde. Trotzdem gelang es der SVM in den meisten Fällen nicht eine

Trennung der beiden Klassen „Dublette“ und „keine Dublette“ zu erreichen. Das hatte zur

Folge, dass bei vielen Konfigurationen der Ähnlichkeitsfunktionen alle Entscheidungsvektoren

zur Klasse „keine Dublette“ zugeordnet wurden. Für Näheres zur Erfolgsmessung der

Methoden des maschinellen Lernens siehe Kapitel 6.3.2.

6.2.4 Nächste-Nachbarn-Klassifikation

Die Nächste-Nachbarn-Klassifikation besitzt als sogenanntes lazy learning Verfahren kein

eigenes Modell. Die Klassifikation eines neuen Entscheidungsvektors erfolgt durch die

Bewertung der am nächsten liegenden, bereits klassifizierten Vektoren. Der Operator wurde so

konfiguriert, dass die nächsten sieben Nachbarn ausgewertet wurden, und zwar je nach

Abstand gewichtet. Der Abstand wurde als euklidischer Abstand berechnet.

6.2.5 Künstliche neuronale Netze

Der Operator für künstliche neuronale Netze bei RapidMiner kann mittels der Backpropagation

of Error Algorithmus ein Netz in Form eines Multilayerperceptrons erstellen. Die Konfiguration

sah die Erstellung von zwei hidden Layer vor. Es sollten 500 Lernzyklen verwendet werden. Die

learning rate, die die Veränderung des Gewichts pro Schritt darstellt, betrug 0,6. Der

Parameter momentum, der den Bruchteil des vorhergehenden Gewichtsupdates bestimmt, das

auf das aktuelle Gewichtsupdate addiert wird, betrug 0,4. Es soll verhindern, dass lokale

Maxima gefunden werden. Der Parameter error epsilon hatte den Wert 0,00001. Dieser

bestimmt den erlaubten Fehler, bei dem die Berechnung abgebrochen werden kann.

Auch ein Modell eines künstlichen neuronalen Netzes ist für einen Menschen nicht einfach

lesbar, da dieser vor allem aus einer Menge von Eingangsgewichtungen besteht. Deswegen

verzichte ich an der Stelle auf eine ausführliche Darstellung des Modells. Alle erstellten

Modelle sind auf der CD im Anhang C beigefügt.

Page 61: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

56

6.3 Erfolgsmessung und Ergebnisanalyse

Nach der erfolgten Dublettenbestimmung werde ich jetzt die Ergebnisse der Erfolgsmessung

vorstellen, die auch die Beurteilung erlaubten, welche Methoden der automatisierten

Dublettenbestimmung für die hier vorgestellte Domäne der deutschen Geschäftsadressen am

besten geeignet sind. Zuerst werde ich auf die Ergebnisse der einfachen, ähnlichkeitsbasierten

Entscheidungsverfahren, die in Kapitel 4.1 beschrieben wurden, eingehen. Diese sollen den

ersten Eindruck vermitteln, welche Methoden der Ähnlichkeitsbestimmung die besten

Ergebnisse liefern. Danach bespreche ich die Erfolgsmessungen der Verfahren des

maschinellen Lernens. Ich werde hier sowohl auf die Unterschiede zu den

ähnlichkeitsbasierten Methoden als auch auf die Unterschiede zwischen den Methoden des

maschinellen Lernens selbst eingehen. Anschließend werde ich beurteilen, inwiefern die

Methoden der automatisierten Dublettenerkennung mit der manuellen Dublettenerkennung

vergleichbare Ergebnisse erzielten.

Bei der Erfolgsmessung kamen die in Kapitel 4.4 beschrieben Kennzahlen precision, recall und

F1-Measure zum Einsatz. Das Ziel war es vor allem den Wert von F1-Measure zu maximieren.

6.3.1 Erfolgsmessung bei dem ähnlichkeitsbasierten

Entscheidungsverfahren

Für die Erfolgsmessung mittels des in Kapitel 4.1.1 beschriebenen „Ein Attribut“ Verfahrens

wurde das Argument all erstellt, das als Inhalt die Werte der Attribute name, strasse, plz und

ort enthält, getrennt jeweils durch ein Leerzeichen. Für alle Dublettenkandidatenpaare wurde

die Ähnlichkeit der Werte dieses Attributs mit den 15 in Kapitel 6.1 besprochenen

Konfigurationen der Ähnlichkeitsfunktionen berechnet. Hier kamen nur die Varianten ohne die

domänenspezifischen Optimierungen zum Einsatz. Anschließend wurden für die

Ähnlichkeitsschwellenwerte zwischen 0 und 1 in 0,01 Schritten jeweils precision, recall und

daraus resultierender F1-Measure berechnet. Für die Berechnung wurde als Referenz die

Markierung der manuellen Zuordnung der Dublettenkandidatenpaare verwendet. Die

Ergebnisse für die jeweils besten F1-Measures in Prozent können im Anhang A, Abbildung 20

betrachtet werden.

Der beste Wert wurde mithilfe der Jaccard-Ähnlichkeit mit einem q-Gramm Tokenizer mit q=2

ermittelt, und zwar bei einem Schwellenwert von 71%. Der damit ermittelte F1-Measure Wert

von 52,69% setzt sich zusammen aus einer precision von 53,46% und einem recall von 51,94%.

Grundsätzlich lässt sich beobachten, dass die Token-basierten Methoden mit q-Gramm

Tokenizer hier tendenziell am besten abschneiden. Dies bestätigt die Annahme, dass diese

Methoden für längere Zeichenketten gut geeignet sind. Trotzdem sind die gemessenen Werte

insgesamt sehr niedrig. Bei der Evaluation in [Bile03] zum Beispiel wurden teilweise F1-

Measure Werte von über 90 Prozent gemessen, allerdings mit teilweise künstlich erstellten

Dubletten.

Page 62: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

57

Als nächstes habe ich eine Messung mithilfe des im Kapitel 4.1.2 beschriebenen

Durchschnittsverfahrens durchgeführt. Das Vorgehen war analog zu dem „Ein Attribut“

Verfahren. Der zugrunde liegende Ähnlichkeitswert ergab sich diesmal als der

durchschnittliche Wert der Ähnlichkeitswerte der Attribute name, strasse, plz und ort. Es

kamen alle 30 Konfigurationen der Ähnlichkeitsfunktionen zum Einsatz und zwar die 15

Grundkonfigurationen und weitere 15 Konfigurationen mit domänenspezifischen

Optimierungen, wie in Kapitel 6.1 beschrieben. Die Ergebnisse sind im Anhang A, Abbildung 21

dargestellt.

Diesmal wurde der beste Wert für F1-Measure mit 56,49% bei der Smith-Waterman-Gotoh

Ähnlichkeit gemessen, und zwar bei der Version mit domänenspezifischen Optimierungen. Der

optimale Schwellenwert betrug 93%. Der ermittelte Wert setzte sich zusammen aus einer

precision von 53,20% und einem recall von 60,22%. Der zweitbeste Wert mit 54,16% erzielte

die Smith-Waterman-Gotoh Ähnlichkeit ohne domänenspezifische Optimierungen. Danach

folgt die Monge-Elkan Ähnlichkeit mit Smith-Waterman-Gotoh als Sekundärähnlichkeit, jeweils

mit einem F1-Measure Wert von 53,82% in der domänenspezifisch optimierten Variante und

53,11% in der nicht optimierten Variante. Bei dieser Messung schnitten die Edit-basierten

beziehungsweise hybriden Ähnlichkeitsfunktionen besser ab als die Token-basierten. Es lässt

sich auch beobachten, dass die domänenspezifischen Optimierungen fast immer zu einer

Verbesserung des F1-Measures beigetragen haben. Insgesamt sind die ermittelten Werte auch

besser, als bei dem „Ein Attribut“ Verfahren.

6.3.2 Erfolgsmessung bei dem Verfahren des maschinellen Lernens

An dieser Stelle werde ich die Ergebnisse der Erfolgsmessung der Dublettenbestimmung

mithilfe der Methoden des maschinellen Lernens erörtern. Die vollständigen Ergebnisse in

tabellarischer Form können Anhang B entnommen werden. Die Erfolgsmessung wurde mithilfe

der in Kapitel 5.3.2 beschriebenen Kreuzvalidierung durchgeführt. Dabei wurde die

Grundgesamtheit der Daten in drei Untermengen zufällig unterteilt, bei denen das Verhältnis

der Anzahl von „Dubletten“ und „nicht Dubletten“, im Vergleich zu der Gesamtmenge,

beibehalten wurde.

Allgemein ist zu beobachten, dass, bis auf SVM, die Ergebnisse der Klassifikation mit den

Methoden des maschinellen Lernens denen des Durschnittverfahrens ähneln.

Bei der SVM ist auffällig, dass es dem Lernverfahren für die meisten Konfigurationen der

Ähnlichkeitsfunktionen nicht gelungen ist, eine geeignete Hyperebene zu finden, um eine

Klassifizierung vorzunehmen. Hier schneidet die Jaccard-Ähnlichkeit mit q-Gramm Tokenizer

(q=2) noch am besten ab mit den F-Measure Wert von 49,35% für die domänenoptimierte

Variante beziehungsweise 48,39% für die nicht optimierte. Dies sind Werte, die sogar

schlechter sind als bei den ähnlichkeitsbasierten Entscheidungsverfahren für diese

Ähnlichkeitsfunktion.

Bei dem naive Bayes Verfahren schneidet die Smith-Waterman-Gotoh Ähnlichkeit am besten

ab mit dem F-Measure von 56,54% für die Version ohne domänenspezifische Optimierung und

Page 63: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

58

55,38% für die Version mit einer Optimierung. Als drittes folgt die Monge-Elkan Ähnlichkeit

ohne domänenspezifische Optimierung mit einem F-Measure Wert von 50,01%. Diese Werte

kommen den Werten des Durschnittverfahrens sehr nahe, sind aber geringfügig schlechter.

Somit bietet auch dieses Verfahren offensichtlich keinen Mehrwert gegenüber den einfachen,

ähnlichkeitsbasierten Entscheidungsverfahren.

Ähnliche Ergebnisse liefert auch die Nächste-Nachbarn-Klassifikation. Hier erreicht die

optimierte Monge-Elkan Ähnlichkeit mit einem F-Measure Wert von 55,56% das beste

Ergebnis. Nur wenig schlechter sind die Ergebnisse der Smith-Waterman-Gotoh Ähnlichkeit mit

jeweils 55,19% für die optimierte und 54,12% für die nicht optimierte Variante.

Etwas bessere Ergebnisse als mit den ähnlichkeitsbasierten Entscheidungsverfahren ließen sich

mithilfe der künstlichen neuronalen Netze erreichen. Hier schnitt wieder die Smith-Waterman-

Gotoh Ähnlichkeit am besten ab. Die F1-Measure Werte waren jeweils 58,98% für die Version

mit domänenspezifischen Optimierung und 58,77% ohne Optimierung. Das drittbeste Ergebnis

erzielte die optimierte Monge-Elkan Ähnlichkeit mit einem F-Measure Wert von 55,77%.

Die besten Ergebnisse wurden jedoch mit den Entscheidungsbäumen erzielt. Hier erreichte die

besten Werte wieder die Smith-Waterman-Gotoh Ähnlichkeit mit einem F1-Measure Wert von

60,18% beziehungsweise 60,02%, wobei auch hier die Variante mit domänenspezifischen

Optimierungen die bessere war. Als drittbeste Methode folgte die Jaro Ähnlichkeit ohne

domänenspezifische Optimierungen mit einem F1-Measure Wert von 54,77%.

6.3.3 Analyse und Beurteilung der Ergebnisse

Insgesamt kann man, basierend auf dem bisherigen Beobachtungen, sagen, dass für die

automatisierte Dublettenerkennung in der Domäne der deutschen Geschäftsadressen die

Smith-Waterman-Gotoh Methode für die Ähnlichkeitsmessung und Erstellung der

Entscheidungsvektoren am besten geeignet ist. Für die Entscheidungsfindung sind bestimmte

Methoden des maschinellen Lernens besser geeignet als die einfachen, ähnlichkeitsbasierten

Methoden. Darunter liefern die Entscheidungsbäume die besten Ergebnisse. Das ist, in

Anbetracht der Ergebnisse anderer Evaluierungen, wie zum Beispiel bei [Bile03], oder des sehr

einfachen Modells des Entscheidungsbaums, der in Kapitel 6.2.2 vorgestellt wurde, etwas

überraschend. Auch die domänenspezifischen Optimierungen scheinen einen positiven Effekt

zu haben, und das, obwohl für die Evaluierung nur sehr einfache, in Kapitel 6.1 beschriebene,

Optimierungen zum Einsatz kamen. Trotzdem erscheint der beste erzielte Wert für das F1-

Measure von 60,18% nicht besonders hoch. Die genaue quantitative Zusammensetzung für

dieses Ergebnis kann in

Tabelle 8 betrachtet werden. Die Entscheidungen basierten auf den Entscheidungsvektoren,

die mithilfe der domänenspezifisch optimierten Smith-Waterman-Gotoh Ähnlichkeitsfunktion

erstellt wurden.

Page 64: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

59

Keine

Dublette

Dublette Summe

Als keine

Dublette

klassifiziert

83.393 1.213 84.606

Als Dublette

klassifiziert

1.452 2.014 3.466

Summe 84.845 3.227 88.072

Tabelle 8 Das Ergebnis der Erfolgsmessung für die Smith-Waterman-Gotoh Ähnlichkeitsfunktion mit domänenspezifischen Optimierungen und der Entscheidung mittels eines Entscheidungsbaums.

Wenn man das Ergebnis unter dem Aspekt der Fehlerquote betrachtet, so wurden von 88.072

Dublettenkandidatenpaaren 2.665 falsch qualifiziert. Das wäre eine Fehlerquote von circa 3%.

Diese Betrachtung veranlasste mich, die 2.665 falsch qualifizierten Dublettenkandidatenpaare

genauer zu betrachten. So habe ich eine eigene manuelle Qualifizierung dieser

Dublettenkandidatenpaare vorgenommen. Bei dieser manuellen Qualifizierung habe ich bei

1.583 Dublettenkandidatenpaaren eine andere Entscheidung getroffen, als die bereits bei den

Daten gespeicherte. Dabei habe ich immer die ursprüngliche manuelle Entscheidung in

Betracht gezogen und diese nur verändert, wenn sie offensichtlich falsch war. Wenn man

annimmt, dass es sich bei den 1.583 Dublettenkandidatenpaaren um alle falsche

Entscheidungen, die bei der manuellen Qualifizierung getroffen wurden, handelt, so lag die

Fehlerquote der ursprünglichen manuellen Entscheidung bei circa 1,8%. Mit den korrigierten

Entscheidungen habe ich eine erneute Qualifizierung mithilfe der Methoden des maschinellen

Lernens vorgenommen. Das bedeutet, dass ich dieselben Entscheidungsvektoren verwendet

habe und lediglich bei 1.583 Vektoren ein von mir korrigiertes label verwendet habe. Die

Ergebnisse für die mit der Smith-Waterman-Gotoh Ähnlichkeitsfunktion erstellten

Entscheidungsvektoren sind in

Tabelle 9 zusammengefasst, absteigend sortiert nach dem F1-Measure.

Methode precision recall F1-Measure

Entscheidungsbaum 80,78% 75,20% 77,89%

Neuronales Netz 82,97% 72,46% 77,37%

SVM 80,52% 72,95% 76,55%

k-NN 83,06% 70,53% 76,28%

Naive Bayes 57,71% 80,89% 67,36% Tabelle 9 Die Ergebnisse der Erfolgsmessung für die Smith-Waterman-Gotoh Ähnlichkeitsfunktion mit domänenspezifischen Optimierungen mit den korrigierten Labels für die manuelle Entscheidung.

Page 65: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

60

Es fällt sofort auf, dass alle relevanten Messzahlen deutlich besser sind als vor der Korrektur.

Des Weiteren wurde auch mittels einer SVM ein zu den besten Verfahren ähnlich gutes

Ergebnis erzielt. Dies scheint ein Hinweis darauf zu sein, dass es vorher, vor allem wegen der

fehlerhaften Labels, nicht möglich war, ein zufriedenstellendes SVM Modell zu erstellen.

Davon abgesehen wurde das beste Ergebnis mit einem F1-Measure von 77,88% erneut mithilfe

eines Entscheidungsbaumes erreicht. Ein ähnlich gutes Ergebnis erreichte auch das künstliche

neuronale Netz mit 77,36%. Das detaillierte Ergebnis für das beste F1-Measure, das mittels

eines Entscheidungsbaums erreicht wurde, stellt

Tabelle 10 dar.

Keine

Dublette

Dublette Summe

Als keine

Dublette

klassifiziert

83.736 912 84.648

Als Dublette

klassifiziert

658 2.766 3.424

Summe 84.394 3.678 88.072

Tabelle 10 Das Ergebnis der Erfolgsmessung für die Smith-Waterman-Gotoh Ähnlichkeitsfunktion mit domänenspezifischen Optimierungen mit den korrigierten Labels für die manuelle Entscheidung, erzeugt mithilfe eines Entscheidungsbaums.

Diesmal wurden lediglich 1.570 Dublettenkandidatenpaare falsch klassifiziert. Das sind 13

weniger, als die im vorhergehenden Schritt korrigierten Labels für die manuelle Entscheidung.

Auch bei der Annahme, dass alle falschen manuellen Entscheidungen gefunden und korrigiert

wurden, ergibt sich bei der automatisierten Dublettenerkennung eine beinahe gleiche

Fehlerquote. Dies lässt den Schluss zu, dass es möglich ist, mithilfe automatisierter Methoden

ein mindestens ähnlich gutes Ergebnis zu erreichen, wie mithilfe einer manuellen

Klassifizierung durch Experten.

6.3.4 Analyse der Fehlerbilder

Bei der Betrachtung der mittels der besten automatischen Methode immer noch falsch

klassifizierten Dublettenkandidatenpaare wird klar, dass eine weitere Optimierung der

automatischen Klassifikation nur mithilfe von Methoden möglich ist, die ein gutes

Domänenwissen voraussetzen. Im Folgenden stelle ich drei typische Beispiele für eine falsche

Zuordnung gegenüber der manuellen Entscheidung, die mittels der automatischen Methode

Page 66: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

61

erstellt wurde, vor. Dabei werde ich die Gründe für die Korrektur der Entscheidung erörtern

und gegebenenfalls Verbesserungsvorschläge für die automatische Methode beschreiben.

Obwohl die Smith-Waterman-Gotoh Ähnlichkeitsfunktion eine Toleranz gegenüber einem

Austausch gesamter Zeichenblöcke oder Unterschieden in Prä- und Suffixen besitzt fällt auf,

dass manche der unterschiedlichen Zeichenblöcke für diese Methode offensichtlich zu lang

oder nicht zusammenhängend genug sind. Dies führt dazu, dass die berechnete Ähnlichkeit zu

niedrig ausfällt, um eine korrekte Klassifizierung zu gewährleisten. Ein Bespiel dafür ist der

Vergleich folgender Werte des Attributs name: „ABCD Verwalt. + Bewirtschaft. GmbH

Zivildienstschule“ und „ABCD Verwaltung und Bewirtschaftung GmbH“. Die Smith-Waterman-

Gotoh Ähnlichkeitsfunktion liefert hier eine Ähnlichkeit von nur circa 64%. Obwohl die Werte

der anderen Attribute gleich sind und es sich offensichtlich um dieselbe Firma handelt, kommt

es zu einer Klassifizierung als „nicht Dublette“. In solchen Fällen kann eine domänenspezifische

Normierung im Sinne der Vereinheitlichung der verwendeten Abkürzungen helfen. So würde

die Ersetzung von „Verwalt.“ durch „Verwaltung“, „Bewirtschaft.“ durch „Bewirtschaftung“

und „+“ durch „und“ zu einer Ähnlichkeit des Attributwertes von 100% führen und somit zu

einer korrekten Zuordnung als „Dublette“.

Ein typisches Beispiel für eine falsche automatische Klassifizierung als „Dublette“ wäre bei

Werten des Attributes name von „ABCD GmbH“ und „ABCD GmbH & Co. KG“. Alle anderen

Attributwerte sind identisch. Der Attributwert von name erhält hier eine Ähnlichkeit von 100%,

da nur ein Unterschied im Suffix besteht, was zu keiner Abwertung bei der Smith-Waterman-

Gotoh Ähnlichkeitsfunktion führt. Korrekt wäre hier eine Klassifizierung als „nicht Dublette“, da

beide Unternehmen eine unterschiedliche Rechtsform besitzen und somit rechtlich

eigenständige juristische Personen darstellen [vgl. Schi02 S. 36f]. Um hier und in anderen

solchen Fällen eine korrekte Entscheidung zu erreichen, wäre eine Extraktion der Rechtsform

aus den Namen nötig. In einem der Ähnlichkeitsbewertung vorgelagerten Schritt könnte die

Rechtsform im Attribut name erkannt werden und in ein neues Attribut rechtsform

geschrieben werden. Die Ähnlichkeit der Werte dieses Attributs könnte dann den

Entscheidungsvektor entsprechend erweitern. Aufgrund der vielen in Deutschland zulässigen

Rechtsformen sowie deren Varianten für die Schreibweise stellt eine solche Extraktion, selbst

nur für die Domäne der deutschen Geschäftsadressen, kein triviales Unterfangen dar.

Ein nicht so eindeutiges Beispiel für falsche automatische Zuordnung wäre der Fall, wenn nur

der Wert des Attributs strasse keine Ähnlichkeit besitzt, die sonstigen Attributwerte aber

identisch sind. Das könnte einerseits darauf hinweisen, dass einer der Datensätze nicht aktuell

ist und inzwischen ein Wechsel des Unternehmenssitzes stattgefunden hat, zum Beispiel in

Folge eines Umzugs. In einem solchen Fall würde es sich trotzdem um eine „Dublette“

handeln, da die beiden Datensätze dasselbe Unternehmen beschreiben. Es könnte sich aber

auch um zwei Filialen einer großen Handelskette in der gleichen Stadt handeln, die oft, trotz

der Namensgleichheit oder großen Ähnlichkeit des Namens, juristisch eigenständige

Unternehmen darstellen. In einem solchen Fall wäre dieses Kandidatenpaar als „keine

Dublette“ zu kennzeichnen. Doch eine solche Entscheidung wäre nur mithilfe zusätzlicher

Informationen möglich, wie zum Beispiel einer Umzugsdatenbank oder mit Kenntnissen der

Unternehmensstrukturen. Solche Fälle müssten unter Umständen einer Klasse der möglichen

Dubletten zugeordnet werden. Eine Entscheidung würde dann manuell vorgenommen werden.

Page 67: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

62

Automatisierte Lösungen sind denkbar, aber mit großem Aufwand verbunden. Ein Zugriff auf

strukturierte Zusatzinformationen wäre hier nötig.

Page 68: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

63

7 Zusammenfassung, Fazit und Ausblick

Im folgenden Kapitel werde ich noch mal die im Rahmen dieser Arbeit vorgenommene

Evaluation zusammenfassen. Im Fazit werde ich abschließend die Ergebnisse noch einmal kurz

vorstellen und bewerten. Anschließend werde ich einen Ausblick geben, wie eine mögliche

Fortführung der Arbeit aussehen könnte.

7.1 Zusammenfassung

Im Rahmen dieser Arbeit habe ich eine Evaluation vorgenommen, dessen Ziel ein Vergleich der

aktuellen Methoden der automatisierten Dublettenerkennung war. Dieser Vergleich bezog sich

sowohl auf einen Vergleich der Methoden untereinander als auch auf einen Vergleich der

automatisierten Methoden mit einer manuellen Dublettenerkennung.

Als Grundlage der Evaluation diente ein Datenbestand mit 88.072 Dublettenkandidatenpaaren,

die bereits manuell klassifiziert wurden. Die Daten gehören der Domäne der deutschen

Geschäftsadressen und enthalten die Attribute für Name, Straße, Postleitzahl und Ort.

Im Rahmen der Evaluation wurden im ersten Schritt für jedes Dublettenkandidatenpaar

Entscheidungsvektoren erstellt, die als Grundlage für die automatisierte Entscheidung dienten,

ob es sich bei dem Dublettenkandidatenpaar um eine Dublette handelt oder nicht. Diese

Entscheidungsvektoren wurden mithilfe unterschiedlicher Ähnlichkeitsfunktionen für

Zeichenketten erstellt. Jeder Entscheidungsvektor setzte sich zusammen aus den Ähnlichkeiten

der Attributwerte, besaß also insgesamt fünf Dimensionen, vier für die bereits enthaltenen

Attribute und einen Wert für das künstlich erzeugte Attribut all.

Im zweiten Schritt wurde, mithilfe der Entscheidungsvektoren sowie verschiedener

automatischer Entscheidungstechniken, für jedes Dublettenkandidatenpaar die Entscheidung

getroffen, ob es sich um eine Dublette handelt oder nicht. Dieser Entscheidung wurde dann

jeweils mit der bereits manuell getätigten Entscheidung verglichen. Auf diese Weise war es

möglich, eine Erfolgsmessung durchzuführen. Es kamen zwei einfache, ähnlichkeitsbasierte

Entscheidungsmethoden zum Einsatz, sowie fünf Methoden aus dem Bereich des maschinellen

Lernens. Das Vorhandensein der manuellen Klassifizierung ermöglichte ein Training der

Methoden des maschinellen Lernens.

Das erhaltene Ergebnis habe ich einer Beurteilung unterzogen. Anschließend habe ich die

ausgewählten Fehlerbilder der automatisierten Zuordnung analysiert und Lösungsvorschläge

für diese erarbeitet.

Page 69: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

64

7.2 Fazit

Der Vergleich der Methoden der automatisierten Dublettenerkennung hat für die gegebenen

Daten ergeben, dass die am besten geeignete Methode für die Erstellung der

Entscheidungsvektoren die Smith-Waterman-Gotoh Ähnlichkeitsfunktion ist. Als die beste

Entscheidungsmethode für Dubletten erwiesen sich die Entscheidungsbäume. Ein Vergleich mit

der manuellen Klassifizierung der Dubletten ergab, dass die von den automatischen Methoden

erreichten Fehlerquoten auf einem ähnlichen Niveau lagen, wie bei der manuellen

Klassifizierung. Mithilfe der vorgestellten Verbesserungsvorschläge ließe sich, auch wenn mit

einem nicht unerheblichen Aufwand, auch ein besseres Ergebnis für die automatisierten

Methoden erreichen. Es konnte also gezeigt werden, dass in der Praxis die Methoden der

automatisierten Dublettenerkennung eine mit einem menschlichen Bearbeiter vergleichbarer

Zuverlässigkeit erreichen können, die sich mithilfe eines guten Domänenwissens noch steigern

lässt.

Als zusätzliches Ergebnis dieser Arbeit entstanden Modelle für verschiedene Methoden des

maschinellen Lernens, die sicherlich für die Domäne der deutschen Geschäftsadressen, den

gleichen Aufbau bezüglich der Attribute vorausgesetzt, in der Praxis einsetzbar sind. Somit

können die hier erreichten Ergebnisse durchaus als praxisrelevant bezeichnet werden.

7.3 Ausblick

Obwohl die in Rahmen der hier durchgeführten Evaluation verwendeten Daten nicht

veröffentlicht werden können, ergeben sich durchaus Möglichkeiten, aufbauend auf den hier

vorgestellten Ergebnissen weitere Evaluationen durchzuführen oder die Ergebnisse dieser

Arbeit in der Praxis umzusetzen. Zum einen könnten die hier veröffentlichten Modelle für die

Methoden des maschinellen Lernens mithilfe weiterer Daten aus der Praxis validiert und auf

Ihre Allgemeingültigkeit im Rahmen der Domäne der deutschen Geschäftsadressen geprüft

werden. Zum anderen könnten die hier vorgestellten, domänenspezifischen Optimierungen

umgesetzt und implementiert werden. So können die im Rahmen dieser Arbeit

veröffentlichten Modelle verfeinert und für einen Einsatz in der Praxis überarbeitet werden.

Page 70: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

65

Anhang A

Dieser Anhang enthält in grafisch aufbereiteter Form die Ergebnisse für die jeweils besten, mit

den Methoden der ähnlichkeitsbasierten Entscheidungsverfahren ermittelten F1-Measures in

Prozent. Die IDs der Konfigurationen der Ähnlichkeitsfunktionen können dem Kapitel 6.1

entnommen werden. Der Wert in Klammern, hinter der ID der Konfiguration der

Ähnlichkeitsfunktion, ist der Schwellenwert in Prozent, bei dem der jeweils beste F1-Measure

Wert ermittelt wurde. Die Werte sind nach dem ermittelten F1-Measure absteigend sortiert.

Abbildung 20 Die besten F1-Measure Werte, ermittelt mithilfe der „Ein Attribut“ Methode für die Ähnlichkeit des Wertes des Attributs all.

39,05%

39,69%

39,97%

40,69%

41,24%

42,99%

43,48%

46,70%

46,86%

47,17%

48,60%

50,88%

52,16%

52,52%

52,69%

8 (91%)

4 (57%)

1 (44%)

12 (50%)

13 (83%)

14 (67%)

7 (82%)

9 (88%)

5 (79%)

10 (82%)

6 (74%)

11 (92%)

15 (96%)

3 (64%)

2 (71%)

F1-Measure

Page 71: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

66

Abbildung 21 Die besten F1-Measure Werte, ermittelt mithilfe der Durchschnittsmethode für den Durschnitt der Ähnlichkeiten der Werte der Attribute name, strasse, plz und ort.

31,72%

32,18%

33,29%

33,30%

34,35%

35,67%

36,43%

37,64%

39,63%

40,42%

40,59%

43,77%

44,33%

44,86%

48,75%

48,80%

49,03%

49,05%

49,05%

49,42%

49,84%

50,24%

50,60%

50,88%

51,07%

52,57%

53,11%

53,82%

54,16%

56,49%

19 (71%)

16 (65%)

4 (69%)

1 (65%)

12 (73%)

27 (73%)

13 (87%)

28 (87%)

8 (93%)

14 (75%)

23 (93%)

29 (78%)

7 (88%)

22 (88%)

5 (85%)

3 (79%)

6 (84%)

20 (86%)

21 (83%)

2 (83%)

10 (93%)

18 (79%)

11 (97%)

17 (83%)

26 (97%)

25 (94%)

15 (98%)

30 (98%)

9 (92%)

24 (93%)

F1-Measure

Page 72: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

67

Anhang B

In diesem Anhang sind die Ergebnisse der Erfolgsmessung der Dublettenbestimmung mittels

der Methoden des maschinellen Lernens in tabellarischer Form zusammengefasst. Zu jeder

Konfiguration der Ähnlichkeitsfunktion können die ermittelten Werte von precision, recall und

F1-Measure den Tabellen entnommen werden. Die Spalte „F1-Measure Durschnitt“ enthält

den Wert des F1-Measures, der als Mittelwert einer dreifachen Kreuzvalidierung ermittelt

wurde. Näheres dazu siehe Kapitel 5.3.2. Die Werte sind nach der Spalte „F1-Measure

Durschnitt“ absteigend sortiert.

Ähnlichkeit precision recall F1-Measure F1-Measure Durschnitt

9 48,32% 68,14% 56,54% 56,54%

24 46,66% 68,11% 55,38% 55,38%

15 44,99% 56,31% 50,02% 50,01%

5 42,33% 58,82% 49,23% 49,25%

20 42,06% 58,66% 48,99% 49,01%

28 58,09% 38,15% 46,05% 46,04%

13 57,76% 37,93% 45,79% 45,79%

6 34,83% 61,36% 44,44% 44,44%

21 34,74% 61,26% 44,34% 44,35%

7 44,21% 42,45% 43,31% 43,31%

22 41,49% 42,61% 42,04% 42,04%

2 36,45% 48,84% 41,75% 41,95%

17 35,94% 49,21% 41,54% 41,55%

14 32,40% 57,05% 41,33% 41,36%

29 32,32% 56,80% 41,20% 41,22%

30 41,52% 46,58% 43,90% 41,08%

3 36,13% 47,16% 40,91% 40,91%

18 35,72% 47,38% 40,73% 40,75%

8 42,13% 38,92% 40,46% 40,46%

23 41,03% 39,32% 40,16% 40,16%

4 30,73% 52,37% 38,73% 38,75%

19 30,69% 52,31% 38,68% 38,70%

12 31,47% 36,57% 33,83% 33,82%

27 31,40% 36,50% 33,76% 33,76%

1 28,47% 32,83% 30,49% 30,41%

16 28,58% 32,48% 30,41% 30,41%

11 9,61% 4,34% 5,98% 5,99%

26 9,44% 4,21% 5,82% 5,82%

10 12,33% 3,72% 5,72% 5,71%

25 11,18% 3,75% 5,62% 5,62% Tabelle 11 Ergebnisse der Methode naive Bayes.

Page 73: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

68

Ähnlichkeit precision recall F1-Measure F1-Measure Durschnitt

24 58,11% 62,41% 60,18% 60,18%

9 57,77% 62,47% 60,03% 60,02%

10 52,25% 57,58% 54,79% 54,77%

25 51,72% 58,23% 54,78% 54,75%

26 54,11% 55,04% 54,57% 54,35%

11 53,05% 55,47% 54,23% 54,18%

13 51,17% 48,13% 49,60% 49,58%

17 78,16% 35,48% 48,81% 48,77%

18 78,85% 32,82% 46,35% 46,28%

22 81,92% 31,73% 45,74% 45,69%

2 80,30% 31,45% 45,20% 45,00%

7 79,79% 31,33% 44,99% 44,94%

23 83,30% 28,60% 42,58% 42,53%

8 81,76% 28,76% 42,55% 42,50%

3 84,60% 27,92% 41,98% 41,94%

28 50,66% 37,90% 43,36% 39,23%

1 85,55% 15,77% 26,63% 26,61%

16 85,55% 15,77% 26,63% 26,61%

27 79,63% 4,00% 7,62% 7,61%

12 79,38% 3,94% 7,51% 7,50%

4 83,33% 2,48% 4,82% 4,81%

19 83,33% 2,48% 4,82% 4,81%

14 52,17% 1,49% 2,90% 2,89%

29 51,61% 1,49% 2,90% 2,89%

5 0,00% 0,00% 0,00% 0,00%

6 0,00% 0,00% 0,00% 0,00%

15 0,00% 0,00% 0,00% 0,00%

20 0,00% 0,00% 0,00% 0,00%

21 0,00% 0,00% 0,00% 0,00%

30 0,00% 0,00% 0,00% 0,00% Tabelle 12 Ergebnisse der Methode Entscheidungsbäume.

Page 74: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

69

Ähnlichkeit precision recall F1-Measure

F1-Measure Durschnitt

17 79,56% 35,82% 49,40% 49,35%

2 78,32% 35,05% 48,43% 48,39%

18 81,99% 31,45% 45,46% 45,42%

3 80,84% 31,52% 45,36% 45,31%

6 70,66% 3,66% 6,96% 6,95%

21 75,33% 3,50% 6,69% 6,69%

1 0,00% 0,00% 0,00% 0,00%

4 0,00% 0,00% 0,00% 0,00%

5 0,00% 0,00% 0,00% 0,00%

7 0,00% 0,00% 0,00% 0,00%

8 0,00% 0,00% 0,00% 0,00%

9 0,00% 0,00% 0,00% 0,00%

10 0,00% 0,00% 0,00% 0,00%

11 0,00% 0,00% 0,00% 0,00%

12 0,00% 0,00% 0,00% 0,00%

13 0,00% 0,00% 0,00% 0,00%

14 0,00% 0,00% 0,00% 0,00%

15 0,00% 0,00% 0,00% 0,00%

16 0,00% 0,00% 0,00% 0,00%

19 0,00% 0,00% 0,00% 0,00%

20 0,00% 0,00% 0,00% 0,00%

22 0,00% 0,00% 0,00% 0,00%

23 0,00% 0,00% 0,00% 0,00%

24 0,00% 0,00% 0,00% 0,00%

25 0,00% 0,00% 0,00% 0,00%

26 0,00% 0,00% 0,00% 0,00%

27 0,00% 0,00% 0,00% 0,00%

28 0,00% 0,00% 0,00% 0,00%

29 0,00% 0,00% 0,00% 0,00%

30 0,00% 0,00% 0,00% 0,00% Tabelle 13 Ergebnisse der Methode SVM.

Page 75: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

70

Ähnlichkeit precision recall F1-Measure

F1-Measure Durschnitt

30 53,38% 57,95% 55,57% 55,56%

24 60,83% 50,57% 55,23% 55,19%

9 60,96% 48,68% 54,13% 54,12%

17 67,69% 40,25% 50,48% 50,47%

25 64,97% 39,94% 49,47% 49,44%

2 67,33% 38,83% 49,25% 49,23%

18 65,97% 39,17% 49,15% 49,12%

3 66,31% 38,92% 49,05% 49,01%

26 64,51% 38,64% 48,33% 48,33%

11 65,24% 38,27% 48,24% 48,23%

10 63,91% 38,02% 47,68% 47,67%

22 73,10% 33,44% 45,89% 45,83%

20 61,41% 36,44% 45,74% 45,72%

7 74,38% 32,29% 45,03% 44,98%

5 59,75% 36,07% 44,98% 44,97%

21 58,43% 36,41% 44,86% 44,84%

6 57,33% 36,35% 44,49% 44,48%

28 59,82% 34,55% 43,80% 43,78%

13 59,40% 33,81% 43,09% 43,12%

23 77,05% 29,75% 42,93% 42,89%

8 77,48% 29,01% 42,21% 42,16%

12 60,32% 30,80% 40,78% 40,78%

27 62,03% 28,91% 39,44% 39,43%

14 53,57% 29,10% 37,71% 37,65%

29 53,66% 28,85% 37,52% 37,50%

4 56,38% 27,24% 36,73% 36,72%

19 55,86% 27,33% 36,70% 36,69%

1 58,00% 26,84% 36,70% 36,64%

16 57,93% 26,71% 36,56% 36,50%

15 56,03% 31,08% 39,98% 35,44% Tabelle 14 Ergebnisse der Methode nächster-Nachbar-Klassifikation.

Page 76: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

71

Ähnlichkeit precision recall F1-Measure

F1-Measure Durschnitt

24 58,62% 59,41% 59,01% 58,98%

9 58,87% 58,85% 58,86% 58,77%

30 53,32% 58,54% 55,81% 55,77%

26 58,98% 52,31% 55,45% 55,45%

25 61,65% 48,28% 54,15% 54,02%

3 64,39% 45,83% 53,55% 53,54%

10 57,38% 46,64% 51,46% 50,04%

20 61,10% 39,64% 48,08% 47,51%

11 66,57% 36,91% 47,49% 47,13%

2 82,07% 32,63% 46,69% 46,66%

22 79,65% 32,51% 46,17% 46,17%

17 82,53% 31,92% 46,04% 46,01%

18 82,33% 30,46% 44,47% 44,45%

13 62,81% 34,12% 44,22% 44,19%

6 59,73% 36,04% 44,95% 44,11%

28 63,55% 33,06% 43,49% 43,48%

5 59,14% 36,69% 45,29% 43,43%

7 82,18% 29,44% 43,35% 43,33%

14 47,87% 44,56% 46,16% 43,15%

8 76,08% 30,15% 43,19% 43,14%

23 78,64% 29,44% 42,84% 42,81%

21 69,25% 28,48% 40,36% 40,11%

12 68,07% 27,55% 39,22% 38,87%

1 50,74% 29,87% 37,60% 35,53%

27 73,52% 22,71% 34,70% 34,60%

4 60,96% 24,88% 35,34% 34,20%

19 60,69% 24,54% 34,95% 33,60%

16 76,54% 18,81% 30,20% 30,17%

29 82,83% 17,04% 28,27% 28,27%

15 55,39% 18,62% 27,87% 27,88% Tabelle 15 Ergebnisse der Methode künstliche neuronale Netze.

Page 77: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

72

Anhang C

Auf der als Anhang C beschrifteten CD befindet sich zum einen die komplette Implementierung

der im Kapitel 5.3.1 beschriebenen Software für die Ähnlichkeitsbestimmung. Zum anderen ist

auch die komplette Repository der Software RapidMiner enthalten, die im Rahmen dieser

Arbeit implementierten Prozesse für die Validierung der Methoden des maschinellen Lernens

enthält. Auch alle für die Evaluierung verwendeten Entscheidungsvektoren, die ermittelten

Modelle und die dazugehörigen Ergebnisse sind enthalten. Um eine einfache

Nachvollziehbarkeit zu gewährleisten, enthält die CD auch Installationsdateien zu den

verwendeten Versionen der Software SpringSource Tool Suite (Entwicklungsplatform) und

RapidMiner.

Des Weiteren enthält die CD Paper, die aus dem Web heruntergeladen wurden und als

Literatur im Rahmen dieser Arbeit Verwendung fanden.

Die Struktur der Verzeichnisse kann der Tabelle 16 entnommen werden.

Verzeichnis Inhaltsbeschreibung

Aenlichkeitsbestimmung Die Quelltexte der Implementierung der Ähnlichkeitsbestimmung als ein Projekt für die SpringSource Tool Suite (komplett als zip Datei).

Installationsdateien Installationsdateien für die Software SpringSource Tool Suite und RapidMiner.

Literatur Die aus dem Web stammende Papers, die als Literatur verwendet wurden.

RapidMinerRepository Die Repository der Software RapidMiner, beinhaltet die Evaluationsdaten (Entscheidungsvektoren), Modelle der Methoden des maschinellen Lernens und Ergebnisse der Evaluation.

Tabelle 16 Die Beschreibung der Verzeichnisstruktur der CD zum Anhang C.

Page 78: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

73

Anhang D

Die als Anhang D beschriebene CD enthält die bei der Evaluation verwendeten Originaldaten

als CSV (Comma-Separated Values) Dateien. Die ursprüngliche Aufteilung der Relationen

wurde beibehalten.

Diese CD steht nur den Gutachtern der Arbeit im Rahmen der Beurteilung zur Verfügung. Einer

Veröffentlichung der Daten, insbesondere der Geschäftsadressen, ist aus Gründen des

Betriebsgeheimnisses nicht möglich.

Page 79: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

74

Literaturverzeichnis

[Ambl10] Ambler, Scott W.: Mapping Objects to Relational Databases: O/R Mapping In Detail. http://www.agiledata.org/essays/mappingObjects.html, 2010. Abruf: 15.08.2010.

[Anan02] Ananthakrishna, R.; Chaudhuri, S.; Ganti, V.: Eliminating Fuzzy Duplicates in Data Warehouses. In: Proceedings of the 28th Conference on Very Large Databases, 2002, S. 586-597.

[Apac11] Apache Software Foundation: Apache POI - the Java API for Microsoft Documents. http://poi.apache.org/, 2001. Abruf: 15.08.2011.

[Bile03] Bilenko, M.; Mooney, R.; Cohen, W.; Ravikumar, P.; Fienberg, S.: Adaptive Name Matching in Information Integration. In: IEEE Intelligent Systems, 18 (50), 2003, S. 16-23.

[Borg98] Christian Borgelt and Rudolf Kruse. Attributauswahlmaße für die Induktion von Entscheidungsbäumen: Ein Überblick. In: Data Mining: Theorie und Anwendungen. Heidelberg: Physica-Verlag, 1998, S. 77-98.

[Brau95] Brause, Rüdiger W.: Neuronale Netze. Stuttgart: B.G. Teubner, 1995.

[Brei84] Breiman, L.; Friedman, J.H.; Olshen R.A.; Stone C.J.: Classification and Regression Trees. Belmont Calif.: Wadsworth International Group, 1984.

[Chri08] Christen, Peter: Automatic record linkage using seeded nearest neighbour and support vector machine classification. In: Proceeding of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD '08), 2008.

[Coch01] Cochinwala, M.; Kurien, V.; Lalk, G.; Shasha, D.: Efficient Data Reconciliation. In: Information Sciences, 137, 2001, S. 1-15.

[Cohe98] Cohen, William W.: Integration of Heterogeneous Databases without Common Domains Using Queries Based on Textual Similarity. In: Proceedings of the 1998 ACM SIGMOD international conference on Management of data, 1998.

[Cohe03] Cohen, William W.; Ravikumar, Pradeep; Fienberg, Stephen E.: A comparison of string distance metrics for name-matching tasks. In: Proc. IJCAI-03 Workshop on Information Integration on the Web (IIWeb-03), S. 73–78, 2003.

[Drai10] Draisbach, Uwe; Naumann, Felix: DuDe: The Duplicate Detection Toolkit. In: Proceedings of the International Workshop on Quality in Databases (QDB) 2010, Singapore, 2010.

[DGIQ07] DGIQ e.V. 15. IQ Dimensionen. http://www.dgiq.de, 2007. Abruf: 15.08.2011.

[Elma07] Elmagarmid, Ahmed K.; Ipeirotis, Panagiotis G. ; Verykios, Vassilios S.: Duplicate Record Detection: A Survey. In: IEEE Transactions Knowledge and Data Engineering, 19(1), 2007, S. 1-16.

Page 80: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

75

[Fahr98] Fahrmeir, F.; Häußler, W.; Tutz, G.: Diskriminanzanalyse. In: Fahrmeir, L.; Hamerle, A.; Tutz, G. [Hrsg.]: Multivariate statistische Verfahren. 2. Auflage, Berlin / New York: de Gruyter, 1996, S. 357–425.

[Fell69] Fellegi, Ivan; Sunter, Alan: A Theory for Record Linkage. In: Journal of the American Statistical Association, 64(328), 1969, S. 1183-1210.

[Fix51] Fix, E.; Hodges, J.: Discriminatory analysis, nonparametric discrimination: Consistency properties. In: Technical Report 4, U.S. Air Force, School of Aviation Medicine, Randolph Field, TX, 1951.

[Fowl04] Fowler, Martin: Inversion of Control Containers and the Dependency Injection pattern. http://martinfowler.com/articles/injection.html, 2004. Abruf: 15.08.2011.

[Goog11] Google: Google Chart Tools. http://code.google.com/intl/de-DE/apis/chart/, 2011.

Abruf: 15.08.2011

[Goto82] Gotoh, Osamu: An Improved Algorithm for Matching Biological Sequences. In: Journal of Molecular Biology, 162, 1982, S.705-708.

[Grau92] Grauel, Adolf: Neuronale Netze: Grundlagen und mathematische Modellierung. Mannheim, Leipzig, Wien, Zürich: BI-Wissenschaftlicher-Verlag, 1992.

[Grav01] Gravano, Luis; Ipeirotis, P. G.; Jagadish, H.;Koudas, N.; Muthukrishnan, S.; Srivastava, D.: Approximate string joins in a database (almost) for free. In: Proceedings of the 27th International Conference on Very Large Databases, 2001. S. 491–500.

[Gülc11] Gülcü, Ceki; Pennec, Sébastien: The logback manual. http://logback.qos.ch/manual/index.html, 2011. Abruf 15.08.2011.

[Hall08] Hall, P.; Park, B.U.; Samworth R.J.: Choice of neighbor order in nearest-neighbor classification. In: Annals of Statistics. 36 (5), S. 2135–2152.

[Jaro89] Jaro, Matthew A.:, Advances in Record-Linkage Methodology as Applied to Matching the 1985 Census of Tampa, Florida. In: Journal of the American Statistical Association, 89, 1989, S. 414-420.

[Jura91] Juran, Josef M.: Handbuch der Qualitätsplanung. 3. Auflage, Landsberg: Verlag Moderne Industrie, 1991.

[Krie07] Kriesel, David: Ein kleiner Überblick über Neuronale Netze. http://www.dkriesel.com, 2007. Abruf: 15.08.2011.

[Leve66] Levenshtein, V. I.: Binary codes capable of correcting deletions, insertions, and reversals. In: Soviet Physics Doklady, 10(8), 1966, S. 707-710.

[Mann08] Manning, Christopher D.; Raghavan, Prabhakar; Schütze, Hinrich: Introduction to Information Retrieval. Cambridge: Cambridge University Press, 2009.

Page 81: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

76

[Mier09] Mierswa, Ingo: Open Source Data Mining mit RapidMiner. In: 18. Wissenschaftliches Kolloquium des statistischen Bundesamtes, 2009, http://www.destatis.de/jetspeed/portal/cms/Sites/destatis/Internet/DE/Content/ Wissenschaftsforum/Kolloquien/OpenSourceDataMiningRapidMiner__Beitrag,property=file.pdf, Abruf: 15.08.2011.

[Mong96] Monge, Alvaro C.; Elkan, Charles P.: The field-matching problem: algorithm and applications. In: Proceedings of the Second International Conference on Knowledge Discovery and Data Mining, 1996, S. 267-270.

[Naum10] Naumann, Felix; Herschel, Melanie: An Introduction to Duplicate Detection. San Rafael (u.a.) : Morgan and Claypool Publishers, 2010.

[Nava01] Navarro, G.: A Guided Tour of Approximate String Matching. In: Association of Computing Machinery Computing Surveys, 33, 2001, S. 31-88.

[Need70] Needleman, Saul B.; Wunsch, Christian D.: A General Method Applicable to the Search for Similarities in the Amino Acid Sequence of Two Proteins. In: Journal of Molecular Biology, 48, 1970, S. 443–453

[Newc59] Newcombe, H. B.; Kennedy, J. M.; Axford, S. J.; James, A. P.: Automatic linkage of vital records. In: Science Vol. 130, No. 3381, 1959, S. 954-959.

[Obri11] O'Brien, Tim; van Zyl, Jason; Fox, Brian; Casey, John; Xu, Juven; Locher, Thomas; Sonatype (Hrsg.): Maven: The Complete Reference. http://www.sonatype.com/books/mvnref-book/reference/, 2011. Abruf: 15.08.2011.

[Orac11] Oracle: JDBC. http://download.oracle.com/javase/6/docs/technotes/guides/jdbc/, 2011. Abruf: 15.08.2011.

[Orac10] Oracle: MySQL 5.1 Referenzhandbuch. http://dev.mysql.com/doc/refman/5.1/de/index.html, 2010. Abruf: 15.08.2011.

[Pras09] Prasetya, Wishnu: JUnit 4.x Quick Tutorial. http://code.google.com/p/t2framework/wiki/JUnitQuickTutorial, 2009. Abruf: 15.08.2011.

[Rose58] Rosenblatt, Frank: The perceptron: a probabilistic model for information storage and organization in the brain. In: Psychological Review, 65, 1958, S. 386-408.

[Samm11] Sammut, Claude [Hrsg.]; Webb, Geoffrey I. [Hrsg.]: Encyclopedia of Machine Learning. 1. Auflage, Berlin: Springer, 2011.

[Schi02] Schierenbeck, Henner (2003): Grundzüge der Betriebswirtschaftslehre. 16. Auflage, München: Oldenbourg Wissenschafts-Verlag, 2002.

[Shaf10] Shafait, Faisal; Reif, Matthias; Kofler, Christian; Breuel, Thomas: Pattern Recognition Engineering. In: RapidMiner Community Meeting and Conference, 09/2010. http://madm.dfki.de/publication&pubid=4947. Abruf: 15.08.2011.

Page 82: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

77

[Smit81] Smith, Temple F.; Waterman, Michael S.: Identification of common molecular subsequences. In: Journal of Molecular Biology, 147, 1981, S. 195-197.

[Sonq64] Sonquist, J.A.; Morgan, J.N.: The Detection of Interaction Effects. Ann Arbor: University of Michigan, Institute for Social Research, Survey Research Center, 1964.

[Sour11] Sourceforge: http://sourceforge.net/projects/simmetrics/, 2011. Abruf: 15.08.2011.

[Sun01] Sun Microsystems: Core J2EE Patterns - Data Access Object. http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html, 2001-2002. Abruf: 15.08.2011.

[Ukko92] Ukkonen, E.: Approximate string matching with q-grams and maximal matches. In: Theoretical Computer Science (TCS), 92(1), 1992, S. 191–211.

[Ullm77] Ullmann, J.R.: A Binary n-Gram Technique for Automatic Correction of Substitution, Deletion, Insertion, and Reversal Errors in Words. In: The Computer Journal, Vol. 20, No. 2, 1977, S. 141-147.

[Very03] Verykios, Vassilios S.; Moustakides, George V.; Elfeky, Mohamed G.: A Bayesian decision model for cost optimal record matching. In: The International Journal on Very Large Data Bases, 12(1), 2003, S. 28-40.

[Wang96] Wang, Richard Y.; Strong, Diane M.: Beyond Accuracy: What data quality means to data consumers. In: J. Manage. Information Syst., 12(4), 1996, S. 5-34.

[Wapn95] Wapnik, Wladimir: The Nature of Statistical Learning Theory. New York, NY, USA: Springer Verlag, 1995.

[Wate76] Waterman, Michael S.; Smith, Temple F.; Beyer, W.A.: Some Biological Sequence Metrics. In: Advances in Math., 20(4), 1976, S. 367-387.

[Weis05] Weis, Melanie; Naumann, Felix: DogmatiX tracks down duplicates in XML. In: Proc. ACM SIG-MOD Int. Conf on Management of Data, 2005, S. 431-442.

[Weis08] Weis, Melanie; Naumann, Felix; Jehle, Ulrich; Lufter, Jens; Schuster, Holger: Industry-scale duplicate detection. In: Proceedings of the VLDB Endowment, 1(2), 2008, S. 1253-1264.

[Werb74] Werbos, Paul J.: Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. PhD thesis, Harvard University, 1974.

[Wink91] Winkler, William E.; Thibaudeau, Yves: An Application of the Fellegi-Sunter Model of Record Linkage to the 1990 U.S. Census. Technical report, US Bureau of the Census, 1991.

[Wolf10] Wolff, Eberhard: Spring 3 – Framework für die Java Entwicklung. 3. Auflage, Heidelberg: dpunkt.verlag, 2010.

Page 83: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

78

[Züll04] Züllighoven, Heinz: Object-Oriented Construction Handbook: Developing Application-Oriented Software with the Tools & Materials Approach. Heidelberg: dpunkt.verlag, 2004.

Page 84: Ein Vergleich der Methoden automatisierter · PDF file3.2.1 Levenshtein und Needleman-Wunsch Distanz ..... 15 3.2.2 Affine Gapkosten, Smith-Waterman und Smith-Waterman-Gotoh Distanz

79

Eidesstattliche Erklärung

Ich versichere, dass ich die vorstehende Arbeit selbstständig und ohne fremde Hilfe angefertigt

und mich anderer als der im beigefügten Verzeichnis angegebenen Hilfsmittel nicht bedient

habe. Alle Stellen, die wörtlich oder sinngemäß aus Veröffentlichungen entnommen wurden,

sind als solche kenntlich gemacht. Alle Quellen, die dem World Wide Web entnommen oder in

einer sonstigen digitalen Form verwendet wurden, sind der Arbeit beigefügt.