Below is a TXT version of a PhD thesis (in German) by Daniel Kinzler. It describes software that can crawl Wikipedia in order to extract cross-lingual terminology information.
It is licensed unded GFDL.
Universität Leipzig
Fakultät für Mathematik und Informatik
Institut für Informatik
Automatischer Aufbau
eines multilingualen Thesaurus
durch Extraktion semantischer
und lexikalischer Relationen
aus der Wikipedia
Diplomarbeit
Leipzig, Mai 2008 Vorgelegt von:
Daniel Kinzler
Studiengang Informatik
Kurzreferat
Die vorliegende Diplomarbeit beschreibt und analysiert Methoden, um aus den Datenbeständen der
Wikipedia in verschiedenen Sprachen einen multilingualen Thesaurus zu erstellen. Dabei sollen insbesondere
die Beziehungen zwischen Termen (Wörtern, Wortformen, Phrasen) zu sprachunabhängigen
Konzepten extrahiert werden sowie die Beziehungen zwischen solchen Konzepten, speziell Beziehungen
der Über- bzw. Unterordnung (Subsumtion) sowie der semantischen Verwandtheit und Ähnlichkeit. Zu
diesem Zweck werden die Anforderungen sowie die verfügbaren Rohdaten analysiert, ein Prototyp zur
Extraktion der gewünschten Daten entwickelt und die mit dem Prototyp gewonnenen Daten in Bezug auf
die zuvor formulierten Anforderungen evaluiert.
Schlagwörter
Wikipedia; Thesaurus; Sprachverarbeitung; Information Retrieval; Übersetzung
CR-Klassifikation
H.3.1 Content Analysis and Indexing
H.3.3 Information Search and Retrieval
I.2.7 Natural Language Processing
Diese Diplomarbeit steht unter der GNU-Lizenz für freie Dokumentation 1.2 (GFDL).
Sie wurde am 28. Mai 2008 mit LATEX gesetzt, Urheber ist Daniel Kinzler.
Detaillierte Angaben zur Lizenz finden sich im Kapitel Lizenz ab Seite 207.
Zitation: Daniel Kinzler, Automatischer Aufbau eines multilingualen Thesaurus durch Extraktion semantischer und
lexikalischer Relationen aus der Wikipedia, Diplomarbeit an der Abteilung für Automatische Sprachverarbeitung, Institut für
Informatik, Universität Leipzig, 2008.
@mastersthesis{ kinzler2008th,
author = "Daniel Kinzler",
title = "Automatischer Aufbau eines multilingualen Thesaurus durch Extraktion
semantischer und lexikalischer Relationen aus der Wikipedia",
school = "Universit\"{a}t Leipzig",
year = "2008",
url = "http://brightbyte.de/papers/2008/DA/WikiWord.pdf"
}
URI: <http://brightbyte.de/papers/2008/DA/WikiWord.pdf>
Inhaltsverzeichnis
I. Einleitung 1
1. Grundlagen 2
1.1. Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Wikipedia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3. Thesauri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4. Nutzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2. Einordnung 14
2.1. Untersuchung von Struktur und Qualität der Wikipedia . . . . . . . . . . . . . . 14
2.2. Maschinenlesbare Wissensbasen . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3. Automatische Disambiguierung und semantische Verwandtheit . . . . . . . . . . 17
2.4. Erzeugung von Thesauri und Taxonomien . . . . . . . . . . . . . . . . . . . . . 18
2.5. Wissensextraktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6. Named Entity Recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7. Eigenschaften von WikiWord . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
II. Entwurf 23
3. Idee 24
4. Ablauf 25
4.1. Analyse von Wiki-Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2. Aufbau des lokalen Datenmodells . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3. Zusammenführen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.4. Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
III. Implementation 32
5. Anforderungen 33
5.1. Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2. Rahmenbedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6. Plattform 35
6.1. Laufzeitumgebung: Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.2. Datenbank: MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.3. Austauschformat: SKOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Inhaltsverzeichnis iv
7. Framework 37
7.1. Import-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.2. Ablauf und Parallelisierung (Pipeline) . . . . . . . . . . . . . . . . . . . . . . . 38
8. Analyse des Wiki-Textes 40
8.1. Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.2. Mechanismen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.3. Bereinigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.4. Extraktion von Vorlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.5. Ressourcenklassifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.6. Konzeptklassifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.7. Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.8. Extraktion von Glossen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.9. Terme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8.10. Begriffsklärungsseiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
9. Verarbeitung 53
9.1. Import von Wiki-Seiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
9.1.1. Konzepte aus Abschnitten . . . . . . . . . . . . . . . . . . . . . . . . . 58
9.1.2. Kategorien und Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9.1.3. Nachbereitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9.2. Zusammenführen des multilingualen Thesaurus . . . . . . . . . . . . . . . . . . 67
9.2.1. Import der Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
9.2.2. Aufbau der sprachübergreifenden Konzepte . . . . . . . . . . . . . . . . 68
9.2.3. Nachbereitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
9.3. Aufbau der statistischen Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.4. Vorbereitung von Konzeptdaten für den schnellen Zugriff . . . . . . . . . . . . . 74
10. Export 75
10.1. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
10.2. Vokabulare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.3. Abbildung des Datenmodells auf RDF . . . . . . . . . . . . . . . . . . . . . . . 81
10.4. Cutoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10.5. Topic Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
IV. Evaluation 89
11. Statistischer Überblick 90
11.1. Datenbasis und Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
11.2. Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
11.3. Multilinguale Thesauri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
11.4. Verteilung von Termfrequenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
11.5. Verteilung von Knotengraden . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
11.6. Auswertung des Exports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Inhaltsverzeichnis v
12. Akkuratheit der Konzepte 102
12.1. Auswertung der Klassifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
12.2. Auswertung der Subsumtion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
12.3. Auswertung der Ähnlichkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
12.4. Auswertung der Verwandtheit . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
12.5. Auswertung der Termzuordnung . . . . . . . . . . . . . . . . . . . . . . . . . . 108
12.6. Auswertung der Glossen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
13. Analyse von Begriffsklärungsseiten 117
14. Verwandtheit und Disambiguierung 119
14.1. Semantische Verwandtheit zwischen Konzepten . . . . . . . . . . . . . . . . . . 119
14.2. Disambiguierung durch Maximierung der Kohärenz . . . . . . . . . . . . . . . . 125
14.3. Semantische Verwandtheit zwischen Termen . . . . . . . . . . . . . . . . . . . . 129
15. Zusammenfassung 131
15.1. Besonderheiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
15.2. Ergebnis und Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
V. Anhang 135
A. Wiki-Text 136
A.1. HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
A.2. Einfache Textformatierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
A.3. Wiki-Links und Bilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
A.4. Tabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
A.5. Vorlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
A.6. Magic Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
A.7. Parser-Functions und Extension-Tags . . . . . . . . . . . . . . . . . . . . . . . . 141
B. Kommandozeilenschnittstelle 142
B.1. Anwenderschnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
B.2. Parameter und Optionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
B.3. Aufruf der einzelnen Programme . . . . . . . . . . . . . . . . . . . . . . . . . . 144
B.4. Datenbank-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
B.5. Konfiguration (Tweaks) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
B.6. Ablaufsteuerung (Agenda) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
B.7. Anpassung an einzelne Wikis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
C. Datenbank 148
C.1. Datenbankstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
C.2. Datenbanktabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
C.3. Zugriffsschicht für die Datenabfrage . . . . . . . . . . . . . . . . . . . . . . . . 158
C.4. Zugriffsschicht für die Datenspeicherung und Verarbeitung . . . . . . . . . . . . 159
Inhaltsverzeichnis vi
D. Datenstrukturen 162
D.1. WikiPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
D.2. Transferobjekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
E. Algorithmen 165
E.1. Extraktion von Wiki-Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
E.2. Extraktion von Glossen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
E.3. Analyse von Begriffsklärungsseiten . . . . . . . . . . . . . . . . . . . . . . . . 169
E.4. Zusammenführen von sprachübergreifenden Konzepten . . . . . . . . . . . . . . 172
E.5. Algorithmus zum Entfernen von Zyklen . . . . . . . . . . . . . . . . . . . . . . 175
F. Daten 179
F.1. Wiki-Dumps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
F.2. Datenbank-Dumps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
F.3. RDF-Dumps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
F.4. Bewertungsdaten und Statistiken . . . . . . . . . . . . . . . . . . . . . . . . . . 183
F.5. Daten für Grafiken und Tabellen . . . . . . . . . . . . . . . . . . . . . . . . . . 187
G. Quellcode 188
G.1. WikiWord Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
G.2. Verwendete Bibliotheken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
G.3. Bündel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
G.4. Kompilieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
G.5. TeX-Quellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Literaturverzeichnis 194
VI. Rechtliches 206
Lizenz 207
Erklärung 213
Menon:
Und auf welche Weise willst du denn dasjenige suchen, Sokrates, wovon du
überhaupt gar nicht weißt, was es ist?
Denn als welches Besondere von allem, was du nicht weißt, willst du es dir
denn vorlegen und so suchen?
Oder wenn du es auch noch so gut träfest, wie willst du denn erkennen, daß
es dieses ist, was du nicht wußtest?
. . .
Sokrates:
Da die ganze Natur unter sich verwandt ist
und die Seele alles innegehabt hat:
so hindert nichts, daß, wer nur an ein einziges erinnert wird,
was bei den Menschen Lernen heißt,
alles übrige selbst auffinde, wenn er nur tapfer ist
und nicht ermüdet im Suchen.
Denn das Suchen und Lernen ist demnach ganz und gar Erinnerung.
— Platon1
1Platon: Menon; Übersetzung von Friedrich Schleiermacher
Teil I.
Einleitung
1. Grundlagen
Die automatische Verarbeitung von natürlichsprachlichen Texten hat in den letzten Jahren
an Bedeutung gewonnen: Aus der immer größer werdenden Flut von Texten erwächst die
Notwendigkeit, bessere Methoden zu entwickeln, um Texte automatisch zu erfassen, zu filtern,
zu suchen, zu indizieren und zusammenzufassen. Dabei hat sich gezeigt, dass neben geeigneten
Verfahren und ausreichender Speicher- und Verarbeitungskapazität auch maschinell verarbeitbares
Wissen von entscheidender Bedeutung für die Verarbeitung natürlicher Sprache ist
GABRILOVICH (2006), IDE UND VERONIS (1998). Solches Wissen reicht von formalen Ontologien, wie sie
in Expertensystemen und zur Wissensrepräsentation für Künstliche Intelligenz eingesetzt werden,
zu „weichem“, „flachem“ Sprachwissen, z. B. darüber, was ein Name ist, wo ein Satz endet oder
welche Wörter in welcher Sprache für welches Konzept stehen.
Der Nutzen, den so genanntes Weltwissen für Softwaresysteme hat, wird in der Knowledge as
Power Hypothesis von B. G. Buchanan zusammengefasst BUCHANAN UND FEIGENBAUM (1982):
The power of an intelligent program to perform its task well depends primarily on the
quantity and quality of knowledge it has about that task.
Und D.B. Lenat sagt über die Notwendigkeit zu generalisieren, also den Nutzen seiner
Begriffshierarchie LENAT UND FEIGENBAUM (1991):
To behave intelligently in unexpected situations, an agent must be capable of falling
back on increasingly general knowledge.
Weiter sagt Lenat, dass Programme ohne Wissen sehr anfällig (brittle) seien, und nur Aufgaben
bewältigen können, die vom Programmierer vollständig vorhergesehen wurden LENAT U. A. (1990).
Ziel der vorliegenden Diplomarbeit ist es nun, eine Sammlung solchen Wissens, nämlich einen
Thesaurus, automatisch aus dem Datenbestand der Wikipedia zu erzeugen. Die Wikipedia bietet
sich für diesen Zweck an, da sie einen großen, aktuellen und wohlstrukturierten Korpus darstellt,
der zudem frei und in einer Vielzahl von Sprachen verfügbar ist.
Die Idee ist, ein Softwaresystem (im Folgenden: WikiWord) zu entwerfen, das in der Lage ist,
Wissen über Bezeichnungen für und die Beziehungen zwischen Konzepten aus der Wikipedia zu
extrahieren. Dieses Wissen ist in der Struktur und den Inhalten der Wikipedia mehr oder weniger
explizit enthalten: Beziehungen werden durch spezielle syntaktische Konstrukte (Markup)
sowie Konventionen über den Aufbau und die Formatierung von Inhalten repräsentiert. Ziel dieser
Diplomarbeit ist es, Methoden zur Auswertung dieser Strukturen zu entwerfen und zu evaluieren,
insbesondere solche Methoden, die ohne eine Betrachtung von natürlicher Sprache, also
der eigentlichen textuellen Inhalte, auskommen. Ein Entwurf für ein Softwaresystem, das
solche Methoden umsetzt, ist in .II beschrieben, detaillierte Informationen über die konkrete
Implementation von WikiWord finden sich unter .III. Die Evaluation wird in .IV erläutert.
It is licensed unded GFDL.
Universität Leipzig
Fakultät für Mathematik und Informatik
Institut für Informatik
Automatischer Aufbau
eines multilingualen Thesaurus
durch Extraktion semantischer
und lexikalischer Relationen
aus der Wikipedia
Diplomarbeit
Leipzig, Mai 2008 Vorgelegt von:
Daniel Kinzler
Studiengang Informatik
Kurzreferat
Die vorliegende Diplomarbeit beschreibt und analysiert Methoden, um aus den Datenbeständen der
Wikipedia in verschiedenen Sprachen einen multilingualen Thesaurus zu erstellen. Dabei sollen insbesondere
die Beziehungen zwischen Termen (Wörtern, Wortformen, Phrasen) zu sprachunabhängigen
Konzepten extrahiert werden sowie die Beziehungen zwischen solchen Konzepten, speziell Beziehungen
der Über- bzw. Unterordnung (Subsumtion) sowie der semantischen Verwandtheit und Ähnlichkeit. Zu
diesem Zweck werden die Anforderungen sowie die verfügbaren Rohdaten analysiert, ein Prototyp zur
Extraktion der gewünschten Daten entwickelt und die mit dem Prototyp gewonnenen Daten in Bezug auf
die zuvor formulierten Anforderungen evaluiert.
Schlagwörter
Wikipedia; Thesaurus; Sprachverarbeitung; Information Retrieval; Übersetzung
CR-Klassifikation
H.3.1 Content Analysis and Indexing
H.3.3 Information Search and Retrieval
I.2.7 Natural Language Processing
Diese Diplomarbeit steht unter der GNU-Lizenz für freie Dokumentation 1.2 (GFDL).
Sie wurde am 28. Mai 2008 mit LATEX gesetzt, Urheber ist Daniel Kinzler.
Detaillierte Angaben zur Lizenz finden sich im Kapitel Lizenz ab Seite 207.
Zitation: Daniel Kinzler, Automatischer Aufbau eines multilingualen Thesaurus durch Extraktion semantischer und
lexikalischer Relationen aus der Wikipedia, Diplomarbeit an der Abteilung für Automatische Sprachverarbeitung, Institut für
Informatik, Universität Leipzig, 2008.
@mastersthesis{ kinzler2008th,
author = "Daniel Kinzler",
title = "Automatischer Aufbau eines multilingualen Thesaurus durch Extraktion
semantischer und lexikalischer Relationen aus der Wikipedia",
school = "Universit\"{a}t Leipzig",
year = "2008",
url = "http://brightbyte.de/papers/2008/DA/WikiWord.pdf"
}
URI: <http://brightbyte.de/papers/2008/DA/WikiWord.pdf>
Inhaltsverzeichnis
I. Einleitung 1
1. Grundlagen 2
1.1. Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Wikipedia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3. Thesauri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4. Nutzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2. Einordnung 14
2.1. Untersuchung von Struktur und Qualität der Wikipedia . . . . . . . . . . . . . . 14
2.2. Maschinenlesbare Wissensbasen . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3. Automatische Disambiguierung und semantische Verwandtheit . . . . . . . . . . 17
2.4. Erzeugung von Thesauri und Taxonomien . . . . . . . . . . . . . . . . . . . . . 18
2.5. Wissensextraktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6. Named Entity Recognition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7. Eigenschaften von WikiWord . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
II. Entwurf 23
3. Idee 24
4. Ablauf 25
4.1. Analyse von Wiki-Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2. Aufbau des lokalen Datenmodells . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3. Zusammenführen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.4. Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
III. Implementation 32
5. Anforderungen 33
5.1. Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2. Rahmenbedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6. Plattform 35
6.1. Laufzeitumgebung: Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.2. Datenbank: MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.3. Austauschformat: SKOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Inhaltsverzeichnis iv
7. Framework 37
7.1. Import-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.2. Ablauf und Parallelisierung (Pipeline) . . . . . . . . . . . . . . . . . . . . . . . 38
8. Analyse des Wiki-Textes 40
8.1. Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.2. Mechanismen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.3. Bereinigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.4. Extraktion von Vorlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.5. Ressourcenklassifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.6. Konzeptklassifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.7. Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.8. Extraktion von Glossen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.9. Terme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8.10. Begriffsklärungsseiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
9. Verarbeitung 53
9.1. Import von Wiki-Seiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
9.1.1. Konzepte aus Abschnitten . . . . . . . . . . . . . . . . . . . . . . . . . 58
9.1.2. Kategorien und Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . 59
9.1.3. Nachbereitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9.2. Zusammenführen des multilingualen Thesaurus . . . . . . . . . . . . . . . . . . 67
9.2.1. Import der Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
9.2.2. Aufbau der sprachübergreifenden Konzepte . . . . . . . . . . . . . . . . 68
9.2.3. Nachbereitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
9.3. Aufbau der statistischen Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.4. Vorbereitung von Konzeptdaten für den schnellen Zugriff . . . . . . . . . . . . . 74
10. Export 75
10.1. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
10.2. Vokabulare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.3. Abbildung des Datenmodells auf RDF . . . . . . . . . . . . . . . . . . . . . . . 81
10.4. Cutoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10.5. Topic Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
IV. Evaluation 89
11. Statistischer Überblick 90
11.1. Datenbasis und Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
11.2. Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
11.3. Multilinguale Thesauri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
11.4. Verteilung von Termfrequenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
11.5. Verteilung von Knotengraden . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
11.6. Auswertung des Exports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Inhaltsverzeichnis v
12. Akkuratheit der Konzepte 102
12.1. Auswertung der Klassifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
12.2. Auswertung der Subsumtion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
12.3. Auswertung der Ähnlichkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
12.4. Auswertung der Verwandtheit . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
12.5. Auswertung der Termzuordnung . . . . . . . . . . . . . . . . . . . . . . . . . . 108
12.6. Auswertung der Glossen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
13. Analyse von Begriffsklärungsseiten 117
14. Verwandtheit und Disambiguierung 119
14.1. Semantische Verwandtheit zwischen Konzepten . . . . . . . . . . . . . . . . . . 119
14.2. Disambiguierung durch Maximierung der Kohärenz . . . . . . . . . . . . . . . . 125
14.3. Semantische Verwandtheit zwischen Termen . . . . . . . . . . . . . . . . . . . . 129
15. Zusammenfassung 131
15.1. Besonderheiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
15.2. Ergebnis und Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
V. Anhang 135
A. Wiki-Text 136
A.1. HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
A.2. Einfache Textformatierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
A.3. Wiki-Links und Bilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
A.4. Tabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
A.5. Vorlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
A.6. Magic Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
A.7. Parser-Functions und Extension-Tags . . . . . . . . . . . . . . . . . . . . . . . . 141
B. Kommandozeilenschnittstelle 142
B.1. Anwenderschnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
B.2. Parameter und Optionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
B.3. Aufruf der einzelnen Programme . . . . . . . . . . . . . . . . . . . . . . . . . . 144
B.4. Datenbank-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
B.5. Konfiguration (Tweaks) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
B.6. Ablaufsteuerung (Agenda) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
B.7. Anpassung an einzelne Wikis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
C. Datenbank 148
C.1. Datenbankstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
C.2. Datenbanktabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
C.3. Zugriffsschicht für die Datenabfrage . . . . . . . . . . . . . . . . . . . . . . . . 158
C.4. Zugriffsschicht für die Datenspeicherung und Verarbeitung . . . . . . . . . . . . 159
Inhaltsverzeichnis vi
D. Datenstrukturen 162
D.1. WikiPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
D.2. Transferobjekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
E. Algorithmen 165
E.1. Extraktion von Wiki-Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
E.2. Extraktion von Glossen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
E.3. Analyse von Begriffsklärungsseiten . . . . . . . . . . . . . . . . . . . . . . . . 169
E.4. Zusammenführen von sprachübergreifenden Konzepten . . . . . . . . . . . . . . 172
E.5. Algorithmus zum Entfernen von Zyklen . . . . . . . . . . . . . . . . . . . . . . 175
F. Daten 179
F.1. Wiki-Dumps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
F.2. Datenbank-Dumps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
F.3. RDF-Dumps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
F.4. Bewertungsdaten und Statistiken . . . . . . . . . . . . . . . . . . . . . . . . . . 183
F.5. Daten für Grafiken und Tabellen . . . . . . . . . . . . . . . . . . . . . . . . . . 187
G. Quellcode 188
G.1. WikiWord Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
G.2. Verwendete Bibliotheken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
G.3. Bündel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
G.4. Kompilieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
G.5. TeX-Quellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Literaturverzeichnis 194
VI. Rechtliches 206
Lizenz 207
Erklärung 213
Menon:
Und auf welche Weise willst du denn dasjenige suchen, Sokrates, wovon du
überhaupt gar nicht weißt, was es ist?
Denn als welches Besondere von allem, was du nicht weißt, willst du es dir
denn vorlegen und so suchen?
Oder wenn du es auch noch so gut träfest, wie willst du denn erkennen, daß
es dieses ist, was du nicht wußtest?
. . .
Sokrates:
Da die ganze Natur unter sich verwandt ist
und die Seele alles innegehabt hat:
so hindert nichts, daß, wer nur an ein einziges erinnert wird,
was bei den Menschen Lernen heißt,
alles übrige selbst auffinde, wenn er nur tapfer ist
und nicht ermüdet im Suchen.
Denn das Suchen und Lernen ist demnach ganz und gar Erinnerung.
— Platon1
1Platon: Menon; Übersetzung von Friedrich Schleiermacher
Teil I.
Einleitung
1. Grundlagen
Die automatische Verarbeitung von natürlichsprachlichen Texten hat in den letzten Jahren
an Bedeutung gewonnen: Aus der immer größer werdenden Flut von Texten erwächst die
Notwendigkeit, bessere Methoden zu entwickeln, um Texte automatisch zu erfassen, zu filtern,
zu suchen, zu indizieren und zusammenzufassen. Dabei hat sich gezeigt, dass neben geeigneten
Verfahren und ausreichender Speicher- und Verarbeitungskapazität auch maschinell verarbeitbares
Wissen von entscheidender Bedeutung für die Verarbeitung natürlicher Sprache ist
GABRILOVICH (2006), IDE UND VERONIS (1998). Solches Wissen reicht von formalen Ontologien, wie sie
in Expertensystemen und zur Wissensrepräsentation für Künstliche Intelligenz eingesetzt werden,
zu „weichem“, „flachem“ Sprachwissen, z. B. darüber, was ein Name ist, wo ein Satz endet oder
welche Wörter in welcher Sprache für welches Konzept stehen.
Der Nutzen, den so genanntes Weltwissen für Softwaresysteme hat, wird in der Knowledge as
Power Hypothesis von B. G. Buchanan zusammengefasst BUCHANAN UND FEIGENBAUM (1982):
The power of an intelligent program to perform its task well depends primarily on the
quantity and quality of knowledge it has about that task.
Und D.B. Lenat sagt über die Notwendigkeit zu generalisieren, also den Nutzen seiner
Begriffshierarchie LENAT UND FEIGENBAUM (1991):
To behave intelligently in unexpected situations, an agent must be capable of falling
back on increasingly general knowledge.
Weiter sagt Lenat, dass Programme ohne Wissen sehr anfällig (brittle) seien, und nur Aufgaben
bewältigen können, die vom Programmierer vollständig vorhergesehen wurden LENAT U. A. (1990).
Ziel der vorliegenden Diplomarbeit ist es nun, eine Sammlung solchen Wissens, nämlich einen
Thesaurus, automatisch aus dem Datenbestand der Wikipedia zu erzeugen. Die Wikipedia bietet
sich für diesen Zweck an, da sie einen großen, aktuellen und wohlstrukturierten Korpus darstellt,
der zudem frei und in einer Vielzahl von Sprachen verfügbar ist.
Die Idee ist, ein Softwaresystem (im Folgenden: WikiWord) zu entwerfen, das in der Lage ist,
Wissen über Bezeichnungen für und die Beziehungen zwischen Konzepten aus der Wikipedia zu
extrahieren. Dieses Wissen ist in der Struktur und den Inhalten der Wikipedia mehr oder weniger
explizit enthalten: Beziehungen werden durch spezielle syntaktische Konstrukte (Markup)
sowie Konventionen über den Aufbau und die Formatierung von Inhalten repräsentiert. Ziel dieser
Diplomarbeit ist es, Methoden zur Auswertung dieser Strukturen zu entwerfen und zu evaluieren,
insbesondere solche Methoden, die ohne eine Betrachtung von natürlicher Sprache, also
der eigentlichen textuellen Inhalte, auskommen. Ein Entwurf für ein Softwaresystem, das
solche Methoden umsetzt, ist in .II beschrieben, detaillierte Informationen über die konkrete
Implementation von WikiWord finden sich unter .III. Die Evaluation wird in .IV erläutert.