Sie sind auf Seite 1von 341

Vorlesungsskript

Information Retrieval
Dr. Thomas Gottron
Sommersemester 2010
Vorwort
Dieses Skript ist zum Vorlesungzyklus Information Retrieval am Institut fr Informatik
der Uni Mainz im Sommersemester 2009 und im Wintersemester 2009/10 entstanden. Die
Kapitel 1 bis 11 wurden dann im Rahmen der gleichen Veranstaltung im Sommersemester
2010 berarbeitet und geringfgig ergnzt.
Das Skript soll als Ergnzung zur Vorlesung dienen. Weitere Informationen, die Folien
zur Vorlesung sowie bunsgaufgaben nden sich unter der URL:
http://www.informatik.uni-mainz.de/lehre/ir
Die Inhaltliche Gliederung ist grob am Buch von Manning, Raghavan und Schtze
[MRS08] orientiert. Einige Beispiele und thematische Zusammenhnge habe ich aus den
Vortrgen der von der GI organisierten Herbstschule Information Retrieval 2008 ber-
nommen.
Bei Berechnung in Beispielen werden die Werte zwecks bersichtlicher Darstellung auf
einige wenige Nachkommastellen gekrzt. Beim Weiterrechnen mit den Werten wird in der
Regel aber auf die volle Genauigkeit zurckgegrien, so dass anscheinbar Ungenauigkeiten
bei Rundungen oder Gleichungen auftreten. Es wurde darauf verzichtet dies an jeder Stelle
durch die Verwendung des Zeichens statt eines = zu verdeutlichen.
Trotz aller Sorgfalt beim Zusammenstellen des Materials sind Fehler nicht auszuschlie-
en. Daher gibt der Autor keine Garantie fr die Richtigkeit und haftet nicht fr Schden,
die durch Nutzung des Materials entstehen knnten. Bei gefundenen Fehlern wre ich ber
eine Rckmeldung an gottron@uni-mainz.de dankbar.
Ein Dankeschn geht an Christoph Doell, Christine Hoppe, Thomas Weischuh und
Roland Zelosko fr das Aufspren und Berichten von Tippfehlern.
i
ii
Inhaltsverzeichnis
Vorwort i
Inhaltsverzeichnis iii
1 Was ist Information Retrieval? 1
1.1 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Information Retrieval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Daten, Wissen, Informationen . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Denitionen zu IR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Teilgebiete und Aufgaben im IR . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6 Angrenzende Gebiete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.7 Funktionsweise und Aufbau eines IR Systems . . . . . . . . . . . . . . . . 14
1.8 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 Boolsches Information Retrieval 19
2.1 Idee des boolschen IR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Theoretisches Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Invertierter Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4 Bigramm und Position Index . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.5 Schnelle Stringsuche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3 Dokumentvorverarbeitung und Anfrageerweiterung 43
3.1 Zugri auf die Dokumentinhalte . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2 Tokenisierung der Inhalte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3 Termlterung und -normalisierung . . . . . . . . . . . . . . . . . . . . . . . 48
3.4 Anfrageerweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4 Erweiterungen des Boolschen Modells 63
4.1 Zoneninformationen im Index . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2 Gewichtung mit einem Zonenindex . . . . . . . . . . . . . . . . . . . . . . 65
4.3 Zonen in HTML Dokumenten . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.4 Erweitertes Boolsches IR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
iii
Inhaltsverzeichnis
5 Das Vektorraum Modell 77
5.1 Idee des Vektorraum Modells . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.2 Theoretisches Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.3 Die klassische Variante: TF-IDF . . . . . . . . . . . . . . . . . . . . . . . . 80
5.4 Praktische Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.5 Varianten zur TF-IDF Gewichtung . . . . . . . . . . . . . . . . . . . . . . 88
5.6 Andere hnlichkeitsmae . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.7 Relevance Feedback nach Rocchio . . . . . . . . . . . . . . . . . . . . . . . 91
5.8 Optimierung: Bestimmung der ungefhren Top-K Dokumente . . . . . . . 96
5.9 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6 Evaluation 99
6.1 Das Craneld Paradigma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2 Test Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.3 Mae . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.4 Nutzerbezug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7 Probabilistisches Information Retrieval 115
7.1 Das Binary Independence Modell (BIM) . . . . . . . . . . . . . . . . . . . 115
7.2 Wahrscheinlichkeitsschtzungen . . . . . . . . . . . . . . . . . . . . . . . . 121
7.3 Okapi / BM25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.4 Praktische Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.5 Probabilistisches Relevance Feedback . . . . . . . . . . . . . . . . . . . . . 126
7.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
8 Websuchmaschinen 131
8.1 Das World Wide Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.2 Web Crawler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.3 Spam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
8.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
9 PageRank und HITS 145
9.1 Das Web als gerichteter Graph . . . . . . . . . . . . . . . . . . . . . . . . . 145
9.2 PageRank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
9.3 HITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
9.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10 Nutzerinteraktion 161
10.1 Modellierung des Suchvorgangs . . . . . . . . . . . . . . . . . . . . . . . . 161
10.2 Interaktionsformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
10.3 Ebenen der Untersttzung . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
10.4 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
iv
Inhaltsverzeichnis
10.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
11 Language Models 177
11.1 Einfhrung in Language Models . . . . . . . . . . . . . . . . . . . . . . . . 177
11.2 Einsatz von Language Models im IR . . . . . . . . . . . . . . . . . . . . . 180
11.3 Schtzen der Wahrscheinlichkeiten fr LM . . . . . . . . . . . . . . . . . . 182
11.4 Praktische Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
11.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
12 Cross Language Information Retrieval 191
12.1 Einsatzgebiete des CLIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
12.2 CLIR auf der Basis von direkten bersetzungen . . . . . . . . . . . . . . . 194
12.3 Language Models fr CLIR . . . . . . . . . . . . . . . . . . . . . . . . . . 197
12.4 Cross Language Explicit Semantic Analysis . . . . . . . . . . . . . . . . . . 201
12.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
13 Textklassikation 211
13.1 Einfhrung in die Textklassikation . . . . . . . . . . . . . . . . . . . . . . 211
13.2 Evaluation von Klassikation . . . . . . . . . . . . . . . . . . . . . . . . . 215
13.3 Regelbasierte Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
13.4 Naive Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
13.5 Der Rocchio Algorithmus zur Textklassikation . . . . . . . . . . . . . . . 245
13.6 K Nearest Neighbour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
13.7 Support Vector Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
13.8 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
14 Clusteranalyse auf Texten 279
14.1 Einfhrung in die Clusteranalyse . . . . . . . . . . . . . . . . . . . . . . . 279
14.2 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
14.3 Single-Pass Clusterverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 291
14.4 K-Means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
14.5 Agglomerative hierarchische Clusterverfahren . . . . . . . . . . . . . . . . . 304
14.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Abbildungsverzeichnis 311
Tabellenverzeichnis 317
Liste der Algorithmen 319
Literaturverzeichnis 321
Index 325
v
Inhaltsverzeichnis
vi
1 Was ist Information Retrieval?
In diesem Kapitel wollen wir uns zunchst mit dem Begri Information Retrieval (IR)
selbst beschftigen. Dazu fhren wir zu Beginn ein paar Beispiele an, wie und wo man im
(fast) alltglichen Leben mit IR Systemen in Berhrung kommen kann. Daraus lsst sich
auch naiv ableiten, um welche Probleme sich beim IR eigentlich alles dreht.
Nach dieser Einfhrung gehen wir den Begri selbst an. Zu diesem Zweck mssen wir
zunchst zwischen Daten, Informationen und Wissen unterscheiden. Danach werden De-
nitionen aus verschiedenen Literaturquellen vorgestellt. Diese dienen auch dazu, unsere
Interessen im Bereich des IR abzustecken. Wir betrachten anschlieend kurz einzelne Teil-
gebiete und Aufgaben aus dem Bereich des IR und stellen angrenzende Gebiete vor.
Gegen Ende des Kapitels knnen wir dann ein abstraktes theoretisches Modell zur Be-
schreibung der Aufgabe des IR entwickeln. Von der praktischen Seite her werden wir eine
erste, schematisch Darstellung eines IR Systems angeben knnen. Damit lassen sich auf
sehr allgemeiner Ebene die Bestandteile eines solchen Systems erklren, die wir in spteren
Kapiteln dann nher betrachten werden.
1.1 Beispiele
Information Retrieval war fr lange Zeit ein eher kleines Forschungs- und Anwendungs-
gebiet im Bereich der Bibliotheken, das hchstens noch in greren Firmen von Interesse
war. In Bibliotheken sind IR Systeme nach wie vor zu nden, beispielsweise im Katalogsys-
tem der Mainzer Universittsbibliothek (siehe Abb. 1.1). Firmensysteme knnen ebenfalls
ganz allgemein auf die Suche von Dokumenten ausgerichtet sein. Es gibt aber auch sehr
spezielle Anwendungen, z.B. zum Durchsuchen einer Sammlung von Patentschriften oder
Gerichtsurteilen.
Fr ein breites Publikum richtig interessant wurden IR Systeme dann in den 1990er Jah-
ren. Durch die Entwicklung und den rasanten Boom des World Wide Web stand pltzlich je-
der Web Nutzer vor einer gigantischen Sammlung von Webseiten und Online-Dokumenten.
Mit den Websuchmaschinen zogen IR Systeme dann immer mehr in den Alltag ein. Google
(siehe Abb. 1.2) drfte heutzutage fr viele Nutzer wohl fast schon der Standardeinstieg
ins World Wide Web sein.
Aber auch andere Anstze und Versuche, Ordnung in das Web zu bringen fallen unter
die Kategorie der IR Systeme. Beispielsweise Web-Directories (siehe Abb. 1.3), in denen
Websites in einem hierarchischen und thematisch gegliederten Katalog aufgefhrt werden.
Diese Kataloge werden oft hndisch gepegt und sind daher bezglich ihres Datenbestandes
selten so umfangreich wie eine Websuchmaschine.
1
1 Was ist Information Retrieval?
Abbildung 1.1: Die Online Schnittstelle zum Katalog der Universittsbibliothek Mainz.
Abbildung 1.2: Startseite zu Google IR Systeme sind alltglich geworden.
2
1.2 Information Retrieval
Abbildung 1.3: Startseite des Open Directory Projects DMOZ.
Neben diesen fast schon oensichtlichen IR Systemen haben sich aber auch viele an-
dere in den Alltag eingeschlichen. Desktopsuchmaschinen sind in den meisten modernen
Betriebssystemen zu nden. Anstatt die Position eines Dokumentes oder Bildes im Datei-
system zu kennen (oder hndisch danach zu suchen), kann der Nutzer ein Programm zum
Aunden seiner Daten verwenden (siehe Abbildung 1.4). Sogar auf Mobiltelefonen nden
sich gelegentlich schon Programme, die das Adressbuch, Dokumente, das Web oder eine
Mediensammlung durchsuchen.
1.2 Information Retrieval
Aus den einleitenden Beispielen erhlt man bereits einen ersten Eindruck, worum es im In-
formation Retrieval geht: die Versorgung von Nutzern mit Informationen. Das setzt selbst-
verstndlich voraus, dass der Nutzer ein Informationsbedrfnis hat und dieses auch befrie-
digen mchte (siehe Kasten Calvin Mooers auf Seite 5 zum Thema Mooers Law).
Nutzer knnen sehr unterschiedliche Informationsbedrfnisse haben. Einige Beispiele:
Bei welchem Stand ging der DAX am Freitag aus dem Handel?
Wie hat die Handballmannschaft meines Heimatortes gestern gespielt?
3
1 Was ist Information Retrieval?
Abbildung 1.4: Desktop Suche (Ubuntu Linux).
Welche theoretischen Modelle gibt es im IR?
Wie funktioniert Quicksort?
Wann und wo ndet die Vorlesung Information Retrieval statt?
Was kann ich gegen den stechenden Schmerz im Fu unternehmen?
Welche Schauspieler haben die besten Chancen den Oscar zu gewinnen?
Wie steht die breite Masse dem letzten Konjunkturpaket der Regierung gegenber?
Wir haben es im IR also mit Nutzern zu tun, die irgendwelche Informationen bentigen.
Es bleibt die Frage, wie ein Nutzer an diese Informationen gelangen kann. Es gibt durchaus
verschiedene Anstze nach Informationen zu suchen (information seeking) die nicht unbe-
dingt zum Einsatz von IR Systemen fhren. Wenn man sich die obigen Beispiele ansieht,
erkennt man recht schnell verschiedene Mglichkeiten zur Vorgehensweise. Es wird auer-
dem klar, dass die Anstze in den einzelnen Fllen sehr unterschiedliche Erfolgsaussichten
haben:
Experten befragen: Ein Nutzer kann schlichtweg jemanden fragen, der die bentigte In-
formation voraussichtlich hat (und zu teilen bereit ist). Der Begri Experte hat sich
in diesem Zusammenhang ganz allgemein fr jemanden eingebrgert, der ber die
bentigten Informationen verfgt. Ein Experte kann daher ein Spezialist auf einem
4
1.2 Information Retrieval
Calvin Mooers
Der Begri Information Retrieval wurde von Calvin Mooers eingefhrt. Mooers
gilt als einer der Pioniere der Informatik. Er entwickelte unter anderem ein mecha-
nisches System namens Zatocoding, das fr Bibliotheken gedacht war. Darin wurde
eine Art Karteikarten verwaltet, ber die auf andere Dokumente verwiesen wer-
den konnte. Die Karteikarten waren zustzlich durch Kerben markiert, welche den
Inhalt des referenzierten Dokumentes beschrieben. Diese Kerben lieen inhaltliche
Schlussfolgerungen zu, so dass das System zu einer Anfrage die inhaltlich relevanten
Dokumente (bzw. deren Karteikarten) heraussuchen konnte.
Mooers berichtete, dass er sich damit Bibliothekare zum Feind machte. In Biblio-
theken herrschte damals die Meinung, dass es fr solche Aufgaben ein denken-
des, menschliches Gehirn braucht. Eine Maschine knne so eine Aufgabe nicht l-
sen [Wei95].
Vielleicht auch wegen dieser Reaktion formuliert Mooers spter sein Gesetz
(Mooers Law [Aus01]), das viel bekannter wurde als das Zatocoding System:
An information retrieval system will tend not to be used whenever it is
more painful and troublesome for a customer to have information than
for him not to have it.
Auch wenn das Gesetz heute hug so interpretiert wird, dass man es dem Nutzer
eines IR Systems einfach machen soll, an die bentigten Informationen zu gelangen,
war die eigentliche Intention anders. Wenn eine Information oder Wissen fr einen
Nutzer mehr Nachteile als Vorteile bringt, so wird er ein System zum Aunden
dieser Information womglich gar nicht erst nutzen (Ignorance is a bliss).
Fachgebiet sein oder schlicht ein Passant, den man nach dem Weg fragt. Letzte-
res Beispiel weist aber auch darauf hin, dass bereits das Aunden eines Experten
durchaus eine Herausforderung (und Aufgabe des IR) sein kann.
Literaturrecherche: Der Nutzer schlgt die Information in geeigneter Literatur nach.
Das kann die lokale Tageszeitung, ein Fachbuch, ein Zeitschrift oder heutzutage
immer wichtiger eine Online-Ressource sein. Der Begri nachschlagen ist dabei
sehr allgemein zu verstehen. Der Nutzer knnte ein Fachbuch komplett von vorne
bis hinten durchlesen um an die bentigte Information zu gelangen. Ebenso kann er
Hilfsmittel wie ein Inhaltsverzeichnis oder einen Index verwenden. Auch ein gewisses
Vorwissen oder Fachkenntnisse knnen hilfreich sein, beispielsweise wenn bekannt ist,
auf welcher Seite der Zeitung die Sport- oder Wirtschaftsnachrichten zu nden sind.
Bibliotheksrecherche: Wenn der Nutzer nicht genau wei, wo die bentigte Information
zu nden ist, kann er in einem Katalog nach passender Literatur suchen. Kataloge
in Bibliotheken sind sehr unterschiedlich organisiert. Eintrge knnen nach Titel
5
1 Was ist Information Retrieval?
oder Autor sortiert sein. Auch Klassikationen nach Fachgebieten und Teilbereichen
sind hug anzutreen. In der PMC
1
wird beispielsweise die RVK (Regensburger
Verbundklassikation) eingesetzt. Bcher sind thematisch aufgestellt und innerhalb
eines Themas nach Autor sortiert. Der Online-Katalog erlaubt darber hinaus eine
Vielzahl zustzlich Suchmglichkeiten.
Websuche: Die Suche im Web unterscheidet sich von einer Bibliotheksrecherche in Hin-
sicht auf den Umfang des Datenbestandes, dessen Heterogenitt und Qualitt. Im
Web ist man mit einer Vielzahl an Formaten (sowohl technisch als auch inhaltlich)
konfrontiert. Die Dokumente werden auerdem meist automatisch erfasst und nicht
manuell kontrolliert. Auch deshalb ist die Urheberschaft, Qualitt und auch Aktuali-
tt einer Information im Web nicht immer nachvollziehbar sie kann sogar absicht-
lich verflscht oder verschleiert sein. Aus Sicht des IR ist vor allem auch das enorme
Datenaufkommen, dessen stetes Wachstum sowie die dezentral angelegte Organisati-
onsstruktur eine Herausforderung.
In allen Fllen geht es aus der Sicht des Informationssuchenden darum, hilfreich Infor-
mationen zu erhalten (obwohl das unter Bercksichtigung der Denition im kommenden
Abschnitt selbstverstndlich ist). Trotzdem ist Relevanz ein zentraler Begri im IR. Re-
levanz gibt an, ob und vielleicht sogar zu welchem Grad ein Dokumente zur Informati-
onssuche passt und zur Befriedigung des Informationsbedrfnisses eines Nutzers beitrgt.
Fuhr [Fuh06] listet (unter Berufung auf Fachliteratur) vier verschiedene Arten von Relevanz
auf:
Situative Relevanz: Sie drckt die tatschliche Ntzlichkeit eines Dokuments in einer kon-
kreten Situation aus, d.h. in wie weit liefert es eine konkrete Information. Allerdings
lsst sich die situative Relevanz nicht wirklich messen.
Subjektive Relevanz: Wie ntzlich empndet ein Nutzer ein Dokument. Dies kann sich
stark von der situativen Relevanz unterscheiden, beispielsweise, wenn ein Dokument
fr den Nutzer zu kompliziert oder in der falschen Sprache geschrieben ist, es zu viel
Vorwissen voraussetzt oder schlichtweg zu umfangreich ist.
Objektive Relevanz: Sie basiert auf dem Urteil von (mehreren) unabhngigen Nutzern
ber die Ntzlichkeit eines Dokumentes zu einem vorgegebenen Informationsbedrf-
nis. Diese Art der Relevanz wird hug zu Evaluationszwecken herangezogen.
Systemrelevanz: Der Relevanzwert, wie er in einem IR System berechnet wird. Dies ent-
spricht einem per Algorithmen bestimmten Ntzlichkeitswert als Beziehung zwischen
einer Anfrage und einem Dokument. Solche Werte werden fr die Aufnahme in eine
Ergebnisliste und zur Erstellung einer Rangliste (Ranking) verwendet. Es ist ledig-
lich eine Schtzung der Relevanz und wird auch mit RSV (Retrieval Status Value)
bezeichnet.
1
PMC: Fachbereichsbibliothek Physik, Mathematik und Chemie an der Uni Mainz.
6
1.3 Daten, Wissen, Informationen
Das grte Problem im IR ist die Vagheit der Sprache. Vagheit bedeutet hier, dass sich
nicht immer exakt und situationsunabhngig festmachen lsst, worum es geht. Texte und
Wrter bedrfen einer Interpretation, sie enthalten eine Semantik. Dies gilt sowohl auf der
Seite der Dokumente als auch bei der Formulierung der Anfragen. Die Vagheit kann sich
sehr unterschiedlich ausdrcken. Ein Wort kann mehrere Bedeutungen haben (modern,
Bank, etc.) andere Wrter beschreiben das gleiche oder hnliche Konzepte (Bildschirm,
Monitor, Screen, Display). Sprache erlaubt auerdem viele Feinheiten wie Ironie (Das
ist aber eine tolle Vorlesung!) oder ist extrem situationsabhngig (russische Qualitt bei
Wodka oder Autos).
Auch wenn im IR heute nicht mehr nur Textdokumente betrachtet werden, so bleibt das
Problem der Vagheit eigentlich in allen Anwendungen erhalten (beispielsweise bei einer
Suche nach Bildern).
1.3 Daten, Wissen, Informationen
Wir haben jetzt wiederholt von Informationen gesprochen. Es soll nun etwas nher darauf
eingegangen werden, was Informationen eigentlich sind. In diesem Zusammenhang werden
wir auch auf die Begrie Daten und Wissen eingehen, da diese zur Abgrenzung dienen und
somit das Verstndnis erleichtern. Wir werden dabei von den Daten ber Wissen hin zu
Informationen gehen. Gleich vorweg sei jedoch erwhnt, dass man je nach Quelle auch
unterschiedliche Auassung und Denitionen ndet. Insbesondere die Begrie Wissen und
Information werden gelegentlich genau anders herum gebraucht.
Daten sind Eintrge mit einer bekannten syntaktischen Struktur. Es ist also bekannt,
nach welchem Muster die Eintrge aufgebaut, d.h. durch Zeichen kodiert sind. Man
spricht auch davon, dass Daten eine fr die maschinelle Verarbeitung geeignete, ko-
dierte Darstellung von Informationen sind.
Beispiel: XML (trgt keine Semantik!!!), Stringformate, Zeichenkodierung
Wissen fgt den Daten eine Semantik hinzu. Das heit, es ist klar was hinter den Daten
steckt und was diese darstellen. Allgemeiner wird der Begri Wissen auch fr die
Gesamtheit aller Kenntnisse eines Fachgebietes verwendet also eine Art Fakten-
sammlung.
Beispiele: Buchtitel, Datum einer Reise, Standort eines Buches in der Bibliothek.
Information ergnzt nun den Aspekt der Pragmatik, es geht also um die Teilmenge des
Wissens, das zur Lsung einer ganz bestimmten Aufgabe ntig ist. Information ist
also gewissermaen der Teil des Wissen, mit dem sich eine ganz bestimmte Frage
beantworten lsst. Anders ausgedrckt sind Informationen nutzbares Wissen.
Beispiele: Wo ndet die Vorlesung statt, welches Buch empehlt sich, wann war ich
in Inverness?
7
1 Was ist Information Retrieval?
Nutzloses Wissen ?!?
Das Buch Schotts Sammelsurium von Ben Schott [Sch04] wird oft auch als Enzy-
klopdie des nutzlosen Wissens bezeichnet. Der Autor listet darin ein Vielzahl an
kuriosen Fakten, Geschichten und Begebenheiten auf. Dass die Inhalte als nutzlo-
ses Wissen angesehen werden, liegt sicherlich daran, dass Sie im Alltag wohl selten
praktische Anwendung nden drften. Aber auch das Buch selbst sorgt in gewis-
sem Mae dafr, dass das Wissen nutzlos bleibt: es gibt kein Inhaltsverzeichnis und
keinen Index. Die Eintrge stehen in scheinbar willkrlicher Reihenfolge im Buch.
Damit eignet sich das Buch zwar gut, um es nach Kuriosem zu durchstbern. Um
allerdings Informationen daraus zu ziehen ist es ziemlich ungeeignet: es fllt schwer
das zur Lsung einer Aufgabe bentigte Wissen darin zu nden.
1.4 Denitionen zu IR
In der Fachliteratur nden sich durchaus unterschiedliche Erklrungen dazu, was Informa-
tion Retrieval (IR) ist. So gibt Fuhr [Fuh06] im Skript zu seiner IR Vorlesung folgendes
an:
Will man den Gegenstand des Information Retrieval [...] mit wenigen Worten
beschreiben, so ist die Formulierung inhaltliche Suche in Texten wohl am
treendsten.
Fuhr sagt aber auch, dass diese Denition eigentlich nur dem klassischen IR gerecht
werde. Heutzutage sei IR wesentlich breiter angelegt und es umfasse auch die Suche nach
multimedialen Daten, beispielsweise Bildern. Er verweist weiterhin auch auf die Denition
der Fachgruppe IR [fI09] in der Gesellschaft fr Informatik. Diese beschreibt IR einleitend
folgendermaen:
Im Information Retrieval (IR) werden Informationssysteme in Bezug auf ihre
Rolle im Proze des Wissenstransfers vom menschlichen Wissensproduzenten
zum Informations-Nachfragenden betrachtet.
Diese Denition fhrt zustzlich auf, dass IR sich mit Informationssystemen beschftigt,
die einem Wissenstransfer dienen knnen. Wenn dies zunchst auch etwas schwammig
klingen mag (auch ein E-Mail Service kann als Informationssystem zum Wissenstransfer
aufgefasst werden), so ist der Transfer von Wissen doch eine zentrale Motivation fr den
Einsatz von IR Systemen.
Baeza-Yates und Ribeiro-Neto [BYRN99] versuchen eine etwas umfassendere und tech-
nischere Denition zu geben:
Information Retrieval [...] deals with the representation, storage, organization
of, and access to information items.
8
1.4 Denitionen zu IR
Es fllt auf, dass hier nicht mehr von Texten, sondern von Informationsobjekten die
Rede ist. Weiterhin wird die Aufgabe der inhaltliche Suche verallgemeinert zum Zugri
auf die Informationsobjekte. Und schlielich ist auch die Rede davon, dass sich IR mit der
Darstellung, Speicherung und Verwaltung der Informationsobjekte beschftigt.
Im Vorlesungskript von Henrich [Hen08] wird IR so erklrt:
Gegenstand des Information Retrieval ist die Suche nach Dokumenten. Tradi-
tionell handelt es sich dabei um Textdokumente. In neuerer Zeit kommt aber
verstrkt die Suche nach multimedialen Dokumenten (Bilder, Videos, Audios,
Hypertext-Dokumente) oder z.B. die Suche nach Experten und Arbeitsgruppen
mit einem bestimmten Kompetenzprol hinzu.
Darin kommt ein weiterer Aspekt hinzu: die Suche nach Experten ein Problem das
wir bereits eingangs angesprochen haben. Auerdem wird zwischen (klassischen) Textdo-
kumenten und Hypertext-Dokumenten unterschieden. Henrich weist auch darauf hin, dass
im IR meist keine auf Zeichenketten basierende Suche, sondern eine inhaltsbasiernde Suche
gemeint ist. Das heit, bedingt durch Vagheit in jeder Sprache, geht man weg von einer
exakten Anfrage und hin zu Abstraktion und semantikbezogene Anfragen (Gib mir was
ich will).
Eine letzte Denition aus dem Buch von Manning, Raghavan und Schtze [MRS08]:
Information retrieval (IR) is nding material (usually documents) of an un-
structured nature (usually text) that satises an information need from within
large collections (usually stored on computers).
Damit wird eine wichtige Gemeinsamkeit der gesuchten Objekte angesprochen: sie sind
unstruktriert. Auerdem wird wieder der Wissenstransfer angesprochen, und zwar in der
Form, dass ein Informationsbedrfnis zu befriedigen ist. Auch der letzte Punkt ist inter-
essant, nmlich dass man es mit umfangreichen Sammlungen von Daten zu tun hat, die in
der Regel auf Computern gespeichert sind.
Whrend der Einsatz von IT-Systemen fr uns in diesem Zusammenhang heutzutage
fast selbstverstndlich ist, so musste van Rsbergen in seinem Buch von 1979 [VR79] noch
ausdrcklich darauf hinweisen. Das liegt daran, dass der Begri IR damals wohl landlug
breiter aufgefasst wurde. So zhlte scheinbar auch die manuelle Suche in Bibliothekskata-
logen zum IR.
Ein weiterer Punkt auf den van Rsbergen eingeht ist, dass Information Retrieval eigent-
lich passender als Document Retrieval zu bezeichnen wre. Schlielich liefern IR Systeme
(in den meisten Fllen) Verweise auf Dokumente und liefern nicht eine gewnschte Infor-
mation selbst. Er zitiert dabei Lancaster [Lan67]:
An information retrieval system does not inform (i.e. change the knowledge of)
the user on the subject of his inquiry. It merely informs on the existence (or
non-existence) and whereabouts of documents relating to his request.
9
1 Was ist Information Retrieval?
In dem gleichen Buch ist weiterhin ein nette, tabellarische und viel zitierte Abgrenzung
zwischen Data Retrieval und Information Retrieval zu nden. Diese Abgrenzung soll in
diesem Rahmen nicht fehlen und wird in Tabelle 1.1 angegeben und erlutert.
Besonders interessant im Vergleich zu klassischen Datenbanken ist die Abgrenzung in
Bezug auf Matching und Items wanted, also die Frage nach der Bestimmung von
Treern und welche Ergebnisse man eigentlich mchte. Die Unterschiede werden wohl in
einem Beispiel am deutlichsten.
Daten vs. Information Retrieval
Betrachten wir eine relationale Datenbank und eine Websuchmaschine. Eine Anfrage
an die Datenbank formulieren wir ber SQL:
select * from PFLANZEN where GATTUNG = Obstbaum
Wir erwarten, dass die Ergebnismenge nur solche Eintrge aus der Tabelle PFLANZEN
enthlt, die im Feld GATTUNG den Eintrag Obstbaum haben. Wir wollen also, dass
Ergebnisse und Suchanfragen exakt zu einander passen. Noch anschaulicher wird diese
oensichtliche Tatsache, wenn man an eine Abfrage in einem universitren Prfungs-
verwaltungssystem ber die Matrikelnummer oder hnliche Primrschlssel denkt.
Der Nutzer erwartet von einer Datenbank also, dass nur exakte Treer gefunden
werden. Entsprechend prft die Datenbank auch nur auf exakte Gleichheit. Wenn
sich der Nutzer bei der Anfrage vertippt (z.B. Ibstbaum), dann erhlt er keine oder
falsche Treer.
Bei einer Websuche hingegen, knnte man erwarten, dass auch solche Dokumente
gefunden werden, die obstbaum (klein geschrieben) oder Obstbume (Plural)
enthalten. Inzwischen sind Suchmaschinen sogar so weit, dass sie Ergebnisse liefern,
in denen der Suchbegri selbst gar nicht auftritt. So wre es durchaus denkbar, dass in
der Ergebnisliste Dokumente auftauchen, die den Begri Fruchtbaum oder Apfel-
baum enthalten. Bei einer Suche nach Ibstbaum ist man ebenfalls daran gewhnt,
dass das System den Nutzer auf mgliche Tippfehler hinweist und sogar Korrektur-
vorschlge macht.
Alle in diesem Abschnitt vorgestellten Denitionen treen in gewissem Sinne zu und ge-
hen auf unterschiedliche Aspekte und Schwerpunkte im Bereich des IR ein. Fr uns knnen
wir an dieser Stelle vielleicht ganz allgemein sagen, dass wir uns im IR fr Informations-
systeme interessieren, die einen Nutzer beim information seeking untersttzen.
1.5 Teilgebiete und Aufgaben im IR
Aus den Denitionen klang es schon heraus: IR hat sich seit seinen Anfngen sehr stark
entwickelt und umfasst verschiedene Teilgebiete und speziellen Teilaufgaben. Zunchst lis-
10
1.5 Teilgebiete und Aufgaben im IR
Tabelle 1.1: Abgrenzung zwischen Data Retrieval und Information Retrieval nach van Ri-
jsbergen [VR79]
Data Retrieval Information Retrieval Erluterung
Matching Exact match Partial or best match Exakter String in Do-
kument vs. passend
zur Anfrage
Inference Deduction Induction Klare mathematische
Regeln vs. Beobach-
tungen und Erfahrun-
gen auf den Dokumen-
ten
Model Deterministic Probabilistic Boolsche / Relationale
Algebra vs. Bayessche
Wahrscheinlichkeit
a
Classication Monothetic Polythetic Attribute der Objek-
te sind hinreichend
und notwendig fr ei-
ne exakte Klassikati-
on vs. Ungenaue Ab-
grenzung, nicht alle
Objekte haben alle
Attribute
Query Language Articial Natural SQL vs. Freitextsuche
Query specication Complete Incomplete Formale Sprache vs.
natrliche oene Spra-
che
Items wanted Matching Relevant Passende Objekte vs.
relevante Objekte
Error response Sensitive Insensitive Fehlerhafte Abfrage
(nicht syntaktisch)
fhrt zu keinen Er-
gebnissen vs. kleine
Abweichungen fh-
ren nicht zu groen
Performanzeinbuen.
a
Die Idee des probabilistischen IR war 1979 noch recht neu. Es stellt jedoch nicht das einzige theoretische
IR Modell dar.
11
1 Was ist Information Retrieval?
ten wir einzelne Teilgebiete auf, danach werden wir nher auf Aufgaben im IR eingehen.
Jede der Aufgaben kann dabei zumindest zu einem gewissen Grad in jedem der Teilgebiet
anfallen.
Text IR: Der klassische Einsatz des IR. Die Informationssuche luft in einer Sammlung
von Textdokumenten ab. Die Form und Art der Dokumente variiert sehr stark. Von
Bibliotheksbchern, wissenschaftliche Arbeiten oder Notizen ber Nachrichten (Mail,
SMS) zu Patentschriften oder Gerichtsurteilen ist fast alles denkbar. Nicht zuletzt
durch diesen historischen Hintergrund wird im IR auch heute noch allgemein von
Dokumenten gesprochen, selbst wenn Bilder, Filme oder Musik betrachtet werden.
Aber auch Textdokumente knnen in moderneren Anwendungen vielfltiger sein sie
enthalten Abbildungen, Tabellen oder andere Element, die nicht einem klassischen
Text entsprechen.
Hypertext IR, IR im Web: Obwohl eigentlich ein Spezialfall des Text IR muss Hyper-
text IR heutzutage gesondert erwhnt werden. Das liegt schlichtweg daran, dass das
WWW eines der Hauptanwendungsgebiete fr IR ist. Websuchmaschinen haben sich
zu enorm groen und komplexen IR Systemen entwickelt. Die Hypertext Idee hinge-
gen ist brigens deutlich lter. Sie wird allgemein Vannevar Bush [Bus45] zugeschrie-
ben. Deshalb und da es Querverweise zwischen Texten auch in anderen Formen gibt,
sind einige der im Web eingesetzten Techniken durchaus auch allgemeiner anwendbar
oder haben ihren Ursprung in anderen Teilgebieten des IR.
Question Answering (QA): Im letzten Abschnitt hatten wir bereits van Rsbergens [VR79]
Anmerkung erwhnt, dass IR eigentlich eher Document Retrieval heien msste. Das
trit auf das Teilgebiet des Question Answering nicht zu. Hier wird tatschlich ver-
sucht, nicht nur interessante Dokumente zur Befriedigung eines Informationsbedrf-
nisses zu nden, sondern daraus direkt die gewnschte Information zu extrahieren.
Auf eine Anfrage wie Welcher Dozent liest dieses Semester die Vorlesung TGI? wr-
de ein solches QA System nicht mit einer Liste von Dokumentreferenzen antworten,
sondern im Idealfall direkt den Namen des Dozenten ausspucken.
Multimedia IR: Die zunehmende Digitalisierung von Medien fhrt dazu, dass immer hu-
ger auch in Bild-, Audio- oder Videoarchiven gesucht werden muss. Sogar auf Ani-
mationen oder Bewegungsablufen wird IR betrieben. Die Suche in solchen Daten
lsst sich sicherlich am einfachsten ber beschreibende Texte realisieren (Metainfor-
mationen). Wirklich spannend wird es dann, wenn inhaltlich in den Bildern oder
Musikdateien gesucht wird. Das lst eine ganze Menge von Problemen aus, nicht
zuletzt jenes, wie Anfragen formuliert werden.
Expertensuche: Wir hatten die Suche nach Experten zu einem bestimmten Thema bereits
eingangs angesprochen. Diese Suche ist ebenfalls ein Teilgebiet des IR. Hier geht es
um die Frage, wen man zu bestimmten Themen fragen knnte, um an Informationen
zu gelangen.
12
1.5 Teilgebiete und Aufgaben im IR
In jedem dieser Teilgebiete stehen fast immer die gleichen Aufgaben und Fragestellungen
an:
Ad Hoc Anfragen: Die klassische Aufgabe im IR. In einer festen Menge von Dokumenten
sollen zu einer gegebenen Anfrage die relevanten Dokumente gefunden werden.
Routing: Hier bleibt die Anfrage x und es werden neue Dokumente untersucht. Aus diesen
Dokumenten (z.B. ein Strom von eingehenden Nachrichten) sollen die zur Anfrage
relevanten herausgescht werden. Ein Ranking ist hier selten von Interesse, es geht
vielmehr um Ja/Nein Entscheidungen.
Cluster Analyse: Beim Clustern oder Gruppieren von Dokumenten ist die Frage, welche
sich inhaltlich hnlich sind und wo Grenzen gezogen werden knnen.
Klassikation: ist dem Clustern hnlich, es werden jedoch feste Kategorien vorgegeben,
in welche die Dokumente einzugliedern sind.
Cross Language IR (CLIR): Information Retrieval ber Sprachgrenzen hinweg. Beispiels-
weise durch die bersetzung von Anfragen und oder Dokumenten in verschiedenen
Sprachen.
Evaluation: die Evaluation von IR Systemen ist eine wichtige Aufgabe insbesondere beim
Vergleich verschiedener Verfahren, theoretischer Modelle oder bei der Optimierung
von Parametereinstellungen.
Nutzerinteraktion: welche Mglichkeiten sind dem Nutzer zur Interaktion gegeben. Wie
interpretiert das System seine Anfragen, wie sehen diese aus. Neben einer Stichwort-
suche im Freitextformat kann ein System spezielle Anfrageformen mit Trunkierung
oder der Angabe von Bedingungen erlauben (beispielsweise dass die Suchterme nahe
bei einander stehen). Andere Suchmglichkeiten umfassen Query by Example oder
eine explorative Suche.
Peer-2-Peer Systeme: Systeme, die als Peer-2-Peer Netzwerke aufgesetzt werden stellen
keine eigentlich Aufgabe dar. Dennoch werfen sie ein Vielzahl an Fragen auf, was
ihre Umsetzung angeht. Wie werden Dokumente und Indizes an die einzelnen Peers
verteilt, wie werden Anfragen ezient und schnell ausgefhrt und die Ergebnislisten
zusammengestellt.
Duplikaterkennung, Plagiaterkennung: Die Erkennung von Duplikaten, bzw. Nahezu-
oder Fast-Duplikaten sowie das Aunden von Plagiaten gehren heutzutage ebenfalls
zum Aufgabengebiet des IR.
Spam: Websuchmaschinen aber auch die alltglichen E-Mail-Clients haben mit trgeri-
schen oder unerwnschten Dokumenten zu kmpfen. Spam ist ebenfalls ein groes
Thema im IR, da es sich um irrelevante Dokumente handelt, die Relevanz vortu-
schen.
13
1 Was ist Information Retrieval?
1.6 Angrenzende Gebiete
IR grenzt an eine Zahl anderer Forschungsgebiete an, die nicht nur im Bereich der Informa-
tik liegen. Dazu gehren die Linguistik, Bibliothekswissensschaften oder die Psychologie.
Innerhalb der Informatik gibt es berschneidungen mit dem Bereich der Datenbanksyste-
me, der knstlichen Intelligenz, der natrlichen Sprachverarbeitung (NLP Natural Lan-
guage Processing), des Data Mining, des maschinellen Lernens, der Visualisierung und dem
Design von Nutzerinterfaces.
1.7 Funktionsweise und Aufbau eines IR Systems
Im weiteren Verlauf werden wir uns zunchst hauptschlich mit klassischen IR Systemen
beschftigen. Das bedeutet, das System arbeitet auf einer Sammlung von Textdokumenten
und liefert einem Nutzer zu einer Ad Hoc Anfrage die relevanten Dokumente.
Um nun ein abtraktes theoretisches Rahmenmodell fr Information Retrieval zu ent-
wickeln machen wir zwei Annahmen bezglich der Relevanz eines Dokumentes zu einer
Anfrage. Zum einen gehen wir davon aus, dass die Relevanz eines Dokuments bezglich
einer Anfrage unabhngig von anderen Dokumenten ist. Dass fhrt dazu, dass wir bei der
Beurteilung von Relevanz uns einzig und allein auf die Anfrage und ein Dokument be-
schrnken knnen, ohne andere Dokumente betrachten zu mssen. Die zweite Annahme
bezieht sich darauf, dass es keine feingradige Abstufung von Relevanz gibt. Stattdessen ist
ein Dokument zu einer Anfrage entweder relevant oder es ist nicht relevant.
Diese Annahmen fhren dazu, dass man alle Prchen aus Anfrage und Dokument in
zwei disjunkte Teilmengen aufteilen kann: jene, bei denen Relevanz vorliegt und jene bei
denen das nicht der Fall ist. Bezeichnen wir mit Q die Menge der Anfragen und mit D die
Menge der Dokumente, so knnen wir also formal jedem Tupel (d, q) DQ einen Wert
R zuweisen, falls Relevanz vorliegt, und einen Wert R, falls das d nicht zu q relevant ist.
Somit luft Information Retrieval auf eine Abbildung der Paare (d, q) nach 1 = R, R
hinaus.
Dieser Zusammenhang ist in Abbildung 1.5 auf der linken Seite zu erkennen. Ein IR
System kann diese Abbildung jedoch nicht direkt modellieren und umsetzen. Das liegt
zum einen an den bereits angesprochenen unterschiedlichen Formen der Relevanz aus Nut-
zersicht, zum anderen an der Vagheit der Sprache, einem Mangel an Verstndnis der Do-
kumentinhalte und der schwierigen Erfassung des exakten Informationsbedrfnisses eines
Nutzers. Der rechte Teil in Abbildung 1.5 modelliert daher gewissermaen den erzwungenen
Umweg, den ein IR System gehen muss, um diese Abbildung anzunhern.
Hier ist zunchst anzumerken, dass IR Systeme nicht mit den Dokumenten und Anfragen
selbst arbeiten, sondern lediglich mit Darstellungen D
r
der Dokumente und Q
r
der Anfra-
gen. So knnen Dokumente als Texte oder Mengen von Wrtern dargestellt werden und
Anfragen beispielsweise als logische Ausdrcke oder gewichtete Suchbegrie. Die berfh-
rung der Anfragen in ihre Darstellungsform wird dabei ber eine Funktion
Q
modelliert,
gleiches gilt fr die Dokumente und
D
.
14
1.7 Funktionsweise und Aufbau eines IR Systems
Q
yys
s
s
s
s
s
s

Q
//
Q
r

Q
//
Q
d
%%
L
L
L
L
L
L
L
1

//
'
D
ffL
L
L
L
L
L
L

D
//
D
r

D
//
D
d
88
r
r
r
r
r
r
r
Abbildung 1.5: Abstraktes Modell der Funktionsweise eines IR Systems [Fuh06].
Eng verbunden mit der (theoretischen) Darstellung der Dokumente und Anfragen sind
deren Beschreibung im IR System. Diese werden in Abbildung 1.5 mit Q
d
und D
d
be-
zeichnet und ber Funktionen
Q
und
D
aus den Darstellungen abgeleitet. Diese zweite
Abstraktionsschritt erlaubt einen zustzliche Felixiblitt des Rahmenmodells, insebsonde-
re bezglich einiger technischer Feinheiten. So kann in den -Funktionen beispielsweise
enthalten sein, dass Pluralformen oder Flexionen von Verben jeweils auf eine Grundform
reduziert oder einige Wrter komplett in der Beschreibung ignoriert werden. Diese Aus-
prgungen in der Beschreibung von Dokumenten und Anfragen sind von der jeweiligen
Darstellungen unabhngig werden daher getrennt modelliert.
Weiterhin dienen die Objektbeschreibungen als Basis fr eine Retrievalfunktion , die
letztendlich die Systemrelevanz (d, q) ' fr ein Tupel aus Anfrage und Dokument be-
rechnet. In der Berechnung von auf der Basis der Beschreibungen von Anfragen und
Dokumenten, sowie der dahinterliegenden Darstellung stecken die Unterschiede verschie-
dener theoretischer IR Modelle, wie wir sie in den nchsten Kapiteln kennen lernen werden.
Die hier eingefhrt Unterscheidung zwischen D, D
r
und D
d
, bzw. zwischen Q, Q
r
und
Q
d
tritt also in jedem IR System auf. Wir werden allerdings selten explizit die jeweili-
gen Bezeichner verwenden, da es in der Regel klar ist, wann von den Dokumente, ihrer
Darstellung oder der zugehrigen Beschreibung im IR System die Rede ist.
Betrachtet man IR Systeme eher technischen und architektonischen Gesichtspunkten,
so lassen sich die meisten Systeme durch ein einfaches Schema dargestellen und erklren,
wie in Abbildung 1.6 zu sehen ist. Dieses Schema ist zugegebenermaen sehr grob.
Dennoch verdeutlicht es die wichtigsten Komponenten und Aufgaben innerhalb eines IR
Systems. Es beinhaltet implizit die eben angesprochenen Funktionen
Q
,
D
,
Q
,
D
und
des theoretischen Modells, aber auch andere Aspekte, die fr die Performanz eines IR
Systems ausschlaggebend sind.
Die wichtigsten Schnittstellen zu seiner Umwelt hat ein IR System zu den Nutzern und
der zu verwaltenden Dokumentsammlung. Zu letzterer zum Zeitpunkt der Indizierung, zu
den erstgenannten whrend der Beantwortung von Informationsanfragen. Diese Interaktion
schlgt sich in den Interna des Systems in der Dokumentverarbeitung und der Annahme
von Anfragen und eventuellem Nutzer-Feedback nieder.
Dokumentenverarbeitung: Ein IR System muss die Dokumente mit denen es umgehen
soll zunchst verarbeiten. Dieser Schritt kann bei einem festen, unvernderlichen
15
1 Was ist Information Retrieval?
Abbildung 1.6: Schematischer Aufbau eines IR Systems.
Korpus (so nennt man die Dokumentsammlung) eventuell nur einmal anfallen. n-
dert sich Datenbasis in irgendeiner Form (Dokumentmenge ndert sich: es kommen
Dokumente hinzu oder fallen weg, bzw. Dokumentinhalte ndern sich: in den Do-
kumenten selbst treten Vernderungen auf), so muss dieser Schritt regelmig oder
stndig durchgefhrt werden.
Zur Vorverarbeitung gehrt das Erkennen des Formates (Text, HTML, Word, PDF;
etc.) die Extraktion und Normalisierung der Inhalte, mglicherweise eine Spracher-
kennung und noch einiges mehr. Hier sind auch die Umwandlung eines Dokumentes
ber
D
und
D
in eine Beschreibung des Dokumentes anzusiedeln.
Dokumentbeschreibung: Sobald die Dokumente verarbeitet sind, mssen die daraus ge-
wonnenen Daten und Erkenntnisse irgendwie intern gespeichert werden. Wie diese
Beschreibung aussieht und welche Informationen ber die Dokumente gespeichert
werden hngt auch vom Typ des IR Systems und den eingesetzten Modellen ab.
Entscheidend ist auch die Frage, in welchem Umfang Daten ber die Dokumente
gespeichert werden. Handelt es sich nur um geeignete Schlagwrter, den Titel, die
Autoren, eine inhaltliche Zusammenfassung oder eine Indizierung des Volltextes?
Anfragen: Stellt ein Nutzer nun eine Anfrage, so muss diese ebenfalls verarbeitet werden.
Auch hier kann eine Vielzahl von Operationen angewendet werden, welche den oben
angesprochenen Funktionen
Q
und
Q
entsprechen. Allgemein knnte man jedoch
sagen, dass die Anfrage in eine Form gebracht werden muss, in der sie mit den
Dokumenten verglichen werden kann.
16
1.8 Zusammenfassung
Matching und Ergebnislisten: Neben der Darstellung und Beschreibung drfte das Be-
rechnen eines Matchings der Kern der meisten IR Modelle sein, d.h. welche Dokumen-
te passen zu einer Anfrage. Dieses Zueinander Passen entspricht der errechneten
Systemrelevanz und wurde oben formal als Funktion dargestellt. ber den Relevan-
zwert kann nun die Ergebnisliste aufgebaut und dem Nutzer als Ergebnis prsentiert
werden.
Feedback: Einige Systeme erlauben es den Nutzern zu den Ergebnissen ein Feedback
abzugeben. Dieses Feedback wird dann genutzt, um die Ergebnisse in einem nchsten
Schritt zu verfeinern oder zu verbessern.
1.8 Zusammenfassung
Wir haben in diesem Kapitel einen ersten Einblick in IR, dessen Aufgaben, Teilgebiete
und die Struktur eines IR Systems gewonnen. Es wurden verschiedene Denitionen und
insbesondere eine Abgrenzung zu Data Retrieval gegeben. Auch wurden schon einige der
Schwierigkeiten und Herausforderungen angesprochen, auf die in den nchsten Kapiteln
nher eingegangen wird.
17
1 Was ist Information Retrieval?
18
2 Boolsches Information Retrieval
Unter boolschem IR versteht man den Ansatz, Dokumente lediglich nach dem Vorkom-
men oder dem Fehlen von Stichwrtern zu durchsuchen. Auch heute noch basieren vielen
Suchsysteme auf diesem ltesten Modell des IR.
Wir werden in diesem Kapitel zunchst die Idee des boolschen IR etwas nher beschrei-
ben und dazu ein theoretisches Modell entwickeln. Dieses Modell gibt vor, wie Dokumente
aufgefasst und dargestellt werden, wie Abfragen aussehen knnen und wie das Matching
zwischen Dokumenten und Abfragen berechnet wird. Im Zusammenhang einer praktischen
Umsetzung werden wir dann auf die wichtige Datenstruktur des invertierten Index einge-
hen. Diese Datenstruktur stellt nicht nur fr boolsche IR Systeme die Basis dar. Anschlie-
end klren wir die Frage der Querybearbeitung und das Erzeugen einer Ergebnisliste
mit Hilfe des invertierten Index. Damit lsst sich dann ein erstes (einfaches) IR System
umsetzen.
Danach werden Verbesserungen dieses einfachen invertierten Index angesprochen mit
denen auch Suchen nach lngeren Ausdrcken realisiert werden knnen. Am Ende des
Kapitels wird noch auf Mglichkeiten der schnellen Stringsuche in Texten eingegangen.
Es wird aber auch deutlich gemacht, weshalb eine naive Stringsuche nicht wirklich eine
Alternative zu den Techniken in IR Systemen darstellt.
2.1 Idee des boolschen IR
Die Idee hinter boolschem IR ist ein recht intuitiver Ansatz und entspricht einer Art Voll-
textsuche in den Dokumentbeschreibungen
1
. Das heit, der Nutzer kann nach Wrtern
suchen und enthlt als Ergebnis die Menge der Dokumente, welche die Suchbegrie ent-
halten. Der boolsche Anteil in dieser Art der Suche liegt vereinfacht gesagt darin, dass
einerseits ein Dokument zu einer Suchanfrage entweder passend oder nicht passend ist und
andererseits, dass die Suchbegrie durch logische Operatoren kombiniert werden knnen.
Dadurch erhalten die Anfragen eine bestimmte Struktur. Das Verhalten auf einfachen
Anfragen mit nur einem Suchbegri ist klar: es sollen alle Dokumente gefunden werden,
die diesen Begri enthalten. Sobald mehrere Wrter in der Suchanfrage auftauchen muss
unterschieden werden:
1
Im weiteren Verlauf werden wir immer nur von Dokumenten sprechen, wir hatten aber bereits im letzten
Kapitel gesehen, dass die interne Dokumentendarstellung in einem IR System nicht zwangsweise das
komplette Dokument, also den Volltext enthlt.
19
2 Boolsches Information Retrieval
Sind die Wrter durch ein Schlsselwort fr das logische und verknpft, so ms-
sen alle Wrter in einem Dokument enthalten sein, damit es in die Ergebnismenge
aufgenommen wird.
Sind die Wrter durch ein Schlsselwort fr das logische oder verknpft, so gengt
bereits das Vorhandensein eines Wortes fr die Aufnahme in die Ergebnismenge.
Sind die Wrter nur durch Leerzeichen getrennt, so wird der komplette Ausdruck in
genau dieser Form gesucht. Solche Anfragen gehen eigentlich schon ber die einfachste
Umsetzung des Basismodells des boolschen IR hinaus. Wir werden gegen Ende des
Kapitels darauf eingehen, wie man damit umgehen kann.
Auer den logischen Verknpfungen und und oder erlauben boolsche IR Systeme auch
noch den Einsatz der Negation nicht. Hierbei handelt es sich um einen unren Operator,
der sich im Gegensatz zu und und oder nur auf ein Schlsselwort bezieht. Die Implikation
fr die Anfrage ist klar: der entsprechende Begri darf in den gesuchten Dokumente nicht
auftreten.
Dokumente und Anfragen im Boolschen IR
Betrachten wir eine einfache Sammlung von fnf Dokumenten:
1. Information Retrieval befriedigt Informationsbedrfnisse
2. Information und Daten Retrieval unterscheiden sich
3. Document Retrieval ist ein anderer Begri
4. Information ist nutzbares Wissen
5. Daten und Wissen unterscheiden sich
Diese Dokumente stecken wir nun in ein boolsches IR System, das die logischen
Operatoren schlicht durch die Zeichenketten und, oder und nicht abbildet. Nun
betrachten wir unterschiedliche Anfragen und deren Ergebnismengen:
Information: Liefert die Dokumente 1, 2 und 4. Weder in 3 noch 5 ist der
Suchbegri enthalten.
Information und Retrieval: Liefert die Dokumente 1 und 2, welche beide
Suchbegrie enthalten.
Information oder Retrieval: Liefert die Dokumente 1, 2, 3 und 4, die jeweils
mindestens einen der Begrie enthalten.
nicht Information: Liefert die Dokumente 3 und 5, in denen das Wort
Information eben nicht auftritt.
20
2.2 Theoretisches Modell
Information Retrieval: Liefert nur Dokument 1, da es als einziges genau diese
Zeichenkette enthlt.
Auch komplexere Ausdrcke sind mglich: (Information und Retrieval) oder
(Document und Retrieval) liefert die Dokumente 1, 2 und 3. Die Klammerung
soll hier deutlich machen, in welcher Reihenfolge die Operatoren anzuwenden
sind.
Boolsche IR System ordnen die Ergebnisdokumente nach keiner besonderen Reihenfolge
an: entweder ein Dokument ist in der Ergebnismenge enthalten, oder es ist eben nicht
enthalten. Wird ein Dokument vor einem anderen in der Ergebnisliste genannt so hat das
keinerlei Aussagekraft bezglich der Relevanz oder einem besseren Passen zur Anfrage.
2.2 Theoretisches Modell
Nachdem die Idee des boolschen Retrieval klar sein sollte, knnen wir ein formales Modell
aufstellen, welches die Funktionsweise erklrt.
Dazu gehen wir zunchst davon aus, dass wir es mit einer Sammlung von N Dokumenten
zu tun haben. Das gesamte Korpus werden wir mit D bezeichnen. Die Beschreibung der
einzelnen, darin enthaltenen Dokumente also ihre Reprsentation im IR System werden
mit d
i
durchnummeriert. Es gilt also:
D = d
1
, d
2
, d
3
, . . . , d
N

Weiterhin ist fr uns interessant, welche Terme


2
in diesen Dokumenten auftreten. Die
Menge der auftretenden Terme nennt man Vokabular und wird mit V bezeichnet. Gehen
wir davon aus, dass insgesamt M verschieden Terme in D auftreten, dann knnen wir diese
ebenfalls schlichtweg durchnummerieren und als t
j
bezeichnen. Damit gilt also fr V :
V = t
1
, t
2
, t
3
, . . . , t
M

Schaut man sich die Idee des boolschen IR an, so merkt man, dass es lediglich darauf
ankommt, welche Terme in einem Dokument enthalten sind und welche nicht. Die Darstel-
lung der Dokumente beruth also auf einer Menge von Termen. Die Hugkeit der Terme,
also die Anzahl der Vorkommnisse in einem Dokument, ist nicht von Interesse. Da selbst
die Reihenfolge
3
keine Rolle spielt werden die Dokumente als boolsche Vektoren ber den
mglichen Termen beschrieben. Es gilt also:
2
Fr den Moment knnen wir Terme einfach als Wrter im Text auassen. Die genauen Unterschiede
werden wir in Kapitel 3 erlutern.
3
Bei der Suche nach nur durch Leerzeichen getrennten Wrtern spielt die Reihenfolge natrlich ein Rolle
wie in unserem Beispiel zur Suche nach Information Retrieval. Aber wie gesagt, dazu kommen wir
spter.
21
2 Boolsches Information Retrieval
d
i
0, 1
M
Die Reprsentation eines einzelnen Dokuments d
i
sieht wie folgt aus:
d
i
=
_

[1]
i
,
[2]
i
,
[3]
i
, . . . ,
[M]
i
_
wobei

[j]
i
=
_
_
_
1 falls Term j in Dokument i enthalten ist
0 sonst
Diese Darstellung der einzelnen Dokumente kann man auch zu einer Matrix zusammen-
fassen. Diese M N Matrix C wird als Term-Dokument Matrix bezeichnet und besteht
schlichtweg aus den Dokumenten als Spaltenvektoren:
C =
_
d
T
1
, d
T
2
, d
T
3
, . . . , d
T
N
_
Dokumentdarstellung und Term-Dokument Matrix
Betrachten wir wieder den gleichen Beispielkorpus wie oben, bestehend aus fnf ein-
fachen Dokumenten. Die Menge D besteht also aus D = d
1
, d
2
, d
3
, d
4
, d
5
. Das Vo-
kabular V enthlt folgende 15 Terme:
t
1
= anderer t
6
= ein t
11
= Retrieval
t
2
= befriedigt t
7
= Information t
12
= sich
t
3
= Begri t
8
= Informationsbedrfnis t
13
= und
t
4
= Daten t
9
= ist t
14
= unterscheiden
t
5
= Document t
10
= nutzbares t
15
= Wissen
Jede Dokumentdarstellung besteht also aus einem Tupel mit 15 Eintrgen. Dokument
d
3
mit dem Inhalt Document Retrieval ist ein anderer Begri sieht daher so aus:
d
3
= (1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0)
Und die gesamte Term-Dokument Matrix C stellt sich folgendermaen dar:
22
2.2 Theoretisches Modell
C =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
d
1
d
2
d
3
d
4
d
5
anderer t
1
0 0 1 0 0
befriedigt t
2
1 0 0 0 0
Begri t
3
0 0 1 0 0
Daten t
4
0 1 0 0 1
Document t
5
0 0 1 0 0
ein t
6
0 0 1 0 0
Information t
7
1 1 0 1 0
Informationsbedrfnis t
8
1 0 0 0 0
ist t
9
0 0 1 1 0
nutzbares t
10
0 0 0 1 0
Retrieval t
11
1 1 1 0 0
sich t
12
0 1 0 0 1
und t
13
0 1 0 0 1
unterscheiden t
14
0 1 0 0 1
Wissen t
15
0 0 0 1 1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Auch die Abfragen lassen sich ber den Termen des Vokabulars denieren. Wir gehen bei
der Denition der Abfragen rekursiv vor dadurch lassen sich die mglichen Kombinationen
der logischen Ausdrcke am besten modellieren.
Wir bezeichnen die Menge aller mglichen (gltigen) Abfragen als Q. Rekursiv kon-
struieren wir nun die Elemente dieser Menge. Zunchst einmal sind darin alle Abfragen
enthalten, die aus genau einem Term bestehen.
t Q, t V
Zwar kann ein Nutzer in einem realen System durchaus auch Anfragen mit Termen
stellen, die nicht im Vokabular des Korpus auftreten, diese sind jedoch von der Theorie her
nicht weiter interessant: sie ergeben immer eine leere Ergebnisliste. Sie knnten daher mit
einem stellvertretenden Term t
0
modelliert werden, der in keinem Dokument auftritt.
Aufbauend auf dieser Basis kann man nun die logischen Verknpfungen bestehender
Abfragen als neue Elemente der Menge denieren:
q
1
, q
2
Q q
1
q
2
Q
q
1
, q
2
Q q
1
q
2
Q
q Q q Q
Eventuell kann man noch die Klammerung der Ausdrcke hinzufgen, was sich syntak-
tisch leicht ber die Regel q Q (q) Q realisieren lsst.
23
2 Boolsches Information Retrieval
Was nun noch fehlt ist eine formale Angabe, wie das Matching im boolschen IR funk-
tioniert, d.h. wie zu einer Anfragen die passenden Dokumente gefunden werden. Dies lsst
sich ber die Retrievalfunktion beschreiben. Die Funktion ist im Falle des boolschen
IR Modells deniert ber:
: D Q 0, 1
Die Bedeutung der angenommenen Werte der Retrievalfunktion ist sehr einfach: ein Wert
von 0 heit, dass das Dokument nicht zur Anfrage passt, whrend ein Wert von 1 aussagt,
dass das Dokument bei dieser Anfrage zur Ergebnismenge gehrt.
Passend zur Denition der Anfragen lassen sich auch die Werte der Funktion am besten
rekursiv denieren. Zunchst wieder fr eine Abfrage der Form q = t
j
:
(d
i
, q) =
[j]
i
, fr q = t
j
Den Anfragen ber einem Term wird in also der Eintrag des Dokumentvektors zugewie-
sen, der fr den entsprechenden Term steht. Anschaulich drckt dies genau den gewnsch-
ten Eekt aus. In
[j]
i
steht eine 1, wenn der Term t
j
im Dokument d
i
enthalten ist, sonst
steht dort ein 0. Basierend auf den Werten der Retrievalfunktion auf einfachen Anfragen
lassen sich nun wieder die Werte zu allgemeineren Anfragen mit logischen Verknpfungen
angeben:
(d
i
, q) = min ((d
i
, q
1
), (d
i
, q
2
)) fr q = q
1
q
2
(d
i
, q) = max ((d
i
, q
1
), (d
i
, q
2
)) fr q = q
1
q
2
(d
i
, q) = 1 (d
i
, q
1
) fr q = q
1
Die Verwendung des Minimum bei Anfragen welche die Terme mit und verknpfen fhrt
dazu, dass genau dann den Wert 1 annimmt, wenn auf den beiden verknpften Teilen
jeweils den Wert 1 hat. Bei der oder Verknpfung gilt hnliches durch den Einsatz der
Maximum Funktion. Sobald auf einem der Teile den Wert 1 annimmt ist der Gesamtaus-
druck 1. Nur wenn keiner der Anfrageteile passt, ist auch die Gesamtanfrage unpassend.
Die Negation lsst sich elegant durch die Subtraktion von 1 modellieren.
Abfragemodellierung und Retrievalfunktion
Greifen wir wieder auf unser Beispiel mit den fnf einfachen Dokumenten zurck.
Betrachten wir einige der eingangs angefhrten Anfragen auf diesen Korpus:
1. Information
2. Information und Retrieval
3. nicht Retrieval
24
2.2 Theoretisches Modell
4. (Information und Retrieval) oder (Document und Retrieval)
Zu diesen knnen wir nun ebenfalls die formale Darstellungen angeben:
1. q
1
= t
7
2. q
2
= t
7
t
11
3. q
3
= t
11
4. q
4
= (t
7
t
11
) (t
5
t
11
)
Nun nehmen wir uns exemplarisch die Dokumente d
3
(Document Retrieval ist ein
anderer Begri) und d
4
(Information ist nutzbares Wissen) heraus und prfen
jeweils, ob sie zu den Anfragen passen.
1. Anfrage q
1
(d
3
, q
1
) = (d
3
, t
7
) =
[7]
3
= 0
Dokument 3 gehrt also nicht zur Ergebnismenge der Abfrage q
1
, da der Term
t
7
(Information) in Dokument 3 nicht auftaucht.
(d
4
, q
1
) = (d
4
, t
7
) =
[7]
4
= 1
In Dokument 4 ist t
7
allerdings schon enthalten, somit passt d
4
zur Anfrage.
2. Anfrage q
2
(d
3
, q
2
) = (d
3
, t
7
t
11
)
= min ((d
3
, t
7
), (d
3
, t
11
))
= min
_

[7]
3
,
[11]
3
_
= min (0, 1) = 0
(d
4
, q
2
) = (d
4
, t
7
t
11
)
= min ((d
4
, t
7
), (d
4
, t
11
))
= min
_

[7]
4
,
[11]
4
_
= min (1, 0) = 0
Hier passt keines der beiden Dokumente zur Anfrage, da weder in d
3
noch in
d
4
beide der gesuchten Terme auftreten.
25
2 Boolsches Information Retrieval
3. Anfrage q
3
(d
3
, q
3
) = (d
3
, t
11
) = 1 (d
3
, t
11
) = 1
[11]
3
= 1 1 = 0
(d
4
, q
3
) = (d
4
, t
11
) = 1 (d
4
, t
11
) = 1
[11]
4
= 1 0 = 1
4. Anfrage q
4
(d
3
, q
4
) = (d
3
, (t
7
t
11
) (t
5
t
11
))
= max ( (d
3
, t
7
t
11
) , (d
3
, t
5
t
11
))
= max (min ((d
3
, t
7
), (d
3
, t
11
)) , min ((d
3
, t
5
), (d
3
, t
11
)))
= max
_
min
_

[7]
3
,
[11]
3
_
, min
_

[5]
3
,
[11]
3
__
= max (min(0, 1), min(1, 1))
= max(0, 1) = 1
Fr Dokument d
4
erhlt man auf dem gleichen Weg fr einen Wert von 0.
Bei den Beispielen fallen zwei Dinge auf. Erstens, dass die Umformungen der Retrieval-
funktion von den Dokumenten unabhngig ist. Die Dokumente werden erst dann hinzu-
gezogen, wenn tatschlich auf Termebene geprft wird, ob ein Term enthalten ist, also bei
den
[j]
i
. Zweitens ist aullig, dass zur Bewertung eines Dokumentes nur das Dokument
selbst betrachtet werden muss. Dies war historisch gesehen ein groer Vorteil fr bool-
sche Systeme. Es mussten lediglich die Daten zu einem Dokumenten im Speicher gehalten
werden um dessen Aufnahme in die Ergebnisliste zu beurteilen. Selbst fr die Ergebnis-
liste musste kein (elektronischer) Speicher verwendet werden. Die gefundenen Dokumente
konnten direkt ausgedruckt werden.
Eine alternative Mglichkeit ist die Auswertung einer Anfrage ber die Zeilen in der
Term-Dokument Matrix. Die Zeilen geben direkt an, in welchen Dokumenten ein bestimm-
ter Term enthalten ist. ber eine bitweise logische Kombination der Matrixzeilen kann dann
ein Vektor erzeugt werden, der genau zu den Dokumenten der Ergebnismenge Eintrge mit
dem Wert 1 enthlt.
Alternativer Ansatz ber Zeilenvektoren
Nehmen wir uns noch einmal die etwas umfangreichere Abfrage (Information und
Retrieval) oder (Document und Retrieval) vor. In ihr tauchen die Terme t
5
, t
7
und
t
11
auf. Die zugehrigen Zeilen der Matrix C sehen wie folgt aus:
26
2.3 Invertierter Index
1. t
5
(0, 0, 1, 0, 0)
2. t
7
(1, 1, 0, 1, 0)
3. t
11
(1, 1, 1, 0, 0)
Wenn diese Zeilenvektoren nun stellen- und bitweise gem der Anfrage miteinander
verknpft werden, so erhlt man:
((1, 1, 0, 1, 0) (1, 1, 1, 0, 0)) ((0, 0, 1, 0, 0) (1, 1, 1, 0, 0)) =
= (1, 1, 0, 0, 0) (0, 0, 1, 0, 0)
= (1, 1, 1, 0, 0)
Und die Dokumente 1, 2 und 3 entsprechen genau der Ergebnismenge zu dieser An-
frage.
2.3 Invertierter Index
Nachdem die theoretischen Grundlagen nun gelegt sind stellt sich die Frage, wie sich bool-
sches Retrieval in der Praxis umsetzen lsst. Wir werden an dieser Stelle den invertierten
Index als eine der wichtigsten Datenstrukturen im IR kennenlernen.
Der Ansatz, bei jeder Suchanfrage alle Dokumente nach den Suchtermen zu durchsuchen
ist nicht praktikabel (siehe Abschnitt 2.5). Dafr sind die Datenmengen in einem IR System
einfach zu umfangreich. Wie wir gegen Ende des letzten Abschnittes gesehen haben, lassen
sich Anfragen auch wunderbar ber die Zeilen in der Term-Dokument Matrix zu einer
Ergebnismenge auswerten. Genau diesen Ansatz werden wir jetzt verfolgen.
Da es die Zeilen der Matrix sind, die fr die Berechnung der Ergebnismenge von Interesse
sind, optimiert man zunchst den Zugri auf einzelne Zeilen. Jede Zeile lsst sich einem
Term zuordnen, so dass man die Terme als Schlssel fr die Zeilen verwenden kann. Das
kommt auch der spteren Ausungen einer Anfrage entgegen. Die Datenstruktur die hierzu
vorrangig zum Einsatz kommt sind Suchbume
4
. Jedem Term im Suchbaum kann dann
sein Zeilenvektor der Term-Dokument Matrix zugeordnet werden.
Problematisch ist allerdings, dass die Term-Dokument Matrix in den meisten Fllen nicht
mehr komplett gespeichert werden kann. Geht man von einer Sammlung von 1.000.000
4
Tabellen mit Hashwerten der Terme als Schlssel wren ebenfalls geeignet. Bei einem stndig wachsenden
und vor allem sehr groem Vokabular wird allerdings irgendwann die Gefahr von Kollisionen zu gro
zu werden. Weiterhin kann die Sortierung in einem Baum fr weitere Funktionen ausgenutzt werden
(s. Kapitel 3).
27
2 Boolsches Information Retrieval
Dokumenten
5
aus, die auf einem Vokabular von 100.000 Terme
6
basieren, so haben wir
bereits eine Matrix der Gre 1.000.000 x 100.000. Um diese vollstndig zu speichern wren
also 100.000.000.000 Bit ntig. Das entspricht 12.500.000.000 Byte oder 12,5 Gigabyte.
Fr die Matrix gilt aber auch, dass sie extrem dnn besetzt ist. Nehmen wir an, dass in
jedem der Dokumente 1.000 verschiedene Terme
7
auftreten, dann stehen in der Matrix nur
in 1% der Eintrge eine 1. Die restlichen 99% enthalten eine 0. Die Idee ist daher, nur die
1 Eintrge zu speichern und die 0 Eintrge nicht ausdrcklich zu erwhnen. Eine solche
Liste, die nur noch angibt in welchen Dokumenten ein Term zu nden ist, heit Posting
Liste. Ein Eintrag in dieser Liste, der fr das Auftreten eines Terms in einem Dokument
steht, wird als Posting bezeichnet. Ein einfaches Beispiel ist in Abbildung 2.1 zu sehen.
Abbildung 2.1: Eine einfache Posting Liste.
Ein Posting enthlt nur eine Referenz auf das eigentliche Dokument. Hierzu knnen
knstlich generierte Dokumenten-IDs verwendet werden. Eine Mglichkeit solche IDs zu
erzeugen besteht darin, die Dokumente im Korpus einfach abzuzhlen, beispielsweise in
der Abfolge, in der die Dokumente indiziert werden. Die Posting Liste fhrt die Dokumen-
treferenzen (aufsteigend) sortiert auf. Das hat wie wir spter sehen werden Vorteile bei
der Suche.
Die Kombination aus Suchbaum fr die Terme und Posting Listen ergibt den inver-
tierten Index
8
. Der invertierte Index erlaubt es sehr ezient die Liste der Dokumente zu
bestimmen, in denen ein bestimmter Term auftritt. Doch bevor wir den Index fr die Suche
verwenden, schauen wir uns vorher noch an, wie man den Index aufbauen kann.
Zum Aufbau des Index durchluft man die Dokumente des Korpus und bestimmt zu-
nchst die darin enthaltenen Terme. Dadurch enthlt man Tupel aus Dokument, bzw.
Dokument-ID und Term. Diese Tupel werden dann nach den Termen sortiert und doppelt
vorkommende Tupel knnen entfernt werden. Danach fasst man zu jedem Term die Tu-
pel zusammen und sortiert gegebenenfalls noch die Dokument-IDs in der so entstehenden
Liste.
5
Eine Schtzung gegen Ende 2006 gab fr das WWW eine Gre zwischen 15 und 30 Milliarden Doku-
menten an.
6
Der Duden enthlt etwa 130.000 Eintrge. Man kann diese Zahl also gut als untere Abschtzung fr das
deutsche Vokabular heranziehen.
7
Bei einer einfachen Zhlung auf Nachrichtenseiten im Web brachten es viele Dokumente auf kaum mehr
als 300 verschiedene Terme.
8
Eigentlich sind Indizes immer invertiert, der Begri hat sich aber als Name fr die Datenstruktur in
dieser Form eingebrgert.
28
2.3 Invertierter Index
Konstruktion des invertierten Index
Der Aufbau eines invertierten Index aus den fnf Dokumenten des Beispiels vom
Anfang des Kapitels wird in Abbildung 2.2 gezeigt. Die drei Spalten stehen fr die
Schritte der Erstellung der Term-Dokument-ID Tupel ganz links, die Sortierung der
Tupel nach Termen in der Mitte und die Zusammenfassung gleicher Terme ganz
rechts.
Abbildung 2.2: Aufbau eines invertierten Index aus Dokumenten.
Abbildung 2.3 zeigt den vollstndigen invertierten Index zu diesem Beispiel inklusive
des Suchbaumes fr die Terme. Der bersichtlichkeit sind die Eintrge die zum selben
Dokument gehren weiterhin gleich eingefrbt.
Hug werden die Posting Eintrge in den Listen und auch die Terme im Suchbaum um
zustzliche Daten erweitert. Auf diese Mglichkeit sowie deren Sinn und Zweck werden wir
an den jeweiligen Stellen in diesem und den nchsten Kapiteln eingehen.
Nun stellt sich die Frage, wie die Datenstruktur des invertierten Index fr eine schnelle
Suche genutzt werden kann. Fr eine Suchanfrage in der genau ein Term enthalten ist (also
von der Form q = t
i
) gestaltet sich die Suche denkbar einfach: Wir brauchen im Index nur
29
2 Boolsches Information Retrieval
Abbildung 2.3: Aufbau eines invertierten Index aus Suchbaum fr die Terme und den an-
gehngten Posting Listen.
den Eintrag zum Term t
i
zu suchen, und dessen Posting Liste stellt bereits die Ergebnisliste
dar.
Am Beispiel des Suchbaumes in Abbildung 2.3 lsst sich das einfach nachvollziehen.
Eine Suchanfrage nach dem Term Retrieval fhrt zur Posting Liste in Abbildung 2.4,
die auf die Dokumente d
1
, d
2
und d
3
verweist genau die Dokumente, die den Suchbegri
enthalten.
Abbildung 2.4: Die Posting Liste zum Term Retrieval entspricht auch dem Suchergebnis
nach diesem Begri.
Um nun komplexere Suchanfragen zu bearbeiten, mssen mehrere Posting Listen mit
einander verglichen und verarbeitet werden. Wir betrachten zunchst die einfachen Flle
fr eine Verknpfung zweier Terme mit logischem und oder logischem oder.
Bei einer Anfrage Daten und Retrieval werden zuerst die Posting Listen der einzelnen
Suchterme bestimmt. Sie sind in Abbildung 2.5 zu sehen. Anschlieend mssen aus den
30
2.3 Invertierter Index
zwei Listen jene Eintrge herausgesucht werden, die jeweils in beiden enthalten sind. Hierzu
wird nun die Sortierung der Eintrge nach Dokument-IDs ausgenutzt.
Abbildung 2.5: Die Posting Listen der Terme Daten und Retrieval.
Es gengt nmlich, beide Liste gleichzeitig mit je einem Zeiger zu durchlaufen. Die
Ergebnisliste ist zunchst leer und die beiden Zeiger stehen am Anfang (d.h. den ersten
Eintrgen) der Posting Listen, wie in Abbildung 2.6 dargestellt. Sofern die Dokumenten-
IDs an den Positionen der Zeigern nicht gleich sind, wird der Zeiger ber der kleineren
Dokument-ID weiterbewegt.
Abbildung 2.6: Aufbau der Ergebnisliste zu Daten und Retrieval mit zwei Zeigern ...
Stehen die Zeiger dann ber zwei Postings mit der gleichen ID (wie in Abbildung 2.7), so
wird diese Dokumentreferenz in die Ergebnisliste aufgenommen. Dadurch, dass die Listen
sortiert sind und immer nur der Zeiger ber der kleineren ID weiterbewegt wird, werden
gemeinsame Eintrge auf jeden Fall gefunden. Nach der bernahme eines gemeinsamen
Eintrages werden beide Zeiger weiterbewegt.
Abbildung 2.7: ... die Zeiger suchen gemeinsame Eintrge ...
31
2 Boolsches Information Retrieval
Sind schlielich eine oder sogar beide Listen abgearbeitet, d.h. der Zeiger ist am Ende
der Liste angekommen, so ist die Ergebnismenge komplett. In unserem Beispiel ist dies
in Abbildung 2.8 zu sehen, und Dokument d
2
ist auch tatschlich das einzige, das beide
Suchbegrie gemeinsam enthlt.
Abbildung 2.8: ... bis keine weiteren Eintrge mehr enthalten sind.
In Algorithmus 2.1 ist dieses Schneiden (Intersection), also das Suchen und Zusammen-
tragen der gemeinsamen Eintrge in zwei Posting Listen, formal beschrieben.
Algorithmus 2.1 : Zusammenfhren der gemeinsamen Eintrge zweier Posting Listen.
Input : L
1
, L
2
: Posting Listen.
Output : R: Liste mit gemeinsamen Eintrgen.
function Intersect(L
1
,L
2
);
begin
p
1
L
1
.first;
p
2
L
2
.first;
R new List;
while (p
1
,= NULL) (p
2
,= NULL) do
if p
1
.ID ,= p
2
.ID then
if p
1
.ID < p
2
.ID then
p
1
p
1
.next;
else
p
2
p
2
.next;
else
R.append(p
1
.ID);
p
1
p
1
.next;
p
2
p
2
.next;
return R
end
Das Erstellen einer Ergebnisliste fr die Suche nach zwei mit logischemoder verknpften
Termen verluft hnlich. Anstatt die gemeinsamen Eintrge in den Posting Listen zu nden,
32
2.3 Invertierter Index
mssen alle Eintrge aus beiden Listen zusammengetragen werden. Auch dabei kann die
Sortierung der Eintrge ausgenutzt werden.
Der Algorithmus sieht hnlich aus. Der Hauptunterschied liegt darin, dass auch dann
ein Eintrag in die Ergebnisliste bernommen wird, wenn die Dokument-IDs an den bei-
den Zeigern nicht bereinstimmen. Dann wird jeweils die kleinere Dokument-ID an die
Ergebnisliste angehngt, also die, dessen Zeiger danach weiterbewegt wird. Stimmen die
IDs berein, so wird natrlich nur ein Eintrag bernommen aber beide Zeiger eine Position
weitergerckt. Am Ende der Anfrage Daten oder Retrieval sieht die Situation also aus
wie in Abbildung 2.9.
Abbildung 2.9: Ergebnis nach dem Zusammenfhren zweier Listen bei einer oder-Abfrage.
Ein kleiner wenn auch fast oensichtlicher Unterschied ist, dass beim Verschmelzen
(Merge) von Posting Listen beide Listen bis zum Ende durchlaufen werden mssen. Selbst
wenn das Ende der einen Liste erreicht wurde, mssen nmlich noch die verbleibenden
Eintrge aus der zweiten Liste ergnzt werden. In der formalen Darstellung in Algorithmus
2.2 ist dies bercksichtigt.
Die beiden beschriebenen Vorgehensweisen zur Bestimmung der Eintrge in einer Ergeb-
nisliste zu zwei verknpften Eintrgen kann bei mehreren verknpften Suchtermen schlicht-
weg mehrfach wiederholt werden. Da die verschmolzenen oder geschnittenen Listen wieder-
um sortiert sind, knnen sie wie jede andere Posting Liste gehandhabt werden. Abbildung
2.10 skizziert das schrittweise Vorgehen fr die Anfrage (Information und Retrieval) oder
(Document und Retrieval).
Bei der Reihenfolge, in der die einzelnen Listen in Anfragen mit mehr als zwei Termen ab-
gearbeitet werden, gibt es jedoch Mglichkeiten die Ezienz zu steigern. Wie erwhnt, kann
bei der Verknpfung mit und das Verschmelzen der Listen beendet werden, sobald bereits
eine der Listen abgearbeitet ist. Verwendet man weiterhin etwas intelligentere Strukturen
fr die Liste (z.B. Skiplisten), kann auch das Weiterrcken des Zeigers ber der kleineren
Dokument-ID in greren Schritten vollzogen werden. Das fhrt dazu, das Verknpfungen
mit sehr kurzen Listen sehr schnell berechnet werden knnen. Auerdem werden die Lis-
ten durch die Verknpfung nur krzer und nicht lnger. Es empehlt sich also, immer die
krzesten Listen zuerst mit einander zu vergleichen. Unter Umstnden gelangt man dabei
sogar zu einem Punkt, an dem die Ergebnismenge schon vorab leer ist. Dann braucht man
auf die restlichen Posting Listen gar nicht nher eingehen.
33
2 Boolsches Information Retrieval
Algorithmus 2.2 : Zusammenfhren aller Eintrge zweier Posting Listen.
Input : L
1
, L
2
: Posting Listen.
Output : R: Liste mit allen enthaltenen Eintrgen.
function Merge(L
1
,L
2
);
begin
p
1
L
1
.first;
p
2
L
2
.first;
R new List;
while (p
1
,= NULL) (p
2
,= NULL) do
if p
1
.ID ,= p
2
.ID then
if p
1
.ID < p
2
.ID then
R.append(p
1
.ID);
p
1
p
1
.next;
else
R.append(p
2
.ID);
p
2
p
2
.next;
else
R.append(p
1
.ID);
p
1
p
1
.next;
p
2
p
2
.next;
while (p
1
,= NULL) do
R.append(p
1
.ID);
p
1
p
1
.next;
while (p
2
,= NULL) do
R.append(p
2
.ID);
p
2
p
2
.next;
return R
end
Betrachten wir dazu die Abfrage Information und Retrieval und befriedigt. Geht man
die Posting Listen (siehe Abbildung 2.11) in der Reihenfolge der Auhrung der Suchterme
durch, werden zunchst die Listen zu Information und Retrieval verglichen. Bei beiden
Listen wandern die Zeiger bis auf das letzte Element durch.
Vergleicht man jedoch zuerst die Posting Liste zu befriedigt mit der zu Informati-
on, dann ist die Berechnung der Ergebnisliste bereits nach dem ersten Eintrag vollendet.
Gleiches gilt dann fr den Vergleich dieses Ergebnisses mit der Liste zu Retrieval.
Um schnell und einfach eine geeignete Reihenfolge fr die Kombination der Posting
Listen bestimmen zu knnen, wird die Lnge der Liste mit in den Sucheintrag des Terms
geschrieben. Die Lnge der Liste gibt an, in wie vielen Dokumenten der Term auftritt.
Diese Information wird auch Dokumentfrequenz genannt und fr den Term t mit df(t)
34
2.3 Invertierter Index
Abbildung 2.10: Abarbeiten mehrfach verknpfter Suchterme am Beispiel von (Informa-
tion und Retrieval) oder (Document und Retrieval)
Abbildung 2.11: Posting Listen zu Information, Retrieval und befriedigt
bezeichnet. Ergnzen wir die Dokumentfrequenz in den Termeintrgen unseres invertierten
Index, dann sieht er aus wie in Abbildung 2.12.
Auf die logische Negation mit nicht sind wir bisher nicht nher eingegangen. Das An-
wenden der Negation auf eine Ergebnimenge oder Posting Liste stellt algorithmisch keine
groe Herausforderung dar. Im Prinzip gengt es, ber die Liste zu laufen, alle nicht vor-
handenen Dokumenten-IDs in die Ergebnismenge aufzunehmen und alle vorhandenen IDs
auszulassen.
Von der praktischen Seite jedoch kann das schnell schwierig werden, da dieses Verfahren
sehr lange Listen erzeugen kann. Wenn wir ber einem Korpus von 1.000.000 Dokumente
eine Anfrage negieren, die 10 Treer enthlt, ist die Ergebnismenge 999.990 Eintrge lang.
Eine Lsung zu dieser Problematik wird in [BYRN99] angesprochen. Anstatt ein volles
logisches nicht zu untersttzen kann der Operator but verwendet werden, im Sinne von
auer oder ohne. Die Anfrage Information but Retrieval wre damit gleichwertig
zu Information und (nicht Retrieval). Da but aber ein binrer Operator ist (und kein
unrer wie nicht) erfordert er immer die Angabe zweier Listen. Damit ist es dann mglich
aus einer (kurzen) Treerliste lediglich die Vorkommnisse einer zweiten (ebenfalls kurzen)
Treerliste herauszunehmen.
Mathematisch bedeutet das, dass nicht das Komplement der Ergebnismenge bezglich
aller Dokumente gebildet wird, sondern lediglich bezglich einer anzugebenden Obermenge.
Diese Obermenge wird durch den ersten Operanden des but speziziert und drfte in den
meisten Fllen deutlich weniger Dokumente als der gesamten Korpus enthalten.
35
2 Boolsches Information Retrieval
Abbildung 2.12: Invertierter Index mit Speicherung der Dokumentfrequenz zu den Termen.
2.4 Bigramm und Position Index
Wenn wir uns wieder an die Beispiele vom Anfang des Kapitels erinnern, dann fllt auf,
dass wir mit unseren bisherigen Anstzen die Anfrage Information Retrieval zwangswei-
se mit einer leeren Ergebnisliste beantworten mssen. Denn wenn wir die Anfrage an den
boolschen Operatoren zerlegen und alle dazwischen stehenden Begrie als Terme identi-
zieren, dann interpretieren wir fr diese Anfrage den kompletten Suchbegri als einen
einzigen Term. Zum Term Information Retrieval haben wir im invertierten Index aber
keinen Eintrag, d.h. der Term taucht fr ein boolsches IR System in keinem Dokument
auf.
Das Problem ist ganz klar: Die Terme im Index entsprechen den Wrtern in den Doku-
menten, die Terme in der Suchanfrage den Zeichenketten zwischen den logischen Operato-
ren. Eine einfache Mglichkeit das Problem zu lsen wre, das Leerzeichen stillschweigend
in ein logisches und umzuwandeln, im Endeekt also nach Information und Retrieval
zu suchen. Dadurch kann man dem Nutzer eine Ergebnismenge liefern, die nher an sei-
nem Informationsbedrfnis liegen drfte als die leere Ergebnismenge. Sie fllt allerdings
grer aus als erwartet, da sie auch Dokumente enthlt, in denen zwar beide Suchbegrie
auftreten, aber nicht direkt nebeneinander stehen. Daher enspricht dieser Lsungsansatz
nicht wirklich der Semantik der Anfrage.
36
2.4 Bigramm und Position Index
Anfragen, die wie Information Retrieval mehrere Terme enthalten werden als Phrasen
Anfragen bezeichnet. Gelegentlich muss der Nutzer durch Setzen der Anfrage in Anfh-
rungszeichen auch ausdrcklich angeben, dass er eine Phrasen Anfrage stellen mchte. Es
gibt zwei einfache Varianten des invertierten Index, mit denen sich eine Suche nach Phrasen
realisieren lsst: der Bigramm Index und der Position Index.
Ein Bigramm fasst zwei aufeinanderfolgende Terme zu einem Term zusammen (manch-
mal auch nur zwei Zeichen oder Silben je nach Anwendung und Zweck). Die Menge der
mglichen Bigramme entspricht also den 2-Tupeln die ber dem Vokabular gebildet werden
knnen. Bigramme sind ein Spezialfall der N-Gramme, in denen jeweils Gruppen von N
Termen betrachtet werden. Bigramme oder auch N-Gramme lassen sich einfach konstru-
ieren. Nachdem ein Text in Terme zerlegt wurde, betrachtet man jeweils die Prchen der
direkt aufeinanderfolgenden Terme (siehe Abbildung 2.13).
Abbildung 2.13: Erstellung der Bigramme ber einer Termsequenz.
Baut man nun einen invertierten Index ber den Bigrammen als Terme auf, hat man
die Anfrage Information Retrieval im Gri. Man sucht im Bigramm Vokabular den ent-
sprechenden Eintrag und erhlt die passende Posting Liste. Was aber wenn sich die Ab-
frage aus noch lngeren Sequenzen zusammensetzt, wenn die Anfrage beispielsweise das
komplette Dokument Information Retrieval befriedigt Informationsbedrfnisse ist? Die
naheliegendste Lsung wre neben einem normalen invertierten Index und einem Bigramm
Index auch einen Trigrammindex oder noch hhergradige N-Gramm Indizes aufzubauen.
Das Problem dabei ist, dass diese Indizes im Hinblick auf den Suchbaum sehr schnell sehr
gro werden knnen. Viele der in einem Text beobachteten Kombinationen werden sehr sel-
ten oder gar nur einmalig auftreten. Daher werden lngere Termsequenzen in Suchanfragen
in Bigramme zerlegt und mit logischem und verknpft. Aus der Anfrage Information Re-
trieval befriedigt Informationsbedrfnisse wird also Information Retrieval und Retrieval
befriedigt und befriedigt Informationsbedrfnisse. Das kann zwar theoretisch immer noch
zu faktischen Falschtreern fhren, in realen Szenarien sind diese fr Nutzer aber vernach-
lssigbar oder sogar erwnscht
9
.
In der Praxis bauen viele IR Systeme Bigramm Indizes auch nicht ber allen beobachte-
ten Bigrammen auf, sondern nur ber solchen die mit einer gewissen Hugkeit auftreten.
Der Hintergrund liegt in der Annahme, dass solche hugen Bigramme feststehende Begrie
9
Gerade bei lngeren Phrasen Anfragen ist eine gewisse Flexibilitt bezglich eingestreuter Wrter eher
sinnvoll, da sie zu fehlertoleranteren Ergebnissen fhrt.
37
2 Boolsches Information Retrieval
oder Redewendungen darstellen (z.B. der Ausdruck Information Retrieval oder Floskeln
wie Pro und Contra). Auch werden meist semantisch wenig aussagekrftige Fllwrter
(wir kommen zu Stoppwrtern und dergleichen im nchsten Kapitel) aus der Termsequenz
entfernt, bevor die Bigramme erstellt werden (so z.B. das und in Pro und Contra, was
zum Bigramm Pro Contra im Index fhren wrde).
Einen anderen Ansatz um Anfragen nach exakten Phrasen wie Information Retrieval
beantworten zu knnen ist der Position Index. Anstatt nur das Auftreten eines Terms in
einem Dokument zu speichern, knnen wir in den Posting Eintrgen auch gleich dessen
Position(en) innerhalb des Dokumentes mit ablegen. Dazu zhlt man die Terme im Doku-
ment zunchst ab, so dass jedem ein eindeutiger Positionswert zugewiesen werden kann.
Diese Positionswerte speichert man (ebenfalls sortiert) in den Posting Eintrgen ab. Das
ganze sieht dann aus wie in Abbildung 2.14.
Abbildung 2.14: Posting Liste mit Positionseintrgen.
Der gesamte Position Index zu unserem bisherigen Beispiel mit Angabe der Dokument-
frequenzen ist in Abbildung 2.15 zu sehen. Die Positionslisten sind in diesem knstlichen
Beispiel etwas verkmmert, da in keinem der Dokumente ein Term mehr als einmal vorkam.
Eine Information, die fr sptere IR Modelle von Interesse ist kann ebenfalls noch mit
aufgenommen werden: die Termfrequenz tf
d
(t). So wie die Dokumentfrequenz df(t) angibt,
in wie vielen Dokumenten ein Term t auftritt, gibt die Termfrequenz an, wie oft der Term
in einem bestimmten Dokument d auftritt. hnlich dem Aufnehmen der Dokumentfre-
quenz in die Termeintrge des Suchbaumes, wird die Termfrequenz dann in jedem Posting
gespeichert, so dass nicht die Lnge der Positionsliste bestimmt werden muss.
Um nun Anfragen wie Information Retrieval mit einem Positionsindex zu beantworten
gengt es zunchst wie bei einer Anfrage Information und Retrieval vorzugehen. Wenn
die beiden Posting Listen zu den Termen Information und Retrieval dann geschnitten
werden, wird auer auf die Gleichheit der Dokument-IDs auch auf passende Positionsein-
trge geachtet. Dazu kann auch wieder die Sortierung der Positionseintrge ausgenutzt
werden.
Ein Position Index erlaubt aber auch die Einfhrung eines weiteren Operators: near.
Damit lassen sich Abfragen stellen, die verlangen, dass zwei Begrie nahe bei einander
stehen. Was dabei mit nahe gemeint ist hngt entweder vom System ab oder lsst sich
als Parameter bergeben. Eine Abfrage wie Information near3 Retrieval knnte also
38
2.5 Schnelle Stringsuche
Abbildung 2.15: Invertierter Index mit Dokumentfrequenz und Angabe der Positionen in
den Posting Eintrgen .
solche Dokumente liefern, in denen Information und Retrieval nicht weiter als drei Worte
von einander entfernt stehen (Retrieval drfte dabei brigens je nach Konvention auch
vor Information stehen).
Position Indizes fhren ebenfalls zu deutlich mehr Bedarf an Speicherplatz. Sie sind
exibler als der Bigramm Ansatz, aufgrund der ntigen Listenoperationen aber langsamer.
Wie bereits gesagt, empehlt sich eine Kombination aus beidem: fr huge Bigramm ein
entsprechender Index und fr allgemeine Anfragen ein Position Index. Dann greift man bei
Phrasen Anfragen zunchst auf den Bigramm Index zu und erst wenn dieser keine Treer
liefert auf den Positionsindex.
2.5 Schnelle Stringsuche
Wir hatten als Motivation fr den Invertierten Index auch angegeben, dass eine direkte
Stringsuche in den Dokumenten nicht praktikabel ist. Eine einfache berlegung verdeut-
licht dies.
Das Unix-Tool grep, welches letztendlich eine Stringsuche umsetzt, bentigte zur Suche
eines 10 Zeichen langen Suchbegris auf einer komplett im Hauptspeicher vorgehaltenen,
39
2 Boolsches Information Retrieval
26MB groen Dokumentsammlung etwa 0,032 Sekunden
10
. Das heit, in einer Sekunde
knnten theoretisch 812,5 MB an Daten durchsucht werden. Wenn wir gem einer kon-
servativen Schtzung von 2006 das World Wide Web als Korpus mit einer Gre von 15
Milliarden Dokumenten Dokumenten annehmen, und jedem Dokument eine ebenfalls sehr
konservative Gre von 10 KB zugestehen. Dann wrde ein grep auf dem WWW mehr als
zwei Tage dauern. Zum Vergleich: Sucht man bei Google nach dem Wort the, bekommt
innerhalb von 0,05 Sekunden die ersten zehn von 12,5 Milliarden Treern angezeigt.
Wenn die Stringsuche fr den Einsatz in einem IR System auch nicht in Frage kommen
mag, so kann sie an anderer Stelle oder in anderen Anwendungen hilfreich sein (beispiels-
weise zum Hervorheben eines Suchbegries beim Anzeigen eines Dokuments). Sie hat au-
erdem auch den Vorteil, dass sie ohne Vorverarbeitung des Dokuments, also der langen
Zeichenkette in der gesucht wird, auskommt.
Die Suche nach einem kurzen String (man spricht hier meist von Muster) in einer lngeren
Zeichenkette (wir bezeichnen sie der Eindeutigkeit halber mit Text) ist eine Aufgabe die
hug vorkommt. Es gibt eine ganze Reihe von Algorithmen die diese Aufgabe meistern.
Der naive Ansatz fr eine Suche wre, dass man das Muster an jeder Position des Textes
anlegt und dann prft, ob es passt. Dies liee sich in einem einfachen Programm mit zwei
Laufschleifen umsetzen.
Naive Stringsuche
Wir suchen nach dem Muster suchmu im der Zeichenkette wir suchen ein such-
muster im text. Abbildung 2.16 zeigt wie die Suche verluft. Das Muster wird an
jeder Position angelegt und zeichenweise verglichen, bis das Muster komplett erkannt
ist, oder ein unpassendes Zeichen auftritt.
Um nicht nur die verschiedenen Ansatzpositionen sondern auch die Anzahl der Ver-
gleiche zu verdeutlichen, ist in der Abbildung jeder Vergleich farblich dargestellt.
Unpassende Zeichen sind im Muster rot markiert, passende mit grn und Zeichen die
an einer Ansatzposition gar nicht verglichen wurden sind grau hinterlegt. Insgesamt
wurden in diesem Fall also 25 Vergleiche durchgefhrt, davon 15 unpassende.
Deutlich ezienter geht es mit dem Algorithmus von Boyer-Moore. Hier werden zwei
Ideen miteinander kombiniert. Die erste Idee ist, dass man beim Anlegen und Vergleichen
im Muster auch von hinten anfangen kann. Die zweite Idee ist, dass man bei einem nicht
passenden Zeichen, das gesamte Muster nicht nur um eine Position weiterverschiebt, son-
dern um so viele Positionen, dass das nicht passende Zeichen genau auf die letzte passende
Stelle im Muster fllt. Gibt es das unpassende Zeichen nicht im Muster, dann kann man
das Muster gleich um seine komplette Lnge verschieben! Der Algorithmus erfordert eine
10
Der Test wurde auf einem zugegeben leicht betagten Notebook mit einem 1,5GHz Intel Pentium M
Centrino Prozessor durchgefhrt. Zur Abschtzung von Grenordnung reicht dies aber allemal, ins-
besondere da das Laden der Daten von Festplatte hier wegfllt.
40
2.5 Schnelle Stringsuche
Abbildung 2.16: Naive Stringsuche in einer Zeichenkette.
kleine Vorverarbeitung und Analyse des Suchmusters. Der Aufwand hierfr wird jedoch bei
lngeren Texten, kurzen Mustern und groem Alphabet sehr schnell wieder wett gemacht.
Bei der Vorverarbeitung des Musters wird im Prinzip fr jedes Zeichen im Alphabet
ermittelt, wie weit das Muster in der Suche weitergeschoben werden kann. Taucht ein Al-
phabetzeichen gar nicht im Muster auf, kann man das Muster um seine komplette Lnge
verschieben, so dass dessen erstes Zeichen hinter dem nicht enthaltenen Zeichen landet. Fr
jedes im Muster enthaltene Zeichen wird die Position dessen letzten Auftretens ermittelt.
Diese Verschiebetabelle wird dann konsultiert, wenn beim Vergleich von hinten ein unpas-
sendes Zeichen auftritt. Wie weit tatschlich verschoben werden kann hngt auch davon
ab, wie viele passende Zeichen bereits am Ende erkannt wurden.
Stringsuche nach Boyer-Moore
Wir suchen wieder nach dem gleichen Muster in der obigen Zeichenkette. Zunchst
wird anhand des Suchmusters bestimmt, wie weit bei nicht bereinstimmenden Zei-
chen weitergeschoben werden kann. Abbildung 2.17 zeigt die Erzeugung einer Tabelle
fr die Zeichen des Alphabets; das Fragezeichen steht hier stellvertretend fr alle nicht
im Muster enthaltenen Zeichen. Der Eintrag des von vorne gesehenen ersten u kann
ignoriert werden, da weiter hinten ein weiteres u steht.
Abbildung 2.17: Bestimmung des Verschiebeindex zum Suchmuster im Boyer-Moore Algo-
rithmus.
41
2 Boolsches Information Retrieval
Bei der tatschlichen Suche (zu sehen in Abbildung 2.18) wird nun zunchst das
Muster unter den Text gelegt. Es wird von hinten angefangen zu vergleichen und das
letzte Zeichen stimmt in diesem Fall direkt berein. Daher wird das vorletzte Zeichen
verglichen, das nicht mehr zum Text passt. Im Text steht ein s, dem in der Verschie-
betabelle eine 5 zugeordnet ist. Da aber bereits ein Zeichen von hinten abgearbeitet
wurde wird das Muster nur um 5-1 = 4 Stellen verschoben. An diesem Ansatzpunkt
passen die letzten Zeichen nicht zusammen. Auerdem ist das letzte Zeichen im Text
ein n, das im Muster nicht vorkommt. Es kann also direkt um die gesamte Mus-
terlnge von 6 Stellen verschoben werden. Auch diesmal stimmen die letzten Zeichen
nicht berein, allerdings ist das unpassende s in der Verschiebetabelle eingetragen.
Es wird also nur um 5 Stellen verschoben. Dann ist das Suchmuster allerdings auch
schon gefunden.
Abbildung 2.18: Stringsuche nach Boyer-Moore.
Entsprechend gering ist auch die Anzahl der durchgefhrten Vergleiche: insgesamt 10
Vergleiche, davon nur 3 unpassende. Hinzu kommt natrlich die Vorverarbeitung, die
hier mit den sechs Zeichen des Musters zu Buche schlgt.
2.6 Zusammenfassung
In diesem Kapitel haben wir unser erstes IR Modell kennengelernt, das boolsche Retrieval.
Es basiert auf Anfragen ber boolschen Verknpfungen von Suchtermen. Wir haben das
Modell sowohl unter theoretischen Gesichtspunkten als auch bezglich seiner praktischen
Umsetzung genauer untersucht. Als Datenstruktur haben wir dazu den invertierten Index
eingefhrt, der sich zum Bigramm oder Position Index modizieren und erweitern lsst.
Zum Abschluss wurde mit dem Boyer-Moore Algorithmus ein Verfahren zur schnellen Suche
in Zeichenketten vorgestellt.
42
3 Dokumentvorverarbeitung und
Anfrageerweiterung
Die Terme, die wir im letzten Kapitel fr den Aufbau eines invertierten Index verwendet
haben, sind gewissermaen vom Himmel gefallen. Wir haben angenommen, die Terme zur
Verfgung gestellt zu bekommen. Dabei lsst sich in einem IR System fast beliebig viel
Aufwand in die Schritte stecken, die zur Erkennung und Extraktion der Terme aus einem
Dokument fhren.
Darber hinaus tendiert das vorgestellte boolsche IR Modell bezglich van Rsbergens
Abgrenzung zwischen Daten und Information Retrieval noch sehr in die Richtung des
Daten Retrieval. So werden beispielsweise nur exakter Treer gefunden. Auch kleine Tipp-
fehler oder andere Schreibweisen bei den Suchtermen fhren zu anderen oder gar keinen
Ergebnissen.
Einige dieser Schwachpunkte knnen durch geeignete Verfahren in der Dokumentvorver-
arbeitung abgeschwcht werden. Auch das Ausbauen der Abfragesprache, beispielsweise
durch Wildcards, kann helfen die Ergebnisse zu verbessern. Alle diese Verfahren sind wie-
derum nicht nur fr boolsches IR sondern zumindest bedingt auch fr andere Verfahren
von Interesse. Wir werden daher in diesem Kapitel nher auf einzelne Anstze eingehen.
Wir beginnen mit der Dokumentenvorverarbeitung. Dazu gehrt beispielsweise die Be-
stimmung der Kodierung, des Dateiformates, die Feststellung der Sprache und eine gewisse
Strukturanalyse. Der nchste wichtige Schritt ist die Tokenisierung der Inhalte in Wrter,
welche dann wiederum in einen Normalisierungs- und Filterprozess hineingesteckt werden.
Erst am Ende ergeben sich dann die Terme welche in den Index aufgenommen werden.
Die gleiche Vorverarbeitung muss im Prinzip auch auf den Anfragen geschehen. Zustz-
lich lassen sich hier aber noch andere Funktionen einbauen, durch welche die Anfragespra-
che mchtiger und exibler wird. Wildcards oder eine Rechtschreibkorrektur sind Beispiele
hierfr, die wir etwas nher beleuchten werden.
Zu vielen der angesprochenen Probleme werden in diesem Kapitel zwar Konzepte aber
keine allgemeingltigen Lsungen prsentiert. Es soll vielmehr auf die Schwierigkeiten auf-
merksam gemacht werden, die bei der Konstruktion eines Index auftreten knnen. Ob ein
Lsungsansatz geeignet ist, lsst sich oft erst bei genauerer Betrachtung der Anwendung,
der Dokumente oder der intendierten Nutzer sagen.
43
3 Dokumentvorverarbeitung und Anfrageerweiterung
3.1 Zugri auf die Dokumentinhalte
Im letzten Kapitel haben wir uns intensiv mit der Indizierung
1
von Dokumenten und der
Suche im invertierten Index beschftigt. Zu den Termen, die als Eintrge im Index stehen,
hatten wir gesagt sie wren in etwa mit den Wrtern im Text gleichzusetzen. Tatschlich
ist der Weg von einem zu indizierenden Dokument (also von einer Datei und noch nicht der
systeminternen Reprsentation) zu den Termen zu diesem Dokument keineswegs trivial. Es
gibt eine Menge Stolpersteine und Hindernisse die zunchst aus dem Weg gerumt werden
mssen.
Das beginnt bereits bei der Dokumentdatei selbst. Diese kann in verschiedenen Formaten
vorliegen, z.B. als reine Textdatei, als HTML, XML oder RTF. Auch applikationsabhn-
gige Formate wie Word oder OpenOce, sowie ausgabeorientierte Formate wie PDF oder
Postscript Dateien sind weit verbreitet und ihre Untersttzung in IR Systemen ist fast
schon Standard. Um an die eigentlichen Inhalte solcher Dateien zu kommen bentigt man
Kenntnisse ber deren Formate. Auch im Fall von XML oder SGML Formaten (wie z.B.
HTML) mssen einige Besonderheiten in der Kodierung der Zeichen beachtet werden. Sie
enthalten sogenannte Entitten. Das sind Kodierungen von Spezialzeichen, wodurch die
Dokumente unabhngiger vom verwendeten Zeichensatz werden. Die wohl bekanntesten
Beispiele sind &lt;, &gt;, &quot und &amp; fr die Symbole <, >, " und &. Selbst bei
reinen Textdateien kann die Frage der Zeichensatzkodierung (ASCII, ISO-8859-1, UTF-8,
etc.) entscheidend fr einen korrekten Zugri auf die Inhalte sein. Als zustzliche Hrde
kann noch hinzukommen, dass die Dokumente eventuell mit einem Packprogramm (zip,
gzip, bzip, rar) komprimiert wurden.
Wenn man weiterhin an andere Sprach- und Kulturkreise denkt, stellt man fest, dass
selbst danach noch nicht klar ist, wie genau man an den Text herangehen muss. Spra-
chen, die auf dem lateinischen, griechischen oder kyrillischen Alphabet basieren werden
von links nach rechts gelesen, arabische Sprachen jedoch genau umgekehrt. In asiatischen
Dokumenten wird eventuell spalten- statt zeilenweise gelesen. Fremdsprachige Dokumente
sind auch in anderer Hinsicht problematisch, beispielsweise bei der im nchsten Abschnitt
angesprochenen Zerlegung in Tokens. Wir werden in diesem Rahmen jedoch nicht weiter
auf diese Schwierigkeiten eingehen sondern konzentrieren uns auf Sprachen wie Deutsch
und Englisch sowie das lateinische Alphabet.
Gehen wir also davon aus, dass wir aus den Dokumenten den Text als lange Folge von
Zeichen extrahieren knnen. Das soll brigens nicht heien, dass wir jegliche Information
ber Struktur und Layout des Dokumentes vergessen oder ignorieren. Die Struktur spielt
nmlich spter auch bei der inhaltlichen Analyse ein Rolle.
Zunchst (und auch hier kann die Kenntnis der Struktur wichtig sein), muss festgelegt
werden, auf welcher Ebene die Dateien als Dokumente aufgefasst werden und welche Inhal-
te berhaupt fr die Indizierung in Frage kommen. In manchen Fllen enthlt eine einzelne
Datei mehrere faktische Dokumente. Beispielsweise ist das hug bei Mailprogrammen der
Fall, die alle Mails in einer groen Datei speichern. Ein anderes Beispiel sind Tagungsbnde
1
Gelegentlich ndet man auch den Begri Indexierung.
44
3.2 Tokenisierung der Inhalte
einer Konferenz, in denen alle Beitrge der Teilnehmer gesammelt werden. In diesen Fllen
ist es wenig sinnvoll, die Datei mit allen E-Mails, bzw. den kompletten Tagungsband jeweils
als ein Dokument aufzufassen. Vielmehr mssen die Dateien intern in mehrere Dokumente
zerlegt und auch als solche indiziert werden. Umgekehrt kann es sein, dass ein Dokument
sich ber mehrere Dateien erstreckt, beispielsweise Bcher die mehrere Bnde umfassen
oder lngere Texte im Web, die auf mehrere HTML Seiten verteilt und durch Links ver-
knpft werden. Hier bietet es sich dann an, die einzelnen Dateien organisatorisch als ein
Dokument im IR System aufzufassen. Eventuell sind auch nur Teile eines vollstndigen Do-
kumentes fr die Dokumentreprsentation im IR System von Interesse. So knnte ein Index
ber wissenschaftlichen Papieren sich nur auf Titel, Autoren und Abstract erstrecken, und
den Volltext auer Acht lassen.
In einem weiteren Schritt wird die Sprache des Dokuments ermittelt. Das lsst sich
ber k-Gramme ber den Zeichen
2
realisieren. Gewisse Zeichenkombinationen sind fr eine
bestimmte Sprache ganz typisch, fr andere Sprachen aber extrem ungewhnlich
3
. Genauso
lsst sich betrachten wie hug sehr allgemeine und oft verwendete Wrter in einem Text
vorkommen. In fast jedem deutschsprachigen Text werden sich Worte wie der, die, das,
und, ein, einer, usw. nden in einem italienischen Dokument ist es fast ausgeschlossen,
dass sie auftreten.
3.2 Tokenisierung der Inhalte
Die Kenntnis der Sprache und der Struktur ist ntig fr die Zerlegung einer Zeichenket-
te in Wrter. Genauer genommen spricht man nicht von Wrtern, sondern von Tokens.
Schlielich knnen in den Texten auch Namen, Zahlen oder Abkrzungen auftreten, die
zwar als Einheit erfasst werden aber nicht wirklich als Wrter anzusehen sind. Der Prozess
eine Zeichenkette in Tokens zu zerlegen wird als Tokenisierung oder auch Segmentierung
bezeichnet.
Zunchst wird jedoch hug eine Zerlegung in grbere Strukturen vorgenommen. Fr
einen Positionsindex kann es beispielsweise auch von Interesse sein, ob zwei Terme im
gleichen Kapitel, im gleichen Absatz oder im gleichen Satz auftauchen. Die ersten beiden
Flle lassen sich ber Strukturinformationen eines Dokumentes angehen. Wir betrachten
an dieser Stelle den Fall der Satzerkennung etwas nher, der ebenfalls von Kenntnissen der
Struktur protiert.
Der einfachste Ansatz ist, in der Textzeichenkette nach Satzendezeichen zu suchen: dem
Punkt, dem Frage- oder dem Ausrufezeichen. Das kann jedoch an manchen Stellen zu
Fehlern fhren. Einerseits stehen nicht immer Satzendezeichen am Ende einer semantisch
in sich geschlossenen Textstruktur, andererseits nden sich die Zeichen gelegentlich auch
mitten im Satz. Bei Aufzhlungen oder Auistungen beispielsweise, werden die einzelne
2
Interessanterweise werden N-Gramme im Zusammenhang mit Zeichen oft als k-Gramme oder auch k-
mers bezeichnet.
3
In Kapitel 13 wird im Zusammenhang mit der Klassikation von Texten auf Seite 244 ein Verfahren
angesprochen, mit dem sich auf dieser Basis sogar die Sprache von sehr kurzen Texten bestimmen lsst.
45
3 Dokumentvorverarbeitung und Anfrageerweiterung
Punkte hug nicht durch ein Satzendezeichen abgeschlossen nmlich dann, wenn es
sich grammatikalisch gesehen nicht um einen vollstndigen Satz handelt. Auch Titel und
berschriften schlieen nicht mit Satzendezeichen ab. Von der Semantik her knnen diese
Konstrukte allerdings schon als Satz angesehen werden.
Ein gutes und hug anzutreendes Beispiel fr Satzzeichen mitten im Satz sind Abkr-
zungen. Diese werden mit einem Punkt gekennzeichnet, schlieen den Satz aber keinesfalls
ab. Sehr schn ist die Problematik im Beispiel in Abbildung 3.1 zu sehen. Durch die Seg-
mentierung an den enthaltenen Satzendezeichen werden hier aus einem einzigen gleich
sieben Stze!
Abbildung 3.1: Fehlerhafte Segmentierung an Satzendezeichen.
Das Beispiel liefert aber auch bereits erste Hinweise, wie man solche Probleme umge-
hen kann. Bereits die Kenntnis ber (gebruchliche) Abkrzungen reduziert das Problem
deutlich. Die Behandlung von Abkrzungen lsst sich einfach ber ein Verzeichnis gngiger
Abkrzungen realisieren. Da jede Sprache eigene Abkrzungen verwendet, spielt hier das
oben angesprochene Erkennen der Sprache des Textes eine wichtige Rolle. Erkennt man in
unserem Beispiel beim Segmentieren die Abkrzungen Prof., Dr. und z.B., so bleiben
nur noch zwei Stellen brig, an denen der Satz flschlicherweise aufgetrennt wird
4
.
Einige allgemeine Regeln, die dabei helfen sollen auch die restlichen sowie etwaige andere
Problemflle zu erkennen, werden von Heyer, Quastho und Wittig [HQW06] genannt. Sie
listen einige einfache Regeln oder Hinweise zur Erkennung von Satzanfngen und Enden
auf
5
:
Ein Satz beginnt nie mit einem Kleinbuchstaben.
Ein ansonsten immer klein geschriebenes Wort (z.B. der, die, das), das pltzlich gro
geschrieben ist, deutet auf einen Satzanfang hin.
berschriften bilden eigene Stze.
Nach einer berschrift beginnt ein neuer Satz.
Vor eine berschrift endet ein Satz.
Am Anfang eines Absatzes beginnt ein neuer Satz.
4
Man knnte auch .NET als Abkrzung verstehen. Die Tatsache, dass der Punkt vorne steht, macht es
jedoch nicht direkt als solche erkennbar.
5
Die Autoren erwhnen in dieser Liste auch Satzendezeichen, die wir jedoch bereits als mehr oder weniger
oensichtlich angegeben hatten.
46
3.2 Tokenisierung der Inhalte
Am Ende eines Absatzes endet ein Satz.
Bei diesen (Faust-)Regeln spielt wiederum eine gewisse Kenntnis der Textstruktur eine
Rolle, nmlich wenn es um Abstze und berschriften geht. In manchen Dokumentforma-
ten (HTML, Word, L
A
T
E
X) gibt es in der Dokumentsyntax zumindest Hinweise darauf, was
Absatz und was berschrift sein knnte.
Auch die Beachtung von Freiraumzeichen (Leerzeichen) kann helfen zu entscheiden, ob
ein Punkt ein Satzende markiert oder in anderer Weise gebraucht wird. Bei einem Satzende
wird i.d.R. vor dem Punkt kein Freiraum gelassen, danach aber schon. Damit liee sich der
Fall .NET behandeln, oder auch die Angabe von Daten in Formaten wie 24.12.2009.
In begrenztem Umfang knnte man dadurch sogar unbekannte Abkrzungen erkennen.
Schlielich gibt es noch gewisse Wendungen und Sprachkonstrukte, die immer mit einem
Punkt verwendet werden: Freitag der 13., 1.000.000 Euro, IP Adresse 192.168.0.1
oder Ludwig XIV. beispielweise.
Auch Einschbe durch wrtliche Rede oder Klammern mssen beachtet werden und
sind insbesondere dann problematisch, wenn im Einschub keine Satzendezeichen verwendet
werden.
Sobald die Stze erkannt sind, liegt der nchste Schritt in der Erkennung der Wort-
Token. Die Tokenisierung eines Textes ist ebenfalls anspruchsvoller und komplexer als
man zunchst vermuten mag. Sicherlich kann man eine Zeichenkette zunchst einfach an
allen Freiraumzeichen (white spaces) aufsplitten. Zu den Freiraumzeichen gehren neben
dem Leerzeichen auch Tabulatoren und Zeilenumbrche. Wenn man diese Zeichen wie
in Abbildung 3.2 an einem Beispiel gezeigt fr die Termerkennung nutzt, kommt es
jedoch zu ungewollten Artefakten. Satzzeichen wie Kommata, Punkte oder Frage- und
Ausrufezeichen bleiben in den Token erhalten. Im Beispiel ist dies an den Token grte,
und hoch. zu sehen.
Abbildung 3.2: Mglichkeiten der Tokenisierung eines einfachen Satzes.
Die Verwendung der Satzzeichen als Trennzeichen zwischen Token fhrt ebenfalls zu
unerwnschten Eekten: die Zahl 4,5 wurde in zwei Token zerlegt. Gleiches wrde Abkr-
zungen passieren. Entfernt man an den durch Freirume erkannten Token fhrende oder
nachfolgende Satzzeichen, bekommt man die Token in diesem Beispiel in den Gri. Pro-
blematisch wre dies allerdings fr den Satz aus Abbildung 3.1, da der Begri .NET zu
NET beschnitten wrde.
47
3 Dokumentvorverarbeitung und Anfrageerweiterung
Ebenfalls schwierig zu behandeln sind Bindestriche und Apostrophe oder Anfhrungszei-
chen. Bindestriche knnen zusammengesetzte Worte andeuten (der Suchmaschinen-Gigant
Google), sie tauchen in feststehenden Begrien auf (H-Milch, Dipl.-Ing., F-18), sie
stellen die Silbentrennung am Zeilenumbruch dar oder die Auslassung eines Wortteils in
Aufzhlungen (Hoch- und Tiefbau, Web-, File- und Mailservice). Sie knnen also als
Trennzeichen zwischen Token auftreten, als Bestandteil innerhalb eines Tokens oder sie
deuten an, dass ein Token eigentlich erweitert werden msste.
Apostrophe und Anfhrungszeichen tauchen im Deutschen seltener auf, knnen aber
ebenso unterschiedliche Rollen erfllen. Sie markieren Auslassungen (da ists statt da
ist es) oder Kurzformen (Im statt I am, arent statt are not), sie stecken in
Namen (OBrian) oder Namenskonstrukten (Heisenbergsche Unschrferelation).
Auch andere Zeichen, trit man heutzutage vor allem in technischen Dokumenten
huger an: das @ (Mailadressen), das # (C#) oder die Zeichen \ und / (URLs, Dateisy-
stempfade).
Allgemeingltige Lsungen, wie man mit diesen Zeichen umgeht gibt es wohl nicht.
Auch die Fachliteratur schweigt sich ber Lsungsanstze aus. Am sinnvollsten ist wohl
situations- und anwendungsabbhngig zu prfen, wann eine Tokenisierung an welchen Zei-
chen einen Sinn ergibt und wann nicht. Einzelne Ausnahmen lassen sich wie bei den
Abkrzungen ber Listen mit den entsprechenden Begrien behandeln.
Eine weitere Technik, die insbesondere bei deutschen Texten wichtig sein kann, ist die
Aufspaltung von zusammengesetzten Wrtern. Die deutsche Sprache erlaubt es, durch
die Komposition mehrerer Substantive neue Wrter zu erschaen. Eines der bekanntesten
Beispiele drfte die Donaudampfschikapitnsmtze sein. Dass nach solchen zusammen-
gesetzten Wrter in einem Suchindex wohl selten gesucht wird drfte klar sein. Da die
einzelnen Bestandteile eines solchen Wortes aber durchaus von Interesse sein knnen wer-
den zur Ausung zusammengesetzter Wrter sogenannte compound splitter eingesetzt.
3.3 Termlterung und -normalisierung
Wir sind nun an einem Punkt angekommen, an dem wir die Wrter oder allgemeiner
Token in einem Text erkannt und voneinander getrennt haben. Prinzipiell wre es nun
mglich, einen Index ber diese Wrtern aufzubauen. In der Praxis werden aber hug noch
einige weitere Algorithmen angewendet, um die Token zu normalisieren, inhaltlich hnliche
Token zusammenzufassen oder ganz allgemein den Index mglichst klein zu halten.
Manning, Rhagavan und Schtze [MRS08] fhren einige Begrie an, um die Verbindun-
gen zwischen dem Text und dem Index klar zu machen. Nach der Zerlegung kann ein Text
als Folge von Token dargestellt werden. Lexikalisch gleichlautende Token werden als Ty-
pen bezeichnet. Das heit also, ein Typ ist die Menge aller Token, die aus der gleichen
Zeichenkette bestehen. Die Terme fr den Index sind dann normalisierte Typen.
Dabei knnen die Terme durchaus von den Typen verschieden sein. Wir sind bisher im-
plizit immer von einer Indizierung der Wrter in einem Text ausgegangen. Das ist nicht
48
3.3 Termlterung und -normalisierung
immer der Fall. Wenn ein Vokabular fr den Index fest vorgegeben wird (kontrolliertes Vo-
kabular), mssen die Typen im Text auf diese Indexterme abgebildet werden. Die Typen
mssen dazu noch nicht einmal Wrter im eigentlichen Sinne darstellen, sondern knnen
abstrakte Bezeichner fr Klassikationen sein (z.B. ACM Klassikation: H.3.3 fr Infor-
mation Search and Retrieval). An dieser Stelle wollen wir uns aber weiterhin zunchst mit
einem (theoretisch) unbegrenzten Vokabular (freies Vokabular) beschftigen, das direkt aus
den Typen abgeleitet wird.
Dazu schauen wir uns als erstes die Verteilung von Wrtern oder Wortformen in einem
Text an. Dazu gibt es zwei hug im IR zitierte Regeln: das Heapsche Gesetz und das
Zipfsche Gesetz.
Das Heapsche Gesetz erlaubt eine Abschtzung der Vokabulargre M ber einem Kor-
pus. Enthlt der Korpus insgesamt T Token, dann kann M folgendermaen abgeschtzt
werden:
M kT
b
wobei k und b Parameter sind, die vom Korpus abhngen. Als typische Werte werden
fr b etwa 0,5 und fr k Werte zwischen 30 und 100 angegeben.
Das Zipfsche Gesetz hingegen schtzt die Hugkeit der Terme ab. Hierzu werden die
Terme zunchst absteigend bezglich ihrer Hugkeit cf(t) im gesamten Korpus (die soge-
nannte col lection frequency eines Terms) sortiert. Der Term t
1
taucht also am hugsten
auf, Term t
2
am zweithugsten und so weiter. Dann gilt in etwa:
cf(t
i
) i K
wobei K ein konstanter Wert ist. Whrend diese Verteilung fr die hugsten und sel-
tensten Terme sicherlich nur eine grobe Abschtzung ist, trit sie im Mittelfeld ber den
meisten Korpora recht gut zu.
Beide Gesetze drcken typische Beobachtung aus. Erstens: je mehr Dokumente man
sieht, desto weniger neue Terme enthalten sie. Das ist durchaus leicht nachvollziehbar, ins-
besondere da irgendwann auch ein Groteil der regulren Sprache ausgeschpft ist. Zwei-
tens, dass es einige wenige Terme gibt, die sehr hug auftreten, ebenso wie sehr viele
Terme, die sehr selten auftauchen.
Insbesondere die letzte Beobachtung ist sehr interessant, wenn man betrachtet, wie sinn-
voll ein Term als Beschreibung fr ein Dokument ist. Luhn [Luh58] hat in diesem Zusam-
menhang eine interessante Aussage mit einer anschaulichen Darstellung verknpft, die recht
hug zitiert wird. Er sagte, dass sowohl sehr huge als auch sehr seltene Terme wenig
hilfreich bei der Beschreibung eines Dokuments sind. Sehr huge Terme dierenzieren zu
wenig zwischen den Dokumenten. Taucht beispielsweise in jedem Dokument in einem Kor-
pus mehrfach das Wort Computer auf, so hilft genau dieses Schlagwort recht wenig bei
einer Suche. Die sehr seltenen Terme hingegen sind zu speziell. Nach ihnen wird wohl selten
oder gar nicht gesucht, bzw. der Nutzer hat sowieso ein ganz bestimmtes Dokument im
49
3 Dokumentvorverarbeitung und Anfrageerweiterung
Abbildung 3.3: Luhns Darstellung zur Auswahl ausdruckskrftiger Terme.
Sinn
6
. Daher schlussfolgert Luhn, dass die Terme mit mittlerer Hugkeit am hilfreichsten
und aussagekrftigsten fr ein Dokument sind. Er drckt das in einer Abbildung hnlich
wie in 3.3 aus, und modelliert die Aussagekraft als ein Kurve, die im mittleren Bereich am
hchsten ist.
Durch einen Mindestwert in der Aussagekrftigkeit bestimmt er einen Bereich der hilfrei-
chen Terme, die zwischen einer minimalen und maximalen collection frequency liegen (die
beiden vertikalen Linien). Die Oberschranke wird in der Praxis allerdings selten verwendet,
da man dem Nutzer die Suche nach eindeutigen Termen nicht verbieten will.
Die untere Schranke hingegen wird hug eingesetzt. Entweder tatschlich ber einen
bestimmten Schwellwert fr cf oder ber eine vorgefertigte Liste der hugsten Wrter.
Diese Wrter werden auch als Stoppwrter (stop words) bezeichnet. Es sind meist Wrter,
die zwar ntig sind, um syntaktisch korrekte Stze zu formen, die aber fr sich betrachtet
wenig oder nichts zur Semantik beitragen. Typische Beispiele sind Artikel (der, die, das,
ein, einer, ...), Konjunktionen (und, oder, ), Prpositionen (in, am, im, um, vom, ...) oder
Pronomen (er, sie, es, ihm, ihr, mein, dein ...). Der Umfang der in IR Systemen eingesetzten
Stoppwortlisten ist sehr unterschiedlich. So schtzt die Website RANKS.NL [Ran07] den
Umfang der von Google genutzten Stoppwortliste auf 36 Eintrge, whrend das Handbuch
der MySQL Datenbank [MyS07] fr Volltextsuchen einen Stoppwortindex von etwa 550
Wrtern auhrt.
Dass das Herausltern von Stoppwrtern aus dem Index nicht ganz problemlos ist, wird
klar wenn man betrachtet, das auch Wrter zur Negation (nicht) hug in den Stopp-
6
Die Suche nach einem bekannten Dokument ist ein anderes Thema.
50
3.3 Termlterung und -normalisierung
wortlisten enthalten sind. Je nach Anwendung (beispielsweise bei der Sentiment Analysis)
kann das Weglassen solcher Wrter zu verflschten Ergebnissen fhren.
Eine weitere Mglichkeit den Index zu verkleinern und Terme zu normalisieren bezieht
sich auf Gro- und Kleinschreibung. Ein Wort kann im Text allein durch seine Stellung
unterschiedlich geschrieben werden. So werden Wrter, die am Satzanfang stehen immer
gro geschrieben, selbst wenn das Wort an anderer Stelle im Text klein geschrieben wrde.
In berschriften gilt dies genauso (insbesondere im Englischen), hier werden die Wrter
gelegentlich sogar komplett gross geschrieben (Kapitlchen).
Diese Unterschiede in der Gro- und Kleinschreibung haben auf die Bedeutung der Wr-
ter keinerlei Einuss, weshalb mehrere Eintrge im Index nicht gerechtfertigt sind. Es gibt
zwei gngige Lsungen um dem entgegen zu wirken: Case Folding und True Casing. Beim
Case Folding wird der Term komplett in Gro- oder Kleinbuchstaben umgewandelt. Da-
durch wird jeglicher Unterschied in der Schreibweise ausgeglichen. Nachteil kann aber sein,
dass dadurch auch Terme mit verschiedenen Bedeutung zusammengelegt werden (US
und us, Elf und elf). Die Alternative True Casing bildet die Terme auf ihre korrekte
Schreibweise ab und gleicht nur abweichende Gro- und Kleinschreibung (beispielsweise
am Satzanfang) aus. Dafr istTrue Casing aber ungleich schwieriger umzusetzen.
Bei allen nderungen in der Schreibweise ist auch zu bedenken, wie der Nutzer seine An-
fragen stellt. Viele Nutzer, bedingt durch ihre Gewhnung an Web-Suchmaschinen, stellen
ihre Anfragen meist komplett kleingeschrieben.
Ein weiterer Punkt, wo Terme voneinander verschieden aussehen, aber eigentlich das
gleiche Wort beschreiben, sind Flexionen. Das heit ein Wort verndert seine Schreibweise
abhngig von seiner Funktion im Satz, also beispielsweise durch Konjugation oder Deklina-
tion. Die Terme Baum, Bume, Baums (Genetiv) beschreiben ebenso alle das gleiche
Konzept wie gehen, (du) gehst, ging und gegangen. Hier hilft die Zurckfhrung
der Terme auf eine Grund- oder Stammform.
Wird dies ber ein grammatikalisches Wrterbuch und korrekte Sprachanalysen erledigt,
so spricht von Lemmatisierung. Ein Lemma ist in diesem Zusammenhang die Grundform
des Wortes, beispielsweise so, wie man es im Wrterbuch nden wrde. Die Verbformen
gehen, gehst, ging und gegangen wrden also alle auf gehen abgebildet. Die
Entwicklung einer Software zur korrekten Lemmatisierung ist sehr aufwndig, deshalb gibt
es einen anderen, einfacheren Ansatz. Beim Stemming wird ein Wort durch Regeln auf
eine (grammatikalische oder knstliche) Stammform zurckgefhrt. Dazu kann es einfache
Regeln bezglich der Wortendung geben. So knnten im Deutschen unter anderem vielleicht
folgende Regeln eingesetzt werden:
innen in Fr Pluralformen: Studentinnen Studentin, Arbeiterinnen Arbeiterin
en e Fr Pluralformen: Flaschen Flasche, Blumen Blume, Seen See
ls, ts, gs l, t, g Fr Genetivformen: Mlls Mll, Blatts Blatt, Flugs Flug
Diese sehr einfachen Regeln knnen natrlich schnell zu fehlerhaften Stammformreduk-
tionen fhren: Finnen wird zu Fin (statt Finne), Meeren (Dativ plural) wird zu
51
3 Dokumentvorverarbeitung und Anfrageerweiterung
Meere (statt Meer). Das ist in manchen Fllen nicht weiter schlimm, sofern alle Wrter
eines Stamms auf die gleiche fehlerhafte Stammform zurckgefhrt werden und diese sich
nicht mit einem anderen Stamm berschneidet. Andere Fehler lassen sich durch mehrstu-
ge Verfahren oder Vorgabe einer Reihenfolge zur Anwendung der Regeln beheben. So muss
bei den obigen Regeln beispielsweise die Regel fr die Endung -innen vor der Regel fr -en
angewendet werden, damit sie berhaupt greifen kann. Alle Ausnahmen und Sonderflle
werden in Stemming Verfahren aber nie beachtet werden.
Das Snowball Projekt
7
bietet eine Vielzahl fertiger Stemmer fr verschiedener Sprachen
an. Darunter ist auch der hug verwendete Porter-Stemmer [Por80] fr englische Texte.
Es gibt noch weitere Flle in denen eine Normalisierung der Terme wnschenswert und
hilfreich wren. Beispielsweise bei Abkrzungen (U.S.A. oder USA, bzw. U.S. oder
US) oder unterschiedlichen Schreibweisen (naive oder nave, Heisenbergsche oder
Heisenbergsche, Spaghetti oder Spagetti).
In den bisherigen Fllen wurden Terme normalisiert und teilweise sogar zusammenge-
fasst. Manchmal ist es jedoch ntig, oenscheinlich gleiche Terme zu unterscheiden. Dies
ist bei Homonymen der Fall. Homonyme sind Wrter, die gleich geschrieben werden aber
unterschiedliche Bedeutungen haben. Anschauliche Beispiele sind Tau (Schisseil, Mor-
gentau), modern (verrotten, aktuell/neu), Bank (Geldinstitut, Sitzgelegenheit, Sand-
bank). Auch Personennamen knnen isoliert betrachtet manchmal vllig anders aufgefasst
werden (Bush, Kohl, Paris).
In all diesen Fllen wre es fr ein IR System hilfreich zu wissen, welche Bedeutung
des Terms gemeint ist. Dies lsst sich hug nur ber den Kontext erschlieen. Wenn
ein Text sich beispielsweise mit der Finanzkrise beschftigt, wird bei einer Bank wohl
kaum von der Sitzgelegenheit die Rede sein. Allgemein wird der Vorgang zur Ausung
von Mehrdeutigkeit als Disambiguierung bezeichnet.
3.4 Anfrageerweiterungen
Prinzipiell treten viele der Probleme und Fragestellung aus der Dokumentenvorverarbei-
tung auch bei der Analyse von Anfragen auf. Die Suchbegrie mssen als Token erkannt,
getrennt und normalisiert werden. Es erklrt sich von selbst, das ein IR System bei der
Verarbeitung und Normalisierung bei den Dokumenten und Anfragen gleich vorgehen muss.
In den Anfragen knnen aber noch andere Optionen zur Erweiterung und Verbesserung
des Systems eingebaut werden. Einige dieser Mglichkeiten, die vom darunterliegenden IR
Modell mehr oder weniger unabhngig sind, werden nun vorgestellt.
Die erste Erweiterung stellen Wildcards dar. Wildcards sind spezielle Zeichen, die in
Suchbegrien als Platzhalter fr andere Zeichen oder gar Zeichenketten dienen knnen.
Typischerweise dienen das Stern-Symbol () oder das Fragezeichen (?) als Wildcard Zei-
chen. Der Stern wird in Anlehnung an regulre Ausdrcke hug als Platzhalter fr eine
7
http://snowball.tartarus.org/
52
3.4 Anfrageerweiterungen
beliebige Anzahl von Zeichen verwendet, das Fragezeichen als Platzhalter fr genau ein
Zeichen. Wir gehen an dieser Stelle auf den allgemeineren Fall des Sterns ein.
Der Vorteil von Wildcards fr den Nutzer ist relativ klar. Er kann dadurch nach meh-
rerer Begrien gleichzeitig suchen. Ist er sich beispielsweise nicht sicher, ob der Begri
naive im Index zu naive oder nave normalisiert wird (bzw. ob er berhaupt norma-
lisiert wird), so kann er ber na?ve beide Formen abdecken. Auch Sprachgrenzen lassen
sich damit bedingt berbrcken: Universit ndet University, Universitt und Uni-
versit. Wildcards knnen bei generellen Unsicherheiten in der Schreibung eines Wortes
helfen (mit wie vielen f schreibt man nun Schifahrt?) oder als Variante zum Stemming
zur Anfragezeit dienen (geh ndet gehen, gehst, geh!, usw.).
Betrachten wir zunchst den einfachsten Fall, in dem ein Wildcard Zeichen am Ende des
Wortes steht. In diesem Fall kann man sich wieder die Sortierung der Terme im invertierten
Index zu Nutze machen. Zu einem Suchterm wird im Suchbaum nach einem zu
passenden Eintrag gesucht. Findet sich kein solcher Eintrag, so nimmt man im Suchbaum
den Eintrag, der direkt hinter stehen wrde. Von da ab hangelt man sich absteigend
solange durch die Eintrge durch, bis man den ersten Eintrag gefunden hat, der nicht
mehr mit beginnt. Das heit, insgesamt muss man einmal im Suchbaum suchen, und
danach ber genau so viele Suchterme laufen, wie es passende Terme gibt.
Wildcardsuche
Nehmen wir an, der Nutzer gibt als Suchbegri Knote ein. Dann wird im Index
zunchst nach Knote gesucht. Im Index in Abbildung 3.4 gibt es diesen Eintrag nicht,
also beginnen wir bei dem Eintrag, der nach einem Einfgen von Knote direkt
dahinter im Suchbaum stnde. Das ist in unserem Fall der Term Knoten. Von da
an werden aller Termeintrge als passend angesehen, die mit Knote anfangen, also
bis zum ersten unpassenden hier der Term Knothe. Die rot umrandeten Suchterme
stellen alle Eintrge dar, die zu Knote passen. Die Ergebnismenge kann in einem
boolschen IR System ber eine logische ODER Verknpfung der Posting Listen der
einzelnen Eintrge bestimmt werden.
Auer fr die eigentliche Suche eignet sich eine solche Wildcard Suche auf fr Erstellung
von Suchvorschlgen. Dabei werden die bisher vom Nutzer eingegebenen Zeichen als Such-
muster mit Stern am Ende interpretiert, die passenden Suchterme aus dem Index gezogen
und als Vervollstndigungsliste angezeigt. Das hilft dem Nutzer in zweierlei Hinsicht: ers-
tens muss er eventuell den Suchbegri nicht vollstndig eintippen sondern kann ihn aus
der Liste auswhlen (was wiederum bei Unsicherheiten bezglich der Schreibweise hilft),
zweitens bekommt der Nutzer bereits einen berblick welche Suchterme erfolgversprechend
sind. Taucht ein Begri nicht in der Liste auf, so ist er auch im Index nicht enthalten.
Steht ein Wildcard Zeichen in der Mitte eines Wortes, ist das Vorgehen nicht mehr
ganz so einfach und vor allem nicht mehr ohne zustzliche Erweiterung des Index ezient
53
3 Dokumentvorverarbeitung und Anfrageerweiterung
Abbildung 3.4: Bestimmung der passenden Terme zu Knote.
umsetzbar. Hierzu sollen an dieser Stelle zwei Anstze vorgestellt werden: der Permuterm
Index und eine Lsung die zeichenbasierte k-Gramme verwendet.
Der Permuterm Index ist ein zweiter Suchbaum, um den der invertierten Index erweitert
wird. Dieser zweite Suchbaum enthlt keine Posting Listen, sondern verweist nur auf die
Terme im regulren Suchbaum. Dafr enthlt der Permuterm Index deutlich mehr Eintrge.
Zum Aufbau des Permuterm Index wird zunchst an jeden Term ein spezielles Zeichen
angehngt, welches das Wortende symbolisiert (z.B. das $ Zeichen). Dieser um das Wor-
tendezeichen erweiterte Term wird als erstes in den Permuterm Index eingetragen und
mit dem Originalterm im invertierten Index verknpft. Dann wird schrittweise immer das
erste Zeichen vom Anfang entfernt und hinten angestellt, bis wieder die Ausgangsfassung
erreicht ist. Jeder dabei entstehende Term wird in den Permuterm Index einsortiert. Abbil-
dung 3.5 zeigt, welche Formen fr das englische Wort hut (Htte) durch dieses Verdrehen
entstehen.
Abbildung 3.5: Permuterm Index Eintrge zu hut.
Dieses Vorgehen erzeugt einen sehr groen zweiten Suchbaum, den man allerdings sehr
ezient fr Suchbegrie mit einem Wildcard Zeichen an beliebiger Stelle einsetzen kann.
Wenn der Suchterm von der Form ist, lassen sich die passenden Term Eintrge folgen-
dermaen herausnden. Zunchst wird der Wildcard Suchterm ebenfalls um das Termende
Symbol $ erweitert. Das daraus entstehende $ wird nun so gedreht, dass der Stern
54
3.4 Anfrageerweiterungen
am Ende steht, also zu $. Zu diesem Ausdruck, der nun wieder das Wildcard Symbol
am Ende stehen hat, schlgt man alle passenden Eintrge im Permuterm Index, bzw. die
damit verknpften Term Eintrge nach.
Permuterm Index
Nehmen wir aus einem Suchbaum die (englischen) Terme hat, hut und hunt
heraus. Der daraus erzeugt Permuterm Index sieht aus wie in Abbildung 3.6. Bei
einer Suche nach ht wird dieser Suchbegri zunchst zu ht$ ergnzt und dann
zu t$h gedreht. Schlgt man die passenden Eintrge im Permuterm Index nach, so
erhlt man t$ha mit Verweis auf hat, t$hu mit Verweis auf hut und t$hun
mit Verweis auf hunt. Eine Suche nach hut wrde zu t$hu und liefert letzt-
endlich die Posting Listen der Terme hut und hunt.
Abbildung 3.6: Permuterm Index mit Eintrgen zu drei Termen.
Fr Suchterme mit mehr als einem Wildcard Operator kann man ber den Permuterm
Index zunchst den letzten Operator ausen und damit eine Liste mglicherweise pas-
sender Terme nden. Einen Suchterm wandelt man dazu wieder in $
um und dreht ihn zu $ weiter. Dann schneidet man nach dem ersten Stern ab und
sucht nach $. In einem zweiten Schritt whlt man den naiven Ansatz und durchforstet
55
3 Dokumentvorverarbeitung und Anfrageerweiterung
die (hoentlich recht kurze) Liste nach den Termen, die auch die anderen Bedingungen
erfllen, die also hier das enthalten.
Suche mit mehreren Wildcards
Die Suche nach Beanschaft wird zu schaft$Be transformiert. Diese Suche lie-
fert zunchst viel mehr Treer als gewnscht. Nehmen wir an sie fhrt zu folgender
Liste von Termen: Bekanntschaft, Belegschaft, Bereitschaft, Berglandschaft.
Durchforstet man nun diese Liste und prft die Worte, ob sie auch das noch fehlende
an enthalten, so fallen Belegschaft und Bereitschaft heraus, es verbleiben nur
die passenden Terme Bekanntschaft und Berglandschaft.
Das grte Problem mit Permuterm Indizes ist, dass sie sehr viel Speicherplatz bentigen.
Zu jedem Term der Lnge n werden n+1 Eintrge im Permuterm Index erzeugt.
Ein alternativer Ansatz sind k-Gramme. Die Idee der k-Gramme ist, die Terme in Schnip-
sel der Lnge k zu zerlegen und Suchbegrie mit Wildcards ebenfalls in solche Stcke zu
zerschneiden. Auch hier wird der invertierte Index um einen zustzlicher Suchbaum erwei-
tert.
Dazu werden die Terme im invertierten Index zunchst wieder um ein gesondertes Symbol
erweitert (wir nehmen wieder $). Diesmal wird allerdings nicht nur das Wortende, sondern
auch der Wortanfang mit $ markiert. Dieser erweiterte Term wird dann in k-Gramme
zerlegt, also in alle mglichen Schnipsel der Lnge k.
k-Gramme
Nehmen wir den Term Hand und whlen fr k den Wert 3 (diese Einstellung n-
det sich hug in der Literatur). Der Term wird zu $Hand$ erweitert und wie in
Abbildung 3.7 gezeigt in Schnipsel der Lnge 3 zerlegt: die 3-Gramme $Ha, Han,
and und nd$.
Abbildung 3.7: Erstellung der 3-Gramme zum Term Hand.
Auch in diesem Fall entstehen zu jedem Term mehrere Eintrge. Der Unterschied und
damit auch die Ersparnis beim Speicherplatz ist, dass viele der k-Gramme in mehreren
Termen auftreten. Deshalb verweisen die k-Gramm Eintrge auch nicht direkt auf Terme
56
3.4 Anfrageerweiterungen
im invertierten Index, sondern enthalten eine Art Posting Liste mit den Termen, welche
das k-Gramm enthalten.
k-Gramm Index
Zum bereits oben erwhnten Term Hand nehmen wir noch die Terme Band,
Bank und Bund hinzu. Ergnzt man alle Terme um das Beschrnkungszeichen $
und zerlegt sie in 3-Gramme, erhlt man den 3-Gramm Suchbaum mit Referenzlisten
auf die Terme wie in Abbildung 3.8. Die vier Terme sind der bersichtlichkeit halber
wieder unterschiedlich eingefrbt.
Abbildung 3.8: k-Gramm Index mit Referenzen auf die Terme Band, Bank, Bund
und Hand.
Bei einer Suche im k-Gramm Index geht man so vor, dass die Anfrage zuerst um das
Begrenzungssymbol $ erweitert und dann an den Wildcards in Teile zerlegt wird. Sind diese
Teile lnger als k, so werden aus ihnen wiederum k-Gramme geformt. Diese k-Gramme
werden im entsprechenden Index gesucht und die erhaltenen Ergebnislisten mit einander
geschnitten. Damit erhlt man genau die Terme, die alle in der Suchanfrage enthaltenen
k-Gramme enhalten. Dabei knnen natrlich noch Terme auftreten, die zwar die richtigen
k-Gramme enthalten, diese allerdings in der falschen Reihenfolge oder mit anderen k-
Grammen dazwischen. Deshalb wird die (wiederum hoentlich relativ kurze) Liste der
Ergebnisse in einem zweiten Schritt noch einmal gegen das eigentliche Suchmuster geprft.
57
3 Dokumentvorverarbeitung und Anfrageerweiterung
Suche mit k-Grammen
Sucht man im obigen Beispiel nach and, wird dieser Ausdruck in die 3-Gramme
and und nd$ zerlegt. Nach dem Verschmelzen der Ergebnislisten bleiben die
Treer Hand und Band brig.
Bei einer Suche nach ren knnte im 3-Gramm Suchbaum neben korrekten Termen
wie rennen auch der Term referenzieren gefunden werden. Er enthlt die beiden
3-Gramm $re und ren, die aus der Anfrage entstehen allerdings nicht hinter-
einander. Daher mssen solche Falschtreer in einem zweiten Schritt herausgeltert
werden.
Als letzter Punkt soll noch ein Ansatz zur Rechtschreibkorrektur bei der Eingabe von
Anfragen betrachtet werden. Die Funktion ist heute in vielen Websuchmaschinen Standard.
Wenn der Nutzer sich bei der Formulierung seiner Anfrage vertippt (beispielsweise reti-
reval statt retrieval) wird er vom IR System darauf hingewiesen und bekommt sogar
Korrekturvorschlge (Meinten Sie vielleicht ..., wie in Abbildung 3.9).
Zunchst muss jedoch festgestellt werden, ob der Nutzer sich berhaupt vertippt hat.
Gute Hinweise darauf sind Suchbegrie, die nicht im Vokabular enthalten sind oder fr
die es nur sehr wenige Treer gibt (nmlich Dokumente von Autoren die sich vermutlich
ebenfalls vertippt haben). Beides gilt natrlich nur, wenn das IR System auf einem groen
Korpus arbeitet, in dem sich ein Groteil aller Wrter wiederndet. Ein weiterer Hinweis
kann der Kontext anderer Suchbegrie sein. So nden sich zum Suchbegri Tante sicher-
lich gengend Treer. Im Kontext von Drucker Tante aullen wird jedoch klar, dass
der Nutzer hier wohl eher Tinte meinte.
Genau wie bei der Feststellung von fehlerhaften Eingaben entweder die Suchterme isoliert
oder im Kontext betrachtet werden knnen, kann auch die Korrektur isoliert oder im
Kontext erfolgen. An dieser Stelle wollen wir jedoch nur ganz kurz auf eine Mglichkeit
zur isolierten Betrachtung eingehen.
Was hierfr bentigt wird, ist ein Ma, welches zu einem vermutlich fehlerhaften Such-
begri solche Terme ndet, die Korrekturen sein knnten. Eine klassisches Ma zur Ab-
standsbestimmung und Fehlerkorrektur zwischen zwei Zeichenketten ist der Levenshtein-
Abstand [Lev65]. Dabei wird versucht aus einer Zeichenkette die andere durch Ersetzen,
Einfgen und Lschen von Zeichen zu berfhren. Jede der Operationen ist mit gewissen
Kosten verbunden und der Levenshtein-Abstand beruht auf den minimal aufzuwendenden
Kosten fr diese Transformation. Die Berechnung des Levenshtein-Abstandes ist jedoch
recht aufwndig und fr ein umfangreiches Vokabular nicht mehr handhabbar.
Daher mssen aus dem Vokabular zunchst passende Kandidaten fr die Abstandbe-
rechnung herausgeltert werden. Dies lsst sich auf verschiedene Arten realisieren. Eine
recht einfache Mglichkeit basiert wieder auf k-Grammen. Man zerlegt den vermutlich feh-
lerhaften Anfrageterm in k-Gramme und hot, dass sich nur wenige Fehler eingeschlichen
58
3.4 Anfrageerweiterungen
Abbildung 3.9: Rechtschreibkorrektur bei Google.
haben. Dann wirken sich die Fehler auf nur relative wenige k-Gramme aus und ein Groteil
bleibt unverndert.
Sucht man dann die Terme heraus, welche zumindest einen Teil der gleichen k-Gramme
enthalten, kann ber den Jaccard-Koezient eine hnlichkeit berechnet werden. Dazu
nimmt man die Menge F der k-Gramme im fehlerhaften Term und die Menge R der k-
Gramme in einem richtig geschriebenen Term. Dann bestimmt man:
sim
Jaccard
(F, R) =
[F R[
[F R[
Dieses hnlichkeitsma
8
nimmt einen Wert von 1 an, wenn die Menge bereinstimmen
und liegt je nher bei 0 je verschiedener sie sind. Der Jaccard-Koezient kann bereits
direkt als Kriterium fr die Auswahl von Korrekturvorschlgen verwendet werden, kann
aber auch nur als Vorlter fr einen Abstandsberechnung ber Levenshtein dienen.
8
Abstandsmae und hnlichkeitsmae sind eng miteinander verwand. Schlielich wird ein geringer Ab-
stand immer als groe hnlichkeit interpretiert. Auch mathematisch lassen sich die beiden Konzepte
bedingt in einander berfhren.
59
3 Dokumentvorverarbeitung und Anfrageerweiterung
Jaccard-Koezient
Bei einer Suche nach retireval wird dieser Suchterm in k-Gramme der Lnge 2
zerlegt (der Wert k=2 scheint in diesem Zusammenhang fr Worthnlichkeiten gut
geeignet zu sein). Es entstehen also die 2-Gramme re, et, ti, ir, re, ev,
va und al. Die Menge F der 2-Gramme ist also al, et, ev, ir, re, ti, va. Terme,
die ebenfalls mehrere dieser 2-Gramme enthalten sind t
1
=retrieval, t
2
=tire
und t
3
= medieval. Deren 2-Gramm Mengen sind R
1
= al, et, ev, ie, re, ri, tr, va,
R
2
= ir, re, ti und R
3
= al, di, ed, ev, ie, me, va. Die Jaccard-Indizes dazu sind:
sim
Jaccard
(F, R
1
) =
5
10
= 0, 5
sim
Jaccard
(F, R
2
) =
3
7
= 0, 43
sim
Jaccard
(F, R
3
) =
3
13
= 0, 23
Anhand dieses Beispiels kann man sehen, dass retrieval einen hheren hnlich-
keitswert zu retireval erhlt als tire, obwohl letzteres komplett darin enthalten
ist.
Gibt es mehrere Korrekturvorschlge mit dem gleichen Abstands- oder hnlichkeitswert,
so wird fr gewhnlich der Term ausgewhlt, der huger im Korpus auftritt. Zustzlich
knnen Korrekturvorschlge auch direkt in die Suche und die Ergebnismenge aufgenommen
werden (unter entsprechendem Hinweis). Das gilt insbesondere dann, wenn der fehlerhafte
Suchbgeri keine Ergebnisse liefern wrde.
Eine solche Rechtschreibkorrektur liee sich vom Prinzip her auch auf die Dokumente
zum Zeitpunkt der Indizierung anwenden. Kritisch dabei ist aber, dass man i.d.R. keinen
Nutzer (also Autor) zur Hand hat, den man um Rckmeldung fragen knnte. Schlielich ist
bereits das Erkennen eines Fehlers bereits nur eine Vermutung und die Korrekturvorschlge
sind noch viel unsicherer.
Eine weitere Mglichkeit die Suchanfrage eines Nutzers sinnvoll zu erweitern, wenn nicht
genug Ergebnisse gefunden werden ist ein Thesaurus. Durch ihn knnen Synonyme, Ober-
begrie oder verwandte Alternativbegrie in die Suche mit aufgenommen werden. Liefert
eine Suche nach Orangenbaum nur sehr wenige Treer knnte die Suche um Apfelsi-
nenbume oder Obstbume erweitert werden.
3.5 Zusammenfassung
In diesem Kapitel haben wir uns zunchst angeschaut, wie Dokumente vorverarbeitet wer-
den mssen, um aus einer Datei die Terme fr den Index zu gewinnen. Neben der Er-
kennung und Handhabung verschiedener Dateiformate gehrte dazu die Tokenisierung und
60
3.5 Zusammenfassung
Normalisierung der Tokens. Anstze wie Stemming oder Case-Folding fhren dazu, dass ein
boolsches IR System etwas toleranter wird und nicht mehr nur exakt passende Suchbegrie
ndet.
Wir haben uns auch verschiedene Mglichkeiten angesehen, die Suche in einem boolschen
IR System bezglich der Anfragen exibler zu machen, bzw. die Funktionalitt auszubauen,
ohne dabei das Modell ndern zu mssen. Dazu haben wir einerseits Wildcards erlaubt,
andererseits kurz die Option der Fehlererkennung und -korrektur angesprochen. Wichtige
Konzepte hierzu waren der Permuterm Index und k-Gramme.
In gewissem Umfang lassen sich die hier eingefhrten Techniken auch auf andere IR-
Modelle bertragen.
61
3 Dokumentvorverarbeitung und Anfrageerweiterung
62
4 Erweiterungen des Boolschen Modells
Die Ergnzungen und Variationen im letzten Kapitel haben das eigentliche Modell des
boolschen IR nicht angetastet. Letztendlich liefen alle vorgestellten Verfahren auf eine ein-
fache wenn auch exiblere Volltextsuche in den Dokumenten heraus, an deren Ende eine
Liste gleichwertiger Treer steht. In diesem Kapitel werden wir nun einige Mglichkeiten
kennen lernen, die Wichtigkeit eines Dokumentes zu einer Anfrage etwas dierenzierter zu
betrachten und ein Ranking der Ergebnisse zu erstellen.
Die grundlegende Idee des zonenbasierten Ansatzes ist es, im Index zu bercksichtigen, in
welcher Funktion oder in welcher Position ein Term im Dokument steht. Taucht ein Term in
einer berschrift auf, so knnte dies als strkerer Hinweis auf die Relevanz gesehen werden,
als wenn er beispielsweise in einer Funote auftritt. Entsprechend werden die Terme mit
Gewichten versehen.
Der zweite Ansatz, der in der Literatur unter dem Begri Extended Boolean Retrieval
bekannt ist, geht noch einen Schritt weiter. ber eine geometrischen Interpretation der
Dokumente, die auf den Termvorkommen basiert, werden die strikten Forderung der bool-
schen Operatoren und und oder etwas aufgeweicht und den intuitiven Erwartungen eines
Nutzers angepasst.
4.1 Zoneninformationen im Index
Ein blicher Ansatz, um die Relevanz eines Dokumentes fr eine Anfrage besser modellieren
zu knnen liegt in der Gewichtung der Terme. Das heit, dass bei den Termen nicht mehr
nur zwischen enthalten und nicht enthalten unterschieden wird, sondern dass fr jeden
Term ein Ma angegeben wird, wie gut er das Dokument beschreibt. Ein solches Ma
zur Bestimmung der Termgewichte kann sein, die Funktion oder Position eines Terms im
Dokument auszuwerten
1
.
Um boolsches Retrieval mit solchen Gewichten zu versehen, mssen wir zunchst wieder
den Index etwas erweitern. Wenn nmlich die Funktion oder Position eines Terms bei der
Suche bercksichtigt werden soll, dann mssen die entsprechenden Informationen auch zur
Verfgung stehen.
Vorher stellt sich jedoch die Frage, wie die Funktion eines Terms im Dokument erkannt
werden kann. Dazu knnen einerseits strukturelle Informationen aber auch Angaben in
Metadaten dienen.
1
Wir werden in den nchsten Kapiteln noch verschiedene weitere Mglichkeiten zur Gewichtung kennen
lernen. Die hier vorgestellte Gewichtung ist jedoch relativ leicht nachvollziehbar und ndet in der Praxis
noch erstaunlich hug Anwendung in einfachen IR-Systemen.
63
4 Erweiterungen des Boolschen Modells
Metadaten gehren nicht zu den eigentlichen Inhalten eines Dokuments sondern be-
schreiben das Dokument selbst (allgemein werden Metadaten auch als Daten ber Daten
bezeichnet). Dazu knnen Informationen wie der Autor, ein Datum (Verentlichung, letz-
ter Dateizugri, Eingangsdatum einer E-Mail), die Form (Text, Bild, Video), technische
Angaben zur Kodierung (Zeichensatz) aber auch eine Kategorisierung (RVK
2
; DDC
3
) oder
die Art des Inhalts (Gedicht, Roman, Sachtext) gehren.
Der Vorteil an Metadaten (sofern sich ihre Vergabe an einem Muster wie beispielswei-
se dem Dublin Core
4
orientiert) ist, dass die Angaben zu den einzelnen Informationen auf
einen recht klaren Wertebereich schlieen lsst. Der Autor wird durch einen Namen gekenn-
zeichnet, das Datum gibt einen Tag und/oder Zeitpunkt wieder, die Kodierung den Namen
eines Zeichensatzes. Diese recht przisen Wertebereiche erinnern ein wenig an die klaren
Strukturen und Semantik in relationalen Datenbanken. Die Informationen in Metadaten
werden auch als Feldinformationen bezeichnet.
Strukturelle Informationen knnen exibler angelegt sein und beziehen sich auf die Po-
sition eines Terms im Dokument. So knnten als Strukturen berschriften, Zusammen-
fassungen (Abstracts), Textkrper, Tabellen, Listen, Funoten oder Referenzen festgesetzt
werden. Deren Werte, also die Inhalte, hngen aber vom Dokument ab und es kann kein
(semantisch) fester Wertebereich abgesteckt werden. Solche Informationen werden als Zo-
neninformationen bezeichnet.
Beide Arten der Daten lassen sich mit in den Index aufnehmen. Allgemein spricht man
von einem parametrischen oder einem Zonen Index. Dazu knnen die Termeintrge im
Suchbaum entsprechend um eine Typangabe erweitert werden, in welcher Funktion die
Terme aufgetreten sind. Bei einer Suche gibt der Nutzer dann mit an, in welcher Funktion
er einen Suchterm versteht.
Posting Listen fr einzelne Zonen
Nehmen wir den Term Goethe. Dieser kann sowohl in den Metadaten als Autor auf-
treten, als auch im Titel eines Dokuments oder im eigentlichen Textkrper. Dement-
sprechend gbe es drei Eintrge im Vokabular, welche die unterschiedlichen Auspr-
gungen reprsentieren. Jeder Eintrag htte wie in Abbildung 4.1 eine eigene Posting
Liste.
Alternativ knnen fr bestimmte Metadaten auch eigene Suchbume aufgebaut werden.
Die Eintrge in den Posting Listen eines invertierten Index zu Autoren oder Erscheinungs-
datum knnen dann mit den Ergebnissen aus einer gewhnlichen boolschen Suche nach
Termen verknpft und geschnitten werden.
2
RVK = Regensburger Verbundklassikation
3
DDC = Dewey Decimal Classication
4
(Website) ... website DC ...
64
4.2 Gewichtung mit einem Zonenindex
Abbildung 4.1: Zonenindex mit Vokabulareintrgen zu jeder Ausprgung eines Terms.
Ein dritter Ansatz ist, die Funktion der Terme nicht im Vokabular sondern in den Pos-
ting Eintrgen zu speichern. Diese Herangehensweise ist vergleichbar zur Aufnahme von
Positionsangaben in die Postings fr Phrasen oder NEAR-Anfragen. Der Vorteil hierbei
ist, dass allgemeine Suchen ganz regulr wie bisher behandelt werden knnen und eine Su-
che nach einer bestimmten Facette (z.B. Autor) als Einschrnkung auf den Ergebnislisten
operieren kann.
Zoneninformation in den Posting Eintrgen
Die Eintrge zu Goethe im obigen Beispiel wrden alle in einer Posting Liste ver-
eint. Jedem Posting wird aber noch angehngt, in welcher Zone der Term aufgetaucht
ist (siehe Abbildung 4.2).
Abbildung 4.2: Vermerk der Zone in den Posting Eintrgen.
4.2 Gewichtung mit einem Zonenindex
Das Vermerken der Funktion oder Zone eines Postings im Index ist hilfreich, wenn der
Nutzer ganz gezielt nach einem Autor, einem Titelstichwort oder einem Erscheinungsda-
tum sucht. Man kann diese zustzlichen Informationen aber auch zur Bestimmung eines
Relevanzwertes einsetzen. Wenn man nmlich davon ausgeht, dass das Auftreten eines
Terms im Titel strker auf die Relevanz des Dokuments hinweist als beispielsweise das
Vorkommen in einer Funote.
Fr die formale Denition gehen wir von einem Zonenindex mit Z verschiedenen Zonen
aus. Als erstes denieren wir eine Art facettierte Retrievalfunktion
l
: D Q 0, 1,
die wie die boolsche Retrievalfunktion deniert ist, jedoch nur die Zone l bercksichtigt.
65
4 Erweiterungen des Boolschen Modells
Das heit, die Funktion
l
liefert uns letztendlich eine Aussage darber, ob eine Anfrage
in einer ganz bestimmten Zone zu einem Ergebnis fhrt.
Die gewichtete Retrievalfunktion
w
: DQ [0, 1] basiert auf den facettierten Retrie-
valfunktionen und einer Gewichtung g
l
der Zonen. Die Gewichte addieren sich ber allen
Zonen zu einer Summe von 1 auf. Dann ist
w
deniert als:

w
(d
i
, q) =
Z

l=1
g
l

l
(d
i
, q)
Diese Denition ist quivalent zu einem Ansatz, in dem zunchst allgemein ber alle
Zonen geprft wird, welche Ergebnisse zur Suchanfragen passen also im Prinzip ohne
Brcksichtigung der Zoneninformation und die Gewichte werden erst nachfolgend und
nur auf diesen Ergebnissen eingerechnet.
Die Ergebnismenge zur Anfrage q setzt sich dann aus den Dokumenten d
i
zusammen,
deren Wert
w
(d
i
, q) grer als 0 ist. Darber hinaus werden die Eintrge nach ihrem
w
Wert absteigend sortiert. Das fhrt dazu, dass solche Dokumente zuerst aufgefhrt werden,
bei denen die Suchterme in hher gewichteten Zonen auftreten.
Gewichtete Suche im Zonenindex
Betrachten wir vier Dokumente, die jeweils die Zonen Titel (T), Zusammenfassung
(A) und Textkrper (B) enthalten.
1. Dokument d
1
T: Klein wie ein Handy
A: Die neuen Netbooks sind noch kleiner
B: Die neueste Generation Netbooks ist winzig klein.
2. Dokument d
2
T: Neuheiten der Handy Hersteller
A: Die Hersteller prsentieren neue Gerte
B: Auf einer groen Messe fr Mobilfunk stellten Hersteller neue Handy
Modelle vor.
3. Dokument d
3
T: Mehr silberne Surfer
A: Immer mehr ltere Menschen nutzen das WWW
B: Die Zahl der silbernen Surfer wchst.
4. Dokument d
4
T: Mobilfunkmarkt wchst langsamer
A: Der Markt sttigt sich
66
4.2 Gewichtung mit einem Zonenindex
B: Fast jeder hat inzwischen ein Handy daher wchst der Markt immer
langsamer.
Als Gewichte legen wir fest g
T
= 0, 2, g
A
= 0, 3 und g
B
= 0, 5. Auf die Anfrage
q =Handy berechnen wir nun die Werte der facettierten Retrievalfunktion fr die
einzelnen Zonen:

T
(d
1
, q) = 1

A
(d
1
, q) = 0

B
(d
1
, q) = 0
;

T
(d
2
, q) = 1

A
(d
2
, q) = 0

B
(d
2
, q) = 1
;

T
(d
3
, q) = 0

A
(d
3
, q) = 0

B
(d
3
, q) = 0
;

T
(d
4
, q) = 0

A
(d
4
, q) = 0

B
(d
4
, q) = 1
Die Gewichtung ergibt dann fr die einzelnen Dokument:

w
(d
1
, q) = 0, 2 1 + 0, 3 0 + 0, 5 0 = 0, 2

w
(d
2
, q) = 0, 2 1 + 0, 3 0 + 0, 5 1 = 0, 7

w
(d
3
, q) = 0, 2 0 + 0, 3 0 + 0, 5 0 = 0

w
(d
4
, q) = 0, 2 0 + 0, 3 0 + 0, 5 1 = 0, 5
Dementsprechend wird Dokument d
3
gar nicht in die Ergebnisliste aufgenommen. Die
anderen Dokumente werden sortiert in der Reihenfolge d
2
, d
4
, d
1
aufgefhrt.
Bezglich der Gewichte verdeutlicht das Beispiel auch etwas anderes: die landluge
Meinung, dass ein Suchterm im Titel wichtiger ist als im Textkrper fhrt im Allge-
meinen nicht zum gewnschten Ergebnis bei den Retrievalergebnissen. Das lsst sich
auch anschaulich begrnden. Wenn ein Term fr ein Dokument relevant ist, dann
stehen die Chancen sicherlich gut, dass er im Titel auftritt. Die Wahrscheinlichkeit,
den Term im Text anzutreen ist aber noch viel hher, denn der Autor wird in den
seltensten Fllen um die Verwendung des damit verbundenen Begris herumkommen.
Das Auftreten eines Terms im Titel kann also eher als Bonus gewertet werden.
Zur praktischen Umsetzung der Berechnung der Gewichtung eines Dokuments geben
Manning, Raghavan und Schtze [MRS08] einen Algorithmus vor, der das Schneiden zwei-
er Ergebnislisten direkt mit der Berechnung der Gewichtung verbindet. Bei allgemeineren
Anfragen (Kombinationen aus mehreren Suchtermen und verschiedenen boolschen Ope-
ratoren) drfte dies bei der hier verwendeten Gewichtung jedoch schwieriger werden. Da
jedoch sowieso die Posting Eintrge mitgeschleift werden, kann auch zunchst die kom-
plette Ergebnisliste berechnet werden und die Gewichtung wird in einem nachgelagerten
Schritt durchgefhrt. Dazu muss in den zwischenberechneten Ergebnislisten nur vermerkt
werden in welchen Zonen ein Dokument als relevant galt.
Es bleibt die Frage, wie man die Gewichte am sinnvollsten whlt. Hier kann eine Fein-
abstimmung sehr stark die Ergebnisse und somit auch das Verhalten eines IR Systems
beeinussen. Je mehr Zonen es gibt, desto schwieriger wird eine manuelle Optimierung
67
4 Erweiterungen des Boolschen Modells
der Gewichte. Sind jedoch zu einigen Anfrage und Ergebnismengen Relevanzaussagen von
Nutzern bekannt, so kann versucht werden, die Gewichte ber Methoden der Knstlichen
Intelligenz und des Maschinellen Lernens automatisch zu optimieren. Dabei werden die Ge-
wichte dann so gewhlt, dass sie auf den bekannten Daten zu mglichst guten Ergebnissen
fhren wrden.
4.3 Zonen in HTML Dokumenten
Dokumente im HTML-Format eignen sich recht gut fr die Erfassung von Zonen. Durch die
semantische Bedeutung der Markup Elemente kann man schnell und einfach erkennen, ob
ein Textschnipsel in einer berschrift oder im Textkrper steht. Auch Meta-Informationen
werden vom Standard untersttzt. Diese knnen sogar eine inhaltliche Zusammenfassung
bereitstellen. Die einfache Bestimmung von Zonen in HTML Dokumenten ist sicherlich
einer der Grnde dafr, dass auf diesen sehr hug gewichtetes boolsches Retrieval ange-
wendet wird.
Auch wenn die entsprechenden Elemente in HTML nicht immer korrekt und vollstndig
5
genutzt werden, so lassen sich doch einige einfache Regeln zur Zonenerkennung formulieren:
Ein meta-Element mit dem name-Attributswert author gibt im Attribut content den
Autor des Dokumentes an.
Bei einem name-Attribute mit Wert description ndet sich im meta-Element eine
Zusammenfassung.
Ein name-Wert keywords liefert geeignete Terme fr eine Indizierung.
Der name-Wert date in einem meta-Element deutet an, dass dieses ein Erstellungs-
oder Verentlichungsdatum enthlt.
Beginnen der name-Wert mit DC so sind die Meta-Daten nach Dublin Core ausge-
zeichnet.
Die Elemente h1 bis h6 stellen berschriften dar.
Die Darstellung von Abstzen und Textblcken kann durch verschiedene Konstrukte
realisiert werden. Das HTML Format deniert passend hierzu in der DTD [RHJ99]
sogenannte Block-Elemente, zu denen beispielsweise p, div, ul und ol gehren.
5
Der visuelle Eindruck einer Webseite hat noch immer Vorrang. Daher werden beispielsweise die Element
h1 bis h6 nicht nur zur Auszeichnung von berschriften eingesetzt und umgekehrt sind nicht alle
berschriften mit den entsprechenden Tags ausgezeichnet. Auch die Verwendung der meta-Element ist
keinesfalls Standard.
68
4.3 Zonen in HTML Dokumenten
Abbildung 4.3: Webdokument in der Browseransicht.
Zonen in HTML
Abbildung 4.3 zeigt einen Artikel des News Portals Spiegel Online [Dam09] zu Pack-
problemen. Das Dokument liegt im HTML Format vor und die Abbildung zeigt wie
es in einem modernen Browser dargestellt wird.
Der Quelltext zu diesem Dokument ist (erwartungsgem) umfangreich und umfasst
etwa 76 KB. Ein Ausschnitt aus einer deutlich bereinigten Fassung mit den fr uns
interessanten Eintrgen ist in Abbildung 4.4 zu sehen. Dort sind insbesondere einige
der fr einen Zonenindex interessanten Passagen zu sehen.
69
4 Erweiterungen des Boolschen Modells
Abbildung 4.4: Ausschnitt aus dem zusammengefassten HTML Quellcode mit Zonen.
Die meta-Elemente geben genau die Ausknfte, fr die sie deniert wurden. Einzig
der Autor ist nicht konsistent mit der Angabe im Dokument selbst. Statt des Namens
des Verfassers wird im meta-Element der Verlag angegeben. Der einleitende Absatz
(teaser) des Artikels taucht im meta-Tag als description auf er wre sonst auch ohne
weitere Kenntnisse nur schwer im tatschlichen Text zu identizieren.
4.4 Erweitertes Boolsches IR
Eine Strke aber gleichzeitig auch eine Schwche des Boolschen Modells ist seine Schrfe.
Die Auassung von Relevanz als Eigenschaft mit den binren Werten 1 oder 0 erlaubt eine
przise Auswahl von Dokumenten aber gleichzeitig keinerlei Flexibilitt bei den Ergebnis-
sen. Eine Suche nach t
1
und t
2
bedeutet, dass ein Dokument mit nur einem der Terme als
nicht relevant gilt. Umgekehrt wird bei einer Anfrage der Form t
1
oder t
2
kein Wert darauf
gelegt, ob eventuell sogar beide Terme in einem Dokument enthalten sind
6
. Beide Beispiele
6
Das gilt im Wesentlichen auch fr die gewichtete Variante des Zonenindex
70
4.4 Erweitertes Boolsches IR
zeigen, dass dieses Verhalten des Boolschen Modells der intuitiven Annahme eines Nutzers
entgegensteht.
Eine Erweiterung des Boolschen Model ls [SFW83] nimmt sich genau dieser Schwchen
an. Es bercksichtigt in einer und Anfrage auch solche Dokumente, die nicht alle gefor-
derten Terme enthalten, reiht sie in der Ergebnisliste aber eher gegen Ende ein. Ebenso
werden bei einer oder Anfrage solche Dokumente als relevanter eingestuft, die mehrere
der Suchterme enthalten. Darber hinaus knnen in diesem Modell auch gewichtete Terme
bercksichtigt werden, doch dazu spter mehr.
Die Idee des Verfahrens lsst sich am einfachsten an Anfragen mit zwei Termen erklren.
Wir betrachten also Anfragen vom Typ t
1
und t
2
, bzw. t
1
oder t
2
. Da wir zunchst auch
weiterhin davon ausgehen, dass nur das Auftreten oder Fehlen von Termen in einem Doku-
ment eine Rolle spielt, gibt es vier Kombinationen, in denen die Terme in einem Dokumente
auftreten knnen: sie sind beide enthalten, es ist nur t
1
enthalten, es ist nur t
2
enthalten
oder es ist keiner der Terme enthalten. Ordnet man diese Mglichkeiten auf einem zwei-
dimensionalen Gitter an, so erhlt man ein Bild wie in Abbildung 4.5. Die verschiedenen
Ausprgungen der Dokumente knnen als Eckpunkte eines Quadrats angesehen werden.
Abbildung 4.5: Zweidimensionale Darstellung der Kombinationsmglichkeiten fr das Auf-
treten zweier Terme in einem Dokument.
Von einer klassischen Anfrage zu t
1
und t
2
werden nur solche Dokumente erfasst, die
genau auf dem Punkt (1, 1) in der rechten oberen Ecke liegen. Daher knnte man an-
schaulich auch die Anfrage selbst auf diesem Punkt positionieren. Ausgehend von dieser
geometrischen Anordnung von Dokumenten und Anfrage wird nun fr alle Dokumente
einen Relevanzwert berechnen. Dieser basiert auf dem Abstand des Dokumentpunktes in
diesem Quadrat zum Punkt der Anfrage, wobei nher gelegene Punkte als relevanter gelten.
Die zweidimensionalen Koordinaten eines Dokumentes d
i
lassen sich mit den boolschen
Eintrgen (
[1]
i
,
[2]
i
) ausdrcken, die wir bereits in Kapitel 2 verwendet haben. Damit lsst
sich der euklidische Abstand zum Punkt (1, 1) der Anfrage t
1
und t
2
formal darstellen als:
(d
i
, t
1
und t
2
) =
_
_
1
[1]
i
_
2
+
_
1
[2]
i
_
2
71
4 Erweiterungen des Boolschen Modells
Fr den Punkt (0, 0) nimmt dieser Ausdruck den maximalen Wert von

2, Dokumente
die jeweils nur genau einen der Terme enthalten haben einen Abstand von 1 und ein
Dokument mit beiden Termen hat einen Abstand von 0. Um daraus eine Retrievalfunktion
zu bauen, in der hhere Werte fr hhere Relevanz stehen, wird der Abstand normalisiert
und von 1 subtrahiert, so dass man folgenden Ausdruck erhlt:
(d
i
, t
1
und t
2
) = 1

_
_
1
[1]
i
_
2
+
_
1
[2]
i
_
2
2
hnlich geht man fr eine Anfrage t
1
oder t
2
vor. Erwnscht ist hierbei, dass min-
destens einer der Terme enthalten ist. Ein Dokument, das keinen der Terme enthlt gilt
als irrelevant. bertragen auf die geometrische Interpretation aus Abbildung 4.5 bedeutet
dass, das relevante Dokumente mglichst weit vom Punkt (0, 0) entfernt liegen. Auch hier
lsst sich die Retrievalfunktion wieder auf der Basis des normierten euklidischen Abstandes
formulieren:
(d
i
, t
1
oder t
2
) =

_
_

[1]
i
_
2
+
_

[2]
i
_
2
2
Hat man es mit mehr als zwei Termen zu tun, so lsst sich die geometrische Darstellung
auf einen Hyperwrfel
7
erweitern. Fr eine Anfrage mit k Termen gilt weiterhin, dass bei
der Verknpfung mit und die Nhe zum k-dimensionalen Punkt (1, 1, 1, . . . , 1) fr eine
hohe Relevanz steht und bei einer Verknpfung mit oder eine groe Entfernung zum
Punkt (0, 0, 0, ..., 0). In Formeln gegossen fhrt das zu:
(d
i
, t
1
und t
2
und . . . und t
k
) = 1

_
_
1
[1]
i
_
2
+ (1
i
)
[2]
+ . . . +
_
1
[k]
i
_
2
k
(d
i
, t
1
oder t
2
oder . . . oder t
k
) =

_
_

[1]
i
_
2
+
_

[2]
i
_
2
+ . . . +
_

[k]
i
_
2
k
Dies erlaubt allerdings noch immer nur die reine Kombination von und oder oder
Bedingungen. Um in einer Anfrage und und oder kombiniert zu verwenden, werden die
Werteberechnungen geschachtelt:
(d
i
, (t
1
und t
2
) oder t
k
) =

_
_
1
_
(1
i
)
[1]
)
2
+(1
i
)
[2]
)
2
2
_
2
+
_

[3]
i
_
2
2
7
Ein Hyperwrfel ist ein Wrfel im hherdimensionalen Raum.
72
4.4 Erweitertes Boolsches IR
Erweitertes Boolsches Retrieval
Wir greifen wieder auf die fnf einfachen Dokumente aus Kapitel 2 zurck, die im
Beispiel auf Seite 20 aufgefhrt wurden. Damit die Mechanismen des erweiterten
Boolschen Retrievals auch wirklich greifen knnen beschrnken wir uns auf die An-
fragen Information und Retrieval, Information oder Retrieval sowie (Informa-
tion und Retrieval) oder (Document und Retrieval). Fr eine kompaktere Notation
bezeichnen wir diese drei Anfragen kurz mit q
1
, q
2
und q
3
.
Betrachten wir zunchst die mit und verknpfte Anfrage q
1
. Da sie zwei Terme ent-
hlt entspricht sie genau dem abstrakt konstruierten Fall t
1
und t
2
von oben. ber-
trgt man die fnf Dokumente in das zweidimensionale Koordinatensystem (wobei
der Term Information die erste Koordinate einnimmt), so erhlt man folgende Dar-
stellungen:
d
1
= (1, 1)
d
2
= (1, 1)
d
3
= (0, 1)
d
4
= (1, 0)
d
5
= (0, 0)
Fr das Dokument d
3
setzen wir beispielhaft dessen Werte in die Retrievalfunktion
des erweiterten Boolschen Modells fr eine und-Anfrage ein:
(d
3
, q
1
) = 1

(1 0)
2
+ (1 1)
2
2
= 1

1
2
= 0, 293
Die Werte fr die anderen Dokumente ergeben sich vllig analog, insbesondere erzielt
d
4
den gleichen Wert wie d
3
, da es ebenfalls nur einen der beiden Suchterme enthlt:
(d
1
, q
1
) = 1
(d
2
, q
1
) = 1
(d
3
, q
1
) = 0, 293
(d
4
, q
1
) = 0, 293
(d
5
, q
1
) = 0
Die Dokumente d
1
und d
2
, die beide Terme enthalten, erzielen optimale Ergebnisse,
d
5
hingegen einen Wert von 0, da es keinen der Suchbegrie enthlt.
Betrachten wir die Anfrage q
2
, so sieht die Reihenfolge der Ergebnisse gleich aus.
Bei den Dokumenten, die nur einen Term enthalten, unterscheiden sich allerdings die
Werte der Retrievalfunktion:
73
4 Erweiterungen des Boolschen Modells
(d
1
, q
2
) = 1
(d
2
, q
2
) = 1
(d
3
, q
2
) = 0, 707
(d
4
, q
2
) = 0, 707
(d
5
, q
2
) = 0
Fr die dritte Anfrage mssen wir nun auch das Vorkommen von Document be-
rcksichtigen. Beispielhaft berechnen wir auch hier wieder den Retrievalwert fr d
3
ausfhrlich:
(d
i
, q
3
) =

_
_
1
_
(10)
[1]
)
2
+(11)
[2]
)
2
2
_
2
+
_
1
_
(11)
[1]
)
2
+(11)
[2]
)
2
2
_
2
2
=

_
_
1

0, 5
_
2
+ 1
2
= 0, 737
Den gleichen Wert erzielen auch die ersten beiden Dokumente, whrend d
4
wieder
eine geringere und d
5
gar keine Relevanz zugewiesen wird:
(d
1
, q
3
) = 0, 737
(d
2
, q
3
) = 0, 737
(d
3
, q
3
) = 0, 737
(d
4
, q
3
) = 0, 207
(d
5
, q
3
) = 0
Ein interessanter Aspekt dieses Modells ist, dass es sich direkt um eine Gewichtung
der Terme erweitern lsst. Dabei kann beispielsweise eine zonenbasierte Gewichtung der
Terme zum Einsatz kommt, wie sie in Abschnitt 4.2 beschrieben wurde. Es knnen aber
auch andere Gewichtungsmethoden verwendet werden, solange die Termgewichte auf das
Interval [0, 1] normiert werden.
Die Bercksichtigung von Termgewichten im erweiterten Boolschen Modell lsst sich
ebenfalls sehr anschaulich ber die geometrische Interpretation der Dokumente erklren.
Dazu bleiben wir zunchst wieder bei einer Anfrage ber den beiden Termen t
1
und t
2
.
Dann bildet man ein Dokument d
i
nicht mehr auf das Tupel (
[1]
i
,
[2]
i
) mit den boolschen
Eintrgen
[j]
i
0, 1 ab, sondern verwendet die jeweiligen Gewichte w
[j]
i
[0, 1] als
74
4.4 Erweitertes Boolsches IR
Koordinaten (w
[1]
i
, w
[2]
i
). Dann lsst sich ein Dokument als Punkt im Quadrat der mglichen
Realisierungen der Gewichte einzeichnen, wie es in den Abbildungen 4.6 (a) und (b) zu
sehen ist.
(a) (b)
Abbildung 4.6: Geometrische Interpretation von Dokumenten mit Termgewichten fr er-
weitertes boolsches Retrieval. Auf den Kreisausschnitten liegen jeweils Do-
kumente mit gleichem Retrievalwert fr eine mit UND verknpfte Anfrage
(a), bzw. fr eine mit ODER verknpfte Anfrage (b).
Die Retrievalfunktion bleibt an sich unverndert, es werden lediglich die
[1]
i
Eintrge
durch die w
[1]
i
Gewichte ersetzt. Die zugrundeliegende Abstandsberechnung zu den Punkten
(1, 1) fr eine Anfrage mit Operator und, sowie zum Punkt (0, 0) fr die Anfrage mit oder-
Operator bleibt ebenfalls gleich. Aufgrund der freieren Lage der Dokumentpunkte gibt es
allerdings eine wesentlich feinere Abstufung der Ergebnisse.
Whrend bisher fr die Abstandsberechnung immer der euklidische Abstand herange-
zogen wurde, kann auch dieser Punkt verallgemeinert werden. Im Prinzip bietet sich jede
p-Norm als Basis fr die Abstandsberechnung an. Diese Verallgemeinerung drckt sich fr
mit oder verknpfte Terme so aus:
(d
i
, t
1
oder t
2
oder . . . oder t
k
) =
p

_
_

[1]
i
_
p
+
_

[2]
i
_
p
+ . . . +
_

[k]
i
_
p
k
Dabei muss man sich vom Konzept her nicht auf einen Wert fr p festlegen, sondern
kann diesen sogar als Parameter an die Operatoren mitgeben, beispielsweise in der Form
oder(p). Damit knnte der Nutzer dann in seiner Anfrage sehr genau vorgeben, wie die
Terme der Anfrage miteinander verknpft und verrechnet werden. Es sollte aber an dieser
Stelle auch gesagt werden, dass viele Nutzer mit solchen Optionen berfordert wren.
75
4 Erweiterungen des Boolschen Modells
4.5 Zusammenfassung
In diesem Kapitel haben wir gesehen, wie man Metadaten und Zoneninformationen im
invertierten Index unterbekommen kann. Auch wenn es zur Realisierung verschiedene An-
stze gibt, erlauben diese alle eine gezieltere Suche, beispielsweise nach einem Autor oder
einem Suchbegri im Titel eines Dokuments.
Verwendet man diese Zoneninformation bei einer gewhnlichen boolschen Suche und
weist den einzelnen Zonen ber Gewichte unterschiedliche Aussagekraft zur inhaltlichen
Relevanz zu, lsst sich damit eine gewichtete boolsche Suche realisieren. Ein typisches
Einsatzszenario hierfr knnen HTML Dokumente sein, in denen sich Metainformationen
und Zonen relativ leicht aus dem Quelltext heraus erkennen lassen.
Das erweiterte Boolsche IR Modell trennt sich von der scharfen Boolschen Algebra fr
die Retrievalfunktion und ersetzt sie durch ein geometrisch motiviertes Modell. Das Ver-
halten dieses Modells ist exibler und drfte mit seinem Ranking-Ansatz den intuitiven
Erwartungen der Nutzer nher kommen. Weiterhin erlaubt es auf einfache Art und Weise
eine Bercksichtigung von Termgewichten.
76
5 Das Vektorraum Modell
Nun nehmen wir endgltig Abschied vom boolschen IR und wenden uns dem Vektorraum
Modell zu. Dokumente werden hier als Vektoren in einem hochdimensionalen Raum dar-
gestellt. Auch die Anfragen werden in diesen Vektorraum bersetzt und dann mit den
Dokumentvektoren verglichen. Je hnlicher sich Anfrage- und Dokumentvektor sind, desto
hher wird die Relevanz des jeweilige Dokuments eingeschtzt. Die hnlichkeit gibt somit
auch vor, wie das Ranking zu laufen hat, d.h. in welcher Reihenfolge die Ergebnisse dem
Nutzer prsentiert werden.
5.1 Idee des Vektorraum Modells
Im boolschen IR werden die Dokumente letztendlich als Mengen ber einem Vokabular
modelliert. Entweder ein Term ist im Dokument enthalten oder er ist es eben nicht. Die
gewichtete Variante des boolschen IR brachte bereits die Idee auf, dass es durchaus Un-
terschiede in der Wichtigkeit eines Terms fr ein Dokument geben kann je nachdem an
welcher Stelle und in welcher Funktion er auftritt. Auch im Vektorraum Modell wird die
Wichtigkeit eines Terms in einem Dokument modelliert jedoch deutlich exibler.
Dazu wird jedes Dokument als Vektor dargestellt. Der entsprechende Vektorraum wird
ber dem Vokabular deniert. Das heit, in einem Dokumentvektor kann zu jedem Term
im Vokabular ein Eintrag in der entsprechenden Dimension gemacht werden. Ein einfacher
Ansatz wre fr das Dokument d beispielsweise die Termfrequenz tf
d
(t) des Terms t in der
zugehrigen Dimension einzutragen. Dann liee sich aus dem Dokumentvektor ersehen, wie
oft welcher Term im Dokument enthalten ist.
Da bei einer solchen Vektordarstellung die Reihenfolge der Wrter in einem Dokument
vllig ignoriert wird, wird diese Dokumentreprsentation oft auch als Bag of Words be-
zeichnet, also als ein Sack voller Wrter. Es lsst sich zwar noch bestimmen, wie oft die
Wrter vorkamen, allerdings gert deren Reihenfolge in diesem Sack durcheinander und
ist nicht mehr bekannt.
Fasst man nun eine Freitext Suchanfrage ebenfalls als Bag of Words auf und stellt sie als
Vektor dar, so kann man prfen, welche Dokumentvektoren hnlich sind. Das knnte ganz
anschaulich bedeuten, dass die Vektoren den gleichen oder einen nahegelegenen Punkt
beschreiben oder zumindest in die gleiche Richtung zeigen. In Abbildung 5.1 sind vier
Dokumente (d
1
, d
2
, d
3
und d
4
) und eine Abfrage (q) als Vektoren dargestellt. Misst man die
hnlichkeit ber die Nhe der durch die Vektoren beschriebenen Punkte, so ist Dokument
d
3
gefolgt von d
2
am hnlichsten zu q. Betrachtet man jedoch in welche Richtung die
Vektoren zeigen, so ist d
4
das Dokument, das am dichtesten an der Anfrage dran liegt.
77
5 Das Vektorraum Modell
Abbildung 5.1: Dokument- und Anfragevektoren im Vektorraum.
Diese oder andere Varianten die hnlichkeit zu messen kann dann als Ma fr die Relevanz
eines Dokuments zur Suchanfrage interpretiert werden.
Wie ein Dokument oder eine Anfrage ganz konkret in einen Vektor berfhrt werden
kann und welche hnlichkeitsmae in Frage kommen werden wir gleich sehen. Zunchst
behandeln wir noch kurz die theoretischen Grundlagen.
5.2 Theoretisches Modell
Wir gehen wieder von einem Korpus D mit N Dokumenten und einem Vokabular V mit M
Termen aus. Dann denieren wir eine Vektorraumdarstellung der Dokumente als Elemente
des M-dimensionalen Vektorraums R
M
:

d
i
=
_
w
[1]
i
, w
[2]
i
, w
[3]
i
, . . . , w
[M]
i
_
R
M
Der Eintrag w
[j]
i
stellt eine Gewichtung des j-ten Terms des Vokabulars t
j
fr das Do-
kument d
i
dar. Gleichermaen lsst sich auch eine Anfrage q als Vektor darstellen. Auch
hier werden Gewichte fr die Suchterme eingetragen:
q =
_
w
[1]
q
, w
[2]
q
, w
[3]
q
, . . . , w
[M]
q
_
R
M
Diese Darstellung der Anfragen macht klar, dass es sich hierbei um Suchen ber Frei-
textanfragen handelt, d.h. die Anfragen unterliegen keiner besonderen Syntax. Der Nutzer
kann einfach verschiedene Stichworte (in beliebiger Reihenfolge) angeben, durch die er sein
Informationsbedrfnis formuliert.
Die Retrievalfunktion im Vektorraummodell ist deniert ber ein hnlichkeitsma
sim, mit dem sich Vektoren vergleichen lassen:
78
5.2 Theoretisches Modell
(d
i
, q) = sim
_

d
i
, q
_
wobei dieses deniert ist ber:
sim : R
M
R
M
[0, 1]
Semantisch steht ein hnlichkeitswert von 1 fr zwei gleiche Vektoren und ein Wert von
0 fr zwei vllig verschiedene Vektoren. Da uns bezglich der Retrievalfunktion meist nur
die Werte zur Anordnung der Ergebnisse interessieren, kann in der Praxis die Forderung
nach diesem engen Wertebereich aufgegeben werden. Das erspart unter Umstnden ntige
Berechnungen zur Normalisierung, die an der Reihenfolge der Dokumente nichts ndern
wrden.
Die Ergebnismenge bestimmt sich dann ber die Werte der Funktion und die Doku-
mente werden absteigend bezglich ihres Funktionswertes sortiert. Dokumente mit einem
Wert von 0 werden fr gewhnlich nicht in die Ergebnismenge aufgenommen. Die Reihen-
folge der Dokumente in einer Ergebnisliste bestimmt sich ebenfalls nach dem Wert der
-Funktion, nmlich absteigend sortiert.
Sowohl die Bestimmung der Gewichte fr die Terme in Dokumenten, fr die Terme in
Anfragen sowie die exakte hnlichkeitsfunktion sind im theoretischen Modell zunchst
oen. Die verbreitetste Umsetzung mit TF-IDF Gewichten werden wir uns gleich ansehen.
Weitere Vorschlge fr Gewichte und hnlichkeitsma oder Varianten zu TF-IDF folgen
dann etwas spter in 5.5 und 5.6.
Dokumente als Vektoren
Dadurch, dass das hnlichkeitsma sim allgemein ber dem Vektorraum deniert
ist knnen damit auch andere Funktionen realisiert werden. So lassen sich beispiels-
weise komplette Dokumente miteinander vergleichen. Dies lsst sich fr zweierlei
Anwendungen direkt nutzen: Cluster Analysen oder Query by Example Anfragen.
Bei einer Cluster Analyse wird von einer Anfrage unabhngig versucht automatisch
Gruppen hnlicher Objekte zu bestimmen. In unserem Fall wrden wir also Doku-
mente zusammen gruppieren, die hnliche Inhalte haben.
Query by Example ersetzt die klassische Anfrage. Statt eine Suchanfrage ber Stich-
worte zu formulieren, gibt der Benutzer ein komplettes Dokument als Suchanfrage
ein. Diese Eingabe ist dann zu verstehen als Ich htte gerne mehr Dokumente wie
dieses.
Sowohl die Cluster Analyse als auch das Konzept der Query by Example Anfragen
werden wir zu spteren Zeitpunkten und in anderem Zusammenhang noch einmal
aufgreifen.
79
5 Das Vektorraum Modell
5.3 Die klassische Variante: TF-IDF
Wie whlt man die Term-Gewichte zu einem Dokument? Der klassische Ansatz zieht hierzu
zwei Kennziern zu Rate. ber die Termfrequenz wird bestimmt wie hug ein Term in
einem speziellen Dokument auftritt. Die Dokumentfrequenz hingegen gibt an, in wie vielen
Dokumenten des Korpus der Term berhaupt vorkommt.
Die Dokumentfrequenz wird dabei als globaler Gewichtungsfaktor verwendet. Wie in
Kapitel 3 erlutert wurde, sind Terme die in vielen oder gar fast allen Dokumenten auftre-
ten nicht sonderlich hilfreich bei der Informationssuche (vgl. Luhn [Luh58]). Das heit wir
wollen mit Hilfe der Dokumentfrequenz solche Terme niedriger gewichten, die in vielen Do-
kumenten auftreten. Das lsst sich ber die inverse Dokumentfrequenz (inverse document
frequency) idf(t) modellieren:
w
global
(t
j
) = idf(t
j
) =
N
df(t
j
)
wobei N die Anzahl aller Dokumente im Korpus ist und df(t
j
) die Dokumentfrequenz
1
des Terms t
i
angibt. Dadurch, dass idf(t
j
) nur ber Termen des Vokabulars deniert ist,
wird der Nenner df(t
j
) nie 0 (in mindestens einem Dokument muss der Term ja auftreten
sonst wre er nicht im Vokabular). Daher ist die inverse Dokumentfrequenz fr Doku-
mentvektoren immer deniert.
In der inversen Dokumentfrequenz wirken sich unterschiedliche Dokumentfrequenzen
gerade bei sehr kleinen Werten extrem aus. Allein der Schritt von einer Dokumentfrequenz
von 1 zu 2 halbiert gerade den Gewichtswert. Um das auszugleichen wird der idf-Wert
meist noch logarithmiert:
w

global
(t
j
) = log (idf(t
j
)) = log
_
N
df(t
j
)
_
Der Logarithmus schwcht diesen Eekt ab, dmpft also die Gewichte sehr seltener
Terme. Gleichzeitig fallen die Gewichte sehr huger Terme noch kleiner aus. Taucht ein
Term in allen Dokumenten auf, so erhlt er ein globales Gewicht von 0. Die Logarithmierung
der inversen Dokumentfrequenz ist derart gngig, dass der Logarithmus manchmal bereits
in die idf Denition mit aufgenommen wird. In Abbildung 5.2 sind zwei Graphen zu sehen,
welche die Werte fr die Gewichte mit und ohne Logarithmus darstellen die abgeachte
Entwicklung der logarithmierten Gewichtung ist in 5.2(b) deutlich zu erkennen.
Diese globale Gewichtung geht wie der Name schon sagt nicht auf die Eigenheiten
eines speziellen Dokuments ein. Daher muss noch ein lokales Gewicht hinzugenommen
werden. Die Wichtigkeit eines Terms innerhalb eines bestimmten Dokumentes lsst sich
anhand dessen Termfrequenz ablesen. Je huger ein Term im Dokument auftaucht, desto
wichtiger scheint er fr dieses Dokument zu sein. Taucht er jedoch ganz selten, nur einmal
1
Um es an dieser Stelle noch einmal klar zu machen: die Dokumentfrequenz df(t) ist etwas anderes als
die collection frequency cf(t). Erstere zhlt in wie vielen Dokumenten ein Term auftritt, zweitere wie
oft der Term in allen Dokumenten auftritt.
80
5.3 Die klassische Variante: TF-IDF
(a) (b)
Abbildung 5.2: Globale Gewichte mit normaler (a) und logarithmierter (b) inverse docu-
ment frequency.
oder sogar gar nicht auf, so trgt er wohl wenig bzw. gar nichts zum Inhalt bei. Als lokales
Gewicht verwenden wir daher die Termfrequenz tf
d
i
(t
j
), eines Terms t
j
im Dokument d
i
:
w
lokal
(t
j
, d
i
) = tf
d
i
(t
j
)
Die Kombination aus den soeben eingefhrten lokalen und globalen Gewichtungen ist im
IR unter dem Namen TF-IDF bekannt. Durch Multiplikation der beiden Gewichte ergibt
sich dabei das Gesamtgewicht eines Terms in einem Dokument:
w
TF-IDF
(t
j
, d
i
) = w
lokal
(t
j
, d
i
) w

global
(t
j
) = tf
d
i
(t
j
) log
_
N
df(t
j
)
_
Daraus ergibt sich insbesondere auch, dass ein Term, der nicht im betrachteten Dokument
oder aber in allen Dokumenten auftaucht, ein Gewicht von 0 bekommt.
Insgesamt ist damit eine Vektordarstellung fr Dokumente deniert (Wir werden spter
noch einige Alternativen kennen lernen). Das Dokument d
i
wird als Vektor

d
i
dargestellt,
in dem als Eintrge zu jedem Term dessen TF-IDF Wert steht:

d
i
= (w
TF-IDF
(t
1
, d
i
), w
TF-IDF
(t
2
, d
i
), w
TF-IDF
(t
3
, d
i
), . . . , w
TF-IDF
(t
M
, d
i
))
TF-IDF Gewichtung der Dokumentvektoren
Wir betrachten fnf Dokumente ber dem Vokabular:
V = Kaee, Tee, Tasse, Kanne, Wasser
81
5 Das Vektorraum Modell
Da wir nun auf einem Bag of Words Modell arbeiten, mssen zu jedem Dokument
angeben, wie oft die Terme enthalten sind:
1. Kaee, Kaee
2. Tee, Tee, Tasse, Kanne, Kanne
3. Kaee, Tasse, Tasse, Kanne
4. Kaee, Kaee, Kaee, Tee, Tasse, Tasse, Tasse, Kanne, Kanne, Kanne
5. Kanne, Kanne, Wasser, Wasser
Zunchst bestimmen wir die globalen Gewichte ber die Dokumentfrequenz der Ter-
me. Nehmen wir uns beispielhaft den Term Tasse heraus. Er taucht in den Doku-
menten d
2
, d
3
und d
4
auf, hat also eine Dokumentfrequenz von df(Tasse) = 3. Somit
ergibt sich fr das globale Gewicht zu diesem Term:
w

global
(Tasse) = log
_
N
df(Tasse)
_
= log
_
5
3
_
= 0, 22
Auf die gleiche Art und Weise rechnet man die globalen Gewichte fr die anderen
Terme aus und kommt zu folgenden Werten:
w

global
(Kaee) = 0, 22
w

global
(Tee) = 0, 4
w

global
(Kanne) = 0, 1
w

global
(Wasser) = 0, 7
Die lokalen Gewichte lassen sich direkt aus den Dokumenten ablesen. So taucht der
Term Tasse im Dokument d
3
zweimal auf, hat dort also eine Termfrequenz von
2. Damit kann man nun die TF-IDF Werte fr jeden Term in jedem Dokument
bestimmen. Fr das Dokument d
2
ergibt sich so:
w
TF-IDF
(Tee, d
2
) = tf
d
2
(Tee) w

global
(Tee) = 2 0, 4 = 0, 8
w
TF-IDF
(Tasse, d
2
) = tf
d
2
(Tasse) w

global
(Tasse) = 1 0, 22 = 0, 22
w
TF-IDF
(Kanne, d
2
) = tf
d
2
(Kanne) w

global
(Kanne) = 2 0, 1 = 0, 2
Die Werte fr Kaee und Wasser sind 0, da die Terme nicht in d
2
auftauchen. Be-
rechnet man die Gewichte fr alle Dokumente, ergeben sich daraus die folgenden
Dokumentvektoren:
82
5.3 Die klassische Variante: TF-IDF

d
1
= ( 0, 44 0 0 0 0 )

d
2
= ( 0 0, 8 0, 22 0, 2 0 )

d
3
= ( 0, 22 0 0, 44 0, 1 0 )

d
4
= ( 0, 66 0, 4 0, 66 0, 3 0 )

d
5
= ( 0 0 0 0, 2 1, 4 )
Nun da die Gewichte in den Dokumenten festgelegt sind, stellen sich die Fragen, wie
Anfragen in Vektoren bersetzt und wie die Vektoren verglichen werden; letztendlich also,
wie damit die Retrievalfunktion berechnet wird.
Die Anfragen werden auf die gleiche Art und Weise in Vektoren bersetzt wie die Do-
kumente. Wir bestimmen die Termfrequenzen
2
in der Anfrage und verrechnen sie mit den
globalen Gewichten fr die Terme (Auch zur Bestimmung des Anfragevektors gibt es al-
ternative Anstze mehr dazu ebenfalls spter).
Mit einer hnlichkeitsfunktion wollen wir nun messen, wie sehr Anfragevektor q und
ein Dokumentvektor

d bereinstimmen. Dazu eignet sich das Skalarprodukt ber diesen
Vektoren:

d q =
M

j=1
w
TF-IDF
(t
j
, d) w
[j]
q
Da in langen Dokumenten die Termfrequenz wichtiger Begrie fast zwangsweise hher
sein drfte als in krzeren Dokumenten sind dort auch die lokalen Gewichte hher. Damit
kurze Dokumente nicht benachteiligt werden, normalisiert man die Gewichte vor der Be-
rechnung der hnlichkeit. Die Dokumentlnge schlgt sich in der Vektorlnge nieder. Daher
eignet sich zur Normalisierung die Umwandlung in Einheitsvektoren, also in Vektoren der
Lnge 1. Zur Lngenberechnung verwendet man das euklidische Lngenma:
[

d[ =

_
M

j=1
(w
TF-IDF
(t
j
, d))
2
Und fr die hnlichkeitsberechnung zwischen Anfrage q und Dokument d ergibt sich
somit:
sim(

d, q) =

d q
[

d[[q[
=

M
j=1
w
TF-IDF
(t
j
, d) w
[j]
q
_

M
j=1
(w
TF-IDF
(t
j
, d))
2

M
j=1
_
w
[j]
q
_
2
2
Das bedeutet auch, dass der Nutzer ber die Mehrfachnennung eines Terms in der Anfrage diesen hher
gewichten knnte.
83
5 Das Vektorraum Modell
wobei

d und q hier jeweils als die Vektordarstellungen zu Dokument und Anfrage zu
verstehen sind.
Dieses eben vorgestellte hnlichkeitsma ist in der Literatur unter dem Namen Cosinus-
Ma (cosine similarity) bekannt, da es eektiv den Cosinus des Winkels zwischen den
beiden Vektoren berechnet:
v
1
v
2
= [v
1
[[v
2
[ cos(v
1
, v
2
) cos(v
1
, v
2
) =
v
1
v
2
[v
1
[[v
2
[
Die Anschauung als Messung des Winkels zwischen Dokument- und Anfragevektor ver-
deutlicht auch noch einmal die Unabhngigkeit von der Vektorlnge. Der Cosinus erfllt
die gewnschte Eigenschaft, dass er zwei Vektoren den Wert 1 zuweist, wenn sie exakt in
die gleiche Richtung zeigen. Da unsere Vektoren auerdem nur positive Eintrge haben, ist
der maximale Winkel zwischen zwei Vektoren 90

und das Cosinus Ma nimmt dann den


Wert 0 an.
Anfragen im Vektorraum
Fhren wir unser obiges Beispiel fort. Zu den fnf Dokumenten d
1
bis d
5
stellen wir
nun die Anfrage Tasse Kanne (Wir interessieren uns eher fr das Porzellan als fr
dessen Inhalt). Nach Einbezug der globalen Gewichte fr Tasse und Kanne haben
wir also den Anfragevektor q:
q =
_
0 0 0, 22 0, 1 0
_
Nun mssen wir zunchst die Lnge des Anfrage- und der Dokumentvektoren berech-
nen:
[

d
1
[ =

0, 44
2
= 0, 44
[

d
2
[ =

0, 8
2
+ 0, 22
2
+ 0, 2
2
= 0, 85
[

d
3
[ =

0, 22
2
+ 0, 44
2
+ 0, 1
2
= 0, 50
[

d
4
[ =

0, 66
2
+ 0, 4
2
+ 0, 66
2
+ 0, 3
2
= 1, 06
[

d
5
[ =

0, 2
2
+ 1, 4
2
= 1, 41
[q[ =

0, 22
2
+ 0, 1
2
= 0, 24
Interessant ist an dieser Stelle vielleicht, dass die Kombination aus lokalen und globa-
len Gewichten dafr sorgt, dass der Vektor zu Dokument d
5
am lngsten ist, obwohl
d
5
bezglich der Anzahl der Terme eher im Mittelfeld rangiert.
Die Werte der Retrieval Funktion basierend auf dem Cosinus Ma sehen dann
folgendermaen aus:
84
5.4 Praktische Umsetzung
(d
1
, q) =
0
0,440,24
= 0
(d
2
, q) =
0,220,22+0,20,1
0,850,24
=
0,068
0,204
= 0, 33
(d
3
, q) =
0,440,22+0,10,1
0,500,24
=
0,107
0,120
= 0, 89
(d
4
, q) =
0,660,22+0,30,1
1,060,24
=
0,175
0,254
= 0, 69
(d
5
, q) =
0,20,1
1,410,24
=
0,02
0,338
= 0, 05
Das fhrt dazu, dass Dokument d
1
nicht in die Ergebnismenge aufgenommen wird.
Die restlichen Dokumente werden in der Reihenfolge d
3
, d
4
, d
2
und zuletzt d
5
dem
Nutzer als Ergebnis prsentiert.
Dass d
1
nicht relevant ist drfte ebenso klar sein, wie das Ergebnis, dass d
5
am we-
nigsten relevant ist. Doch wie erklren sich die Werte der anderen drei Dokumente?
Dokument d
4
enthlt die Suchbegrie zwar am hugsten, aber auch eine ganze Reihe
anderer Terme. Das Ergebnis lsst sich also derart interpretieren, dass es in diesem
Dokument nicht vorrangig um Tasse und Kanne geht. Der Grund dass d
2
im
Vergleich zu d
3
als weniger relevant angesehen wird, obwohl die Dokumente die Such-
terme in der Summe gleich oft enthalten, kann teilweise auch auf die grere Zahl
(fnf statt vier) der enthaltenen Terme zurckgefhrt werden. Zustzlich wirken sich
hier aber noch die unterschiedlichen globalen Gewichte aus. Tasse hat eine gerin-
gere Dokumentfrequenz und somit eine hheres globales Gewicht als Kanne. Da
d
3
Tasse huger enthlt wirkt sich dies strker auf das Ergebnis aus. Auch die
fr die Suche eigentlich unwichtigen Terme Tee und Kaee haben unterschiedli-
che globale Gewichte, welche die Dokumentvektoren strker oder schwcher in eine
bestimmte Richtung ziehen und somit die Winkel beeinussen.
5.4 Praktische Umsetzung
Nachdem nun klar ist, wie Dokumente und Anfragen im Vektorraummodell dargestellt
werden und wie die Retrievalfunktion berechnet wird, schauen wir uns als nchstes die
praktische Umsetzung an. Es stellt sich nmlich die Frage, wie wir die Ergebnismenge
ezient bestimmen knnen. Dazu machen wir einleitend einige Feststellungen bezglich
einzelner Elemente der Gleichung zur Berechnung des Cosinus Maes.
Als erstes betrachten wir die Normalisierung der Ergebnisse bezglich der Lnge des
Anfragevektors. Diese Lnge liefert einen konstanten Faktor fr den Wert der Retrieval-
funktion fr alle Dokumente. Da wir letztendlich aber nur daran interessiert sind, dem
Nutzer die Dokumente in der richtigen Reihenfolge zu prsentieren und die tatschlichen
85
5 Das Vektorraum Modell
Werte der Retrievalfunktion zweitrangig sind, kann man diesen konstanten Faktor auch
weglassen.
Beim Skalarprodukt

d q hat man es fr jede Dimension des Vektorraums mit einer
Multiplikation zu tun, also einer fr jeden Term des Vokabulars. Das entspricht M Mul-
tiplikationen. Bei genauerem Hinsehen fllt aber auf, dass in der Summe nur die Eintrge
zu solchen Termen t
j
wirklich interessant sind, bei denen w
TF-IDF
(t
j
, d) und w
[j]
q
beide von
0 verschieden sind. Andernfalls tragen die Terme nichts zur Summe bei. Da in der Regel
insbesondere die Anfrage aus nur wenigen Termen besteht
3
kann deshalb bereits eine sehr
groe Anzahl von unntigen Multiplikationen mit 0 bergangen werden wenn man nur die
Anfrageterme bercksichtigt. Genauso kann man (meistens) eine sehr groe Anzahl von
Dokumenten ignorieren in denen die Anfrageterme gar nicht auftauchen.
Diese Erkenntnis fhrt dazu, dass man letztendlich nur solche Dokumente betrachten
muss, in denen (mindestens) einer der Suchterme enthalten ist. Und hierfr lsst sich wieder
der invertierte Index verwenden. Um dabei auch ezient das Ranking zu berechnen, wird
der Index um einige zustzliche Informationen erweitert.
Wir hatten bereits frher angesprochen, dass die Aufnahme der Lnge der Posting Listen
in die Termeintrge im Suchbaum des Vokabulars hilfreich sein kann. Im boolschen IR
diente dies dazu, eine geeignete Reihenfolge fr das schnelle Schneiden von Treerlisten zu
bestimmen. Im Vektorraummodell ist dies interessant, da die Lnge der Posting Liste der
Anzahl der Dokumente entspricht, in denen ein Term auftritt. Damit ist die Lnge der Liste
gleich der Dokumentfrequenz, mit der wir das globale Gewicht eines Terms berechnen.
Eine zweite ntzliche Information, die mit in den invertierten Index aufgenommen wer-
den muss ist die Termfrequenz eines Terms innerhalb eines Dokuments. Den Wert hierzu
hatten wir indirekt ebenfalls schon einmal mit aufgenommen, nmlich beim Entwurf des
Position Index. Dabei wurden die einzelnen Positionen innerhalb eines Dokuments aufge-
fhrt an denen ein Term auftritt. Die Liste enthielt also fr jedes Auftreten eines Terms
im Dokument einen Eintrag und ihre Lnge entspricht somit der Termfrequenz.
Als weitere Datenstruktur fhren wir eine Liste ein, in der zu jedem Dokument dessen
Lnge enthalten ist. Zwar knnte man die Vektoren der Dokumente direkt normalisie-
ren und die lokalen Gewichte durch die Lnge des Vektors teilen, dies htte aber einige
Nachteile. Einerseits wre die Lnge des Dokuments zumindest implizit in jedem Posting
zu diesem Dokument gespeichert eine unntige Redundanz. Andererseits lassen sich die
ganzzahligen Werte der Termfrequenz bei geeigneter Codierung besser speichern, d.h. bei
weniger Platzbedarf. Darber hinaus fllt es mit einer dedizierten Liste der Dokumentln-
ge einfacher zu einer alternativen Normalisierung zu wechseln oder gar mehrere parallel
anzubieten.
Algorithmisch lsst sich damit die Suche im Vektorraum relativ einfach umsetzen. Die
Terme der Suchanfrage werden einer nach dem anderen abgearbeitet. Die Ranking Werte
der Dokumente werden ber sogenannte Akkumulatoren Term fr Term aufaddiert. Ein
3
Schtzungen und Auswertungen ber die Suchgewohnheiten von Web Search Engine Nutzern gibt es
viele. Einige immer recht aktuell gehaltene Informationen gibt es bei hitwise [Rel09]. Fr Februar 2009
wurde dort angeben, dass mehr als 80% aller Websuchen aus hchstens vier Suchbegrien bestehen.
86
5.4 Praktische Umsetzung
Akkumulator ist eine Art Zwischenspeicher zu einem Dokument, in dem dessen System-
relevanz ber die Terme hinweg gesammelt wird. Dazu nimmt man sich fr jeden Term
die Posting Liste vor und bestimmt zunchst das globale Gewicht zu diesem Term. Da-
nach durchluft man die Posting Liste, berechnet bei jedem Eintrag das Produkt aus
w
TF-IDF
(t
j
, d) und w
[j]
q
und addiert dieses Produkt zum Wert jenes Akkumulators, der zum
gleichen Dokument gehrt wie der Eintrag der Posting Liste der gerade betrachtet wird.
Dabei kann man exibel Akkumulatoren neu anlegen, wenn ein Dokument in keiner vor-
herigen Posting Liste enthalten war. Wenn alle Terme abgearbeitet sind normalisiert man
die Werte in den Akkumulatoren mit der zugehrigen Dokumentlnge.
Umsetzung des Vektorraummodells
Greifen wir noch einmal die obige Dokumentsammlung und die zugehrige Suche
nach Tasse Kanne auf. Der invertierte Index mit entsprechenden Eintrgen zu Do-
kumentfrequenz und Termfrequenz ist in Abbildung 5.3 zu sehen.
Abbildung 5.3: Invertierter Index mit Angabe der Dokumentfrequenz und Termfrequenz.
Zustzlich mssen wir uns in einer Liste die Lnge der Dokumentvektoren merken,
so wie wir sie oben berechnet haben.
Auf die Anfrage Tasse Kanne hin nehmen wir uns zunchst die Posting Liste zu
Tasse vor, berechnen das globale Gewicht zu diesem Term und dessen Gewichtung
in der Anfrage. Danach durchlaufen wir die Posting Eintrge. Das globale Gewicht
log idf(Tasse) knnen wir ber die beim Term gespeicherte df Information (in diesem
Fall den Wert 3) und die Anzahl der Dokumente berechnen:
w

global
(Tasse) = log (idf(Tasse)) = log
_
5
3
_
= 0, 22
Mit dem ersten Posting Eintrag legen wir einen Akkumulator zu Dokument d
2
an
und tragen den folgenden Wert ein:
w

global
(Tasse) tf
d
2
(Tasse) w
[Tasse]
q
= 0, 22 1 0, 22 = 0, 048
Dann gehen wir zum nchsten Eintrag ber, legen einen Akkumulator zu Dokument
d
3
an und tragen den Wert 0,096 ein. Schlielich wird das gleiche noch fr den letzten
Eintrag in der Posting Liste zu Tasse durchgefhrt.
87
5 Das Vektorraum Modell
Dann gehen wir zur Posting Liste fr den Term Kanne ber. Das globale Gewicht
betrgt 0,1. Der erste Eintrag betrit Dokument d
2
, zu dem bereits ein Akkumulator
angelegt ist. Wir addieren den Wert 0,02, so dass im Akkumulator insgesamt der
Wert 0,068 gespeichert ist. Fr Dokument d
3
addieren wir den Wert 0,01 und landen
bei 0,106. Genauso verfahren wir fr d
4
. Beim letzten Eintrag in der Liste mssen
wir fr Dokument d
5
einen neuen Akkumulator anlegen, da wir das Dokument bisher
noch nicht bedacht hatten.
Nach dem Abarbeiten der Posting Liste zu Kanne sind alle Suchterme bercksich-
tigt. Es fehlt noch die Normalisierung bezglich der Dokumentlnge. Dazu schlagen
wir in der Dokumentliste zu jedem Akkumulator die Dokumentlnge nach und divi-
dieren entsprechend. Fr das Dokument d
2
ergibt sich so:
0, 068
0, 85
= 0, 08
Der Wert zu d
3
hingegen ist:
0, 106
0, 5
= 0, 212
Es fllt auf, dass die errechneten Werte sich vom Cosinus Ma unterscheiden. Das
liegt daran, dass wir die Lnge des Anfragevektors nicht bercksichtigt haben. Die
Reihenfolge der Werte und somit auch das Dokumentranking ist aber gleich
geblieben.
Da man bei diesem Verfahren Term fr Term die Suchanfrage bearbeitet und somit
auch Term fr Term die Akkumulatoren fllt, wird dieser Ansatz unter dem Begri term-
at-a-time gefhrt. Es gibt auch Anstze, in denen die Akkumulatoren dokumentweise
(document-at-a-time) gefllt werden. Dies ist aufgrund der Sortierung in den Posting Listen
mglich, man fhrt wieder Zeiger in jeder der Listen mit und berechnet den Rankingwert
zu dem referenzierten Dokument, das derzeit die niedrigste ID aufweist. Dadurch kann
man zu jedem Dokument den Wert fr das Ranking in einem Schritt berechnen, wodurch
es direkt in die Ergebnisliste einsortiert werden kann.
5.5 Varianten zur TF-IDF Gewichtung
Der vorgestellte Ansatz, Termfrequenz und Dokumentfrequenz ber deren Kehrwert und
Logarithmus zu TF-IDF zu verknpfen ist nur eine Mglichkeit der Gewichtung. Es gibt
verschieden Varianten dazu. Mgliche Ansatzpunkte sind die Verrechnung der Termfre-
quenz, der Dokumentfrequenz aber auch der Normalisierung bezglich der Dokumentlnge.
So ist eine berlegung auch die Termfrequenz zu logarithmieren. Die Idee hierbei ist,
dass ein bereits hug enthaltener Term kaum mehr an Bedeutung gewinnt, wenn er noch
huger im Dokument auftritt. In [MRS08] wird ein Ansatz hierzu erwhnt:
88
5.5 Varianten zur TF-IDF Gewichtung
wf(t
j
, d
i
) =
_
_
_
1 + log(tf
d
i
(t
j
) fr tf
d
i
(t
j
) > 0
0 sonst
Dies lsst sich dann mit der inversen Dokumentfrequenz zu einem Termgewicht kombi-
nieren:
w
WF-IDF
(t
j
, d
i
) = wf(t
j
, d
i
) log (idf(t
j
))
Auch Ferber [Fer03] listet einige Mglichkeiten zur Abschwchung groer oder sehr groer
Termfrequenzen. Dazu kann auch die Dokumentlnge in gewissem Sinne genutzt werden,
nmlich indem die maximale Termfrequenz im Dokument bercksichtigt:
w
lokal
(t
j
, d
i
) = + (1 )
tf
d
i
(t
j
)
max
k=1,...,M
_
tf
d
i
(t
k
)
_
Der Bruch in diesem Ausdruck nimmt Werte zwischen 0 und 1 an. Der Wert liegt im
Intervall [0,1] und kann dazu verwendet werden, den Einuss des Bruches zu dmpfen und
auf einem Basiswert aufzusetzen. Sinnvollerweise werden die Gewichte fr solche Terme die
nicht im Dokument auftreten dennoch auf 0 gesetzt.
Auch folgender Ansatz normalisiert die lokalen Gewichte auf das Intervall [0,1], ohne
jedoch das komplette Dokument zu analysieren:
w
lokal
(t
j
, d
i
) =
tf
d
i
(t
j
)
1 + tf
d
i
(t
j
)
Bezglich der globalen Gewichte ist es eine Alternative, gar keine globale Gewichte einzu-
setzen, bzw. sie auf 1 zu setzen. Dann stehen in den Vektoren lediglich die Termfrequenzen.
Auch kann idf ohne die Logarithmierung eingesetzt werden. Ein weiterer Ansatz schwcht
huge Terme noch strker ab, indem sie in Extremfllen sogar negativ gewichtet werden
knnen:
w
global
(t
j
) = log
_
N df(t
j
)
df(t
j
)
_
Dabei stellt N wieder die Gre des Korpus dar. Tritt ein Dokument in mehr als der
Hlfte der Dokumente auf, so wird der Bruch kleiner als 1. Der Logarithmus wird damit
kleiner als 0.
Ein weiterer Punkt an dem man auf die Ergebnisse der Vektorraum Modells Einuss
nehmen kann liegt in der Art wie unterschiedliche Dokumentlngen ausgeglichen werden.
Neben der Normalisierung bezglich der euklidischen Lnge gibt es auch hier zunchst die
Option, gar keine Normalisierung durchzufhren. Das kann vielleicht vor dem Hintergrund
interessant sein, dass keine gewhnlichen Nutzeranfragen mit Dokumentvektoren verglichen
werden sollen, sondern ganze Dokumente. Unterscheidet man dann auch nach Dokument-
lnge so sucht man nach inhaltlich hnlichen Dokumenten, die auch einen vergleichbaren
Umfang (bezglich der Darstellung) haben.
89
5 Das Vektorraum Modell
Tabelle 5.1: Nomenklatur im SMART System
Lokale Gewichte Globale Gewichte Lngennormalisierung
n natural n no n none
tf
d
(t) 1 1
l logarithm t idf c cosine
1 + log (tf
d
(t)) log
_
N
df(t)
_
1
|

d|
=
1

sum
M
k=1
(w
k
)
2
a augmented p prob idf u pivoted unique
0, 5 + 0, 5
tf
d
(t)
max
k=1,...,M
(tf
d
(t
k
))
max
_
0, log
_
Ndf(t)
df(t)
__
Aufwndigeres Verfah-
ren, das die Wahrschein-
lichkeit der Relevanz
in Abhngigkeit von
der Dokumentlnge
verwendet.
b boolean b byte size
_
_
_
1 fr tf
d
(t
j
) > 0
0 sonst
1
d.length
, wobei d.length
die Dokumentlnge ber
die Anzahl der Zeichen
ausdrckt.
L log ave
1+log(tf
d
(t))
1+log(ave
k=1,...,M
(tf
d
(t
k
)))
Salton und McGill haben fr das IR System SMART eine sehr kurze Schreibweise ein-
gefhrt, mit der sie ausdrcken knnen, welche Kombination aus lokalen und globalen Ge-
wichten und Dokumentlngennormalisierung in einer bestimmten Konguration des Sys-
tems eingesetzt werden. Jeweils drei Buchstaben drcken aus, welche Gewichtung und
Normalisierung fr die Dokumente und die Anfragen zum Einsatz kommt. Die Buchstaben
sind in Tabelle 5.1 zu sehen, die sich in hnlicher Form auch in [MRS08] ndet.
Die klassische Kombination die wir eingangs vorgestellt hatten wrde in SMART also
mit ntc.ntc abgekrzt. Die Zeichenfolge lnn.ntb stnde fr Dokumente mit logarithmischen
lokalen Gewichten und ohne eine globale Gewichtung, die auch nicht normalisiert werden,
sowie Anfragen die lokal mit Termfrequenz und global mit idf gewichtet werden und ber
ihre Bytelnge normalisiert werden (in wie weit eine solche Kombination in der Praxis
einen Sinn ergibt ist eine andere Frage).
5.6 Andere hnlichkeitsmae
Im Smart Retrieval System steht die Bezeichnung cosine fr die Dokumentnormalisie-
rung. Das liegt daran, dass man das Cosinus Ma als Skalarprodukt ber den normalisierten
Dokumentvektoren auassen kann. Lsst man die Normalisierung weg, so kann auch das
90
5.7 Relevance Feedback nach Rocchio
reine Skalarprodukt zur Berechnung einer hnlichkeit herangezogen werden. Darber hin-
aus gibt es aber noch andere Mae um die hnlichkeit oder den Abstand zweier Vektoren
zu bestimmen.
Das Pseudo-Cosinus-Ma beispielsweise beruht auf einer Kombination aus Skalarpro-
dukt und einer anderen Normalisierung. Statt ber die Lnge des Vektors bezglich der
euklidischen Norm zu normalisieren wird durch die Summe der Eintrge geteilt:
sim
pseudo
(

d
i
,

d
k
) =

M
j=1
w
[j]
i
w
[j]
k
_

M
j=1
w
[j]
i
_

M
j=1
w
[j]
k
_
Das Dice-Ma lsst sich nicht mehr als normalisiertes Skalarprodukt ausdrcken. Hier
wird durch die Summe aller Vektoreintrge geteilt:
sim
Dice
(

d
i
,

d
k
) =
2

M
j=1
w
[j]
i
w
[j]
k
_

M
j=1
w
[j]
i
_
+
_

M
j=1
w
[j]
k
_
Der Jaccard-Koezient erinnert an die Berechnung des Verhltnisses der Schnittmenge
zur Vereinigung wie wir sie schon bei der Rechtschreibkorrektur mit k-Grammen in Kapitel
3 gesehen haben:
sim
Jaccard
(

d
i
,

d
k
) =

M
j=1
w
[j]
i
w
[j]
k
_

M
j=1
w
[j]
i
_
+
_

M
j=1
w
[j]
k
_

M
j=1
w
[j]
i
w
[j]
k
_
Der Vollstndigkeit halber hier noch das Overlap-Ma, das gewissermaen die minimale
bereinstimmung berechnet:
sim
overlap
(

d
i
,

d
k
) =

M
j=1
min(w
[j]
i
, w
[j]
k
)
min
_

M
j=1
w
[j]
i
,

M
j=1
w
[j]
k
_
Ferber [Fer03] verweist auf einen Artikel von Jones und Furnas [JF87], in dem die Aus-
wirkungen unterschiedlicher hnlichkeitsmae im zweidimensionalen Raum durch Isolinien
verdeutlicht werden. Abbildung 5.4 zeigt solche Isolinien Diagramme fr die hier angespro-
chenen hnlichkeitsmae und einen Anfragevektor mit der Gewichtung 0,3 fr Term t
1
und 0,4 fr Term t
2
.
5.7 Relevance Feedback nach Rocchio
Wenn wir noch einmal an unser eingangs schematisch skizziertes IR System denken, dann
fllt auf, dass wir eine Komponente bisher noch gar nicht bercksichtigt haben: die Mg-
lichkeit vom Nutzer ein Feedback zu den Ergebnismengen zu erhalten. Im Vektorraum
Modell gibt es hierzu mit dem Rocchio Algorithmus einen recht einfachen Ansatz.
91
5 Das Vektorraum Modell
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
(a) Skalarprodukt
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
(b) Dice
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
(c) Cosinus
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
(d) Overlap
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
(e) Pseudo-Cosinus
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
(f) Jaccard
Abbildung 5.4: Isolinien Diagramme fr unterschiedliche hnlichkeitsmae, wie in [Fer03]
und [JF87]. Die Farben markieren Bereiche, in denen die Mae im zweidi-
mensionalen Fall hnliche Werte annehmen.
92
5.7 Relevance Feedback nach Rocchio
Gewichtetes boolsches IR als Vektorraum Modell
Das im letzten Kapitel vorgestellte nach Zonen gewichtete boolsche IR kann auch
als ein Spezialfall des Vektorraum Modells aufgefasst werden. Dazu mssen lediglich
Vektorengewichte und das hnlichkeitsma fr die Retrievalfunktion entsprechend
modelliert werden.
Die Eintrge im Vektor ergeben sich aus der Gewichtung der Zonen und dem Vor-
kommen eines Terms in diesen Zonen. Fr jeden Term werden genau die Zonenge-
wichte in denen der Term auftritt zu einem Vektorgewicht addiert:
w
[j]
i
=
Z

l=1
g
l

l
(d
i
, t
j
)
Die Gewichte in einer Abfrage werden einfach fr jeden Term in der Abfrage auf
1 gesetzt. Dann drckt folgendes hnlichkeitsma formal die Retrievalfunktion des
gewichteten boolschen IR aus:
(d
i
, q) = max
j=1,...,M
_
w
[j]
i
w
[j]
q
_
Gehen wir davon aus, dass der Nutzer eine Ergebnismenge erhalten hat und nun zu den
Eintrgen in dieser Menge Bewertungen abgeben kann. Er kann zu den Dokumenten posi-
tive (p) oder negative (n) Rckmeldung geben, bzw. hat er ebenfalls die Option zu einigen
Dokumenten kein Feedback zu geben. Eine positive Rckmeldung sagt aus, dass dieses Do-
kument bezglich des Informationsbedrfnisses relevant war. Eine negative Rckmeldung
drckt entsprechend die Bedeutungslosigkeit eines Treers zum Informationsbedrfnis aus.
Dadurch stehen uns nun zwei Mengen von Dokumenten D
p
und D
n
zur Verfgung (die
wohlgemerkt nicht alle Dokumente der Ergebnismenge umfassen mssen). Die Idee ist nun
die Vektoren dieser Dokumente zu verwenden, um den Vektor der Anfrage in die richtige
Richtung zu biegen. Dies wird ber eine gewichtete Summe aus dem Vektor q und den
Vektoren zu den Dokumenten in D
p
und D
n
erreicht:
q
fb
= q +
1
[D
p
[

d
i
D
p

d
i

1
[D
n
[

d
k
D
n

d
k
Die Parameter , und bestimmen die Gewichtung der ursprnglichen Anfrage, der
positiven und der negativen Rckmeldungen. Eine gute Wahl fr die genauen Werte der
Parameter ist (mal wieder) von den Dokumenten und vom Einsatzgebiet abhngig. All-
gemeine Analysen deuten jedoch darauf hin, dass > > gewhlt werden sollte.
Insbesondere die negativen Rckmeldungen gelten als wenig hilfreich.
Eine Sonderfall ist, dass durch die Subtraktion der Dokumentvektoren des negativen
Feedbacks auch negative Eintrge im modizierten Anfragevektor auftreten knnen. Das
kann einerseits als durchaus gewollt angesehen werden (wenn bestimmte Begrie und Do-
93
5 Das Vektorraum Modell
kumentrelevanz negativ korreliert sind), wird im ursprnglichen Modell jedoch ignoriert,
das heit, negative Werte werden auf 0 gesetzt.
Relevance Feedback nach Rocchio
Stellen wir uns folgendes Szenario vor: wir planen einen Sommerurlaub nach Frank-
reich. Bei diesem Trip darf die Hauptstadt natrlich nicht fehlen. Auerdem haben
wir zum Geburtstag Hotel-Gutscheine fr die bernachtung in einem Hilton Hotel
freier Wahl bekommen. Das wollen wir kombinieren und recherchieren also nach Pa-
ris Hilton. Wer diese Anfrage bei Google eingibt wei auf was wir hinaus wollen: die
Anfrage ist hochgradig mehrdeutig und wir erhalten viel eher Ergebnisse zur Person
Paris Hilton.
Als Dokumentsammlung stellen wir uns zehn Dokumente ber acht Termen vor.
Folgende Matrix gibt die Verteilung der Terme auf die Dokumente wieder:
Paris Hilton Hotel Frankreich Eielturm blond Erbin Skandal
d
1
3 1 1 2 1 0 0 0
d
2
1 3 4 1 3 0 0 0
d
3
2 1 0 1 0 0 0 0
d
4
3 0 0 2 0 0 1 0
d
5
0 1 3 0 0 0 0 0
d
6
3 3 0 0 0 2 0 0
d
7
2 2 0 0 0 0 2 0
d
8
2 1 1 0 0 1 1 0
d
9
3 2 0 0 0 1 0 4
d
10
3 2 0 1 0 0 2 3
Berechnet man mit dem klassischen TF-IDF Ansatz und Cosinus-Ma die Ergebnis-
menge zur Anfrage Paris Hilton, so erhlt man die folgende Treerliste (die fr
das Ranking der Ergebnisse verwendete Werte der Retrievalfunktion stehen jeweils
dabei):
1. d
3
0, 395
2. d
6
0, 183
3. d
7
0, 161
4. d
4
0, 132
5. d
1
0, 128
6. d
8
0, 125
7. d
10
0, 071
8. d
9
0, 057
9. d
2
0, 049
10. d
5
0, 027
94
5.7 Relevance Feedback nach Rocchio
Als Nutzer knnen wir nun Feedback geben. Wir sagen, dass die Dokumente d
1
und
d
3
(Rankingpltze 5 und 1) zu unserem Informationsbedrfnis passen, und dass die
Dokumente d
7
und d
8
(Rnge 3 und 6) eher unpassend sind. Zu den anderen Doku-
menten machen wir keine Aussage.
Als Gewichte fr das Feedback verwenden wir = 1, = 0, 75 und = 0, 15. Der
Vektor q
fb
ergibt sich dann aus:
q
fb
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 046
0, 046
0
0
0
0
0
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
+
0, 75
2

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 137
0, 046
0, 398
0, 602
0, 699
0
0
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
+
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 092
0, 092
0
0, 301
0
0
0
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

0, 15
2

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 092
0, 092
0
0
0
0
0, 796
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
+
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 092
0, 046
0, 398
0
0
0, 523
0, 398
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Setzt man die negativen Eintrge auf 0, so erhlt man folgenden neuen Anfragevektor:

=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 118
0, 087
0, 119
0, 339
0, 262
0
0
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Dieser modizierte Anfragevektor fhrt zu einem deutlich anderen Ergebnis. Die Wer-
te der Retrievalfunktion und auch die Reihenfolge sehen nun so aus:
1. d
1
0, 957
2. d
3
0, 787
3. d
2
0, 691
4. d
4
0, 640
5. d
5
0, 262
6. d
8
0, 172
7. d
10
0, 119
8. d
6
0, 056
9. d
7
0, 050
10. d
9
0, 018
95
5 Das Vektorraum Modell
So praktisch und ntzlich Relevance Feedback in vielen Fllen sein mag, ein Problem
ist jedoch, dass die Nutzer wohl uerst selten die Dokumente tatschlich lesen (oder
zumindest beriegen) und danach ein Feedback geben werden.
Alternativ knnen indirekte Feedback Angaben verwendet werden (welche Dokumente
hat der Nutzer angeklickt?). Eine weitere Mglichkeit ist Pseudo-Relevance Feedback. Die
als am relevantesten eingeschtzten Dokumente werden direkt als positives Feedback in
einen zweiten Durchlauf der Suche gesteckt. Der Nutzer erhlt nur die Ergebnisse des
zweiten Durchlaufs und bemerkt gar nichts vom zwischengeschalteten Ergebnis. Das mag
gut funktionieren, wenn die Treerliste bereits im ersten Anlauf gut war. In Fllen wie
dem obigen Beispiel drfte das Ergebnis jedoch eher durchwachsen sein.
5.8 Optimierung: Bestimmung der ungefhren Top-K
Dokumente
Bisher sind wir immer davon ausgegangen, dass wir die Retrievalfunktion vollstndig und
fr alle Dokumente ausrechnen. Das kann bei einem greren Korpus aufwndig und zeitin-
tensiv sein. In vielen Fllen werden die Nutzer jedoch die Ergebnisliste gar nicht komplett
anschauen. Das heit, es kann gengen nur die K besten Treer zu bestimmen, anstatt
alle Treer zu erfassen und zu ranken. Weiterhin sind die Werte der Retrievalfunktion le-
diglich ein Ausdruck der Systemrelevanz und damit nur der Versuch die Relevanz eines
Dokumentes fr einen Nutzer abzuschtzen. Daraus ergibt sich auch, dass die vom Nut-
zer empfundene Ntzlichkeit einer Ergebnisliste wohl kaum beeintrchtigt wird, wenn die
Reihenfolge der Eintrge etwas verndert wird oder gar einige Eintrge fehlen. Das gilt ins-
besondere in Szenarien wie einer Websuche, d.h. wenn in groen oder sehr groen Korpora
gesucht wird und nicht wirklich alle relevanten Dokumente gefunden werden mssen
4
.
Diese Beobachtung fhrt zur Idee, dass man aus Ezienzgrnden Schtzungen fr die
K besten Dokumente in Kauf nimmt, also die ungefhren Top-K Dokumente berechnet.
Zwei Anstze wie dies erreicht werden kann sollen hier kurz angesprochen werden.
Ein Ansatz sind Champion Listen. Dabei wird zu jedem Term t eine Liste mit r Doku-
menten vorgehalten, die zu diesem Term die hchsten tf Werte aufweisen
5
. Bei Anfragen
ber mehreren Termen werden dann zunchst die Dokumente in diesen Champion Listen
zu einer Liste vereinigt und nur auf den Dokumenten in dieser gemeinsamen Liste werden
tatschlich hnlichkeitswerte berechnet. Der Wert r muss dabei deutlich grer als K sein.
Diese Vorgehensweise lsst sich auch mit statischen Qualittsmaen verbinden. Stati-
sche Qualittsmae treen Relevanzaussagen ber ein Dokument, die von einer Anfrage
4
In Fllen wie der Suche nach Gerichtsurteilen oder Patentschriften hingegen ist es sehr wichtig, dass alle
relevanten Dokumente gefunden werden.
5
Da die idf Werte von den Dokumenten unabhngig sind gengen die tf Werte zur Bestimmung der besten
Treer zu einem Term.
96
5.9 Zusammenfassung
unabhngig sind. Das mag zunchst widersprchlich klingen, da die Anfrage ja das In-
formationsbedrfnis ausdrckt, welches wiederum zur Relevanzbewertung fhrt. Es gibt
jedoch Mae die solche Aussagen treen knnen, z.B. Googles PageRank [BP98], das die
Wichtigkeit eines Dokuments anhand dessen Verlinkung festmacht. Auch wre es denkbar
die Dokumentlnge oder die Komplexitt der Sprache in ein statisches Qualittsma ein-
zubauen. Dann kann man sogar globale Championlisten der Dokumente erstellen, die sehr
wahrscheinlich in einer Ergebnismenge auftauchen knnen.
Ein anderer Ansatz liegt in einem alternativen Aufbau der Posting Listen. Anstatt wie
bisher die Listen nach Dokument-ID zu sortieren, werden diese absteigend nach tf Werten
sortiert. Geht man beim Berechnen der Retrievalfunktion term-at-a-time vor, so kann man
gegebenenfalls abbrechen, sobald die Termfrequenz unter einen gewissen Schwellwert fllt.
Durchluft man weiterhin die Posting Listen absteigend bezglich der idf Werte, so braucht
man eventuell nicht alle Listen zu durchlaufen, da sie aufgrund niedriger idf Werte auf das
Ergebnis sowieso wenig Einuss htten.
5.9 Zusammenfassung
Das in diesem Kapitel vorgestellte Vektorraummodell ist von den theoretischen Grund-
lagen recht einfach aufgebaut: Dokumente und Anfragen werden ber Vektoren in hoch-
dimensionalen Vektorrumen dargestellt und die Retrievalfunktion bestimmt letztendlich
hnlichkeiten der Vektoren.
In der klassischen TF-IDF Variante werden Term- und inverse Dokumentfrequenz zu
Gewichten in den Vektoren verknpft und die hnlichkeit von Vektoren berechnet sich
ber die Gre des eingeschlossenen Winkels. Es gibt jedoch zahlreiche Mglichkeiten zur
Bestimmung der Gewichte in Dokument- und Anfragevektoren sowie zur Normalisierung
der Dokument-, bzw. der Vektorlnge.
Die Mglichkeit ganze Dokumente zu vergleichen, erlaubt es in diesem Modell sehr ein-
fach Anfragen per Query by Example zu denieren oder die Dokumente im Korpus zu
Clustern. Auch der Rocchio Algorithmus fr den Einbezug von Nutzer Feedback verwen-
det die Vektordarstellung der Dokumente.
Eine Mglichkeit die Ezienz eines IR Systems auf der Basis des Vektorraummodells
zu steigern liegt in der Berechnung ungefhrer Top-K Listen, z.B. ber Champion Listen,
statische Qualittsmae oder den Aufbau der Posting Listen sortiert nach Termfrequenzen.
97
5 Das Vektorraum Modell
98
6 Evaluation
Mit der Einfhrung des Vektorraum Modells stellt sich langsam die Frage nach der Eva-
luation von IR Systemen. Die verschiedenen Mglichkeiten zur Gewichtung von Termen
in Dokumenten und Anfragen, die alternativen Anstze zur Berechnung von hnlichkeit
sowie diverse darin enthaltene Parameter fhren fast zwangslug dazu, dass man testen
muss welche Einstellungen in einer bestimmten Anwendung am geeignetsten sind.
In diesem Kapitel sollen verschieden Themen der Evaluation angesprochen werden. Das
sind einerseits eher weiche Faktoren wie die Nutzerzufriedenheit und wahrgenommene Per-
formanz. Andererseits gibt es aber auch konkrete, objektive Mae, die fr die Beurteilung
und den Vergleich verschiedener Systeme herangezogen werden.
Voraussetzung fr die Anwendung der Evaluationsmae sind Kollektionen von Testdo-
kumenten zu denen es vorgegebene Abfragen und Relevanzeinschtzungen zu den Doku-
menten gibt. Hier werden wir sehen, welche bekannten Testkollektionen es gibt und wie
diese erstellt werden.
6.1 Das Craneld Paradigma
Bei IR Systemen knnen prinzipiell die gleichen Evaluationsmae wie bei allen Software-
systemen angelegt werden. Das kann ein Erfllungsgrad der Anforderungen sein, das kann
der eziente Umgang mit Systemressourcen wie Speicherplatz oder Rechenzeit sein, oder
das knnen Fragen der Nutzerfreundlichkeit sein. Ebenso knnen auch klassische Evalua-
tionsmae aus dem Bereich der Datenbanken herangezogen werden, insbesondere was die
Geschwindigkeit angeht. Wie lange dauert eine Suche, wie lange wird fr das Erfassen eines
neuen Dokumentes im Index bentigt? Wie viele Transaktionen kann das System in einem
vorgegebenen Zeitrahmen durchfhren und wie viele Nutzer knnen gleichzeitig mit dem
System arbeiten?
Darber hinaus gibt es aber auch Qualittsanforderungen die ganz speziell den IR Be-
reich betreen. Im Gegensatz zu Datenbanken ist die Ergebnismenge schlielich nicht ex-
akt deniert, sondern lediglich eine Schtzung des IR Systems, welche Dokumente zu einer
Anfrage relevant sein knnten. Daraus ergibt sich der Wunsch zu berprfen, wie sehr
die Systemrelevanz einer IR Anwendung mit der tatschlichen Relevanz der Dokumente
bereinstimmt.
Die Frage, wie man diesen Aspekt eines IR Systems testen kann beschftigte die Mitar-
beiter in Bibliotheken bereits bevor in groem Mae Computer zur Untersttzung der In-
formtionssuchenden eingesetzt wurden. Anfangs stand daher eher die Frage im Raum, wel-
ches System zur Katalogisierung und Indizierung einer Schriftensammlung am geeignetsten
99
6 Evaluation
ist. Meist wurde dabei nicht sehr systematisch vorgegangen, sondern anhand vereinzelter
Beispiele versucht, die Vor- und Nachteile des einen oder anderen Ansatzes herauszustellen.
Einen systematischen Ansatz zur Bewertung von Indizierungsverfahren verfolgte Cyril
Cleverdon Anfang der 1960er Jahre am Craneld College in England [Rob08]. Whrend
es dabei noch um manuell erstellte Indizes ging, so ist die Methodik jedoch bis heute
ausschlaggebend und die Evaluationsinitiativen im IR basieren alle auf diesem Ansatz.
Man spricht daher auch vom Craneld Paradigma in der Evaluation von IR Systemen.
Der von Cleverdon verfolgte Ansatz bestand darin, alle Indizierungsverfahren (heutzu-
tage bezieht sich dies auf IR Systeme) auf den gleichen Dokumenten und mit den gleichen
Anfragen arbeiten zu lassen. Wie die Dokumente und Anfragen dabei verarbeitet werden
bleibt dem Verfahren berlassen. Die Dokumente der Ergebnismenge werden anschlieend
von unabhngigen Juroren auf ihre Relevanz hin untersucht. Fr die gesuchte tatschli-
che Relevanz wird also die objektive Relevanz herangezogen. Dabei wird jedes Dokument
nur einem Juror vorgefhrt, es wird absichtlich nicht versucht ein Mehrheitsurteil oder eine
bereinstimmung mehrere Jury Mitglieder zu erreichen.
Genau dieser Punkt wurde spter genauer untersucht, insbesondere dahingehend, wie
sehr die gemessene Leistung eines IR Systems von den Juroren abhngt. In Versuchen
wurde dazu jedes Dokument in einem Evaluationsprozess mehreren Juroren vorgefhrt
und die bereinstimmung der Relevanzurteile untersucht. Es stellte sich heraus, dass die
Juroren in der Tat recht oft nicht der gleichen Meinung sind. Bei der Verwendung der
unterschiedlichen Relevanzurteile zur Bewertung von IR Systemen zeigte sich, dass die
unterschiedlichen Urteile sehr wohl einen Einuss auf die absoluten Bewertungsergebnisse
hatten, jedoch nicht auf die relativen. Das heit, letztendlich schnitt jedes einzelne IR
System zwar je nach Juror besser oder schlechter im Test ab, die Reihenfolge der System
untereinander blieb jedoch nahezu gleich. Ein gutes System (im Vergleich zu anderen) blieb
ein gutes System und ein schlechtes System blieb schlecht.
Zu Anbeginn der Tests waren die Korpora sehr klein. Die Sammlung von Dokumenten
in den Craneld Tests umfasste nur 1.400 Dokumente. Bei diesem Umfang war es wenn
auch mit hohem Aufwand prinzipiell noch mglich zu jeder Kombination aus Dokument
und Anfrage eine Entscheidung zu treen, ob das Dokumente zur Anfrage relevant ist.
Bei modernen, greren Korpora ist dies nicht mehr der Fall. Der GOV2 Korpus aus den
TREC Daten, der heute fr Vergleiche Web-basierter IR Systeme zur Verfgung steht,
enthlt ber 25 Millionen Dokumente. Hier ist es schlichtweg unmglich alle Dokumente
anzuschauen.
Diesem Problem wird bei Vergleichstests mit der Pooling Methode Rechnung getragen.
Dazu erhalten alle Teilnehmer die Dokumentsammlung und die Anfragen sowie die Aufga-
benstellung zu jeder Anfrage eine Liste von k Ergebnisdokumenten (typische Werte fr k
sind 100 oder 1.000 Dokumente) zurckzuliefern. Die Dokumente der Ergebnislisten werden
in einem Pool zusammengefhrt und es wird nur dieser Dokumentpool auf seine Relevanz
hin untersucht. Abbildung 6.1 stellt diese Vorgehensweise schematisch dar. Da auch dies
noch zu einer sehr groen Anzahl an zu begutachtenden Dokumenten fhren kann, werden
gelegentlich nicht alle sondern nur einige Ergebnislisten in den Pool aufgenommen.
100
6.2 Test Daten
Abbildung 6.1: Pooling Verfahren zur Evaluation von IR Systemen ber groen Korpora.
Tabelle 6.1: Kleine Testkorpora
Korpus Inhalte Dokumente Anfragen
Craneld Aerodynamik 1.400 225
MED Biomedizin 1.033 30
TIME Nachrichten 425 83
CACM Informatik 3.204 52
Die Anfragen werden gelegentlich (z.B. im Rahmen der TREC Konferenzen [TRC09])
auch als Topics bezeichnet, da sie nicht nur eine (vorgegebene) Anfrage enthalten, sondern
aus einem Titel, einer kurzen Erklrung sowie einer ausfhrlicheren Beschreibung bestehen.
Die Anfragen knnen letztendlich aus allen Teilen des Topics erstellt werden, es muss fr
die Evaluation nur angegeben werden, welche Teile in die Suche eingeossen sind.
6.2 Test Daten
Zur Evaluation von IR Systemen gibt es inzwischen eine ganze Reihe von Testkorpora.
Insbesondere fr den Vergleich mit anderen Systemen empehlt es sich hier auf weit ver-
breitete Sammlungen zurckzugreifen.
Im Zusammenhang mit dem IR System SMART kann man einige ltere Testkollektionen
frei herunterladen. Dazu gehrt unter anderem die Dokumentkollektion der ursprnglichen
Craneld Tests. Weitere bekannte Sammlungen sind CACM, MED und TIME. Hierzu gibt
es auch Listen der Anfragen und insbesondere Angaben dazu, welche Dokumente zu einer
Anfrage als relevant erachtet werden. Tabelle 6.1 gibt eine bersicht ber die Anzahl der
Dokumente und Anfragen in diesen Dokumentsammlungen.
Im Rahmen der Text Retrieval Conference (kurz TREC) wurden verschiedene grere
Korpora entwickelt, die jedoch nicht mehr kostenlos zu haben sind. Die Topics und Listen
101
6 Evaluation
der relevanten Dokumente sind jedoch frei verfgbar. Zu jedem Korpus gibt es verschiedene
Aufgaben, die als Tracks bezeichnet werden. Die Tracks umfassen Ad Hoc, Routing und
verschiedene andere, speziellere Aufgaben. Die TREC Daten haben sich mit der Zeit fast
zu einem Standard in der Evaluation von IR Systemen entwickelt.
Fr Klassikationsaufgaben (die wir bisher noch nicht nher betrachtet haben) gibt
es andere Korpora, die hierfr geeigeneter sind, da bereits Klassen zu den Dokumenten
vorgegeben sind. Dazu gehren Reuters 21578, sowie die neueren, wesentlich umfangrei-
cheren Sammlungen Reuters Corpus Volume 1 und Volume 2. Alle drei Korpora bestehen
aus Reuters Nachrichten Meldungen, wobei Volume 2 Meldungen im Gegensatz zu den
anderen beiden Sammlungen Texte in verschiedenen Sprachen enthlt.
6.3 Mae
Gem dem Craneld Ansatz knnen wir fr die klassische Aufgabe des Ad Hoc Retrieval
(ohne Feedback) also davon ausgehen, dass wir in einem bekannten Korpus D und zu einer
gegebenen Anfrage q die Menge G der relevanten Dokumente kennen. Eine solche Vorgabe
wird auch als Goldstandard bezeichnet.
Betrachten wir zunchst den einfachsten Fall von Evaluation, in dem Ranking keine
Rolle spielt (beispielsweise bei der Bewertung eines boolschen IR Systems). Das IR System
liefert uns zu einer Anfrage q ber dem Korpus D die Ergebnismenge A von Dokumenten.
Diese Menge wird wohl in den seltensten Fllen exakt mit G bereinstimmen. Vielmehr
wird hchstwahrscheinlich eine Situation wie in Abbildung 6.2 eintreten.
Abbildung 6.2: Lage der Ergebnismenge A und des Goldstandards G im Korpus D.
Wir mssen also die bereinstimmung zwischen A und G messen. Dazu knnen wir
einerseits bestimmen, wie viele der relevanten Dokumente das System letztendlich gefunden
hat und welchen Anteil an allen relevanten Dokumenten dies ausmacht. Diese Kennzier
wird mit Recall (r) bezeichnet und lsst sich ber die Schnittmenge von A und G sowie
Mengenmchtigkeiten ausdrcken:
r =
[A G[
[G[
Der Recall nimmt Werte zwischen 0 und 1 an. Ein Wert von 1 bedeutet, dass alle
relevanten Dokumente in der Ergebnismenge enthalten sind, ein Wert von 0 entsprechend,
dass keines der relevanten Dokumente gefunden wurde. Hhere Werte sind also besser.
102
6.3 Mae
Ein anderer interessanter Wert ist Precision (p). Hier wird geprft, wie viele der Doku-
mente in der Ergebnismenge tatschlich relevant sind, wiederum als Anteil der gesamten
Ergebnismenge. Man misst also gewissermaen die Reinheit der Ergebnismenge. Auch
Precision lsst sich einfach ber Mengen denieren:
p =
[A G[
[A[
Oensichtlich gilt auch hier wieder, dass Werte zwischen 0 und 1 angenommen werden.
Hohe Werte sind ebenfalls besser, insbesondere bedeutet eine Precision von 1, dass nur
relevante Dokumente in der Ergebnismenge enthalten sind und eine Precision von 0, dass
keine relevanten Dokumente enthalten sind.
Eine Besonderheit fr den Precision-Wert ist, dass er fr leere Ergebnismengen nicht
deniert ist
1
. Man knnte hier einen Wert von 1 ansetzen, mit der Begrndung, dass die
Menge sehr rein ist, also keine Falschtreer enthlt. Wir werden in Krze eine bessere
Mglichkeit nden diesen Wert abzuschtzen.
Eine drittes Ma, dass sich auf dieser Darstellung der Ergebnismengen und des God-
standards berechnet lsst, ist der Fallout. Hierbei wird betrachtet, welcher Anteil aller
irrelevanten Dokumente in der Ergebnismenge enthalten ist. Im Prinzip wird hierbei ge-
messen, wie gut das System die irrelevanten Dokumente zurckhlt. Im Gegensatz zu Recall
und Precision sind beim Fallout kleine Werte von Vorteil.
o =
[A G[
[D G[
Das Fallout Ma kommt in der Evaluation heutzutage praktisch nicht mehr zum Ein-
satz. Das drfte unter anderem an den enormen Datenmengen liegen, mit denen IR Systeme
umgehen. Geht man beispielsweise davon aus, dass das World Wide Web 15 Milliarden Do-
kumente enthlt, wovon 1 Million zu einer Anfrage relevant seien. Ein Fall Fallout von nur
0,0001% entspricht dann immer noch 14.999 irrelevanten Dokumenten in der Ergebnisliste.
Die Precision mit ihrem Focus auf die Ergebnisliste allein ist daher ein geeigneteres Ma.
Alternativ kann das Ergebnis einer Suche auch anders betrachtet werden. Tabelle 6.2
zeigt eine sogenannte Confusion Matrix, die angibt, welche Flle bei einer Suche auftreten
knnen. Die guten Flle stehen in den Zellen A I und B II. In A I stehen die Dokument,
die gem dem Goldstandard relevant sind und vom IR System in die Ergebnismenge
aufgenommen wurden. Man spricht hierbei von den hits (Treern) oder den true positive
(TP) Ergebnissen. Zelle B II enthlt die Anzahl der Dokumente, die als nicht relevant ein-
gestuft wurden und auch nicht in der Ergebnismenge auftauchen. Diese gelten als rejected
(verworfenen), bzw. true negative (TN) Ergebnisse. Die Fehler, die ein IR System macht
werden in den Zellen A II und B I aufgefhrt. Zelle A II enthlt die relevanten Dokumente,
die das IR System bersehen hat, die also nicht in der Ergebnismenge auftauchen. Daher
1
Prinzipiell ist der Recall fr eine leere Menge im Goldstandard ebenfalls nicht deniert. Wenn es im
Korpus zu einer Anfrage allerdings keine relevanten Dokumente gibt, so ist der gesamte Testaufbau
fragwrdig.
103
6 Evaluation
Tabelle 6.2: Confusion Matrix
A B
Relevant Nicht relevant
I In Ergebnismenge TP / hits FP / noise
II Nicht in Ergebnismenge FN / misses TN / rejected
werden sie als misses (Verlust, Versumnisse) bezeichnet und man spricht von false negati-
ve (FN) Ergebnissen. Zelle B I hingegen enthlt die Dokumente in der Ergebnismenge, die
nach Goldstandard als nicht relevant markiert sind. Diese Dokument sind noise (Rauschen,
Strung) oder false positives (FP).
Im Bezug auf die obigen Mengen und deren Mchtigkeit gilt nun im Zusammenhang mit
der Confusion Matrix, dass:
[D[ = TP + TN + FP + FN
[A[ = TP + FP
[G[ = TP + FN
[A G[ = TP
Damit lassen sich Recall und Precision auch als Ausdrcke ber der Confusion Matrix
darstellen:
r =
TP
TP + FN
p =
TP
TP + FP
Auerdem kann noch ein weiteres Ma herangezogen werden, die Accuracy:
acc =
TP + TN
TP + TN + FP + FN
Accuracy wird im Bereich des Data Mining oder Machine Learning huger verwendet,
im IR ist das Ma weniger hilfreich. Das liegt schlicht daran, dass der Groteil der Doku-
mente in einem Korpus zu einer bestimmten Anfrage nicht relevant sein drfte. Daher ist
der Werte TN ebenfalls sehr gro und liegt nahe bei [D[. Ein IR System knnte also bereits
durch die einfache Politik, alle Dokument als irrelevant zu bezeichnet, sehr gute Accuracy
Werte erzielen.
Aber auch Recall und Precision sind problematisch. Sie betrachten die Ergebnismenge
aus zwei unterschiedlichen Blickwinkeln und sind von den Werten her sogar gegenlug. Das
lsst sich recht einfach erklren. Ein Recall-Wert von 1 kann immer erreicht werden. Dazu
mssen nur alle Dokument in die Ergebnismenge aufgenommen werden. Allerdings ist dann
Precision sehr niedrig. Auch ein hoher Precision-Wert kann meist einfach erreicht werden.
104
6.3 Mae
Man nimmt nur solche Dokumente in die Ergebnismenge auf, die in der Retrievalfunktion
einen hohen Wert erzielen, bei denen sich das IR System bezglich der Relevanz also
ziemlich sicher ist. Die meisten davon drften tatschlich relevant sein, allerdings drften
auch viele relevante Dokumente des Goldstandards fehlen.
Wie knnen also zwei IR Systeme verglichen werden, von denen eines hhere Recall
Werte erzielt und eines hher Precision Werte? Eine Mglichkeit, die beiden Werte zu
verknpfen wurde in [VR79] deniert, das sogenannte F

-Ma
2
:
F

=
(
2
+ 1) r p

2
p + r
Dabei stehen wie oben r fr Recall und p fr Precision. Der positive Parameter erlaubt
eine unterschiedliche Gewichtung von Recall und Precision. Hohe Werte fr gewichten
den Recall strker, kleine Werte gewichten den Einuss von Precision hher.
Harmonischer Mittelwert
Das F

-Ma lt sich als gewichtetes harmonisches Mittel zwischen Recall und Preci-
sion erklren. Das gewichtete harmonische Mittel ber den beiden Werte ist deniert
als:
avg
harm
(p, r) =
1

1
p
+ (1 )
1
r
Setzt man hier fr den Wert =
1

2
+1
ein, dann ergibt sich genau die obige Formel
fr F

.
In allgemeinen Beurteilungen zur Performanz wird meistens eine Gleichgewichtung bei-
der Gren verwendet, d.h. erhlt einen Wert von 1. Diese am hugsten verwendete
Variante wird mit F
1
als Kurzfassung fr F
=1
bezeichnet. Auch F
1
kann wieder ber den
Werten aus der Confusion Matrix ausgedrckt werden:
F
1
=
2 r p
p + r
=
2
_
TP
TP+FN
_

_
TP
TP+FP
_
_
TP
TP+FN
_
+
_
TP
TP+FP
_
=
2 TP
2 TP + FP + FN
Recall, Precision, F
1
und Accuracy.
Gehen wir von einer Dokumentsammlung von 100 Dokumenten d
1
bis d
100
aus. Zu
einer gegebenen Anfrage ist bekannt, dass die acht Dokumente d
2
, d
3
, d
6
, d
8
, d
10
, d
14
,
d
17
und d
29
relevant sind, also den Goldstandard zu dieser Anfrage bilden. Ein IR
System liefert die Ergebnismenge d
2
, d
3
, d
4
, d
7
, d
8
, d
10
, d
12
, d
17
, d
20
, d
29
.
2
Genau genommen wurde das E-Ma deniert, fr das aber gilt: F

= 1 E.
105
6 Evaluation
Die Schnittmenge zwischen dem Goldstandard und der Ergebnismenge des Systems
ist dementsprechend d
2
, d
3
, d
8
, d
10
, d
17
, d
29
. Daher ergeben sich fr Recall und Pre-
cision folgende Werte:
r =
[d
2
, d
3
, d
8
, d
10
, d
17
, d
29
[
[d
2
, d
3
, d
6
, d
8
, d
10
, d
14
, d
17
, d
29
[
=
6
8
= 0, 75
p =
[d
2
, d
3
, d
8
, d
10
, d
17
, d
29
[
[d
2
, d
3
, d
4
, d
7
, d
8
, d
10
, d
12
, d
17
, d
20
, d
29
[
=
6
10
= 0, 6
Der Wert fr F
1
ist somit:
F
1
=
2 r p
p + r
=
2 0, 75 0, 6
0, 75 + 0, 6
= 0, 667
Betrachtet man die Confusion Matrix, so sehen die Eintrge folgendermaen aus:
A B
I 6 4
II 2 88
Daraus ergibt sich eine Accuracy von:
acc =
6 + 88
6 + 88 + 4 + 2
= 0, 94
Dass Accuracy im IR kein geeignetes Ma ist zeigt sich, wenn man den bereits ange-
sprochenen Fall betrachtet, dass ein System immer eine leere Ergebnismenge zurck-
geliefert. Dann erreicht man in diesem Fall immerhin noch eine Accuracy von 0,9,
whrend der Recall und somit auch das F
1
-Ma auf 0 sinken.
Eine Evaluation ndet sinnvollerweise nicht nur ber einer Anfrage auf einer Doku-
mentsammlung statt, sondern erstreckt sich ber mehrere Anfragen und eventuell mehrere
Korpora. Dann stellt sich allerdings die Frage, wie die Werte fr Recall und Precision ber
mehrere Versuche hinweg aggregiert werden. Mit der Makro- und Mikromittelwertblidung
gibt es hierfr zwei Anstze.
Bei der Makrobewertung wird der Mittelwert ber alle Recall und Precision Werte ge-
bildet. Das heit, es wird letztendlich der Mittelwert ber alle Suchvorgnge gebildet. Aus
diesem Grund gilt die Makrobewertung auch als Nutzersicht. Bei der Mikrobewertung hin-
gegen wird die Zahl der relevanten und nicht relevanten Dokumente aller Suchen zunchst
summiert und danach ein Recall oder Precision Wert ber dieser knstlichen Ergebnisbeob-
achtung gebildet. Damit orientiert sich die Mikrobewertung an den relevanten Dokumenten
ber allen Anfragen insgesamt und gilt auch als System-orientierte Mittelwertbildung.
106
6.3 Mae
Nehmen wir an, dass die Menge A
i
der Ergebnismenge eines IR Systems zur Anfrage
q
i
entspricht und G
i
den Goldstandard zu dieser Anfrage darstellt, dann berechnen sich
Makro- und Mikro-Precision folgendermaen:
p
makro
=
1
K
K

i=1
[A
i
G
i
[
[A
i
[
p
mikro
=

K
i=1
[A
i
G
i
[

K
i=1
[A
i
[
Die Berechnung von Makro- und Mikro-Recall oder -F
1
verluft jeweils vllig analog.
Makro- und Mikromittelung
Gehen wir von vier Testanfragen q
1
bis q
4
aus, zu denen die Ergebnismengen bezglich
ihres Recalls und ihrer Precision beurteilt wurden. Die folgende Tabelle gibt genauen
Aufschluss ber die ktiven Ergebnisse:
Anfrage [A
i
[ [G
i
[ [A
i
G
i
[ Precision Recall
q
1
3 10 2 0,67 0,20
q
2
20 12 12 0,60 1,00
q
3
35 100 20 0,57 0,20
q
4
5 6 4 0,80 0,67
Berechnet man ber diesen Werten nun den Makro-Recall, so erhlt man:
r
makro
=
1
4
(0, 2 + 1, 0 + 0, 2 + 0, 67) = 0, 52
Der Mikro-Recall sieht ganz anders aus. Durch die Zusammenlegung der Ergebnisse
ergibt sich hier:
r
mikro
=
2 + 12 + 20 + 4
10 + 12 + 100 + 6
= 0, 30
Da sich die Mikro-Bewertung an relevanten Dokumenten orientiert hat die Anfrage q
3
einen wesentlich strkeren Einuss auf das Gesamtergebnis, da die Menge G
3
deutlich
grer ist als bei den anderen Anfragen.
Bei Precision fllt der Unterschied in diesem Beispiel mit p
makro
= 0, 66 und p
mikro
=
0, 6 nicht ganz so gravierend aus.
Bei IR Systemen die ihre Ergebnisse nach absteigender Relevanz sortieren, also ein Ran-
king vornehmen, knnen Recall, Precision und F
1
ebenso angewendet werden. Allerdings
wird bei diesen Maen die Reihenfolge nicht bercksichtigt. Diese spielt jedoch eine ent-
scheidende Rolle. Man stelle sich nur zwei Websuchmaschinen vor, die zwar die gleichen
107
6 Evaluation
50 relevanten Treer und die gleichen 50 uninteressante Dokument auisten, wobei jedoch
eine Suchmaschine die relevanten Treer auf den Pltzen eins bis 50 listet und die andere
auf den Pltzen 51 bis 100. Die Werte fr Recall, Precision und F
1
sind fr beide Systeme
gleich. Wenn bei einem IR System jedoch unter den ersten 50 Ergebnissen kein einziges
relevantes Dokument enthalten ist, werden Nutzer nur selten noch weiter unten in der Er-
gebnisliste nach Treern suchen. Mit diesem Beispiel wird die unterschiedlich Performanz
zweier Systeme mit gleicher Ergebnismenge aber unterschiedlichem Ranking recht schn
verdeutlicht.
Ein Ansatz, der Ranking bercksichtigt und hervorragend zu diesem Beispiel passt, ist
Precision at k, auch abgekrzt durch p@k. Hierbei wird die Precision ber den ersten k
Eintrgen der Ergebnisliste bestimmt. Ein typischer Werte fr k ist 10, da viele Such-
maschinen standardmig auf einer Ergebnisseite zunchst nur die ersten 10 Ergebnisse
anzeigen.
Precision at k.
Gehen wir wie oben wieder von den zu einer Anfrage relevanten Dokumenten d
2
, d
3
,
d
6
, d
8
, d
10
, d
14
, d
17
und d
29
aus. Eine Suchmaschine liefert nun folgende (gerankte!)
Treerliste:
d
17
, d
3
, d
4
, d
10
, d
14
, d
6
, d
45
, d
9
, d
8
, d
21
Die relevant Treer sind hier zustzlich unterstrichen, um sie deutlich erkennbar zu
machen. Nun kann man Precision at k fr verschiedene Werte von k ausrechnen. In
der folgenden Tabelle sind Werte fr k = 2, k = 3, k = 5 und k = 10 aufgefhrt:
p@2 p@3 p@5 p@10
2
2
= 1
2
3
= 0, 667
4
5
= 0, 8
6
10
= 0, 6
Eine Schwche von Precision at k liegt in der Wahl des Parameters k. Ein Wert von
k = 10 lsst sich anschaulich mit den Nutzerschnittstellen vieler Suchsysteme erklren.
Dennoch ist auch diese Festlegung zu einem gewissen Grad willkrlich. Insbesondere wenn
nur sehr wenige relevante Dokumente existieren kann p@k zu trgerischen Werten fhren.
Gibt es beispielsweise nur 5 relevante Dokumente, so kann ein IR System maximal einen
p@10 Wert von 0,5 erreichen.
Der R-Precision Ansatz versucht dies auszugleichen. Hier wird davon ausgegangen, dass
bekannt ist, wieviele relevante Dokumente es zu einer Anfrage insgesamt gibt. Sind dies
nun R Dokumente, so setzt man in p@k den Wert von k auf R. Das hat zweierlei Eekte.
Einerseits erzielt ein hervorragendes System im obigen Beispiel mit 5 relevanten Dokumen-
ten die auf den ersten fnf Rankingpltzen stehen einen perfekten R-Precision Wert von 1.
Weiterhin gilt fr R-Precision, dass der Recall Wert genau dem Precision Wert entspricht:
108
6.3 Mae
p
R
=
[A G[
[A[
=
[A G[
[G[
= r
R
Das liegt daran, dass die Ergebnismenge genau so gro wie die Menge des Goldstandards
gewhlt ist. Daher entspricht R-Precision auch dem Break-Even-Point, also dem Punkt an
dem sich Recall und Precision die Waage halten.
Auch in Precision-Recall Graphen werden Precision Werte mit Recall Werten in Ver-
bindung gesetzt. Allerdings werden hier mehrere Werte abgetragen. Die Idee dabei ist, fr
jeden Eintrag in der Ergebnisliste Precision und Recall bis zu diesem Treer zu bestimmen
und diese Werte in einem Graphen abzutragen. Da dies zu einer etwas zackigen Kurve
fhrt
3
, werden Precision-Recall Graphen meist mit interpolierten Precision Werten darge-
stellt. Die interpolierte Precision zu einem beliebigen Recall Wert ist die hchste Precision
die mit einem noch hheren Recall erreicht wird. Damit lsst sich auch tatschlich ein
interpolierter Precision Wert fr einen Recall von 0, bzw. die leere Ergebnismenge be-
stimmen. In Abbildung 6.3 ist sowohl die zackige als auch die geglttete Darstellung eines
Precision-Recall Graphen zu sehen.
Abbildung 6.3: Precision-Recall Graph.
Da diese Darstellung von der Anzahl der relevanten Dokumente abhngig ist und auch
nur eine Anfrage und deren Ergebnis erfasst knnen Precision-Recall Graphen vereinfach
und zusammengefasst werden. In eleven-point average Precision-Recall Graphen wird ber
die Precision Werte in mehreren Ergebnissen an den Recall Werten zwischen 0 und 1 in
Schritten mit einer Weite von 0,1 gemittelt. Tritt eine bestimmter Recall Wert in einer
Ergebnismenge gar nicht auf (weil es z.B. nur 3 relevante Dokument gibt), so wird der
interpolierte Precision Wert an dieser Stelle verwendet. Ein Beispiel ist in Abbildung 6.4
3
Bei jedem nicht relevanten Dokument bleibt der Recall und somit der x-Wert der Kurve gleich, whrend
Precision und somit und der y-Wert abfllt. Bei einem TP Treer hingegen steigen beide Werte an.
109
6 Evaluation
zu sehen. In einigen Quellen nden sich auch three-point average Precision-Recall Graphen.
In diesem Fall werden die Precision Werte bei einem Recall von 0,2, von 0,5 und von 0,8
abgetragen.
Abbildung 6.4: Eleven Point Precision-Recall Graph.
Um die Informationen die in Precision-Recall Graphen stecken auf eine Zahl herunter zu
kochen, verwendet man Mean Average Precision (MAP). Dazu werden zu einer gegebenen
Anfrage und deren Ergebnismenge die Precision-Werte bestimmt, die an jedem einzelnen
der relevanten Dokumente in der Ergebnisliste vorliegen. ber diesen Precision-Werten
wird dann der Mittelwert gebildet (Average Precision) und wiederum ber mehrere An-
fragen gemittelt (Mean). Formal betrachtet hat man eine Menge Q von Anfragen q
i
. Zu
jeder Anfrage q
i
ist die Menge d
i,1
, d
i,2
, ..., d
i,m
i
der relevanten Dokumente bekannt. In
den Ergebnisliste eines IR Systems steht Dokument d
i,j
dann an Position k
i,j
und man
kann die Precision P(k
i,j
) bis zu dieser Stelle in der Ergebnisliste bestimmen (letztendlich
also p@k
i,j
). Taucht ein Dokument gar nicht in der Ergebnisliste auf, so wird der Precision
Wert entsprechend auf 0 gesetzt. Damit kann man MAP dann formulieren als:
MAP =
1
[Q[

|Q|

i=1
1
m
i
m
i

j=1
P(k
i,j
)
MAP
Fr die Berechnung von MAP gengt es in der Ergebnisliste anzugeben, welche Do-
kumente relevant sind und welche nicht. In einer Ergebnisliste von 20 Dokumenten
knnen wir daher einfach mit einem Eintrag von 1 die Relevanz ausdrcken und mit
0 einen nicht relevanten Eintrag:
110
6.3 Mae
(1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0)
Wir haben also relevante Dokumente an den Positionen 1, 3, 4, 7, 10, 12, 15 und 19.
An jeder dieser Stellen mssen wir nun die Precision berechnen:
1 3 4 7 10 12 15 19
1,00 0,67 0,75 0,57 0,50 0,50 0,47 0,42
Auerdem ist bekannt, dass zwei relevante Dokumente in der Ergebnisliste fehlen fr
die daher eine Precision von 0 angenommen wird. Die Mittelwertbildung ber diesen
Werten ergibt folgende Average Precision:
1 + 0, 67 + 0, 75 + 0, 57 + 0, 5 + 0, 5 + 0, 47 + 0, 42 + 0 + 0
10
= 0, 49
Bildet man ber den Average Precision Werten mehrere Anfragen an ein IR System
den Mittelwert, so erhlt man MAP fr dieses System und diesen Testaufbau.
Ein Problem mit allen bisherigen Maen ist die Voraussetzung, dass zu jedem Dokument
eindeutig bekannt sein muss, ob es relevant ist oder nicht. Bei Verwendung der Pooling
Methode ist dies jedoch nicht der Fall. Bei groen Korpora wird nur ein sehr kleiner Teil
aller Dokumente zu einer Anfrage tatschlich betrachtet. Der Standardansatz fr die bis-
herigen Mae ist, dass alle nicht betrachteten Dokumente automatisch als nicht relevant
angesehen werden.
Ein Ma, das diese Annahme nicht treen muss ist bpref [BV04]. Hierbei wird ermittelt,
wie oft (bekanntermaen) nicht relevante Dokument vor relevanten Dokumente gerankt
werden, so dass nicht beurteilte Dokument auer Acht gelassen werden knnen. Wie bei
R-Precision geht man davon aus, dass es ingesamt R relevante Dokumente gibt. Dann
bestimmt man alle Paare von relevanten und nicht relevanten Paaren und summiert ber
die relevanten Dokumente (r) auf, wie oft ein nicht relevantes (n) davor steht:
bpref =
1
R

r
_
[n steht vor r[
R
_
Es konnte gezeigt werden, dass bpref recht gut mit MAP korreliert, aber bei Verkleine-
rung der Menge der beurteilten Dokumente deutlich stabiler ist. Verwendet man bei MAP
eine deutlich kleinere Menge an Dokumenten im Pooling, so fallen die MAP Werte stark
ab. Der bpref Wert bleibt zwar nicht unverndert, hlt sich jedoch auf einem hnlichem
Niveau. Problematisch und instabil ist bpref nur, wenn sehr wenige relevante Dokumen-
te vorliegen, da dann die Division in der Summe instabil wird. Dies wird in der bpref-10
Variante abgedmpft, indem man zu R einen konstanen Wert von 10 addiert:
111
6 Evaluation
bpref-10 =
1
R

r
_
[n steht vor r[
R + 10
_
6.4 Nutzerbezug
Im Craneld Paradigma wird der Nutzer ganz bewut ausgeblendet. Die Performanz eines
IR Systems wird auf seine Treerlisten reduziert, die durch unbeteiligte, objektive Juroren
ausgewertet werden. Fr einen objektiven Vergleich der Kernkompetenz von IR Systemen
ist dies sicherlich ein geeigneter und bewhrter Ansatz. Doch spielte der Nutzer fr ein
System als Ganzes und in einem besonderen Anwendungszusammenhang sehr wohl ein
groe Rolle.
Es gibt einige Mglichkeiten den Nutzer mit in die Bewertung einzubeziehen. Dazu kann
man beispielsweise davon ausgehen, dass der Nutzer bereits einige relevante Dokumente
kennt. Dies bringt in die Unterscheidung der gesamten Dokumentmenge eine weitere Teil-
menge ein: die Menge U. In U sind alle relevanten Dokumente enthalten, von denen der
Nutzer bereits wei und ist somit eine Teilmenge des Goldstandards G. In Abbildung 6.5
ist dieser Zusammenhang der Mengen grasch dargestellt.
Abbildung 6.5: Teilmenge U der dem Nutzer bekannten relevanten Dokumente.
ber die Menge U und deren Lage zu A lassen sich nun ebenfalls (nutzerspezische)
Aussagen zur Leistung eines IR Systems bezglich einer bestimmten Anfrage machen.
Dazu gehrt mit coverage die Abdeckung der bekannten relevanten Dokumente durch das
System:
coverage =
[A U[
[U[
Coverage entspricht also einer Art Recall bezglich der dem Nutzer bekannten relevanten
Dokumente. Bei der novelty ratio wird hingegen betrachtet, wieviele relevante Dokumente
dem Nutzer prsentiert wurden, die er noch nicht kannte. Dazu wird die Mchtigkeit der
Menge der unbekannten relevanten Dokumente im Verhltnis zur Mchtigkeit der Menge
aller zurckgelieferten relevanten Dokumente betrachtet:
112
6.5 Zusammenfassung
novelty ratio =
[A (G U)[
[A G[
Bei beiden Maen geht man davon aus, dass der Nutzer ganz bestimmte Dokumente im
Sinn hat. Lockert man diese Forderung dahingehend auf, dass der Nutzer lediglich eine
bestimmte Anzahl von relevanten Dokumenten erwartet (ohne genau zu wissen welche), so
gelangt man zum relative Recall, dem Verhltnis der Anzahl der erhaltenen relevanten
Dokumente zur Anzahl der erwarteten relevanten Dokumente. Dieses Ma kann interessant
sein, weil ein Nutzer seine Informationssuche sehr wahrscheinlich abbricht, wenn er einen
relativen Recall von 1 erreicht hat, er also so viele relevante Dokumente gefunden hat wie
zuvor erwartet
4
.
In diese Mae ieen nutzerspezische Angaben ein, die Ergebnisse sind jedoch noch
immer numerischer Natur. Viel schwieriger wird es wenn solche Dinge wie Nutzerzufrie-
denheit gemessen werden sollen. Schlielich ist die Zufriedenheit der Nutzer schwer fass-
und mebar, kann aber durchaus entscheidend fr die Akzeptanz und damit den Erfolg
eines IR Systems sein.
In manchen Anwendungsbereichen lsst sich die Nutzerzufriedenheit indirekt messen,
insbesondere im Bereich des E-Commerce. Ein Erfolg liegt hier oft vor, wenn eine Nutzer
eine Transaktion ttigt, z.B. einen Einkauf. Wenn man zuvor mitverfolgt, wie lange der
Nutzer nach den Produkten suchen musste, ergibt sich so eine Mglichkeit die Qualitt der
Suchanwendung zu beurteilen.
In anderen Szenarien knnen die Nutzer direkt nach ihren Erfahrungen gefragt werden.
Hierbei ist es jedoch schwierig vergleichbare Aussagen zu bekommen. Daher werden hug
objektiv messbare Kriterien angesetzt, wie z.B. der Zeitaufwand den Suchenden haben um
zu Ergebnissen zu kommen.
Letztendlich haben aller Nutzertests jedoch den gravierenden Nachteil, dass sie sehr
aufwndig und zeitintensiv sind. Daher man kann nie den Umfang eines automatischen
Tests erreichen, wie ihn die Craneld Vorgaben ermglichen. Darber hinaus bleibt eine
subjektive Note der Testnutzer enthalten.
6.5 Zusammenfassung
Evaluation von IR Systemen ist wichtig. Insbesondere der Aspekt der Eektivitt stellt
hierbei ein wichtiges Kriterium dar. Als methodische Basis zur Evaluation hat sich das
Craneld Paradigma bewhrt, das die Performanz eines IR Systems ber dessen Fhigkeit
bestimmt, in einem gegebenen Korpus zu gegebenen Anfragen die Dokumente aufzust-
bern die nach der Meinung objektiver Experten als relevant eingestuft sind. Vor diesem
Hintergrund gibt es einige Testkollektionen, die Dokumente, Anfragen und Relevanzurteile
4
Viele Nutzer von Websuchmaschinen erwarten vielleicht nur einen relevanten Treer und geben sich
dementsprechend mit dem ersten relevanten Dokument zufrieden.
113
6 Evaluation
bereitstellen. Im wissenschaftlichen Bereich sind hierbei insbesondere die TREC Kollektio-
nen magebend.
Auf dieser Basis lassen sich klassische IR Mae wie Recall, Precision und F
1
berechnen,
sofern Ranking keine Rolle spielt. Nimmt man die Reihenfolge der Ergebnisse mit in die
Bewertung auf, so bieten sich mit Precision at k, R-Precision, Precision-Recall Graphen
und MAP Mae an, die in der Lage sind, die Abfolge relevanter und irrelevanter Doku-
mente in der Ergebnisliste mit zu bercksichtigen. Mit bpref hat sich weiterhin ein Ma
etabliert, dass die immer kleiner werdende Zahl an tatschlich begutachteten Dokumenten
bercksichtigt. Hier werden nicht evaluierte Dokumente explizit aus der Rechnung heraus-
gelassen.
Um den Nutzer mit in die Evaluation einzubeziehen gibt es entweder den Ansatz, eine
dem Nutzer bekannte Menge relevanter Dokumente anzunehmen und dann die Retrieval-
leistung bezglich dieser Menge zu beurteilen, oder man trennt sich von Relevanzaussagen
und begutachtet direkt oder indirekt die Interaktion und Zufriedenheit der Nutzer mit
einem IR System.
114
7 Probabilistisches Information
Retrieval
Bedingt durch die Vagheit der Sprache in den Dokumenten und den Anfragen gibt es im IR
keine hundert prozentige Sicherheit, dass ein Dokument zu einer Anfrage relevant ist. Die-
sem Problem wird im probabilistischen IR damit begegnet, dass Wahrscheinlichkeiten fr
die Relevanz modelliert werden. Nach dem Vektorraum Modell stellt das probabilistische
ein weiteres wichtiges theoretisches Modell dar.
In einem umfangreichen theoretischen Teil werden wir dazu zunchst das Binary In-
dependence Modell betrachten, das die grundlegenden Ideen eines probabilistischen IR
erklrt. Danach gehen wir auf die praktische Umsetzung der Gewichte ein, insbesondere in
der BM25 Variante des Okapi Systems. Schlielich behandeln wir noch probabilistisches
Relevance Feedback, das sich sehr schn in die Theorie einfgt.
7.1 Das Binary Independence Modell (BIM)
Wie im boolschen und Vektorraummodell, geht man auch im probablistischen IR davon
aus, dass die Terme die Relevanz eines Dokuments bezglich einer Anfrage direkt beein-
ussen. Im Binary Independence Modell (BIM)
1
wird auerdem davon ausgegangen, dass
die Terme sich in diesem Zusammenhang nicht gegenseitig beeinussen. Das entspricht der
gleichen Annahme wie im Vektorraummodell, wo die Dimensionen der Terme zu einander
orthogonal sind. Die Relevanz selbst ist binr, d.h. entweder ein Dokument ist relevant oder
es ist nicht relevant. Feinere Abstufungen gibt es nicht. Auch haben andere Dokumente
im Korpus keinen Einuss auf die Relevanz eines Dokumentes. Es ist fr den absoluten
Retrievalwert eines Dokumentes also egal, ob es geeignetere Dokumente zu einem Infor-
mationsbedrfnis gibt, oder ob es sich um das Duplikat eines anderen Dokumentes handelt.
Modelliert man die Relevanz als eine Zufallsvariable R, die nach obigen Annahmen nur
die Werte 1 (relevant) und 0 (nicht relevant) annimmt, dann sucht man letztendlich die
Wahrscheinlichkeit, dass R den Wert 1 annimmt, gegeben ein bestimmtes Dokument d
und eine bestimmte Anfrage q. Formal entspricht dies der bedingten Wahrscheinlichkeit
P(R = 1[d, q).
Dies lsst sich auch folgendermaen interpretieren. Angenommen, man beobachtet eine
bestimmte Anfrage q und ein bestimmtes Dokument d, wie gro ist die Wahrscheinlichkeit,
dass d zu q relevant ist. Kann man diese Wahrscheinlichkeit berechnen, so ist anschaulich
1
Manchmal auch Binary Independence Retrieval (BIR).
115
7 Probabilistisches Information Retrieval
klar, was man im probabilistischen IR zu tun hat. Bei einer Anfrage durchluft man alle
Dokumente, berechnet jeweils deren Wahrscheinlichkeit relevant zu sein und sortiert die
Dokumente in der Ergebnisliste nach absteigender Relevanzwahrscheinlichkeit
2
.
Wie berechnet man diese bedingte Wahrscheinlichkeit? Nun, zunchst einmal wird nicht
die Wahrscheinlichkeit ber Dokumenten und Anfragen berechnet, sondern es ist fast
schon selbstverstndlich ber einer Darstellung dieser Dokumente und Anfragen. Im
BIM wird dabei (wie beim boolschen Retrieval) nur das Auftreten oder Fehlen von Termen
modelliert. Das heit, wir stellen Dokumente und Anfragen als Vektoren ber 0, 1 dar,
wobei die Eintrge in den Vektoren wieder jeweils eindeutig einem festen Term zugeordnet
sind. Um klar zu machen, dass wir hier mit diesen Vektordarstellungen arbeiten, bezeichnen
wir die Dokument- und Anfragevektoren mit

d , bzw. mit q. Somit wollen wir also eigentlich
P(R = 1[

d, q) bestimmen.
Zurck zu dieser zu berechnenden bedingten Wahrscheinlichkeit. Aus der Stochastik
wissen wir, dass gilt:
P(A, B) = P(A B) = P(A[B) P(B) = P(B[A) P(A)
Damit lsst sich die oben angegebene bedingte Wahrscheinlichkeit umformulieren:
P(R = 1[

d, q) =
P(R = 1,

d, q)
P(

d, q)
=
P(

d[R = 1, q) P(R = 1, q)
P(

d[q) P(q)
=
P(

d[R = 1, q) P(R = 1[q) P(q)


P(

d[q) P(q)
=
P(

d[R = 1, q) P(R = 1[q)


P(

d[q)
Durch diese Umformung (die letztendlich dem Satz von Bayes entspricht) haben wir es
nun mit vllig anderen Wahrscheinlichkeiten zu tun. Betrachten wir diese im einzelnen.
Angenommen zu einer Anfrage q (mit entsprechendem Vektor q) wurde ein relevantes
Dokument gefunden, dann steckt in P(

d[R = 1, q) die bedingte Wahrscheinlichkeit, dass


das Dokument durch

d dargestellt wird. Die bedingte Wahrscheinlichkeit P(R = 1[q) gibt
an, wie wahrscheinlich es ist, zu einer Anfrage q ein relevantes Dokument zu nden (bzw.
dass Relevanz eintritt), und P(

d[q) ist die Wahrscheinlichkeit, gegeben die Anfrage q, dass


ein Dokument durch den Vektor

d dargestellt wird.
2
Die Relevanz ist zwar binr, die Relevanzwahrscheinlichkeit kann jedoch jeden Wert zwischen 0 und 1
annehmen.
116
7.1 Das Binary Independence Modell (BIM)
Auf genau die gleiche Art und Weise kann man auch P(R = 0[

d, q) umformen, also die


Wahrscheinlichkeit, dass zu einem gegebenem Dokument und gegebener Anfrage nicht die
Relevanz eintritt. In diesem Fall erhlt man dann auf die gleiche Art und Weise:
P(R = 0[

d, q) =
P(

d[R = 0, q) P(R = 0[q)


P(

d[q)
Da ein Dokument entweder relevant oder irrelevant ist, ist diese Wahrscheinlichkeit ei-
gentlich nicht weiter interessant, lsst sie sich doch aus P(R = 0[

d, q) = 1 P(R = 1[

d, q)
berechnen. Letztendlich wollen wir schlielich nur wissen, wie wahrscheinlich es ist, dass
ein Dokument relevant ist.
Von Vorteil ist diese Wahrscheinlichkeit aber, wenn man die Chance (odds) von Relevanz
zu Irrelevanz betrachtet. Die Chance ist die Wahrscheinlichkeit, dass eine Ereignis eintritt
geteilt durch die Wahrscheinlichkeit, dass dieses Ereignis nicht eintritt. Formal heit das
fr ein Ereignis A mit Gegenereignis A:
O(A) =
P(A)
P(A)
Insbesondere gilt fr die Chance, dass wenn P(A
1
) > P(A
2
), dann ist auch O(A
1
) >
O(A
2
). Fr ein Ranking heit das letztendlich, dass es egal ist, ob wir die Dokumente nach
deren Wahrscheinlichkeit fr Relevanz oder der Chance fr Relevanz sortieren.
Rechnerisch fallen bei der Chance aber einige Terme heraus, um die wir uns dann nicht
mehr kmmern mssen:
O(R = 1[

d, q) =
P(R = 1[

d, q)
P(R = 0[

d, q)
=
P(

d|R=1, q)P(R=1| q)
P(

d| q)
P(

d|R=0, q)P(R=0| q)
P(

d| q)
=
P(

d[R = 1, q) P(R = 1[q)


P(

d[R = 0, q) P(R = 0[q)


Betrachten wir nach dieser Umformung zunchst den hinteren Teil der Gleichung. Hier
stehen die Wahrscheinlichkeiten, dass zu einer gegebenen Anfrage q Relevanz oder Irrele-
vanz eintreten. Durch die Division entspricht dies letztendlich der Chance fr Relevanz:
P(R = 1[q)
P(R = 0[q)
= O(R = 1[q)
Dieser Teil der Gleichung ist von einem konkreten Dokument unabhngig. Damit ent-
spricht er (bei Festhalten der Anfrage) einer Konstanten und kann fr das Ranking ignoriert
werden.
Bleiben die Wahrscheinlichkeiten fr Dokumentreprsentationen, gegeben eine Anfrage
und Relevanz, bzw. Irrelevanz. Hier schlgt nun die Annahme zu, dass die in den Doku-
menten beobachteten Terme paarweise voneinander unabhngig sind, so dass die Wahr-
scheinlichkeit alle Terme eines Dokumentes zu beobachten gleich dem Produkt der Wahr-
scheinlichkeiten entspricht, jeden Term einzeln zu beobachten. Gehen wir davon aus, dass
das Dokument d die Terme t
i
1
, t
i
2
bis t
i
k
enthlt, dann gelangen wir zu:
117
7 Probabilistisches Information Retrieval
P(

d[R = 1, q) = P(t
i
1
, t
i
2
, . . . , t
i
k
[R = 1, q)
= P(t
i
1
[R = 1, q) P(t
i
2
[R = 1, q) . . . P(t
i
k
[R = 1, q)
Erweitert man diese Darstellung dahingehend, dass die t
i
j
selbst als Zufallsvariablen
aufgefasst werden, die wiederum die Werte 1 (Term in Dokument enthalten) und 0 (Term
nicht enthalten) annehmen knnen, dann kann man dies sogar auf das gesamte Vokabular
ausdehnen. Dazu beschreiben wir mit T(d) die Menge der Indizes zu den Termen, die im
Dokument d auftreten:
P(

d[R = 1, q) =

iT(d)
P(t
i
= 1[R = 1, q)

i / T(d)
P(t
i
= 0[R = 1, q)
Die Aufspaltung in zwei Produkte bildet die Mengen der Terme ab, die im Dokument
auftreten und diese, die nicht auftreten. Fhren wir alle diese Umformung in die obige
Gleichung ein, so gelangen wir zu:
O(R = 1[

d, q) =

iT(d)
P(t
i
= 1[R = 1, q)

i / T(d)
P(t
i
= 0[R = 1, q)

iT(d)
P(t
i
= 1[R = 0, q)

i / T(d)
P(t
i
= 0[R = 0, q)
O(R = 1[q)
Fr einen konkreten Term t
i
gibt es unter den Vorgaben der Relevanz und einer Anfrage
nur die Mglichkeit, dass er in einem Dokument auftritt oder nicht. Daher gilt fr die
zugehrigen Wahrscheinlichkeiten:
P(t
i
= 0[R = 1, q) = 1 P(t
i
= 1[R = 1, q)
Gleiches lsst sich fr Irrelevanz sagen (R=0). In Anlehnung an [MRS08] krzen wir nun
die Wahrscheinlichkeiten fr einzelne Terme folgendermaen ab:
P(t
i
= 1[R = 1, q) = p
t
i
P(t
i
= 1[R = 0, q) = u
t
i
Dadurch folgt auch, dass:
P(t
i
= 0[R = 1, q) = 1 p
t
i
P(t
i
= 0[R = 0, q) = 1 u
t
i
Tragen wir diese simple Umbenennung in die obige Formel ein, so wird diese deutlich
bersichtlicher:
O(R = 1[

d, q) =

iT(d)
p
t
i
u
t
i

i / T(d)
1 p
t
i
1 u
t
i
O(R = 1[q)
118
7.1 Das Binary Independence Modell (BIM)
Die nchste Annahme betrit die Anfrageterme. Gehen wir nmlich davon aus, dass
jene Terme, die nicht in der Anfrage vorkommen, die gleiche Wahrscheinlichkeit haben
in relevanten wie in irrelevanten Dokumenten aufzutreten, dann kann man diese Wahr-
scheinlichkeiten ebenfalls ignorieren. Denn, da fr solche Terme p
t
= u
t
gilt, haben die
entsprechenden Faktoren im Produkt einen Wert von 1 und tragen zum Ergebnis nichts
bei. Damit kann man die Berechnung auf die Mengen T(q) der Indizes der Terme in der
Anfrage einschrnken, bzw. nach deren Auftreten im Dokument unterscheiden:
O(R = 1[

d, q) =

iT(q)T(d)
p
t
i
u
t
i

iT(q)\T(d)
1 p
t
i
1 u
t
i
O(R = 1[q)
Das zweite Produkt spalten wir nun geschickt auf, indem wir es zunchst um alle Terme
in der Anfrage erweitern und dann mit dem Kehrbruch der wieder zu entfernenden Faktoren
multiplizieren:

iT(q)\T(d)
1 p
t
i
1 u
t
i
=

iT(q)
1 p
t
i
1 u
t
i

iT(q)T(d)
1 u
t
i
1 p
t
i
Der hintere Teil hierbei lsst sich dann nmlich in das erste Produkt aus der vorherigen
Gleichung aufnehmen, da ber die gleichen Terme iteriert wird. Somit ergibt sich dann:
O(R = 1[

d, q) =

iT(q)T(d)
p
t
i
(1 u
t
i
)
u
t
i
(1 p
t
i
)

iT(q)
1 p
t
i
1 u
t
i
O(R = 1[q)
Das Produkt ber die Terme aus der Anfrage ist nun wieder fr alle Dokumente gleich,
stellt also ebenso wie O(R = 1[q) eine Konstante dar. In unserer Retrievalfunktion mit
der wir letztendlich das Ranking berechnen wollen spielen sie also fr die Reihung der
Dokumente keine Rolle.
Fr die Retrievalfunktion wird der Wert weiterhin logarithmiert. Durch die Monotonie
des Logarithmus hat dieser ebenfalls keinen Einuss auf die Reihenfolge, allerdings lsst
sich dann der Gesamtausdruck zu einer Summe umformen. Damit entgeht man dem nu-
merischen Problem viele sehr kleine Zahlen multiplizieren zu mssen und dadurch an die
Grenzen der Genauigkeit und Darstellungsmglichkeiten von Fliekommazahlen zu stoen.
Als Retrievalfunktion berechnen wir also letztendlich:
(d, q) = log
_
_

iT(q)T(d)
p
t
i
(1 u
t
i
)
u
t
i
(1 p
t
i
)
_
_
=

iT(q)T(d)
log
_
p
t
i
(1 u
t
i
)
u
t
i
(1 p
t
i
)
_
Es fllt auf, dass wir fr ein bestimmtes Dokument letztendlich wieder ber Werte sum-
mieren, die an Terme geknpft sind, welche sowohl in der Anfrage als auch in den Doku-
menten vorkommen mssen. Dadurch kann man die Summanden als Gewichte w(t, d) fr
die Terme auassen, die bei einer Anfrage ber den Suchtermen summiert werden:
w(t, d) = log
_
p
t
(1 u
t
)
u
t
(1 p
t
)
_
= log
_
p
t
1 p
t
_
+ log
_
1 u
t
u
t
_
119
7 Probabilistisches Information Retrieval
Die letzte Umformung zeigt auerdem, dass sich dieses Gewicht quasi in zwei Teile fr
das Auftretens des Terms in relevanten und irrelevanten Dokumenten aufteilen lsst.
Nach all diesen Umformungen stellt sich die Frage wie man an die Wahrscheinlichkeiten
p
t
und u
t
gelangt. In der Theorie kann man Schtzer dafr angeben, wenn man nmlich
davon ausgeht, dass die Menge der zur Anfrage q relevanten Dokumente bekannt ist und
die Mchtigkeit S hat
3
. Bezeichnen wir weiterhin mit s
i
die Mchtigkeit der Menge der
relevanten Dokumente, die den Term t
i
enthalten, so kann man die Wahrscheinlichkeit,
dass Term t
i
in einem relevanten Dokument auftritt abschtzen durch:
p
t
i
=
s
i
S
Die Zahl der Dokumente, die t
i
enthalten aber nicht relevant sind, erhlt man, indem
man von der Dokumentfrequenz zu t
i
die Anzahl der relevanten Dokumente mit t
i
abzieht.
Genauso ergibt sich aus der Anzahl aller Dokumente N und der Anzahl relevanter Doku-
mente S die Zahl der irrelevanten Dokumente. Und mit diesen beiden Werten schtzt man
nun die Wahrscheinlichkeit, dass t
i
in einem irrelevanten Dokument auftaucht:
u
t
i
=
df(t
i
) s
i
N S
Die Schtzer fr 1 p
t
und 1 u
t
lassen sich hierbei noch etwas direkter formulieren:
1 p
t
i
= 1
s
i
S
=
S s
i
S
1 u
t
i
= 1
df(t
i
) s
i
N S
=
(N S) (df(t
i
) s
i
)
N S
=
N S df(t
i
) + s
i
N S
Setzt man dies in die Retrievalfunktion ein, so erhlt man:
(d, q) =

iT(q)T(d)
log
_
_
s
i
S

NSdf(t
i
)+s
i
NS
df(t
i
)s
i
NS

Ss
i
S
_
_
=

iT(q)T(d)
log
_
s
i
(N S df(t
i
) + s
i
)
(df(t
i
) s
i
) (S s
i
)
_
Der Ausdruck, der fr jeden einzelnen Term addiert wird, hat dabei allerdings ein theore-
tisches Problem. Sobald ein Term in allen relevanten Dokumenten auftritt, nimmt der Teil
(S s
i
) einen Wert von 0 an, gleiches gilt wenn der Term nur in relevanten Dokumenten
auftritt (dann wird df(t
i
) s
i
= 0). In diesen beiden Fllen wird der Nenner des Bruches
Null. Ebenso problematisch ist es, wenn ein Term in keinem relevanten Dokument auftritt.
Dann ist s
i
= 0 und somit wrden wir ber einem Gesamtwert von 0 logarithmieren. Um
die Berechenbarkeit in diesen Sonderfllen beizubehalten, gibt es den Standardansatz in
den Teilausdrcken jeweils einen konstanten Wert (typischerweise 0,5) zu addieren, so dass
diese nicht 0 werden knnen. Dann wre der Gesamtausdruck:
3
Bisher hatten wir die Anzahl der relevanten Dokumente meist mit R bezeichnet. Diese Bezeichnung ist
aber an dieser Stelle schon mit der Zufallsvariablen fr Relevanz belegt.
120
7.2 Wahrscheinlichkeitsschtzungen
(d, q) =

iT(q)T(d)
log
_
(s
i
+ 0, 5) (N S df(t
i
) + s
i
+ 0, 5)
(df(t
i
) s
i
+ 0, 5) (S s
i
+ 0, 5)
_
Dieses Addieren eines konstanten Wertes wird als Smoothing bezeichnet und kommt
beim Schtzen von Wahrscheinlichkeiten aus beobachteten Werten hug zum Einsatz.
Die Idee des Smoothing ist, das Auftreten jedes theoretisch mglichen Wertes um eine
Konstante zu erhhen, so dass auch Schtzer fr Ereignisse angegeben werden knnen, die
in der Beobachtung nicht aufgetreten sind. In unserem Fall entsprechen die vier Ausdrcke
im Bruch jeweils einer mglichen Beobachtung. Der Teil (s
i
) steht fr die Beobachtung
Relevanz aufgetreten und Term enthalten, (df(t
i
) s
i
) steht fr nicht relevant und
Term enthalten, (Ss
i
) steht fr relevant und Term nicht enthalten und NSdf(t
i
)+s
i
steht fr die Anzahl der Beobachtungen, in denen der Term nicht enthalten war und in
denen keine Relevanz vorlag. Daher wird jeder der vier Ausdrcke um einen Wert von 0,5
erhht.
Trotz allem bleiben dies theoretische berlegungen, denn die Mchtigkeit S der Menge
der relevanten Dokumente ist in der Praxis nicht bekannt. Es gibt jedoch Anstze, wie
die Schtzer anders berechnet werden knnen. Wir werden jetzt auf einige Mglichkeiten
und insbesondere die erfolgreiche Okapi / BM25 Gewichtung eingehen, die auf einem pro-
babilistischem Modell beruht. Danach wird noch das probabilistische Relevance Feedback
beleuchtet, das ebenfalls dem Schtzen von Wahrscheinlichkeiten dient.
7.2 Wahrscheinlichkeitsschtzungen
Schauen wir uns in der obigen Zerlegung der Gewichte w(t, d) zunchst nur den Teil an,
der auf der Wahrscheinlichkeit u
t
beruht, also auf der Wahrscheinlichkeit, dass ein Term
in einem irrelevanten Dokument auftritt:
log
_
1 u
t
u
t
_
Geht man hier davon aus, dass die relevanten Dokumente zur Anfrage q nur einen sehr
kleinen Anteil am Gesamtkorpus ausmachen, so kann man im Umkehrschluss annehmen,
dass ein Groteil der Dokumente im Korpus irrelevant sind. Somit knnte man die Wahr-
scheinlichkeit eines Terms in einem irrelevanten Dokument aufzutreten durch dessen Wahr-
scheinlichkeit berhaupt in einem Dokument aufzutreten approximieren. Wenn man das
wieder ber einen Schtzer ausdrckt, so gelangt man zu:
u
t
=
df(t)
N
Mit N ist wie immer die Anzahl aller Dokumente im Korpus bezeichnet. Setzen wir
diesen Schtzer nun in den entsprechenden Teil der Gewichtung ein, so erhlt man:
121
7 Probabilistisches Information Retrieval
log
_
1 u
t
u
t
_
= log
_
N df(t)
df(t)
_
Geht man weiterhin davon aus, dass ein Term meistens in nur sehr wenigen Dokumenten
auftritt, dann ist df(t) im Verhltnis zu N sehr klein und beeinusst den Zhler des Bruches
kaum. Somit ergibt sich in etwa:
log
_
N df(t)
df(t)
_
log
_
N
df(t)
_
Diese Annherung liefert somit ber das probabilistische Modell eine theoretische Moti-
vation fr die IDF-Gewichtung von Termen.
Fr die Wahrscheinlichkeit p
t
wird es schwieriger eine Annherung herzuleiten. Man muss
irgendeine Annahme ber die Verteilung der Terme in relevanten Dokumenten machen.
Eine solche initiale Annahme wird auch als Prior bezeichnet.
Es gibt Anstze p
t
konstant mit 0,5 fr alle Terme anzunehmen, bzw. es ebenfalls aus der
relativen Hugkeit des Gesamtkorpus zu schtzen. Diese Annahmen knnen dazu genutzt
werden, um eine erste Schtzung fr p
t
zu machen, die dann durch Relevance Feedback
verbessert wird (siehe Abschnitt 7.5).
Termgewichtung nach probabilistischem Modell
Betrachten wir ein einfaches Beispiel. Wir greifen dazu auf Dokumente aus Kapitel
5 ber dem Vokabular V = Kaee, Tee, Tasse, Kanne, Wasser zurck, die damals
folgendermaen in der Bag of Words Form angegeben waren:
1. Kaee, Kaee
2. Tee, Tee, Tasse, Kanne, Kanne
3. Kaee, Tasse, Tasse, Kanne
4. Kaee, Kaee, Kaee, Tee, Tasse, Tasse, Tasse, Kanne, Kanne, Kanne
5. Kanne, Kanne, Wasser, Wasser
Im probabilistischen Ansatz interessiert uns lediglich das Auftauchen oder die Ab-
wesenheit von Termen in den Dokumenten, weshalb wir hier Mehrfachnennungen
ignorieren knnen. Wir wollen nun die Terme in den Dokumenten nach obiger For-
mel gewichten, also mit:
w(t, d) = log
_
p
t
1 p
t
_
+ log
_
1 u
t
u
t
_
Wie eben vorgeschlagen machen wir hier die extrem einfache Annahme, dass p
t
= 0, 5
ist. Das fhrt nmlich dazu, dass der erste der beiden Logarithmen zu 0 wird (da
122
7.3 Okapi / BM25
log
_
0,5
10,5
_
= log(1) = 0 ist). Als Abschtzung fr den zweiten Teil ziehen wir die
IDF-Werte heran, die wir bereits fr das Vektorraummodell berechnet haben. Sie
lagen bei:
w
IDF
(Kaee) = 0, 22
w
IDF
(Tee) = 0, 4
w
IDF
(Tasse) = 0, 22
w
IDF
(Kanne) = 0, 1
w
IDF
(Wasser) = 0, 7
Wir stellen nun wieder die Anfrage Tasse Kanne. Das bedeutet, dass wir nur diese
beiden Terme zu bercksichtigen brauchen und dementsprechend auch nur jene Doku-
mente betrachten mssen, welche die Suchterme enthalten. Das sind die Dokumente
d
2
, d
3
, d
4
und d
5
. Fr die Retrievalfunktion muss nun nur noch ber die Gewichtung
der vorhandenen Terme summiert werden. Das fhrt zu folgenden Ergebnissen:
(d
2
, q) = 0, 22 + 0, 1 = 0, 32
(d
3
, q) = 0, 22 + 0, 1 = 0, 32
(d
4
, q) = 0, 22 + 0, 1 = 0, 32
(d
5
, q) = 0, 1
Man wrde also insgesamt die Dokumente d
2
bis d
4
gleich ranken, d
5
nachgelagert
auhren und d
1
aus der Ergebnismenge heraushalten.
Im Vergleich zum Vektorraummodell wirkt dies ein wenig wie ein Rckschritt. Es
wird weniger zwischen der Wichtigkeit der einzelnen Dokumente dierenziert. Aller-
dings sind einerseits deutlich weniger Informationen in die Berechnung eingeossen
(es wurde nur das Auftreten von Termen, nicht deren Hugkeit betrachtet; die Term-
frequenz wird also komplett ignoriert), andererseits wurden sehr einfache Annahmen
zu u
t
und p
t
gemacht.
7.3 Okapi / BM25
Ein in der Praxis sehr erfolgreiches Schema fr die Termgewichtung wurde fr das Okapi-
System der London City University entwickelt. Im Rahmen dieses Systems wurden verschie-
dene Gewichtungsmodelle durchprobiert und mit dem Prx BM durchnummeriert. Das
Modell BM25 hat sich als sehr erfolgreich erwiesen und soll hier kurz vorgestellt werden
4
.
4
Die theoretische Motivation fr diese Gewichtung geht ber das BIM hinaus. Hier sollen aber nur die
Ergebnisse angesprochen werden.
123
7 Probabilistisches Information Retrieval
Dazu wird zunchst einiges an Notation eingefhrt. Wie bisher bezeichnen wir mit df(t)
die Dokumentfrequenz eines Terms t im gesamten Korpus und mit tf
d
(t) dessen Termfre-
quenz im Dokument d. Die Anzahl aller Dokumente sei mit N gegeben. Neu kommt die
Lnge (Anzahl der Wrter) eines Dokumentes l(d) hinzu, sowie die durchschnittliche Lnge
l
avg
ber allen Dokumenten im Korpus. In der BM25 Gewichtung tauchen auerdem noch
einige Parameter auf: hier zunchst nur k
1
und b, wobei k
1
nicht negativ ist und b Wer-
te zwischen 0 und 1 annehmen darf. Aus diesen Zutaten wird folgende Retrievalfunktion
zusammengebaut:

BM25
(d, q) =

iT(q)T(d)
log
_
N
df(t
i
)
_

(k
1
+ 1) tf
d
(t
i
)
k
1

_
(1 b) + b
_
l(d)
l
avg
__
+ tf
d
(t
i
)
Gehen wir die einzelnen Teile der Formel zur Gewichtung der Terme in den Dokumenten
durch und betrachten jeweils, was dahinter steckt. Am Summenzeichen bemerken wir zu-
nchst, dass auch hier nur ber Termen summiert wird, die sowohl in den Dokumenten als
auch in der Anfrage auftauchen. Der erste Teil der Gewichte entspricht der globalen IDF
Gewichtung wie wir sie bereits im Vektorraummodell kennen gelernt haben. Danach folgt
die Verrechnung der Termfrequenzen und der Dokumentlngen. Der Parameter k
1
beein-
usst, wie stark der Einuss der Termfrequenzen auf die Gewichtung ist. Bei einem Wert
von k
1
= 0 reduziert sich der Bruch zu
1tf
d
(t
i
)
0+tf
d
(t
i
)
. Da wir nur ber Dokumenten summieren
in denen die Terme auch enthalten sind ist dieser Ausdruck wohldeniert und ergibt sich
zu 1. Das heit also, dass die Termfrequenzen bei k
1
= 0 keinen Einuss auf die Gewich-
tung haben. Whlt man k
1
grer, so wirkt sich der tf
d
(t
i
) Teil in der Summe unter dem
Bruchstrich immer weniger aus, so dass die Termfrequenz einen immer strkeren Einuss
auf die Gewichtung hat. In Experimenten hat sich gezeigt, dass Werte fr k
1
zwischen 1,2
und 2 zu guten Retrievalergebnissen fhren. Der Parameter b beeinusst eine Normalisie-
rung der Gewichte bezglich der Dokumentlnge. Bei einem Wert von b = 0 ndet keine
solche Normalisierung statt. Fr b = 1 hingegen werden die Termfrequenzen im Verhltnis
der Dokumentlnge zur mittleren Dokumentlnge normalisiert. Werte dazwischen drcken
eine gedmpfte Normalisierung aus und experimentell wurden mit einem Wert von b im
Bereich von 0,75 gute Ergebnisse erzielt.
BM25 Gewichtung
Wir fhren das gleiche Beispiel wie oben fort, also die fnf Dokumente ber den
Termen Kaee, Tee, Tasse, Kanne und Wasser und die Anfrage Tasse
Kanne. Die Parameter setzen wir wie empfohlen auf k
1
= 1, 5 und b = 0, 75. Zunchst
mssen wir fr die Lngennormalisierung noch die Dokumentlngen angeben. Dazu
zhlen wir einfach die Wrter und erhalten folgende Dokumentlngen:
124
7.3 Okapi / BM25
l(d
1
) = 2
l(d
2
) = 5
l(d
3
) = 4
l(d
4
) = 10
l(d
5
) = 4
Daraus ergibt sich auch die mittlere Dokumentlnge l
avg
, die hier bei genau 5 Wrtern
pro Dokument liegt. Am Beispiel von Dokument d
3
berechnen wir nun ausfhrlich
den Wert der Gewichte und ber deren Summe somit auch den Wert der Retrie-
valfunktion. Die dazu ntigen IDF-Werte knnen wir von oben bernehmen. Damit
erhalten wir fr den Term Tasse folgendes Gewicht:
w
BM25
(Tasse, d
3
) = log
_
5
3
_

(1, 5 + 1) 2
1, 5
_
(1 0, 75) + 0, 75
_
4
5
__
+ 2
= 0, 22
5
3, 275
= 0, 34
Wenn wir das gleiche Spiel fr den Term Kanne in d
3
treiben gelangen wir zu:
w
BM25
(Kanne, d
3
) = 0, 1
2, 5
2, 275
= 0, 11
Die Retrievalfunktion liefert daher fr d
3
den Wert:

BM25
(d
3
, q) = 0, 34 + 0, 11 = 0, 45
Analog berechnet man die Werte fr die anderen Dokumente und es ergibt sich fol-
gendes Gesamtbild:

BM25
(d
1
, q) = 0

BM25
(d
2
, q) = 0, 36

BM25
(d
3
, q) = 0, 45

BM25
(d
4
, q) = 0, 43

BM25
(d
5
, q) = 0, 15
Mit diesen Werten erhlt man also genau die gleiche Reihenfolge in der Ergebnisliste
wie wir sie im Vektorraum beobachtet haben: d
3
, d
4
, d
2
und d
5
; d
1
ist nicht enthalten.
Dass dieses Ergebnis jedoch auch von der Wahl der Parameter abhngt, kann man
125
7 Probabilistisches Information Retrieval
besonders schnell sehen wenn man am Wert von b dreht. Bereits bei b = 0, 5 fllt die
Lngennormalisierung geringer aus, so dass d
4
vor d
3
in der Ergebnisliste steht.
Es gibt eine zustzliche Erweiterung der BM25 Gewichtung, die aber nur greift, wenn
sehr lange Abfragen auftreten in denen Terme mehrfach genannt werden
5
. In diesem Fall
wird auch hier der Einuss der Termfrequenz in der Anfrage bercksichtigt und durch einen
weiteren Parameter k
3
geregelt. Fr k
3
gelten dabei letztendlich die gleichen Aussagen wie
fr k
1
:

BM25
(d, q) =

iT(q)T(d)
log
_
N
df(t
i
)
_

(k
1
+ 1) tf
d
(t
i
)
k
1

_
(1 b) + b
_
l(d)
l
avg
__
+ tf
d
(t
i
)

(k
3
+ 1) tf
q
(t
i
)
k
3
+ tf
q
(t
i
)
7.4 Praktische Umsetzung
Die praktische Umsetzung eines probabilistischen IR System sieht nicht (viel) anders aus
als im Vektorraummodell. Die Gewichte der Terme in den Dokumenten berechnen sich es-
sentiell aus den gleichen Einussgren, nmlich Dokument- und Termfrequenz. Verwendet
man die BM25 Gewichtung, so kommt lediglich die Dokumentlnge in Wrtern als neuer
Wert hinzu.
Da auerdem wieder nur Suchterme und Dokumente die diese Terme enthalten berck-
sichtigt werden, kann auch hier wieder auf den invertierten Index als Datenstruktur zurck-
gegrien werden. Schlielich erlaubt dieser den ezienten Zugri auf genau diese Daten.
Die Berechnung der Retrievalfunktion kann ebenfalls wie im Vektorraummodell ber
Akkumulatoren erfolgen und nach dem term-at-a-time oder document-at-a-time Ansatz
ablaufen.
Ein Vorteil bei der BM25 Gewichtung mag vielleicht sogar sein, dass die Lngennor-
malisierung nicht ber den Termgewichten in den Dokumenten stattndet (wie beim Vek-
torraummodell unter Einsatz des Cosinusmaes), sondern ber Dokumentlngen bezglich
der Anzahl der enthaltenen Wrter. Das fhrt nmlich dazu, dass bei der Aufnahme eines
neuen Dokumentes in den Korpus sich mit der IDF-Gewichtung nicht alle Dokumentlngen
ndern. Lediglich die mittlere Dokumentlnge im Korpus muss angepasst werden, was aber
kein groes Problem darstellt.
7.5 Probabilistisches Relevance Feedback
In Kapitel 5 hatten wir den Rocchio Ansatz fr Relevance Feedback im Vektorraum Modell
gesehen. Dabei wurde der Anfragevektor linear mit positiv und negativ bewerteten Doku-
5
Das wre beispielsweise der Fall, wenn man Query by example Anstze verfolgt, oder komplette Text-
abschnitte als Suchanfrage verwendet.
126
7.5 Probabilistisches Relevance Feedback
mentvektoren verrechnet um einen neuen Anfragevektor zu erzeugen. Wir erinnern uns an
die Faustregel, dass dabei positiv beurteilte Vektoren strker gewichtet werden sollten als
negativ beurteilte Vektoren.
Betrachtet man nun aber einen Term, der sowohl in den positiv als auch in den negativ
bewerteten Dokumenten auftritt, so wird dieser relativ stark in den neuen Anfragevektor
aufgenommen. Das liegt daran, dass der positive Eekt nicht durch die schwcher gewich-
teten negativen Beispiele ausgeglichen werden kann. Da ein solcher Term allerdings sowohl
in den positiven als auch in den negativen Rckmeldungen auftritt, liegt die Vermutung
nahe, dass er bezglich der Informationssuche irrelevant ist.
Eine solche Verteilung eines Termes auf relevante und irrelevante Dokumente lsst sich
im probabilistischen Modell besser bercksichtigen. Mit den Angaben der Nutzer zu rele-
vanten und irrelevanten Dokumenten sowie das Wissen ber die darin enthaltenen Terme
knnen Schtzer fr die Wahrscheinlichkeiten p
t
und u
t
bestimmt werden. Vereinfacht ge-
sagt, wird die relative Hugkeit von Termen in den im Feedback als relevant oder irrelevant
markierten Dokumenten als Schtzer herangezogen.
Gehen wir wieder davon aus, dass dem Nutzer auf seine Suchanfrage hin eine Ergebnislis-
te mit Dokumenten prsentiert wurde. In dieser Liste hat der Nutzer einige Dokumente als
relevant gekennzeichnet und einige als irrelevant. Die Menge der relevanten Dokumente be-
zeichnen wir wieder mit D
p
, die Menge der irrelevanten Dokumente mit D
n
. Daraus wollen
wir nun die Wahrscheinlichkeiten schtzen, dass bei gegebener Anfrage und eingetretener
Relevanz der Term t in einem Dokument auftritt (also p
t
). Als Schtzer verwenden wir die
relative Hugkeit von t in D
p
im Verhltnis zu allen im Feedback bewerteten Dokumenten:
p
t
=
df
D
p(t)
[D
p
[
Mit df
D
p(t
i
) bezeichnen wir dabei die Dokumentfrequenz von t in der Menge D
p
, d.h. wir
zhlen in wie vielen relevanten Dokumenten der Term t aufgetreten ist. Aufgrund der i.d.R.
recht kleinen Menge an Dokumenten zu denen es berhaupt Feedback gibt, kann es auch
hier schnell passieren, dass einige Terme gar nicht beobachtet werden. Daher wird auch hier
Smoothing angewandt, das bedeutet, dass sowohl die Menge der relevanten Dokumente mit
Term t als auch die Menge der relevanten Dokumente ohne Term t jeweils um ein virtuelles
halbes Dokument aufgestockt wird. Somit gelangt man zu einem Schtzer von:
p
t
=
df
D
p(t) + 0, 5
[D
p
[ + 1
Im Nenner wird 1 addiert, da sich die beiden halben, virtuellen, relevanten Dokumente
mit und ohne Term t zu einem ganzen Dokument in der Menge D
p
addieren. Auf die gleiche
Art und Weise lsst sich ber den negativ bewerteten Dokumenten in D
n
ein Schtzer fr
u
t
angeben:
u
t
=
df
D
n(t) + 0, 5
[D
n
[ + 1
127
7 Probabilistisches Information Retrieval
Dieser Schtzer fr die Wahrscheinlichkeit eines Terms in den zu q irrelevanten Doku-
menten aufzutreten ist jedoch etwas kritischer als der fr p
t
. Schlielich werden all die
von vorne herein als unwichtig angenommenen Dokumente nicht bercksichtigt, die dem
Nutzer erst gar nicht in der Ergebnisliste prsentiert wurden.
Wendet man Pseudo Relevance Feedback an, fragt den Nutzer also gar nicht nach einer
Bewertung sondern nimmt die k besten Treer in der errechneten Ergebnisliste als positives
Feedback an, so kann man alle anderen Dokumente als negatives Feedback verwenden. In
diesem Fall werden also auch Dokumente bercksichtigt, die in der Ergebnisliste gar nicht
aufgetreten sind.
Probabilistisches Relevance Feedback
Auch hier greifen wir wieder ein altes Beispiel auf. Wir nehmen wieder die Dokumente
zu Paris und Hilton, in denen es einmal um das Hotel in der franzsischen Haupt-
stadt gehen soll und einmal um die Person Paris Hilton. Dabei hatten wir folgende
Verteilung von Termen in den Dokumenten verwendet:
Paris Hilton Hotel Frankreich Eielturm blond Erbin Skandal
d
1
3 1 1 2 1 0 0 0
d
2
1 3 4 1 3 0 0 0
d
3
2 1 0 1 0 0 0 0
d
4
3 0 0 2 0 0 1 0
d
5
0 1 3 0 0 0 0 0
d
6
3 3 0 0 0 2 0 0
d
7
2 2 0 0 0 0 2 0
d
8
2 1 1 0 0 1 1 0
d
9
3 2 0 0 0 1 0 4
d
10
3 2 0 1 0 0 2 3
Auch hier interessiert uns letztendlich wieder nur das Auftreten oder das Fehlen eines
Terms in den Dokumenten.
Geht man bei einer Anfrage nach Paris Hilton mit dem ganz einfachen Schema zur
Gewichtung nach IDF vor, so werden fast alle Dokumente gleich bewertet, da die
Suchterme in fast allen Dokumenten auftreten. Lediglich d
4
und d
5
stehen im Ranking
leicht zurck, da sie jeweils nur einen der Suchterme enthalten.
Gehen wir nun davon aus, dass der Nutzer Relevance Feedback gibt. Und zwar sagt
er, dass die Dokumente d
1
, d
3
und d
5
relevant sind, whrend d
7
und d
8
irrelevant
sind. Damit lassen sich nun neue, bessere Schtzer fr p
t
und u
t
angeben. Betrachten
wir beispielhaft den Term t
4
Frankreich. Er taucht in zwei von drei als relevant
markierten Dokumenten auf. Damit ergibt sich der Schtzer:
p
t
4
=
df
D
p(t
4
) + 0, 5
[D
p
[ + 1
=
2, 5
4
= 0, 625
128
7.5 Probabilistisches Relevance Feedback
In den negativ beurteilten Dokumenten tritt t
4
hingegen gar nicht auf. Dementspre-
chend fllt die Schtzung fr u
t
in diesem Fall wesentlich geringer aus:
u
t
4
=
df
D
n(t
4
) + 0, 5
[D
n
[ + 1
=
0, 5
3
= 0, 167
Wertet man so alle Terme aus, berechnet die Gewichtung der Terme neu und rankt
danach die Dokumente ber allen beobachteten Termen, so erhlt man die Ergebnis-
liste (jeweils mit Wert der Retrievalfunktion):
1. d
1
1, 289
2. d
2
1, 289
3. d
3
0, 590
4. d
5
0, 368
5. d
4
1, 100
6. d
10
1, 100
7. d
6
1, 176
8. d
9
1, 322
9. d
7
1, 875
10. d
8
2, 498
Hier ist die Bewertung der Dokumente schon wesentlich dierenzierter, insbesondere
wenn man bedenkt, dass weiterhin nur das Auftreten von Termen in Dokumenten,
nicht aber deren Termfrequenz bercksichtigt wird.
Da die Menge der beurteilten Dokumente wie gesagt sehr klein sein kann, knnte das
daraus gewonnene Feedback zu starken Verzerrungen der Wahrscheinlichkeiten fhren. Ins-
besondere wenn ber mehrere Schritte aus Relevance Feedback und neuer Ergebnisliste
hinweg iteriert wird, ist es nicht sinnvoll immer alle bisher gewonnenen Erkenntnisse zu ver-
werfen. Stattdessen berechnet man die Wahrscheinlichkeiten nicht komplett neu, sondern
passt sie nur dahingehend an, dass das aktuelle Feedback mit in die Werte einiet. Dies
kann beispielsweise ber einen Parameter gesteuert werden, so dass sich die Wahrschein-
lichkeit im Iterationsschritt j +1 so aus dem vorherigen Schritt unter der Bercksichtigung
des Feedbacks berechnet:
p
[j+1]
t
=
df
D
p(t) + p
[j]
t
[D
p
[ +
Auch fr die BM25 Gewichtung gibt es eine Form, in der Relevance Feedback einieen
kann. Dabei wird der Teil der IDF-Gewichtung komplett durch die im theoretischen Teil
entwickelte Gewichtung fr probabilistisches IR ersetzt:
129
7 Probabilistisches Information Retrieval

BM25
(d, q) =

iT(q)T(d)
log
_
(df
D
p(t
i
) +
1
2
) (df
D
n(t
i
) +
1
2
)
(df(t
i
) df
D
p(t
i
) +
1
2
) (N df(t
i
) [D
p
[ + df
D
p(t
i
) +
1
2
)
_

(k
1
+ 1) tf
d
(t
i
)
k
1

_
(1 b) + b
_
l(d)
l
avg
__
+ tf
d
(t
i
)

(k
3
+ 1) tf
q
(t
i
)
k
3
+ tf
q
(t
i
)
7.6 Zusammenfassung
Mit dem probabilistischen Modell des IR haben wir ein weiteres theoretisches Modell ken-
nen gelernt. Es beruht auf bedingten Wahrscheinlichkeiten und macht in der hier vorgestell-
ten Form Annahmen zur Unabhngigkeit der Terme und deren Einuss auf die Relevanz
eines Dokuments.
Fr die praktische Umsetzung ist es ntig die Wahrscheinlichkeiten abzuschtzen, dass
ein Term in relevanten oder irrelevanten Dokumenten auftritt. Darber lsst sich einerseits
die Wahl der IDF-Gewichtung theoretisch motivieren. Andererseits fllt es aber schwer nur
auf den theoretischen Grundlagen des probabilistischen Modells weitere Aussagen zu diesen
Wahrscheinlichkeiten zu machen. Einfache Annahmen, sogenannte Priors, fhren auch nur
zu einfachen Retrievalergebnissen. Unter Hinzunahme weiterer Einussgren konnte mit
der BM25 Gewichtung des Okapi Systems jedoch eine sehr erfolgreich Termgewichtung
gewonnen werden, die insbesondere in den TREC Vergleichen sehr gut abgeschnitten hat.
Schlielich lassen sich auch ber ein Relevance Feedback des Nutzers gute Schtzer fr die
bentigten Wahrscheinlichkeiten bestimmen. Diese zustzliche Information ber Relevanz
und Irrelevanz von einigen Dokumenten passt sehr gut zur Idee des probabilistischen IR
Modells und fgt sich nahtlos in die Theorie ein.
130
8 Websuchmaschinen
Das World Wide Web ist fr Nutzer heutzutage eine der wichtigsten Informationsquel-
len. Durch die Architektur des Webs gibt es jedoch kein zentrales Inhaltsverzeichnis, so
dass der Einsatz von Information Retrieval Systemen zur Informationssuche von essentiel-
ler Bedeutung ist. Solche Web-IR Systeme sind heutzutage in ihrer typischsten Form als
Websuchmaschinen anzutreen.
Das Web stellt enorme Ansprche an ein Information Retrieval System. Die Anzahl der
Dokumente sowie die darin enthaltenen Datenmengen sind extrem gro und wachsen mit
rasanter Geschwindigkeit weiter. Die Inhalte selbst ndern sich hug und liegen in einer
Vielzahl von Formaten, Sprachen und Stilen vor.
In diesem Kapitel werden wir zunchst das World Wide Web an sich betrachten. Es stellt
als denzentrales Hypertextsystem bereits selbst ein Informationssystem dar, und wir wollen
die wichtigsten Bauteile ein wenig unter die Lupe nehmen. Danach folgt eine genauere
Betrachtung der Web-spezischen Teile eines Web basierten IR Systems insbesondere
des Crawlers.
Im nchsten Kapitel werden dann Algorithmen wie PageRank oder HITS angesprochen,
die aus der Linkstruktur des Webs statische Qualittsmae fr IR Systeme ableiten.
8.1 Das World Wide Web
Das Web stellt im Prinzip ein riesiges, dezentrales Hypertextsystem dar. Und auch wenn
das WWW selbst erst Anfang der 90er Jahre von Tim Berners-Lee entwickelt wurde, so
gab es schon lange vorher Hypertextsysteme. Die Idee dazu stammt bereits aus dem Jahre
1945, als Vannevar Bush ein hypothetisches Informationssystem namens Memex [Bus45]
beschreibt. Memex sollte eine erweiterbare Sammlung an Dokumenten zur Verfgung stel-
len, die sich gegenseitig referenzieren konnten. Die Art der Referenzen sollte dabei das
direkte Laden und Ansehen der referenzierten Dokumente erlauben.
Stellte sich Bush sein Memex noch als elektro-mechanisches System vor, in dem die
Dokumente auf Microlm gespeichert waren, so wurden bereits vor der Entwicklung des
WWW computergesttzte Hypertextsysteme umgesetzt. Dass der groe Erfolg dann aber
erst mit Berners-Lees Web kam, wird unter anderem der Einfachheit und Fehlertoleranz
des Systems zugeschrieben. Es besteht prinzipiell aus drei Sulen: dem Hypertext Transfer
Protocol (HTTP), dem Konzept des Uniform Resource Locator (URL) und der Hypertext
Markup Language (HTML) zur Kodierung von Dokumenten.
131
8 Websuchmaschinen
Da alle drei Komponenten auch fr Websuchmaschinen eine wichtige Rolle spielen, wer-
den wir uns zunchst diese Teile des Web etwas nher ansehen, bevor wir zu den Suchma-
schinen selbst kommen.
Das Protokoll HTTP [FGM
+
99] dient der Kommunikation zwischen Client und Server.
Der Client ist im Web im klassischen Fall der Webbrowser; der Server ist der Host-Rechner,
der die Webdokumente zur Verfgung stellt. Suchmaschinen nehmen hier eine besondere
Rolle ein, denn sie stehen je nach Funktionsmodul auf der Client- oder der Serverseite.
Wenn sie das Web nach Dokumenten durchsuchen, dann treten sie als Clients auf, wenn
sie ber ein Webinterface auf Anfragen reagieren, nehmen sie die Serverrolle ein.
Die Kommunikation zwischen Client und Server ist in HTTP zustandslos. Das bedeu-
tet, dass der Server wie in Abbildung 8.1 auf eine Anfrage
1
(Request) des Clients mit einer
Antwort (Repsonse) reagiert und damit zugleich die Kommunikation beendet. Eine weitere
Anfrage gilt als neue, von der vorherigen unabhngige Kommunikationsaktion. Dement-
sprechend gibt es in HTTP fr den Client recht einfache Vorgaben, wie er seine Anfrage
stellen kann und fr den Server, wie die Antwort auszusehen hat.
Abbildung 8.1: Ablauf der Kommunikation zwischen Client und Server ber HTTP.
Eine HTTP-Nachricht besteht prinzipiell aus einem Kopf-Teil und einem Nachrichten-
rumpf, die voneinander durch eine Leerzeile getrennt sind. Im Kopf stehen die Informatio-
nen des Protokolls selbst, also beispielsweise eine genauere Angabe ber den Anfragetyp
eines Clients oder das Ergebnis der Anfrage bei einer Antwort des Servers. Im Nachrich-
tenrumpf werden die Daten transportiert, sei es in Form eines Webdokumentes vom Server
zum Client oder auch in der anderen Richtung vom Client zum Server, beispielsweise die
Eingaben in Webformularen. Der Rumpf kann allerdings auch leer sein. Dies ist bei Client-
Anfragen huger der Fall kann aber auch bei der Antwort des Servers vorkommen, z.B.
wenn ein Fehler aufgetreten ist.
In den HTTP-Anfragen (Requests) erfolgt in der ersten Zeile zunchst die Beschreibung
der Anfrage, der angefragten Ressource und der verwendeten HTTP-Version. Der Anfang
einer solche Anfrage kann folgendermaen aussehen:
GET /lehre/ir/index.php HTTP/1.1
1
Achtung: Anfrage ist hier im Sinne der Protokollbasierten Kommunikation zwischen Client und Server
gemeint, nicht als Formulierung und Ausdruck eines Informsbedrfnisses an ein IR System.
132
8.1 Das World Wide Web
Das Schlsselwort GET zeigt an, dass die danach ber einen Pfad angegebene Ressour-
ce angefordert wird. Bei einem GET werden keine weiteren Daten im Nachrichtenrumpf
bertragen. Mit HTTP/1.1 wird erklrt, dass der Client mit Version 1.1 arbeitet. Auch
wenn der Nachrichtenrumpf in diesem Falle leer ist, so kann der Kopf jedoch noch weitere
Header-Daten enthalten:
GET /lehre/ir/index.php HTTP/1.1
Host: www.informatik.uni-mainz.de
User-Agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.0.10)
Gecko/2009042523 Ubuntu/8.10 (intrepid) Firefox/3.0.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Man sieht schnell, dass alle weiteren Zeilen nach einem einfachen Muster aufgebaut sind:
der Name des Header-Feldes gefolgt von einem Doppelpunkt und den Werten zu diesem
Feld. Im hier angegebenen Beispiel sind unter anderem Angaben zum verwendeten Browser
zu nden (User-Agent), Angaben zu den vom Client untersttzten Formaten (Accept),
Kodierungen (Accept-Charset) und Kompressionen (Accept-Encoding). Die Angabe im
Header-Feld Host gibt den Domain Namen an, unter der die Ressource abgelegt ist. Dies
kann ntig sein, da der Verbindungsaufbau letztendlich ber die IP-Adresse des Servers
zustande kommt, dieser jedoch unter gleicher IP mehrere Domains bndeln kann.
Ein weiteres Header-Felder fr Anfragen ist If-Modified-Since gefolgt von einer Zeit-
angabe. In diesem Fall werden nur dann Daten vom Server bermittelt, wenn sich an der
Ressource seit dem angegebenen Zeitpunkt etwas gendert hat. Das ist insbesondere fr
Suchmaschinen interessant, um bereits indizierte Ressourcen auf Aktualitt hin zu ber-
prfen. Mit dem Header-Feld If-Unmodified-Since gibt es brigens auch das passende
Gegenstck.
Auer dem Befehl GET gibt es noch weitere Anfragetypen. Die bekanntesten und wich-
tigsten sind POST und HEAD
2
. Eine POST-Anfrage bertrgt im HTTP-Rumpf der Nachricht
Daten an den Server
3
, mit HEAD wird nur der Kopf einer HTTP-Meldung angefordert. Letz-
teres kann dazu dienen, um im HTTP-Kopf bestimmte Eintrge auszulesen, ohne gleich
eine unter Umstnden sehr groe Menge an Rumpfdaten bertragen zu mssen. Um dies
genauer nachvollziehen zu knnen schauen wir uns die HTTP-Antworten (Response) nher
an. Als Antwort auf die obige Anfrage erhlt man folgenden HTTP-Kopf:
HTTP/1.1 200 OK
Date: Tue, 09 Jun 2009 09:23:24 GMT
2
Andere Methoden des HTTP Standards wie PUT und DELETE stehen heutzutage aus Sicherheitsgrn-
den in der Regel nicht zur Verfgung.
3
Auch mit GET lassen sich Daten an den Server bertragen, jedoch nur ber Parameterangaben in der
URL.
133
8 Websuchmaschinen
Tabelle 8.1: Wertebereiche der HTTP-Statuscodes
Werte Ergebnis Weiteres Vorgehen
100-er Meldungen Informative Nachrichten Anfrage wird weiter bearbeitet
200-er Meldungen Erfolg Anfrage erfolgreich beantwortet
300-er Meldungen Umleitung Rckfrage bei Client, Erfolg noch mglich
400-er Meldungen Client Fehler Fehlerhafte Anfrage, Misserfolg
500-er Meldungen Server Fehler Fehler auf Serverseite, Misserfolg
Server: Apache/2.0.50 (Unix) PHP/5.0.5
X-Powered-By: PHP/5.0.5
Keep-Alive: timeout=15, max=97
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=ISO-8859-1
Die erste Zeile gibt zunchst Aufschluss ber die Art der Antwort. Und zwar in dem
Sinne, dass sie mitteilt, wie der Server auf die Anfrage reagiert. Zuerst wird auch hier
die verwendete Version des Protokolls angegeben. Danach folgt Status Code und Status
Meldung. Der Code gibt Aufschluss ber Erfolg und Misserfolg der Anfrage, die Meldung
formuliert das Ergebnis ergnzend in Worten. Die Status Codes sind in Grobereiche auf-
geteilt, die wieder mehrere Detailangaben machen knnen. Tabelle 8.1 nennt und erklrt
knapp die Wertebereiche fr die Statusmeldungen.
Einige der Meldungen wollen wir uns aber dennoch nher anschauen, da sie insbesondere
fr Suchmaschinen von Interesse sind:
Status 200 (OK): Dokument erfolgreich abgerufen.
Status 302 (Moved Permanently), 303 (See other) und 307 (Temporary Redirect):
Ressource ist unter anderer URL zu nden. Die genaue URL wird ber das Header-
Feld Location mitgeteilt.
Status 304 (Not Modied): Die angefragte Ressource wurde nicht verndert (Bei
Anfrage mit Zeitangabe).
Status 400 (Bad Request): Syntaktisch fehlerhafte Anfrage.
Status 401 (Unauthorized): Zugri erfordert eine Authentizierung (Nutzername und
Passwort).
Status 403 (Fordbidden): Zugri auf diese Ressource ist verboten (z.B. keine Zugris-
rechte).
Status 404 (Not Found): An der angeforderten URL liegt keine Ressource vor.
134
8.1 Das World Wide Web
Diese Meldungen sind deshalb von Interesse, weil eine Suchmaschine ganz gezielt darauf
reagieren kann. Bei permanent verlegten Ressourcen kann eine gespeicherte URL durch
die neue ersetzt werden, bei Ressourcen ohne Zugri oder nicht gefundenen Daten kann
eine URL ersatzlos gestrichen werden.
Fr Server-Antworten gibt es ebenfalls einige Header-Felder, die fr Suchmaschinen in-
teressant sein knnen. Dazu gehren Angaben wie Age (Alter des Dokuments in Sekunden),
Content-Encoding (verwendetes Kompressionsverfahren), Content-Length (Lnge des In-
haltes in Byte) oder Content-Type (MIME-Type des Inhaltes, verwendeter Zeichensatz).
Nun haben wir im Zusammenhang mit HTTP schon mehrfach von Ressourcen und
deren Speicherort gesprochen. Um eine Ressource eindeutig zu identizieren werden im
Web URLs genutzt. URLs sind immer nach dem gleichen Schema aufgebaut:
<Protokoll>://<Host>/<Pfad>?<Parameter>#<Fragment>
Das typische Protokoll im Web ist wie gesagt HTTP, so dass der Groteil der Web-URLs
mit http:// beginnt. In HTML Dokumenten trit man jedoch auch Verweise auf Ressour-
cen an, auf die ber anderen Protokolle zugegrien werden muss. Eines der bekanntesten
Beispiel drfte das File Transfer Protocol (FTP) sein. Der Host wird ber eine IP-Adresse
oder einen Domainnamen angegeben, eventuell erweitert um einen IP-Port oder Nutzerda-
ten zur Authentizierung. Der Pfad entspricht wohl meist einem Dateipfad auf dem Server.
Die Parameter nach dem Fragezeichen dienen zur bertragung von Informationen an den
Server (in beschrnktem Umfang). Der Fragmentteil schlielich kann auf einen bestimmten
Teil oder Eintrag in der Ressource verweisen.
Jede Ressource im WWW, sei es eine Datei oder ein Dienst, wird ber eine URL refe-
renziert. Dabei knnen mehrere URLs durchaus auf die gleiche Ressource verweisen. Das
einfachste Beispiel ist hierbei sicherlich die Standardseite, die bei Angabe eines Pfades ohne
konkrete Datei angezeigt wird. So verweisen die beiden URLs http://www.informatik.uni-
mainz.de/lehre/ir/ und http://www.informatik.uni-mainz.de/lehre/ir/index.php beide auf
das gleiche HTML Dokument. Aber auch in Fllen, in denen verschiedene Domainnamen
auf den gleichen Server und den gleichen Webauftritt aufgelst werden fhren verschiedene
URLs zu identischen Dokumenten.
Eine weitere Besonderheit in Webdokumenten ist, dass hug auch relative Pfade in
URLs verwendet werden. Dabei wird innerhalb eines Webdokumentes auf andere Ressour-
cen verwiesen, indem lediglich die nderungen am Pfadteil der URL speziziert werden.
Protokoll, Host und eventuell auch Teile des Pfades werden von dem referenzierenden Doku-
ment bernommen. Wird beispielsweise innerhalb des Dokumentes unter http://www.informatik.uni-
mainz.de/lehre/ir/index.php ein Verweis mit ../ps/uebung.php angegeben, so bedeutet
dies, dass in der Pfad-Struktur eine Ebene nach oben gegangen werden muss (..) und
dann der Teil ps/uebung.php angehngt wird. Das fhrt also insgesamt zur absoluten URL
http://www.informatik.uni-mainz.de/lehre/ps/uebung.php. Beginnt eine relative URL mit
einem fhrenden Slash (/), so wird nur Protokoll und Host vom referenzierenden Doku-
ment bernommen, die Referenz wird dann als Pfad bernommen. Lautet ein Verweis unter
135
8 Websuchmaschinen
http://www.informatik.uni-mainz.de/lehre/ir/index.php auf /index.php, so bezieht er sich
also auf die absolute URL http://www.informatik.uni-mainz.de/index.php.
Die letzte Sule des WWW stellt das HTML-Format dar. HTML ist eine Auszeichnungs-
sprache, die ursprnglich ber SGML deniert wurde. Sie hat sich ber mehrere Versions-
nummern hinweg entwickelt. Die letzte vom W3C als fr den produktiven Einsatz geeignet
deklarierte Version ist 4.01 [RHJ99], Version 5 [W3C08] ist in Arbeit. Zwischenzeitlich
wurden mit XHTML [W3C07] eine auf syntaktischer Ebene etwas stringentere Fassungen
in XML formuliert.
HTML-Dokumente hatten wir bereits kurz im Kapitel zu Boolschem Retrieval mit ge-
wichteten Zonen angesprochen. Das Format ist denkbar einfach. Vom Prinzip her wird
ein Flietext dadurch strukturiert, dass einzelne Textfragmente mit Tags markiert werden.
Die Tags weisen den Textfragmenten eine bestimmte Funktion zu, beispielsweise die einer
berschrift, eines Absatzes, eines Hyperlinks oder einer Zelle in einer Tabelle. Dazu wird
der Text von einem nenden und einem schlieenden Tag umklammert. Weiterhin gibt es
in HTML-Dokumenten einen Kopf, der fr Metadaten oder andere dokumentweit gltige
Angaben gedacht ist, sowie einen Rumpf, der das eigentliche Dokument enthlt.
Die verfgbaren Auszeichnungselemente knnen in diesem Rahmen nicht vollstndig vor-
gestellt werden. Im Zusammenhang mit Websuchmaschinen sollen jedoch einige wenige
Elemente angesprochen werden.
a Dieses Element stellt Anker im Dokument dar. Das knnen Ziele fr Verweise sein (die
in einer URL hinter dem # angesprochen werden knnen), in den meisten Fllen wird
es sich jedoch um Verweise auf andere Dokumente handeln, also um klassische Hy-
perlinks. Der Ziel des Hyperlinks wird ber den Wert des Attributes href angegeben.
Ein Verweis auf die Homepage zur IR Vorlesung htte also folgende Form:
<a href="http://www.informatik.uni-mainz.de/lehre/ir/index.php">
IR Vorlesung
</a>
Der Inhalt des Elementes (IR-Vorlesung) wird dann als Link dargestellt.
base Dieses Element ndet sich im Kopf und deniert im Attribut href eine Basis-URL die
fr relative Verweise verwendet wird. Diese wird in der Regel von der tatschlichen
URL des Dokumentes verschieden sein.
meta Ebenfalls eine Kopfangabe, die je nach Typ verschieden Informationen zur Verf-
gung stellt. Das knnen Stichwrter, eine Inhaltsangabe oder Zusammenfassung sein.
Einige hatten wir bereits in Kapitel 4 kennen gelernt.
img Dieses Element dient der Einbettung von Bildern. ber das Attribut alt knnen Texte
angegeben werden, die das Bild ersetzen oder erklren knnen. Dies ist beispielsweise
fr sehbehinderte Nutzer gedacht oder fr den Fall, dass das Bild nicht vom Server
geladen werden konnte.
136
8.2 Web Crawler
Der Erfolg von HTML (und wohl auch die mangelnde bernahme von XHTML als
meistgenutzter Standard) liegt an der fehlertoleranten Behandlung durch die Browser.
Selbst wenn die Autoren eines HTML-Dokumentes syntaktische Fehler machen, wird es in
den meisten Fllen dennoch vom Browser angezeigt hug sogar halbwegs korrekt im
Sinne des Autors.
Inzwischen gibt es zu HTML einige standardisierte Ergnzungen. Mit JavaScript kann
clientseitig Dynamik in die Dokumente gebracht werden. Die Skripte werden im Browser
ausgefhrt und erlauben das Dokument, dessen Inhalte und Darstellung zu verndern. Mit
Cascading Style Sheets (CSS) gibt es die Mglichkeit auf die Darstellung und Formatie-
rung eines Dokumentes Einuss zu nehmen. Ursprnglich war HTML nmlich eine fr die
strukturelle und nicht fr die darstellungsorientierte Auszeichnung der Dokumente gedacht.
Mit CSS wurde dem Bedrfnis der Webdesigner Rechnung getragen, auch die Darstellung
unter Kontrolle zu bekommen.
Der groe Erfolg des Web ist fr IR Systeme gleichzeitig auch ein Fluch. Denn die
Einfachheit des System fhrte zu einer weiten Adaption durch Nutzer. Damit wurden ge-
whnliche Nutzer pltzlich zu Autoren. Das heit, dass die Inhalte nicht mehr nur von
ausgebildeten Redakteuren sondern in groem Stil auch von Amateuren verfasst wurden.
Dadurch gibt es im Web extrem unterschiedliche Qualitten an Inhalten. Das betrit die
Art der Inhalte, die Sprache, die Grammatik und die Rechtschreibung. Durch die Entwick-
lung hin zu noch mehr Nutzer-generiertem Content im Web 2.0 durch Blogs und hnliche
Techniken wurde diese Entwicklung noch fossiert.
Aber auch auf der Seite der Nutzer der IR Systeme hat sich alles sehr stark in den
Mainstream entwickelt. Wurden die IR Systeme frher noch von ausgebildeten Experten
genutzt sind es heute normale Alltagsnutzer. Die Anfragen werden hug ohne gezielte
Vorberlegung und ohne Kenntnis oder Verstndnis der Systeme selbst gestellt.
8.2 Web Crawler
Eine der Besonderheiten von Websuchmaschinen ist deren Zugri auf die Dokumentsamm-
lung. Statt eines fest vorgegebenen Korpus, der an vorgegebener Stelle liegt, hat es eine
Websuchmaschine mit dem WWW selbst zu tun. Im WWW gibt es keine zentrale Organi-
sationsstruktur, die neue Inhalte kontrolliert, verwaltet oder auch einfach nur erfasst und
propagiert.
Daher bleibt den Websuchmaschinen nichts anderes brig als selbst das Web zu durch-
streifen, nach neuen, unbekannten oder vernderten Inhalten zu suchen und diese in den
eigenen Datenbestand aufzunehmen. In unserer schematischen Darstellung eines IR Sys-
tems in Kapitel 1 liee sich damit also eine weitere Komponente eintragen, die zwischen der
Dokumentsammlung (hier dem Web) und der Dokumentverarbeitung sitzt. Diese Kompo-
nente wird als Web Crawler, Web Robot oder Web Spider bezeichnet.
Aufgabe des Crawlers ist es wie gesagt, das Web zu durchstreifen und Dokumente zum
Zwecke der weiteren Vorverarbeitung und Indizierung an das IR System weiterzureichen.
137
8 Websuchmaschinen
Der Crawler selbst kann ebenfalls wieder in mehrere Komponenten untergliedert werden,
wie es in Abbildung 8.2 in Anlehnung an [Gl03] skizziert wird.
Abbildung 8.2: Bestandteile eines Web-Crawlers.
Die URL-Datenbank enthlt eine Sammlung von URLs, die der Crawler noch zu besuchen
hat. Diese Sammlung wird auch als Frontier bezeichnet, also als Grenze zum noch nicht
erforschten Gebiet des Web. Dabei wird nicht nur die URL selbst gespeichert, sondern
einige weitere Daten zu dieser URL und den dadurch verwiesenen Daten. Der grte Teil
der Daten kann aus der URL heraus geschtzt werden oder liegt aus einem der letzten
Besuche der URL vor:
Die IP-Adresse des Server auf den der Domainname aufgelst wird. So kann der
Overhead der DNS Ausung und insbesondere die Verschwendung kostbarer Netz-
werkbandbreite bergangen werden. Insbesondere wenn ein Domainname in mehreren
URLs vorkommt.
Das Datum des letzten Besuchs dieser URL.
Fehlerhugkeit des Hosts.
nderungshugkeit des Inhalts.
Format des Inhalts, entweder aus dem Pfad geschtzt oder aus der Erfahrung des
letzten Besuchs.
Wichtigkeit der Seite. Diese kann vom Inhalt abhngen (Detail- oder Inhaltsseite),
von der Tiefe der Seite im Pfad oder von anderen Kenntnissen ber den Host.
Die Loader-Komponente kann aus diesen Daten eine Reihenfolge ableiten, in der die
URLs in der Datenbanken das nchste Mal besucht werden sollen. Dementsprechend fordert
die Komponente eine Teilmenge der URLs an und verteilt diese an die Gatherer. Diese
liegen mehrfach vor und stellen die Clients dar, die letztendlich die Anfragen an die Server
stellen.
138
8.2 Web Crawler
Je nach Untersttzung durch den Server kann die Anfrage dabei in einem oder zwei
Schritten erfolgen. Zum einen kann die Anfrage konditional gestellt werden, das heit mit
der Vorgabe, dass das Dokument nur dann bertragen werden soll, wenn es sich seit dem
letzten Besuch gendert hat. Alternativ kann auch zunchst ber den HTTP-Befehl HEAD
nur der HTTP-Kopf angefordert werden und darin direkt das Datum der letzten nderung,
bzw. das Alter des Dokuments berprft werden.
Das Ergebnis der Interaktion wird an den Checker bergeben. Dieser besteht aus ei-
ner Reihe von Filtern, die auf ein Dokument angewendet werden. Einige der Filter sind
eventuell systemspezisch und werden nicht in jeder Websuchmaschine auftreten, andere
gehren hingegen quasi zum Standardrepertoire. Dazu gehrt sicherlich die Prfung, ob
das Format des Dokumentes berhaupt bekannt ist und vom System behandelt werden
kann. Kann das IR System beispielsweise die Inhalte von PDF-Dateien nicht lesen, so ist
es unntig, solche Dateien zur Indizierung weiterzureichen. Ist das Format bekannt wird
es auf syntaktische Korrektheit und Lesbarkeit geprft. Treten dabei Fehler auf, kann der
Checker versuchen, das Dokument zu reparieren (z.B. gltiges HTML herzustellen) oder
es als unlesbar verwerfen. Ein weiterer Filter kann sich damit befassen, das Dokument als
Dublette zu erkennen. Das bedeutet, dass das Dokument unter anderer URL eventuell be-
reits indiziert wurde. Exakte Dubletten knnen ber Hashing-Verfahren erkannt werden.
In vielen Fllen unterscheiden sich Dokumente in ihren Inhalten allerdings lediglich durch
unwesentliche nderungen, wie z.B. das Datum oder eine Verweisliste auf die aktuellsten
Inhalte. Die Erkennung solcher Nahezu-Duplikate ist etwas aufwendiger und soll an dieser
Stelle nicht weiter vertieft werden. In einigen Fllen kann ein Abgleich mit einer Blacklist
von nicht zu indizierenden Webseiten oder Inhalten ein sinnvoller Filter sein. Dies kann
auf der Basis der URL, enthaltener Wrter oder anderer Kriterien erfolgen. Dazu gehrt
in gewissem Umfang auch die Erkennung von Spam eine Problematik, auf die wir spter
noch eingehen werden.
In manchen Fllen kann es ntig sein, dass der Checker direkt mit den Gatherern in-
teragiert, beispielsweise um fehlende Daten nachzuladen oder eine HTML-basierte Wei-
terleitung aufzulsen. Sind alle Daten komplett und alle Filter durchlaufen, ohne dass
das Dokument verworfen wurde, wird es an das IR System zur Aufbereitung und Indizie-
rung bergeben. Darber hinaus sammelt der Checker aus HTML Dokumenten die darin
referenzierten URLs und legt sie in der URL-Datenbank ab. Auch die URL des gerade
besuchten Dokuments wird wieder in der URL-Datenbank gespeichert, so dass diese nach
einer gewissen Zeit wieder besucht werden kann. URLs die jedoch wiederholt zu Fehlern
gefhrt haben oder aus anderen Grnden wiederholt von den Filtern verworfen wurden,
knnen auch komplett verworfen werden.
Damit URLs aus einem Webdokument in die Datenbank aufgenommen werden knnen
mssen sie vorher normalisiert werden. Das bedeutet aus relativen Verweisen mssen ab-
solute URLs erzeugt werden. Dabei sind die URL des referenzierenden Dokuments sowie
etwaige Angaben im base-Element zu bachten.
Mit der Aufnahme neuer und alter URLs in die URL-Datenbank schliet sich der Kreis-
lauf der Aktionen eines Web Crawlers. Es gibt jedoch noch einige Details zu beachten. Dazu
139
8 Websuchmaschinen
gehrt zum einen die Crawler-Politeness: ein Crawler sollte sich an bestimmte Verhaltensre-
geln halten. So sollte er den Zugri auf Hosts mglichst streuen und nicht einen Webserver
mit Anfragen berschwemmen. Es gilt die Faustregel, dass zwischen den Anfragen an den
selben Server einige Sekunden liegen sollten.
Eine weitere Regel ist, dass ein Crawler bei einem Server zunchst die Datei robots.txt
anfordert. Dies ist eine sehr einfache, nach dem Robots Exclusion Standard formatierte
Datei, welche Angaben dazu macht, welche Clients (Web Crawler) auf welche Bereiche des
Webauftrittes zwecks Indizierung zugreifen drfen. Die Datei fhrt dazu gegebenenfalls
fr einzelne Clients namentlich auf, welche Pfade fr sie als gesperrt gelten. Es gehrt
zum guten Benehmen, dass diese Angaben eingehalten werden. Es folgt ein Beispiel einer
solchen Datei:
# robots.txt for http://www.uni-mainz.de/
User-agent: *
Disallow: /~presse1/ # Die UniInfo soll nicht durchsucht werden auf Wunsch
Die Datei wurde vom Server der Uni Mainz geladen und gibt Aufschluss ber die wich-
tigsten Angaben die in einer robots.txt Datei auftreten knnen. In der erste Zeile sieht man
einen Kommentar, der mit dem Zeichen # eingeleitet wird. Danach folgt die erste und in
diesem Fall einzige Spezikation fr Crawler, eingeleitet durch User-Agent. Der Stern *
deutet an, das dies fr alle Crawler gilt. In der nchsten Zeile werden die Einschrnkungen
erwhnt die hier zutreen. ber das Schlsselwort Disallow wird angezeigt, dass gewisse
Bereiche der Website nicht angerufen werden drfen. In diesem Beispiel bezieht sich dies
auf alle Dokumente unter dem Pfadprx /~presse1/. Die Liste der nicht zu durchsuchen-
den Pfade kann beliebig erweitert werden, indem weitere Zeilen mit Disallow angehngt
werden.
Will man fr unterschiedliche Crawler individuelle Einschrnkungen machen, so kn-
nen durch weitere Zeilen mit anderen User-Agent Angaben und nachfollgenden Disallow
Angaben weitere Einschrnkungen gemacht werden, die dann nur fr Crawler gelten die
zu dieser User-Agent Beschreibung passen. Das folgende Beispiel (ein Auszug aus der
robots.txt Datei von Spiegel Online) macht dies deutlich:
User-agent: *
Disallow: /RealMedia/
Disallow: /archiv/
Disallow: /forum/
Disallow: /cgi-bin/
Disallow: /werbung/
User-agent: WebReaper
Disallow: /
140
8.2 Web Crawler
User-agent: Slurp
Crawl-delay: 18
Whrend fr beliebige Clients nur die ersten Angaben gelten, wird fr den Crawler
WebReaper die Vorgabe gemacht, dass er keinerlei Dateien besuchen darf, da bereits fr
das Wurzelverzeichnis keine Zugriserlaubnis gewhrt wird. Fr den User-Agent Slurp
hingegen gilt eine andere Einschrnkung: Er darf Seiten nur mit gewissen Pausen zwischen
den Anfragen herunterladen. Dies wird durch die Einschrnkung Crawl-Delay und eine
Angabe der zu wartenden Sekunden ausgedrckt. Andere Mglichkeiten der Einschrnkung
sind die Angabe der einzigen zugnglichen Seiten (Allow) oder ein helfender Hinweis auf
eine Sitemap Seite (Sitemap).
Auch in HTML-Dokumenten selbst knnen ber meta-Tags Angaben fr Crawler ge-
macht werden. Dazu gibt es das meta-Element mit dem name-Attributwert robots. Als
content-Wert knnen noindex und/oder nofollow angegeben werden, um auszudrcken
dass die Seite nicht indiziert werden soll, bzw. dass die verlinkten URLs nicht fr weite-
res Crawling genutzt werden sollen. Soll eine Seite ganz regulr indiziert und die Links
verfolgt werden, so kann im content-Attribut der Wert all angegeben werden oder das
meta-Element schlicht weggelassen werden.
Generell, sind die Angaben in der robots.txt Datei lediglich eine freundliche Bitte, sie
garantieren nicht, dass sich die Crawler daran halten. In der Regel kann jedoch eine fun-
dierte berlegung des Websiteadministrators angenommen werden und die Indizierung der
Inhalte ist in der Tat wenig sinnvoll. Deshalb und aufgrund der oben erwhnten Crawler
Politeness sollten sich die Crawler daran halten. Will man auf der Seite des Webservers
den Zugri auf bestimmte Inhalte tatschlich verbieten, so mssen andere Manahmen ge-
troen werden (Authentizierung oder Beschrnkung des Zugris auf gewisse Netzwerke).
Ein weiterer wichtiger Punkt bei der Umsetzung eines Crawlers ist dessen Robustheit
und Fehlertoleranz. Oensichtlich darf das Gesamtsystem nicht zum Absturz gefhrt wer-
den, wenn ein HTML-Dokument ein unbekanntes Tag enthlt oder die HTTP-Verbindung
zu einem Server zusammenbricht. Es gibt aber noch einige andere Punkte, die ebenfalls zu
beachten sind. So ist zu beachten, dass nicht alle URLs tatschlich zu tatschlichen Doku-
menten fhren. Ein einfaches Beispiel sind sogenannte weiche 404-Fehler. Dabei handelt
es sich um HTML-Seiten die dem Nutzer sagen sollen, dass er eine ungltige Seite eingege-
ben hat. Anstatt des HTTP-Statuscode 404 wird jedoch ein Statuscode 200 gesendet und
die Fehlermeldung im HTML-Format dem Nutzer prsentiert. Damit ist jedoch zumindest
theoretisch eine unbeschrnkte Anzahl an gltigen URLs mglich, die nicht zu Fehlern fh-
ren, aber auch keine brauchbaren Inhalte fr die Suchmaschine liefern. Solche Explosionen
in der Menge der URLs werden auch als Crawler-Traps (Crawler Fallen) bezeichnet. Eben-
falls schwierig sind Parameter und Fragmente in den URLs. Die Fragmentangabe kann in
der Regel problemlos weggelassen werden, aber was ist mit den Parametern? Dabei kann
es sich um wichtige Parameter handeln, welche die Inhalte einer dynamisch erzeugten Seite
beeinussen (z.B. Formulareingaben). Es kann aber auch eine Session-ID sein, die nur dazu
dient den Nutzer und dessen Weg ber die Website zu verfolgen. Diese Session-IDs wer-
den aber jedesmal neu vergeben und werden nach einem gewissen Timeout ungltig. Auch
141
8 Websuchmaschinen
dadurch entstehen (bezieht man die Parameter mit ein) jedes mal neue URLs, die aber
inhaltlich keine Neuerungen bringen. Eine radikale Lsung, die von vielen Suchmaschinen
verfolgt wird ist, die Parameter in den URLs generell nicht zu beachten. Dies fhrt unter
anderem zum Deep-Web oder Hidden-Web Phnomen: Es gibt eine sehr groe Zahl von
Dokumenten im Web die von Suchmaschinen nicht indiziert werden, da sie fr Suchma-
schinen nicht zugnglich sind. Sie sind daher auch fr Informationssuchende gewissermaen
verborgen und nicht (direkt) zugnglich.
Auer robust und fehlertolerant sollte ein Crawler auch ezient (bezglich Rechenzeit,
Speicher und beanspruchte Netzwerkbandbreite), erweiterbar (um neue Formate oder Fil-
ter) und skalierbar (Verteilung auf mehrere Prozesse, Threads und Rechner) sein. Dazu
kann beispielsweise ein Caching der robots.txt Dateien und DNS-Ausungen dienen, so
dass diese nicht immer neu angefragt werden mssen.
8.3 Spam
Die Anfragen an Websuchmaschinen werden hug in Informations-, Location- und Trans-
aktionsanfragen unterschieden. Informationsanfragen drcken ein klassisches Informations-
bedrfnis aus und der Nutzer wird sich wahrscheinlich mehrere Seiten anschauen, um sein
Informationsbedrfnis zu befriedigen. Bei Locationanfragen sucht der Nutzer eine bestimm-
te Webprsenz, beipielsweise die der Uni Mainz. Hier ist es fr eine Suchmaschine wichtig
die betreende Seite mglichst auf dem ersten Platz anzuzeigen. Bei Transaktionsanfragen
schlielich will der Anfragende eine Transaktion ttigen und sucht einen entsprechenden
Dienst im Web. Die Art der Transaktion kann eine Reisebuchung, ein Einkauf oder ein
andere Dienst sein, fr den unter Umstnden bezahlt werden muss.
Es wird oensichtlich, dass ein Anbieter solcher Dienste bei den entsprechenden Anfragen
mglichst weit oben in der Treerliste einer Suchmaschine auftauchen mchte. Schlielich
stehen die oberen Positionen fr hohes Ranking und somit fr hohe Relevanz. Das sugge-
rieren den Nutzern eine hohe Qualitt des Anbieters. Auch ist bekannt, dass viele Nutzer
von Websuchmaschinen nur selten mehr als die ersten zehn Ergebnisse betrachten. Ein
hohes Ranking ist daher fr kommerzielle Anbieter umso wichtiger, damit sie berhaupt
wahrgenommen werden. Einige Suchmaschinen erlauben es Firmen daher, gegen Bezahlung
deren Ranking zu beeinussen oder Werbung zu bestimmten Anfragen einzublenden.
Allerdings, gibt es auch andere Mglichkeiten, wie Autoren versuchen das Ranking ihrer
Webseiten zu beeinussen. Wird dabei mit irrefhrenden und trgerischen Manahmen
gearbeitet, so dass irrelevante Dokumente zu einer Anfrage auftauchen oder die Relevanz
eines Dokumentes deutlich zu hoch beurteilt wird, spricht man von Spam. hnlich wie
beim E-Mail Spam bekommt der Nutzer letztendlich Inhalte zu sehen, die ihn nicht inter-
essieren. Was genau unter Spam fllt und was noch als legale Suchmaschinenoptimierung
einer Webseite zhlt, ist nicht objektiv abzugrenzen. Die meisten kommerziellen Web-
suchmaschinen machen klare Vorgaben, was sie erlauben und welche Manahmen als Spam
gewertet werden (und somit in der Regel zur Lschung aus dem Index fhren). Einige Me-
142
8.3 Spam
thoden, die landlug als Spam gewertet werden sollen hier kurz angesprochen werden. Sie
basieren letztendlich alle auf der unterschiedlichen Wahrnehmung einer Webseite durch den
Crawler der nur den Quelltext sieht und dem menschlichen Nutzer, der ein gerendertes
Dokument im Browser betrachtet.
Sobald eine Suchmaschine Termfrequenzen zur Gewichtung heranzieht, ist es einem ho-
hen Ranking zutrglich, wenn ein Suchterm sehr hug auftaucht. Daher besteht ein Ansatz
zur Beeinussung des Ranking darin, bestimmte Terme sehr hug in einem Dokument
zu erwhnen. Wird ein solches Keyword Stung in den eigentlich Text eingebaut, so
verwirrt es jedoch den menschlichen Nutzer. Daher werden die Terme in nicht sichtba-
ren Dokumentbereichen oder in Form von Blind Texts vor dem Nutzer verborgen. Das
kann auf verschiedene Art und Weise geschehen. So knnen die Terme in meta-Angaben
im Dokumentkopf verstaut werden diesen sieht der Nutzer nicht. Ebenso knnen belie-
bige Inhalte an das Ende des Dokumentes gestellt werden und durch Darstellungstricks
unsichtbar gemacht werden. Weie Schrift auf weiem Hintergrund, div-Elemente die aus
dem sichtbaren Bereich herausgeschoben oder auf eine Hhe von 0 Punkten geschrumpft
werden sind klassische Anstze dazu. Auch knnen in den alt-Attributen von sehr klei-
nen oder transparenten Bildern beliebig viele Terme untergebracht werden, ohne dass die
Wahrnehmung eines menschlichen Nutzers darunter leidet.
Keyword Stung kann relativ einfach erkannt werden. Da selbst huge Stopwrter nur
einen bestimmten Prozentsatz aller Wrter in einem Text ausmachen, kann eine Obergrenze
fr Suchbegrie im Dokument festgelegt werden. Weist ein Term beispielsweise eine relative
Hugkeit von mehr als 10%, 15% oder 20% auf, so deutet dies auf Keyword Stung hin.
Ein anderer Ansatz fr Spam sind Doorway Seiten. Eine solche Seite ist ein regulres
HTML-Dokument, das zu bestimmten Suchanfragen relevant erscheint. Es enthlt jedoch
ein meta-Element mit einer automatischen Weiterleitung zu einer anderen Seite, die einen
anderen Inhalt hat. Somit bekommt ein Nutzer die Doorway Seite eigentlich gar nicht zu
sehen sondern landet direkt auf der Weiterleitung. Da diese Weiterleitungen jedoch direkt
aus dem Code ersichtlich sind, kann dies von einer Suchmaschine sofort erkannt werden. Als
Gegenmanahme knnen Seiten mit Weiterleitung generell ignoriert werden, die Zielseite
indiziert werden oder zumindest ein inhaltlich-thematischer Abgleich zwischen den Seiten
vorgenommen werden.
Der dritte klassische Ansatz, der hier angesprochen wird ist Cloaking. Dabei bekommen
die Crawler der Suchmaschinen andere Ergebnisse angezeigt als die Browser Clients der
menschlichen Nutzer. Die Unterscheidung kann auf der Basis der IP-Adresse des Clients
oder des Eintrages im User-Agent Feld des HTTP-Requestheaders getroen werden. Je
nach Eintrag in diesem Feld liefert der Webserver andere Dokumente aus. Auch hier erhal-
ten Suchmaschinen wieder Seiten die Relevanz zu besonderen Suchbegrien suggerieren.
Zur Erkennung solcher Spamseiten kann eine Suchmaschinen Stichproben machen und die
gleiche Seite testweise von einer anderen IP aus und unter der Verwendung einer anderen
Angabe zum User-Agent anfordern. Sind die Versionen der Seiten zu unterschiedlich, so
deutet dies auf Cloaking hin.
143
8 Websuchmaschinen
Moderne Suchmaschinen verwerten auch das Geecht aus Hyperlinks um die Relevanz
oder Autoritt einer Quelle zu beurteilen. Nheres zu diesen Techniken folgt im nchsten
Kapitel. Vereinfacht gesagt ist es fr ein Webdokument dabei vorteilhaft, von mglichst
vielen anderen Dokumenten ber Hyperlinks referenziert zu werden. Daher gibt es inzwi-
schen auch sogenannten Link-Spam, beispielsweise das Einbauen unsichtbarer Hyperlinks
oder gar das Erzeugen von Webdokumenten die schlichtweg massiv auf andere Dokumente
verweisen (sog. Link Farmen).
8.4 Zusammenfassung
Websuchmaschinen haben im Vergleich zu klassischen IR Systemen einige zustzliche Her-
ausforderungen zu bewltigen, die nicht nur durch die deutlich greren Datenmengen
zustande kommen. Das Sammeln der Dokumente durch Web Crawler, die deutlich unsau-
bereren Daten in den Dokumenten und die breite Masse an Nutzern, die keine Ausbildung
als Informationssuchende haben, sowie die Spamproblematik sind einige der Aufgaben die
hier angesprochen wurden. Allerdings haben Websuchmaschinen Information Retrieval zu
einem alltglichem Thema gemacht und sowohl Forschung als auch Anwendung nachhaltig
beeinusst.
144
9 PageRank und HITS
Es wurde bereits mehrfach angesprochen, dass die Relevanz eines Webdokuments auch
ber die Hyperlinkstruktur des Webs beurteilt werden kann. Das Thema wurde bei den
statischen Qualittsmaen zur Optimierung von Anfragen im Vektorraummodell erwhnt
und in Kapitel 8 zu Websuchmaschinen unter dem Punkt Link-Spam.
Wir schauen uns nun zunchst an, wie das Web als Graph aufgefasst werden kann. Da-
nach werden zwei Algorithmen vorgestellt, die nahezu zeitgleich vorgestellt wurden und auf
hnlichen Ideen basieren: PageRank und HITS. PageRank drfte etwas bekannter sein, da
es der Algorithmus ist, der Googles Suchmaschine zugrunde liegt und dieser seinerzeit im
Vergleich zu anderen Suchmaschinen einen enormen Vorteil in der Qualitt der Ergebnisse
bescherte. Inzwischen drfte die Linkanalyse zum Standardrepertoire groer Websuchma-
schinen gehren.
9.1 Das Web als gerichteter Graph
Die Vorstellung das Web als Graph aufzufassen ist gar nicht so abwegig. Die Dokumente
stellen die Knoten des Graphen dar und die Hyperlinks zwischen den Dokumenten liefern
(gerichtete) Kanten zwischen den Knoten. Nimmt man die Ankertexte der Hyperlinks
hinzu, kann man die Kanten sogar mit einem Label versehen. Abbildung 9.1 zeigt eine
solche Graphdarstellung zweier Webseiten A und B, wobei A einen mit Die Seite B
beschrifteten Link zu B enthlt.
Abbildung 9.1: Graphdarstellung zweier Seiten die ber einen Hyperlink verbunden sind.
Die Beschriftung der Links kann fr IR-Systeme besonders interessant sein. Schlielich
handelt es sich dabei in gewissem Sinne um eine Verschlagwortung der Zielseite. Somit
knnen die Ankertexte oder sogar erweiterte Ankertexte (Umgebung um den Link herum)
mit in die Indexwrter des referenzierten Dokumentes aufgenommen werden.
Nehmen wir noch ein paar mehr Seiten hinzu, so wird der Graph etwas umfangreicher.
Fgen wir eine Seite D hinzu, die ebenfalls B referenziert und von A referenziert wird, sowie
eine Seite C, welche die drei anderen Dokumente referenziert aber selbst nicht verlinkt wird,
so sieht die Situation (unter Vernachlssigung der Labels) aus wie in Abbildung 9.2.
145
9 PageRank und HITS
Abbildung 9.2: Webgraph mit mehreren Seiten.
Interessante Eigenschaften der Knoten sind fr uns die Anzahl der ein- und ausgehenden
Kanten. Zu beachten ist dabei jedoch, dass wir im Web bei Betrachtung eines Dokumentes
direkt dessen Ausgangsgrad, nicht jedoch den Eingangsgrad angeben knnen. Zur Bestim-
mung der Anzahl eingehender Knoten mssen alle anderen Seiten dahingehend analysiert
werden, ob sie auf das fragliche Dokument verweisen.
Generell sind die Knoten im Web nur sehr dnn miteinander verbunden. Insbesondere
gibt es Teilbereiche die komplett vom Rest des Webs abgetrennt sind. Das Web ist also
nicht zusammenhngend. Auerdem gibt es Seiten die von keiner anderen Seite verlinkt
werden, sowie Knoten die auf keine anderen Dokumente verlinken (z.B. Dokumente, die
nicht im HTML-Format vorliegen). Dadurch entstehen in der Linkstruktur Sackgassen und
unerreichbare Knoten.
9.2 PageRank
Die Idee die hinter PageRank steckt ist folgende: Eine Seite, die hug verlinkt wird, muss
gute Inhalte bereitstellen. Weiterhin ist eine Seite, die von einer guten Seite verlinkt wird
ebenfalls tendentiell eher gut. Insbesondere der letzte Aspekt spielt dabei eine wichtige
Rolle, sonst wrde es gengen lediglich den Eingangsgrad einer Seite zu berechnen. Bezieht
man allerdings auch die Qualitt der Ursprungsseite eines Hyperlinks mit in die Bewertung
ein, wird das Ganze etwas schwieriger.
Larry Page und Sergej Brin, die Ernder des PageRank Algorithmus, bedienten sich
daher einer gedanklichen Hilfskonstruktion [BP98]. Man stelle sich einen Webnutzer vor,
der ziellos durch das Web surft. Dabei klickt dieser Random Surfer auf jeder Webseite
rein zufllig auf irgendeinen der darin enthaltenen Links um zur nchsten Seite zu gelangen.
Dabei kommt er frher oder spter auch mehrfach auf die gleiche Seite. Die Seiten, auf
denen er huger landet sind besser verlinkt als andere und somit nach obiger Vorstellung
qualitativ hochwertiger. Das Schne an diesem gedanklichen Experiment ist, dass sich die
Gte einer Seite auch auf die von dort aus verlinkten Seiten bertrgt. Denn wenn der
Random Surfer auf qualitativ hochwertigen Seiten huger landet, dann gelangt er durch
146
9.2 PageRank
die zufllige Auswahl eines beliebigen Hyperlinks auch relativ hug auf alle von dort aus
verlinkten Seiten.
Random Surfer
Gehen wir von einem Webgraph aus, wie er in Abbildung 9.3 dargestellt ist. Der
Graph enthlt acht Knoten fr die Seiten A bis H. Der Random Surfer soll auf Seite
A starten.
Abbildung 9.3: Ein etwas grerer Webgraph auf dem der Random Surfer zufllig Seiten
besucht.
Vom Knoten A aus whlt er zufllig den Link zu B aus. Dort gibt es nur einen
ausgehenden Link, so dass er bei G landet. Hier gibt es nun wieder Auswahl und er
nimmt den Link zurck nach B, so dass er danach direkt wieder in G landet. Nehmen
wir an, dass sein weiterer Pfad ihn ber die Knoten H, A, F, C, E, G, H, A, B und
G fhrt. Zhlt man nach diesen 15 besuchten Seiten durch, wie oft der Surfer welche
Seite besucht hat erhlt man folgende Zahlen:
A B C D E F G H
3 3 1 0 1 1 4 2
Bereits hier fllt auf, dass einige Seite deutlich huger besucht werden als andere.
Die Seiten A, B und G fallen hier auf. Allerdings ist das nach so wenigen Schritten
noch keine wirklich aussagekrftige Statistik.
Es gibt einige Probleme bei diesem Verfahren, die sich mit dem Random Surfer Modell
recht einfach erklren und auch in der Lsung anschaulich beschreiben lassen.
Das erste Problem sind Sackgassen, also Knoten im Webgraph, von denen aus es kein
Weiterkommen gibt. Im Beispielgraphen aus Abbildung 9.3 ist das fr den Knoten D
147
9 PageRank und HITS
der Fall. Von dort fhrt keine Kante zu einem anderen Knoten. Das knnen wie bereits
oben erwhnt einfach Knoten sein, die nicht einem HTML-Dokument entsprechen, sondern
einem Format, das keine Hyperlinks untersttzte, beispielsweise eine Bilddatei. Genauso
kommen aber auch HTML-Seiten in Frage, die schlicht keine Hyperlinks enthalten, etwa
eine Druckversion zu einem Artikel.
Landet der Random Surfer in einer solchen Sackgasse, so kann er nicht nach dem be-
whrten Muster weitersurfen. Den Ausweg, den sich Brin und Page hier ausgedacht haben,
ist der Teleport. Bei einem Teleport landet der Random Surfer zufllig auf irgendeiner Seite
des Webs. Anschaulich lsst sich das damit vergleichen, dass er eine URL in das Adressfeld
des Browsers eingibt. Damit gelangt er schlielich aus der Sackgasse heraus. Graphtheo-
retisch entspricht das dem Einfgen von Kanten vom Sackgassenknoten zu allen anderen
Knoten.
Das zweite Problem tritt in Graphen auf, die nicht zusammenhngend sind. Lsst sich der
Webgraph in zwei oder mehr Teile zerlegen, die nicht durch Kanten verbunden sind, so kann
der Random Surfer nie aus dem Teilbereich herauskommen, in dem er angefangen hat. Auch
hier helfen Teleports weiter. Bei jedem Schritt den der Random Surfer macht, gibt es eine
gewisse Wahrscheinlichkeit, mit der er einfach auf eine zufllige Seite springt und keinen der
Hyperlinks in der gerade betrachteten Seite verwendet. Diese jederzeit mglichen, zuflligen
Teleports helfen auch bei einem anderen Problem: wenn die Hyperlinks in einem Teilbereich
des Webgraphen in einen Kreislauf fhren
1
. Abbildung 9.4 zeigt eine sehr einfache Form
eines solchen Falles. Sobald der Random Surfer auf einen der drei roten Knoten gelangt,
bleibt er in diesem Teil des Graphen hngen, ohne dass er direkt eine Sackgasse erkennt.
Abbildung 9.4: ber Teleports kommt der Random Surfer auch aus Kreislufen heraus.
Da nun unterschiedliche Wahrscheinlichkeiten ins Spiel kommt, lsst sich dieses Konzept
der zuflligen Teleports nicht mehr ganz so einfach in den Webgraph integrieren. Stattdes-
sen lsst sich das Verhalten des Random Surfers nun aber sehr gut ber Markow-Ketten
modellieren.
Eine Markow-Kette besteht aus einer Menge von Zustnden, zwischen denen bergnge
stattnden knnen ganz hnlich dem Verhalten, mit dem sich unser Random Surfer von
1
Die Teleports lsen nicht alle Probleme die durch solche Kreislufe entstehen. Der Random Surfer
bleibt zwar nicht mehr in diesen Schleifen hngen, jedoch kommt es noch immer zu Verzerrungen der
PageRank Werte. Um auch dieses Problem in den Gri zu bekommen sind weitere Manahmen ntig.
148
9.2 PageRank
Seite zu Seite bewegt. Die bergnge sind mit Wahrscheinlichkeiten behaftet, das heit
die bergnge werden nicht alle gleich hug sondern gem einer Wahrscheinlichkeitsver-
teilung verfolgt.
Zur Darstellung einer Markow-Kette mit n Zustnden eignet sich eine quadratische nn
Matrix P. Der Eintrag p
ij
in dieser Matrix stellt darin die Wahrscheinlichkeit dar, von
Zustand i zu Zustand j berzugehen. Daraus leitet sich auch ab, dass diese Eintrge Werte
zwischen 0 und 1 haben und die Summe aller Eintrge in einer Zeile immer 1 ergeben muss.
Eine Matrix mit diesen Eigenschaften heit stochastische Matrix.
Die Eintrge in der Matrix, die das Verhalten des Random Surfers darstellen sollen,
lassen sich folgendermaen berechnen. Dazu bezeichne o(i) fr die i-te Webseite die Anzahl
der ausgehenden Hyperlinks zu anderen Seiten. Das entspricht in der Graphdarstellung der
Anzahl ausgehender Kanten. Insgesamt gehen wir von n Webseiten aus. Weiterhin brauchen
wir die Wahrscheinlichkeit, mit welcher der Random Surfer einen zuflligen Teleport macht,
also zu einer beliebigen anderen Seite springt. Wir bezeichnen diese Wahrscheinlichkeit mit
.
Ist die Seite i eine Sackgasse, gilt also o(i) = 0, so setzten wir alle Wert p
ij
auf
1
n
. Somit
ist die bergangswahrscheinlichkeit fr alle Seiten gleich und entspricht dem zuflligen
Teleport an eine andere Stelle des Web.
Ist die Seite keine Sackgasse, gilt also o(i) 1, so mssen wir zwischen per Hyperlink
referenzierten und nicht verlinkten Seiten unterscheiden. Das Ziel ist, alle verlinkten Sei-
ten mit gleicher Wahrscheinlichkeit anzusurfen, und den Rest zwar ebenfalls gleichmig
aber nur mit sehr geringer Wahrscheinlichkeit, abhngig von der Wahl von . Modelliert
man dieses Verhalten so, dass der Random Surfer zunchst mit Wahrscheinlichkeit die
Entscheidung trit, einen Teleport durchzufhren, so teilt sich diese Wahrscheinlichkeit
auf alle n Knoten auf. Mit Wahrscheinlichkeit (1 ) verwendet er jedoch einen regul-
ren Hyperlink, so dass sich diese Wahrscheinlichkeit dann auf die o(i) Knoten aufteilt, auf
die verwiesen wird. Damit erhlt man also fr Knoten, die nicht verlinkt sind eine ber-
gangswahrscheinlichkeit von

n
und fr die verlinkten Knoten eine Wahrscheinlichkeit von

n
+
(1)
o(i)
. Der erste Term in dieser Summe rhrt daher, dass der Random Surfer natrlich
auch zufllig auf eine verlinkte Seite springen knnte.
Matrix P zu einem Webgraph
Stellen wir die stochastische Matrix P fr den Graphen aus Abbildung 9.3 auf. Dabei
setzen wir den Parameter fr zufllige Teleports auf einen Wert von 0, 1. Wir num-
merieren die Knoten von A (Knoten 1) bis H (Knoten 8) durch. Knoten A verweist
auf drei andere Knoten. Somit ergibt sich fr die bergnge zu den Knoten B, D und
F eine bergangswahrscheinlichkeit von
0,1
8
+
0,9
3
= 0, 3125. Fr die anderen Knoten
ergibt sich eine bergangswahrscheinlichkeit von
0,1
8
= 0, 0125. Fr die Knoten B, C,
E, F, G und H werden die bergnge vllig analog berechnet. Knoten D hingegen hat
keine Kanten zu anderen Knoten. Daher werden fr diesen Knoten alle bergangs-
149
9 PageRank und HITS
wahrscheinlichkeiten auf
1
8
= 0, 125 gesetzt. Damit ergibt sich ingesamt eine Matrix
der Form:
P =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 0125 0, 3125 0, 0125 0, 3125 0, 0125 0, 3125 0, 0125 0, 0125
0, 0125 0, 0125 0, 0125 0, 0125 0, 0125 0, 0125 0, 9125 0, 0125
0, 1925 0, 1925 0, 0125 0, 1925 0, 1925 0, 0125 0, 1925 0, 0125
0, 1250 0, 1250 0, 1250 0, 1250 0, 1250 0, 1250 0, 1250 0, 1250
0, 0125 0, 0125 0, 0125 0, 0125 0, 0125 0, 4625 0, 0125 0, 4625
0, 0125 0, 0125 0, 4625 0, 4625 0, 0125 0, 0125 0, 0125 0, 0125
0, 0125 0, 4625 0, 0125 0, 0125 0, 0125 0, 0125 0, 0125 0, 4625
0, 3125 0, 0125 0, 3125 0, 0125 0, 0125 0, 0125 0, 3125 0, 0125
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Die Modellierung durch Markow-Ketten soll nun dabei helfen herauszunden, auf wel-
chen Seiten, bzw. Knoten der Random Surfer wie oft landet. Die Anpassungen durch das
Einfgen der Teleportationen haben dazu gefhrt, dass aus jedem Zustand heraus jeder
andere in endlich vielen Schritten mit einer Wahrscheinlichkeit grer 0 erreicht werden
kann. Damit erfllt die Markow-Kette die Voraussetzung, dass die Wahrscheinlichkeit des
Surfers in einem bestimmten Zustand zu sein gegen einen festen Wert konvergiert. Dieser
Wert entspricht dem zugehrigen Eintrag im linken Eigenvektor zum grten Eigenwert.
Fr den grten Eigenwert gilt auerdem, dass er einen Wert von 1 hat. Man kann diesen
Zusammenhang auch so ausdrcken, dass ber die Zeitschritte t hinweg fr die Anzahl der
Besuche v(i, t) im Zustand i gilt:
lim
t
v(i, t)
t
= (i)
Die Werte (i) stellen die Eintrge im Eigenvektor zum grten Eigenwert dar. Die
Berechnung der PageRank Werte luft also auf eine Eigenvektorberechnung hinaus. An-
statt einem linken Eigenvektor zu P knnen wir auch einen rechten Eigenvektor zu P
T
bestimmen, was zu den gleichen Ergebnissen fhrt.
Fr die Berechnung von Eigenwerten gibt es verschiedene Verfahren. Fr die PageRank-
Berechnung hat sich jedoch eines als besonders vorteilhaft erwiesen: die Potenzmethode
2
.
Dabei wird ein anfnglicher Vektor x mit zuflligen oder gleichen Eintrgen fr jeden
Wert solange wiederholt mit der transponierten Matrix P
T
multipliziert, bis die Werte
konvergieren. Das Ergebnis ist der Eigenvektor zum grten Eigenwert.
Der Nachteil der Potenzmethode liegt darin, dass sie verhltnismig langsam konver-
giert. Konvergenz ist jedoch gar nicht unbedingt ntig. Da die PageRank-Werte wie so
hug im IR nur fr das Ranking herangezogen werden, sind die tatschlichen Werte gar
2
Gelegentlich ndet sich auch der Ausdruck Powermethod, der aus der englischsprachigen Literatur
stammt.
150
9.2 PageRank
nicht so sehr von Interesse. Vielmehr gengt es die Reihenfolge der Seiten abzuschtzen.
Daher kann die Iteration der Potenzmethode bereits abgebrochen werden, wenn sich die
Reihenfolge der Seiten nicht mehr ndert.
Der groe Vorteil der Methode liegt jedoch in der Art der Berechnung. Letztendlich han-
delt es sich um die Multiplikation einer Matrix mit einem Vektor. Jeder einzelne Eintrag
im Ergebnisvektor einer Iteration berechnet sich aus dem Eingabevektor und einer Zeile
der Matrix. Diese Berechnung ist von der Berechnung aller anderen Eintrge unabhngig.
Damit eignet sich das Verfahren wunderbar fr eine Parallelisierung. Und da die einzelnen
Berechnungen letztendlich auf zwei Vektoren (Eingabevektor und ein Zeilenvektor) basie-
ren, ist es auerdem nicht ntig die komplette Matrix fr die Berechnung vorzuhalten.
Damit ergibt sich folgende Iterationsgleichung, in der P fr die stochastische Matrix
steht, die nach obigem Prinzip erstellt wird, und x
0
den initialen Vektor fr die Iteration
darstellt. Dieser kann fr n Knoten mit den Werten
1
n
in jedem Eintrag initialisiert werden:
x
k
= P
T
x
k1
Berechnung der PageRank-Werte
Fhren wir das obige Beispiel fort. Die Matrix P haben wir bereits berechnet. Die
Eintrge im Vektor x
0
fr die Berechnung der PageRank Werte setzen wir anfnglich
alle auf den gleichen Wert:
x
0
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 125
0, 125
0, 125
0, 125
0, 125
0, 125
0, 125
0, 125
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Dieser Vektor wird nun von rechts an die Matrix P
T
multipliziert. Nach dem ersten
Schritt erhlt man damit die Werte des Vektors x
2
:
x
1
= P
T
x
0
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 087
0, 143
0, 120
0, 143
0, 049
0, 120
0, 199
0, 139
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
151
9 PageRank und HITS
Fhrt man die Berechnung fort so werden die Werte schon nach elf Iterationsschritten
relativ stabil und man erhlt den Vektor:
x
11
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 089
0, 184
0, 102
0, 100
0, 042
0, 070
0, 255
0, 157
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Die PageRank-Wertung ergibt daher fr die Seiten folgende Reihenfolge:
G, B, H, C, D, A, F, E
In Abbildung 9.5 werden die PageRank-Werte direkt im Graphen ber Farbhelligkeit
und die Gre der Knoten ausgedrckt.
Abbildung 9.5: Webgraph mit Darstellung der PageRank-Werte ber Farbhelligkeit und
Knotengre.
Die PageRank-Bewertung einer Seite ist von einer konkreten Anfrage unabhngig. Da-
mit stellt sie ein statisches Qualittskriterium dar. Die Graphenstruktur des Webs ndert
sich zwar stndig, jedoch drfte ein Groteil der Hyperlinks auf kurze Sicht relativ stabil
sein. Daher muss man die PageRank-Berechnung nicht bei jeder neu entdeckten Kante
neu durchfhren. Stattdessen kann man die PageRank-Werte der Seiten in festen Abstn-
den bestimmen und beispielsweise wchentlich aktualisierte Zahlen fr das Ranking der
Suchergebnisse verwenden.
152
9.3 HITS
9.3 HITS
Der HITS Algorithmus [Kle98] wurde von Jon Kleinberg mehr oder weniger zeitgleich
zu PageRank entwickelt und vorgestellt. Die Abkrzung HITS steht fr hyperlink-induced
topic search und verdeutlicht, dass auch hier die Hyperlinkstruktur zwischen Dokumenten
fr einen Suche verwendet wird. Allerdings ist HITS nicht fr die Berechnung eines globalen
und statischen Qualittsmaes gedacht, sondern um die Ergebnisse zu einer konkreten
Suchanfrage qualitativ besser auswerten und ranken zu knnen.
Die Idee hinter HITS klingt auf den ersten Blick hnlich wie die Argumentation zu
PageRank: gute Seiten werden hug verlinkt und wenn gute Seiten eine andere Seite
verlinkt, dann ist das ebenfalls ein Ma fr Qualitt. Allerdings gilt eine Seite ebenfalls
als qualitativ besser, wenn sie auf gute andere Seiten verweist. Die Qualittsbewertung
einer Seite luft also in gewissem Sinne auch gegen die Kantenrichtung der Hyperlinks.
Um diesem Ansatz Rechnung zu tragen, wird die Qualitt der Seiten bei HITS etwas
dierenzierter betrachtet. Und zwar wird zwischen sogenannten Hubs und Authorities im
Web-Graphen unterschieden.
Authorities sind Knoten im Graph (bzw. Webseiten) die gute Inhalte bereitstellen. Hubs
hingegen sind Knoten, die auf gute Inhalte verweisen. Hubs und Authorities bedingen
sich gegenseitig, denn ein Knoten ist ein besserer Hub, wenn er auf bessere Authority-
Knoten verweist. Umgekehrt zhlen Knoten dann als gute Authorities, wenn sie durch gute
Hubs referenziert werden. Dieser Ringschluss kann glcklicherweise recht einfach aufgelst
werden, wie wir gleich sehen werden.
Um die Hubs und Authorities in einem Graphen ausndig zu machen, werden fr jeden
Knoten i zwei Werte berechnet: a(i) als dessen Authority-Wert und h(i) fr dessen Hub-
Wert. Die beiden Werte sind voneinander abhngig deniert. Der Authority-Wert eines
Knoten ergibt sich aus der Summe aller Hub-Werte jener Seiten, die auf ihn verweisen:
a(i)

ji
h(j)
Dabei wird ber alle Knoten j summiert, die auf i verweisen, was durch die Notation
j i dargestellt werden soll. Umgekehrt sind die Hub-Werte von den Authority-Werten
jener Knoten abhngig, die sie referenzieren. Hier ergibt sich die Denition:
h(i)

ji
a(j)
Man beachte, dass sich die Linkrichtung im Index der Summation gendert hat. Nun
wird ber alle Knoten j summiert, die von i verlinkt werden.
Da die Werte oensichtlich von der Linkstruktur im Webgraphen abhngen, mssen wir
auch diese wieder irgendwie modellieren. Dazu verwenden wir eine n n Adjazenzmatrix
M, in welcher der Eintrag m
ij
in Zeile i und Spalte j genau dann eine 1 enthlt, wenn vom
Knoten i eine Kante zum Knoten j verluft. Andernfalls ist der Eintrag Null. Die obigen
Berechnungen fr a(i) und h(i) lassen sich dann folgendermaen ausdrcken:
153
9 PageRank und HITS
a(i)
n

j=1
m
ji
h(j)
h(i)
n

j=1
m
ij
a(j)
Stellt man die Authority- und Hub-Werte als Vektoren a und

h dar, kann man deren
Berechnung ber die Matrix M ausdrcken. Dazu bentigt man M in seiner ursprnglichen
und in seiner transponierten Form M
T
. Bei der transponierten Matrix sind vereinfacht
gesagt Zeilen und Spalten vertauscht und das entspricht der unterschiedlichen Verwen-
dung von eingehenden und ausgehenden Links fr die Berechnung von Authorities und
Hubs. Fr die obigen Formeln ergibt sich damit:
a M
T

h M a
Setzt man nun die Berechnung fr den Vektor

h in die Berechnung von a ein und die
Berechnung von a in die Berechnung von

h, so kommt man zu folgender Aussage:
a(i) M
T
M a

h(i) M M
T

h
Damit lsst sich ein iteratives Verfahren ableiten, mit dem einer beiden Vektoren berech-
net werden kann. Die Werte des jeweils anderen Vektors lassen sich dann ber die obigen
Vorschriften in einem Schritt aus dem berechneten Vektor ableiten. Im folgenden bestim-
men wir die Authority-Werte zu den Seiten des Webgraphen, und knnen die Hub-Werte
dann ber

h = M a berechnen.
Fr die Berechnung von a initialisieren wir die Werte a(i) alle mit dem gleichen Wert.
Das soll ausdrcken, dass initial alle Knoten als gleichwertig angesehen werden. Diesen
Startvektor bezeichnen wir mit a
0
. Danach werden schrittweise neue Werte berechnet, fr
den k-ten Schritt ber:
a
k
= M
T
M a
k1
Diese Gleichung erinnert sehr stark an die Vorgehensweise beim PageRank-Verfahren.
Denn in der Mitte steht mit M
T
M letztendlich wieder ein Matrix, so dass das Vorgehen
wie bei der Potenzmethode zur Bestimmung der PageRank-Werte abluft. Allerdings gibt
es hierbei einen Unterschied: M
T
M ist keine stochastische Matrix mit den gleichen Ei-
genschaften wie P. Daher ist nicht garantiert, dass der grte Eigenwert 1 ist und somit
ist auch nicht gesagt, dass das Verfahren gegen einen festen Vektor konvergiert.
154
9.3 HITS
Die Potenzmethode an sich ist jedoch auch fr diesen Fall geeignet, es wird im Vergleich
zu oben lediglich ein weiterer Schritt hinzugefgt: die Lngennormalisierung des Vektors.
Das bedeutet, dass durch die Matrixmultiplikation aus a
k1
nicht direkt a
k
berechnet wird,
sondern ein Zwischenschritt (hier mit a

k
bezeichnet) eingefhrt wird:
a

k
= M
T
M a
k1
a
k
=
1
[a

k
[
a

k
Damit hat der Vektor a immer die Lnge 1 und das Verfahren konvergiert gegen den
Einheitseigenvektor zum grten Eigenwert.
Berechnung der Authority- und Hub-Werte
Wir verwenden wieder den relativ berschaubaren Graphen aus Abbildung 9.3, der
bereits zur Berechnung von PageRank-Werten herhalten musste. Zunchst erstellen
wir die Adjazenzmatrix M, die folgende Form hat:
M =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0 1 0 1 0 1 0 0
0 0 0 0 0 0 1 0
1 1 0 1 1 0 1 0
0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 1
0 0 1 1 0 0 0 0
0 1 0 0 0 0 0 1
1 0 1 0 0 0 1 0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Wir berechnen nun iterativ die Authority-Werte, aus denen wir dann die Hub-Werte
ableiten knnen. Fr die Iteration bentigen wir die Matrix M
T
M, die wir einmal
vorausberechnen knnen. Multipliziert man die transponierte Fassung von M mit M
selbst, so erhlt man:
M
T
M =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
2 1 1 1 1 0 2 0
1 3 0 2 1 1 1 1
1 0 2 1 0 0 1 0
1 2 1 3 1 1 1 0
1 1 0 1 1 0 1 0
0 1 0 1 0 2 0 1
2 1 1 1 1 0 3 0
0 1 0 0 0 1 0 2
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Den Vektor a

0
initialisieren wir mit Eintrgen vom Wert 1, die dann durch die Ln-
gennormalisierung zum Wert 0, 354 werden. Der Vektor a
0
hat damit also die Form:
155
9 PageRank und HITS
a
0
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 354
0, 354
0, 354
0, 354
0, 354
0, 354
0, 354
0, 354
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Nach der Multiplikation mit M
T
M ergibt sich daraus:
a

1
= M
T
M a
0
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
2, 83
3, 54
1, 77
3, 54
1, 77
1, 77
3, 18
1, 41
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Dieser Vektor hat ein Lnge von 7,38, und nach der Normalisierung ergibt sich somit
der Vektor a
1
mit den Authority-Werten nach dem ersten Iterationsschritt:
a
1
=
1
[a

1
[
a

1
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 383
0, 479
0, 239
0, 479
0, 239
0, 239
0, 431
0, 192
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Bereits im zehnten Iterationsschritt sind die berechneten Werte relativ stabil. Man
erhlt folgenden Vektor fr die Authority-Werte der Seiten:
a
10
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 395
0, 480
0, 224
0, 496
0, 261
0, 182
0, 452
0, 111
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Somit werden die Seiten bezglich ihrer Autoritt folgendermaen angeordnet:
156
9.3 HITS
D, B, G, A, E, C, F, H
Stellt man diese Werte wieder im Graphen durch Knotengre und Farbhelligkeit dar
ergibt sich der Graph in Abbildung 9.6.
Abbildung 9.6: Webgraph mit Darstellung der HITS Authority-Werte ber Farbhelligkeit
und Knotengre.
Aus diesem Ergebnis heraus lassen sich nun in einem Schritt die passenden Hub-
Werte zu den Knoten berechnen. Dazu gengt es wie bereits erwhnt den Vektor
der Authority-Werte von rechts an die Adjazenzmatrix M heranzumultiplizieren und
nach einer Lngennormalisierung erhlt man :

h =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 410
0, 160
0, 737
0
0, 103
0, 255
0, 209
0, 379
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Es fllt auf, dass der vierte Eintrag also der zu Knoten D gehrige einen Hub-Wert
von 0 erhlt. Das ist jedoch anschaulich klar: D enthlt keine ausgehenden Kanten
und kann somit nicht auf gute Seiten verweisen. In der formalen Berechnung luft
die Summe zur Rckrechnung der Authority-Werte auf die Hubs somit ber die leere
157
9 PageRank und HITS
Abbildung 9.7: Webgraph mit Darstellung der HITS Hub-Werte ber Farbhelligkeit und
Knotengre.
Menge. Entsprechend wird der Knoten D in der Graphdarstellung in Abbildung 9.7
nur durch einen Punkt reprsentiert.
Es wurde bereits angesprochen, dass HITS nicht fr globale Qualittskriterien entwi-
ckelt wurde, sondern suchspezisch angewendet wird. Eine Begrndung dafr kann sein,
dass eine Seite nicht bezglich jedes Informationsbedrfnisses als Autoritt gelten drfte.
Auerdem wre es denkbar, dass es Seiten gibt, die im Zusammenhang mit einer Suchan-
frage als Hub in Zusammenhang mit einer anderen Suchanfrage als Autoritt auftreten.
Das wre beispielsweise dann der Fall, wenn eine Website sich inhaltlich mit dem Thema
Webdesign beschftigt und in diesem Zusammenhang viele Tools verlinkt. Dann wre sie
bezglich der Anfrage Webdesign eher eine Autoritt, bezglich der Anfrage HTML
Editoren eher ein Hub.
Es stellt sich also die Frage, wie HITS suchspezisch angewendet wird. Die Vorgehenswei-
se ist so, dass zunchst ber die Suchterme eine Ergebnismenge von Dokumenten bestimmt
wird. Das kann ber eines der klassischen IR-Modelle geschehen. Ein Ranking muss an die-
ser Stelle noch nicht vorliegen. Diese Menge der Dokumente wird als root set bezeichnet,
stellt also eine Startmenge dar. Unter Verwendung des Webgraphen werden nun alle Do-
kumente bestimmt, die einen Link zu einem Dokument in der root set enthalten, oder
aus dieser heraus selbst verlinkt werden. Abbildung 9.8 verdeutlicht, wie zur Startmenge
weitere Dokumente hinzugenommen werden.
Auf dieser erweiterten Menge von Dokumenten sowie den Links zwischen diesen Knoten
werden nun die Hub- und Authority-Werte berechnet. Durch den Aufbau der Menge aus-
gehend von einer Ergebnismenge zu einer Suchanfrage, kann davon ausgegangen werden,
dass alle Dokumente sich mehr oder weniger mit dem gleichen Thema beschftigen und
somit suchspezisch sind.
158
9.4 Zusammenfassung
Abbildung 9.8: Fr HITS wird eine Startmenge mit Dokumenten (gelb) um alle Dokumente
erweitert die diese referenzieren (blau) oder von diesen referenziert werden
(orange).
Dass die Menge berhaupt erweitert wird hat einige anschauliche Grnde. Zum einen
knnen damit auch inhaltlich relevante Seiten erfasst werden, die keinen der Suchbegrie
selbst enthalten. Das entspricht einer hnlichen Idee wie die Aufnahme der Ankertexte
in die Dokumentbeschreibung, nmlich dass die Hyperlinks eine inhaltliche Verwandtheit
der Dokumente ausdrcken. Hat man in der Startmenge eine Seite mit hohem Authority-
Wert, so bekommt man ber die eingehenden Links gute Hubs mit in die Dokumentemenge.
Hat man einen guten Hub, so ndet man ber die ausgehenden Links aus der Startmenge
gute Authorities. In gewissem Umfang knnen ber dieses Verfahren sogar Sprachbarrieren
berwunden werden, beispielsweise wenn eine deutsche Webseite auf englische Quellen
verweist.
Die Erweiterung der Startmenge birgt jedoch auch Risiken. Wenn eine Seite Inhalte zu
mehreren Themengebieten bereitstellt, dann knnen auch nicht relevante Seiten aufgenom-
men werden. Handelt es sich dabei um gute Hubs, so knnen die nicht relevanten Seiten
sogar hohe Authority-Werte erzielen, obwohl sie berhaupt nicht zur Suchanfrage passen.
Diese Phnomen wird als topic drift bezeichnet.
9.4 Zusammenfassung
Die Mglichkeit die Dokumente im Web und deren Hyperlinks als Graph darzustellen er-
net neue Perspektiven fr die Websuche. Bereits die Option Terme aus den Ankertexten
oder Fenstern um die Ankertexte herum zur Indizierung der verlinkten Dokumente zu
verwenden erlaubt teilweise eine bessere und treendere Beschreibung von Webseiten.
159
9 PageRank und HITS
Durch die Linkanalyse knnen vllig andere Aspekte der Seiten ermittelt werden. Das
PageRank-Verfahren erlaubt es, statische Qualittsaussagen zu treen. Dazu wird anschau-
lich gesagt die relative Hugkeit ermittelt, mit der ein Random Surfer auf den einzelnen
Seiten landet. Der HITS Algorithmus wurde entwickelt, um nachgelagert nach einer regu-
lren Suche ein Ranking fr die Ergebnisseiten zu berechnen. Dazu werden Authority- und
Hubknoten im Webgraph ermittelt, die entweder gute Inhalte bereitstellen oder auf solche
verweisen.
160
10 Nutzerinteraktion
Wir haben uns bisher hauptschlich mit den eher technischen Aspekten der IR Systeme be-
schftigt. Die Schnittstelle zum Nutzer ist allerdings ebenso wichtig und soll nun ein wenig
nher beleuchtet werden. Gerade die zunehmende Nutzung von IR Systemen durch Ama-
teure fhrt dabei zu besonderen Herausforderungen. Die Schnittstellen mssen wesentlich
intuitiver und einfacher sein, da die Nutzer in den meisten Fllen keine professionelle Aus-
bildung in der Informationssuche mitbringen oder gar eine Schulung am eingesetzten IR
System erfahren haben.
In diesem Kapitel werfen wir zunchst einen Blick auf die Modellierung des Suchvorgan-
ges selbst, um danach die Aktionen und Aktionstypen whrend der Suche nher analysieren
zu knnen. Auch die Untersttzungsmglichkeiten durch ein IR System werden klassiziert
und feiner unterschieden, bevor wir am Ende einige Beispiele zu Nutzerschnittstellen sehen,
die in der Praxis Anwendung nden oder in der Forschung untersucht werden.
10.1 Modellierung des Suchvorgangs
Um die Interaktion mit dem Nutzer zu verstehen und verbessern zu knnen kann man sich
zunchst mit dem Suchvorgang selbst beschftigen. Das heit, dass man nher untersuchen
mchte, wie die Nutzer suchen und auf welchen Wegen sie ein Informationsbedrfnis zu
befriedigen versuchen.
Der einfachste Ansatz zur Modellierung des Suchvorganges entspricht dem Ablauf, wie
er in vielen aus dem Web bekannten Suchmaschinen umgesetzt ist. Der Nutzer wird sich
zunchst bewusst, dass ihm eine Information fehlt. Daraufhin formuliert er eine Anfrage
und sendet diese an das IR System. Er erhlt die Liste mit Ergebnisdokumenten, wertet
diese aus und steht dann vor der Frage, ob er die bentigten Informationen erhalten hat.
Ist dies der Fall, so ist die Suche zu Ende. Ist das Informationsbedrfnis nicht befriedigt, so
muss er die Anfrage umformulieren oder gar komplett neu formulieren, um sein Informati-
onsbedrfnis (hoentlich) besser zu beschreiben und somit bessere Ergebnisse zu erhalten.
Dieser Ablauf ist in Abbildung 10.1 als Flussdiagramm dargestellt.
Dieser relativ einfache Ablauf wird von den meisten Suchsystemen abgebildet. Im Prinzip
beschrnkt sich die Interaktion auf die Formulierung von Anfragen und das Ausgeben
der Ergebnisliste. Eventuell kann ein Relevancefeedback zur Umformulierung der Anfrage
verwendet werden, da damit das Informationsbedrfnis besser beschrieben wird. Wichtig
dabei ist jedoch die grundlegende Annahme, dass das Informationsbedrfnis selbst fest
bleibt.
161
10 Nutzerinteraktion
Abbildung 10.1: Flussdiagramm fr ein einfaches Suchmodell des Nutzers.
Daher beschftigt sich IR vereinfacht gesagt mit zwei Abstraktionsebenen und einem
Matching. Zum einen abstrahiert ein IR System Dokumente zu einer Dokumentendar-
stellung, zum anderen abstrahiert der Nutzer sein Informationsbedrfnis zu einer Anfrage.
Zwischen diesen beiden Darstellungen wird dann wie in Abbildung 10.2 veranschaulicht ein
Matching berechnet. Eine Verbesserung der Suchleistung kann an einer geeigneteren Doku-
mentendarstellung, einer besseren Matchingfunktion oder eine treenderen Beschreibung
des Informationsbedrfnisses ansetzen. Da die ersten beiden Punkte in einem produktiven
System mehr oder weniger x sind, kann der Nutzer in diesem Modell seinen Sucherfolg
nur dadurch beeinussen, dass er sein Informationsbedrfnis besser beschreibt.
Abbildung 10.2: Matching der Abstraktion von Dokument und Anfrage in IR Systemen.
Das Informationsbedrfnis bleibt fest (aus [Bat89]).
Beobachten wir jedoch einen menschlichen Nutzer bei der Suche, so lassen sich viele Ak-
tionen und Verhaltensweisen mit diesem einfachen Modell nicht abbilden. So knnen sich
whrend der Suche weitere Fragestellungen ergeben, die anderer Informationen bedrfen.
Will der Nutzer beispielsweise wissen was das Binary Independence Model im probabilis-
162
10.1 Modellierung des Suchvorgangs
tischen IR ist, so muss er zwischenzeitlich eventuell recherchieren, was der Satz von Bayes
aussagt.
Ein anderer Grund fr eine nicht-lineare Suche kann das sein, was Belkin [Bel82] als
anomalous states of knowledge (ASK) bezeichnet. Diese Anomalien im Wissenszustand
eines Menschen treten auf, wenn ihm Informationen fehlen um eine Aufgabe oder ein Pro-
blem zu lsen. Damit lsen ASKs letztendlich die Informationsbedrfnisse aus. Hug fllt
es aber schwer das Informationsbedrfnis klar zu beschreiben. Das kann einfach daran
liegen, dass dem Menschen (oder Nutzer eines IR-Systems) schlicht weitergehende Infor-
mationen fehlen, um sein Informationsbedrfnis klar zu erfassen. Belkin argumentiert, dass
es in diesen Fllen eventuell ntzlich wre, wenn ein Nutzer nicht sein Informationsbedrf-
nis, sondern den ASK beschreibt wie so etwas praktisch umzusetzen ist, bleibt jedoch
oen.
Anschaulich kann dies aber mit einem Suchverhalten des Nutzers verglichen werden,
bei dem er sich der eigentlichen Fragestellung nur langsam nhert. Whrend die Anfragen
an ein IR System zunchst eher grob und thematisch breit sind, kann er damit seine
Wissenslcken vielleicht verkleinern und erhlt Hinweise darauf, welche Informationen er
zur Problemlsung genau bentigt. All dies luft im Endeekt jedoch darauf hinaus, dass
die Annahme vieler IR System nicht zutrit, dass der Nutzer sein Informationsbedrfnis
kenne und das Problem primr in der Art und Weise liege, es verstndlich auszudrcken.
Ein ganz anderer Punkt ist, dass die Entwicklung hin zur Recherche in Online- und
Hypertextsystemen zu neuen Interaktionsmglichkeiten des Nutzers whrend seiner Suche
nach Informationen fhrt. So kann er ber Hyperlinks die Suchanwendung verlassen, in
verlinkten Dokumenten navigieren und danach wieder zu Suchmaschine zurckkehren. All
diese Aktionen gehren im eigentlichen Sinne mit zur Suche, knnten also auch im Rah-
men des Suchsystems ablaufen und erfasst werden. Die Nebenlugkeit von Prozessen in
Computerprogrammen ermglicht weiterhin dass parallele Verfolgen mehrere Suchen. Im
einfachsten Fall kann dies mit mehreren Browserfenstern
1
geschehen, wobei in jedem eine
eigene Suche luft, zwischen denen die Nutzer hin- und herschalten.
Ein Modellansatz, der unter anderem auch diese (Irr-)Wege whrend der Informations-
suche zu beschreiben versucht ist das Berrypicking Modell von Marcia J. Bates [Bat89].
Bates setzt an der Annahme an, dass im klassischen und einfachen Modell aus Abbildung
10.1 von einem konstanten Informationsbedrfnis ausgegangen wird. Wie wir aber bereits
gesehen haben, ist das Informationsbedrfnis in vielen Fllen nicht x. Es zerfllt in meh-
rere Teilaspekte und entwickelt sich mit der Zeit, da der Nutzer neue Informationen und
Erkenntnisse in das Weiterverfolgen seiner Suche mit einbezieht.
Im Berrypicking Modell wird dem Rechnung getragen. Vergleichbar mit einem Beeren-
sammler im Wald greift der Nutzer hier und da einige Dokumente, Inhaltsschnipsel und
Informationen auf, die dazu fhren, dass sich sein Informationsbedrfnis mit der Zeit n-
dert, dementsprechend passt er auch seine Anfragen an. In Abbildung 10.3 ist eine visuelle
Darstellung eines solchen Suchprozesses zu sehen.
1
Oder in modernen Browsern ber tabbed browsing: der Darstellung mehrerer Seiten gleichzeitig in
Karteireitern.
163
10 Nutzerinteraktion
Abbildung 10.3: Ein Suchpfad im Berrypicking Modell.
Die blauen Kstchen Q
0
bis Q
5
stehen fr Anfragen die der Nutzer an ein IR System
stellt. Aus den Ergebnislisten zu den Anfragen zieht er einige Dokumente oder Informa-
tionsschnipsel heraus. Die grnen, mit einem T gekennzeichneten Kreise stehen fr Ge-
danken, Einflle oder Erkenntnisse des Nutzers, welche die Suche beeinussen oder in eine
andere Richtung lenken knnen. Diese Richtungswechsel und nderungen in der Suche wer-
den durch den verschlungenen Weg durch das Interessensgebiet verdeutlicht. Bates bettete
diese Darstellung zustzlich in ein viel greres Universum an Wissen ein. Wichtig beim
Berrypicking ist, dass die unterschiedlichen Anfragen nicht nur andere Ausdrcke oder
Darstellungen des gleichen Informationsbedrfnisses sind, sondern die Entwicklung dieses
Informationsbedrfnisses beinhalten. Ebenso ist nicht die Dokumentsammlung am Ende
des Prozesses das eigentliche Ziel, sondern der kumulative Informationsgewinn ber den
Suchverlauf hinweg.
Bates nennt einige Beispiele aus typischen (manuellen) Suchvorgngen im wissenschaft-
lichen Kontext, die sich sogar in ihrer Kombination ber Berrypicking ausdrcken lassen.
Dazu gehrt das Verfolgen von Funoten oder Zitaten in Dokumenten, das berwachen
von regelmig verentlichten Journalen, das Durchstbern inhaltlich verwandter Litera-
tur (z.B. ber rtliche Nhe bei thematischer Aufstellung in einer Bibliothek), der Einsatz
klassischer IR Systeme oder die Suche nach Autoren. Oensichtlich kann eine dieser Such-
strategien eine andere anstoen, beispielsweise wenn eine Suche in einem IR-System ein
relevantes Dokument hervorgebracht hat, man dann das zugehrige Journal nach anderen
interessanten Beitrgen durchforstet oder weitere Schriften des gleichen Autors sucht.
Ein weiterer bemerkenswerter Punkt am Berrypicking Modell ist, dass es in gewissem
Umfang auch Nutzeraktion erfasst, die nicht direkt mit dem Suchsystem zu tun haben. Die
mit T bezeichneten Punkte beschreiben schlielich Vorgnge, die im Nutzer selbst ablau-
164
10.2 Interaktionsformen
fen. Das kann auch eine Vielzahl an Aktivitten umfassen, beispielsweise die Evaluation,
Interpretation oder Zusammenfassung von Dokumenten, das Erkennen von Trends, das
Ziehen von Vergleichen oder das Ausmachen von interessanten Teilgebieten. Aus diesem
Grund wird der Prozess des Informationssuche gelegentlich in Suche und Retrieval auf der
einen Seite und Analyse und Synthese auf der anderen Seite unterteilt.
10.2 Interaktionsformen
Nach den soeben betrachteten Modellierungen des Suchvorganges, wollen wir nun zu den
Interaktionen zwischen Nutzer und System kommen. Zunchst sollen hier die unterschied-
lichen Ebenen der Nutzeraktionen beschrieben werden. Dabei orientieren wir uns an der
Unterscheidung in [Bat90], welche zwischen Moves (Zgen), Tactics, Stratagems und Stra-
tegies unterscheidet.
Die Moves stellen dabei die unterste Ebene dar. Sie entsprechen der kleinsten, mglichen
Einheit, sozusagen den elementaren Aktionen. Es bleibt ein wenig oen, wie elementar sol-
che Aktionen aufgefasst werden sollen. So kann die Eingabe einer Anfrage insgesamt als
Move aufgefasst werden, oder bereits die Eingabe eines einzelnen Suchterms oder Opera-
tors. Auch das Verfolgen eines Hyperlinks knnte ein Move sein, ebenso wie das beriegen
eines Dokumentes, um ein Schlsselwort auszumachen.
Die Taktiken knnen aus einem oder mehreren Moves bestehen und beschreiben Ver-
haltensweisen, mit denen der Suchprozess qualitativ verbessert oder verschnellert werden
kann. Sie beinhalten eine gewisse Planung und Voraussicht, bzw. die gezielte Reaktion auf
ein Ereignis oder Problem. So kann eine Taktik sein, die Suche auf ein allgemeineres Thema
zu erweitern, wenn zu wenig Treer gefunden werden, oder das Ersetzen von Termen durch
Synonyme um alternative Dokumente ausndig zu machen. Auch das Verfolgen mehrerer
paralleler Suchen kann eine Taktik sein.
Stratageme kombinieren mehrere Taktiken und Moves um eine Informationsdomne bes-
ser zu erschlieen oder deren Strukturen auszunutzen. Das knnen Aktionen wie das bereits
oben erwhnte Durchstbern eines Journals, das Verfolgen von Zitaten und Funoten oder
die Suche nach bestimmten Autoren sein. Stratageme sind komplexer als Taktiken, da sie
hug aus Wiederholungen der gleichen Aktionen bestehen. Stratageme grenzen sich von
Strategien durch ihre Beschrnkung auf eine Informationsdomne ab.
Die Strategie schlielich umfasst die komplette Suche. Dabei werden Moves, Taktiken
und Stratageme verwendet, kombiniert und aneinandergereiht um das eigentlich Ziel einer
Informationssuche zu erfllen. So knnte der Aufgabe sich mit einem neuen Thema ver-
traut zu machen mit der Strategie begegnet werden, sich zunchst in der Wikipedia einen
passenden Eintrag zu suchen, dort die Verweise zu Quellen zu verfolgen, nach wichtigen
verwandten Begrien im Web zu suchen, eventuell sich in ein bergeordnetes Thema einzu-
lesen oder Teilfelder zu identizieren oder inhaltliche Literatur in der Bibliothek ausndig
zu machen.
165
10 Nutzerinteraktion
Jede Ebene stellt eine Art der Nutzeraktion dar, auch wenn sich letztendlich alles auf
die elementaren Moves und Kombinationen dieser Moves abbilden lsst. Wichtig dabei
ist, dass eine Abfolge von Moves deutlich mehr sein kann als lediglich die Summe der
Einzelaktionen.
Im heutzutage sehr wichtigen Umfeld des Webs knnen bestimmte Bewegungstypen der
Nutzer unterschieden werden. Beim Browsing folgt der Nutzer den Hyperlinks zwischen
den Dokumenten. Er verfolgt dabei inhaltliche Links, die ihn zu ganz anderen Informati-
onsquellen bringen knnen. Die Motivation ist eher spontan und aus dem Kontext heraus.
Sehr hnlich ist die Navigation, bei welcher der Nutzer ein vordenierte Struktur innerhalb
einer Informationsquelle nutzt, um zielgerichtet zu einem bestimmten Dokument oder The-
menbereich zu gelangen. Anschaulich knnte zwischen Browsing und Navigation durch die
Verwendung von Navigationsmens oder von dokumentinternen Hyperlinks unterschieden
werden. Verwendet der Nutzer ein Suchsystem, das er mit eine Anfrage fttert, so spricht
man von Querying. Das umfasst die klassischen Interaktionen mit einem IR System, kann
allerdings auch alternative Formen annehmen. Schlielich wird auch hug noch Scanning
als typische Aktivitt im Web aufgefhrt. Als Scanning wird das beriegen eines Web-
Dokumentes bezeichnet
2
, bei dem der Nutzer nur einige wenige Aspekte aufnimmt und
wenige Stichpunkte hier und dort liest. Ziel des Scannings ist die Entscheidung, ob ein
Dokument interessant sein knnte. Ein weiterer Schritt kann dann je nach getroener Ent-
scheidung das Verwerfen oder das eingehendere Lesen des Dokumentes sein. Auch Ideen
fr eine neue Suchanfrage oder das Aufspren von Hyperlinks zu potenziell interessanten
Dokumenten kann als Ergebnis aus dem Scannen eines Dokumentes hervorgehen.
Fr die konkrete Interaktion mit dem System gibt es aus eher technischer Sicht andere
Punkt die betrachtet werden sollten. Dazu gehren natrlich allgemeine Grundlagen der
Gestaltung von Nutzerschnittstellen.
Ein solcher Punkt ist, dass dem Nutzer informatives Feedback zu seinen Aktionen gege-
ben werden sollte. Das beinhaltet beispielsweise solche Dinge wie Statusmeldungen, wenn
eine Anfrage lngere Zeit fr die Ausfhrung bentigt. Spezischer fr IR Systeme ist
die Angabe von Hinweisen, wieso ein Dokument in die Ergebnisliste aufgenommen wurde.
Websuchmaschinen bieten dazu Dokumentausschnitte an, um die Suchbegrie im Doku-
mentkontext darzustellen. Diese keywords in context (KWIC) helfen dem Nutzer abzu-
schtzen, ob der Begri im richtigen, intendierten Zusammenhang gebraucht wird, bzw. ob
er zum Hauptthema im Dokument gehrt.
Auch die Mglichkeit Aktionen rckgngig machen zu knnen gilt als ein zentraler Punkt
in der Nutzerfreundlichkeit einer Schnittstelle. Bei einem IR System kann dies bedeuten,
zur letzten Anfrage und Ergebnismenge zurckschalten zu knnen oder im Relevance Feed-
back zuvor verworfene Dokument wieder zu bercksichtigen.
Die Zwischenspeicherung von Ergebnissen untersttzt den Nutzer gleichzeitig auch dabei,
sich nicht alles merken zu mssen. Er kann abgebrochene Suchvorgnge spter an gleicher
Stelle wieder fortsetzen und braucht keine Angst zu haben in Sackgassen zu laufen.
2
Natrlich knnen auch viele andere Medien inhaltlich berogen werden, im Web spielt Scanning aller-
dings eine besondere Rolle.
166
10.2 Interaktionsformen
Da nicht alle Nutzer gleich sind, sollte die Schnittstelle personalisierbar sein. Das kann
bereits durch unterschiedliche Versionen fr neue Nutzer und Experten des Systems rea-
lisiert werden. Neulinge werden von vielen Optionen oft berfordert, da sie die genaue
Funktionsweise und damit deren eventuelle Auswirkungen nicht einschtzen knnen. Die
Abbildungen 10.4 und 10.5 zeigen, wie bei Google zwischen der Standardbenutzerschnitt-
stelle und einem Suchformular mit mehr Optionen unterschieden wird. Das Umschalten
erfolgt ber einen Link neben dem Eingabefeld in der Standardsuchmaske.
Abbildung 10.4: Die Standardbenutzerschnittstelle bei Google.
Die Unterscheidung zwischen neuen und erfahreneren Nutzern kann selbstverstndlich
auch viel feiner und ber mehrere Schritte verlaufen. Denkbar ist ebenfalls, dass verschie-
dene Einstellungs- und Interaktionsmglichkeiten einzeln nach Bedarf und Wunsch ein-
und ausgeblendet werden knnen.
In der Darstellung der Ergebnisse also gewissermaen der Visualisierung der Infor-
mationen gibt es ebenfalls weitere Anstze als das simple Auisten. Dokumente knnen
beispielsweise nach Medientyp oder inhaltlicher Nhe gruppiert
3
werden. Je nach Umfang
der Ergebnismenge ist es auch wichtig, dem Nutzer Mglichkeiten zur Verfgung zu stellen,
um die Ergebnisse geeignet zu durchstbern. Das Portionieren in kleinere Hppchen, die
schrittweise angeschaut werden knnen oder ein Herein- und Herauszoomen in die Ergeb-
nismenge wird als Panning und Zooming bezeichnet. Ebenso ist statt des Zooming eine
Lupenfunktion denkbar, welche einzelne Treer und deren direkt benachbarter Kontext
darstellt. Gibt es verschiedene Darstellungsmglichkeiten der Ergebnisse, so knnen diese
auch kombiniert werden um bestimmte Aspekte der Dokumente gleichzeitig darzustellen.
Wirken sich nderungen in einer Darstellung auf die anderen aus, so spricht man von
Brushing und Linking.
3
Wie Dokumente inhaltlich gruppiert werden knnen ist ein Thema fr sich, auf das an dieser Stelle nicht
nher eingegangen werden soll.
167
10 Nutzerinteraktion
Abbildung 10.5: Experten und erfahrene Nutzer knnen weitere Parameter einstellen.
10.3 Ebenen der Untersttzung
Nachdem nun der Vorgang der Suche und die Ebenen und Mglichkeiten der Interakti-
on nher beleuchtet wurden, stellt sich die Frage, wie ein System den Nutzer dabei un-
tersttzen kann. In [Bat90] werden neben unterschiedlichen Ebenen der Aktionen auch
unterschiedliche Ebenen der Systemuntersttzung unterschieden. Die Ebenen sind von Le-
vel 0 bis 4 durchnummeriert und knnen bezglich jeder Aktion oder Aktionsebene als
Untersttzungsmglichkeit angesehen werden.
Level 0 entspricht keinerlei Untersttzung durch das System. Das bedeutet, der Nutzer
muss entsprechende Aktionen manuell und auerhalb des Systems durchfhren. In Level
1 kann das System auf gewisse Aktionen hinweisen oder diese schlicht auisten, ohne sie
zwangsweise selbst automatisch zu untersttzen. So kann das System eventuell auf eine
fehlerhafte Schreibweise der Suchterme hinweisen (da wenige Treer gefunden wurden),
ohne dass eine Korrektur vom System vorgeschlagen oder durchgefhrt werden knnte.
Das Durchfhren von Aktionen auf Anweisung des Nutzers hin entspricht dann Level 2.
Fhrt man obiges Beispiel fort, so entsprche dies einem Korrekturvorschlag durch das Sys-
tem, den der Nutzer dann bernehmen kann. In Level 3 der Untersttzung ist dann etwas
mehr Cleverness ntig. Hier soll das System den Suchprozess berwachen und analysieren
und Aktionen vorschlagen. Dabei wird unterschieden, ob der Nutzer die Vorschlge explizit
168
10.3 Ebenen der Untersttzung
anfordern muss (Level 3a) oder ob das System von sich aus Vorschlge unterbreitet, sobald
es einen Bedarf erkennt (Level 3b). Als Beispiel liee sich hier eventuell anfhren, dass das
System erkennen knnte, wenn der Nutzer immer mehrere Ergebnisseiten durchblttert
und ihn darauf hinweist, dass er die Anzahl der angezeigten Dokumente erhhen knnte.
Etwas anspruchsvoller wre das Erkennen eines thematischen Zusammenhangs zwischen
mehreren Suchanfragen und der Ableitung weiterer themenspezischer Suchterme. In Le-
vel 4 wird das System dann selbststndig aktiv. Auch hier gibt es zwei Feinabstufungen,
nmlich dass das System den Nutzer ber seine Aktionen informiert (Level 4a) oder dass
es die Aktionen ohne weiteren Hinweis durchfhrt (Level 4b). Ein Beispiel fr solches
eigenstndiges Handeln wre die Ausung von Zitaten und das Hinzunehmen von zitier-
ten Arbeiten in die Ergebnismenge. Aber auch einfachere Anstze wie die automatische
Rechtschreibkorrektur kommen hierfr in Frage.
In vielen Fllen zielen Forschung und Entwicklung im IR auf eine vollstndige Automa-
tisierung der Aktionen ab, streben also das Level 4 an. Dabei stellt sich jedoch die Frage,
inwieweit die Nutzer dies berhaupt wnschen. Hier unterscheidet man wohl am besten
wieder zwischen Amateuren und Pronutzern. Letztere bevorzugen hug zumindest die
Option einige Automatismen abschalten oder Einstellungen manuell vornehmen zu knnen.
Den Anfngern hingegen werden durch die Automatisierung viele Aufgaben abgenommen
mit denen sie berfordert wren.
Abbildung 10.6: Matrix des Forschungsstandes bezglich Untersttzungsebene fr welche
Aktionsebene (gem [Bat90])
Bates [Bat90] stellte bereits vor einigen Jahren die Matrix in Abbildung 10.6 auf, um den
Stand der Forschung und interessante Forschungsgebiete fr die Nutzeruntersttzung auf
unterschiedlichen Aktionsebenen darzustellen. Wie gesagt ist die Vollautomation das Ziel
vieler Forschungsbestrebungen im IR. Auf alle Aktionsebenen werden entsprechend ber fr
Level 4b experimentelle Systeme angesetzt. Aktuelle und produktive Systeme untersttzen
in den meisten Fllen den Nutzer im Bereich der Moves und auch dort nur auf den Leveln
1 und 2. Weitergehende Untersttzung hlt Bates bei den Moves fr wenig sinnvoll, da
aus einzelnen, elementaren Aktionen wie den Moves kaum Vorschlge abgeleitet werden
knnen. Das bezge sich bereits zumindest auf die Aktionsebene der Taktiken. In diesem
169
10 Nutzerinteraktion
Bereich der Taktiken und Stratageme auf den Untersttzungsleveln 1 bis 3 sieht sie auch
die strksten Anstrengung und interessantesten Forschungsgebiete zur Verbesserung der
Nutzeruntersttzung.
10.4 Beispiele
Gegen Ende dieses Kapitels sollen noch einmal konkrete Beispiele fr Nutzerinteraktion
gegeben werden. Dabei sollen verschiedene Aspekte beleuchtet werden.
Fangen wir zunchst bei (mehr oder weniger) gewhnlichen Websuchmaschinen an. Die
Untersttzung der Nutzer bei der Formulierung ihrer Anfrage hatten wir bereits frher
erwhnt. Viele Suchmaschinen liefern dem Nutzer bereits whrend der Eingabe passen-
de Ergnzungen zu Termanfngen inklusive einer Angabe der zu erwartenden Treerzahl.
Auch Rechtschreibkorrektur wird weitlug angewendet und der Nutzer wird darauf hin-
gewiesen, wenn der Verdacht naheliegt, dass er sich vertippt hat.
Abbildung 10.7: Interface der Quintura Suchmaschine.
Eine ganz andere Mglichkeit bietet die Suchmaschine Quintura
4
. Hier werden nicht
nur Suchergebnisse sondern auch verwandte Suchbegrie dargestellt. Im Screenshot in Ab-
bildung 10.7 sieht man die verwandten Suchbegrie auf der linken Seite verteilt und in
unterschiedlicher Schriftgre dargestellt. Zentral werden die Begri der letzten Suche dar-
gestellt (hier: Information und Retrieval). Fhrt man mit der Maus ber einen der
anderen Suchbegrie wird dieser temporr zur Suche hinzugenommen. Daher ndert sich
4
http://www.quintura.com/ (Zuletzt aufgerufen am 3.7.2009)
170
10.4 Beispiele
sofort die Liste der Suchergebnisse und auch die Menge und Darstellung der verwandten
Suchbegrie. Ein Klick auf den Suchbegri nimmt ihn permanent in die Suche auf, was
auch im Eingabefeld zu sehen ist. Andernfalls kann man einen Begri ber ein kleines
Symbol mit Minuszeichen auch fr die Suche ausschlieen (NOT-Operator). Die beiden
Pfeile ber der Suchbegridarstellung ermglichen es, die letzten nderungen an der An-
frage sehr schnell und einfach rckgngig zu machen. Insgesamt erlaubt Quintura somit
eine recht schne Kombination aus Feedback, explorativer Suche und klassischer Anfra-
geformulierung. Gleichzeitig erhlt der Nutzer direkte und informative Rckmeldung auf
seine Eingaben, da die dargestellte Ergebnismenge sofort auf nderungen reagiert.
Abbildung 10.8: Snap liefert eine Vorschau zu gefundene Dokumenten.
In Bezug auf die Darstellung der Ergebnisse gibt es weitere Beispiele, wie der Nutzer
untersttzt werden kann. Die Suchmaschine Snap
5
liefert zum Beispiel ein groes Vor-
schaubild auf die gefunden Seiten (siehe Abbildung 10.8). Dies kann dem Nutzer helfen,
einen ersten Eindruck ber die gefundene Seite zu bekommen, ohne sie explizit aufrufen zu
mssen. Eine solche Vorschau kann auch von Vorteil sein, wenn es darum geht ein bereits
einmal gefundenes Dokument wieder ausndig zu machen. Hat der Nutzer die exakte URL
vergessen, kann er sich ber eine solche Suche und die Vorschau eventuell an den visuellen
Gesamteindruck des Dokumentes erinnern. Fr das Umschalten zwischen den Previews zu
den einzelnen Treern kann der Nutzer auf die Treer klicken, oder auch per einfacher
Tastaturkommandos ber die Cursortasten navigieren.
5
http://www.snap.com/index.php (Zuletzt aufgerufen am 3.7.2009)
171
10 Nutzerinteraktion
Abbildung 10.9: Clusty gruppiert die gefundenen Treer und liefert einen berblick ber
diese Gruppen auf der linken Seite.
Das Clusty
6
System organisiert die Suchergebnisse fr den Nutzer. Es bildet Gruppen
inhaltlich verwandter Dokumente und stellt diese Cluster wie in Abbildung 10.9 gezeigt
auf der linken Seite dar. Whlt man einen Cluster aus, so werden die Suchergebnisse auf
diese Teilgruppe eingeschrnkt, der Nutzer sieht auch hier sofort die Auswirkungen sei-
ner Aktion. Auer der Einschrnkung auf Teile der Ergebnismengen erlauben die Cluster
durch ihre Bezeichnung aber auch das Erkennen und Ausndigmachen von Teilgebieten
oder Spezialthemen. So lieferte die Anfrage nach Information Retrieval bei Clusty unter
anderem zu den Gruppen Research, Multimedia oder Language Processing. ber die
Gruppe Research erhlt man den Hinweis, dass IR auch ein Forschungsthema ist, Mul-
timedia liefert ein Teilgebiet und Language Processing ein benachbartes Themengebiet.
Mit diesem Ansatz knnten also teilweise bestimmte Suchtaktiken untersttzt werden.
Auch bei Factbites
7
werden Ergebnisse gruppiert. Allerdings werden hier mglichst tref-
fende Textschnipsel zu jedem gefundenen Dokument zusammengestellt. Bereits die Darstel-
lung macht deutlich, dass hierbei mehr als keywords in context gemeint ist. Stattdessen
soll fast schon eine Erklrung des Suchbegries gegeben werden. Dafr spricht auch die
relativ umfangreiche Darstellung der einzelnen Treer. Wie in Abbildung 10.10 zu sehen,
passen in das Browserfenster kaum mehr als zwei oder drei Treer, so dass man schnell
scrollen muss. Damit ist auch klar, dass Factbites sich nicht zum Ziel setzt, dem Nutzer
mglichst viele Ergebnisdokumente zu prsentieren.
6
http://clusty.com/ (Zuletzt aufgerufen am 3.7.2009)
7
http://www.factbites.com/ (Zuletzt aufgerufen am 3.7.2009)
172
10.4 Beispiele
Abbildung 10.10: Ausfhrliche Treer der Suchterme in den Dokumenten bei Factbites.
Fr eine explorative Suche empehlt sich eine visuelle Darstellung und die Anordnung
hnlicher Dokumente durch lokale Nhe. Wie die hnlichkeit der Dokumente deniert
ist kann sehr unterschiedlich sein. So knnen fr Bilder Bildinformationen, Textbeschrei-
bungen und Metadaten genutzt werden. Bilder sind auch deshalb gut fr eine explorative
Suche geeignet, da selbst starke Verkleinerungen meist noch relativ gut erkennbar sind. Bei
Texten ist eine solche platzmige Komprimierung in der Anzeige schwieriger.
Campbell [Cam00] realisiert eine solche Suche gewissermaen in Anlehnung an das Ber-
rypicking Modell. Der Nutzer durchluft einen Pfad in der Landschaft der Dokumente
und bekommt jeweils die nchsten Auswahloptionen angezeigt (siehe Abbildung 10.11).
Campbell fgt der explorativen Suche allerdings noch ein Gedchtnis hinzu, so dass bisher
betrachtete Objekte einen Einuss auf die nchste Auswahl an mglichen Schritten haben.
Das Gedchtnis verblasst mit der Zeit: je lnger der Besuch eines Informationsobjektes her
ist, desto weniger Einuss hat es auf die Bestimmung mglicher Schritte.
Geht man von Suchsystemen weg, so gibt es auch andere Mglichkeiten Nutzer bei der
Informationssuche zu untersttzen. Bei den in Abbildung 10.12 gezeigten Document Word
Clouds [Got09] werden Termgewichte genutzt um Wrter in einem Dokument entsprechend
ihrer Gewichtung grer oder kleiner darzustellen. Dieses Darstellung ist von den im Web
2.0 verbreiteten Tag Clouds inspiriert. Den Nutzern fllt es damit beim beriegen eines
Dokuments leichter die wichtigen Begrie im Text auszumachen und sie knnen damit
schneller ein Urteil treen, ob das Dokument fr ihre Suche tatschlich relevant ist. Wichtig
173
10 Nutzerinteraktion
Abbildung 10.11: Explorative Suche mit Gedchtnis (aus [Cam00])
.
Abbildung 10.12: Document Word Clouds: Wichtige Begrie im linken Dokument werden
rechts grer dargestellt .
dabei ist natrlich, dass aussagekrftige und vor allem die richtigen Terme hervorgehoben
werden.
174
10.5 Zusammenfassung
10.5 Zusammenfassung
Die Interaktion mit dem Nutzer spielt eine wichtige Rolle im IR. Schlielich soll ein IR
System nicht nur Dokumente nden, sondern den Nutzer bei seiner Suche untersttzen.
Modelle des Suchvorgangs versuchen dabei zu beschreiben, wie die Suche abluft. Das ein-
fache Modell aus mit linearem Verlauf aus Anfrageformulierung, Anfrage, Ergebnismenge
und deren Auswertung mit eventueller Rckkopplung zur Anfragereformulierung gengt in
den meisten Fllen nicht um reale Suchvorgnge zu beschreiben. Der Berrypicking Ansatz
beschreibt den Verlauf einer Suche deutlich treender.
Die Aktionen des Nutzers und auch die Untersttzungsanstze durch ein IR System
knnen in mehrere Kategorien aufgeteilt werden. Von einzelnen, elementaren Aktionen zu
Suchstrategien und von keiner Untersttzung durch das System hin zur Vollautomation.
Die meisten aktuellen Systeme bieten lediglich Untersttzung bei der Durchfhrung ele-
mentarer Aktion, whrend die Vollautomation hug das Ziel experimenteller Systeme aus
der Forschung ist. Dennoch sollte dem Nutzer die Wahl gelassen werden, die automatische
Untersttzung zurckzufahren oder komplett auszuschalten.
175
10 Nutzerinteraktion
176
11 Language Models
Language Models stellen formale Beschreibungen fr eine Sprache dar, genauer genommen
fr die Erzeugung von Texten die den Regeln dieser Sprache entsprechen. Es handelt sich
um probabilistische Modelle zur Spracherzeugung. Die Idee Language Models fr IR ein-
zusetzen basiert darauf, dass sich zu einem existierenden Text ber die darin enthaltenen
Wrter ein passendes Modell ableiten lt. Fr den Einsatz in IR Systemen kann man
somit zu jedem Dokument eine entsprechendes Modell generieren und zu einer Anfrage
prfen, welches Dokumentmodell die Anfrage am ehesten erzeugen knnte.
Wir werden in diesem Kapitel Language Models zunchst allgemein betrachten, die ihren
Ursprung und Haupteinsatz eigentlich in anderen Anwendungsgebieten nden. Danach
knnen wir uns deren Einsatz fr IR-Zwecke genauer anschauen und auf die Umsetzung
des Language Model Ansatzes in der IR Praxis eingehen.
11.1 Einfhrung in Language Models
Statistische Sprachmodelle auf dem Gebiet des IR wird meist der englische Begri Lan-
guage Models (LM) verwendet sind ein Ansatz um die Erzeugung von Texten zu be-
schreiben. Es wird also hnlich wie bei Grammatiken angegeben, wie Zeichenketten aus
Symbolen oder Token zusammengesetzt werden. Die Symbole, bzw. Token entsprechen bei
LM meist ganzen Wrtern einer (natrlichen) Sprache. Ein Unterschied zu den Gramma-
tiken liegt darin, dass bei der Erzeugung von Texten Wahrscheinlichkeitsverteilungen eine
groe Rolle spielen.
In einem LM wird nmlich jedem Token eine Wahrscheinlichkeit fr dessen Erzeugung
zugewiesen. Weiterhin gibt es eine Wahrscheinlichkeit dafr, dass die Erzeugung eines
Textes abgeschlossen ist, d.h. dass keine weitere Token erzeugt werden. Dass das Ende der
Wortfolge ausdrcklich modelliert werden muss, liegt darin, dass die Wahrscheinlichkeiten
aller mglichen Aktionen also ein bestimmtes Wort erzeugen oder die Erzeugung beenden
sich in der Summe zu 1 ergeben muss. Im Modell lsst sich dies beispielsweise ber ein
ausgewiesenes stop Token ausdrcken.
Insgesamt fhrt dies dazu, dass bezglich eines bestimmten LM einige Texte wahrschein-
licher erzeugt werden als andere. Umgekehrt heit das auch, dass man einem gegebenen
Text eine Wahrscheinlichkeit zuordnen kann, unter der er mit einem ebenfalls gegebenen
LM erzeugt wurde. Auch hier spielt letztendlich wieder die Wahrscheinlichkeit fr das Ende
einer Wortsequenz eine Rolle, denn damit summieren sich die Wahrscheinlichkeiten aller
erzeugbaren Texte ebenfalls zu einem Wert von 1 auf.
177
11 Language Models
Ein einfaches Language Model
Gehen wir von einem sehr einfachen Sprachmodell M
E
aus, das Texte mit den Wr-
tern Katzen, Muse, Bananen, Hunde und fangen erzeugen kann. Dabei
legen wir die folgende Wahrscheinlichkeitsverteilung zugrunde:
P(Katzen) = 0, 3
P(Muse) = 0, 2
P(Bananen) = 0, 05
P(Hunde) = 0, 1
P(fangen) = 0, 25
P(stop) = 0, 1
Betrachten wir nun den Satz Katzen fangen Muse so wird dieser in M
E
mit fol-
gender Wahrscheinlichkeit erzeugt:
P
M
E
(Katzen fangen Muse) = P(Katzen) P(fangen) P(Muse) P(STOP)
= 0, 0015
Es soll noch einmal darauf hingewiesen werden, dass wir die Wahrscheinlichkeit fr
stop mit bercksichtigen mssen, um das Ende der Zeichenkette zu modellieren. Fr
andere Texte sehen die Wahrscheinlichkeiten anders aus, fr Hunde fangen Bananen
beispielweise:
P
M
E
(Katzen fangen Muse) = P(Hunde) P(fangen) P(Bananen) P(STOP)
= 0, 000125
An dieser Stelle sollte noch angemerkt werden, dass sich mit diesem Modell auch
Wortfolgen erzeugen lassen, die nicht sonderlich viel Sinn ergeben, so etwa Bananen
Muse fangen fangen mit einer Wahrscheinlichkeit von 0,0000625.
Ein weiterer interessanter Punkt ist, dass man bei mehreren gegebenen LM und einer
Wortfolge jeweils die Wahrscheinlichkeiten bestimmen kann, mit denen die Folge von den
einzelnen LM erzeugt wurde. Damit lsst sich dann auch bestimmen, welches Modell den
Text wohl am ehesten erzeugt hat. Dies ist ein Punkt, der letztendlich beim Einsatz im IR
von Interesse ist, wie wir spter sehen werden.
Ein weiteres, alternatives Language Model
Nehmen wir zum obigen Modell M
E
noch ein weiteres Modell M
E2
hinzu, das die
gleichen Wrter aber mit unterschiedlicher Wahrscheinlichkeit erzeugt:
178
11.1 Einfhrung in Language Models
P(Katzen) = 0, 2
P(Muse) = 0, 15
P(Bananen) = 0, 1
P(Hunde) = 0, 25
P(fangen) = 0, 15
P(stop) = 0, 15
Betrachten wir nun den Text Hunde fangen Katzen so sind die Wahrscheinlichkeiten
der Erzeugung in den beiden Modellen verschieden:
P
M
E
(Hunde fangen Katzen) = 0, 00075
P
M
E2
(Hunde fangen Katzen) = 0, 001125
Das legt die Vermutung nahe, dass diese Wortfolge wohl eher von M
E2
als von M
E
erzeugt wurde.
Language Models nden ihren Einsatz hug in der Erkennung gesprochener Sprache,
der Digitalisierung von handschriftlichen Texten oder der Analyse von Texten zwecks Er-
kennung von grammatikalischen Strukturen. Fr diese Einsatzzwecke wre eine schlichte
Wahrscheinlichkeitsverteilung der einzelnen Wrter bei weitem nicht ausreichend. Schlie-
lich werden die Wrter sonst ohne ihren Kontext betrachtete, was in den obigen Beispielen
unter anderem dazu fhrt, dass die Wahrscheinlichkeit innerhalb der Modelle fr die Er-
zeugung von Hunde fangen Katzen genauso gro ist wie die fr Katzen Hunde fangen.
Daher werden fr die erwhnten Anwendungen die Verteilungen von den zuvor erzeugten
(bzw. bei der Analyse von den zuvor gesehenen) Wrtern abhngig gemacht.
Will man also die Wahrscheinlichkeit fr eine bestimmte Wortsequenz bestimmen, so
muss man mit bedingten Wahrscheinlichkeiten arbeiten:
P(w
1
w
2
w
3
w
4
w
5
) = P(w
1
) P(w
2
[w
1
) P(w
3
[w
1
w
2
) P(w
4
[w
1
w
2
w
3
) P(w
5
[w
1
w
2
w
3
w
4
)
Je nachdem, von wie vielen vorhergehenden Wrtern man die Wahrscheinlichkeit ab-
hngig macht, erhlt man einen unterschiedlichen zu betrachtenden Horizont. Grenzt man
obiges Beispiel auf einen Horizont von 2 vorhergehenden Wrtern ein, so erhlt man:
P(w
1
w
2
w
3
w
4
w
5
) = P(w
1
) P(w
2
[w
1
) P(w
3
[w
1
w
2
) P(w
4
[w
2
w
3
) P(w
5
[w
3
w
4
)
179
11 Language Models
Gelegentlich fhrt man als Erweiterung noch ein knstliches Token s fr den Sequenz-
anfang ein, so dass man alle Wahrscheinlichkeiten nach dem gleichen Muster darstellen
kann:
P(w
1
w
2
w
3
w
4
w
5
) = P(w
1
[ss) P(w
2
[sw
1
) P(w
3
[w
1
w
2
) P(w
4
[w
2
w
3
) P(w
5
[w
3
w
4
)
Durch die Beschrnkung auf einen endlichen Horizont kann man LM durch Markow-
Ketten darstellen
1
. Die zuvor erzeugten und noch betrachteten Wrter bilden die Zustnde
aus, von denen die bergangswahrscheinlichkeiten in den nchsten Zustand und hierbei
auch die Produktion eines weiteren Wortes abhngen. Betrachtet man die letzten n
Wrter erhlt man eine Markow-Kette n-ter Ordnung.
Der endliche Horizont lsst sich auch anders interpretieren. Betrachtet man bei der
Analyse eines Textes zwei vergangene Wrter, um die Wahrscheinlichkeit des nchsten
Wortes zu bestimmen, so hat man es eektiv mit Trigrammen zu tun: man betrachtet die
Dreiergruppe aus den zwei vorherigen und dem aktuellen Wort. Ein solches LM wird daher
auch als Trigramm LM bezeichnet. Fliet nur ein vorhergehendes Wort in die bedingten
Wahrscheinlichkeiten ein, so erhlt man entsprechende Bigramm Modelle und bei dem
eingangs verwendeten, sehr einfachen Modell, das keine vorhergehenden Wrter betrachtete
spricht man von einem Unigramm LM.
Um Sprachmodelle aus Beispieltexten abzuleiten, muss man entsprechend umfangrei-
che Daten an n-Grammen aufweisen knnen, wobei n von der gewhlten Ordnung der
Markow-Kette abhngt. Auf Verfahren zur Ableitung der bedingten Wahrscheinlichkeiten
aus solchen Trainingsdaten soll an dieser Stelle nicht eingegangen werden. Wir werden uns
in den nchsten Abschnitten stattdessen auf den konkreten Einsatz und die praktische
Umsetzung von LM im IR beschrnken.
11.2 Einsatz von Language Models im IR
Ziel des LM Ansatzes im IR ist es, die Wahrscheinlichkeit P(d[q) zu bestimmen. Diese
lsst sich interpretieren als die Wahrscheinlichkeit, dass ein Dokument d aus einer Anfrage q
hervorgeht, bzw. dass es zu dieser Anfrage relevant ist. Letztendlich will man dann zu einer
gegebenen Anfrage die Dokumente nach absteigender Wahrscheinlichkeit P(d[q) ranken.
Das erinnert an den Einsatz der Wahrscheinlichkeit P(R = 1[d, q) im BIM in Kapitel 7,
hier wird jedoch der Umweg ber die Zufallsvariable R fr Relevanz weggelassen.
Ganz hnlich wird die Wahrscheinlichkeit jedoch auch hier mit dem Satz von Bayes
umgeformt, um eine Form mit anderen Wahrscheinlichkeitstermen zu erhalten, die besser
handhabbar sind:
1
Auch die Modellierung des Random Surfers fr das PageRank Verfahren lief auf eine Darstellung durch
Markow-Ketten hinaus. Hier hing die Wahrscheinlichkeit eine bestimmte Seite im Web zu besuchen von
der zuletzt besuchten Seite ab. Diese einfache Abhngigkeit der Wahrscheinlichkeiten von nur einem
vorherigen Ereignis erlaubt die geeignete Darstellung als stochastische Matrix.
180
11.2 Einsatz von Language Models im IR
P(d[q) =
P(q[d) P(d)
P(q)
Auf der rechten Seite stehen nun die Wahrscheinlichkeiten P(d), P(q) und P(q[d). P(q)
bezeichnet die Wahrscheinlichkeit fr eine bestimmte Anfrage. Diese ist bei einer gegebe-
nen Anfrage q immer gleich, stellt also fr das Ranking der Dokumente bezglich dieser
Anfrage einen konstanten Wert dar. Somit kann dieser Term vernachlssigt werden, da
er an der Ranking-Reihenfolge nichts ndert. Die Wahrscheinlichkeit P(d) bezeichnet die
Wahrscheinlichkeit, dass ein bestimmtes Dokument relevant ist. Hier wird meistens ei-
ne Gleichverteilung angenommen, so dass dieser Teil ebenfalls als Konstante behandelt
und ignoriert werden kann. Alternativ knnten hier allerdings auch statische Qualitts-
mae eines Dokumentes in die Bewertung einieen. So knnten Dokumente mit neuerem
Datum, hherer Autoritt
2
oder Nutzerbewertung entsprechend eine hhere Wahrschein-
lichkeit P(d) zugewiesen bekommen. Solche statischen Qualittsmae ieen dann zwar in
das endgltige Ranking mit ein, sind jedoch naturgem von der Anfrage unabhngig und
knnen vorberechnet werden.
Somit verbleibt nur die Wahrscheinlichkeit P(q[d) als einziger zum Anfragezeitpunkt zu
berechnender und ausschlaggebender Faktor fr das Ranking. An dieser Stelle kommen
dann auch LM zum Einsatz. Die Idee ist es, aus den Dokumenten jeweils eigene Sprachmo-
delle abzuleiten und mit diesen Modellen die Wahrscheinlichkeit zu ermitteln mit der eine
bestimmte Anfrage erzeugt wrde. Dieser LM Ansatz im IR wird als query likelihood be-
zeichnet und entspricht in etwa dem Gedankengang eines Nutzers, der sich berlegt, welche
Begrie wohl am wahrscheinlichsten in einem Dokument auftreten, an dem er interessiert
sein knnte.
Somit besteht die Aufgabe darin, zunchst zu jedem Dokument ein LM M
d
aufzustellen.
Sobald dann eine Anfrage gestellt wird, muss zu jedem Sprachmodell M
d
die Wahrschein-
lichkeit P
M
d
(q) bestimmt werden, mit der M
d
die Anfrage q erzeugt. Betrachtet man P(q)
und P(d) als konstant, kann das Ranking nach absteigender Wahrscheinlichkeit P
M
d
(q)
stattnden.
Fr das Erstellen der LM M
d
zu einem Dokument d steht damit aber nur das Dokument
selbst als Trainingsdatensatz zur Verfgung. Aus diesem Grund knnen nur sehr einfache
Modelle abgeleitet werden. Es hat sich sogar gezeigt, dass die Daten in der Regel so dnn
besetzt sind, dass lediglich Unigrammmodelle vernnftige Ergebnisse liefern. Modelle auf
der Basis hherer n-Gramme knnen ihre Vorteile nicht ausspielen, da schlicht nicht gen-
gend n-Gramme in einem einzelnen Dokument zur Verfgung stehen um daraus verlssliche
Wahrscheinlichkeitswerte zu schtzen.
Da in einem Unigramm LM die Wahrscheinlichkeit eines Wortes letztendlich vllig un-
abhngig von den vorherigen Wrtern ist, spielt die Reihenfolge der aufgetretenen Wrter
keine Rolle mehr. Das heit, das man letztendlich ein Bag of Words Dokumentmodell
verwendet. Man verzichtet damit zwar (zwangsweise) auf einen Groteil der Mchtigkeit
2
Autoritt beispielsweise im Sinne des HITS Algorithmus (s. Kapitel 9) oder eines ermittelten Experten-
wertes des Autors.
181
11 Language Models
von Language Models, allerdings wird dadurch die Berechnung der Wahrscheinlichkeiten
einfacher: im Prinzip hat man es mit einer Multinomialverteilung der Terme zu tun.
Eine Multinomialverteilung entspricht anschaulich gesehen einem Urnenmodell mit ver-
schiedenartigen Kugeln und Zurcklegen. Zu jeder Kugelsorte ist deren Anteil an der Ge-
samtzahl der Kugeln bekannt und somit auch die Wahrscheinlichkeit eine Kugel dieser
Sorte zu ziehen. In unserem Fall entsprechen die Kugelsorten den Termen und die Wahr-
scheinlichkeiten werden durch das LM vorgegeben. Zu einer Anfrage q interessieren wir uns
nun dafr, wie wahrscheinlich es ist, genau die Terme der Anfrage aus der Urne zu ziehen.
Zu beachten ist dabei, dass Terme in den Anfragen durchaus mehrfach vorkommen drfen.
Gehen wir von einem Vokabular mit den Termen t
1
bis t
M
aus, einem Modell M
d
fr
Dokument d und einer Anfrage q mit n Termen
3
und zugehrigen Termfrequenzen tf
q
(t),
dann ist die Wahrscheinlichkeit fr P(q[d) = P
M
d
(q) gegeben durch:
P
M
d
(q) =
n!
tf
q
(t
1
)! tf
q
(t
2
)! . . . tf
q
(t
M
)!
(P
M
d
(t
1
))
tf
q
(t
1
)
(P
M
d
(t
2
))
tf
q
(t
2
)
. . . (P
M
d
(t
M
))
tf
q
(t
M
)
Der Bruch, der in dieser Gleichung den erste Faktor darstellt, hngt komplett und einzig
von der Anfrage q ab. Damit ist er fr alle Dokumente konstant und kann in der Berech-
nung eines Rankings ebenfalls ignoriert werden. Im Produkt ber die Wahrscheinlichkeiten
P
M
d
(t
i
) fallen weiterhin alle die Faktoren zu Termen heraus, die nicht in der Anfrage auf-
tauchen, da (P
M
d
(t
i
))
tf
q
(t
i
)
sich fr tf
q
(t
i
) = 0 immer zu einem Wert von 1 ergibt.
Hlt man sich die oben erwhnte Option oen, die Wahrscheinlichkeitsverteilung fr
P(d) beliebig modellieren zu wollen, so erhalten wir fr die Retrievalfunktion folgendes:
(d, q) = P(d)

t
i
q
(P
M
d
(t
i
))
tf
q
(t
i
)
Im Endeekt reduziert sich also alles darauf, zu einem gegebenen Dokument die Wahr-
scheinlichkeiten P
M
d
(t
i
) zu schtzen.
11.3 Schtzen der Wahrscheinlichkeiten fr LM
Der Standardansatz zur Schtzung der Wahrscheinlichkeiten fr LM im IR basiert auf einer
Maximum Likelihood Estimation (MLE). Das bedeutet, dass man anhand der beobachteten
Termzahl in den Dokumenten eine Wahrscheinlichkeit abschtzt, unter der das beobachtete
Auftreten die maximale Wahrscheinlichkeit hat.
Dazu verwendet man die Termfrequenzen der einzelnen Terme in den Dokumenten sowie
die Lnge L des Dokuments gemessen ber die Gesamtzahl der enthaltenen Terme. Die
Wahrscheinlichkeit einen bestimmten Term zu beobachten, kann dann ber die relative
Hugkeit des Terms im Dokument geschtzt werden:
3
Der Wert von n lsst sich auch als Summe ber den Termfrequenzen in der Anfrage q angeben und liegt
bei: n =

M
i=1
tf
q
(t
i
)
182
11.3 Schtzen der Wahrscheinlichkeiten fr LM

P
M
d
(t
i
) =
tf
d
(t
i
)
L
d
Setzt man diesen Schtzer in die Retrievalfunktion ein, so erhlt man insgesamt eine
Gleichung von der Form:
(d, q) = P(d)

t
i
q
_
tf
d
(t
i
)
L
d
_
tf
q
(t
i
)
Eine solche Retrievalfunktion lsst sich wiederum sehr einfach aus den Daten berechnen,
die wir bereits fr andere Modelle im invertierten Index abgelegt haben: Die Termfrequen-
zen zu einzelnen Termen in den Dokumenten und einen Ausdruck zur Dokumentlnge.
Somit wre auch hier ein einfacher Wechsel von einem bestehenden System auf der Basis
eines anderen theoretischen Modells zu LM problemlos mglich.
Die Schtzung der Wahrscheinlichkeiten ber die relativen Hugkeiten weist jedoch
einige Probleme auf. Das liegt hauptschlich an den verhltnismig kleinen Trainingsda-
tenstzen. Gewisse Terme knnen rein zufllig huger auftreten als andere, ohne dass sie
zum eigentlichen Thema passen. Sie verzerren ber ihren Beitrag zur Dokumentlnge damit
auch die Wahrscheinlichkeiten der anderen Terme. Suchterme die im Dokument gar nicht
auftreten, erhalten hingegen im Modell eine Wahrscheinlichkeit von 0 zugewiesen. Das be-
deutet implizit, dass die Suchterme alle in einem Dokument auftreten mssen
4
. In einigen
Anwendungsfllen mag das sinnvoll sein, beispielsweise bei einer Websuche. Allgemein ist
dies allerdings eine Einschrnkung, der sich die Nutzer zumindest bewusst sein mssen.
Aber auch bei seltenen Termen treten durch diese Abschtzung unerwnschte Eekte auf.
Ob ein Fachbegri in einem Dokument ein- oder zweimal auftritt, ndert kaum etwas an
dessen Bezug zum eigentlichen Thema des Dokuments. Von der Wahrscheinlichkeitsscht-
zung fr das Sprachmodell verdoppelt sich allerdings der Wert der Retrievalfunktion! Es
ist also ntig, den Einuss der in den Dokumenten beobachteten Termfrequenzen auf die
Schtzungen fr die Wahrscheinlichkeiten etwas abzuschwchen.
Als Lsung hierfr eignet sich wieder Smoothing, das bereits im probabilistischen IR
in Kapitel 7 zum Einsatz kam. Damals wurden konstante Werte zu jeder Termfrequenz
addiert, um auch ungesehen Terme mit einer positiven (wenn auch sehr kleinen) Wahr-
scheinlichkeit auszustatten. Das wre im Prinzip auch fr den LM Ansatz tauglich. Es gibt
hier jedoch auch andere Mglichkeiten, um Smoothing zu realisieren.
So kann die Wahrscheinlichkeit fr einen Term, der nicht im betrachteten Dokument
enthalten ist, ber die Wahrscheinlichkeit dieses Terms in irgendeinem (beliebigen) Do-
kument aufzutauchen abgeschtzt werden. Das heit also, fr den Fall, dass tf
d
(t) = 0
eintritt, knnte man die Wahrscheinlichkeit im Dokumentmodell durch Erfahrungen im
Korpus zumindest nach oben abschtzen:
4
Das kommt daher, dass sobald ein Term aus der Anfrage im Dokument fehlt, dieser eine Erzeugungs-
wahrscheinlichkeit von 0 zugewiesen bekommt. Diese fhrt ber das Produkt der Wahrscheinlichkeiten
insgesamt zu einem Retrievalwert von 0.
183
11 Language Models

P
M
d
(t
i
)
cf(t
i
)

dD
L
d
Eine solche Annahme fr die initiale Verteilung fr die Terme wird als Prior bezeichnet.
Es entspricht letztendlich dem Aufbau eines LM M
C
ber dem gesamten Korpus C.
Dieses Modell direkt fr unbeobachtete Terme in die dokumentbasierten LM zu ber-
nehmen drfte jedoch etwas berzogen sein. Schlielich wrde auf diese Art und Weise ein
im Korpus hug aber im Dokument gar nicht beobachteter Term zu einer recht hohen
Wahrscheinlichkeit in M
d
gelangen. Daher muss der globale Schtzer etwas abgeschwcht
werden. Um weiterhin auch den Einuss auf andere beobachtete Terme auszuweiten soll-
ten diese Anpassung nicht nur fr nicht vorhandene sondern fr alle Terme angewendet
werden.
Ein Ansatz dazu besteht in der Mglichkeit die Wahrscheinlichkeitsschtzungen aus dem
Gesamtkorpus mit denen aus den einzelnen Dokumenten linear zu kombinieren:

P
M

d
(t
i
) =

P
M
d
(t
i
) + (1 )

P
M
C
(t
i
)
Der Wert [0, 1] ist dabei ein Parameter mit dem man den Einuss des Smoothing
bestimmen kann. Mit einem Wert von 1 schaltet man Smoothing komplett aus, bei einem
Wert von 0 gibt es sozusagen nur noch Smoothing (die Terme in den Dokumenten haben
keinen Einuss mehr). Werte zwischen 0 und 1 schieben den Schwerpunkt entsprechend
in die eine oder andere Richtung. Dieser Ansatz wird auch als Jelinek-Mercer Smoothing
bezeichnet.
Eine weitere Mglichkeit besteht darin, die bekannte Verteilungsschtzung aus dem Do-
kument durch die Schtzung ber dem Korpus teilweise zu aktualisieren, hnlich wie es
beim probabilistischen Relevance Feedback gemacht werden konnte:

P
M

d
(t
i
) =
tf
d
(t
i
) +

P
M
C
(t
i
)
L
d
+
Auch hier beeinusst der Parameter 0 die Strke des Smoothing. Ein Wert von
= 0 schaltet Smoothing aus, hhere Werte fr sorgen fr einen entsprechend strkeren
Einuss des Korpusmodels M
C
.
LM Ansatz zu IR
Wir bemhen wieder den Beispielkorpus aus frheren Kapiteln ber dem Vokabu-
lar V = Kaee, Tee, Tasse, Kanne, Wasser. Zur Erinnerung, die Dokumente sahen
folgendermaen aus:
1. Kaee, Kaee
2. Tee, Tee, Tasse, Kanne, Kanne
3. Kaee, Tasse, Tasse, Kanne
184
11.3 Schtzen der Wahrscheinlichkeiten fr LM
4. Kaee, Kaee, Kaee, Tee, Tasse, Tasse, Tasse, Kanne, Kanne, Kanne
5. Kanne, Kanne, Wasser, Wasser
Zunchst schtzen wir dokumentweise die Wahrscheinlichkeiten fr die Beobachtung
der jeweiligen Terme. Dazu bentigen wir die Termfrequenzen und die Gesamtzahl
an Termen in den Dokumenten. Nehmen wir beispielsweise Dokument d
3
heraus, so
haben wir eine Dokumentlnge von vier Termen. Die Schtzer fr die Termwahr-
scheinlichkeiten in einem LM zu d
3
sehen dann folgendermaen aus:

P
M
d
3
(Kaee) =
1
4
= 0, 25

P
M
d
3
(Tee) =
0
4
= 0

P
M
d
3
(Tasse) =
2
4
= 0, 5

P
M
d
3
(Kanne) =
1
4
= 0, 25

P
M
d
3
(Wasser) =
0
4
= 0
Geht man fr die brigen Dokumente hnlich vor, so erhlt man insgesamt folgende
Wahrscheinlichkeitsschtzungen fr die Sprachmodelle der einzelnen Dokumente:

P(Kaee)

P(Tee)

P(Tasse)

P(Kanne)

P(Wasser)
M
d
1
: 1 0 0 0 0
M
d
2
: 0 0, 4 0, 2 0, 4 0
M
d
3
: 0, 25 0 0, 5 0, 25 0
M
d
4
: 0, 3 0, 1 0, 3 0, 3 0
M
d
5
: 0 0 0 0, 5 0, 5
Bisher haben wir kein Smoothing eingesetzt, was zu vielen Schtzern mit einem Wert
von 0 fhrt. Da fr die Retrievalfunktion letztendlich diese Wahrscheinlichkeitsscht-
zungen multipliziert werden haben 0 Werte einen extremen Einuss, da das gesamte
Produkt zu 0 wird.
Wenden wir also die Jelinek-Mercer Methode fr Smoothing an. Dazu berechnen wir
zunchst die Schtzer fr die globalen Wahrscheinlichkeiten einen Term zu beob-
achten. Diese basieren auf der Korpusfrequenz und der Gesamtzahl an Wrtern im
Korpus. Fr den Term Tasse ergibt sich damit also folgendes:

P
M
C
(Tasse) =
cf(Tasse)

dD
L
d
=
6
25
= 0, 24
Berechnet man die Schtzer fr alle Terme, erhlt man ein Sprachmodell M
C
fr den
gesamten Korpus, das auf folgenden Wahrscheinlichkeiten beruht:
185
11 Language Models

P
M
C
(Kaee) =
6
25
= 0, 24

P
M
C
(Tee) =
3
25
= 0, 12

P
M
C
(Tasse) =
6
25
= 0, 24

P
M
C
(Kanne) =
8
25
= 0, 32

P
M
C
(Wasser) =
2
25
= 0, 08
Fr das Smoothing werden nun die Wahrscheinlichkeiten aus den Dokumentmodellen
mit dem globalen Modell linear kombiniert. Wir besetzen hier den Parameter mit
einem Wert von 0,5. Damit werden das globale Modell und das Dokumentmodell
gleich gewichtet. Die Wahrscheinlichkeit fr den Term Tasse in Dokument d
3
ndert
sich damit folgendermaen:

P
M
d
3
= 0, 5 0, 5 + (1 0, 5) 0, 24 = 0, 37
Fhrt man Smoothing fr alle Terme in allen Dokumentmodellen durch, so sehen die
Wahrscheinlichkeitswerte so aus:

P(Kaee)

P(Tee)

P(Tasse)

P(Kanne)

P(Wasser)
M
d
1
: 0, 62 0, 06 0, 12 0, 16 0, 04
M
d
2
: 0, 12 0, 26 0, 22 0, 36 0, 04
M
d
3
: 0, 25 0, 06 0, 37 0, 29 0, 04
M
d
4
: 0, 27 0, 11 0, 27 0, 31 0, 04
M
d
5
: 0, 12 0, 06 0, 12 0, 41 0, 29
Wie bereits in vorherigen Beispielen stellen wir die Anfrage Tasse Kanne. ber
die Sprachmodelle berechnen wir nun die Wahrscheinlichkeit, dass ein Dokument die
Anfrage erzeugt. Fr Dokument d
1
geben wir die komplette Berechnung exemplarisch
an:
(d
1
, Tasse Kanne) =
_

P
M
d
1
(Tasse)
_
tf
q
(Tasse)

P
M
d
1
(Kanne)
_
tf
q
(Kanne)
= (0, 12)
1
(0, 16)
1
= 0, 019
Insgesamt erhlt man ber alle Dokumente hinweg die folgenden Retrievalwerte:
186
11.4 Praktische Umsetzung
(d
1
, q) = 0, 019
(d
2
, q) = 0, 079
(d
3
, q) = 0, 105
(d
4
, q) = 0, 084
(d
5
, q) = 0, 049
Damit erhalten wir also das Ranking d
3
, d
4
, d
2
, d
5
und d
1
. Es fllt auf, dass der
Retrievalwert selbst fr Dokument d
1
grer als 0 ist, obwohl d
1
keinen der Suchterme
enthlt. Das liegt am Smoothing, da hierdurch selbst im Dokument ungesehene Terme
im LM eine kleine Wahrscheinlichkeit fr ihre Erzeugung zugewiesen bekommen. Ob
man solche Treer dem Nutzer anzeigen sollte ist jedoch fraglich.
Im Beispiel haben wir den Parameter ohne weitere Erklrung oder Motivation auf
einen Wert von 0,5 gesetzt. In einem tatschlichen IR System wird man etwas mehr Arbeit
in die Wahl dieses oder eines anderen Smoothing-Parameters stecken mssen. Dazu kann
auf einem Evaluationskorpus die Performanz des Systems bei verschiedenen Parameter-
einstellungen optimiert werden. Eine weitere Mglichkeit besteht darin, die Parameter in
Abhngigkeit von der Query-Lnge zu whlen. Bei einer kurzen Anfrage mit wenigen Ter-
men kann beispielsweise mit schwcherem Smoothing gearbeitet werden als bei lngeren
Anfragen mit vielen Termen
5
.
Auf der Basis von Sprachmodellen lassen sich auch andere Anstze vergleichen. Anstatt
Modelle zu den Dokumenten zu erstellen und dann die Wahrscheinlichkeit zu berechnen,
mit der ein Dokumentmodell die Anfrage erzeugt kann auch anders herum vorgegangen
werden. Man stellt ein LM zur Anfrage auf und prft, mit welcher Wahrscheinlichkeit
dieses ein Dokument erzeugt. Schlielich, knnte man auch Sprachmodelle sowohl fr die
Dokumente als auch fr die Anfrage erzeugen und die Modelle ber eine geeignete Metrik
miteinander vergleichen. Dieser Ansatz luft letztendlich auf einen Vergleich der Wahr-
scheinlichkeitsverteilungen in den jeweiligen Modellen hinaus.
11.4 Praktische Umsetzung
Fr die Umsetzung eines IR Systems auf der Basis von Sprachmodellen bentigt man
prinzipiell wiederum nur die blichen Zutaten. Fr die Schtzung der Termwahrscheinlich-
keiten innerhalb eines Dokumentes wird auf die Dokumentlnge und die Termfrequenzen
5
Bei wenigen Anfragetermen kann man relativ gefahrlos verlangen, dass sie alle im Dokument enthalten
sein sollen. Bei lngeren Anfragen jedoch etwa einem ganzen Textabsatz sollte es jedoch durchaus
erlaubt sein, dass nicht alle Terme der Anfrage auch im Dokument enthalten sind.
187
11 Language Models
zugegrien. Die Termfrequenzen legt man wie gehabt in einem invertierten Index ab, die
Dokumentlnge in einer weiteren, dokumentorientierten Datenstruktur.
Fr das Smoothing braucht man dann noch Angaben zu den Korpusfrequenzen und der
Summe aller Dokumentlngen. Die Korpusfrequenz eines Terms kann entweder aus der
Summe der Termfrequenzen berechnet werden, oder aber wie die Dokumentfrequenzen im
Vokabular beim Term gespeichert werden.
Damit sind alle ntigen Daten fr die Anwendungen eines IR Ansatzes auf Language
Model Basis vorhanden. Beim Berechnen der Retrievalfunktion stellt sich jedoch noch ein
anderes, eher technisches Problem. Es werden viele, sehr kleine (Wahrscheinlichkeits-)Werte
miteinander multipliziert. Dabei stsst man hnlich wie beim BIR schnell an die Grenzen
der Rechengenauigkeit. Entsprechend kann man auch hier wieder den Logarithmus als
monotone Funktion anwenden, so dass man letztendlich mit einer Summe statt einem
Produkt hantieren kann:

(d, q) = log
_
_

t
i
q
_

P
M
d
(t
i
)
_
tf
q
(t
i
)
_
_
=

t
i
q
log
_

P
M
d
(t
i
)
_
tf
q
(t
i
)
=

t
i
q
_
tf
q
(t
i
) log
_

P
M
d
(t
i
)
__
Eine weitere Schwierigkeit stellt sich bezglich der Dokumente. Wie wir anhand des
Beispiels gesehen haben, wird durch das Smoothing jedem Dokumentmodell eine klei-
ne Wahrscheinlichkeit zugewiesen eine gegebene Anfrage zu erzeugen. Dementsprechend
msste prinzipiell die Retrievalfunktion fr alle Dokumente ausgewertet werden. Dies ist
jedoch wenig sinnvoll.
Stattdessen kann man das Vorhandensein zumindest eines Suchterms verlangen. Dass
fhrt dann in Kombination mit der Logarithmierung dazu, dass man wieder auf ein Akku-
mulatorenkonzept zurckgreifen kann. Wir beschreiben hier wie schon beim Vektorraum-
modell wieder eine term-at-a-time Vorgehensweise, das heit man geht die Anfrage Term
fr Term durch.
Zunchst berechnet man fr jeden Term den globalen Schtzer zu dessen Auftrittswahr-
scheinlichkeit. Danach durchluft man die Postingliste und bestimmt fr jeden Eintrag die
dokumentspezische Auftrittswahrscheinlichkeit. Je nach Smoothing-Ansatz werden die
Wahrscheinlichkeiten miteinander verrechnet, man logarithmiert das Ergebnis und mul-
tipliziert anschlieend noch mit der Termfrequenz in der Anfrage. Diese Zwischenwerte
werden fr jedes angetroene Dokument in einem Akkumulator zwischengespeichert. So
verfhrt man fr alle Eintrge in den Postinglisten, sortiert die Ergebnisdokumente abstei-
gend nach den in den Akkumulatoren eingetragenen Werten und erhlt damit die gerankten
Ergebnisse.
188
11.5 Zusammenfassung
hnlich wie beim Vektorraummodell sind hierbei einige Mglichkeiten denkbar, um die
Ezienz des Ansatzes zu steigern. An dieser Stelle soll jedoch nicht nher auf solche Op-
timierungsverfahren eingegangen werden.
11.5 Zusammenfassung
Language Models sind ein weiteres theoretisches IR Modell. Sie basieren auf erzeugenden
Sprachmodellen und bestimmen letztendlich eine Wahrscheinlichkeit mit der eine Anfrage
aus einem Dokument hervorgeht. Die Ergebnisdokumente knnen dann nach absteigender
Wahrscheinlichkeit ausgegeben werden, mit der sie die Anfrage erzeugen.
Smoothing spielt eine wichtige Rolle im LM Ansatz. Dies liegt insbesondere daran, dass
in Sprachmodellen den nicht gesehenen Termen eine Wahrscheinlichkeit von 0 zugewiesen
wird. Somit erhlt ber das Produkt dieser Wahrscheinlichkeiten auch das Dokument ins-
gesamt ein Wahrscheinlichkeit von 0, die Anfrage mit einem solchen Term zu erzeugen.
Man kann diese Schwachstelle ausgleichen, indem man mit Hilfe von Smoothing die Auf-
trittswahrscheinlichkeiten eines Terms im Gesamtkorpus in die Dokumentmodelle einieen
lsst.
Von der Umsetzung her knnen Sprachmodelle sehr einfach in ein bestehendes Vektor-
raum- oder probabilistisches Modell integriert werden. Ein invertierter Index und wenige
zustzliche Angaben zu Korpusfrequenz und Dokumentlnge gengen, um LM ezient
umzusetzen.
189
11 Language Models
190
12 Cross Language Information
Retrieval
Bisher haben wir uns mit IR Systemen beschftigt, die auf Dokumenten operieren, welche
alle in der gleichen Sprache verfasst sind. Wir hatten zwar die Spracherkennung als eine
Aufgabe in der Vorverarbeitung kurz erwhnt, das daraus gewonnene Wissen ber die
Sprache eines vorliegenden Dokumentes sollte jedoch lediglich helfen, danach die richtigen
Werkzeuge beispielsweise fr die Tokenisierung, die Lemmatisierung, das Stemming oder
die Stopworterkennung auszuwhlen.
Beim Cross Language Information Retrieval (CLIR), also dem IR ber Sprachgrenzen
hinweg, geht es um mehr. Hier gibt es zumindest Unterschiede zwischen der Sprache der
Dokumente und der Sprache der Anfragen. Das bedeutet, dass man beispielsweise Anfragen
auf Deutsch mit englischen Dokumenten in Einklang bringen muss. Die Situation kann aber
noch komplexer werden, nmlich wenn ein CLIR System mit Anfragen und Dokumenten
in jeweils mehreren verschiedenen Sprachen umgehen knnen soll.
In diesem Kapitel gehen wir auf die Besonderheiten beim CLIR ein, insbesondere natr-
lich auf Herangehensweisen und Retrievalmethoden. Fr den Ansatz der Language Models
werden wir eine recht einfache Erweiterung fr den mehrsprachigen Fall sehen. Schlielich
wird am Ende des Kapitels die Explizite Semantische Analyse vorgestellt, die sich ebenfalls
sehr elegant auf Dokumente in verschiedenen Sprachen ausdehnen lsst.
12.1 Einsatzgebiete des CLIR
IR auf der Basis von Dokumenten in verschiedenen Sprachen kann in unterschiedlichen
Fllen von Interesse sein. Bereits im Webumfeld hat es eine Suchmaschine mit Dokumenten
und Anfragen in unterschiedlichen Sprachen zu tun. Auch hier ist es fr das IR System
wichtig zu wissen, in welcher Sprache die Anfrage gestellt wurde, so dass dem Nutzer
entsprechende Dokumente in der gleichen Sprache zurckgeliefert werden knnen. Diesen
Fall knnte man jedoch eher als Multi Language Information Retrieval bezeichnen, da
das IR System zwar mit verschiedenen Sprachen umgehen knnen muss, die Sprachen
untereinander allerdings in gewissem Sinne unabhngig sind.
Beim Cross Language Information Retrieval geht es vereinfacht gesagt darum, zu ei-
ner Anfrage in einer gegebenen Sprache Dokumente auch in anderen Sprachen zu nden
und zurck zu liefern. Oder noch allgemeiner: zu einer Anfrage in beliebiger Sprache re-
levante Dokumente in ebenfalls beliebiger Sprache zu nden. Einsatzszenarien fr dieses
Information Retrieval ber Sprachgrenzen hinweg gibt es einige.
191
12 Cross Language Information Retrieval
(a) (b)
Abbildung 12.1: Google Bildersuche nach sailing boat (a) und segelboot (b).
Im einfachsten Fall eignet sich CLIR bei der Untersttzung mehrsprachiger Nutzer. So
kann ein Nutzer ber sehr gute passive Sprachkenntnisse verfgen, d.h. er ist in der Lage
Texte in einer Fremdsprache gut nachvollziehen und verstehen zu knnen. Die aktiven
Sprachkenntnisse sind allerdings in der Regel weniger gut entwickelt, d.h. es fllt einem
Nutzer hug deutlich schwerer einen eigenen Text in der Fremdsprache zu formulieren.
Das fhrt dann auch dazu, dass es dem Nutzer unter Umstnden schwer fllt eine gute
Anfrage zu formulieren, um Dokumente in einer anderen Sprache zu erhalten. Und selbst
wenn die aktiven Sprachkenntnisse gut ausgebildet sind, macht es dem Nutzer das Leben
einfacher, wenn er seine Anfrage lediglich einmal und nur in einer Sprache stellen muss
nicht zuletzt, da er dann im Idealfall nur eine Ergebnisliste betrachten muss.
In anderen Fllen sind es wirklich heterogene Korpora mit verschiedenen Sprachen, die
das eigentliche Problem darstellen. Patentdatenbanken, beispielsweise auf europischer
Ebene, enthalten Dokumente in unterschiedlichen Sprachen. Eine Suche nach Patenten
muss dementsprechend auf mehreren Sprachen ablaufen, damit keine relevanten Doku-
mente bersehen werden. Ein hnliches Szenario ndet sich sogar schon bei der Suche
in Bibliothekskatalogen. Prinzipiell ist ein englischsprachiges Buch mit dem Titel Web
Search Engines auch zur deutschen Anfrage Internetsuchmaschinen relevant.
Auch im Bereich des Multimedia Information Retrieval, also der Suche nach Bildern,
Video- oder Audiomaterial, spielt CLIR eine Rolle. Nmlich dann wenn die Suche haupt-
schlich ber Schlagworten und Metadaten abluft. In Abbildung 12.1 sieht man beispiels-
weise die Ergebnisse zur Bildsuche nach sailing boat und segelboot bei Google. Die
Bilder passen zwar jeweils thematisch zur Anfrage, allerdings gibt es zumindest in den
ersten zwlf Treern keine bereinstimmung.
192
12.1 Einsatzgebiete des CLIR
Die Vermutung liegt nahe, dass die Ergebnismengen sich deshalb unterscheiden, weil
die einen Bilder unter dem englischen Begri sailing boat indiziert sind, whrend die
anderen Bilder mit segelboot verschlagwortet wurden. Dass die beiden Suchbegrie in-
haltlich das gleiche Konzept in lediglich anderen Sprachen beschreiben, scheint bei der
Suche hier nicht bekannt zu sein (oder wird zumindest nicht verwendet). Entsprechend
sind sprachbergreifende Suchen auch im Multimediabereich ein wichtiges Thema, insbe-
sondere natrlich dann wenn die eigentlichen Dokumente wie bei den Bildern in Abbildung
12.1 sprachunabhngig sind.
Im Bezug auf die verschiedensprachigen Korpora auf die ber ein CLIR System zugegrif-
fen wird kann man hinsichtlich der enthaltenen Dokumente etwas dierenziertere Angaben
machen. Hat man es mit Korpora von unabhngigen aber thematisch hnlich ausgerich-
teten Dokumenten zu tun spricht man von vergleichbaren Korpora. Ein Beispiel fr ein
vergleichbares Korpus knnte eine Sammlung von Zeitungsartikeln sein, die im gleichen
Zeitraum aber in verschiedenen Zeitungen und Sprachen erschienen sind. Bei einem paral-
lelen Korpus hingegen stehen die Dokumente als bersetzungen zur Verfgung. Das heit,
dass es zu jedem Dokument (im Idealfall) eine inhaltlich gleichwertige bersetzung in alle
anderen Sprachen gibt. Ein Beispiel hierfr wren ozielle Dokumente der Europischen
Union, die in allen Sprachen der Mitgliedslndern verentlicht werden mssen. Gibt es
nicht zu allen Dokumenten bersetzungen, sondern sind nur zu einigen Dokumenten und
Sprachen die inhaltliche bereinstimmung bekannt, so wird gelegentlich auch die Bezeich-
nung ausgerichteter Korpus (aligned corpus) verwendet. Ein prominentes Beispiel in diesem
Fall wren die Wikipedia-Projekte in unterschiedlichen Sprachen, da hier zwischen den Ein-
trgen in den einzelnen Sprachen durch Querverweise auf bekannte gleichwertige Eintrge
in anderen Sprachen verwiesen wird.
Zur Evaluation von CLIR Systemen geht man prinzipiell wie bei regulren IR Systemen
vor, die auf einsprachigen Korpora arbeiten. Das heit, man stellt gem dem Craneld
Paradigma ein Testkorpus mit Dokumenten, eine Sammlung von Anfragen und zugehri-
gen Relevanzurteilen zur Verfgung. Lediglich die Sprache der Anfragen und Dokumente
sind unterschiedlich. Das europische Cross Language Evaluation Forum (CLEF) [CLEF09]
stellt im Rahmen eines jhrlichen Workshops solche Daten und zugehrige Tasks zur Verf-
gung. Der NTCIR Workshop [NP09] hat einen hnlichen Fokus, allerdings sind hier strker
asiatische Sprachen vertreten, vor allem Chinesisch, Japanisch und Koreanisch. Auch im
Rahmen der TREC [TRC09] Konferenz gab es schon CLIR Aufgaben zu meistern.
Hug werden zu Evaluationszwecken Bilinguale Szenarien aufgestellt, d.h. das Test-
korpus liegt beispielsweise in Englisch vor, die Anfragen in Deutsch. Da je nach Sprachen
die Aufgabe des CLIR unterschiedlich schwierig sein kann, hat man durch die bilingua-
le Auswertung die Chance die sprachbezogenen Strken und Schwchen eines Ansatzes
besser analysieren zu knnen. Um weiterhin die systematischen Vor- und Nachteile eines
verwendeten theoretischen Modells beurteilen zu knnen werden Vergleiche zwischen dem
monolingualen und bilingualen Einsatz gezogen. Das bedeutet, dass die Ergebnisse eines
CLIR Systems relativ zu den Ergebnissen des gleichen Aufbaus auf einem monolingualen
Evaluationsszenario angegeben werden. Damit lassen sich dann Aussagen treen, wieviel
193
12 Cross Language Information Retrieval
Performanz durch die Sprachunterschiede verloren geht. Je nach Aufgabe knnen moderne
CLIR Systeme ber 90% der MAP-Leistung eines monolingualen Systems erreichen.
12.2 CLIR auf der Basis von direkten bersetzungen
Der wahrscheinlich direkteste Ansatz fr CLIR besteht in der Erstellung von bersetzungen
mit Hilfe von computerbasierten bersetzungsprogrammen. Dabei soll an dieser Stelle auf
die bersetzung selbst zunchst noch nicht eingegangen werden, sondern wir gehen von
einer abstrakten Komponente aus, welche die Funktionalitt zur bersetzung von Texten
zur Verfgung stellt.
Wir gehen nun der Einfachheit halber immer vom bilingualen Fall aus, in dem die An-
frage in einer Sprache L
q
und die Dokumente in einer anderen Sprache L
D
vorliegen.
Prinzipiell knnte man sich dann drei Vorgehensweisen vorstellen, mit denen man an die
bersetzungen herangeht.
Nehmen wir also beispielsweise an, die Anfragen liegen auf Deutsch und die Dokumente
auf Englisch vor. Dann wre der in Abbildung 12.2 dargestellte Ansatz wohl der oen-
sichtlichste. Die Anfragen des Nutzers werden von der Sprache L
q
nach L
D
bersetzt, hier
also von Deutsch nach Englisch. Danach kann die bersetzte Query mit den Dokument-
darstellungen in Sprache L
D
in einem Matching Prozess verglichen und eine Ergebnisliste
abgeleitet werden. In diesem Fall muss fr jede Anfrage eine bersetzung durchgefhrt
werden.
Abbildung 12.2: bersetzung der Anfragen in die Sprache der Dokumente.
Alternativ knnte man wie in Abbildung 12.3 vorgehen. Die Dokumente werden whrend
der Vorverarbeitung in die Zielsprache des Nutzers bersetzt. Die interne Dokumentdar-
stellung beruht also auf der Sprache L
q
und nicht auf der Sprache L
D
. Das hat den Vorteil,
194
12.2 CLIR auf der Basis von direkten bersetzungen
dass der bersetzungsvorgang nur whrend der Indizierungsphase ansteht, nicht aber wh-
rend der Anfrage. Ein Nachteil dabei ist allerdings, dass die Sprache der Anfrage bereits
zum Zeitpunkt des Aufbaus des Index festgelegt wird. Ein Wechsel hin zu einer anderen
Sprache L

q
ist spter nicht mglich, ohne dass ein neuer Index aufgebaut werden muss. Ein
Ausweg wre es, fr jede mgliche Sprache der Anfrage einen eigenen Index aufzubauen
und zu pegen.
Abbildung 12.3: bersetzung der Dokumente in die Sprache der Anfrage.
Die Idee mehrere Indizes fr verschiedene Sprachen anzulegen wird auch in der drit-
ten Lsungsalternative angewendet. Wie in Abbildung 12.4 zu sehen gibt es hier parallel
Dokumentdarstellungen fr die verschiedenen Sprachen. Darber hinaus werden auch die
Anfragen bersetzt und es werden letztendlich zwei Matchings durchgefhrt. Einerseits
werden die bersetzten Anfragen mit den Darstellungen der Originaldokumente verglichen
und andererseits die unvernderten Anfragen gegen die bersetzten Dokumentdarstellun-
gen. Anschlieend mssen die beiden Ergebnislisten noch miteinander kombiniert werden.
Dabei hilft auch die Verknpfung der Dokumentdarstellung in den verschiedenen Sprachen.
Zu jeder Darstellung ist bekannt wie die Darstellung in einer anderen Sprache aussieht,
so dass man im Endeekte auf einem knstlich erzeugten, parallelen Korpus arbeitet. Der
Aufwand fr diesen Ansatz ist sicherlich am hchsten, da sowohl die Dokumente als auch
die Anfragen bersetzt werden mssen und fr jede Sprachvariante ein eigener Index an-
gelegt und gepegt werden muss. Allerdings besteht auch gerade dadurch die Honung,
dass Schwchen in der bersetzung auf mindestens einem der Wege weniger stark ausfallen
knnen und sich somit die Ergebnismenge insgesamt verbessert.
Um die bersetzungen zu erzeugen kann man sehr unterschiedlich vorgehen. Der ein-
fachste Ansatz beruht auf einer wortweisen bersetzung basierend auf einem Wrterbuch
fr die Ursprungs- und Zielsprache. Bereits hier stt man schnell auf das Problem, dass
195
12 Cross Language Information Retrieval
Abbildung 12.4: bersetzung sowohl der Anfragen als auch der Dokumente.
es zu einem Wort in einer Sprache mehrere bersetzungsmglichkeiten gibt. Auf dieses
Problem kann man mit einer Gewichtung reagieren, welche gelugere Bedeutungen und
bersetzungen hher gewichten als seltene. So knnen mehrere bersetzungsmglichkei-
ten eines Anfrageterms ber unterschiedlichen Gewichtungen mit den Dokumenttermen
verrechnet werden.
Darber hinaus stellt sich die Frage wie man das Wrterbuch anwendet. Werden die
Terme im Wrterbuch und in den Dokumenten ber Stemming auf einen (hoentlich kor-
rekten) gemeinsamen Stamm reduziert, um die bersetzung durchzufhren, oder listet
das Wrterbuch bersetzungen fr jede Wortform auf? Wie knnen Variationen in der
Gro-und Kleinschreibung behandelt werden? Wie wird mit Eigennamen umgegangen?
Letzterer Punkt klingt einfacher als er tatschlich ist. Viele Namen von Lndern und
Stdten werden beispielsweise bersetzt. Was in Deutsch als Mailand bezeichnet wird
heit auf Englisch Milan und auf Italienisch Milano. Auch bei Personen tritt dieses
Phnomen gelegentlich auf, dem deutschen Friedrich II. (der Groe) steht die engli-
sche Form Frederick II. oder die italienische Fassung Federico II. gegenber. Auch bei
Transliteration, also der bersetzung eines Namens in ein anderes Alphabet, knnen solche
Probleme auftreten. Dies passiert wenn beispielsweise die Aussprache des Originalnamens
in der Zielsprache nachgebildet werden soll. Ein Beispiel hierfr wren die geringfgig
unterschiedlichen Transliteration des Namens Andrei Markow vom kyrillischen in das
196
12.3 Language Models fr CLIR
lateinische Alphabet, der anders als im Deutschen auf Englisch meist Andrey Markov
und auf Italienisch Andrej Markov ausgeschrieben wird.
Etwas mehr Aufwand muss man betreiben, wenn man nicht wort- sondern satz- oder
abschnittsweise bersetzt. Hierzu werden NLP Techniken eingesetzt die deutlich ber den
Rahmen dieser Veranstaltung hinausgehen. So mssen Satzstrukturen und Zusammenhn-
ge zwischen einzelnen Wrtern erkannt werden um eine mglichst sinngeme bersetzung
erzeugen zu knnen. Entsprechende Software wird dann selten fr ein IR System entwickelt
sondern als Bibliothek oder Service integriert. Im wissenschaftlichen Bereich erfreut sich
der webbasierte bersetzungsdienst von Google derzeit recht groer Beliebtheit, da er sehr
einfach in bestehende Anwendungen eingebunden werden kann.
Wenn man mit Dokumenten in verschiedenen, exotischen Sprachen arbeiten muss, kann
es schnell passieren, dass nicht fr jede Sprachkombination eine Komponente fr die di-
rekte bersetzung zu nden ist. In diesen Fllen wird man einen Umweg ber eine dritte
Sprache whlen mssen, die sogenannte Pivot-Sprache. Alle Texte werden zunchst in die
Pivot-Sprache bersetzt und von dort aus in die eigentliche Zielsprache. Die Fehler, Unge-
nauigkeiten oder Verluste an Semantik die durch zwei bersetzungsschritte auftreten sind
in der Regel erwartungsgem hher als bei einer direkten bersetzung.
Egal wie die bersetzungen gewhlt und durchgefhrt werden, letztendlich erhlt man
immer eine bersetzte Fassung eines Dokumentes, welches dann als Bag of Words oder in
einer anderen Darstellung im IR System hinterlegt werden kann. Prinzipiell kann danach
also jedes theoretische IR-Modell angewendet werden um ein CLIR System umzusetzen.
12.3 Language Models fr CLIR
Ein theoretisches Modell in das sich eine wortweise bersetzung sehr schn integriert lt,
ist der LM Ansatz aus Kapitel 11. Da die Idee des LM Ansatzes darauf beruht, die Wahr-
scheinlichkeit fr die Erzeugung der Anfrage aus einem Dokument zu berechnen, lsst sich
hier die bersetzung als ein weiterfhrender Schritt einfgen. Das heit, man berechnet
fr den Cross Language Einsatz von LM fr jedes Dokument die Wahrscheinlichkeit die
Anfrage zu erzeugen und diese in die verwendete Anfragesprache zu bersetzen.
Betrachten wir zunchst noch einmal die monolinguale Retrievalfunktion fr LM unter
Einsatz des Jelinek-Mercer Smoothings und ohne Vorgewichtung der Dokumente:
(d, q) =

t
i
q
( P
M
d
(t
i
) + (1 ) P
M
C
(t
i
))
tf
q
(t
i
)
Wenn wir nun davon ausgehen, dass das Dokument d in Sprache L
D
und die Anfrage q
in Sprache L
q
vorliegen, dann mssen wir auch zwischen den Termen in Sprache L
D
und L
q
unterscheiden. Wir versehen daher die Termbezeichnungen t nun zustzlich entsprechend
mit einem Indexsymbol D oder q, d.h. wir bezeichnen mit t
q
i
den i-ten Term in Sprache L
q
und mit t
D
j
den j-ten Term in Sprache L
D
. Aus der obigen Formel wird also:
197
12 Cross Language Information Retrieval
(d, q) =

t
q
i
q
( P
M
d
(t
q
i
) + (1 ) P
M
C
(t
q
i
))
tf
q
(t
q
i
)
Somit ist klar, dass die Retrievalfunktion eigentlich komplett ber Termen in der An-
fragesprache L
q
arbeitet. Die Sprachmodelle M
d
und M
C
jedoch basieren bisher noch auf
Termen in der Sprache L
D
der Dokumente. Das heit an dieser Stelle muss eine Anpassung
stattnden. Das Modell M
d
sollte die Wahrscheinlichkeit modellieren die Anfrageterme aus
dem Dokument d zu erzeugen. Zustzlich zur Frage der Erzeugung einer Anfrage (in Spra-
che L
D
) mssen wir nun noch die Wahrscheinlichkeit berechnen, dass die Terme dieser
Anfrage aus L
D
in die Terme der tatschlichen Anfrage in Sprache L
q
bersetzt werden.
Formal brauchen wir also eine Wahrscheinlichkeit P
tr
(t
D
j
t
q
i
), mit welcher der Term t
D
j
nach t
q
i
bersetzt wird. Dann ergibt sich fr einen Term der Anfrage die Erzeugungswahr-
scheinlichkeit:
P
M
d
(t
q
i
) =

t
D
j
V
_
P
M
d
(t
D
j
) P
tr
(t
D
j
t
q
i
)
_
Anschaulich gesehen, berechnet man fr jeden Term t
D
j
im Dokument d die Wahrschein-
lichkeit dieses Wort zu erzeugen und dieses danach in den Term t
q
i
zu bersetzen. Das ganze
kann man dahingehend vereinfachen, dass man nicht alle Terme in d betrachtet, sondern
nur die, fr die es auch tatschlich eine bersetzung gibt
1
. Bezeichnen wir mit tr
1
(t
q
i
) die
Menge aller Terme aus L
D
die nach t
q
i
bersetzt werden knnen, so erhlt man:
P
M
d
(t
q
i
) =

t
D
j
tr
1
(t
q
i
)
_
P
M
d
(t
D
j
) P
tr
(t
D
j
t
q
i
)
_
hnlich knnte man fr die Wahrscheinlichkeiten aus dem Modell M
C
vorgehen, welches
das Auftreten von im Dokument nicht beobachten Termen modellieren soll. Verfgt man
jedoch ber einen geeigneten vergleichbaren Referenzkorpus C
q
in der Sprache L
q
, so kann
man hierfr direkt ein globales Modell M
q
C
einsetzen und braucht nicht den Umweg ber
eine bersetzung zu gehen. Das bedeutet, dass man die Auftrittswahrscheinlichkeiten der
Terme fr das Smoothing ber die Korpusfrequenzen im Referenzkorpus in Sprache L
q
berechnet. Fasst man all dies zusammen, erhlt man fr den CLIR Fall im Language
Model Ansatz folgende Retrievalfunktion:

CL
(d, q) =

t
q
i
q
_
_
_

t
D
j
tr
1
(t
q
i
)
_
P
M
d
(t
D
j
) P
tr
(t
D
j
t
q
i
)
_
+ (1 ) P
M
q
C
(t
q
i
)
_
_
_
tf
q
(t
q
i
)
1
Andernfalls ist die Wahrscheinlichkeit P
tr
(t
D
j
t
q
i
) = 0 und hat auf das Ergebnis der Summe keinen
Einuss.
198
12.3 Language Models fr CLIR
CLIR auf der Basis des LM Ansatzes
Wie im theoretischen Teil vorgegeben, betrachten wir Dokumente in englischer Spra-
che, in denen ber deutsche Anfragen gesucht werden soll. Das (englischsprachige)
Vokabular V
D
besteht aus den Termen forest, grade, note, piano, wing und
wood. Die Dokumente sehen in ihrer Bag of Words Darstellung folgendermaen aus:
1. note, note, piano, piano
2. forest, wing, wood, wood, wood
3. grade, piano, piano, piano
4. forest, forest, note, note, note, wood
5. grade, grade, note, note, note, wing, wing
Aus diesen Dokumentdarstellungen knnen wir nun (englische) Language Models
entwickeln, und die Auftrittswahrscheinlichkeiten ber die Termfrequenzen in den
Dokumenten abschtzen.

P(forest)

P(grade)

P(note)

P(piano)

P(wing)

P(wood)
M
d
1
: 0 0 0, 5 0, 5 0 0
M
d
2
: 0, 2 0 0 0 0, 2 0, 6
M
d
3
: 0 0, 25 0 0, 75 0 0
M
d
4
: 0, 33 0 0, 5 0 0 0, 17
M
d
5
: 0 0, 29 0, 43 0 0, 29 0
Fr das deutsche Vokabular V
q
verwenden wir die Terme Flgel, Holz, Klavier,
Note, Notiz und Wald. Nun bentigen wir noch ein Wrterbuch, das jedem
englischen Term deutsche bersetzungen zuweist. Zustzlich brauchen wir eine An-
gabe, wie wahrscheinlich die jeweilige bersetzung ist. Wir geben die bersetzungen
nun mit den zugehrigen Wahrscheinlichkeiten in Klammern an, sofern es mehrere
bersetzungen gibt:
forest: Wald
grade: Note
note: Note (0,2) ; Notiz (0,8)
piano: Flgel (0,4) ; Klavier (0,6)
wing: Flgel
wood: Holz (0,9) ; Wald (0,1)
199
12 Cross Language Information Retrieval
Damit lassen sich nun die bersetzungen in die Sprachmodelle integrieren und so-
mit sprachbergreifende LM bestimmen, die zu englischsprachigen Dokumenten eine
Wahrscheinlichkeit angeben, eine deutsche Anfrage zu erzeugen. Fr Dokument d
1
und den Term Flgel gehen wir die Berechnung detailliert durch. Es gibt zwei
Terme in V
D
die in Flgel bersetzt werden knnen, nmlich wing und piano.
Daher ergibt sich:
P
M
d
1
(Flgel) = P
M
d
1
(wing) P
tr
(wing Flgel) + P
M
d
1
(piano) P
tr
(piano Flgel)
= 0 1 + 0, 5 0, 4
= 0, 2
Fhrt man diese Berechnungen fr alle Dokumente, alle Terme und alle in Frage
kommenden bersetzungen durch, so erhlt man folgende Wahrscheinlichkeitsscht-
zungen fr die sprachbergreifenden LM zu den einzelnen Dokumenten:

P(Flgel)

P(Holz)

P(Klavier)

P(Note)

P(Notiz)

P(Wald)
M
d
1
: 0, 2 0 0, 3 0, 1 0, 4 0
M
d
2
: 0, 2 0, 54 0 0 0 0, 26
M
d
3
: 0, 3 0 0, 45 0, 25 0 0
M
d
4
: 0 0, 15 0 0, 1 0, 4 0, 35
M
d
5
: 0, 29 0 0 0, 37 0, 34 0
Fr das globale Modell M
C
brauchen wir darber hinaus noch Schtzer fr das gene-
relle Auftreten der einzelnen deutschen Terme. Hierfr nehmen wir folgende cf Werte
ber einem vergleichbaren Referenzkorpus an:
cf(Flgel) = 5
cf(Klavier) = 3
cf(Holz) = 5
cf(Note) = 4
cf(Notiz) = 7
cf(Wald) = 2
ber die Anzahl aller Wrter im Referenzkorpus (hier 26) knnen dann die Wahr-
scheinlichkeiten fr das Modell M
C
geschtzt werden. Rechnet man auch diese noch
ber Jelinek-Mercer Smoothing bei einem Parameterwert von = 0, 5 in die Sprach-
modelle ein, so erhlt man letztendlich folgende Wahrscheinlichkeiten:
200
12.4 Cross Language Explicit Semantic Analysis

P(Flgel)

P(Holz)

P(Klavier)

P(Note)

P(Notiz)

P(Wald)
M

d
1
: 0, 196 0, 096 0, 208 0, 127 0, 335 0, 038
M

d
2
: 0, 196 0, 366 0, 058 0, 077 0, 135 0, 168
M

d
3
: 0, 246 0, 096 0, 283 0, 202 0, 135 0, 038
M

d
4
: 0, 096 0, 171 0, 058 0, 127 0, 335 0, 213
M

d
5
: 0, 239 0, 096 0, 058 0, 263 0, 306 0, 038
Formuliert man nun eine Anfrage, so kann man fr die Rankingfunktion zu jedem
englischen Dokumente die Wahrscheinlichkeit berechnen, die deutsche Anfrage zu
generieren. Die Berechnung verluft nun vllig analog zum monolingualen Fall und
fr die Anfrage q = Flgel Notiz Holz erhielten wir folgendes Ranking:

CL
(d
1
, q) = 0, 00631

CL
(d
2
, q) = 0, 00967

CL
(d
3
, q) = 0, 00319

CL
(d
4
, q) = 0, 00551

CL
(d
5
, q) = 0, 00703
Das bedeutet, dass zu dieser Anfrage das Dokument d
2
als am relevantesten angesehen
wird, gefolgt von den Dokumenten d
5
, d
1
, d
4
und zuletzt d
3
. Auch inhaltlich lsst sich
dieses Ranking recht gut nachvollziehen, insbesondere wenn man die angenommenen
Wahrscheinlichkeiten fr die bersetzung mit bercksichtigt.
12.4 Cross Language Explicit Semantic Analysis
Ein anderer Ansatz fr CLIR basiert auf der Expliziten Semantischen Analyse (explicit
semantic analysis, ESA) [GM07]. Bei der ESA handelt es sich um einen Ansatz der dafr
gedacht war die semantische hnlichkeit zwischen einzelnen Wrtern oder ganzen Texten
zu bestimmen allerdings zunchst nur zwischen Texten in der gleichen Sprache. Wir
betrachten hier zunchst den monolingualen Fall, um dann die Cross Language Erweiterung
zu ergnzen.
Die Idee des ESA basiert auf der semantischen Verwandtschaft eines Textes zu soge-
nannten Konzepten. Die Konzepte sollen in gewissem Sinne die natrlichen Kategorien
nachbilden in denen wir Menschen denken. So erkennt man beispielsweise leicht, dass die
Ttigkeiten Aufsatz verfassen, Buchtext erstellen und Zeitungsartikel schreiben dem
Konzept Text erstellen zuzuordnen sind. Denkt man ein wenig darber nach, so wird
201
12 Cross Language Information Retrieval
Abbildung 12.5: Explizite Semantische Analyse: Dokumente werden auf gemeinsame hn-
lichkeiten zu abstrakten Konzepten verglichen.
klar, dass die Konzepte sehr unterschiedlich sein knnen. Neben konkreteren Konzepten
wie Gebude, Tier oder Fluss kann man sich Konzepte fr Ttigkeiten wie Fortbewegung,
Schwimmen oder Tanzen und schlielich abstrakte Konzepte wie Frieden oder Information
vorstellen.
Fr die Bestimmung der semantischen Nhe zweier Texte d
1
und d
2
verwendet man in
der ESA eine feste Menge C = c
1
, c
2
, c
3
, . . . , c
n
von Konzepten und bestimmt wie in Ab-
bildung 12.5 gezeigt die Verwandtschaft der Texte zu jedem dieser Konzepte. Drckt man
die Verwandtschaft mit einem Konzept als numerischen Wert aus, so erhlt man letztend-
lich eine Vektordarstellung zu jedem Dokument in der Form

d
i
= (w
i1
, w
i2
, w
i3
, . . . , w
in
),
wobei der Eintrag w
ij
den Wert fr die Verwandtschaft von Dokument d
i
zu Konzept c
j
darstellt. Der Vektorraum, in dem die Dokumente in dieser Form dargestellt werden wird
auch als Konzeptraum bezeichnet. Die Nhe zweier Dokumente kann dann ber eine hn-
lichkeitsfunktion im Konzeptraum berechnet werden, beispielsweise ber das Cosinusma
(siehe Kapitel 5). Letztendlich weist man Dokumenten eine semantische Nhe zu, wenn sie
eine hnliche Verwandtschaft zu den gleichen Konzepten aufweisen.
Die Wahl der Konzepte und die Berechnung der Konzeptverwandtschaft stellen oen-
sichtlich wichtige Zutaten in der ESA dar. Schlielich wirken sie sich direkt auf die Kon-
zeptraumdarstellung der Texte aus. Bei der Einfhrung der ESA wurden klassische IR-
Techniken zur Verwandtschaftsberechnung verwendet und Konzepte ber Artikel in der
Wikipedia realisiert.
202
12.4 Cross Language Explicit Semantic Analysis
Die Wikipedia so die Argumentation stellt die grte, frei verfgbare Sammlung
menschlichen Wissens dar. Jeder Artikel befasst sich mit einem bestimmten Thema, das
meist ausfhrlich aber fokussiert erlutert wird. Daher werden die Artikel als Darstellung
von Konzepten betrachtet. Um die Verwandtschaft zwischen einem Wort oder einem Text
und einem Konzept zu bestimmen, verwendet man gewissermaen die Retrievalfunktion
aus dem Vektorraummodell. Man berechnet zunchst TF-IDF Gewichte zu den Termen
der Konzeptdokumente, d.h. ber dem Korpus der Wikipedia-Artikel. Die beiden Texte,
deren inhaltliche Nhe man bestimmen mchte, interpretiert man dann quasi als Anfragen,
bestimmt die TF-IDF Werte fr die darin enthaltenen Werte und berechnet das Skalar-
produkt zwischen diesen Texten und allen Termgewichten in den Konzeptdokumenten. So
erhlt man die Darstellung im Konzeptraum.
Formal bedeutet dies, dass man fr ein Konzept c
i
in dessen zugehrigen Konzeptdoku-
ment d(c
i
) die TF-IDF Werte w
TF-IDF
(t
j
, d(c
i
)) zu den enthaltenen Termen t
j
bestimmt.
Auf die gleiche Art und Weise geht man fr die zu vergleichenden Texte d
k
vor. Die Ver-
wandtschaft des Textes zu einem Konzept berechnet sich dann folgendermaen:
w
d
k
,c
i
=

t
j
d
k
w
TF-IDF
(t
j
, d(c
i
)) w
TF-IDF
(t
j
, d
k
)
Die Konzeptraumdarstellung eines Dokumentes ist dann wie in Abbildung 12.6 angedeu-
tet der Vektor mit den Verwandtschaftseintrgen zu jedem einzelnen Konzept (dargestellt
durch ihre Wikipediaartikel):

d
k
= (w
d
k
,c
1
, w
d
k
,c
2
, w
d
k
,c
3
, . . . , w
d
k
,c
n
)
Die semantische Nhe der beiden Dokumente d
1
und d
2
ergibt sich schlielich ber das
Cosinusma zwischen den Konzeptraumvektoren:
sim
ESA
(d
1
, d
2
) = cos(

d
1
,

d
2
) =

d
1


d
2
[

d
1
[[

d
2
[
Da man mit sim
ESA
prinzipiell auch Anfragen und Dokumente vergleichen kann eignet
sich ESA auch fr Ad Hoc Anfragen im IR, bei denen es nicht um semantische hnlichkeit
sondern um Relevanzabschtzungen zwischen Anfragen und Dokumenten geht.
Was den Ansatz fr CLIR so interessant macht, ist die Sprachunabhngigkeit des Kon-
zeptraumes. Denn auch wenn in der obigen Umsetzung die Konzepte durch sprachbasierte
Dokumente reprsentiert werden, sind die Konzepte selbst abstrakt und knnten auf die
unterschiedlichsten Arten und Weisen dargestellt werden.
Die CL-ESA [PSA08] setzt genau hierfr auf eine einfache und elegante Lsung, die sich
eine Eigenschaft des Wikipediaprojektes zu Nutze macht: es gibt mehrere Wikipedias in
verschiedenen Sprachen. Darber hinaus sind die Artikel sprachbergreifend miteinander
verknpft. Gibt es einen Artikel auf Deutsch und auf Englisch, dann verweisen die beiden
Artikel aufeinander. Betrachtet man die Gesamtheit aller Wikipediaartikel in verschiedenen
Sprachen, so handelt es sich damit um einen ausgerichteten Korpus.
203
12 Cross Language Information Retrieval
Abbildung 12.6: ESA auf Wikipedia Basis: Vergleich zweier Dokumente ber deren Ver-
wandtschaft zu Konzeptdokumenten.
Wie in Abbildung 12.7 gezeigt kann dann die ESA sehr einfach sprachbergreifend rea-
lisiert werden. Dokumente, die beispielsweise in deutscher Sprache vorliegen, werden ber
die deutschsprachigen Wikpediaartikel mit einem Konzept verglichen und englischsprachi-
ge Dokumente ber die Inhalte der englischen Wikipedia. Damit kann fr jede Sprache
ein Vektor im Konzeptraum aufgebaut wird, bei dem jeder Eintrag die Nhe zum gleichen
Konzept darstellt.
Von der formalen Seite der Berechnung her ndert sich damit fast nichts an der ESA,
es mssen lediglich die richtigen Sprachen fr die Konzeptdarstellung ausgewhlt werden.
Liegt ein Dokument in Sprache L vor, so muss fr die Berechnung der Eintrge im Kon-
zeptraum entsprechend das Konzeptdokument d
L
(c
i
) in der passenden Sprache verwendet
werden:
w
d
k
,c
i
=

t
j
d
k
w
TF-IDF
(t
j
, d
L
(c
i
)) w
TF-IDF
(t
j
, d
k
)
CL-ESA
Selbst fr ein einfaches Beispiel zur CL-ESA brauchen wir eine ganze Reihe an Do-
kumenten. Da wren einerseits die Dokumentdarstellungen der Konzepte, jeweils in
verschiedenen Sprachen sowie die eigentlichen Dokumente fr die es eine semantische
hnlichkeit zu berechnen gilt. Um das Beispiel dennoch halbwegs bersichtlich zu
204
12.4 Cross Language Explicit Semantic Analysis
Abbildung 12.7: CL-ESA: Die Konzepte werden durch verknpfte Artikel in verschieden-
sprachigen Wikipedias dargestellt.
halten, verwenden wir nur sehr wenige Konzepte und schrnken auch das Vokabular
in den Dokumenten sehr stark ein.
Wir verwenden lediglich die drei in den Abbildungen 12.5 bis 12.7 dargestellten Kon-
zepte: Baum, Haus und Katze. Zur Darstellung der Konzepte verwenden wir
Auszge aus den gleichnamigen Wikipedia-Artikeln auf Deutsch sowie den Artikeln
Tree, House und Felidae
2
auf Englisch. ber diesen beiden Korpora wurde je-
weils das Vokabular sehr stark reduziert und besteht aus wenigen, handverlesenen
Termen, die in einem oder mehreren Dokumenten mehrfach vorkamen. Zu diesen
Termen wurde jeweils die Termfrequenz in den Konzeptdarstellungen bestimmt, so
dass sich fr die elf Terme in V
DE
in den Artikeln der deutschen Wikipedia folgendes
Bild ergibt:
2
Der deutsche Wikipedia Artikel Katze entspricht dem englischen Felidae Eintrag, whrend der englische
Artikel mit dem Titel Cat dem deutschen Hauskatzenartikel gleichzusetzen ist.
205
12 Cross Language Information Retrieval
Term d
DE
(c
1
) : Katze d
DE
(c
2
) : Haus d
DE
(c
3
) : Baum
Baum 0 0 122
Familie 11 4 9
Fell 3 0 0
Gebude 0 13 0
Haus 7 88 0
Holz 0 3 45
Katze 99 0 0
Krone 0 0 14
Raubtier 5 0 0
Stamm 5 0 23
Wurzel 0 0 30
Fr die englischen Konzeptdokumente wurden zwlf Terme in das Vokabular V
EN
aufgenommen, die folgendermaen verteilt sind:
Term d
EN
(c
1
) : Felidae d
EN
(c
2
) : House d
EN
(c
3
) : Tree
buidling 0 13 1
carnivorous 4 0 0
cat 33 0 0
construction 0 15 12
family 5 7 0
house 0 58 0
human 1 5 2
plant 0 0 17
size 3 0 5
species 14 0 15
tree 1 0 143
wood 0 5 23
Aus diesen Daten wurden nun (wie in Kapitel 5) TF-IDF Werte fr die Terme in
den einzelnen Konzepten errechnet. Da einige Terme in alle Konzeptdokumenten
auftreten, wurde die Anzahl der Dokumente im Korpus fr die IDF Berechnung in
diesem Beispiel nicht mit 3 sondern mit einem Wert von 4 angesetzt. Andernfalls
wre der IDF Wert dieser Terme auf 0 gesunken und htte damit alle zugehrigen
TF-IDF Werte ebenfalls auf 0 gedrckt. Die geringe Anzahl an Dokumenten und die
dadurch verschobenen Werte fr die Dokumentfrequenzen rechtfertigen diesen Schritt
zum Zwecke des Beispiels.
Daraus ergeben sich die Gewichtswerte der Terme fr die deutschen Korpusdokumen-
te in der Form von:
206
12.4 Cross Language Explicit Semantic Analysis
Term d
DE
(c
1
) d
DE
(c
2
) d
DE
(c
3
)
Baum 0 0 73, 45
Familie 1, 37 0, 5 1, 12
Fell 1, 81 0 0
Gebude 0 7, 83 0
Haus 2, 11 26, 49 0
Holz 0 0, 9 13, 55
Katze 59, 6 0 0
Krone 0 0 8, 43
Raubtier 3, 01 0 0
Stamm 1, 51 0 6, 92
Wurzel 0 0 18, 06
und fr die englischen Dokumente:
Term d
EN
(c
1
) d
EN
(c
2
) d
EN
(c
3
)
buidling 0 3, 91 0, 3
carnivorous 2, 41 0 0
cat 19, 87 0 0
construction 0 4, 52 3, 61
family 1, 51 2, 11 0
house 0 34, 92 0
human 0, 12 0, 62 0, 25
plant 0 0 10, 24
size 0, 9 0 1, 51
species 4, 21 0 4, 52
tree 0, 3 0 43, 05
wood 0 1, 51 6, 92
Die Dokumente fr die wir die semantischen hnlichkeiten berechnen wollen, kommen
fr dieses Beispiel ebenfalls aus der Wikipedia. Es handelt sich zunchst jeweils um
den deutschen und englischen Artikel zum Thema Kratzbaum, bzw. Scratching
Post, die wir nun mit d
1
und d
2
bezeichnen. Die Dokumente bestehen aus folgen-
den Termen des deutschen und englischen Vokabulars, die Termfrequenzen sind in
Klammern angegeben:
d
1
: Baum(2), Katze (3)
d
2
: cat (10), tree (1), wood (2)
Berechnet man nun die TF-IDF Termgewichte dieser beiden Dokumente ber dem
deutschen und englischen Korpus der Konzeptdokumente, so erhlt man folgende
Vektordarstellung bezglich des Vokabularraumes:
207
12 Cross Language Information Retrieval

d
V
DE
1
=
_
1, 2 0 0 0 0 0 1, 81 0 0 0 0
_

d
V
EN
2
=
_
0 0 6, 02 0 0 0 0 0 0 0 0, 3 0, 6
_
ber die Skalarprodukte dieser Darstellung der Dokumente mit der entsprechen-
den Reprsentation der Konzeptdokumente gelangt man zur Darstellung im Konzep-
traum:

d
C
1
=
_
107, 66 0 88, 44
_

d
C
2
=
_
119, 71 0, 91 17, 13
_
Da die Konzeptraumdarstellungen auf dem gleichen Vektorraum basieren, knnen die
Vektoren nun miteinander verglichen werden. Bestimmt man das Cosinusma auf

d
C
1
und

d
C
2
, so erhlt man:
sim
CL-ESA
(d
1
, d
2
) =

d
C
1


d
C
2
[

d
C
1
[[

d
C
2
[
= 0, 855
Den beiden Dokumenten, die in der Tat das gleiche Thema in verschiedenen Spra-
chen behandeln wird also eine recht hohe semantische hnlichkeit beschieden. Neh-
men wir noch ein weiteres Dokument d
3
hinzu: den deutschen Wikipedia Artikel
Stammbaum. Dieser enthlt folgende Terme des deutschen Vokabulars:
d
3
: Baum (12), Familie (2), Stamm (15), Wurzel (1)
berfhrt man dieses Dokument zunchst in die Vektordarstellung im deutschen
Vokabularraum und dann in den Konzeptraum, so gelangt man zu folgendem Vektor:

d
C
3
=
_
7, 14 0, 12 573, 08
_
Bestimmt man nun das Cosinusma zur Konzeptraumdarstellung zum englischen
Scratching Post Artikel d
2
, erhlt man eine deutlich geringere semantische hn-
lichkeit von:
sim
CL-ESA
(d
2
, d
3
) =

d
C
2


d
C
3
[

d
C
2
[[

d
C
3
[
= 0, 154
208
12.5 Zusammenfassung
12.5 Zusammenfassung
Beim Cross Language Information Retrieval liegen Anfragen und Dokumente in unter-
schiedlichen Sprachen vor. Das fhrt dazu, dass in irgendeiner Form zwischen den Sprachen
bersetzt werden muss. Die bersetzungen knnen auf der Seite der Anfragen geschehen,
so dass diese zu den Dokumenten passen. Ebenso knnen die Dokumente bereits vorab in
verschiedene Sprachen bersetzt werden und die Anfrage luft ber einem Index zur ent-
sprechenden Sprache. Schlielich knnen auch sowohl die Anfragen als auch die Dokumente
bersetzt werden, in der Honung semantische Verluste in der bersetzung der Anfragen
durch gute Dokumentbersetzungen ausgleichen zu knnen und umgekehrt.
Der IR Ansatz auf der Basis von Language Models lsst sich recht einfach und anschau-
lich um eine bersetzungskomponente erweitern. Die Idee besteht darin, die Wahrschein-
lichkeit aus einem Dokument eine Anfrage zu erzeugen darum zu ergnzen, die Anfrage in
eine andere Sprache zu bersetzen. Bei der CL-ESA hingegen wird ein ausgerichteter Kor-
pus verwendet um sprachbergreifend abstrakte Konzepte darzustellen und verschieden-
sprachige Dokumente werden ber ihre Verwandschaftsgrade zu den Konzepten in einem
sprachunabhngigen Konzeptraum verglichen.
209
12 Cross Language Information Retrieval
210
13 Textklassikation
Es gibt viele Anwendungen, bei denen Dokumente vorgegebenen Kategorien oder Klassen
zugewiesen werden mssen. Ganz allgemein wird die Bestimmung der Zugehrigkeit oder
Nicht-Zugehrigkeit von Objekten zu gegebenen Kategorien als Klassikation bezeichnet
eine Aufgabe die brigens nicht nur bei Texten von Interesse ist.
Wir werden in diesem Kapitel zunchst die Aufgabenstellung der Klassikation etwas
nher beschreiben und typische Anwendungsbeispiele kennen lernen. Danach beschftigen
wir uns mit der Evaluation von Klassikationsmodellen und stellen anschlieend verschie-
dene Anstze vor, mit denen sich Klassikatoren aus Beispieldaten automatisch ableiten
lassen.
13.1 Einfhrung in die Textklassikation
Bei der Klassikation von Texten ist die Aufgabenstellung anders als bei der bisher be-
trachteten Beantwortung von Ad Hoc Anfragen. Anstatt zu einem durch eine Anfrage
ausgedrckten Informationsbedrfnis relevante Dokumente zu suchen, sollen bei einer Klas-
sikationsaufgabe die Dokumente einer oder mehreren inhaltlich motivierten Kategorien
zugeordnet werden. Vereinfacht knnte man die Aufgabe wie in Abbildung 13.1 darstellen:
Ein Klassikator hier dargestellt durch muss fr ein gegebenes Dokument d aus
einer ebenfalls vorgegebenen Auswahl von Kategorien c
1
bis c
J
die inhaltlich passenden
heraussuchen.
Abbildung 13.1: Textklassikation: Ein Dokument d muss einer oder mehreren Kategorien
inhaltlich zugeordnet werden.
211
13 Textklassikation
Die Beschaenheit der Kategorien manchmal wird auch von Klassen gesprochen kann
sehr unterschiedlich sein. Die Kategorien knnen ach oder hierarchisch geordnet sein.
Ebenso knnen sich Kategorien berlappen, d.h. es kann Dokumente geben die in mehr als
einer Kategorie enthalten sind. Auch die Zahl der Kategorien kann je nach Aufgabe stark
variieren. Damit eine Unterscheidung einen Sinn ergibt werden zumindest zwei Kategorien
gebraucht
1
, nach oben sind der Zahl der Kategorien jedoch keine Grenzen gesetzt.
Beispiele aus der Praxis, in denen die Klassikation von Texten eine Rolle spielt, gibt
es viele. Mit eine der bekanntesten Anwendungen drften Spamlter in E-Mail Program-
men sein. Das Erkennen von unerwnschten Werbemails kann als eine Klassikation in die
Kategorien Spam und nicht Spam aufgefasst werden. In der Tat kommen fr diese An-
wendung hug auch Verfahren zur Textklassikation zum Einsatz. Neben inhaltsbasierten
Eigenschaften der Mails, wie beispielsweise das Auftreten bestimmter Schlagwrter, wer-
den zur Spamerkennung auch weitere Angaben aus den Metadaten und externe Expertise
genutzt, beispielsweise Blacklists mit bekannten Spamservern. ber die IP des Absenders,
das Datum der Mail oder die Form der Sender-Adresse kann so zustzliche Sicherheit fr
die Klassikation gewonnen werden.
Ein anderes Beispiel fr die binre Textklassikation mit nur zwei Kategorien sind
sogenannte vertikale (Web-)Suchmaschinen. Vertikale Suchmaschinen konzentrieren sich
auf ein bestimmtes Themengebiet, beispielsweise IT-Technologie. Dementsprechend wer-
den auch nur solche Dokumente in den Index aufgenommen, die in dieses Themenge-
biet passen. Daher muss hier schon bei der Vorverarbeitung der Dokumente die Entschei-
dung/Klassikation fallen, ob ein gegebenes Dokument sich mit dem vorgegebenen Thema
beschftigt oder eben nicht. Im Webumfeld gilt es, diese Entscheidung mglichst frh zu
treen, so dass unntige Arbeitsschritte vermieden werden. Im Idealfall kann bereits die
Crawler-Komponente abschtzen, welche URLs verfolgt werden mssen und welche vor-
aussichtlich nicht zu Dokumenten mit Themenbezug fhren. Solche Crawler, die sich auf
bestimmte Dokumentkategorien konzentrieren werden auch als gefhrte Crawler (guided
crawler) oder fokussierte Crawler bezeichnet [PS05]. Der allgemeine Vorteil einer verti-
kalen Suchmaschine liegt darin, dass die Anfragen innerhalb einer festen Themendomne
ausgewertet werden. Das heit, wenn ein Nutzer in einer Suchmaschine zum Thema Web-
technologie nach dem Begri Apache sucht, braucht er sich keine Gedanken zu machen,
dass in der Ergebnismenge neben Dokumenten ber Software der Apache Foundation auch
Dokumente zum nordamerikanischen Indianerstamm zu nden sind.
Eine themenbezogene Klassikation mit mehreren Kategorien kann man sich bei der
Analyse von Nachrichtenartikeln vorstellen. So knnten bei einer Zeitungsredaktion die
eingehenden Meldungen der Presseagenturen automatisch den Fachredakteuren zugeteilt
werden. Dazu mssten die Meldungen dann je nach vorhandenen Ressorts beispielsweise
in die Kategorien Politik, Wirtschaft, Sport oder Kultur klassiziert werden.
1
Es gibt durchaus Flle, in denen teilweise von One-Class Problems gesprochen wird, also die Klassi-
kation mit nur einer Klasse. Diese Interpretation bezieht sich darauf, dass Texte entweder in eine
vorgegebene Klasse passen oder nicht, wobei das Komplement der Klasse als zu heterogen gilt, um als
eigene Klasse aufgefasst zu werden. Dies ist beispielsweise bei der Autorenverikation der Fall [KS04].
212
13.1 Einfhrung in die Textklassikation
Die Klassikation von Text kann aber auch auf ganz anderer inhaltlicher Ebene ablau-
fen. So fllt auch die Zeichensatz- und Spracherkennung der Vorverarbeitung unter die
Klassikation von Texten. In diesen Fllen bestehen die Kategorien aus verschiedenen Zei-
chensatzkodierungen wie ASCII, UTF-8, UTF-16 oder ISO-8859-1, bzw. aus Sprachen wie
Deutsch, Englisch und Italienisch. Fr diese Anwendung werden keine Wrter sondern
andere Eigenschaften der Texte verwendet um die Klassikation durchzufhren.
Als weiteres Beispiel mit strkerem Bezug zum klassischen Information Retrieval kann
das Routing angefhrt werden. Beim Routing geht es, wie schon in der Einfhrung in
Kapitel 1 erwhnt, darum, zu einer feststehenden Anfrage die relevanten Dokumente aus
einem Strom von Dokumenten herauszultern (Weshalb diese Aufgabe teilweise auch als
Filtering bezeichnet wird). So knnte ein Nutzer eventuell ber alle neuen Artikel zum
Thema Webtechnologien informiert werden wollen, die auf einem allgemeinen Nachrich-
tenportal verentlicht werden. Routing kann deshalb als Klassikation aufgefasst werden,
da es zu einem gegebenen Dokument eigentlich nur zwei Entscheidungsmglichkeiten gibt:
entweder das Dokument ist relevant zur denierten Anfrage oder es ist irrelevant. Damit
handelt es sich auch hier wieder um eine Klassikation mit zwei Kategorien.
Ein letztes Anwendungsbeispiel fr Klassikation, das in den letzten Jahren etwas mehr
Beachtung gefunden hat, ist die Sentiment-Analyse. Hier geht es darum, die subjektive
Meinung oder Stimmung des Autors bezglich eines in einem Text behandelten Themas zu
erfassen. Das kann beispielsweise bei Filmrezensionen oder Produktbewertungen von Inter-
esse sein, um automatisch ein Stimmungsbild auf der Basis von groen Textdatenmengen
erheben zu knnen.
Es gibt noch viele weitere Beispiele fr Anwendungen in denen die Klassikation von
Texten eine Rolle spielt. Die prinzipielle Aufgabe der Klassikation sollte jedoch klar ge-
worden sein, ebenso wie die Praxisrelevanz dieses Themas. Als nchstes wollen wir die
Aufgabenstellung der Klassikation ein wenig przisieren und formal fassen.
Hierfr bleiben wir zunchst beim einfachsten Fall, in dem die Kategorien sich nicht ber-
lappen und es keine hierarchische Struktur auf den Kategorien gibt. Formal gesehen sieht
die Aufgabenstellung dann folgendermaen aus: Gegeben eine Menge D = d
1
, d
2
, . . . , d
n

von Dokumenten
2
und eine Menge C = c
1
, c
2
, . . . , c
J
von Kategorien, dann soll jedem
Dokument d
i
eine (inhaltlich passende) Kategorie c
j
zugeordnet werden. Dieser Zusam-
menhang kann auch als Funktion von D nach C ausgedrckt werden:
: D C
Will man diese Formalisierung auf berlappende Kategorien verallgemeinern, so kann
man jedem Dokument eine Teilmenge K aus C zuordnen und somit auch mehrere, bzw.
jede beliebige Kombination von Kategorien. Damit stellt in diesem Fall eine Abbildung
in die Potenzmenge T(C) dar.
2
Gelegntlich werden wir auch von der Klassikation einzelner Dokumente sprechen. Das steht in keinem
Wiederspruch zu dieser Denition, dann hat die Menge D eben ein Mchtigkeit von 1.
213
13 Textklassikation
: D T(C)
An dieser Stelle ergeben sich zwei zentrale Fragen aus dieser Formalisierung. Erstens,
wie bestimmt man ein solche Funktion , und zweitens, was bedeutet inhaltlich passend
in Bezug auf die Klassikation?
Die Bestimmung der -Funktion entspricht dem automatischen oder manuellen Erstellen
eines Modells, welches spter die Klassikation vornimmt. Da die manuelle Vorgehensweise
i.d.R. zu aufwndig ist wird hierfr sogenanntes maschinelles Lernen (Machine Learning,
ML) eingesetzt. Dazu wertet ein Algorithmus Beispieldaten aus, zu denen die Kategorien
bekannt sind und leitet daraus das Klassikationsmodell ab. Hug werden die abgeleiteten
Klassikationsmodelle unter dem gleichen Namen verwendet, wie das ML-Verfahren mit
dem sie erstellt wurden, also z.B. als SVM oder Naive-Bayes Klassikator.
Die angesprochenen Beispieldaten dienen dabei zum Trainieren des Modells. Diese Vor-
gehensweise wird auch als berwachtes Lernen (supervised learning) bezeichnet, da ein
menschlicher Nutzer durch die Vorgabe der Trainingsdaten das Verfahren anleitet und ge-
wissermaen als Lehrer fungiert. Anders sieht dies bei unberwachten Methoden aus, bei
denen ein Verfahren von sich aus Muster oder Regelmigkeiten erkennen soll. Dies ist
beispielsweise bei der Clusteranalyse der Fall, die wir in Kapitel 14 betrachten werden.
Trainingsdaten werden in der Regel von menschlichen Experten erzeugt. Sie weisen Do-
kumenten die passendste, bzw. mehrere passende Kategorien zu. Gelegentlich ndet man
auch den Ausdruck, dass die Daten mit einem Label versehen werden. Ein solche Annota-
tion von Dokumenten mit Kategorien kann ausdrcklich durch den Experten geschehen.
In manchen Anwendungsfllen fhren Menschen eine Klassikation jedoch fast unbewusst
und indirekt durch. Ein typisches Beispiel ist das Markieren einer E-Mail als Spam, oder
das Verschieben einer Mail in einen thematisch motivierten Unterordner. Diese Aktionen
knnen ebenfalls als Expertenvorgaben fr die Klassikation interpretiert werden und er-
zeugen somit Trainingsdaten.
Ein allgemeines Problem im Bereich des Machine Learning ist das bertrainieren, auch
als overtting bezeichnet. Ein Klassikator (oder auch andere Konstrukte) sind bertrai-
niert, wenn sie sich bei der Klassikation zu stark an den Trainingsdaten orientieren. Das
ist kontraproduktiv, da die Trainingsdaten lediglich als Ausprgung eines allgemeineren
Konzeptes dienen sollen. Bei der Klassikation werden also einzelne Dokumente beispiel-
haft fr Dokumente in einer bestimmten Kategorie (z.B. Spam, Politik oder englischspra-
chige Texte) herangezogen. Entsprechend muss beim Maschinellen Lernen eine gewisse
Verallgemeinerung der gesehenen Trainingsdaten stattnden. Andernfalls drfte die Klas-
sikationsleistung auf neuen Daten schlecht ausfallen. Abbildung 13.2 stellt das Problem
anschaulich dar, indem es die erlernten Zusammenhnge der Trainingsdaten als gestrichelte
Linie visualisiert. Im rechten Bild 13.2(b) wird auf ein allgemeines Konzept generalisiert, im
linken 13.2(a) richtet sich die Klassikation zu stark nach den Trainingsbeispielen. Entspre-
chend wird in einem Fall das durch den grauen Punkt dargestellte, neue Dokument einer
Kategorie zugewiesen, whrend dies im anderen Fall nicht geschieht. Overtting kann im
214
13.2 Evaluation von Klassikation
Extremfall als auswendig lernen angesehen werden, d.h. es werden nur solche Dokumente
einer bestimmten Klasse zugeordnet, die bereits beim Training beobachtet wurden.
(a) (b)
Abbildung 13.2: Veranschaulichung des Overttingproblems.
Bisher sind wir hauptschlich von Klassikationen ausgegangen, in den die Kategori-
en sich nicht berschneiden. Das wird auch fr den Rest des Kapitels so bleiben, denn
berschneidende Kategorien knnen als ein Spezialfall der binren Klassikation ange-
sehen werden. Schlielich gengt es fr jede Kategorie die individuelle Entscheidung zu
treen, ob ein Dokument dieser Kategorie zugewiesen werden soll oder nicht. Damit fllt
die Mehrfachklassikation in n Kategorien auf n-faches binres Klassizieren zurck.
13.2 Evaluation von Klassikation
Die Bestimmung, ob die Klassikationen eines gegebenen Modells inhaltlich passend sind,
beruht auf der Auswertung von zuvor ungesehenen Daten. Das bedeutet man verwendet
wiederum Dokumente zu denen die Klasse bekannt ist, die aber beim Training nicht zum
Einsatz kamen. Mit diesen Testdaten kann dann gemessen werden, wie oft ein Klassika-
tionsmodell einem Datensatz die richtige Kategorie zuweist. Wie auch bei der Evaluation
von IR-Systemen gibt es hierfr einige Mae, die durchaus sehr hnlich aussehen.
Betrachten wir zunchst den einfachsten Fall der binren Klassikation. Wir mssen
ein gegebenes Dokument d in eine der beiden Klassen c
1
und c
2
einteilen. Im Falle der
binren Klassikation wird hug auch einfach nur zwischen zwischen c
1
und nicht c
1

unterschieden. Schlielich ergibt sich aus nicht c


1
automatisch die Schlussfolgerung, dass
das Dokument der Klasse c
2
zugeordnet werden muss. Aus der bekannten, vorgegebenen
Zugehrigkeit des Dokuments zu einer Klasse und der im Klassikationsverfahren ermittel-
ten Klasse ergeben sich insgesamt vier mgliche Ergebnisse des Klassikationsvorganges.
Wenn d zu c
1
gehrt und dieser Kategorie auch zugeordnet wurde, dann ist dies ein wn-
schenswertes, korrektes Ergebnis, ebenso wie der Fall, dass d zu c
2
gehrt und c
2
zugewiesen
215
13 Textklassikation
wurde. Ein Fehler passiert, wenn d zu c
1
gehrt aber in c
2
eingruppiert wird, bzw. im um-
gekehrten Fall, wenn d eigentlich in c
2
gehrt aber als c
1
klassiziert wird. Werden mehrere
Testklassikationen durchgefhrt, dann lassen sich alle Ergebnisse in einer Confusion Ma-
trix darstellen, wie sie in Tabelle 13.1 zu sehen ist. Interpretiert man die Klassikation wie
zuvor erwhnt als die Unterscheidung zwischen c
1
und nicht c
1
, dann wird die Analogie
zur Confusion Matrix aus Kapitel 6, Tabelle 6.2 mit den Auassungen von relevanten und
irrelevanten Dokumenten direkt klar.
Tabelle 13.1: Confusion Matrix fr die Ergebnisse binrer Klassikation.
Tatschliche Zugehrigkeit
c
1
c
2
Klassikationsergebnis
c
1
korrekt Fehler
c
2
Fehler korrekt
Entsprechend kann (aus Sicht der Klasse c
1
) auch von true positiv (gehrt zu c
1
und wur-
de c
1
zugeordnet), true negative (gehrt nicht zu c
1
und wurde c
1
auch nicht zugeordnet),
false positiv (gehrt nicht zu c
1
und wurde dennoch c
1
zugeordnet) und false negativ (ge-
hrt zu c
1
, wurde aber c
1
nicht zugeordnet) Ergebnissen gesprochen worden. Damit lieen
sich auch wieder Evaluationsmae wie Recall, Precision und F
1
ausdrcken wohlgemerkt
immer bezglich der Klasse c
1
.
Die Confusion Matrix lsst sich aber auch leicht auf einen allgemeineren Fall mit J
Klassen erweitern. Dazu zhlt man schlicht alle Klassen auf und erfasst, in welche Klassen
die Dokumente eingruppiert werden und in welchen sie tatschlich liegen. Damit sieht die
Matrix dann aus wie in Tabelle 13.2.
Tabelle 13.2: Confusion Matrix fr die Ergebnisse einer Mehrklassen-Klassikation.
Tatschliche Zugehrigkeit
c
1
c
2
c
3
c
J
K
l
a
s
s
i

k
a
-
t
i
o
n
s
e
r
g
e
b
n
i
s
c
1
korrekt Fehler Fehler Fehler
c
2
Fehler korrekt Fehler Fehler
c
3
Fehler Fehler korrekt Fehler
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
c
J
Fehler Fehler Fehler korrekt
Ein Qualittsma fr Klassikationsergebnisse, das sich problemlos auf mehrere Klassen
erweitern lsst ist Accuracy. Im Gegenteil zu Recall und Precision ist es hier nmlich
nicht ntig den Fokus auf eine bestimmte Klasse zu setzen. Accuracy ist deniert als die
relative Hugkeit der korrekten Ergebnisse ber allen vorgenommenen Klassifkationen.
Bezeichnen wir mit a
ij
den Eintrag in der Confusion Matrix der die Anzahl der Dokumente
aus Klasse c
j
enthlt, die der Klasse c
i
zugeordnet wurden (also der Eintrag in der i-ten
Zeile und j-ten Spalte), dann ist die allgemeine Formel fr die Accuracy:
216
13.2 Evaluation von Klassikation
acc =

n
i=1
a
ii

n
i=1

n
j=1
a
ij
Das passende Gegenstck zur Accuracy ist die Error Rate. Sie drckt aus, welchen Anteil
die Fehler an allen Klassikationen hatten. Sie ist dementsprechend gegeben durch:
err =

n
i=1

n
j=1,j=i
a
ij

n
i=1

n
j=1
a
ij
= 1 acc
Qualittsmae in der Klassikationen
Gehen wir von den drei inhaltlich motivierten Kategorien Wirtschaft, Politik und
Touristik aus und wollen Nachrichtenartikel in diese Kategorien einsortieren. Wir
erfassen die Ergebnisse dieser Klassikation und tragen sie in eine 3 3 Confusion
Matrix ein:
Tatschlich
W
i
r
t
s
c
h
a
f
t
P
o
l
i
t
i
k
T
o
u
r
i
s
t
i
k
S
u
m
m
e
Klassikation
Wirtschaft 5 1 2 8
Politik 2 10 4 16
Touristik 0 0 6 6
Summe 7 11 12
Aus dieser Matrix lsst sich beispielsweise ersehen, dass von insgesamt sieben Arti-
keln aus dem Themenbereich Wirtschaft fnf korrekt klassiziert wurden und zwei
flschlicherweise in die Kategorie Politik eingeordnet wurden. Bezglich dem Thema
Wirtschaft haben wir also einen Recall von r =
5
7
= 0, 71. Andererseits wurden insge-
samt drei Artikel der Kategorie Wirtschaft zugeordnet, von denen einer eigentlich zu
Politik und zwei zu Touristik gehren. Daher erzielt die Klassikation bezglich der
Kategorie Wirtschaft einen Precision-Wert von p =
5
8
= 0, 63 und somit insgesamt
einen F
1
-Wert von 0, 67 =
2rp
r+p
fr Wirtschaft. Errechnet man fr jede Kategorie
einzeln die Precision, Recall und F
1
-Werte so erhlt man insgesamt:
Recall Precision F
1
Wirtschaft 0,71 0,63 0,67
Politik 0,91 0,63 0,74
Touristik 0,50 1,00 0,67
Mit der Accuracy ergibt sich ein Wert mit dem sich die gesamte Klassikation be-
werten lsst. Dazu mssen lediglich die Summe der korrekten Ergebnisse auf der
217
13 Textklassikation
Hauptdiagonalen der Matrix ins Verhltnis zu allen Klassikationsergebnissen ge-
setzt werden:
acc =
21
30
= 0, 7
Daraus ergibt sich dann auch direkt die Error Rate:
err = 1 acc = 0, 3
Accuracy wurde bereits bei der Evaluation von IR Systemen als Qualittsma angefhrt.
Damals wurde sie jedoch als wenig hilfreich verworfen, da in vielen Fllen eine leere Ergeb-
nismenge bereits sehr gute Accuracy Werte erzielen kann. Das lag daran, dass der Anteil der
relevanten Dokumente in einem sehr groen Korpus i.d.R. sehr klein ist und in einer leeren
Ergebnismenge somit verhltnismig sehr wenige Fehler vom Typ relevant aber nicht ge-
funden gemacht werden. Ein hnliches Phnomen kann auch bei Klassikationsaufgaben
auftreten, nmlich dann wenn in den Testdaten einzelne Klassen stark berreprsentiert
sind. Die Ergebnisse auf diesen Klassen stechen dann gewissermaen andere, schlechter
vertretene Klassen aus.
Nimmt man im obigen Beispiel an, dass in der Kategorie Politik insgesamt 1000 statt
lediglich elf Artikel enthalten sind, wovon wie oben weiterhin einer flschlicherweise der
Kategorie Wirtschaft zugeordnet wird, die restlichen 999 aber richtig klassiziert, dann
erzielt man eine Accuracy Wert von 0,991. Weist man bei gleicher Konstellation der Artikel
(sieben aus Wirtschaft, 1000 aus Politik und 12 aus Touristik) alle konsequent der Kategorie
Politik zu, so erhlt man eine nur unerheblich niedrigere Accuracy von 0,981.
Da man sowohl fr das Trainieren als auch fr die Evaluation Daten braucht, zu denen
die Kategorie jeweils bekannt ist, mssen fr beide Aufgaben letztendlich Dokumente von
Experten manuell klassiziert werden. Das ist in der Regel aufwndig und somit ist die
Zahl der Dokumente mit Kategorielabel meist begrenzt. Prinzipiell sind die Daten gleicher-
maen fr Training und Evaluation geeignet, so dass sich die Frage stellt, wie die Daten
aufgeteilt werden sollen. Oensichtlich drfen Dokumente nicht doppelt verwendet werden,
d.h. sowohl fr Training als auch fr die Bewertung des erlernten Schemas.
Ein Vorgehen, dass bei der Evaluation von Machine Learning Verfahren hug angewen-
det wird, ist cross-validation. Dazu teilt man die vorhandenen Daten zufllig in k etwa
gleich groe, paarweise disjunkte Teilmengen ein. Dabei sollten aber die relativen Verhlt-
nisse der Dokumente in den einzelnen Kategorien auch in den Teilmengen weitestgehend
erhalten bleiben. Danach verwendet man k 1 der Teilmengen als Trainingsdaten und
nutzt die verbliebene letzte Teilmenge fr die Evaluation. Dieses Vorgehen kann man nun
insgesamt k-mal wiederholen, indem man immer eine andere der Teilmengen fr die Eva-
luation verwendet. Die Ergebnisse dieser k Durchlufe kann man dann mitteln und erhlt
somit eine bessere Ausnutzung der Daten fr Training und Evaluation. Diese Vorgehen
wird als k-fold cross-validation bezeichnet.
218
13.3 Regelbasierte Systeme
Um weiterhin zu vermeiden, dass bei der zuflligen Aufteilung in Teilmengen unglckliche
Kombinationen von Dokumenten auftreten, kann man den Gesamtprozess ebenfalls mehr-
fach wiederholen und jeweils andere Aufteilungen in Teilmengen vornehmen. Das zehnma-
lige Wiederholen bei einer Unterteilung in zehn Teilmengen ndet sich oft in der Literatur
und ist unter dem Begri 10-times 10-fold cross-validation bekannt.
13.3 Regelbasierte Systeme
Der erste hier betrachtet Ansatz zur Klassikation von Dokumenten basiert auf der De-
nition von Regeln. Die Regeln die dabei zum Einsatz kommen sind recht einfach und
entsprechen vom Stil her Aussagen wie Wenn die E-Mail das Wort Viagra enthlt dann
gehrt sie zur Kategorie Spam oder Ein Dokument, in dem die Begrie Gesetz und Re-
gierung auftreten fllt in die Kategorie Politik. Solche Regeln lassen sich recht einfach
nachvollziehen und knnen sogar schnell von Hand erstellt werden. Fr uns interessant
ist an dieser Stelle jedoch, dass man die Regeln auch aus Trainingsdaten ableiten kann.
Regelbasierte Systeme sind an sich fr eine Vielzahl von Klassikationsaufgaben geeignet
wir betrachten sie hier aber strikt im Kontext der Textklassikation. Eine allgemeinere
Einfhrung in die Thematik ndet sich in [WF00] oder [TSK06].
Doch zunchst zu den Regeln selbst. Wie in den beiden obigen Beispielen angedeutet, ha-
ben die Regeln eine Wenn-dann Form, das heit, sie bestehen aus einem Bedingungsteil
und einer Schlussfolgerung. Die Bedingungen orientieren sich an den Eigenschaften der zu
klassizierenden Objekte. In unserem Fall entsprechen die Objekte den Dokumenten. Wel-
che Eigenschaften einem Dokument zugeordnet sind hngt von der gewhlten Darstellung
der Dokumente ab. Bei einer Dokumentreprsentation auf der Basis von enthaltenen Wr-
tern, sind die Eigenschaften eben diese Wrter. Die Ausprgung der Eigenschaften knnen
boolsche Werte, Termfrequenzen, TF-IDF Gewichte oder andere wortbezogene Mae sein.
Reprsentiert man die Dokumente ber Bigramme, den Namen des Autors oder andere
Eigenschaften erhlt man entsprechend andere Ausprgungen die es zu beachten gilt.
In diesem Zusammenhang bleiben wir wie in den oben aufgefhrten Eingangsbeispielen
angedeutet bei einer Darstellung der Dokumente auf Wortebene und betrachten auch nur
ob ein Term in einem Dokument auftritt oder nicht. Damit werden Dokumente letztendlich
auf die Mengen der enthalten Terme abgebildet. Die Bedingungen der Regeln basieren
daher auch auf Aussagen dazu, ob ein Term in einem Dokument enthalten ist oder nicht.
Genau genommen werden die Regeln unterteilt in eine Vorbedingung A (precondition,
rule antecedent) und eine Schlussfolgerung (rule consequent), die in unserem Fall einer
Klasse c
i
entspricht. Eine einzelne Regel r
i
ist also von der Form:
r
i
= A
i
c
i
Die Vorbedingung richtet sich nach dem Vorkommen oder Fehlen von bestimmten Ter-
men in einem Dokument, kann also dargestellt werden als:
219
13 Textklassikation
A
i
= ((t
i
1
/ d) (t
i
2
d) (t
i
3
d) (t
i
4
/ d) . . . (t
i
n
d))
Wobei d jeweils das betrachtete Dokument ist, dargestellt als Menge der enthaltenen
Terme. ber Terme, die in der Vorbedingung nicht auftreten, wird keine Aussage gemacht
und somit sind sie fr das Zutreen der Vorbedingung nicht ausschlaggebend. Das bedeutet,
dass es letztendlich egal ist, ob die entsprechenden Terme in einem Dokument enthalten
sind oder nicht.
Interessant an dieser Darstellung (und dem gesamten Konzept der regelbasierten Klas-
sikation) ist, dass die Regeln letztendlich Anfragen in einem boolschen IR Modell ent-
sprechen. Schlielich lsst sich obiges A
i
auch als Anfrage q
A
i
formulieren, wodurch die
Anwendung des Routing als Klassikationsaufgabe noch einmal verdeutlicht wird:
q
A
i
= (t
i
1
) t
i
2
t
i
3
(t
i
4
) . . . t
i
n
Gelegentlich schrnkt man diese Formen darauf ein, dass nur enthaltene Terme in der
Vorbedingung bercksichtigt werden. Das liegt daran, dass man ber nicht enthaltene Ter-
me selten sehr scharfe Auswahlkriterien erhlt. An diesem Vorgehen werden wir uns fr den
Rest des Abschnitts orientieren, so dass unsere Regeln nur Aussagen ber Terme machen
die enthalten sein mssen. Die Formulierung der Vorbedingung als boolsche Anfrage spart
weiterhin Platz beim Notieren der Regeln.
In einem regelbasierten Klassikator werden nun mehrere Regeln zu einem Regelsatz
R zusammengefasst, mit dessen Hilfe dann die Klassikation stattndet. Jedes Dokument
wird darauf geprft, welche Regel aus R dazu passt (bezglich der Vorbedingung) und ent-
sprechend wird eine Kategorie zugewiesen. Bei diesem Vorgehen wre es durchaus mglich,
dass zu einem Dokument mehrere Vorbedingungen mit unterschiedlichen Schlussfolgerun-
gen (d.h. Kategorien) passen. Diese Mglichkeit der Mehrfachklassikation wird jedoch
meist ausgeschlossen, indem von den Regeln verlangt wird, dass ihre Vorbedingungen sich
wechselseitig ausschlieen (engl. mutually exculsive rules). Das heit, dass fr jeden Da-
tensatz hchstens eine Regel zutrit. Alternativ knnen die Regeln in eine Reihenfolge
gebracht werden, so dass eine Regel nur dann zur Anwendung kommt, wenn keine der
vorherigen Regeln zutrit. Weiterhin wird meist auch gefordert, dass der Regelsatz aus-
schpfend (engl. exhaustive) ist, d.h. dass es fr jeden mglichen Datensatz auch tatschlich
eine Regel mit passender Vorbedingung gibt.
Menschliche Nutzer sind meist recht gut darin, solche Regeln oder Vorbedingungen in-
tuitiv und auf die Schnelle zu formulieren. hnlich wie beim Stellen von Ad Hoc Anfragen
knnen sie treende Begrie auswhlen, die eine Kategorie gut beschreiben und sehr wahr-
scheinlich in den zugehrigen Dokumenten auftreten werden.
Hat man nun Testdaten zur Verfgung so kann man zur Beurteilung von Regeln einen
jeweils Regel-spezischen Accuracy-Wert bestimmen. Das heit, man betrachtet alle Test-
datenstze, auf welche die Vorbedingung zutrit und prft wie oft die Schlussfolgerungen
zu korrekten und wie oft zu fehlerhaften Klassikationen fhrt. Da in diesem Fall Accuracy
ber nur einer Regel r betrachtet wird, bezeichnet man diesen Wert auch mit acc(r).
220
13.3 Regelbasierte Systeme
Ein weiterer Wert der fr eine Regel von Interesse sein kann ist Coverage. Coverage
betrachtet die Anzahl aller Testdaten auf welche die Vorbedingung zutrit im Verhltnis
zu allen Testdaten. Das bedeutet, wenn D die Menge aller Testdaten darstellt und A(D)
die Teilmenge der Testdaten auf welche die Vorbedingung A einer Regel r = A c zutrit,
dann ist Coverage fr diese Regel gegeben durch:
cov(r) =
[A(D)[
[D[
Coverage bestimmt in gewissem Sinne wie weitreichend eine Regel ist. Hat eine Regel
einen sehr kleinen Coverage-Wert, so liegt die Vermutung nahe, dass sie zu speziell ist und
somit zu Overtting fhrt. Eine Regel mit hohem Coverage-Wert trit hingegen auf einen
sehr groen Teil der (Test-)daten zu. Hier stellt sich dann eher die Frage, in wie weit die
Schlussfolgerung der Regel richtige Ergebnisse erzielt, weshalb dann der Accuracy-Wert
betrachtet werden muss.
Manuell erstellte Regeln
Verwenden wir wieder die Kategorien Wirtschaft, Politik und Touristik. Wir
stellen zu jeder der drei Kategorien eine einfach Regel auf, die inhaltlich jeweils recht
leicht nachvollziehbar ist:
r
1
= (Firma) c
Wirtschaft
r
2
= (Gesetz Regierung) c
Politik
r
3
= (Reise Strand) c
Touristik
Mit anderen Worten, enthlt ein Dokument den Term Firma weist ihm die Regel
r
1
die Kategorie Wirtschaft zu. Enthlt es Gesetz und Regierung so gehrt es
nach r
2
zum Thema Politik und wenn die Terme Reise und Strand gemein-
sam auftreten, so soll das entsprechende Dokumente nach Regel r
3
der Kategorie
Touristik zugeordnet werden.
Zum berprfen unserer Regeln verwenden wir ein Korpus mit 30 Dokumenten, wo-
bei jeweils zehn in den Kategorien Wirtschaft, Politik und Touristik liegen. Tabelle
13.3 auf Seite 222 gibt einen berblick ber die Terme des Vokabulars und die Term-
frequenzen in den einzelnen Dokumenten, sowie die Zuordnung von Kategorien zu den
Dokumenten d
1
bis d
30
. Der bersichtlichkeit halber wurden Eintrge mit 0-Werten
in der Term-Dokumentmatrix komplett ausgelassen.
Wir wollen nun die Qualitt unserer Regeln ber Coverage und Accuracy bestimmen.
Dazu interessieren uns die Anzahl der Dokumente, die auf die einzelnen Vorbedingun-
gen zutreen. In der Term-Dokumentmatrix brauchen wir dazu die Termfrequenzen
221
13 Textklassikation
Tabelle 13.3: Beispieldaten fr Klassikationsaufgaben.
Dokument A
g
e
n
t
u
r
B
o
o
t
F
i
r
m
a
F
l
u
g
z
e
u
g
G
e
s
e
t
z
I
n
s
e
l
P
r

s
i
d
e
n
t
R
e
g
i
e
r
u
n
g
R
e
i
s
e
S
t
a
d
t
S
t
e
u
e
r
S
t
r
a
n
d
U
m
s
a
t
z
Kategorie
d
1
2 4 1 Wirtschaft
d
2
2 1 3 Wirtschaft
d
3
2 1 4 Wirtschaft
d
4
3 2 5 3 Wirtschaft
d
5
1 1 1 2 Wirtschaft
d
6
1 1 2 Wirtschaft
d
7
2 Wirtschaft
d
8
1 1 1 3 1 Wirtschaft
d
9
1 1 Wirtschaft
d
10
2 3 7 Wirtschaft
d
11
2 2 2 Politik
d
12
7 3 2 Politik
d
13
1 4 4 1 Politik
d
14
3 1 1 Politik
d
15
1 2 2 2 2 Politik
d
16
2 1 3 1 Politik
d
17
5 2 5 Politik
d
18
2 5 5 Politik
d
19
2 1 Politik
d
20
1 1 Politik
d
21
3 2 8 Touristik
d
22
1 2 3 1 1 Touristik
d
23
1 1 2 1 Touristik
d
24
3 2 2 Touristik
d
25
2 1 1 1 Touristik
d
26
3 1 Touristik
d
27
1 3 1 3 4 Touristik
d
28
6 5 Touristik
d
29
1 4 3 1 Touristik
d
30
7 1 5 Touristik
222
13.3 Regelbasierte Systeme
selbst gar nicht nher zu beachten
3
, sondern mssen nur unterscheiden, ob ein Term
berhaupt in einem Dokument enthalten ist. Zur Regel r
1
mit der Vorbedingung,
dass der Term Firma enthalten sein muss, passen die elf Dokumente d
1
, d
2
, d
3
, d
5
,
d
7
, d
9
, d
10
, d
13
, d
15
, d
18
und d
22
. Da wir insgesamt 30 Dokumente zu begutachten
haben ergibt sich somit ein Coverage-Wert von:
cov(r
1
) =
11
30
= 0, 37
Von den elf Dokumenten welche die Vorbedingung erfllen liegen immerhin sieben
tatschlich in der Kategorie Wirtschaft, die von r
1
als Schlussfolgerung zugewiesen
wird. Daher erzielt r
1
einen Accuracy-Wert von:
acc(r
1
) =
7
11
= 0, 64
Auf die gleiche Art und Weise kann man nun Coverage und Accuracy fr die anderen
beiden Regeln berechenen und erhlt insgesamt:
Accuracy Coverage
r
1
0,64 0,37
r
2
0,8 0,17
r
3
1,0 0,13
Die Regeln in diesem Beispiel schlieen sich weder wechselseitig aus, noch sind sie
ausschpfend. So wird beispielsweise Dokument d
6
von keiner der Vorbedingungen
erfasst, whrend Dokument d
15
sowohl die Vorbedingung von Regel r
1
als auch die
von Regel r
2
erfllt. Allerdings haben wir hier auch nur drei sehr einfache Regeln
aufgestellt und insbesondere jede Kategorie nur mit einer einzelnen Regel bedacht.
Es gibt noch weitere Mglichkeiten wie die Qualitt einer Regel gemessen werden kann.
Hier sind insbesondere solche von Interesse, die direkt oder indirekt sowohl Accuracy als
auch Coverage verwenden um die Qualitt einer Regel zu messen. Die Bercksichtigung
der Accuracy dient dazu, dass Regeln mit gutem Ergebnis bevorzugt werden, die Berck-
sichtigung von Coverage dient dazu, dass keine zu speziellen Regeln erzeugt werden, d.h.
um overtting zu vermeiden.
In diesem Zusammenhang sollen hier drei Qualittsmae angesprochen werden. Wir be-
ntigen dazu einige Einussgren, die in diesen Maen bercksichtigt werden. Die Gren
beziehen sich teilweise auf eine zu evaluierende Regel r = A c
j
mit Vorbedingung A
und Schlussfolgerung c
j
, teilweise sind sie jedoch nur von den Testdaten abhngig.
D: Menge aller Testdokumente.
3
Wir werden die gleichen Dokumente aber im Laufe des Kapitels immer wieder verwenden, so dass die
Termfrequenzen an anderer Stelle tatschlich eine Rolle spielen.
223
13 Textklassikation
p: Anzahl der Testdokumente, die von der Regel r korrekt klassiziert werden.
f: Anzahl der Testdokumente, die von der Regel r falsch klassiziert werden.
J: Anzahl der Kategorien insgesamt, entspricht [C[.
n: Anzahl der Testdokumente insgesamt, entspricht [D[.
g
j
: Anzahl der Trainingsdokumente, die tatschlich in der Kategorie c
j
liegen. Im Prin-
zip also der Goldstandard fr die Evaluation der Regel r im Bezug auf die in der
Schlussfolgerung zugewiesene Kategorie.
Gewisse Zusammenhnge ergeben sich direkt aus diesen Werten, so ist beispielsweise p+f
die Anzahl der Trainingsdokumente aus D, die zur Vorbedingung A passen. Diesen Wert
hatten wir zuvor schon einmal mit A(D) bezeichnet. Auch die Anzahl der Dokumente in
D, die nicht zur Kategorie c gehren lsst sich bestimmen. Sie ergibt sich aus der Dierenz
der Anzahl aller Dokumente und den Dokumenten die in c liegen, also durch: n g.
Das erste Ma stellt gewissermaen einen Schtzer fr die Wahrscheinlichkeit dar, dass
eine Regel richtige Klassikationen liefert. Wie wir bereits an anderer Stelle gesehen haben,
spielt bei Schtzern Smoothing eine Rolle, um nicht gesehene Ereignisse zu bercksichtigen.
Beim Laplace-Smoothing wird dazu schlicht ein konstanter Wert K (hug wird K = 1
gesetzt) fr die Beobachtungen jedes mglichen Ereignisses hinzuaddiert. Stellt man sich
nun die Klassikation als Zufallsexperiment und die Kategorien als Ergebnis vor, so gelangt
man zu folgendem Schtzer fr die Wahrscheinlichkeit, dass eine Regel korrekte Ergebnisse
liefert:
q
Laplace
(r, D) =
p + 1
p + f + J
Klar ist, dass die Accuracy dieses als Laplace-Ma bezeichnete Qualittsma beeinusst.
Denn: je hher p im Verhltnis zu p+f ist, desto grer ist der Wert des Maes. Der Einuss
von Coverage ergibt sich indirekt. Denn je mehr Dokumente von der Vorbedingung erfasst
werden, desto geringer ist der Einuss des Parameters J, also der Anzahl der Kategorien
die im Nenner hinzuaddiert wird. Anschaulich knnte man sagen, dass die Regeln mit
groem Einuss (d.h. Coverage) weniger stark durch das Smoothing beeinusst werden.
Ein anderes Qualittsma basiert auf einem Likelihood-Quotienten Test. Im Prinzip wird
dabei ein statistischer Signikanztest durchgefhrt, um zu zeigen, dass eine Regel besser ist
als eine rein zufllige Klassikation. Je nachdem wie stark die Regel von der Zufallsklassi-
kation abweicht, d.h. je sicherer der Signikanztest ausfllt, desto hher ist ihre Qualitt.
Der Einuss der Accuracy drckt sich vereinfacht gesagt als Erwartungswert aus, ein hoher
Coverage-Wert sorgt fr eine strkere Sicherheit bezglich der Wahrscheinlichkeitsscht-
zungen aus (da mehr Dokumente betrachtet und somit in gewissem Sinne mehr Ergebnisse
von Wahrscheinlichkeitsexperimenten durchgefhrt wurden). In der Formel ergibt sich fr
uns:
224
13.3 Regelbasierte Systeme
q
Likelihood-Ratio
(r, D) = 2
_
p log
2
_
p
(p + f)
g
j
n
_
+ f log
2
_
f
(p + f)
ng
j
n
__
Mit (p + f)
g
j
n
und (p + f)
ng
j
n
stehen dabei in der Formel der Erwartungswert fr kor-
rekte und falsche Klassikationen bei zufllige Klassikation von allen p +f Dokumenten,
die von der Vorbedingung der Regel erfasst werden.
Das sogenannte Foils Information Gain Ma berechnet im Gegensatz zu den ersten
beiden Maen die Verbesserung einer neuen Regel r gegenber einer Referenzregel r

. Dies
ist insbesondere dann von Interesse, wenn bestehende Regeln modiziert werden sollen.
Gehen wir davon aus, dass die alte Regel p

korrekte und f

falsche Klassikationen auf


den Trainingsdaten erzielt, dann ist Foils information gain deniert als:
q
Foil
(r, r

, D) = p
_
log
2
_
p
p + f
_
log
2
_
p

+ f

__
In den Logarithmen stehen hier wiederum die relativen Hugkeiten fr korrekt klassi-
zierte Dokumente, einmal bezglich der neuen, einmal bezglich der alten Regel.
Qualittsmae fr Klassifkationsregeln
Bleiben wir zumindest von den Zahlen her bei unserem vorherigen Beispiel mit 30
Dokumenten von denen jeweils zehn in einer der drei Kategorien liegen. Wir haben
in diesem Beispiel also Werte von J = 3, g = 10 und n = 30, die sich aus den
Dokumenten in D ergeben und somit fr alle Regeln gleich sind.
Wir wollen nun die Qualitt von drei Regeln vergleichen, deren Vorbedingungen auf
unterschiedlich viele Dokumente passen und die unterschiedlich viele Fehler machen:
Regel r
1
hat eine Vorbedingung die zu fnf Dokumenten passt und die vier
davon richtig klassiziert.
Regel r
2
passt zwar nur auf zwei Dokumente, dafr werden diese aber alle
richtig klassiziert.
Die Vorbedingung von Regel r
3
schlielich erfasst zehn Dokumenten, wovon
acht korrekt klassiziert werden.
Fr Foils Information Gain gehen weiterhin davon aus, dass wir eine Referenzregel
r
F
haben, die 15 Dokumente erfasst und davon neun korrekt klassiziert. Die folgen-
de Tabelle listet die Einussfaktoren fr die drei vorgestellten Qualittsmae noch
einmal numerisch auf und gibt die Werte fr das Laplace-Ma, das Likelihood-Ratio-
Ma und Foils information Gain an:
225
13 Textklassikation
p f Laplace Likelihood Foil
r
F
9 6 0,556 13,440
r
1
4 1 0,625 10,630 1,660
r
2
2 0 0,600 6,340 1,474
r
3
8 2 0,690 21,261 3,320
Es fllt auf, dass Regel r
3
unter allen Maen am besten bewertet wird. Dies liegt dar-
an, dass sie weit mehr Dokumente abdeckt als die anderen Regeln. Am deutlichsten
wird der Einuss des hheren Coverage-Wertes gegenber Regel r
1
, die letztendlich
die gleiche Accuracy erzielt wie r
3
.
Bei Regelsystemen, die aus mehreren Regeln bestehen welche sich nicht zwangsweise
wechselseitig ausschlieen, stellt sich die Frage wie mit dem Fall umgegangen wird, dass
mehrere Vorbedingungen zutreen.
Eine Lsung hierfr ist, die Regeln wie bereits erwhnt in eine Reihenfolge zu bringen,
nach der sie abgearbeitet werden. Dass heit, die Vorbedingungen der Regeln werden ge-
m dieser Reihenfolge geprft. Zur Klassikation wird dann die Regel angewandt, deren
Vorbedingung als erstes passt. Dies ergibt beispielsweise dann einen Sinn, wenn zunchst
speziellere Regeln und weiter unten in der Reihenfolge allgemeinere Regeln aufgefhrt wer-
den. Die Reihenfolge kann auch ber Mae wie Coverage und Accuracy oder auch nach
der in der Schlussfolgerung zugewiesenen Klasse bestimmt werden.
Alternativ knnen auch alle vorhandenen Regeln ausgewertet werden und man zhlt fr
jedes Dokument die anfallenden Zuordnungen zu den einzelnen Kategorien. Jede Zuord-
nung wird als eine Stimme fr eine Kategorie gewertet und das Dokument wird am Ende in
die Kategorie mit den meisten Stimmen eingeordnet. Um die Qualitt einzelner Regeln zu
bercksichtigen knnen die Stimmen mit Accuracy-Werten oder anderen Qualittsmaen
gewichtet werden.
Doch unabhngig davon, wie man die Regeln auswertet oder anordnet, auf groen Da-
tenmengen oder bei vielen Kategorien wird das manuelle Erstellen von Regeln schnell un-
bersichtlich und schwierig. Kommen wir also zurck zur Aufgabe die Regeln automatisch
aus den Trainingsdaten zu erlernen.
Es gibt viele Anstze, um regelbasierte Klassikatoren automatisch zu erstellen. Der
Ansatz den wir uns hier anschauen ist einer der intuitivsten und lsst sich schnell und
einfach umsetzen, weshalb er wohl auch in der Praxis recht beliebt ist. Beim Sequential
Covering Algorithmus wird ein geordneter Regelsatz erzeugt, bei dem Kategorie fr Ka-
tegorie schrittweise mehrere Regeln aus den Trainingsdaten abgeleitet werden. Das heit,
der Algorithmus geht klassenweise vor und erzeugt zunchst nur Regeln fr eine Kategorie.
Sobald die Regelerzeugung fr diese Kategorie abgeschlossen ist, geht der Algorithmus zur
nchsten Kategorie ber. Dieses Vorgehen wird fortgesetzt, bis alle Kategorien behandelt
wurden.
In welcher Reihenfolge die Kategorien dabei betrachtet werden kann von verschiedenen
Parametern abhngig gemacht werden. So kann es aus der Anwendung heraus bestimmte
226
13.3 Regelbasierte Systeme
Prferenzen geben, bei welchen Kategorien es wichtiger ist, sie korrekt zu erkennen. Das
heit, es gibt Vorgaben, fr welche Kategorien false positive Ergebnisse in Kauf genommen
werden, solange die Anzahl der false negative Fehler gering bleibt. Die Regeln fr solche
Kategorien mit hoher Prioritt sollten dann als erste aufgefhrt werden da sie somit auch
zuerst ausgewertet werden. Gibt es keine solche Prioritten kann die Regelerstellung nach
Anzahl der verfgbaren Trainingsdatenstze zu den jeweiligen Kategorien durchgefhrt
werden.
Wurde letztendlich eine Reihenfolge der Kategorien festgelegt, so kann der eigentliche
Prozess zur Regelerstellung beginnen. Dabei wird der Reihe nach fr jede Kategorie eine
Regel erzeugt, die vereinfacht gesagt mglichst viele Datenstze abdeckt und diese mg-
lichst korrekt klassiziert. Dazu bedient man sich der oben angesprochenen Qualittsmae.
Wie genau die Regeln konstruiert werden sehen wir gleich. Sobald jedoch eine Regel fest-
steht, wird sie dem Regelsatz als neue und niedrigrangigste Regel hinzugefgt und aus der
Menge der Trainingsdaten werden alle Datenstze entfernt, die von der Regel abgedeckt
werden. Das heit, es werden alle Daten entfernt, auf welche die Vorbedingung zutrit
sowohl die korrekt als auch die falsch klassizierten. Eine Kategorie gilt als abgearbeitet,
wenn eine gewisse Abbruchbedingung erreicht wird, beispielsweise, dass keine Trainings-
daten zu dieser Kategorie mehr vorhanden sind, oder dass die erzeugten Regeln von zu
schlechter Qualitt sind. Algorithmus 13.1 gibt formal an, wie das Sequential Covering
Verfahren abluft.
Algorithmus 13.1 : Sequential Covering Algorithmus zum Erlernen von Klassikati-
onsregeln.
Input : C = c
1
, . . . , c
J
Liste der Kategorien, sortiert nach Prioritt.
Input : D = d
1
, . . . , d
n
Menge der Trainingsdokumente.
Output : R geordneter Regelsatz.
function SequentialCovering(C,D);
begin
R new List;
foreach c
j
C do
repeat
(r = A c
j
) learnRule(c
j
, D);
D D A(D);
R.append(r);
until Abbruchbedingung fr Kategorie c
j
erfl lt ;
return R
end
Bleibt die Frage, wie in der Methode learnRule(c
j
, D) die Regeln erstellt werden? Eine
ausschpfende Prfung aller mglichen Kombinationen von Termen kommt nicht in Frage,
da die Anzahl aller mglichen Kombinationen von Terme exponentiell mit der Gre des
Vokabulars wchst. Um diese Problematik zu umgehen, werden Regeln schrittweise aufge-
227
13 Textklassikation
baut und in jedem Schritt ber das Qualittsma evaluiert. Nach einer Greedy-Strategie
wird dann immer der vielversprechendste Schritt weiterverfolgt, also die Regel, welche be-
zglich des Qualittsmaes am besten abschneidet. Fr den Aufbau der Regeln gibt es zwei
Vorgehensweisen: von allgemeinen zu spezielleren Regeln oder von speziellen zu allgemei-
neren Regeln.
Im ersten Fall fngt man mit einer sehr allgemeinen Regel an, die keinerlei Vorbedingun-
gen macht. Entsprechend macht diese Regel sehr viele Fehler, da sie alle Dokumente einer
Kategorie zuordnet. Nun werden der Regel testweise einzelne Terme zur Vorbedingung hin-
zugefgt. Jede dieser mglichen Erweiterungen wird mit dem Qualittsma geprft und die
beste Variante wird in die nchste Runde der Verfeinerung geschickt. Dann wird testweise
mit einem weiteren Term ergnzt und es wird wiederum die bezglich des Qualittsma-
es beste Ergnzung weiterverfolgt. Diese Iteration bricht ab, sobald ein zuvor festgelegtes
Abbruchkriterium erreicht wird. So kann beispielsweise abgebrochen werden, sobald das
Hinzufgen neuer Terme keine weitere Verbesserung der Regel bringt, oder wenn der Co-
verage Wert zu stark sinkt.
Umgekehrt kann man auch bei sehr speziellen Regeln anfangen und diese verallgemei-
nern. Dazu whlt man ein Beispieldokument aus der Kategorie aus, fr die gerade Regeln
erzeugt werden sollen. Die Terme die in diesem Dokument enthalten sind dienen dann als
Vorbedingung fr eine sehr spezielle Regel. Mit welchem Beispieldokument man anfngt
kann mit dem Qualittsma ber den aus dem Dokument erzeugten speziellen Regelsatz
bestimmt werden. Nun verallgemeinert man diese Regel, indem man testweise einzelne
Terme aus der Regel entfernt. Auch hier wird dann schrittweise immer die Verallgemeine-
rung weiter verfolgt, die am besten bezglich des Qualittsmaes abschneidet. Schritt fr
Schritt enthlt die Regel dann immer weniger Terme und berdeckt somit mehr Testdaten.
Auch hier wird die Verallgemeinerung nur solange fortgefhrt bis ein Abbruchkriterium er-
reicht wird. So kann die Verallgemeinerung gestoppt werden, sobald die Regel auf den
Trainingsdaten Fehler macht oder die Qualitt der Regel sich nicht mehr verbessert.
Erlernen von Regeln mit dem Sequential Covering Algorithmus
Gehen wir wieder von den 30 Beispieldokumenten in den Kategorien Wirtschaft,
Politik und Touristik aus, die in Tabelle 13.3 auf Seite 222 aufgefhrt sind und die
wir hier als Menge D bezeichnen. Fr den Sequential Covering Algorithmus belassen
wir die Kategorien in der vorgegebenen Reihenfolge, d.h. wir erlernen zunchst die
Regeln fr Wirtschaft, dann die fr Dokumente aus dem Bereich Politik und zuletzt
fr Touristik. Bezglich des Aufbaus der Regeln gehen wir von allgemeinen zu spe-
zielleren Regeln vor und verwenden das relativ einfach anzuwendende Laplace-Ma
als Gtekriterium an. Wir brechen das Verfeinern einer Regel ab, wenn bezglich
des Qualittsmaes keine Verbesserung mehr eintritt, und die Regelerzeugung fr
eine Kategorie endet, wenn alle Beispieldokumente behandelt wurden oder es keine
bessere als die allgemeine Regel ohne Vorbedingungen gibt.
228
13.3 Regelbasierte Systeme
Wir beginnen also mit der Erzeugung von Regeln fr die Kategorie Wirtschaft,
d.h. die Dokumente d
1
bis d
10
sind positive Trainingsbeispiele, whrend d
11
bis d
30
Negativbeispiele sind. Weiterhin fangen wir zunchst mit der sehr allgemeinen Regel
mit leerer Vorbedingung an:
r
[0]
1
= () c
Wirtschaft
Diese Regel weist allen Dokumenten die Kategorie Wirtschaft zu, da sie keinerlei Vor-
bedingungen stellt. Sie zeichnet sich entsprechend durch einen sehr hohen Coverage-
Wert von 1 aus aber auch durch eine mige Accuracy von
1
3
. Bezglich des von uns
hier verwendeten Laplace-Qualittsmaes ergibt sich fr r
[0]
1
:
q
Laplace
(r
[0]
1
, D) =
10 + 1
10 + 20 + 3
=
11
33
= 0, 333
Nun prfen wir fr jeden Term, ob sich die Qualitt der Regel verbessert, wenn wir ihn
in die Vorbedingungen aufnehmen. Der erste Term in unserem Vokabular ist Agen-
tur, so dass die erst Mglichkeit eine Regel mit einem Term in der Vorbedingung
aufzustellen so aussieht:
r
[1,1]
1
= (Agentur) c
Wirtschaft
Es gibt insgesamt sechs Dokumente in D in denen der Term Agentur auftritt, wovon
drei in die Kategorie Wirtschaft fallen. Somit ergibt sich fr diese Spezialisierung der
Ausgangsregel r
[0]
1
eine Accuracy von 0,5 und ein Coverage Wert von 0,2. Bezglich
des hier ausschlaggebenden Laplace-Maes bedeutet dies:
q
Laplace
(r
[1,1]
1
, D) =
3 + 1
3 + 3 + 3
=
4
9
= 0, 444
Das bedeutet, dass bereits diese Ergnzung der Vorbedingung zu einer Regel fhrt, die
unter dem Qualittsma besser als die allgemeine Anfangsregel r
[0]
1
abschneidet, da sie
einen hheren Wert erzielt. Betrachten wir die weiteren mglichen Spezialisierungen
mit den anderen Termen des Vokabulars, so erhalten wir folgende Regeln und folgende
Werte fr das Laplace-Ma:
229
13 Textklassikation
Regel Vorbedingung q
Laplace
r
[1,1]
1
(Agentur) 0, 444
r
[1,2]
1
(Boot) 0, 286
r
[1,3]
1
(Firma) 0, 571
r
[1,4]
1
(Flugzeug) 0, 183
r
[1,5]
1
(Gesetz) 0, 273
r
[1,6]
1
(Insel) 0, 222
r
[1,7]
1
(Prsident) 0, 25
r
[1,8]
1
(Regierung) 0, 2
r
[1,9]
1
(Reise) 0, 091
r
[1,10]
1
(Stadt) 0, 273
r
[1,11]
1
(Steuer) 0, 417
r
[1,12]
1
(Strand) 0, 125
r
[1,13]
1
(Umsatz) 0, 667
Bedingt durch die Greedy-Strategie whlen wir nun also die Regel mit dem besten
Ergebnis bezglich des Qualittsmaes aus: die Regel r
[1,13]
1
. Wir machen sie zum
Ergebnis des Auswahlschrittes r
[1]
1
mit dem wir weiterarbeiten:
r
[1]
1
= r
[1,13]
1
= (Umsatz) c
Wirtschaft
Der Vollstndigkeit halber betrachten wir noch kurz Accuracy und Coverage fr diese
Regel. Es gibt neun Trainingsdokumente, die der Vorbedingung von r
[1]
1
gengen, so
dass wir einen Coverage-Wert von 0,3 erzielen. Von den neun Dokumenten liegen
immerhin sieben tatschlich in der Kategorie Wirtschaft, was zu einer Accuracy von
7
9
fhrt.
Es folgt der nchste Schritt, bei dem wir wiederum die bisher entwickelte Regel weiter
spezialisieren, indem wir einen weiteren Terme zur Vorbedingung hinzufgen. Fangen
wir auch hier wieder mit Agentur an, so erhalten wir:
r
[2,1]
1
= (Umsatz Agentur) c
Wirtschaft
Mit dieser Regel erfassen wir insgesamt drei Dokumente in D, die auch tatschlich alle
zur Kategorie Wirtschaft gehren. Wir haben hier also Coverage von 0,1 und Accuracy
von 1, was bezglich des Laplace-Maes nicht zu einer Verbesserung gegenber r
[1]
1
fhrt, da der Wert des Qualittsmaes bei beiden Regeln gleich ist:
q
Laplace
(r
[2,1]
1
, D) =
3 + 1
3 + 0 + 3
=
4
6
= 0, 667
Fhren wir jedoch die Erweiterung auch mit den anderen Termen des Vokabulars
durch, so ergibt sich tatschlich noch eine Alternative, die bessere Ergebnisse erzielt:
230
13.3 Regelbasierte Systeme
Regel Vorbedingung q
Laplace
r
[2,1]
1
(Umsatz Agentur) 0, 667
r
[2,2]
1
(Umsatz Boot) 0, 4
r
[2,3]
1
(Umsatz Firma) 0, 75
r
[2,4]
1
(Umsatz Flugzeug) 0, 25
r
[2,5]
1
(Umsatz Gesetz) 0, 6
r
[2,6]
1
(Umsatz Insel) 0, 4
r
[2,7]
1
(Umsatz Prsident) 0, 5
r
[2,8]
1
(Umsatz Regierung) 0, 4
r
[2,9]
1
(Umsatz Reise) 0, 25
r
[2,10]
1
(Umsatz Stadt) 0, 333
r
[2,11]
1
(Umsatz Steuer) 0, 571
r
[2,12]
1
(Umsatz Strand) 0, 333
Die Spezialisierung r
[2,3]
1
nmlich, in der Firma in die Vorbedingungen aufgenommen
wird, berdeckt fnf Dokumente die alle in der Kategorie Wirtschaft liegen. Aufgrund
des besseren Wertes des Laplace-Maes geht also diese Regel in die nchst Runde:
r
[2]
1
= r
[2,3]
1
= (Umsatz Firma) c
Wirtschaft
Auch im dritten Schritt der Entwicklung der ersten Regel mssen nun wieder alle
mglichen Erweiterungen durchprobiert und bezglich des Laplace-Maes ausgewer-
tet werden:
Regel Vorbedingung q
Laplace
r
[3,1]
1
(Umsatz Firma Agentur) 0, 6
r
[3,2]
1
(Umsatz Firma Boot) 0, 5
r
[3,3]
1
(Umsatz Firma Flugzeug) 0, 333
r
[3,4]
1
(Umsatz Firma Gesetz) 0, 333
r
[3,5]
1
(Umsatz Firma Insel) 0, 5
r
[3,6]
1
(Umsatz Firma Prsident) 0, 333
r
[3,7]
1
(Umsatz Firma Regierung) 0, 333
r
[3,8]
1
(Umsatz Firma Reise) 0, 333
r
[3,9]
1
(Umsatz Firma Stadt) 0, 333
r
[3,10]
1
(Umsatz Firma Steuer) 0, 5
r
[3,11]
1
(Umsatz Firma Strand) 0, 333
Diesmal erzielt r
[3,1]
1
den besten Qualittswert, welcher allerdings unterhalb des Wer-
tes fr die Regel r
[2]
1
liegt. Dies lsst sich auch anschaulich recht schn nachvollzie-
hen. Regel r
[2]
1
hatte bereits eine Accuracy von 1 erreicht, durch Spezialisierung der
231
13 Textklassikation
Vorbedingung kann nur noch der Coverage-Wert eingeschrnkt werden. Somit birgt
die Hinzunahme eines neuen Terms in die Vorbedingung nur das Risiko des overt-
tings, ohne die Qualitt bezglich der Klassikation zu verbessern. Da also unter dem
Laplace-Ma keine Verbesserung erzielt wird, bricht die Suche nach der ersten Regel
an dieser Stelle ab und wir fgen r
[2]
1
als erste Regel in den Regelsatz des Klassikators
ein:
R :
r
1
= (Umsatz Firma) c
Wirtschaft
Gem der Vorgaben in Algorithmus 13.1 mssen nun alle Dokumente aus der Trai-
ningsmenge D entfernt werden, die den Vorbedingungen der Regel r
1
gengen. In
diesem Beispiel sind dies die Dokumente d
1
, d
3
, d
5
, d
9
und d
10
. Mit der reduzierten
Menge an Trainingsdokumenten gehen wir nun daran, die zweite Regel zu entwi-
ckeln. Wie zuvor fangen wir mit der allgemeinen Regel ohne Vorbedingung und mit
der Kategorie Wirtschaft als Schlussfolgerung an:
r
[0]
2
= () c
Wirtschaft
Aufgrund der vernderten Menge der Trainingsdokumente ergibt sich diesmal ein
anderer Wert fr das Laplace-Ma, da nur noch fnf von insgesamt 25 Dokumenten
in der Kategorie Wirtschaft liegen:
q
Laplace
(r
[0]
2
, D) =
5 + 1
5 + 20 + 3
=
6
28
= 0, 214
Erweitern wir die Vorbedingung der Regel testweise um die Terme aus dem Vokabular,
so stellen wir fest, dass auch hier die Aufnahme des Terms Umsatz zur besten
Bewertung unter dem Laplace-Ma fhrt. Die entsprechende Regel r
[1,13]
2
erzielt einen
Wert von:
q
Laplace
(r
[1,13]
2
, D) =
2 + 1
2 + 2 + 3
=
3
7
= 0, 429
Nimmt man im zweiten Schritt noch den Term Gesetz hinzu, so ergibt sich eine
weitere Verbesserung zu einem Laplace-Wert von:
q
Laplace
(r
[2,5]
2
, D) =
2 + 1
2 + 0 + 3
=
3
5
= 0, 6
Dieser Wert lsst sich durch Hinzunahme von weiteren Termen nicht mehr verbessern,
so dass wir diese Regel als r
2
in den Regelsatz aufnehmen:
R :
r
1
= (Umsatz Firma) c
Wirtschaft
r
2
= (Umsatz Gesetz) c
Wirtschaft
232
13.3 Regelbasierte Systeme
Im Anschluss werden die Dokumente d
4
und d
8
aus den Trainingsdaten entfernt, da
sie von der Vorbedingung zu r
2
erfasst werden und wir verbleiben mit 23 Trainings-
dokumenten.
Auch die Erzeugung der dritten Regel luft analog ab. Es ergibt sich diesmal bereits
nach einem Schritt, dass folgende Regel nicht weiter verbessert werden kann:
r
[1]
3
= (Firma) c
Wirtschaft
Wir fgen also auch diese Regel dem Regelsatz hinzu. Interessant ist an dieser Stelle
jedoch, dass diese Regel keine Accuracy von 1 auf den Trainingsdaten erzielt. Daher
fallen beim anschlieenden Reduzieren der Trainingsmenge nicht nur die Dokumente
d
2
und d
7
aus, die auch tatschlich in der Kategorie Wirtschaft liegen, sondern
zustzlich die Dokumente d
13
, d
15
und d
18
aus Politik und d
22
aus Touristik.
Fr die vierte Regel zur Kategorie Wirtschaft ergibt sich im nchsten Durchlauf
die Vorbedingung, dass die Terme Stadt und Steuer enthalten sein mssen. Die
Regel erfasst mit d
6
auch das letzte Trainingsbeispiel der Kategorie Wirtschaft, so
dass danach Regeln fr eine andere Kategorie erlernt werden knnen. Unser Regelsatz
R enthlt nach der Behandlung der ersten Kategorie vier Regeln:
R :
r
1
= (Umsatz Firma) c
Wirtschaft
r
2
= (Umsatz Gesetz) c
Wirtschaft
r
3
= (Firma) c
Wirtschaft
r
4
= (Stadt Steuer) c
Wirtschaft
Wir wenden uns nun der Kategorie Politik zu. Es sind 16 Dokumente in der Trai-
ningsmenge verblieben, von denen sieben in diese Kategorie fallen. Genau wie zu-
vor werden auch hier wieder schrittweise Regeln erzeugt, jeweils durch termweise
Einschrnkung der allgemeinen Regel ohne Vorbedingung. Auer der eingeschrnk-
ten Trainingsmenge ndert sich lediglich die Auassung von korrekten und falschen
Klassikationen, da nun die Dokumente mit Label Politik als positive Beispiele
herangezogen werden mssen.
In dieser Kategorie werden zwei Regeln erlernt, nach denen bereits aller Beispiele
behandelt sind. Fr die Erkennung der Kategorie Touristik sind in unserem Fall
nur noch Beispieldokumente aus dieser Klasse brig, so dass die allgemeine Regel
ohne Vorbedingung bereits perfekte Ergebnisse erzielt und nicht weiter verbessert
werden kann. Insgesamt erhalten wir folgenden Regelsatz:
233
13 Textklassikation
R :
r
1
= (Umsatz Firma) c
Wirtschaft
r
2
= (Umsatz Gesetz) c
Wirtschaft
r
3
= (Firma) c
Wirtschaft
r
4
= (Stadt Steuer) c
Wirtschaft
r
5
= (Regierung) c
Politik
r
6
= (Steuer) c
Politik
r
7
= () c
Touristik
In dieser Berechnung haben wir alle unsere Daten fr das Trainieren des Klassi-
kators verbraucht, so dass eine Evaluation der erhaltenen Regeln ohne die Zugabe
von neuen, manuell mit Label versehenen Daten nicht mglich ist. Wir knnen je-
doch probeweise betrachten, wie die beiden Dokumente d
a
und d
b
mit den folgenden
Termen klassiziert werden:
d
a
: Agentur, Insel, Reise, Strand
d
b
: Firma, Gesetz, Regierung, Steuer
Die erste Regel, die fr Dokument d
a
zutrit ist die letzte Regel r
7
die mit ihrer
allgemeinen Vorbedingungen jedes Dokument erfasst, das nicht zuvor klassiziert
wurde. Somit bekommt d
a
die Kategorie Touristik zugewiesen, was sich anhand
der Terme auch anschaulich nachvollziehen lsst. Dokument d
b
hingegen erfllt die
Vorbedingung zu Regel r
3
, dass der Term Firma enthalten ist. Daher wird die-
sem Dokument die Kategorie Wirtschaft zugeordnet, obwohl sich von den Termen
inhaltlich die Kategorie Politik vielleicht eher anbieten wrde.
Anstatt neue Dokumente einzufhren, htten wir auch eine Strategie mit cross-
validation fahren knnen. Bei einem klassischen 10-times 10-fold cross-validation An-
satz ergaben sich fr das hier demonstrierte Verfahren einen regelbasierten Klassi-
kator zu erlernen durchschnittliche Accuracy-Werte
4
von 0,59 bis 0,62.
Nachgelagert nach dem Algorithmus zum Erlernen von Regeln knnten noch verschiedene
Strategien zur Optimierung der Regeln verfolgt werden. So fllt in unserem Beispiel auf,
dass Regel r
3
eine allgemeinere Fassung von r
1
ist. Will man die Aussagen zur Qualitt
der beiden Regeln nicht weiter verwenden, so knnte man diese Regeln zusammenfassen.
4
Eine Evaluation mit 10-times 10-fold cross-validation liefert natrlich nur einen konkreten durchschnitt-
lichen Accuracy-Wert. Da unsere Datenbasis hier allerdings sehr dnn ist, wurden mehrere Durchlufe
durchgefhrt, um sicher zu gehen, dass nicht trotz der bereits evaluationsimmanenten zehnfachen Wie-
derholung ein Ausreier nach oben oder unten beobachtet wurde.
234
13.4 Naive Bayes
Ein anderer Ansatz zur Optimierung wre es, zu spezielle Regeln zu entfernen, d.h. solche
Regeln die zu kleine Coverage-Werte aufweisen.
Bei der Suche nach Regeln selbst, kann ebenfalls anders verfahren werden. Statt des
Greedy-Ansatzes, bei dem immer nur die beste Regel weiterverfolgt wird, knnte alternativ
ein Beam-Search basiertes Verfahren zur Anwendung kommen. Dabei werden in jedem
Schritt die k besten Regeln ermittelt, fr die jeweils die mglichen weiteren Verfeinerung
analysiert werden. Es wird dann jeweils die beste der untersuchten Alternativen als Regel
in den Regelsatz aufgenommen.
Darber hinaus gibt es neben dem Sequential Covering Algorithmus noch viele andere
Anstze um regelbasierte Klassikatoren aus Trainingsdaten abzuleiten. Diese sollen an
dieser Stelle jedoch nicht weiter behandelt werden. Bei weiterem Interesse empehlt sich
ein Blick in Literatur zum Thema Data Mining und Machine Learning, beispielsweise die
Bcher von Witten und Frank [WF00] oder von Tan, Steinbach und Kumar [TSK06].
13.4 Naive Bayes
Ganz anders als die im letzten Abschnitt betrachteten regelbasierten Klassikatoren ge-
hen Naive Bayes Klassikatoren vor. Anstatt feste Regeln aufzustellen, die mit boolschen
Anfragen verglichen werden knnen, wird bei Naive Bayes (kurz: NB) ein probabilisti-
sches Modell zu den Kategorien und den darin vorkommenden Termen erlernt. Das bedeu-
tet, dass aus den Trainigsdaten Wahrscheinlichkeitsverteilungen geschtzt werden und die
Klassikation eines neuen, zuvor ungesehenen Dokumentes sich danach richtet, in welcher
Kategorie das Dokument wohl am wahrscheinlichsten enthalten wre.
Ziel bei NB ist es also, zu einem gegebenen Dokument eine Aussage zu machen, mit
welcher Wahrscheinlichkeit es in eine Kategorie fllt. Ganz in der Tradition der probabi-
listischen Modelle im IR, wie wir sie in Kapitel 7 und 11 gesehen haben, lsst sich dies als
bedingte Wahrscheinlichkeit formulieren:
P(c
j
[d)
Dieser Ausdruck liefert zu einem gegebenen Dokument d die Wahrscheinlichkeit, dass
dieses zur Kategorie c
j
gehrt. Die Klassikation selbst luft dann so ab, dass einem Do-
kument die Kategorie zugewiesen wird, fr welche der Wert P(c
j
[d) maximal wird. Formal
lsst sich die Klassikationsfunktion also folgendermaen angeben:

NB
(d) = arg max
c
j
C
P(c
j
[d)
Um die Wahrscheinlichkeit P(c
j
[d) berechnen zu knnen wendet man wie schon der
Name des Verfahrens andeutet auch hier wieder den Satz von Bayes an und erhlt somit:
P(c
j
[d) =
P(c
j
) P(d[c
j
)
P(d)
235
13 Textklassikation
Darin stecken nun wieder andere Wahrscheinlichkeiten die sich anschaulich interpretieren
lassen. Hinter P(c
j
) steckt die Wahrscheinlichkeit eine bestimmte Kategorie zu beobachten.
Diese spielt bei NB Klassikatoren durchaus eine wichtige Rolle. Sie fhrt dazu, dass ein
Dokument, das gleichermaen in zwei Kategorien passen wrde, der Kategorie zugeschlagen
wird, die insgesamt wahrscheinlicher ist. Der Ausdruck P(d) beschreibt die Wahrscheinlich-
keit fr das zu klassizierende Dokument. hnlich wie die Anfragen in probabilistischen
IR Modellen ist das Dokument allerdings fr eine konkrete Klassikationaufgabe fest und
somit stellt dieser Wert ber alle Kategorien hinweg einen konstanten Faktor dar. Weil am
Ende aber nur die wahrscheinlichste Kategorie von Interesse ist, kann ein solcher Faktor in
der Berechnung von vernachlssigt werden. Entsprechend lassen wir den Ausdruck in den
nachfolgenden Berechnung weg und drcken mit dem Zeichen aus, dass der Wert den wir
berechnen zwar nicht exakt mit der Wahrscheinlichkeit P(c
j
[d) bereinstimmt aber propor-
tional zu ihr ist. Bleibt schlielich der Ausdruck P(d[c
j
), welcher als die Wahrscheinlichkeit
interpretiert werden kann, in der Klasse c
j
das Dokument d zu beobachten.
Dass NB Klassikatoren ein Naive im Namen tragen liegt an einer essentiellen An-
nahme die bei ihrem Einsatz gemacht wird: die Attribute der zu klassizierenden Objekte
hngen nur von der Kategorie ab und sind untereinander unabhngig. Fr Dokumente
bedeutet dies je nach Dokumentdarstellung, dass die Wahrscheinlichkeiten fr das Auftre-
ten einzelner Terme, von Bigrammen oder die Werte anderer Eigenschaften nur von der
Kategorie abhngen. Dass diese Annahme nicht der Realitt entspricht wird direkt klar,
wenn man bedenkt, dass gewisse Wrter deutlich huger in Kombination auftreten (z.B.
Redewendungen, Mehrwortkonstrukte). Aus diesem Grund kann man sagen, die Annahme
ist bertrieben oder eben naiv.
Wie kann nun die obige Umformung der bedingten Wahrscheinlichkeit P(c
j
[d) genutzt
werden, um einen Klassikator zu bauen? Die zentrale Idee ist es, die Wahrscheinlichkei-
ten fr P(c
j
) und P(d[c
j
) aus Trainingsdaten zu schtzen, um somit fr neue Dokumente
Aussagen ber die Zugehrigkeit zu Kategorien machen zu knnen. Dazu geht man wie
auch bei anderen ML Verfahren davon aus, dass die Trainingsbeispiele ein reprsentati-
ves Abbild der realen Welt darstellen. Das bedeutet einerseits, dass die relative Hugkeit
der Kategorien in etwa der Verteilung des tatschlichen Auftretens entspricht, und ande-
rerseits, dass die in den Trainingsdokumenten beobachteten Eigenschaften typisch fr die
Kategorien sind.
Bezglich der nun schon mehrfach angesprochenen Dokumenteigenschaften beschrnken
wir uns wie schon im letzten Abschnitt wieder auf die in den Dokumenten enthaltenen
Terme. Da diesmal auch die Termfrequenzen eine Rolle spielen arbeiten wir letztendlich
mit einer Bag of Words Darstellung der Dokumente.
Auf der Basis der Annahme, dass die Wahrscheinlichkeiten fr das Auftreten von Termen
in den Dokumenten nur von der Kategorie und nicht von anderen Termen abhngt, knnen
wir die obige Formel etwas vereinfachen. Damit lsst sich nmlich die Wahrscheinlichkeit
P(d[c
j
) in ein Produkt ber Wahrscheinlichkeiten einzelner Terme umformen. Nehmen wir
nmlich an, dass das Dokument d aus der Abfolge t
1
t
2
t
3
. . . t
L
d
von Termen besteht, so
ergibt sich:
236
13.4 Naive Bayes
P(d[c
j
) = P(d = (t
1
t
2
t
3
. . . t
L
d
)[c
j
) = P(t
1
[c
j
) P(t
2
[c
j
) P(t
3
[c
j
) . . . P(t
L
d
[c
j
)
Fasst man den letzten Ausdruck zu einem Produkt zusammen und fgt ihn unter Weg-
lassen von P(d) in die obige Gleichung ein, so erhlt man damit:
P(c
j
[d) P(c
j
)
L
d

i=1
P(t
i
[c
j
)
Dabei ist t
i
als der Term an der i-ten Stelle im Dokument zu interpretieren, entsprechend
luft der Index i bis zu L
d
, der Lnge des Dokuments. Da wir jedoch von einem Bag of
Words Modell ausgehen und die Reihenfolge vernachlssigen, knnen wir an dieser Stelle
die Wahrscheinlichkeiten zu gleichlautenden Termen zusammenfassen. Denn wenn der k-te
Term im Vokabular t
k
an drei Stellen im Dokument auftaucht, bedeutet dies lediglich, dass
wir die Wahrscheinlichkeit fr t
k
dreimal in das Produkt einieen lassen mssen
5
. Dies
lsst sich formal so darstellen:
P(c
j
[d) P(c
j
)

t
k
d
P(t
k
[c
j
)
tf
d
(t
k
)
Der Vorteil dieser Umformungen ist, dass wir die hier aufgefhrten Wahrscheinlichkeiten
P(c
j
) und P(t
k
[c
j
) direkt aus den Trainingsdaten schtzen knnen. Dazu wenden wir in
beiden Fllen die MLE an (vgl. 11.3). Fr die Kategorien mssen wir dazu letztendlich nur
die relative Hugkeit der Kategorien in den Trainingsdaten bestimmen und knnen diese
als Schtzer verwenden:

P(c
j
) =
g
j
[D[
Dabei steht D wieder fr die Menge der Trainingsdokumente und g
j
fr die Anzahl dieser
Dokumente, die der Kategorie c
j
zugeordnet sind.
Ebenso kann fr das Schtzen der Wahrscheinlichkeiten P(t
k
[c
j
) vorgegangen werden.
Bezeichnen wir mit tf
c
j
(t
k
) die Anzahl der Vorkommnisse von t
k
in allen Trainingsdokumen-
ten die zur Kategorie c
j
gehren
6
. Dann knnen wir die relative Hugkeit eines Terms in
einer Kategorie bestimmen und als Schtzer fr die Wahrscheinlichkeit P(t
k
[c
j
) einsetzen:

P(t
k
[c
j
) =
tf
c
j
(t
k
)

t
i
V
tf
c
j
(t
i
)
5
Im Prinzip muss kombinatorisch auch noch die Anzahl der Mglichkeiten betrachten, den Term t
k
an
drei Stellen eines Dokumentes d der Lnge L
d
unterzubringen, dabei handelt es sich jedoch um einen
Term, der fr ein gegebenes Dokument konstant ist und somit an der proportionalen Beziehung zur
Wahrscheinlichkeit P(c
j
[d) nichts ndert.
6
Der Bezeichner tf
c
j
(t
k
) erinnert durchaus mit Absicht an Termfrequenzen. Letztendlich bestimmt man
hier die Termfrequenz von t
k
in der gesamten Kategorie.
237
13 Textklassikation
Im Nenner steht dabei die Summe aller Terme in allen Trainingsdokumenten zur Ka-
tegorie c
j
. Im Endeekt wird hier also bestimmt welcher Bruchteil aller Terme in dieser
Kategorie auf den Term t
k
entfllt.
Dieses Vorgehen erinnert stark an den LM Ansatz zum IR, in dem letztendlich Wahr-
scheinlichkeiten fr das Auftreten von Termen in Dokumenten geschtzt wurden. Fr die
Sprachmodelle wurde die Wahrscheinlichkeit einen Term zu beobachten ebenfalls ber die
relative Hugkeit dieses Terms geschtzt. In der Tat beruhen beide Anstze auf den
gleichen Ideen und Modellannahmen einer Multinomialverteilung, weshalb diese Form des
NB Klassikators auch als multinomiales NB bezeichnet wird. Anschaulich kann man sich
einen solchen NB so vorstellen: fasst man die Trainingsdokumente einer Kategorie zu einem
langen Dokument zusammen, so baut man im NB Ansatzes gewissermaen ein LM, das
Dokumente zu dieser Kategorie erzeugen kann. Ein deutlicher Unterschied ist jedoch, dass
die Wahrscheinlichkeit P(c
j
) fr die Kategorien hier direkt aus den Trainingsdaten model-
liert werden kann. Bei den LM fr klassische Ad Hoc Anfragen konnten hchstens statische
Qualittsmae als Prior fr das gleichwertige Konzept der Dokumentwahrscheinlichkeiten
P(d) eingesetzt werden.
Ein Problem, das aber fr NB Klassikatoren genauso besteht wie beim Einsatz von
LM fr IR Zwecke, sind Terme, die in den Trainingsdokumenten zu einer Kategorie nicht
auftreten. Solche Terme erhalten nmlich vom obigen Schtzer eine Wahrscheinlichkeit von
0 zugewiesen. Kommt also in einem Dokument ein Term vor, der beim Training zu einer
Kategorie nie aufgetreten ist, so fhrt dies aufgrund der Multiplikation der Einzelwahr-
scheinlichkeiten dazu, dass die Kategorie dem Dokument insgesamt mit Wahrscheinlichkeit
0 zugerechnet wird.
Genau wie bei den Language Models kommt daher auch bei NB Klassikatoren Smoo-
thing zum Einsatz. Allerdings wird hier kein Referenzkorpus verwendet, sondern man setzt
das einfachere Laplace-Smoothing ein, bei dem die tatschliche Hugkeit jedes Terms um
einen Wert von 1 erhht wird. Das fhrt dazu, dass der obige Schtzer angepasst werden
muss zu:

P(t
k
[c
j
) =
tf
c
j
(t
k
) + 1

t
i
V
_
tf
c
j
(t
i
) + 1
_
=
tf
c
j
(t
k
) + 1

t
i
V
_
tf
c
j
(t
i
)
_
+[V [
Setzt man diesen sowie den Schtzer fr die Kategorienwahrscheinlichkeit in die Funk-
tion ein, so erhlt man insgesamt die folgende Formel zur Darstellung von Naive Bayes
Klassikatoren:

NB
(d) = arg max
c
j
C
_
_
_
g
j
[D[

t
k
d
_
_
tf
c
j
(t
k
) + 1

t
i
V
_
tf
c
j
(t
i
)
_
+[V [
_
_
tf
d
(t
k
)
_
_
_
238
13.4 Naive Bayes
Textklassikation mit multinomialem Naive Bayes Klassikator
Wie schon bei den regelbasierten Klassikatoren wollen wir einen NB Klassikator
zunchst auf allen Dokumenten aus Tabelle 13.3 trainieren, um uns das Verfahren an
sich zu verdeutlichen.
Zunchst knnen wir dabei die Wahrscheinlichkeiten fr die einzelnen Kategorien
schtzen. Dies ist in diesem Beispiel relativ uninteressant, da letztendlich fr jede der
drei Kategorien Wirtschaft, Politik und Touristik zehn Beispieldokumente zur
Verfgung stehen. Daher erhalten wir die etwas unspektakulren Schtzer:

P(c
Wirtschaft
) =
1
3

P(c
Politik
) =
1
3

P(c
Touristik
) =
1
3
Auch wenn die Schtzer fr die Wahrscheinlichkeiten der Kategorien alle gleich sind
und somit die Klassikation von Dokumenten nicht wirklich beeinussen werden wir
die Werte der Vollstndigkeit halber dennoch mitfhren.
Danach brauchen wir die Aufteilung der Trainingsdaten in einzelne Dokumente vom
Prinzip her nicht weiter zu betrachten. Schlielich interessiert uns zu jedem Term des
Vokabulars nur noch, wie oft er in den Dokumenten einer Kategorie insgesamt aufge-
treten ist. Wir knnen daher die Termfrequenzen in den Dokumenten aufsummieren
und zusammenfassen so wie in Tabelle 13.4 dargestellt. Die Angabe einer Lnge
bezieht sich dabei auf die Gesamtzahl an Termen, die in den Kategorien aufgetreten
ist. Dieser Wert wird im nchsten Schritt fr die Berechnung der Schtzer bentigt.
Tabelle 13.4: Hugkeiten der Terme in den einzelnen Kategorien
Kategorie A
g
e
n
t
u
r
B
o
o
t
F
i
r
m
a
F
l
u
g
z
e
u
g
G
e
s
e
t
z
I
n
s
e
l
P
r

s
i
d
e
n
t
R
e
g
i
e
r
u
n
g
R
e
i
s
e
S
t
a
d
t
S
t
e
u
e
r
S
t
r
a
n
d
U
m
s
a
t
z
Lnge
c
Wirtschaft
4 2 15 1 4 1 2 2 0 4 11 0 19 65
c
Politik
0 0 4 2 21 1 16 15 2 4 12 0 1 78
c
Touristik
11 5 1 12 3 8 1 0 19 6 0 20 1 87
Auf der Basis dieser Werte werden nun die Schtzer fr die Wahrscheinlichkeiten
P(t
k
[c
j
) berechnet. Betrachten wir hier stellvertretend fr die anderen Kombinationen
die Wahrscheinlichkeit P(Agentur[c
Wirtschaft
), so erhalten wir folgenden Schtzer:

P(Agentur[c
Wirtschaft
) =
4 + 1
65 + 13
=
5
78
= 0, 06
239
13 Textklassikation
Wie man anhand der Addition von 1 im Zhler und 13 im Nenner erkennen kann, ist
bereits ein Laplace-Smoothing in den Schtzer eingeossen. Genauso geht man nun
fr alle Terme und Kategorien vor, so dass man letztendlich die Wahrscheinlichkeits-
schtzer in Tabelle 13.5 erhlt.
Tabelle 13.5: Wahrscheinlichkeiten fr die Terme in den einzelnen Kategorien.
Kategorie A
g
e
n
t
u
r
B
o
o
t
F
i
r
m
a
F
l
u
g
z
e
u
g
G
e
s
e
t
z
I
n
s
e
l
P
r

s
i
d
e
n
t
R
e
g
i
e
r
u
n
g
R
e
i
s
e
S
t
a
d
t
S
t
e
u
e
r
S
t
r
a
n
d
U
m
s
a
t
z
c
Wirtschaft
0,06 0,04 0,21 0,03 0,06 0,03 0,04 0,04 0,01 0,06 0,15 0,01 0,26
c
Politik
0,01 0,01 0,05 0,03 0,24 0,02 0,19 0,18 0,03 0,05 0,14 0,01 0,02
c
Touristik
0,12 0,06 0,02 0,13 0,04 0,09 0,02 0,01 0,20 0,07 0,01 0,21 0,02
Damit ist das Trainieren des NB Klassikators bereits abgeschlossen. Um zu verdeut-
lichen, wie die Klassikation selbst abluft, greifen wir wieder die beiden Dokumente
d
a
und d
b
aus dem vorherigen Abschnitt auf. Diesmal bentigen wir auch Angaben
zu den Termfrequenzen, die hier in Klammern notiert sind:
d
a
: Agentur (1), Insel (2), Reise (2), Strand (4)
d
b
: Firma (1), Gesetz (2), Regierung(5), Steuer (3)
Betrachten wir zunchst Dokument d
a
. Wir mssen fr jede unserer Kategorien tes-
ten, wie wahrscheinlich es ist, dass d
a
darin liegt. Das heit, wir mssen fr jede
Kategorie das folgende Produkt auswerten:
P(c
j
) P(Agentur[c
j
) P(Insel[c
j
)
2
P(Reise[c
j
)
2
P(Strand[c
j
)
4
Setzen wir hier die Schtzer fr Wahrscheinlichkeiten zur Kategorie Wirtschaft ein,
so ergibt sich:
1
3
0, 06 (0, 03)
2
(0, 01)
2
(0, 01)
4
= 1, 8 10
17
Fhrt man die Berechnung fr alle Kategorien durch, so gelangt man zu folgenden
Werten, die jeweils proportional zur Wahrscheinlichkeit sind, dass d
a
in der entspre-
chenden Kategorie liegt:
Wirtschaft : 1, 8 10
17
Politik : 1, 2 10
17
Touristik : 2, 5 10
8
Da hier der Wert fr die Kategorie Touristik am grten ist, wird das Dokument
d
a
dieser Kategorie zugeordnet.
Fhrt man die gleichen Berechnung fr d
b
durch, so gelangt man zu folgenden Werten,
aus denen hervorgeht, dass d
b
der Kategorie Politik zugeschlagen wird:
240
13.4 Naive Bayes
Wirtschaft : 8, 7 10
14
Politik : 5, 0 10
10
Touristik : 1, 1 10
21
Wenden wir fr eine etwas solidere Evaluation wieder 10-times 10-fold cross-validation
an, so erzielt dieses NB Verfahren eine durchschnittliche Accuracy zwischen 0,81 und
0,84.
Anhand des Beispiels sieht man auch, dass sehr kleine Werte miteinander multipliziert
werden. Bei lngeren Dokumenten stt man also schnell wieder an die Grenzen der Re-
chengenauigkeit. Allerdings kann auch hier die Standardlsung herangezogen werden die
uns bereits an anderen Stellen begegnet ist: man rechnet mit der Summe der logarithmier-
ten Wahrscheinlichkeitswerte:
P(c
j
[d) log (P(c
j
)) +

t
k
d
log
_
P(t
k
[c
j
)
tf
d
(t
k
)
_
Im Gegensatz zum bisher beschriebenen multinomialen NB Modell wird im Bernoulli
NB Ansatz die Wahrscheinlichkeit P(d[c
j
) aus der Ausgangsformel etwas anders aufgelst.
Statt die Wahrscheinlichkeiten einzelner Terme ber deren relative Hugkeit in den Trai-
ningsdokumenten zu einer Kategorie zu modellieren wird lediglich auf das Vorhandensein
oder Fehlen von Termen in den Trainingsdokumenten geachtet. Bedingt durch die beiden
einzigen Mglichkeiten Term vorhanden und Term nicht vorhanden als Ergebnis der
Beobachtung eines Dokumentes hat man es in diesem Fall mit Bernoulli Verteilungen zu
tun. Mehr von der praktischen Seite aus betrachtet heit das, dass statt kategoriegloba-
len Termfrequenzen kategoriespezische Dokumentfrequenzen verwendet werden, um die
Wahrscheinlichkeit zu schtzen, dass ein bestimmter Term in einer Kategorie auftritt.
Die Wahrscheinlichkeit P(t
k
[c
j
) beschreibt hier also eine andere Gre. Fr die zugeh-
rigen Schtzer mssen wir bestimmen, in wie vielen Trainingsdokumenten zur Kategorie
c
j
der Term t
k
auftritt (egal ob mehrfach oder nur einmal). Wir bezeichnen diese ka-
tegoriespezische Dokumentfrequenz mit df
c
j
(t
k
) und verwenden wie schon zuvor g
j
fr
die Anzahl der Trainingsdokumente in Kategorie c
j
. Um den Fall abzudecken, dass ein
Term in keinem einzigen Trainingsdokument auftritt, wird auch bei diesem Schtzer wie-
der Laplace-Smoothing eingesetzt und man erhlt:

P(t
k
[c
j
) =
df
c
j
(t
k
) + 1
g
j
+ 2
Es fllt auf, dass beim Smoothing im Nenner ein konstanter Wert von 2 addiert wird, der
von der Gre des Vokabulars und der Anzahl der Dokumente unabhngig ist. Das liegt
daran, dass wir wie oben erwhnt nun nur darauf achten, ob ein Term in einem Dokument
enthalten ist oder nicht. Somit gibt es fr einen Term nur zwei mgliche Beobachtungen:
241
13 Textklassikation
entweder er ist enthalten oder eben nicht. Und diese beiden mglichen Beobachtungen
werden beim Smoothing fr die Berechnung des Schtzer jeweils um 1 erhht.
Folgerichtig mssen wir nun eigentlich auch noch die Wahrscheinlichkeit bestimmen,
dass ein Term nicht in einem Dokument auftritt. Dies ist jedoch das Gegenereignis zur
Beobachtung, dass der Term enthalten ist und ergibt sich somit direkt ber:

P(t
k
[c
j
) = 1

P(t
k
[c
j
) =
g
j
df
c
j
(t
k
) + 1
g
j
+ 2
Mit diesen Schtzern kann man nun fr ein Dokument d die Wahrscheinlichkeit P(d[c
j
)
als Kombinationen von enthaltenen und fehlenden Termen berechnen. Nehmen wir dazu
an, dass die Terme t
1
bis t
n
in d enthalten sind. Dann ergibt sich:
P(d[c
j
) = P(d = t
1
, t
2
, t
3
, . . . , t
n
[c
j
) =

t
i
d
(P(t
i
[c
j
))

t
i
V \d
(P(t
i
[c
j
))
Man sieht direkt wie bei den Bernoulli NB Klassikatoren sowohl die enthaltenen als
auch die fehlenden Terme in einem zu klassizierenden Dokument bercksichtigt werden.
Baut man diese Form in die Gesamtformel ein, so erhlt man:
P(c
j
[d) P(c
j
)

t
i
d
(P(t
i
[c
j
))

t
i
V \d
(P(t
i
[c
j
))
Textklassikation mit Bernoulli Naive Bayes Klassikator
Um die Unterschiede zum multinomialen NB Ansatz noch deutlicher zu machen, er-
stellen wir nun einen Bernoulli NB Klassikator zu unseren Beispieldokumenten. Zur
Berechnung der Schtzer interessieren wir uns diesmal nicht fr relativen Hugkei-
ten der Terme in den Kategorien, sondern vielmehr fr den Anteil der Trainingsdo-
kumente, welche den Term enthalten. Tabelle 13.6 listet auf, welcher Term in jeweils
wievielen Trainingsdokumenten der drei Kategorien auftritt:
Tabelle 13.6: Anzahl der Trainingsdokumente in den Kategorien die bestimmte Terme ent-
halten.
Kategorie A
g
e
n
t
u
r
B
o
o
t
F
i
r
m
a
F
l
u
g
z
e
u
g
G
e
s
e
t
z
I
n
s
e
l
P
r

s
i
d
e
n
t
R
e
g
i
e
r
u
n
g
R
e
i
s
e
S
t
a
d
t
S
t
e
u
e
r
S
t
r
a
n
d
U
m
s
a
t
z
c
Wirtschaft
3 1 7 1 2 1 2 1 0 2 4 0 7
c
Politik
0 0 3 1 5 1 6 6 2 2 5 0 1
c
Touristik
3 3 1 6 1 4 1 0 6 4 0 5 1
Ziehen wir auch hier wieder stellvertretend fr die anderen Kombination die Wahr-
scheinlichkeit P(Agentur[c
wirtschaft
) heran, so ergibt sich aus den Daten in Tabelle
13.6 der Schtzer:
242
13.4 Naive Bayes

P(Agentur[c
Wirtschaft
) =
3 + 1
10 + 2
=
4
12
= 0, 33
Die Wahrscheinlichkeitsschtzung, dass der Term Agentur nicht in einem Dokument
aus der Kategorie Wirtschaft auftaucht ergibt sich entsprechend daraus, dass es
sieben Trainingsdokumente gibt, in denen der Term nicht aufgetreten ist:

P(Agentur[c
j
) =
7 + 1
10 + 2
=
8
12
= 0, 67
Wie aber bereits angesprochen ist dies schlicht die Wahrscheinlichkeit des Gegenereig-
nisses und kann daher ber 1 P(Agentur[c
Wirtschaft
) berechnet werden. Aus diesem
Grund gengt es auch, fr den Klassikator die Wahrscheinlichkeiten fr das Ereignis
Term enthalten zu speichern. Diese Werte sind in Tabelle 13.7 fr alle Terme und
Kategorien aufgefhrt.
Tabelle 13.7: Wahrscheinlichkeitsschtzung fr Bernoulli NB Klassikator.
Kategorie A
g
e
n
t
u
r
B
o
o
t
F
i
r
m
a
F
l
u
g
z
e
u
g
G
e
s
e
t
z
I
n
s
e
l
P
r

s
i
d
e
n
t
R
e
g
i
e
r
u
n
g
R
e
i
s
e
S
t
a
d
t
S
t
e
u
e
r
S
t
r
a
n
d
U
m
s
a
t
z
c
Wirtschaft
0,33 0,17 0,67 0,17 0,25 0,17 0,25 0,17 0,08 0,25 0,42 0,08 0,67
c
Politik
0,08 0,08 0,33 0,17 0,5 0,17 0,58 0,58 0,25 0,25 0,50 0,08 0,17
c
Touristik
0,33 0,33 0,17 0,58 0,17 0,42 0,17 0,08 0,58 0,42 0,08 0,50 0,17
Berechenen wir auch in diesem Modell die Kategorien fr die beiden Dokumente d
a
und d
b
. Da uns diesmal wieder nur interessiert ob ein Term enthalten ist oder nicht,
knnen wir die Termfrequenzen ignorieren. Fr d
a
muss dann zu jeder Kategorie c
j
jeweils das folgende Produkt berechnet werden:
P(c
j
) P(Agentur[c
j
) P(Boot[c
j
) P(Firma[c
j
) P(Flugzeug[c
j
) P(Gesetz[c
j
)
P(Insel[c
j
) P(Prsident[c
j
) P(Regierung[c
j
) P(Reise[c
j
) P(Stadt[c
j
)
P(Steuer[c
j
) P(Strand[c
j
) P(Umsatz[c
j
)
Daraus ergeben sich folgende Werte in den drei Kategorien Wirtschaft, Politik
und Touristik:
Wirtschaft : 6, 1 10
6
Politik : 4, 0 10
6
Touristik : 2, 7 10
3
Das heit, dass d
a
auch unter diesem Modell in die Kategorie Touristik eingeordnet
wird. Fr d
b
hingegen ergibt sich die Kategorie Politik, wie man an diesen Werten
sehen kann:
243
13 Textklassikation
Wirtschaft : 7, 0 10
4
Politik : 5, 1 10
3
Touristik : 1, 8 10
6
Auch fr den Bernoulli NB Klassikator knnen wir zu Evaluationszwecken schlie-
lich eine 10-times 10-fold cross validation laufen lassen. Dabei ergeben sich mittlere
Accuracy-Werte zwischen 0,71 und 0,75.
Der Einsatz von Bernoulli NB Klassikatoren kann dann sinnvoll sein, wenn das Fehlen
eines Termes einen klaren Einuss auf die Klassikation hat. Wie wir allerdings schon in
anderem Zusammenhang angemerkt haben, sind fehlende Terme in Texten selten aussage-
krftig (vgl. die Anmerkungen zur regelbasierten Klassikation oder die schwache Gewich-
tung von negativem Relevance Feedback in 5.7). Bei der maschinellen Klassikation anderer
Objekte kann das Fehlen einer bestimmten Eigenschaft jedoch durchaus gute Hinweise auf
die Kategorie geben, man denke beispielsweise an positive oder negative Ergebnisse von
medizinischen Tests um einen Krankheitsbefund zu erstellen. Ein anderer Punkt den es zu
bedenken gilt ist, dass zu jedem zu klassizierenden Dokument alle Terme des Vokabulars
bercksichtigt werden mssen unabhngig davon wie viele Terme letztendlich im Doku-
ment auftreten. Das kann bei einem umfangreichen Vokabular durchaus zu Einbuen bei
der Performanz fhren.
Erkennung der Sprache von Suchanfragen mit mul-
tinomialem Naive Bayes Klassikator
In Kapitel 12 haben wir bei CLIR Systemen mit der bersetzung von Dokumenten
oder Anfragen gearbeitet. Fr den erfolgreichen Einsatz eines bersetzungsmoduls
muss man zunchst die Sprache des Ausgangstextes genau kennen. Das Erkennen
der Sprache stellt wie in der Einleitung erwhnt ebenfalls eine Klassikationsaufgabe
dar. Fr lngere Texte, wie sie normalerweise in Dokumenten auftreten, gibt es dazu
eine ganze Reihe von sehr zuverlssigen Anstzen.
Wie sieht es aber mit den Anfragen aus? Anfragen sind in der Regel sehr kurz,
enthalten keine vollstndigen Stze und sind relativ hug gespickt mit Eigennamen
von Personen, Firmen, Produkten oder geograschen Orten.
Zerlegt man die Anfrage nicht in Wrter sondern in zeichenbasierte n-Gramme, so
knnen Naive Bayes Klassikatoren hier noch erstaunlich zuverlssige Ergebnisse
liefern. Nimmt man einzelne Wrtern aus Wrterbchern, so erkennt ein NB Klas-
sikator in mehr als 80% der Flle die Sprache richtig. Auf Texten, die sehr hnlich
zu Anfragen sind, wird sogar eine Accuracy von 99,4% erreicht [GL10].
244
13.5 Der Rocchio Algorithmus zur Textklassikation
13.5 Der Rocchio Algorithmus zur Textklassikation
Nachdem uns bei der regelbasierten Klassikation das boolsche Modell und bei Naive
Bayes Klassikatoren probabilistische Modelle begegnet sind, kommen wir nun zu einem
Klassikationsverfahren auf der Basis des Vektorraummodells. Der Rocchio Ansatz zur
Textklassikation
7
verwendet die Vektordarstellungen von Dokumenten, um ein prototy-
pisches Beispieldokument fr jede Kategorie abzuleiten. Fr ein ungesehenes Dokument
d wird dann berprft, welches der Prototypdokumente am dichtesten an d liegt. Nach
diesem nchstliegenden Prototyp richtet sich dann die Klassikation von d.
Die Darstellung der Dokumente beruht auf den gleichen Prinzipien wie im Vektorraum-
modell. Jeder Term des Vokabulars spannt eine Dimension in einem Vektorraum auf. Ein
Dokument wird durch einen Vektor von Gewichten zu jedem einzelnen Term dargestellt.
Die Gewichte werden beispielsweise per TF-IDF berechnet und typischerweise ndet eine
Normierung der Dokumente auf Einheitslnge statt. Letztendlich hat man es also mit der
gleichen Darstellung der Dokumente wie bei einem Vektorraum IR-System zu tun.
Die grundlegende Idee (und gewissermaen die Voraussetzung fr den Erfolg des Ansat-
zes) bei einer Klassikation im Vektorraum ist, dass die Dokumente einer Kategorie durch
hnliche Vektoren dargestellt werden. Bei Klassikations- oder spter auch Clusteraufga-
ben bedeutet das, dass die durch die Vektoren beschriebenen Punkte dicht beisammen
liegen. Somit kommt hier ein Abstandsma zum Einsatz, um rumliche Nhe oder Entfer-
nung zu modellieren.
Als Abstandsmae dienen meist Metriken. Eine Metrik ist deniert als eine Abbildung
von Zwei-Tupeln (bei uns von Dokumenten) auf die nicht negativen reellen Zahlen, formal
durch:
: D D [0, R
Weiterhin gelten fr Metriken einige weitere Bedingungen [For96], die wir hier direkt im
Kontext des Einsatzes als Abstandsma zwischen Dokumenten in der Vektorraumdarstel-
lung beschreiben:
Jedes Dokument hat zu sich selbst den Abstand 0. Das bedeutet, dass fr alle Doku-
mente in ihrer Vektordarstellung

d gilt, dass:
(

d,

d) = 0
Weiterhin gilt, dass eine Metrik fr zwei verschiedene also nicht-identische Doku-
mente einen positiven Wert annimmt. Formal bedeutet dies fr zwei Dokument-
vektoren

d
1
und

d
2
mit

d
1
,=

d
2
, dass:
(

d
1
,

d
2
) > 0
7
Es handelt sich um ein anderes Verfahren als der Rocchio Ansatz fr Relevance Feedback, der in 5.7
vorgestellt wurde. Beide Verfahren basieren jedoch auf hnlichen Operation ber Dokumentvektoren
245
13 Textklassikation
Es muss noch einmal darauf hingewiesen werden, dass diese Aussage fr eine Me-
trik ber den vektorbasierten Dokumentdarstellungen gilt. Fr eine Abstandsaussage
ber den Dokumenten selbst wird diese Voraussetzung in der Regel nicht verlangt
allein schon deshalb weil unterschiedliche Dokumente bei einer Bag of Words Dar-
stellung auf den gleichen Vektor abgebildet werden
8
.
Symmetrie: Der Abstand zwischen zwei Dokumenten d
1
und d
2
ist unabhngig vom
Blickwinkel. Dass heit der Abstand von d
1
zu d
2
ist gleich dem Abstand von d
2
zu
d
1
. Formal:
(

d
1
,

d
2
) = (

d
2
,

d
1
)d
2
, d
1
D
Dreiecksungleichung: Fr drei Dokumente d
1
, d
2
und d
3
gilt:
(

d
1
,

d
2
) (

d
1
,

d
3
) + (

d
3
,

d
2
)
Fr die Darstellung von Dokumenten im Vektorraum bietet sich der Einsatz von Metri-
ken als Abstandsma an, jedoch kommen Abstnde auch bei anderen Darstellungen zum
Einsatz. Je nachdem wie die Abstnde dann berechnet werden erfllen diese nicht mehr
alle Voraussetzungen einer Metrik.
Verwendet man beispielsweise die Anzahl der Hyperlinks zwischen zwei Webseiten fr
die Berechnung eines Abstandes so fhrt dies in der Regel zu asymmetrischen Abstnden,
da die Verweise im Web gerichtet und nicht bidirektional sind. Da ein Dokument ein
anderes deutlich huger verlinken kann, gelangt man zu unterschiedlichen Abstnden.
Nichtmetrische Abstnde treten insbesondere auch dann auf, wenn die Abstnde nicht
durch einen Algorithmus berechnet werden, sondern von Nutzern festgelegt werden. Dies
wre beispielsweise der Fall wenn verschiedene Nutzer die inhaltliche Nhe von einem
gegebenen Dokument zu einem anderen auf einer Skala zwischen 1 und 10 ausdrcken
sollen. Solche Schtzungen fr die Abstnde drften bedingt durch unterschiedliche Nutzer,
Blickwinkel und Kontexte hchstwahrscheinlich zu asymmetrischen Abstnden fhren, die
auch die Dreiecksungleichung nicht unbedingt erfllen.
In Kapitel 5 wurde fr die Berechnung der Retrievalfunktion im Vektorraum kein Ab-
standsma sondern ein hnlichkeitsma eingesetzt. Whrend bei Abstandsmaen kleine
Werte fr einen starken inhaltlichen Zusammenhang zwischen den Dokumenten stehen,
wurde dieser bei hnlichkeitsmaen durch einen Wert von 1 oder zumindest nahe bei die-
sem absoluten Maximalwert ausgedrckt. Umgekehrt bedeutete ein hnlichkeitswert von
0, dass die Dokumente keine inhaltlichen Gemeinsamkeiten haben, whrend ein Abstands-
ma dies durch einen relativ groen Wert ausdrckt. Der Unterschied zwischen Abstands-
und hnlichkeitsmaen ist jedoch gar nicht so gro wie er zu sein scheint. In der Tat
8
So werden zum Beispiel das Dokument die Katze jagt die Maus und das Dokument die Maus jagt die
Katze in einem Bag of Words Modell durch den gleichen Vektor dargestellt. Somit haben sie bezglich
einer Metrik im Vektorraum den Abstand 0, obwohl es sich um unterschiedliche Dokumente handelt.
246
13.5 Der Rocchio Algorithmus zur Textklassikation
gibt es einige Standardanstze, um zu einem Abstandsma ein hnlichkeitsma oder zu
hnlichkeitsmaen Abstandsmae zu konstruieren.
So erhlt man zu einem hnlichkeitsma sim eine Abstandfunktion dist, indem man den
hnlichkeitswert vom Maximalwert 1 abzieht:
dist(d
1
, d
2
) = 1 sim(d
1
, d
2
)
Alternativ kann man auch den Negativwert des Logarithmus des hnlichkeitsmaes ver-
wenden. Damit erhlt man auch Abstnde zwischen Dokumenten, die grer als 1 sind.
Problematisch wird der Ansatz aber, wenn eine hnlichkeit von 0 auftritt, da der Loga-
rithmus fr Werte gegen 0 gegen minus unendlich strebt.
dist(d
1
, d
2
) = log (sim(d
1
, d
2
))
Umrechnen von hnlichkeits- auf Abstandswerte
Die Abstandswerte die durch die beiden eben genannten Umrechnungsmglichkeiten
entstehen entwickeln sich erwartungsgem sehr unterschiedlich. Die folgende Tabelle
gibt beispielhaft an, wie die konstruierten Abstandsmae fr verschiedene hnlich-
keitswerte aussehen:
sim(d
1
, d
2
) 1 sim(d
1
, d
2
) log (sim(d
1
, d
2
))
1,0 0,0 0,00
0,9 0,1 0,05
0,8 0,2 0,10
0,7 0,3 0,15
0,6 0,4 0,22
0,5 0,5 0,30
0,4 0,6 0,40
0,3 0,7 0,52
0,2 0,8 0,70
0,1 0,9 1,00
0,0 1,0
Fr den umgekehrten Fall, also aus einem Abstandsma dist ein hnlichkeitsma abzu-
leiten, gibt es ebenfalls verschiedene Anstze. Sofern fr das Abstandsma ein Maximalwert
dist
max
bekannt ist, kann man die Abstnde diesbezglich normieren und von 1 abziehen:
sim(d
1
, d
2
) = 1
dist(d
1
, d
2
)
dist
max
Kann man keinen Maximalwert angeben, so kann man eine dieser beiden Varianten
einsetzen:
247
13 Textklassikation
sim(d
1
, d
2
) =
1
1 + dist(d
1
, d
2
)
sim(d
1
, d
2
) = e
dist(d
1
,d
2
)
Diese beiden Anstze liefern jedoch nie einen hnlichkeitswert von 0. Dies lsst sich aber
auch anschaulich begrnden. Da keine Maximalwert fr die Abstnde angegeben werden
kann, kann es immer noch ein Dokument mit grerem Abstand und somit zwangslug
mit geringerer hnlichkeit geben.
Umrechnen von Abstands- auf hnlichkeitswerte
Auch hier soll in einer Tabelle kurz ein berblick ber die Entwicklung der umge-
rechneten hnlichkeitsmae im Vergleich zu den Abstnden gegeben werden:
dist(d
1
, d
2
) 1
dist(d
1
,d
2
)
dist
max
1
1+dist(d
1
,d
2
)
e
dist(d
1
,d
2
)
0,00 1,000 1,000 1,000
0,10 1,000 0,909 0,905
0,25 1,000 0,800 0,779
0,50 1,000 0,667 0,607
1,00 0,999 0,500 0,368
2,00 0,998 0,333 0,135
5,00 0,995 0,167 0,007
10,00 0,990 0,091 0,000
100,00 0,900 0,010 0,000
500,00 0,500 0,002 0,000
1000,00 0,000 0,001 0,000
Fr die Umrechnung ber die Exponentialfunktion sind hier fr die Abstandswerte
ab 10 hnlichkeitswerte von 0 eingetragen. Dies tuscht jedoch, die Werte sind grer
als Null, allerdings so geringfgig, dass dies bei der Darstellung mit drei Nachkom-
mastellen nicht mehr angezeigt wird.
Fr den Rocchio-Algorithmus zur Klassikation und die TF-IDF-Vektorraumdarstellung
der Dokumente verwenden wir als Abstandsma an dieser Stelle die euklidische Metrik,
also in unserem Fall:
(

d
1
,

d
2
) =

_
M

i=1
_
w
[i]
1
w
[i]
2
_
2
248
13.5 Der Rocchio Algorithmus zur Textklassikation
Dabei steht M fr die Mchtigkeit des Vokabulars und w
[i]
j
fr das Gewicht des i-ten
Terms im j-ten Dokument. Diese Metrik bietet sich auch deshalb, an weil sie bisher schon
fr die Lngennormierung der Dokumentvektoren eingesetzt wurde.
Bedingt durch die Lngennormierung ergibt sich noch ein anderes Phnomen. Da nur
Vektoren mit einer Lnge von 1 vorkommen, liegen die dadurch beschriebenen Punkte
alle auf einer hochdimensionalen Sphre. Da im TF-IDF-Fall die Eintrge der Vektoren
weiterhin nur positive Werte annehmen, wird sogar nur ein Ausschnitt der Sphre genutzt.
Zur Verdeutlichung zeigt Abbildung 13.3 den fr Dokumentvektoren ber drei Termen in
Frage kommenden Ausschnitt der Sphre im R
3
.
Abbildung 13.3: Ausschnitt der Sphre auf der die Dokumentreprsentationen im dreidi-
mensionalen Vektorraum mit normierten TF-IDF Gewichten liegen.
Durch diese Einschrnkung des Vektorraumes auf einen Sphrenausschnitt ergibt sich
fr die euklidische Abstandsmessung sogar, dass ein direkter Zusammenhang mit dem
Cosinusma besteht. Das heit, dass wenn zwischen den Vektoren

d
1
und

d
2
ein grerer
Abstand besteht als zwischen

d
3
und

d
4
, dann ist auch der Winkel zwischen

d
1
und

d
2
grer als zwischen

d
3
und

d
4
(und somit das Cosinusma kleiner).
Zu Darstellungszwecken werden wir in Beispielen weiterhin die Dokumente hug als
Punkt in einer Ebene darstellen, wie wir es zu Beginn des Kapitels fr die Verdeutlichung
des Overtting Problems getan haben. Das vereinfacht die Wahrnehmung und Darstellung
im Vergleich zu einem Sphrenausschnitt. Durch diese in Abbildung 13.4 und 13.5 ange-
deutete Projektion entstehen zwar ebenfalls Verzerrungen bei den Abstnden, fr unsere
Beispiele soll dies jedoch nicht stren. Fr das Rechnen mit Abstnden setzen wir auf die
tatschlichen Werte der Euklidischen Metrik.
Kommen wir nun zurck zum eigentlichen Klassikationsverfahren und der Annahme,
dass die Vektoren der Dokumente aus einer Kategorie untereinander rumlich dicht bei-
sammen und gleichzeitig zu den anderen Kategorien weiter entfernt liegen. Wir erwarten
249
13 Textklassikation
Abbildung 13.4: Projektion der Punkte vom Sphrenausschnitt auf eine Hyperebene (hier
als orange Gerade im 2D Fall).
Abbildung 13.5: Projektionsebene fr den dreidimensionalen Fall
also eine Situation wie in Abbildung 13.6, in der sich die Kategorien als Grppchen von
Dokumenten abzeichenen. Die Dokumente sind hier als farbige Punkte dargestellt, hinter
denen jeweils ein Vektor steckt, und bei denen die Farbe die Zugehrigkeit zur gleichen
Kategorie symbolisiert.
Im Rocchio Ansatz zur Klassikation wird nun fr jede Kategorie ein prototypischer
Dokumentvektor berechnet. Dieser Prototyp soll gewissermaen ein ideales, typisches Do-
kument der Kategorie reprsentieren. Rocchio verwendet Zentroiden als Prototypen: Vek-
toren die ber den Mittelwert der gesamten Trainingsvektoren einer Kategorie bestimmt
250
13.5 Der Rocchio Algorithmus zur Textklassikation
Abbildung 13.6: Annahme bei Vektorraumklassikation: Die Dokumente der Kategorien
liegen jeweils rumlich nahe bei einander.
werden
9
. Formal ergibt sich der Zentroid z
j
zur Kategorie c
j
ber die zugehrige Menge
von Trainingsdokumenten D
j
durch die Gleichung:
z
j
=
1
[D
j
[

dD
j

d
Mit der Berechnung der Zentroiden ist die Trainingsphase eines Rocchio Klassikators
auch schon abgeschlossen. Die Trainingsdokumente selbst brauchen nicht weiter gespeichert
werden, es gengt vllig, sich fr jede Kategorie den Vektor z
j
zu merken.
Wie der Name schon andeutet, liegen die Zentroiden im Zentrum der Traininungsdoku-
mente zu einer Kategorie. Berechnet man die Zentroiden fr die Lage der Dokumente aus
Abbildung 13.6 und fgt diese in die Zeichnung ein, so drfte sich ein Bild wie in Abbildung
13.7 ergeben. Die Zentroiden sind hier als kleine Kreuze eingetragen, die jeweils farblich
zur zugehrigen Kategorie passen.
Die Klassikation eines Dokumentes d luft denkbar einfach. Das Dokument wird in
die Vektorraumdarstellung gebracht und auf Einheitslnge normiert. Danach wird, wie
in Abbildung 13.8 gezeigt, der Abstand zu jedem einzelnen Zentroiden berechnet. Das
Dokument d wird dann jener Klasse zugeordnet, deren Zentroid am nchsten liegt. Formal
gesehen sieht die Klassikationsfunktion also so aus:

Rocchio
(d) = arg min
c
j
C
_
(

d, z
j
_
9
Hier liegt auch die Gemeinsamkeit mit dem Rocchio Algorithmus zum Relevance Feedback. Auch beim
Relevance Feedback wurden Mittelwerte ber den Vektoren zu relevanten und irrelevanten Dokumenten
berechnet, um dann den Anfragevektor anzupassen.
251
13 Textklassikation
Abbildung 13.7: Zentroiden berechnen sich als Mittelwert der Trainingsdokumentvektoren.
Abbildung 13.8: Dokumente werden der Kategorie zugeordnet, deren Zentroid am nchsten
liegt.
Klassikation mit Rocchio Algorithmus
Wir erstellen wieder einen Klassikator zu unseren 30 Dokumenten aus den Katego-
rien Wirtschaft, Politik und Touristik, wie sie in Tabelle 13.3 zu sehen sind.
Diese mssen wir nun zunchst in die TF-IDF Vektordarstellung berfhren und an-
schlieend normieren. Die Bestimmung von Termfrequenzen, Dokumentfrequenzen,
die Berechnung der TF-IDF Gewichte und die Normierung der Vektoren verluft
vllig analog zu den Beispielen in Kapitel 5. Daher beschrnken wir uns an dieser
Stelle darauf, die resultierenden Dokumentvektoren in Tabelle 13.8 aufzufhren. Der
bersichtlichkeit halber sind 0-Werte wieder komplett weggelassen worden. Neben
den Trainingsdokumenten enthlt die Tabelle auch die Vektordarstellung der beiden
Dokumente d
a
und d
b
, welche wir nach dem Trainieren des Klassikators klassizieren
wollen.
Nun mssen wir fr jede der drei Kategorien den Zentroiden berechnen. Dazu ad-
dieren wir die Gewichte der Trainingsdokumente zu jedem einzelnen Term auf und
252
13.5 Der Rocchio Algorithmus zur Textklassikation
Tabelle 13.8: Normierte TF-IDF Vektoren zu den Dokumenten aus Tabelle 13.3.
A
g
e
n
t
u
r
B
o
o
t
F
i
r
m
a
F
l
u
g
z
e
u
g
G
e
s
e
t
z
I
n
s
e
l
P
r

s
i
d
e
n
t
R
e
g
i
e
r
u
n
g
R
e
i
s
e
S
t
a
d
t
S
t
e
u
e
r
S
t
r
a
n
d
U
m
s
a
t
z
K
a
t
e
g
o
r
i
e
d
1
0,61 0,76 0,23
W
i
r
t
s
c
h
a
f
t
d
2
0,44 0,26 0,86
d
3
0,37 0,22 0,9
d
4
0,46 0,34 0,7 0,42
d
5
0,46 0,29 0,46 0,7
d
6
0,43 0,43 0,79
d
7
1
d
8
0,36 0,29 0,27 0,8 0,27
d
9
0,64 0,77
d
10
0,41 0,31 0,86
d
11
0,61 0,56 0,56
P
o
l
i
t
i
k
d
12
0,88 0,41 0,25
d
13
0,14 0,72 0,66 0,16
d
14
0,9 0,27 0,33
d
15
0,19 0,49 0,45 0,54 0,49
d
16
0,59 0,27 0,73 0,24
d
17
0,65 0,24 0,72
d
18
0,23 0,69 0,69
d
19
0,91 0,41
d
20
0,8 0,6
d
21
0,38 0,2 0,9
T
o
u
r
i
s
t
i
k
d
22
0,19 0,49 0,74 0,25 0,33
d
23
0,48 0,31 0,76 0,31
d
24
0,74 0,4 0,55
d
25
0,79 0,33 0,4 0,33
d
26
0,96 0,29
d
27
0,14 0,43 0,14 0,43 0,77
d
28
0,83 0,56
d
29
0,27 0,7 0,64 0,16
d
30
0,71 0,1 0,69
d
a
0,19 0,38 0,31 0,85
d
b
0,12 0,31 0,85 0,42
253
13 Textklassikation
dividieren durch die Anzahl der Trainingsdokumente. Fr die Kategorie Wirtschaft
ergibt sich dadurch:
z
Wirtschaft
=
1
10

_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 61 + 0, 46 + 0, 36
0, 41
0, 76 + 0, 44 + 0, 37 + 0, 29 + 1 + 0, 64 + 0, 31
0, 43
0, 46 + 0, 29
0, 46
0, 26 + 0, 27
0, 34
0
0, 86 + 0, 43
0, 22 + 0, 7 + 0, 79 + 0, 8
0
0, 23 + 0, 9 + 0, 42 + 0, 7 + 0, 27 + 0, 77 + 0, 86
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 14
0, 04
0, 38
0, 04
0, 08
0, 05
0, 05
0, 03
0
0, 13
0, 25
0
0, 41
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Gleichermaen berechnen sich die Zentroiden fr Politik und Touristik, was dann
insgesamt zu den folgenden Ergebnissen fhrt
10
:
z
T
Wirtschaft
=
( 0, 14 0, 04 0, 38 0, 04 0, 08 0, 05 0, 05 0, 03 0 0, 13 0, 25 0 0, 41 )
z
T
Politik
=
( 0 0 0, 06 0, 06 0, 36 0, 08 0, 29 0, 35 0, 07 0, 07 0, 27 0 0, 02 )
z
T
Touristik
=
( 0, 24 0, 11 0, 02 0, 29 0, 04 0, 2 0, 03 0 0, 29 0, 11 0 0, 32 0, 02 )
Fr die beiden Dokumente d
a
und d
b
mssen nun lediglich die Abstnde zu diesen
Prototypvektoren berechnet werden, um die Klassikation durchzufhren. Fr d
a
erhlt man die Abstnde:
(

d
a
, z
Wirtschaft
) = 1, 16
(

d
a
, z
Politik
) = 1, 15
(

d
a
, z
Touristik
) = 0, 65
Der Prototypvektor der Kategorie Touristik hat also deutlich den kleinsten Abstand
zum Dokument d
a
, weshalb es in diese Kategorie klassiziert wird. Gemessen an den
Termen im Dokument ist dies wiederum ein inhaltlich sehr gut nachvollziehbares
Ergebnis.
10
Aus Platzgrnden werden die Vektoren hier in ihrer transponierten Form dargestellt.
254
13.5 Der Rocchio Algorithmus zur Textklassikation
Fr d
b
ergibt sich ebenfalls recht deutlich und nachvollziehbar die Kategorie Politik,
wie sich aus den Abstnden zu den Zentroiden ablesen lsst:
(

d
b
, z
Wirtschaft
) = 1, 01
(

d
b
, z
Politik
) = 0, 61
(

d
b
, z
Touristik
) = 1, 17
Um auch den Rocchio Klassikator etwas eindringlicher zu prfen, wenden wir auch
hier wieder 10-times 10-fold cross-validation auf der Basis der 30 Beispieldokumente
an. Die mittlere Accuracy schwankte bei mehreren Durchlufen nur geringfgig und
lag zwischen 0,86 und 0,87.
Durch die Vorgehensweise, ein zu klassizierendes Dokument der Kategorie des nchst-
gelegenen Prototypvektors zuzuordnen, wird der Vektorraum der Dokumentdarstellungen
in Segmente unterteilt. Die Unterteilung erfolgt entlang solcher Punkte im Raum, die zu
mindestens zwei Zentroiden den gleichen minimalen Abstand aufweisen. An diesen kann
sich ein Rocchio Klassikator vom Prinzip her nicht fr eine Kategorie entscheiden, sie
bilden somit die Grenze zwischen unterschiedlichen Klassifkationsentscheidungen.
Betrachten wir zunchst nur zwei Zentroiden und vernachlssigen die Flle in denen ein
Punkt zu drei oder mehr Prototypvektoren den gleichen Abstand hat. Die Punkte, die von
beiden Zentroiden gleich weit entfernt sind liegen wie in Abbildung 13.9 verdeutlicht alle
auf einer Geraden. Diese Gerade trennt gewissermaen den Raum auf, so dass alle Punkte
auf einer Seite der Gerade der einen Kategorie zugeschlagen werden und alle Punkte auf
der anderen Seite der zweiten Kategorie.
Abbildung 13.9: Die Trennlinie zwischen zwei Kategorien ist ein Gerade.
Betrachtet man nun auch die anderen Zentroiden, so entstehen mehrere Geraden, welche
die Trennlinien zwischen allen Kategorien markieren. Bercksichtigt man nun die Schnitt-
255
13 Textklassikation
punkte dieser Geraden und die Abstnde zu den Zentroiden, so ergibt sich die oben ge-
nannte Segmentierung des Vektorraumes. Es entsteht ein sogenanntes Voronoi Diagramm,
wie es in Abbildung 13.10 gezeigt ist. Die Punkte in den farbig markierten Flchen liegen
jeweils nher am zugehrigen Zentroiden als an allen anderen Zentroiden. Die Klassikati-
on bestimmt also letztendlich auf welcher dieser Flchen ein zu klassizierendes Dokument
in seiner Vektorraumdarstellung liegt.
Abbildung 13.10: Voronoi Diagramm zu den Zentroiden.
Der Rocchio-Algorithmus ist leicht nachzuvollziehen und kann schnell implementiert
werden. Im obigen Beispiel hat er gute Ergebnisse geliefert und auch in der beispielhaften
Visualisierung in Abbildung 13.10 ndet er gute Prototypvektoren. Es lassen sich aber
leicht Flle konstruieren, in denen Rocchio systematisch Fehler macht und konzeptionell
schlechter abschneiden muss.
Dies ist beispielsweise dann der Fall, wenn die Dokumente zweier Kategorien ungleichm-
ig verteilt sind, d.h. wenn sie unterschiedlich groe Flchen einnehmen. Abbildung 13.11
skizziert einen solchen Fall. Die blau dargestellten Dokumente aus der einen Kategorie
sind verstreuter als die der gelben Kategorie. Da der Rocchio-Algorithmus allerdings eine
solche Streuung der Trainingsbeispiele gar nicht erfasst, zhlt letztendlich nur die Lage der
Zentroiden.
Die gestrichelte Linie gibt auch hier wieder die Trennung zwischen den beiden Kate-
gorien nach dem Rocchio Klassikator an. Es wird deutlich, dass bereits ein Anteil der
blauen Dokumente in den Trainingsdaten nher am Zentroiden der gelben Kategorie als
am blauen Zentroiden liegt. Ist die Verteilung der Trainingsbeispiele reprsentativ, so wird
es dementsprechend auch spter zu Falschklassikationen kommen.
Es lassen sich auch noch andere ungnstige Flle erzeugen. Bedingt dadurch, dass die
Flchen in Voronoi Diagrammen konvex sind, knnen Rocchio Klassikatoren beispielswei-
se auch verzahnte Kategorien nicht fehlerfrei erkennen.
256
13.6 K Nearest Neighbour
Abbildung 13.11: Voronoi Diagramm zu den Zentroiden.
13.6 K Nearest Neighbour
Das K Nearest Neighbour (KNN) Klassikationsverfahren eignet sich ebenfalls fr die An-
wendung auf Vektorraumdarstellungen von Dokumenten. Anders als der Rocchio Ansatz
wurde es nicht speziell fr Dokumentvektoren entwickelt, sondern wird auch in anderen
Anwendungsszenarien und auf anderen Daten eingesetzt.
Auch bei KNN wird eine Klassikationsentscheidung auf der Basis von Abstnden zu
Vektoren getroen, die fr eine bestimmte Kategorie stehen. Einer der groen Unterschiede
liegt darin, dass es nicht nur einen prototypischen Vektor fr jede Kategorie gibt, sondern
dass eine Kategorie von mehreren Vektoren reprsentiert werden kann. Und um die Trai-
ningsdaten gewissermaen optimal auszunutzen, wird jede Kategorie durch alle Trainings-
beispiele dargestellt, die fr sie zur Verfgung stehen.
Dementsprechend gibt es bei KNN keine wirkliche Trainingsphase. Stattdessen werden
die Trainingsdokumente komplett im Klassikator gespeichert und fr die Klassikations-
phase vorgehalten. Zur Klassikation eines Dokumentes wird dann dessen Abstand zu allen
Trainingsdokumenten berechnet. An dieser Stelle kommt der namensgebende Parameter
k des Verfahrens zum Einsatz. Es werden von allen Trainingsdokumenten die k nchstge-
legenen ausgewhlt und es werden deren Kategorien betrachtet. Die Kategorie, die unter
diesen k nchsten Nachbarvektoren am hugsten vorkommt wird dem zu klassizierenden
Dokument zugewiesen.
Dokumente mit KNN klassizieren
Erstellen wir aus unseren 30 Standarddokumenten einen KNN Klassikator. Den
Parameter k besetzen wir mit verschiedenen Werten, um die Auswirkungen zu beob-
achten. Wir werden Werte von k = 1, k = 5 und k = 10 ausprobieren.
In der Trainingsphase mssen wir die Dokumente lediglich in die TF-IDF Darstellung
bringen. Die entsprechenden Vektoren wurden bereits in Tabelle 13.8 aufgestellt. In
der gleichen Tabelle sind auch die TF-IDF Werte fr die beiden Beispieldokumente
257
13 Textklassikation
d
a
und d
b
zu sehen, die wir auch hier wieder mit dem erlernenten Klassikator einer
Kategorie zuordnen lassen wollen.
Berechnet man nun die Abstnde der Vektoren fr die Dokumente d
1
bis d
30
zu den
Vektoren fr d
a
und d
b
, so erhlt man die Abstnde in Tabelle 13.9. Die Tabelle ent-
hlt ebenfalls ein Ranking, das die Reihenfolge der zehn Dokumente mit den kleinsten
Abstnden zu den zu klassizierenden Dokumenten vorgibt.
Tabelle 13.9: Abstnde der Trainingsvektoren zu den Dokumenten da und db
Abstand zu d
a
Rang Abstand zu d
b
Rang Kategorie
d
1
1,330 1,350
W
i
r
t
s
c
h
a
f
t
d
2
1,414 1,378
d
3
1,414 1,313
d
4
1,414 0,743 4
d
5
1,212 10 1,390
d
6
1,414 1,156 9
d
7
1,414 1,329
d
8
1,365 1,071 8
d
9
1,414 1,360
d
10
1,414 1,389
d
11
1,414 1,237
P
o
l
i
t
i
k
d
12
1,414 0,873 6
d
13
1,414 1,177
d
14
1,414 0,940 7
d
15
1,414 0,864 5
d
16
1,354 0,632 2
d
17
1,414 0,618 1
d
18
1,414 1,170 10
d
19
1,320 0,678 3
d
20
1,179 8 1,223
d
21
0,560 1 1,414
T
o
u
r
i
s
t
i
k
d
22
0,984 5 1,399
d
23
1,107 6 1,414
d
24
0,736 3 1,414
d
25
1,181 9 1,414
d
26
1,414 1,414
d
27
0,775 4 1,318
d
28
1,154 7 1,414
d
29
1,229 1,414
d
30
0,615 2 1,414
Fr k = 1 muss nun also zu beiden Dokumenten der jeweils nahegelegenste Nachbar
bestimmt werden. Fr d
a
ist dies das Dokument d
21
mit einem Abstand von 0,56.
258
13.6 K Nearest Neighbour
Der gerinste Abstand zu d
b
tritt mit einem Wert von 0,618 bei Dokument d
17
auf.
Da fr k = 1 jeweils nur ein Dokument in der bercksichtigten und ausgewerteten
Nachbarschaft liegt, gibt dieses dann auch direkt die Klassikation vor. Somit wird
d
a
in die Kategorie Touristik und d
b
in die Kategorie Politik eingeordnet.
Setzen wir k auf einen Wert von 5, so mssen wir entsprechend mehr Trainingsdo-
kumente fr eine Klassikation bercksichtigen. Von den fnf am nchsten an d
a
gelegenen Dokumenten gehren alle zur Kategorie Touristik, weshalb auch hier
die Klassikation denkbar einfach ausfllt. Die fnf nchsten Nachbarn zu d
b
liegen
jedoch nicht alle in der gleichen Kategorie. Das viertnchste Dokument d
4
liegt in
der Kategorie Wirtschaft whrend die anderen der Kategorie Politik angehren.
Durch diesen klaren berhang an Dokumenten in einer Kategorie ist die Klassika-
tion aber auch in diesem Fall eindeutig.
hnlich sieht die Situation bei einer Wahl von k = 10 aus. Von den zehn nchsten
Nachbarn zu d
a
liegen acht Trainingsdokument in der Kategorie Touristik und
jeweils eines in Politik und eines in Wirtschaft. Bei d
b
verteilen sich die Nachbarn
mit sieben Dokumenten auf Politik und mit drei auf Wirtschaft. Daher werden
auch hier wieder die Kategorien Touristik, bzw. Politik zugewiesen.
Bei einer Evaluation auf der Basis von 10-times 10-fold cross-validation auf den 30
Dokumenten erzielt KNN unterschiedliche Accuracy-Werte je nach Wahl von k. Die
folgende Tabelle gibt eine bersicht ber die erzielten Ergebnisse:
k Mittlere Accuracy
1 0,83 bis 0,85
5 0,86 bis 0,89
10 0,82 bis 0,84
Fr die Parameterwahl von k = 10 ist hierbei zu bedenken, dass es durch den cross-
validation Ansatz zu jeder Kategorie nur neun Beispieldokumente gibt. Das bedeutet,
dass sich unter den zehn nchsten Nachbarn zwangsweise Dokumente aus mindestens
zwei verschiedenen Kategorien benden.
Eine wichtige Fragestellung bei KNN ist die Wahl des Parameters k. Wie wir im Beispiel
gesehen haben, mssen wir uns bei k = 1 immer nur den nchstgelegenen Vektor eines
Trainingsdokumentes heraussuchen. Somit entspricht 1NN bei der Klassikation von der
Vorgehensweise her dem Ansatz des Rocchio Klassikators aus dem letzten Abschnitt. Der
Unterschied besteht darin, dass es zu einer Kategorie mehrere Prototypvektoren gibt. Stellt
man das ganze bildlich dar, so erhlt man also auch hier wieder ein Voronoi Diagramm,
in dem allerdings mehrere Zellen zu einer Kategorie gehren. Abbildung 13.12 verdeutlicht
diese Eigenschaft.
Fr k = 1 hat das KNN Klassikationsverfahren jedoch einen groen Nachteil. Es rea-
giert sehr instabil auf Ausreier in den Trainingsdaten. Selbst wenn ein solcher Ausreier
259
13 Textklassikation
Abbildung 13.12: Voronoizerlegung bei 1NN Klassikation.
von vielen Trainingsbeispielen einer anderen Kategorie umgeben ist, so fhrt er dennoch
zu Fehlklassikation, da er seine direkte Nachbarschaft komplett beherrscht. Auch wenn
sich zwei Kategorien in ihren Randgebieten berschneiden, kommt es bei der Klassikation
eines Dokumentes in diesem Randgebiet zu einer fast zuflligen Zuordnung. Grere Werte
fr k sorgen in solchen Fllen fr eine bessere Stabilitt des Verfahrens.
Typischerweise wird fr k ein ungerader Wert gewhlt, um die Gefahr eines Unentschie-
dens unter den Kategorien der nchsten Nachbarn etwas abzumildern. Werte von k = 3
oder k = 5 bieten sich an. Wenn gengend Trainingsbeispiele fr die einzelnen Klassen
vorliegen knnen auch deutlich grere Werte fr k gewhlt werden.
Eine weitere Mglichkeit besteht darin einen geeigneten Wert von k ber die Trainings-
daten zu bestimmen. Dazu trennt man die Trainingsdaten in zwei Teilmengen auf. Die
Dokumente in der ersten Teilmenge werden wie gewohnt als Trainingsdatensatz verwen-
det. Mit der zweiten Teilmenge optimiert man hingegen die Einstellung des Parameters k.
Dazu prft man mit diesen Optimierungsdaten, bei welchen Wert fr k die beste Accura-
cy auf dem zuvor trainierten Klassikator erreicht wird. Es sei allerdings angemerkt, dass
man im Anschluss fr eine aussagekrftige Evaluation weitere Testdokumente bentigt, die
weder fr das Training noch fr die Parameteroptimierung zum Einsatz gekommen sind.
Eine Variante zu KNN erlaubt es, dass der Einuss der Nachbarn auf die endgltige
Klassikation gewichtet werden kann. Am oensichtlichsten ist dabei eine Gewichtung ber
den Abstand der k nchsten Nachbarn. Dass bedeutete, dass die nhergelegenen unter
den nchsten Nachbarn strkeren Einuss auf die Klassikation nehmen als die weiter
entfernten. Die Gewichtung kann prinzipiell aber auch nach anderen Kriterien erfolgen,
beispielsweise gem einem Qualittsma fr die Trainingsdaten.
Was die Laufzeit angeht, so ist KNN linear von der Anzahl der verwendeten Trainings-
beispiele abhngig. Je mehr Trainingsdokumente verwendet werden, desto mehr Abstnde
mssen berechnet werden, um die k nchsten Nachbarn zu bestimmen. Da die Dokument-
vektoren weiterhin in einem sehr hochdimensionalen Vektorraum liegen, sind typische Da-
tenstrukturen fr Nachbarschaftsanalysen, wie z.B. k-d Bume, hier ungeeignet. Man kann
260
13.7 Support Vector Machines
jedoch einen invertierten Index fr die Darstellung der Trainingsdokumente verwenden und
die Terme im zu klassizierenden Dokument als Abfrage verwenden. Somit kann man die
Menge der zu bercksichtigenden Trainingsbeispiele auf all jene Dokumente einschrnken,
die mit dem zu klassizierenden Dokument zumindest einen gemeinsamen Term aufweisen.
Ein weiterer Punkt, der bei KNN interessant sein kann, ist jener, dass auer der Ab-
standsberechnung keine Operationen auf den Vektordarstellungen stattnden. Dement-
sprechend kann KNN auch dann angewendet werden, wenn keine Vektordarstellungen der
Dokumente vorliegt
11
. Einzig eine Abstandsbestimmung ist ntig. Somit kann KNN auch
auf ausgefalleneren Abstandsmaen basieren, wie sie im vorherigen Abschnitt angesprochen
wurden.
13.7 Support Vector Machines
Support Vector Machines (SVM) sind ein weiterer, allgemeiner Klassikationsansatz, der
auch in der Textklassikation Anwendung ndet. SVMs betrachten an sich zunchst nur
Probleme mit zwei Kategorien, jedoch knnen ber den Umweg von mehreren SVM In-
stanzen auch Klassikationsprobleme mit mehreren Klassen angegangen werden.
Um das Prinzip der SVM zu verstehen betrachten wir zunchst einen Fall, wie er in
Abbildung 13.13 dargestellt ist. Wir haben es mit zwei Klassen von Dokumenten zu tun, die
hier als Datenpunkte im zweidimensionalen Raum dargestellt sind. hnlich wie im Rocchio
Verfahren knnen wir eine trennende Gerade ziehen, welche die beiden Klassen voneinander
abgrenzt. Man knnte das Trainieren eines Klassikators also auch so auassen, dass man
eine solche Gerade zu nden versucht
12
. Genau darin liegt die Vorgehensweise der SVM:
Sie bestimmen die Trenngerade zwischen zwei Kategorien.
Abbildung 13.13: Eine Gerade trennt die Beispieldokumente aus den beiden Klassen .
11
Im Gegensatz dazu werden beispielsweise im Rocchio Ansatz die Zentroiden der Kategorien ber Mit-
telwertbildung berechnet, also durch die Addition und Skalierung von Vektoren. Daher ist Rocchio
tatschlich auf die Vektordarstellung der Dokumente angewiesen.
12
Wir gehen zunchst einmal davon aus, dass sich eine solche Gerade auch tatschlich nden lsst.
261
13 Textklassikation
Wir wollen diese Herangehensweise nun etwas formaler fassen. Whrend in Abbildung
13.13 die Trennung der beiden Kategorien im zweidimensionalen Fall durch eine Gerade
realisiert werden kann, wird in hherdimensionalen Rumen eine Hyperebene bentigt.
Eine Hyperebene h lsst sich im Vektorraum mit Hilfe eines Skalarprodukts ausdrcken.
h =
_
x V : w
T
x + b = 0
_
Der Vektor w darf dabei kein 0-Vektor sein und steht senkrecht auf der Hyperebene,
b gibt gewissermaen den Versatz zum Ursprung an. In der Literatur ndet man hug
die Bezeichnung Gewichtsvektor (weight vector) fr w und Bias fr den Wert b. In Abbil-
dung 13.14 ist eine solche Hyperebene als Gerade im zweidimensionalen Fall und fr den
Gewichtsvektor w
T
= (1; 0, 5) und mit b = 1 dargestellt.
Abbildung 13.14: Hyperebene mit senkrechtem Vektor w.
Die Abbildung enthlt auch zwei Punkte A und B, die auf unterschiedlichen Seiten
der Ebene liegen. Der Punkt A liegt bei den Koordinaten (0, 5; 0, 5) und B bei (1; 1, 5).
Die Lage der Punkte relativ zur Ebene lsst sich durch Einsetzen der Koordinaten in die
Ebenengleichung ber das Vorzeichen des Ergebnisses bestimmen:
fr A :
_
1 0, 5
_

_
0, 5
0, 5
_
1 = 0, 5 + 0, 25 1 = 0, 25
fr B :
_
1 0, 5
_

_
1
1, 5
_
1 = 1 + 0, 75 1 = 0, 75
Der Wert des Punktes A ist negativ, da er auf der dem Gewichtsvektor abgeneigten Seite
liegt, B hat einen positiven Wert, da er auf der gleichen Seiten liegt, auf die auch w zeigt.
Die Werte geben ebenfalls an, wie weit die Punkte von h entfernt liegen und zwar relativ
zur Lnge des Vektors w. So liegt A also um das 0,25-fache der Lnge von w von der Ebene
h entfernt, und B entsprechend um das 0,75-fache der Lnge von w.
262
13.7 Support Vector Machines
Die soeben beobachteten unterschiedlichen Vorzeichen werden auch fr die Klassika-
tion genutzt. Da die Daten aus den beiden Kategorien (idealerweise) genau durch die
Hyperebene getrennt werden, kann man diese Trennung ber unterschiedliche Vorzeichen
beschreiben. Dementsprechend werden die beiden Klassen schlicht mit den Labels 1 und -1
versehen, und wir knnen die Trainingsdokumente in eine Menge D
1
fr die erste Kategorie
und D
1
fr die zweiten Kategorie untergliedern. Im Zusammenhang mit SVMs wird dieses
Label eines Dokumentes d
i
in der Regel ausdrcklich als y
i
1, 1 angegeben. Das hat
beispielsweise den Vorteil, dass man allgemein und ohne Fallunterscheidung fordern kann,
dass y
i
( w
T


d
i
+ b) > 0 fr alle Trainingsbeispiele d
i
gilt.
Hat man nach der Trainingsphase die trennende Hyperebene h konstruiert, d.h. die
Eintrge im Vektor w und den Wert fr b festgelegt, so kann man mit ihr die Klassika-
tionsfunktion formulieren als:

h
(d) = sign( w
T


d + b)
Die Funktion sign liefert das Vorzeichen des enthaltenen Ausdrucks, was bei der obigen
Denition der beiden Kategorienlabels genau der Klassikation entspricht.
Das Training einer SVM bedeutet also, den Vektor w und den Bias b zu bestimmen. Bevor
wir zu den SVMs selbst kommen, betrachten wir eine ltere Methode, um zumindest
von der Idee her die gleichen Daten zu bestimmen: das Perzeptron. Das Perzeptron
[Ros58] kann als sehr einfaches Neuronales Netz aufgefasst werden und sollte seinerzeit
als Modell fr Lernvorgnge im menschlichen Gehirn dienen. Zwar wurde im Laufe der
Zeit nachgewiesen, dass es nicht mehr kann als linear separierbare Zweiklassenprobleme zu
lsen, aber es stellt den Vorlufer komplexerer neuronaler Netze mit mehreren Schichten
und feineren Lernverfahren dar. An dieser Stelle kann es fr uns jedoch genau das leisten,
was wir brauchen: eine Hyperebene nden, welche die Trainingsdaten in zwei Klassen
trennt. Voraussetzung fr die Konvergenz dieses iterativen Verfahrens ist jedoch, dass es
eine solche Hyperebene tatschlich gibt und dass keine Ausreier vorkommen.
Die Idee des Perzeptrons ist es, die Trainingsdaten wiederholt zu durchlaufen und dabei
bei jeder auf den Trainingsdaten auftretenden Falschklassikation den Gewichtsvektor w
und den Bias b entsprechend zu korrigieren. Angefangen bei einem 0-Vektor fr w und
einem Bias von 0, wird fr jedes Dokument in den Trainingsdaten geprft, ob der Ab-
stand zur bisher entwickelten Hyperebene positiv ist und das Dokument auf der richtigen
Seite liegt. Ist dies nicht der Fall, so wird zum Gewichtsvektor der Vektor des Trainings-
dokumentes hinzuaddiert und der Bias ebenfalls angepasst. Wie stark Gewichtsvektor und
Bias verndert werden hngt von einer Lernrate ab, die als Parameter in das Verfahren
einiet. Algorithmus 13.2 gibt die iterative Lernvorschrift fr w und b formal wieder.
In dieser Form konvergiert das Verfahren wie gesagt nur, wenn die Daten wirklich sauber
durch eine Hyperebene getrennt werden knnen. Andernfalls gibt es bei jeder Iteration
mindestens einen Fehler, der dazu fhrt, dass Gewichtsvektor und Bias erneut angepasst
werden.
263
13 Textklassikation
Algorithmus 13.2 : Lernverfahren des Perzeptron
Input : D = d
1
, . . . , d
n
Menge der Trainingsdokumente.
Input : Y = y
1
, . . . , y
n
Kategorielabel der Trainingsdokumente aus 1, 1.
Output : ( w, b) Parameter der trennenden Hyperebene.
function Perceptron(D,Y );
begin
w
0

0;
b
0
0;
R max
i=1,...,n
[

d
i
[;
k 0;
repeat
for i = 1, . . . , n do
if y
i
( w
T
k


d
i
+ b
k
) 0 then
w
k+1
w
k
+ y
i


d
i
;
b
k+1
b
k
+ y
i
R
2
;
k k + 1;
until Keine Fehler in innerer Schleife ;
return ( w
k
, b
k
)
end
Perzeptron
Zur besseren visuellen Darstellung gehen wir von einem zweidimensionalen Fall aus.
Das bedeutet, dass unsere Dokumente ber einem Vokabular von nur zwei Termen
aufgebaut sind. Wir bezeichnen diese beiden Terme hier nur mit t
1
und t
2
. Weiterhin
gehen wir von einer einfachen Darstellung der Dokumente als Termfrequenzvektoren
ohne weitere Gewichtung der Terme aus.
Als Trainingsdaten stehen uns vier Dokumente zur Verfgung, je zwei aus einer der
beiden Kategorien. Die Dokumente sehen folgendermaen aus:
Dokument t
1
t
2
y
i
d
1
5 2 -1
d
2
3 1 -1
d
3
1 4 1
d
4
1 3 1
Stellt man die Dokumente als Termfrequenzvektoren im zweidimensionalen Vektor-
raum dar, so erhlt man das Bild in Abbildung 13.15. Man sieht, dass die Daten
oensichtlich linear separabel sind, so dass der Perzeptron Algorithmus hier gegen ei-
ne trennenden Hyperebene konvergieren sollte. Die Lernrate setzen wir auf = 0, 25
fest.
264
13.7 Support Vector Machines
Abbildung 13.15: Anordnung der Dokumentvektoren im Raum.
Fr den Start whlen wir in der formalen Denition in Algorithmus 13.2 zunchst
einen Gewichtsvektor mit durchgngig 0-Eintrgen, sowie einen Bias von 0, also:
w
0
=
_
0
0
_
b = 0
Nun durchlaufen wir die Trainingsdokumente von d
1
zu d
4
der Reihe nach. Setzen wir
zunchst die Werte aus d
1
ein, so stellen wir zwangsweise
13
fest, dass dieses Dokument
nicht richtig klassiziert wird:
1
_
_
5 2
_

_
0
0
_
+ 0
_
= 0
Somit steht eine Anpassung der Hyperebene an. Auf den Gewichtsvektor w wird der
mit der Lernrate skalierte Vektor des Dokuments d
1
addiert:
w
1
=
_
0
0
_
+ 0, 25 1
_
5
2
_
=
_
1, 25
0, 5
_
Der Bias b wird ebenfalls angepasst. Um den in der Anpassung verwendeten Wert
R zu bestimmen, mssen wir die Lngen der Trainingsvektoren betrachten und den
lngsten Vektor berechnen. In diesem Fall ist der Vektor des ersten Trainingsbeispiels
auch gleichzeitig der lngste Vektor mit einer Lnge von

29. Somit ergibt sich fr
b
1
:
13
Durch die Initialisierung des Gewichtsvektors mit 0 Eintrgen ist die Hyperebene entartet. Durch die
Wahl von b = 0 hat weiterhin jeder Punkt im Vektorraum einen Wert von 0. Daher muss das erste
Trainingsbeispiel im Perzeptron zwangsweise falsch klassiziert werden, da nur echt positive Werte als
korrekte Klassikation gelten.
265
13 Textklassikation
b
1
= 0 + 0, 25 1 29 = 7, 25
Mit diesen Werten kann die Trennebene nun tatschlich konstruiert und in den Vek-
torraum eingezeichnet werden. Die Steigung der Geraden kann aus w abgelesen wer-
den, da die Gerade senkrecht zu diesem Vektor steht. Um herauszunden, an welcher
Stelle die t
1
-Achse geschnitten wird, mssen wir in der Geradengleichung lediglich
den t
2
Eintrag in x auf 0 setzen und zurckrechnen, fr welchen Wert im t
1
Eintrag
die Gleichung erfllt ist:
w
T
1
x + b
1
= (
_
1, 25 0, 5
_

_
x
1
0
_
0, 75 = 0
x
1
=
7, 25
1, 25
= 5, 8
Abbildung 13.16: Vom Perzeptron erlernte Hyperebene nach dem ersten Trainingsschritt.
Abbildung 13.16 zeigt wie diese Gerade im Verhltnis zu den Punkten liegt. Sie liegt
recht weit entfernt von allen vier Punkten und trennt die beiden Klassen keines-
falls voneinander. Die Klassikation des nchsten Traininungsdokumentes jedoch ist
richtig. Der Datenpunkt liegt auf der dem Gewichtsvektor abgewandten Seite der
Hyperebene. Daher hat er einen negativen Abstand von der Ebene, was durch Mul-
tiplikation mit dem Label y
2
= 1 zu einem positiven Wert fhrt:
1
_
_
3 1
_

_
1, 25
0, 5
_
7, 25
_
= 11
Das bedeutet im Perzeptron Algorithmus, dass keine Anpassung an der Hyperebene
vorgenommen wird. Das dritte Trainingsdokument jedoch wird falsch klassiziert:
266
13.7 Support Vector Machines
1
_
_
1 4
_

_
1, 25
0, 5
_
7, 25
_
= 10
Daher mssen Gewichtsvektor und Bias erneut angepasst werden. Die Berechnungen
verlaufen wie oben und fhren zu:
w
2
=
_
1, 25
0, 5
_
+ 0, 25 1
_
1
4
_
=
_
1
0, 5
_
b = 7, 5 + 0, 25 1 29 = 0
Mit diesen Daten wird nun das vierte Dokument richtig klassiziert und auch im
nchsten Durchlauf durch die Trainingsdaten werden keine Fehler mehr gemacht.
Somit ist das Abbruchkriterium fr die Iteration des Perzeptron erfllt.
Stellt man das Ergebnis wie in Abbildung 13.17 bildlich dar, so sieht man, dass das
Verfahren eine Hyperebene gefunden hat, welche die Daten der Trainingsdokumente
genau voneinander abgetrennt hat. Die Punkte mit Label 1 liegen auf der Seite der
Ebene in welche der Gewichtsvektor weist, die Punkte mit Label 1 liegen entspre-
chend auf der anderen Seite.
Abbildung 13.17: Ergebnis des Perzeptron Algorithmus: Die Hyperebene trennt die beiden
Klassen voneinander ab.
Betrachtet man den Perzeptron Algorithmus etwas genauer, so fllt auf, dass der Ge-
wichtsvektor letztendlich eine Linearkombination der Trainingsvektoren ist. Schlielich
fngt man mit einem Nullvektor an und addiert bei jedem Fehler ein Vielfaches eines
Trainingsvektors auf den Gewichtsvektor. Damit kann man den Endgewichtsvektor der
Iteration auch folgendermaen darstellen:
267
13 Textklassikation
w =
N

i=1

i
y
i


d
i
Die
i
stellen die Faktoren zu den einzelnen Trainingsvektoren dar, mit denen diese
skaliert werden und in den Gewichtsvektor einieen. Im Prinzip ergeben sich die
i
aus
der Lernrate und der Anzahl der Fehler die fr dieses Trainingsbeispiel whrend der
Lernphase gemacht wurden.
Diese alternative Darstellung kann man auch direkt in die Klassikationsfunktion ein-
setzen. Der Vektor w wird dann einfach durch die obige Summe ersetzt:

Perceptron
(d) = sign(
N

i=1

i
y
i


d
T
i


d + b)
Aus dieser berlegung ergibt sich die sogenannte duale Form des Perzeptron Algorith-
mus, in welcher der Gewichtsvektor nicht direkt sondern indirekt ber die Werte der
i
erlernt wird. Dabei sieht man dann auch recht schn, dass die Lernrate eigentlich keinen
Rolle spielt, sondern den Gewichtsvektor lediglich skaliert. Da die Lnge des Gewichtsvek-
tors aber keinen Einuss auf die Lage der Hyperebene hat, kann man die Lernrate somit
auf einen beliebigen positiven Wert setzten. Der Einfachheit halber verwenden wir hier
einen Wert von 1. Insgesamt sieht die duale Form des Perzeptron aus wie in Algorithmus
13.3 dargestellt.
Algorithmus 13.3 : Duale Form des Perzeptrons
Input : D = d
1
, . . . , d
n
Menge der Trainingsdokumente.
Input : Y = y
1
, . . . , y
n
Kategorielabel der Trainingsdokumente aus 1, 1.
Output : (
1
, . . . ,
n
, b) Parameter zur Konstuktion der trennenden Hyperebene.
function PerceptronDual (D,Y );
begin
for i = 1, . . . , n do

i
0;
b 0;
R max
i=1,...,n
[

d
i
[;
repeat
for i = 1, . . . , n do
if y
i
(

N
j=1

j
y
j


d
T
j


d
i
+ b) 0 then

i

i
+ 1;
b b + y
i
R
2
;
until Keine Fehler in innerer Schleife ;
return (
1
, . . . ,
n
, b)
end
268
13.7 Support Vector Machines
Eine Besonderheit, die spter eine wichtige Rolle spielen wird, ist, dass in der dualen
Form die Trainingsvektoren selbst eigentlich nicht wirklich bentigt werden. Es gengt, die
Skalarprodukte

d
T
j


d
i
der Vektoren zu kennen.
Betrachten wir aber zunchst noch einmal Abbildung 13.13. Bei genauerem Hinsehen
wird klar, dass es mehrere Mglichkeiten gibt, eine Hyperebene zur Trennung der Trai-
ningsbeispiele einzuziehen. Abbildung 13.18 zeigt einige dieser Mglichkeiten auf. Alle der
hierin eingezeichneten Trennebenen grenzen die blauen von den roten Datenpunkten klar
ab. Ein Perzeptron ndet jedoch nur eine dieser Hyperebenen welche hngt von den
Trainingsbeispielen und deren Reihenfolge ab.
Abbildung 13.18: Mehrere Mglichkeiten die Trainingsbeispiele durch eine Hyperebene zu
trennen.
Bereits bei genauerem Hinsehen kann man schnell erkennen, dass es unter den Trenne-
benen einige gibt die qualitativ besser erscheinen als andere. So sieht man in Abbildung
13.18 einige Grenzen die (ohne erkennbaren Grund) deutlich dichter an den Datenpunkten
der einen Klasse liegen als an denen der anderen Kategorie. Diese Grenze knnte man also
etwas mehr in die Richtung der zweiten Kategorie verschieben. Genauso gibt es Grenzli-
nien die unntig dicht an Datenpunkte aus beiden Kategorien verlaufen. Durch eine leichte
Drehung an einem geeigneten Drehpunkt liee sich fr diese Geraden ein wenig zustzli-
cher Platz zu den Punkten aus beiden Kategorien gewinnen. Fasst man diese intuitiven
Korrekturvorschlge zusammen, kann man sagen, dass man gerne eine Trennebene htte,
die mglichst viel Abstand zu den Datenpunkten aus den verschiedenen Kategorien lsst.
Eine solche Trennebene ist in Abbildung 13.19 angedeutet.
Die Intuition, mit der Hyperebene einen mglichst groen Abstand zu den Datenpunkten
einzuhalten, kann damit begrndet werden, dass man sich fr Punkte die weiter von der
Trennebene entfernt liegen, bezglich der Klassikation relativ sicher sein kann. Daher ist
es erstrebenswert, den Abstand aller Punkte zur Hyperebene zu maximieren. Dass sich
der Abstand eines Punktes zur Ebene durch Einsetzen in den Ebenengleichung bestimmen
lsst, haben wir bereits oben gesehen. Diese auch als funktionaler Abstand (functional
margin) bezeichnete Distanz eines Trainingsdokuments d
i
zu Hyperebene h liegt also bei:
269
13 Textklassikation
Abbildung 13.19: Eine trennende Hyperebene mit groem Abstand zu allen Datenpunkten.
y
i

_
w
T


d
i
+ b
_
Wir haben ebenfalls bereits erklrt, dass der damit berechnete Abstand relativ zum
Vektor w gemessen wird. Da der Vektor w selbst allerdings lediglich orthogonal zur Hyper-
ebene stehen muss, kann man diesen prinzipiell beliebig in der Lnge skalieren und muss
dabei lediglich den Wert von b anpassen. Fr die Maximierung der Abstnde zwischen
den Trainingsdokumenten und der Ebene muss man also eine gewisse Einschrnkung an w
formulieren, damit die Maximierung des Abstandsbetrages nicht rein ber eine Skalierung
des Vektors zustande kommt.
Um beispielsweise den euklidischen Abstand bezglich des Koordinatennetzes des Vek-
torraums zu erhalten muss w auf Einheitslnge gebracht werden. Dann berechnet sich der
geometrische Abstand eines Dokumentes zur Ebene ber:
y
i

_
w
T


d
i
+ b
_
[ w[
Will man also eine Hyperebene nden, welche die Trainingsbeispiele voneinander trennt
und gleichzeitig den Abstand zu den Trainingsbeispielen maximiert, so muss man w und
b so whlen, dass der kleinste Abstand eines Trainingspunktes zur Ebene maximal wird.
Dieser kleinste Abstand entspricht der Hlfte der Breite des Grenzgebietes zwischen den
Kategorien im Raum, da der Streifen um die Hyperebene doppelt so breit ist.
Betrachtet man erneut die Zeichnung in Abbildung 13.19 so erkennt man, dass die Da-
tenpunkte, die auf der helleren gestrichelten Linie liegen, genau die Punkte sind, die den
minimalen Abstand zur trennenden Hyperebene einnehmen. Diese Punkte, bzw. die zuge-
hrigen Vektoren geben also eigentlich die Hyperebene vor und werden daher als Sttz-
vektoren (die namensgebenden support vectors) bezeichnet. Vektoren die weiter von der
Ebene entfernt liegen, beeinussen deren Lage hingegen gar nicht.
Da man durch die Einschrnkung den geometrischen Abstand zu maximieren von der
tatschlichen Lnge des Vektors w losgelst ist, kann man an diesen nun eigene Bedin-
270
13.7 Support Vector Machines
gungen stellen. Standardmig geht man so vor, dass man fr den Sttzvektor mit dem
kleinsten (geometrischen) Abstand zur Hyperebene einen funktionalen Abstand von 1 fest-
setzt. Damit hat man dann rein rechnerisch einen geometrischen Abstand von
1
| w|
und eine
Breite des Grenzraums von
2
| w|
. Gleichzeitig verlangt man, dass y
i

_
w
T


d
i
+ b
_
1 fr
alle Trainingsdokumente d
i
, wobei fr mindestens ein Dokument die Gleichheit gilt.
Statt
2
| w|
zu maximieren kann man
| w|
2
minimieren, was letztendlich zur Standardformu-
lierung in der SVM-Literatur entspricht. Die entscheidenden Gre bei dieser Minimierung
ist [ w[, welche als

w
T
w deniert ist. Von den Werten her ist aber nun egal, ob man die
Wurzel

w
T
w oder den Radikant w
T
w minimert. Insgesamt landet man somit bei der
Darstellung als Optimierungsproblem, in dem:

w
T
w
2
minimiert wird
fr alle Trainingsbeispiele y
i

_
w
T


d
i
+ b
_
1 gilt, wobei fr mindestens ein d
i
die
Gleichheit eintritt.
Der erste Punkt stellt dabei eine quadratische Funktion dar, die es zu minimieren gilt,
whrend der zweite Punkt lineare Randbedingungen deniert. Damit haben wir es hier mit
einem quadratischen Optimierungsproblem zu tun. Genau wie im Perzeptron gibt es auch
hierzu eine duale Form
14
:
Suche positive Lagrange-Multiplikatoren
i
0, die in der folgenden Summe 0 erge-
ben:
N

i=1

i
y
i
= 0
Maximiere den Ausdruck:
N

i=1

1
2
N

i=1
N

j=1

j
y
i
y
j

d
T
i


d
j
Aus der Lsung dieses Problems ergeben sich mit den Lagrange-Multiplikatoren Aussa-
gen dazu, welche Trainingsbeispiele tatschlich als Sttzvektoren dienen, nmlich solche,
die einen echt positiven Lagrange-Multiplikator haben.
Um nun wieder den Vektor w und den Bias b zu konstruieren kann man folgendermaen
vorgehen:
14
Die duale Darstellung lsst sich aus der Theorie zu Optimierungsproblemen ableiten. Die Details wr-
den jedoch den Rahmen dieses Kapitels deutlich sprengen. Fr ausfhrlich Hintergrundinformationen
empehlt sich das Buch von Christianini und Shawe-Taylor [CST00].
271
13 Textklassikation
der Vektor w ist wie beim Perzeptron eine Linearkombination aus den Trainings-
beispielen, wobei die Faktoren den Lagrange-Multiplikatoren und dem Klassenlabel
entsprechen:
w =
N

i=1

i
y
i


d
i
der Bias b ergibt sich fr einen Sttzvektor d
j
(also ein Trainingsbeispiel, dem am
Ende ein positives
j
zugewiesen wird):
b = y
j
w
T


d
j
= y
j

N

i=1

i
y
i

d
T
i

d
j
Auch in diesem Ansatz braucht man den Vektor w eigentlich gar nicht zu berechnen,
sondern kann direkt dessen Linearkombination aus Trainingsvektoren in die Klassikati-
onsfunktion einsetzen:

SVM
(d) = sign(
N

i=1

i
y
i


d
T
i


d + b)
Erneut knnen die eigentlichen Trainingsvektoren vernachlssigt werden, sofern deren
Skalarprodukte bekannt sind.
SVM
Wenn wir erneut das obige Beispiel mit vier Datenpunkten aufgreifen, so kann man in
diesem Fall bereits an der Lage der Punkte erkennen, wie eine optimale Hyperebene
mit maximalem Abstand liegen muss. Die Dokumente d
2
und d
4
denieren die Lage
der Ebene. Lst man das Optimierungsproblem, so ergeben sich tatschlich Werte
von
1
= 0 und
3
= 0, sowie
2
= 0, 25 und
4
= 0, 25. Damit erhlt man einen
Gewichtsvektor w
T
= (0, 5; 0, 5) und einen Bias b mit einem Wert von 0. Graphisch
stellt sich das Ergebnis wie in Abbildung 13.20 dar. Der symmetrische Bereich um die
Hyperebene, in dem keine Trainingsdaten liegen ist zur Verdeutlichung grau markiert.
Sowohl das Perzeptron als auch das bisher besprochene SVM Konzept gehen von Daten
aus, die linear separierbar sind. Schon bei einem Ausreier konvergiert das Perzeptron nicht
mehr und auch die Lsung des SVMs wird davon gestrt. Handelt es sich hierbei tatschlich
nur um Ausreier in ansonsten durch eine Ebene trennbaren Daten, so knnen sogenann-
te Slack-Variablen
i
eingefhrt werden. Diese erlauben es, dass einzelne Trainingsdaten
einen geringeren Abstand zur Hyperebene haben als von der optimalen Lsung eigentlich
vorgesehen.
272
13.7 Support Vector Machines
Abbildung 13.20: Trennende Hyperebene mit maximalem Abstand zu den Trainingsbei-
spielen.
Sind die Daten jedoch nicht linear separierbar, sondern liegen beispielsweise wie in Ab-
bildung 13.21, so helfen auch die Slack-Variablen nicht mehr weiter. Egal wie man die
trennende Hyperebene ansetzt, der dadurch angegebene Klassikator macht zwangsweise
Fehler.
Abbildung 13.21: Trainingsdaten die nicht linear separierbar sind.
Um auch auf solchen Daten wieder SVMs einsetzen zu knnen, werden die Punkte trans-
formiert. ber eine geeignete Funktion projeziert man die Daten in einen anderen, meist
hherdimensionalen Raum, in dem sich die beiden Kategorien dann wieder linear trennen
lassen. Die Klassikation ndet anschlieend ebenfalls in diesem alternativen Raum statt,
so dass sich ergibt:

SVM
(d) = sign(
N

i=1

i
y
i
(

d
i
)
T
(

d) + b)
273
13 Textklassikation
(a) (b)
Abbildung 13.22: Abbildung der Punkte in (a) in einen anderen Vektorraum, wo sie linear
separierbar sind (b).
Abbildung
Um das Konzept der Funktion zu veranschaulichen, betrachten wir ein einfaches
Beispiel, das zwar nicht den formalen Ansprchen einer einer Kernelfunktion gengt,
aber die Idee verdeutlichen soll. Dait klar wird, dass es sich nicht um eine echte
Kernelfunktion handelt, werden wir diese mit

bezeichnen.
Liegen die beiden Kategorien so, dass die eine annhernd rechteckig in die andere
eingebettet ist, so kann man relativ einfach eine Funktion

konstruieren um die
Punkte linear separierbar zu machen.
Die blau und rot markierten Datenpunkte in Abbildung 13.22(a) haben eine solche
Lage zueinander. Setzt man fr

die folgende einfache Transformation ein:

_
x
1
x
2
_
=
_
[5 x
1
[
[5 x
2
[
_
so werden die Datenpunkte auf den zweidimensionalen Teilraum mit positiven Ein-
trgen abgebildet. In der Darstellung in 13.22(b) sind die gleichen Punkte unter der
Transformation

eingezeichnet. Es wird ebenfalls klar, dass die Punkte nun sehr
wohl linear separierbar sind, wie die graue Linie andeutet. Auf den transformierten
Daten kann also eine SVM trainiert werden.
Zur Klassikation von neuen Daten hier durch einen gelben Datenpunkt dargestellt
werden diese zunchst mit in den anderen Vektorraum abgebildet und dann
deren Lage relativ zur erlernten Hyperebene betrachtet. Unter der hier gewhlten
274
13.7 Support Vector Machines
Abbildung und der damit hergeleiteten Entscheidungsebene wird der gelbe Punkt
der roten Kategorie zugeordnet.
Damit die Klassikation im alternativen Vektorraum funktioniert, muss die Abbildung
selbstverstndlich gewisse Eigenschaften aufweisen. Insbesondere sollten die relativen
Abstnde zwischen Datenpunkte erhalten bleiben. Zwei Dokumente, die weit voneinander
entfernt waren, drfen also nicht pltzlich nahe beieinander liegen
15
.
Im obigen Beispiel hatten wir eine Funktion per Hand konstruiert und die Datenpunkte
tatschlich transformiert. Der groe Vorteil von SVMs
16
liegt darin, dass dies gar nicht ntig
ist. Wie bereits erwhnt, werden in der dualen Darstellung die Vektoren selbst eigentlich
gar nicht bentigt; es gengt das Skalarprodukt. Sofern es also eine Funktion K gibt,
mit der das Skalarprodukt im alternativen Vektorraum mit den ursprnglichen Vektoren
berechnet werden kann, braucht man gar nicht direkt anzugeben oder auszurechnen. Es
gengt dann, diese Funktion K anzugeben, die alle bentigten Informationen liefert:
K(x
1
, x
2
) = (x
1
)
T
(x
2
)
Die Funktion K wird als Kernel Funktion bezeichnet, und fr das Vorgehen das Skalar-
produkt direkt und ohne Umweg ber den alternativen Vektorraum zu berechnen hat sich
in der Literatur der Begri Kernel Trick eingebrgert.
Kernel Funktion
Greifen wir die einfache Abbildung

aus dem letzten Beispiel auf, so knnen wir
hierzu auch einen Kernel angeben. In diesem Fall gengt es, das Skalarprodukt all-
gemeingltig aufzulsen:
K
__
x
1
x
2
_
,
_
y
1
y
2
__
=

_
x
1
x
2
_
T

_
y
1
y
2
_
= [5 x
1
[ [5 y
1
[ +[5 x
2
[ [5 y
2
[
In diesem Beispiel fllt die Berechnung zwar nicht einfacher aus, man sieht aber
dennoch, dass die ausdrckliche Abbildung in einen anderen Vektorraum umgangen
werden kann.
Da in K gewissermaen die Funktion implizit enthalten ist, mssen auch Kernel Funk-
tionen gewisse Eigenschaften aufweisen. Sie mssen stetig und symmetrisch sein und die
Gramsche Matrix muss positiv denit sein
17
.
15
Unter diesen Gesichtspunkten ist

aus dem Beispiel keine Kernelfunktion.
16
Der Vorteil gilt auch fr einige andere Verfahren wie beispielsweise das Perzeptron.
17
Fr die Hintergrnde und Details siehe wieder [CST00]
275
13 Textklassikation
In der Regel ist es jedoch gar nicht ntig, einen Kernel selbst zu entwerfen. Es gibt eine
ganze Menge von Kernelfunktionen, die in der Regel gute Dienste erweisen. Am hugsten
werden polynomielle Kernel und Gausssche Kernel verwendet.
Bei polynomiellen Kerneln wird letztendlich ein konstanter Wert c zum Skalarprodukt
addiert und das Ergebnis je nach verwendetem Polynomgrad mit d potenziert:
K(x
1
, x
2
) =
_
x
T
1
x
2
+ c
_
d
Fr den Grad d = 1 und eine Wahl von c = 0 ergibt sich dabei das gewhnliche Ska-
larprodukt. Somit kann auch der klassische, linear separierbare Fall vom Prinzip her ber
eine Kernelfunktion ausgedrckt werden.
Gausssche Kernel basieren von der Idee her auf einer Abbildung in einen Hilbertraum
unendlicher Dimensionalitt. Die Kernelfunktion sieht jedoch relativ berschaubar aus und
motiviert die Namensgebung:
K(x
1
, x
2
) = e

|x y|
2
2
Es gibt eine Vielzahl an weiteren Kernelfunktionen nicht nur ber Vektoren. Kernel
knnen auch ber Graphen, Zeichensequenzen oder anderen Strukturen konstruiert werden.
Die Theorie hinter kernelbasierten Verfahren liefert die entsprechenden Bedingungen an
solche Funktionen.
An dieser Stelle soll lediglich klar werden, dass der Einsatz einer Kernelfunktion den
eigentlichen SVM Algorithmus fr den linear separierbaren Fall nicht wirklich verndert,
die implizite Abbildung in einen hherdimensionalen Raum aber dazu verwendet werden
kann, um komplexere Formen von Kategorien zu erfassen. Eine grobe Richtlinie, welchen
der beiden obigen Kernel man in welchem Fall ausprobieren sollte wird in [MRS08] gegeben.
Mit polynomiellen Kerneln vom Grad d lassen sich Zusammenhnge zwischen bis zu d
Termen erfassen, whrend Gausssche Kernel sich dafr eigenen kugelfrmig eingeschlossene
Kategorien zu erkennen.
13.8 Zusammenfassung
In diesem Kapitel haben wir uns ausfhrlich mit Textklassikation beschftigt. Abweichend
vom bisherigen Schwerpunkt auf Ad Hoc Anfragen und dem Ranking der zu solchen An-
fragen relevanten Dokumente, werden bei der Klassikation die Dokumente in vorgegebene
Kategorien eingeteilt. Anwendungsbeispiele fr die Textklassikation gibt es viele, wobei
beispielsweise im Zusammenhang mit Routing auch eine Klassikation in die Kategorien
relevant und nicht relevant auftreten kann.
Es gibt eine Vielzahl an Verfahren zur Erstellung von Klassikatoren. Da diese (in der
Regel) ber von Experten vorgegebenen Trainingsbeispielen an die konkrete Situation ange-
passt werden, handelt es sich um berwachte Lernverfahren. Regelbasierte Verfahren wie
der Sequential Covering Algorithmus, probabilistische Verfahren wie Naive Bayes, sowie
das vektorraumbasierte K Nearest Neighbour und SVMs sind allesamt allgemeine Anstze,
276
13.8 Zusammenfassung
die generell bei Klassikationsaufgaben zum Einsatz kommen, sich aber auch fr Text-
dokumente eignen und in der Praxis angewendet werden. Das Rocchio Verfahren wurde
hingegen dediziert fr den Einsatz in IR Systemen entwickelt.
Eine Frage mit der man sich immer beschftigen muss ist die der Generalisierung. Ein
Klassikator soll von den Trainingsbeispielen einen allgemeine Regel ableiten, sozusagen
ein Muster in den Daten erkennen. Hlt sich ein Verfahren zu sehr an die Beispieldaten gilt
es als bertrainiert und wird im praktischen Einsatz schlechte Ergebnisse liefern.
277
13 Textklassikation
278
14 Clusteranalyse auf Texten
Vereinfacht gesagt geht es bei der Clusteranalyse darum, in einer Menge von Dokumenten
zusammengehrige Teilmengen zu entdecken. Man mchte also Grppchen von Dokumen-
ten man spricht hier von sogenannten Clustern ausndig machen, die eine gewisse
Gemeinsamkeit aufweisen. Eine solche Gemeinsamkeit knnte ein hnliches inhaltliches
Thema sein, aber es knnen auch andere Aspekte bercksichtigt werden. Ein wichtiges
Abgrenzungskriterium gegenber der Klassikation aus Kapitel 13 ist, dass die Cluster im
Gegensatz zu den Kategorien nicht von Anfang an bekannt und vorgegeben sind, sondern
erst whrend der Analyse entdeckt werden mssen.
In diesem Kapitel werden wir zunchst kurz auf die eigentliche Aufgabenstellung beim
Clustern eingehen, sowie Anwendungsbeispiele und Evaluationsanstze vorstellen. Danach
schauen wir uns verschiedene Clusterverfahren an, die unterschiedliche Ziele verfolgen und
unterschiedliche Cluster hervorbringen.
14.1 Einfhrung in die Clusteranalyse
Wie bereits eingangs erwhnt, geht es bei der Clusteranalyse darum, in einer Menge von
Daten Teilmengen ausndig zu machen, die gewisse Gemeinsamkeiten aufweisen. Die Ge-
meinsamkeit wird in der Regel ber ein hnlichkeits- oder ein Abstandsma ausgedrckt
1
.
Am Ende sollten die Elemente innerhalb eines Clusters also alle recht dicht beieinan-
der liegen, bzw. zueinander hnlich sein, whrend sie zu den Dokumenten aus anderen
Clustern einen greren Abstand aufweisen, bzw. keine groe hnlichkeit zeigen. Formal
stellen wir die Cluster als Menge =
1
,
2
,
3
, . . . ,
K
dar, und weisen im einfach-
sten Fall jedem Dokumente d
i
einen Clustern
j
zu. Fassen wir die Dokumente als Menge
D = d
1
, d
2
, d
3
, . . . , d
N
auf, so lsst sich diese Aufgabe wieder ber eine Funktion dar-
stellen:
: D
Im Bezug auf einen Korpus von Dokumenten besteht die Aufgabe in der Regel darin, dass
man Cluster von Dokumenten sucht, die sich inhaltlich hnlich sind. Dahinter steckt die
Idee, dass inhaltlich hnliche Dokumente sich meist auch hnlich bezglich ihrer Relevanz
zu einem bestimmten Informationsbedrfnis verhalten. Diesen Zusammenhang kann man
dann bei einer Informationssuche ausnutzen.
1
Wir haben bereits gesehen, dass sich hnlichkeitsmae in Abstandsmae bersetzen lassen. Wir gehen
im weiteren Verlauf des Kapitels meist von Abstandsmaen aus.
279
14 Clusteranalyse auf Texten
Das Zuordnen von Dokumenten zu Grppchen erinnert unter einigen Gesichtspunk-
ten stark an die Aufgabe der Klassikation. Allerdings gibt es einen entscheidenden Un-
terschied: bei der Klassikation sind die Kategorien vorgegeben. Somit ist klar, wie die
Grppchen auszusehen haben, welche Art von Dokumenten darin erwartet wird und auch
wieviele Grppchen es gibt. Bei der Clusteranalyse hingegen wei man im Prinzip nicht
explizit wonach man sucht. Es ist nicht bekannt, welche inhaltlichen Zusammenhnge es
geben kann und wieviele Cluster sich in den Daten verbergen. Schon allein diese Frage nach
der Kardinalitt, also nach der Anzahl der zu ndenden Cluster, kann bereits schwierig
zu beantworten sein. So knnen die in Abbildung 14.1 gezeigten Daten anschaulich nach-
vollziehbar in verschiedene Clusterkongurationen zerlegt werden, die eine unterschiedliche
Kardinalitt aufweisen.
(a) (b)
(c) (d)
Abbildung 14.1: Die Daten in (a) knnen in unterschiedliche viele Cluster aufgeteilt wer-
den. Hier ist angedeutet, wie eine Zerlegung in zwei (b), vier (c) oder sogar
sechs Cluster (d) aussehen knnte.
Aus der Aufgabenstellung ergibt sich, dass eine Clusteranalyse ohne Trainingsdaten ab-
luft. Es handelt sich um ein sogenanntes unberwachtes Lernverfahren (unsupervised lear-
ning). Die Algorithmen zur Clusteranalyse erhalten als Eingabe lediglich die Daten selbst
280
14.1 Einfhrung in die Clusteranalyse
von eventuellen Parametereinstellungen wie der Clusterzahl oder dem hnlichkeitsma
einmal abgesehen. Auf den Daten werden dann nach bestimmten Kriterien die Cluster
gebildet. Von der Theorie her versuchen die Algorithmen dabei eine zumindest implizit
enthaltene Zielfunktion zu optimieren. Da ein vollstndiges Durchprobieren aller mgli-
chen Clusterkonstellationen in der Regel zu aufwndig ist, werden hierbei Heuristiken oder
andere Optimierungsstrategien eingesetzt.
Die Ergebnisse einer Clusteranalyse knnen auch von ihrer Struktur her recht unter-
schiedlich aussehen. So wird zwischen hierarchischen und achen Clusterstrukturen sowie
zwischen hartem und weichem Clustern unterschieden. Bei einem achen Clustern der Da-
ten sind alle Cluster gleichwertig. Die Daten werden auf eine bestimmte Art und Weise
unterteilt und die Unterteilung stellt das einzige Ergebnis der Analyse dar. Dies entspricht
der oben mit der Funktion beschriebenen Aufgabe. Eine Variante dazu stellen solche Al-
gorithmen dar, die berlappende Cluster ohne weitere Beziehungen zwischen den Clustern
bestimmen.
Bei hierarchischen Anstzen hingegen knnen Cluster vollstndig in anderen Clustern
enthalten sein und dadurch eine Hierarchie aufbauen. Daraus folgt auch, dass ein Dokument
in mehreren Clustern gleichzeitig liegen kann und die Funktion verweist dann auf eine
Teilmenge aus , der Wertebereich besteht also aus der Potenzmenge ber den Clustern
2
.
Die Hierarchie der Cluster liefert mehr Informationen ber den Aufbau und Zusammen-
hang der Daten. Von der allgemeinen Herangehensweisen wird zwischen agglomerativem
und unterteilendem Clustering unterscheiden. Beim agglomerativen Clustern bilden alle
Datenpunkte anfangs einen eigenen Cluster, welche dann ihrerseits schrittweise zu immer
greren Clustern zusammengefasst werden. Unterteilendes hierarchisches Clustern geht
genau anders herum vor: ausgehend davon, dass alle Daten einen groen Cluster bilden
wird dieser schrittweise immer wieder unterteilt und in Teilcluster zerlegt. Unabhngig von
der Vorgehensweise kommen zur Darstellung hierarchischer Clusterstrukturen meist soge-
nannte Dendrogramme zum Einsatz. In Abbildung 14.2 wird ein solches Dendrogramm
sowie eine weitere Darstellung der gleichen Clusterkonstellation als Venn-Diagramm ge-
zeigt.
Die Unterscheidung zwischen hartem und weichem Clustern betrit hingegen die Zuge-
hrigkeit einzelner Datenstze zu einem Cluster. Beim harten Clustern gehrt ein Daten-
punkt einem Cluster an oder nicht, beim weichen Clustern kann er auch zu einem gewissen
Grad einem Cluster zugewiesen sein. Dieser Zugehrigkeitsgrad kann beispielsweise ber
Wahrscheinlichkeiten modelliert werden. Eine weitere interessante Eigenschaft ist, ob ein
Verfahren ausschpfend ist, d.h. dass es jedes Dokument einem Cluster zuweist. Bei nicht
ausschpfenden Verfahren ist es mglich, dass einzelne Dokumente am Ende gar keinem
Cluster zugewiesen werden. Ein solches Vorgehen kann fr Ausreier in den Daten durch-
aus angemessen sein. Schlielich kann man noch zwischen solchen Verfahren unterscheiden,
welche die Kardinalitt als Eingabeparameter bentigen, sowie solchen Verfahren, welche
von sich aus die Anzahl der Cluster in den Daten bestimmen.
2
Damit die Cluster wirklich eine Hierarchie bilden, gelten noch einige Einschrnkungen bezglich des
Aufbaus der Teilmengen.
281
14 Clusteranalyse auf Texten
(a) (b)
Abbildung 14.2: Dendrogramme (a) und Venn-Diagramme (b) eignen sich zur Darstellun-
gen hierarchischer Clusterstrukturen.
Es gibt einige Anwendungen im IR Bereich, in denen die Clusteranalyse zum Einsatz
kommt. Ein recht beliebtes Szenario ist das Clustern von Suchergebnissen. Dabei greift
man die Ergebnismenge zu einer Ad Hoc Anfrage als Datenbasis auf und wendet darauf
einen Clusteralgorithmus an. Ziel dieses Verfahrens ist es, verschiedene Themengebiete oder
Thementeilgebiete innerhalb der Ergebnisse aufzuspren und fr den Benutzer gruppiert
darzustellen. Ein Beispiel dafr hatten wir in Kapitel 10 zur Nutzerinteraktion gesehen.
Suchmaschinen wie Clusty (siehe Abbildung 10.9) bauen die Clusterung der Ergebnisse
direkt in die Darstellung der Ergebnisse ein. Der Vorteil eines solchen Ansatzes ist, dass der
Nutzer durch die Cluster seine Anfrage mglicherweise direkt einschrnken oder przisieren
kann, beispielsweise wenn es begriiche Mehrdeutigkeiten in der Anfrage gibt.
Ein weiterer Einsatz von Clusteralgorithmen im Bereich der Ad Hoc Anfragen ist die
Erweiterung der Ergebnismenge (result expansion). Dabei werden die Dokumente des Kor-
pus bereits vorab geclustert, d.h. schon bei der Aufnahme in den Index. Wenn eine Anfrage
gestellt wird, kann die Ergebnismenge dann um solche Dokumente erweitert werden, die
in den gleichen Clustern liegen wie die direkten Suchtreer. Diese Vorgehen ist insbeson-
dere dann interessant, wenn zu einer Anfrage nur sehr wenige direkte Suchtreer gefunden
werden. Dieser Ansatz kann auch sehr gut bei einer query-by-example Suche angewendet
werden. Der Nutzer liefert ein Dokument und mchte dazu hnliche Dokumente erhalten.
Dann kann geprft werden, in welchem Cluster das Dokument eingruppiert werden wrde,
und das System liefert den entsprechenden Cluster als Menge von hnlichen Dokumenten
zurck.
Die vorab bei der Indizierung berechneten Cluster knnen auf hnliche Art und Weise
auch fr einen anderen Zweck verwendet werden, nmlich zur Beschleunigung der Suche.
Dazu wird wie oben die Anfrage als Dokument aufgefasst und zunchst ein dazu passender
Cluster gesucht. Hat man weiterhin fr jeden Cluster eine eigene Indexstruktur aufgebaut,
so kann man nun schneller in den wesentlich kleineren Indizes des betroenen Clusters
suchen.
282
14.2 Evaluation
Geht man weg von der Ad Hoc Suche, so kann die Clusterung von Dokumenten einen
ganz anderen Suchansatz liefern. Dazu werden dem Nutzer zunchst eine feste Anzahl
von Clustern prsentiert, die auf dem kompletten Korpus berechnet werden. Daraus whlt
der Nutzer dann einen oder mehrere aus, die seinem Informationsbedrfnis am nchsten
kommen. Dadurch werden gleichzeitig auch einige Dokumente verworfen und man hat die
betrachtete Dokumentmenge auf einen Teil des Korpus eingeschrnkt. Innerhalb dieser
Teilmenge knnen nun wieder Cluster bestimmt werden, aus denen der Nutzer erneut die
fr ihn interessanten auswhlt. So wird die Dokumentmenge auf explorative Art durch eine
immer weitergehende Einschrnkung verkleinert, so dass im Idealfall genau die Dokumente
brig bleiben, die dem Informationsbedrfnis des Nutzers am ehesten entgegenkommen.
Dieses Vorgehen wird auch mit dem Begri scatter-gather bezeichnet.
Es gibt noch weitere Anwendungen fr Clusterverfahren. So knnen bestimmte Sprach-
stile innerhalb eines Korpus bestimmt werden, um damit bessere Smoothingmodelle fr
den LM-Ansatz zu bestimmen. In diesem Zusammenhang werden anschlieend anstatt
eines globalen Sprachmodells mehrere, immer noch recht groe Modelle fr einzelne Teil-
bereiche des Korpus verwendet.
14.2 Evaluation
Um die Qualitt eines Clusterergebnisses, bzw. eines Verfahrens zu beurteilen, gibt es
prinzipiell zwei Typen von Maen: intrinsische und extrinsische Mae. Intrinsische Mae
bewerten die erstellten Cluster ohne weiteres Wissen ber die Daten, weshalb sie auch als
interne Qualittskriterien bezeichnet werden. Dabei kommen beispielsweise hnlichkeits-
mae innerhalb und zwischen den berechneten Clustern zum Einsatz. Extrinsische Mae
hingegen ziehen zustzliches Wissen zu Rate; daher auch die alternative Bezeichnung ex-
terne Qualittskriterien [AGAV09]. Sie verwenden in der Regel einen Goldstandard zu
zusammengehrigen Gruppen, beispielsweise in Form von Kategorien wie sie in Trainings-
oder Evaluationsdaten zu Klassikationsaufgaben auftreten.
Stehen jedoch keine Vergleichsdaten zur Evaluation zur Verfgung, bleibt nichts anderes
brig als ein intrinsisches Evaluationsma anzuwenden. Das wohl bekannteste Ma drfte
hier der Dunn-Index sein. Der Dunn-Index vergleicht die Abstnde innerhalb und zwischen
den Clustern. Dazu wird der kleinste Abstand d
min
ermittelt, der zwischen zwei Dokumen-
ten aus verschiedenen Clustern auftritt, sowie der grte Abstand d
max
, der zwischen zwei
Dokumenten aus dem gleichen Cluster auftritt. Diese beiden Werte werden ins Verhltnis
zueinander gesetzt:
I
Dunn
() =
d
min
d
max
Je grer der Wert des Dunn-Index ausfllt, desto besser sind die Cluster voneinander
getrennt. Insbesondere fr Werte I
Dunn
> 1 sind die Abstnde zwischen den Clustern im
Verhltnis viel grer als innerhalb der Cluster. Das entspricht der Vorstellung, dass die
283
14 Clusteranalyse auf Texten
Daten bei der Clusteranalyse zu solchen Grppchen zusammengefasst werden, in denen die
Datenpunkte nahe bei einander und gleichzeitig weit weg von den anderen Cluster liegen.
Dunn-Index
Wir clustern die 30 Dokumente, die uns in Kapitel 13 als Trainingsdaten fr die
Klassikation dienten. Als Darstellung whlen wir lngennormierte Dokumentvekto-
ren mit TF-IDF Eintrgen, so wie sie in Tabelle 13.8 auf Seite 253 aufgefhrt werden.
Als Abstandsma verwenden wir den euklidischen Abstand.
Zunchst mssen wir paarweise die Abstnde zwischen den Dokumenten berechnen.
Da die dabei entstehende Abstandsmatrix aus numerischen Werten bereits fr die
hier betrachteten 30 Dokumente recht unbersichtlich wird, ist in Abbildung 14.3
eine grasche Darstellung zu sehen. Das Pixel an den Koordinaten (i, j) in der Ma-
trix stellt den Abstand zwischen den Dokumenten d
i
und d
j
dar. Die Darstellung
ist bezglich der auftretenden Werte normiert, d.h. schwarze Pixel entsprechen dem
Maximalabstand von 1,414 und weie Pixel dem Minimalabstand von 0.
Abbildung 14.3: Grasche Darstellung der Abstandmatrix fr die 30 Dokumente.
Man sieht recht schn die Symmetrie entlang der Hauptdiagonale, welche durch die
Symmetrieeigenschaft des euklidischen Abstandsmaes entsteht. Die Hauptdiagonale
selbst zeichnet sich wei ab, da die Dokumente alle zu sich selbst den Abstand 0 ha-
ben. Ansatzweise kann man auch die rumliche Nhe der Dokumente innerhalb einer
284
14.2 Evaluation
Kategorie erkennen. Die Quadrate enthalten mehr hellere Pixel als andere Bereiche
der Matrix.
Zur Berechnung des Dunn-Index bentigen wir nun eine Clusterung der Dokumente.
Interessanterweise kann man den Dunn-Index auch auf den Goldstandard selbst an-
wenden. Das heit, wir gehen nun davon aus, dass jede Kategorie des Goldstandards
einen Cluster bildet. Somit gehen wir von folgenden Clustern aus:

1
= c
1
= d
1
, d
2
, d
3
, . . . , d
10

2
= c
2
= d
11
, d
12
, d
13
, . . . , d
20

3
= c
3
= d
21
, d
22
, d
23
, . . . , d
30

Nun mssen wir den miminalen Abstand d


min
zwischen diesen drei Clustern und
den maximalen Abstand d
max
innerhalb der einzelnen Cluster bestimmen. Aus der
bildlichen Darstellung kann man anhand der schwarzen Pixel erkennen, dass in den
Clustern gelegentlich sogar der global maximale Abstand auftritt. Das ist beispiels-
weise zwischen d
1
und d
6
der Fall. Rechnerisch ergibt sich damit fr d
max
ein Wert
von 1,414. Den minimalen Abstand zwischen zwei Clustern kann man zwar nicht so
direkt ablesen, aber man erkennt relativ schnell, an welcher Stelle er auftritt. Das
Pixel fr den Abstand zwischen den Dokument d
4
und d
16
ist am hellsten und somit
ist dort der geringste Abstand zu verzeichnen. Numerisch haben die Dokumente einen
Abstand von d
min
= 0, 615. Somit ergibt sich fr den Goldstandard ein Dunn-Index
von:
I
Dunn
() =
0, 615
1, 414
= 0, 435
Den Dunn-Index bereits auf dem Goldstandard zu berechnen kann durchaus sinnvoll
sein, um die Schwierigkeit einer Clusteraufgabe zu bestimmen. So sagt der Wert
von 0,435 aus, dass teilweise deutlich grere Abstnde innerhalb der Kategorien als
zwischen den Kategorien auftreten.
Nehmen wir fr eine echte Evaluation nun aber an, dass das Ergebnis eines Cluster-
verfahrens die 30 Dokumente in vier Gruppen einteilt:

1
= d
1
, d
2
, d
3
, d
4
, d
5
, d
6
, d
7
, d
8
, d
9
, d
10
, d
11
, d
20

2
= d
12
, d
13
, d
14
, d
15
, d
16
, d
17
, d
18
, d
19

3
= d
21
, d
22
, d
23
, d
24
, d
25
, d
27
, d
28
, d
30

4
= d
26
, d
29

Im Prinzip wurden alle Wirtschaftsdokumente in den ersten Cluster gesteckt, zustz-


lich jedoch auch zwei Dokumente aus Politik hinzugefgt. Der zweiten Cluster enthlt
die verbliebenen Dokumente aus Politik und die Dokumente der Kategorie Touristik
wurden ungleichmig in die Cluster
3
und
4
aufgeteilt.
285
14 Clusteranalyse auf Texten
Der Dunn-Index sieht nun anders aus. Innerhalb der Cluster gibt es auch hier den
recht groen Abstand von 1,414. Das ist recht schnell ersichtlich, da auch hier wieder
die Dokumente d
1
und d
6
im gleichen Cluster liegen. Der Abstand zwischen den Clus-
tern ist hingegen sogar noch geschrumpft. Zwischen d
23
und d
29
besteht ein Abstand
von nur 0,577 und die beiden Dokumente liegen nun in verschiedenen Clustern. Somit
erhalten wir fr die vier Cluster einen Dunn-Index von:
I
Dunn
() =
0, 577
1, 414
= 0, 408
Ein Nachteil der intrinsischen Bewertung ist, dass lediglich geometrische Kriterien beach-
tet werden. Ob eine rumliche Nhe in allen Dimensionen aber auch eine inhaltliche Nhe
ausdrckt, kann dabei nicht bercksichtigt werden. Hier sind extrinsische Evaluationsmae
im Vorteil, da sie auf explizites, externes Wissen ber die Testdaten verfgen.
Das externe Wissen besteht aus einer Kategorisierung der zu clusternden Dokumente.
Das heit, wir wissen zu jedem Dokumenten d
i
in welcher Kategorie aus C = c
1
, c
2
, . . . , c
J

es liegt. Nach einer Clusteranalyse kann man sich nun anschauen, wie die Kategorien zu
den Dokumenten in den einzelnen Clustern aussehen. Gehen wir im weiteren davon aus,
dass K Cluster erzeugt wurden
3
, so bezeichnen wir mit n
(i)
j
die Anzahl der Dokumente aus
Kategorie c
i
, die in Cluster
j
liegen.
Ein recht einfaches Evaluationsma ist Purity. Es misst wie rein die Cluster sind. Dazu
wird bestimmt, wie einheitlich die Dokumente in einem Cluster bezglich der Kategorien
liegen. Man nimmt die am strksten vertretene Kategorie und bestimmt den Anteil der
Dokumente aus dieser Kategorie am gesamten Cluster:
Purity(
j
) =
1
[
j
[
max
i=1,...,n
n
(i)
j
Da man mit dieser Formel lediglich einen einzelnen der berechneten Cluster bewerten
kann, werden in der Regel die Werte aller Cluster zusammengefasst. Ein typischer Ansatz
hierzu verwendet eine mit der Clustergre gewichtete Summe:
Purity() =
K

j=1
[
j
[
N
Purity(
j
)
Interessant bei Purity wie auch bei vielen anderen Maen ist, dass die Cluster nicht
exakt den Kategorien entsprechen mssen um eine gute Bewertung zu erzielen. Im Purity-
Ma ist es beispielweise vllig egal, ob die Dokumente einer Kategorie auf zwei Cluster
aufgeteilt werden. Sind in diesen beiden Clustern keine Dokumente aus anderen Kategorien
enthalten, so erzielen beide Cluster eine optimale Purity von 1.
3
Es sei ausdrcklich darauf hingewiesen, dass die Anzahl K der erzeugten Cluster nicht mit der Anzahl
J der Kategorien aus dem Klassikationsgoldstandard bereinstimmen muss.
286
14.2 Evaluation
Purity
Greifen wir wieder auf die vier Cluster aus dem vorherigen Beispiel zurck
4
. Wir
knnen zunchst die Purity fr jeden einzelnen Cluster bestimmen:
Purity(
1
) =
10
12
= 0, 83
Purity(
2
) =
8
8
= 1
Purity(
3
) =
8
8
= 1
Purity(
4
) =
2
2
= 1
Es fllt auf, dass drei der Cluster eine perfekte Purity von 1 erzielen. Insbesondere zu
beachten ist, dass Cluster
3
und
4
diesen Wert beide bezglich der Kategorie Tou-
ristik erzielen. Fhrt man die Purity-Werte in der gewichteten Summe zusammen,
so erhlt man:
Purity() =
1
30
(12 Purity(
1
) + 8 Purity(
2
) + 8 Purity(
3
) + 2 Purity(
4
)) = 0, 93
Gelegentlich trit man bei der Bewertung von Clustern auch auf die Klassiker Precisi-
on, Recall und das F
1
-Ma. Diese werden in diesem Zusammenhang jeweils in Bezug auf
genau einen Cluster und genau eine Kategorie gebildet. Fr den Recall zu Cluster
j
und
Kategorie c
i
sieht das ganze dann so aus:
r(
j
, c
i
) =
n
(i)
j

K
l=1
n
(i)
l
Hier wird im Nenner ber alle Cluster hinweg die Anzahl der Dokumente aufsummiert,
die in Kategorie c
i
liegen. Letztendlich entspricht dies also der Mchtigkeit des Goldstan-
dards zu Kategorie c
i
. Der Zhler fhrt dann dazu, dass letztendlich berechnet wird, welcher
Anteil der Dokumente aus c
i
in Cluster
j
gelandet ist. Precision und F
1
Ma denieren
sich vllig analog nach dem gleichen Muster.
Ein anderes, wesentlich huger verwendetes Ma fr die Evaluation von Clusterergeb-
nissen ist Mutual Information (MI):
MI() =
1
N
K

j=1
J

i=1
n
(i)
j
log
_
_
n
(i)
j
N

J
m=1
n
(m)
j

K
l=1
n
(i)
l
_
_
4
Den Goldstandard unter extrinsischen Maen zu evaluieren ist wenig sinnvoll, da er dann mit sich selbst
verglichen wird und somit immer perfekte Ergebnisse erzielt.
287
14 Clusteranalyse auf Texten
Diese etwas umfangreichere Formel entstammt der Informationstheorie und drckt hier
den Zusammenhang zwischen den Clustern und den Kategorien aus. Der informations-
theoretische Hintergrund wird vielleicht etwas deutlicher, wenn man das MI-Ma ber
Wahrscheinlichkeiten ausdrckt:
MI() =
1
N
K

j=1
J

i=1
P(d
j
c
i
) log
_
P(d
j
c
i
)
P(d
j
) P(d c
i
)
_
Zur vorherigen Formel gelangt man nun, indem man folgende MLE Schtzer fr die
Wahrscheinlichkeiten einsetzt:
P(d
j
c
i
) =
n
(i)
j
N
P(d
j
) =

J
m=1
n
(m)
j
N
P(d c
i
) =

K
l=1
n
(i)
l
N
In der Literatur ndet man unterschiedliche Angaben zur zu verwendenden Basis fr den
enthaltenen Logarithmus
5
. Eher aus dem Bereich der Informationstheorie stammt die Ver-
wendung eines Logarithmus zur Basis 2. Einige Bcher im Bereich Data Mining verwenden
als Basis das Produkt K J aus der Anzahl der Cluster und der Anzahl der Kategorien.
Letztendlich ist die Wahl der Basis jedoch nicht ausschlaggebend, da sie das Ergebnis
lediglich mit einen konstanten Faktor multipliziert.
Mutual Information
Berechnen wir auch den Mutual Information Wert fr das oben angenommene Ergeb-
nis einer Clusteranalyse. Dazu bestimmen wir zunchst die n
(i)
j
Werte, also die Anzahl
der Dokumente aus Cluster
j
, die gem Goldstandard in Kategorie c
i
liegen. Die
folgende Tabelle gibt Aufschluss ber diese Werte:
c
1
c
2
c
3

1
10 2 0

2
0 8 0

3
0 0 8

4
0 0 2
Durch die vielen 0 Eintrge mssen in diesem Fall in der Doppelsumme der Mutu-
al Information nur recht wenige Summanden tatschlich bercksichtigt werden. So
gelangt man zu:
5
Es sei an dieser Stelle vielleicht noch angemerkt, dass zwar der Logrithmus fr einen Wert von 0 nicht
deniert ist, der Grenzwert von lim
x0
x log(x) aber existiert und bei 0 liegt. Mit diesem Grenzwert
kann MI auch dann berechnet werden, wenn einige der n
(i)
j
einen Wert von 0 haben.
288
14.2 Evaluation
MI() =
1
30
_
10 log
10 30
12 10
+ 2 log
2 30
12 10
+ 8 log
8 30
8 10
+ 8 log
8 30
8 10
+ 2 log
2 30
2 10
_
Setzen wir im Logarithmus als Basis das Produkt aus Clusterzahl und Kategorienzahl
ein, so ergeben sich die Werte:
MI() =
1
30
(3, 687 0, 558 + +3, 537 + 3, 537 + 0, 884) = 0, 370
Anstatt zu betrachten, wieviele Dokumente aus welcher Kategorie in welchem Cluster
gelandet sind, kann man die Dokumente auch jeweils paarweise betrachten. Der Rand-
Index unterscheidet bereinstimmungen (agreements) und Unterschieden (disagreements)
zwischen den Clustern und dem Goldstandard. Eine bereinstimmung liegt immer dann
vor, wenn zwei Dokumente aus der gleichen Kategorie in den gleichen Cluster einsor-
tiert werden (same-same: ss), bzw. wenn zwei Dokumente aus verschiedenen Kategorien in
unterschiedlichen Clustern landen (dierent-dierent: dd). Unterschiede treten dann auf,
wenn zwei Dokumente aus der gleichen Kategorie voneinander getrennt in zwei Cluster
liegen (same-dierent: sd), bzw. wenn zwei Dokumente aus unterschiedlichen Kategorien
in den gleichen Cluster gesteckt werden (dierent-same: ds). Der Rand-Index berechnet
dann gewissermaen den Anteil an bereinstimmungen unter allen Dokumentprchen:
I
Rand
() =
ss + dd
ss + dd + sd + ds
Gelegentlich werden in dieser Formel die bereinstimmungen durch ein A = ss +dd und
die Unterschiede ber D = sd + ds dargestellt.
Ein weiteres Ma, dass man ber diesen Daten anwenden kann ist der Jaccard Koef-
zient. Diese Ma wurde bereits in Kapitel 3 auf Seite 59 zur Berechnung der berein-
stimmung von k-Grammmengen eingesetzt. Es misst die berdeckung zweier Mengen und
wird im Zusammenhang mit der Clusterevaluation bezglich der Zusammenfhrung von
Dokumenten aus gleichen Kategorien angewendet:
Jaccard() =
ss
ss + sd + ds
Rand-Index und Jaccard Koezient
Schlielich bestimmen wir fr die vier Cluster auch den Rand-Index und den Jaccard
Koezient. Zhlen wir zunchst, wieviele bereinstimmungen und wieviele Unter-
schiede zwischen der Clusterung und den Kategorien des Goldstandards bestehen:
289
14 Clusteranalyse auf Texten
ss = 103
dd = 280
sd = 32
ds = 20
Diese Werte lassen sich relativ schnell verizieren. Es gibt 20 Flle, in denen Doku-
mentprchen aus verschiedenen Kategorien im gleichen Cluster gelandet sind. Dabei
handelt es sich um die beiden Dokumente aus Politik, die in Cluster
1
mit 10 Doku-
menten aus der Kategorie Wirtschaft liegen. Aus dieser Beobachtung ergeben sich die
20 Kombinationen zu ds. Eine Trennung von Dokumenten die eigentlich zusammen-
gehren kommt 32 mal vor. Das entspricht den 8 Dokumenten in Cluster
2
die von
den beiden eben schon erwhnten Politikdokumenten in Cluster
1
getrennt wurden,
sowie die Aufspaltung der Kategorie Touristik in Cluster
3
und
4
. Es wurden in
beiden Fllen jeweils 8 Dokumente von zwei anderen getrennt, was zu den 32 Unter-
schieden im Sinne von sd fhrt. Die korrekt getrennten Dokumentprchen lassen sich
ebenfalls recht einfach abzhlen. Die 10 Wirtschaftsdokumente in Cluster
1
wurden
richtigerweise von den 18 Dokumenten in den anderen drei Clustern getrennt. Die
Abgrenzung der zwei Politikdokumente aus
1
hingegen ist nur gegenber den 10
Dokumenten in den Clustern
3
und
4
richtig. Schlielich ist ebenfalls korrekt, dass
die 8 Dokumente aus Cluster
2
nicht mit den Touristikdokumenten in
3
und
4
zusammengelegt wurden. Damit ergibt sich also fr dd = 10 18+2 10+8 10 = 280.
Da es ingesamt
3029
2
= 435 Dokumentkombinationen gibt, stimmt schlielich auch
der Wert ss = 435 280 32 20 = 103.
Fr unsere Evaluationsmae Rand-Index und Jaccard-Koezient erhalten wir somit
die Werte:
I
Rand
() =
383
435
= 0, 880
Jaccard() =
103
155
= 0, 665
Neben diesen direkten Evaluationsmaen fr Cluster, kann man im Zusammenhang mit
Information Retrieval Systemen natrlich indirekte Evaluationsanstze verfolgen. So kann
beispielsweise ein Nutzertest durchgefhrt werden, um zu prfen ob die Clusterung von
Suchergebnissen zu schnelleren Sucherfolgen fhrt, bzw. ob die Gruppen im scatter-gather
Verfahren die Nutzer mglichst direkt zu ihrem Ziel fhren. Verwendet man Cluster zur
Beschleunigung der Suche im Index kann man den Zeitgewinn bei der Suche beurteilen
290
14.3 Single-Pass Clusterverfahren
und einer eventuell schlechteren Ergebnismenge gegenber stellen. Die Qualitt der Ergeb-
nismenge kann mit den aus Kapitel 6 bekannten Maen ermittelt werden.
14.3 Single-Pass Clusterverfahren
Das Single-Pass Verfahren zur Clusterung von Textdokumenten wurde im Zusammenhang
mit dem IR System Smart entwickelt. Es bildet ber einem Korpus von Dokumenten eine
Konguration von sich berlappenden Clustern. Ziel der Clusteranalyse was es, anschlie-
end die Suche beschleunigen zu knnen [Fer03].
Der Name des Verfahrens deutet bereits an, dass Single-Pass die Clusterkonguration
mit einem einzigen Durchlauf durch die Dokumente berechnet. Um dies zu erreichen, legt
Single-Pass die Cluster direkt whrend dieses einen Durchlaufs an und fllt sie auch gleich-
zeitig mit Dokumenten. Die Cluster selbst werden in der Tradition des Rocchio-Algorithmus
zur Textklassikation (vgl. 13.5) ber Zentroiden beschrieben. Fr jedes betrachtete Do-
kument wird dann der Abstand zu den Zentroiden der bisher erzeugten Cluster berechnet.
Ist der Abstand zu einem Zentroiden kleiner als ein vorgegebener Schwellwert, so wird das
Dokument dem entsprechenden Cluster zugewiesen. Da der Abstand zu mehreren Zentro-
iden unterhalb des Schwellwertes liegen kann, ist es mglich, dass ein Dokument mehreren
Clustern zugeteilt wird. In jedem Cluster, der um ein Dokument ergnzt wird, muss an-
schlieend der Zentroid neu berechnet werden. Findet sich fr ein Dokument kein nahege-
legener Cluster, so wird ein neuer Cluster angelegt, der nur aus diesem Dokument besteht.
Algorithmus 14.1 gibt das Verfahren formal wieder.
Der groe Vorteil des Verfahrens ist, dass jedes Dokument nur einmal angefasst werden
muss. Vorausgesetzt, dass die Dokumente nicht zu stark verstreut liegen, bedeutet dies
auch, dass nur wenige Cluster entstehen und nur wenige Abstandsvergleiche pro Dokument
anfallen. Das Verfahren hat also im Normalfall eine lineare Laufzeit.
Single-Pass Clusterverfahren
Um die Funktionsweise des Single-Pass Verfahrens zu demonstrieren, lassen wir es
auf unseren 30 Dokumenten laufen. Wir durchlaufen die Dokumente in ihrer vorge-
gebenen Reihenfolge von d
1
nach d
30
. Als Schwellwert setzen wir hier einen Wert von
= 2 an.
Der Algorithmus beginnt mit einer leeren Liste an Clustern und betrachtet zuerst
den Vektor des Dokumentes d
1
. Wir verkrzen hier die Vektordarstellung aus Platz-
grnden ein wenig auf die Eintrge in denen keine 0-Werte stehen. Somit sieht das
Dokument in dieser verkrzten Vektorreprsentation so aus:

d
1
=
_
_
_
w
Agentur
w
Firma
w
Umsatz
_
_
_ =
_
_
_
0, 61
0, 76
0, 23
_
_
_
291
14 Clusteranalyse auf Texten
Algorithmus 14.1 : Single-Pass
Input : D = d
1
, . . . , d
n
Menge der Dokumente.
Input : Schwellwert fr Clusterzuweisung.
Output : Clusterkonguration.
function SinglePass(D);
begin
new List;
Z new List;
for i = 1, . . . , n do
added false;
for j = 1, . . . , [[ do
if dist (

d
i
, z
j
) then

j

j
d
i
;
z
j

1
|
j
|


d
i
+
|
j
|1
|
j
|
z
j
;
added true;
if added then

neu
d
i
;
z
neu


d
i
;
.append (
neu
);
Z.append (z
neu
);
return
end
Da es im ersten Schritt noch keine Cluster gibt, denen d
1
hinzugefgt werden kann,
bildet es selbst den ersten Cluster
1
. Damit entspricht es auch gleichzeitig dem
Zentroiden z
1
dieses Clusters.
Als nchstes Dokument wird d
2
betrachtet. In der verkrzten Vektorraumreprsen-
tation stellt es sich so dar:

d
2
=
_
_
_
w
Firma
w
Prsident
w
Stadt
_
_
_ =
_
_
_
0, 44
0, 26
0, 86
_
_
_
Fr diesen Vektor berechnen wir nun den euklidischen Abstand zum Zentrum des
ersten Clusters:
dist(

d
2
, z
1
) =

d
2
z
1

=
_
(0, 61 0)
2
+ (0, 76 0, 44)
2
+ (0 0, 26)
2
+ (0 0, 86)
2
+ (0, 23 0)
2
= 1, 16
292
14.3 Single-Pass Clusterverfahren
Dieser Wert liegt knapp ber dem von uns eingesetzten Schwellwert, so dass d
2
nicht
dem Cluster
1
zugeteilt wird. Da es aber bisher keine weiteren Cluster gibt, denen
das Dokument zugeordnet werden knnte, bildet somit d
2
einen eigenen, neuen Clus-
ter aus. Auch hier entspricht der Zentroid z
2
des Clusters
2
zunchst genau dem
Dokumentvektor von d
2
.
Damit gehen wir zum Dokument d
3
ber, das folgende verkrzte Vektordarstellung
hat:

d
1
=
_
_
_
w
Firma
w
Steuer
w
Umsatz
_
_
_ =
_
_
_
0, 37
0, 22
0, 90
_
_
_
Die Abstnde zu den Zentroiden der beiden Cluster betragen:
dist(

d
3
, z
1
) = 1, 01
dist(

d
3
, z
2
) = 1, 29
Daher wird d
3
zwar dem Cluster
1
zugeteilt, nicht aber dem Cluster
2
, da es von
dessen Zentroid zu weit entfernt liegt. Da also fr d
3
zumindest ein passender Cluster
gefunden wurde, brauchen wir keinen neuen Cluster zu erzeugen. Allerdings muss der
Zentroid des Clusters
1
angepasst werden:
z
1
=
_
_
_
_
_
w
Agentur
w
Firma
w
Steuer
w
Umsatz
_
_
_
_
_
=
1
2

_
_
_
_
_
0, 61
0, 76
0
0, 23
_
_
_
_
_
+
1
2

_
_
_
_
_
0
0, 37
0, 22
0, 90
_
_
_
_
_
=
_
_
_
_
_
0, 30
0, 57
0, 11
0, 57
_
_
_
_
_
Die Dokumente d
4
und d
5
werden ebenfalls dem Cluster
1
zugeteilt, nicht jedoch
2
.
Der Zentroid des ersten Clusters wird entsprechend jeweils angepasst und hat danach
die Form:
z
1
=
_
_
_
_
_
_
_
_
_
_
_
_
_
w
Agentur
w
Firma
w
Gesetz
w
Insel
w
Regierung
w
Steuer
w
Umsatz
_
_
_
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 27
0, 36
0, 12
0, 12
0, 08
0, 23
0, 56
_
_
_
_
_
_
_
_
_
_
_
_
_
Das nchste Dokument d
6
weist zu beiden Clustern einen zu groen Abstand auf
und begrndet somit den dritten Cluster
3
. Dokumente d
7
hingegen liegt sowohl
dicht genug am Zentroiden des Clusters
1
als auch an dem des Clusters
2
. So-
mit wird es beiden Clustern zugewiesen und nach dem siebten Schritt liegt folgende
Clusterkonguration vor:
293
14 Clusteranalyse auf Texten

1
= d
1
, d
3
, d
4
, d
5
, d
7

2
= d
2
, d
7

3
= d
6

Durchluft man alle dreiig Dokumente, so erhlt man am Ende fnf Cluster, von
denen drei relativ umfangreich sind. Im Detail verteilen sich die Dokumente folgen-
dermaen auf die Cluster:

1
= d
1
, d
3
, d
4
, d
5
, d
7
, d
8
, d
9
, d
10
, d
13
, d
14
, d
15
, d
16
, d
17
, d
18
, d
19
, d
20
,
d
22
, d
23
, d
24
, d
25
, d
26
, d
27
, d
28
, d
29
, d
30

2
= d
2
, d
7
, d
9
, d
10
, d
15
, d
16
, d
17
, d
18
, d
19
, d
20
, d
22
, d
23
, d
24
, d
25
, d
26
,
d
27
, d
28
, d
29
, d
30

3
= d
6
, d
8
, d
11
, d
13
, d
14
, d
15
, d
16
, d
17
, d
18
, d
19
, d
20
, d
22
, d
23
, d
24
, d
25
,
d
26
, d
27
, d
28
, d
29
, d
30

4
= d
12
, d
13
, d
14
, d
15
, d
17
, d
19
, d
27

5
= d
21
, d
24
, d
25
, d
27
, d
28
, d
29
, d
30

Betrachtet man, dass die Cluster eine Mchtigkeit von 25, 19, 20 und zwei mal sieben
Dokumenten aufweisen wird klar, dass Single-Pass in diesem Fall sehr viele Doku-
mente in mehr als einem Cluster einteilt. Dokument d
27
ist sogar in jedem Cluster
enthalten.
Allerdings haben wir in diesem Beispiel mit = 1, 1 auch einen relativ hohen Schwell-
wert gewhlt, wenn man bedenkt, dass der maximal auftretende Abstand bei 1,414
liegt. Setzt man einen Schwellwert von 0,9 an, so erhlt man am Ende 13 Cluster in
denen es deutlich weniger Mehrfachzuweisungen gibt.
Die von Single-Pass erzeugten Cluster sind von der Reihenfolge der Eingabedaten ab-
hngig. Bereits durch die Eigenschaft, dass die Zentroiden angepasst werden, knnen un-
terschiedliche Konstellationen zustande kommen. Entsprechende Eingabedaten lassen sich
schnell und einfach konstruieren. In Abbildung 14.4 wird ein solcher Fall dargestellt. Wer-
den die Dokumente in der Reihenfolge B, A, C bearbeitet, so entstehen andere Cluster als
bei der Reihenfolge A, C, B.
An der Darstellung kann man auch nachvollziehen, dass die Cluster am Ende nicht alle
Dokumente enthalten, die in der Nhe ihres Zentroiden liegen. So msste beispielsweise bei
der Abfolge B, A, C das Dokument B am Ende rein vom Abstand her in beiden Clustern
liegen. Tatschlich ist jedoch nur im Cluster aus B und A enthalten, der zweite Cluster
besteht nur aus C
6
.
6
Bei der zweiten dargestellten Reihenfolge A,C, B tritt dieses Problem nicht auf.
294
14.3 Single-Pass Clusterverfahren
(a) (b) (c)
(d) (e) (f)
Abbildung 14.4: Unterschiedliche Reihenfolgen beim Durchlaufen der Daten erzeugen im
Single-Pass Verfahren unterschiedliche Cluster. Werden die Punkte wie
in (a) bis (c) gezeigt in der Abfolge B, A und C durchlaufen sieht das
Ergebnis anders aus als bei Verwendung der Reihenfolge A, C, B in den
Bildern (d) bis (f).
Genauso kann es durch die stndige Anpassung der Zentroiden passieren, dass diese
von den enthalten Dokumenten weg wandern. Dadurch besteht insbesondere fr die zuerst
hinzugefgten Dokumente die Gefahr, dass am Ende des Verfahrens ihr Abstand zum
Zentroiden grer ist als der Schwellwert eigentlich erlaubt. In Abbildung 14.5 ist auch
hierzu ein recht einfaches Beispiel konstruiert. Der dargestellt Cluster wird schrittweise um
die Dokumente A, B, C und D erweitert. Der Zentroid bewegt sich dabei immer weiter, so
dass nach dem letzten Schritt das Dokument A einen Abstand zur Clustermitte aufweist,
der grer ist als der hier zeichnerisch angegebene Schwellwert.
Ein Lsungsansatz um dieses Problem zu beheben wre, die Zentroiden nicht anzupassen,
sondern sie auf dem ersten Dokument des Clusters liegen zu lassen. Damit wre garantiert,
dass alle Dokumente im Cluster auch am Ende des Verfahrens noch innerhalb des vorge-
gebenen Radius um den Zentroiden liegen. Durchluft man zustzlich alle Dokumente ein
weiteres Mal und prft die Zugehrigkeit zu den im ersten Durchlauf erzeugten Clustern,
so kann man auch die vollstndige Zuordnung zu allen rumlich passenden Clustern er-
reichen allerdings auf Kosten einer ungefhr doppelten Laufzeit. Eine Abhngigkeit des
295
14 Clusteranalyse auf Texten
(a) (b)
(c) (d)
Abbildung 14.5: Bei ungnstiger Lage der Daten bewegt sich der Zentroid zu weit weg vom
Anfangspunkt, so dass Dokument A auerhalb des vorgegebenen Radius
um den Zentroid liegt.
Ergebnisses von der Reihenfolge bleibt aber auch in diesem Fall erhalten, denn es werden
unter Umstnden andere Zentroiden gewhlt.
14.4 K-Means
Der K-Means Algorithmus drfte wohl eines der bekanntesten Clusterverfahren sein. Das
liegt einerseits sicherlich daran, dass das Verfahren relativ leicht zu verstehen und umzu-
setzen ist. Andererseits ist es hinsichtlich der Laufzeitkomplexitt im Groen und Ganzen
linear bezglich der Anzahl der Cluster und der Mchtigkeit der Dokumentmenge.
K-Means ist ein iteratives Verfahren. Es erzeugt eine ache Clusterstruktur, in der die
Cluster sich nicht berlagern. Vereinfacht gesagt minimiert das Verfahren die Abstnde
der Datenpunkte zur jeweiligen Clustermitte. ber diese Eigenschaft lsst sich auch formal
zeigen, dass die Iteration in K-Means gegen ein lokales Optimum konvergiert.
Das K im Namen des Verfahrens steht fr die Anzahl der zu erzeugenden Cluster. Wie
man sich aus dieser Namensgebung fast schon ableiten kann, geht K als Parameter in die
in Algorithmus 14.2 formal dargestellte Clustervorschrift ein. Fr jeden der K Cluster wird
zu Beginn rein zufllig ein einzelnes Dokument aus den Eingabedaten herausgesucht. Die-
se einzelnen Dokumente dienen dann als Reprsentant fr ihre jeweiligen Cluster. Danach
werden iterativ immer die gleichen zwei Schritte wiederholt, bis die Konvergenz der Cluster
einsetzt. Im ersten Schritt wird fr jedes Dokument geprft, zu welchem Cluster es den
296
14.4 K-Means
geringsten Abstand hat. Der Abstand bestimmt sich ber den Abstand zu den Reprsen-
tanten der Cluster. Durch die Zuweisung zum nchstgelegenen Cluster werden nun beim
ersten Durchlauf alle Dokumente einem Cluster zugewiesen, bzw. in spteren Durchlufen
knnen die Dokumente zu einem anderen Cluster berwechseln, wenn dessen Reprsen-
tant inzwischen nher liegt. Der zweiten Schritt besteht aus der Bestimmung eines neuen
Reprsentanten fr die vernderten Cluster. In der Standardfassung von K-Means dienen
Zentroiden als Reprsentanten. Dabei handelt es sich wie schon beim Single-Pass Verfah-
ren schlicht um den Mittelwert der Dokumentvektoren. Danach geht die Iteration in die
nchste Runde und bestimmt eine neue Zuteilung der Dokumente zu den Clustern bezglich
der vernderten Reprsentanten. Die Iteration bricht ab, wenn sich die Reprsentanten der
Cluster nicht mehr ndern, was damit gleichzusetzen ist, dass sich die Clusterkonguration
nicht mehr ndert.
Algorithmus 14.2 : K-Means
Input : D = d
1
, . . . , d
n
Menge der Dokumente.
Input : K Kardinalitt (Zahl der Cluster).
Output : Clusterkonguration.
function KMeans(D, K);
begin
(
1
, . . . ,
K
);
(z
1
, . . . , z
K
) randomSeed(D);
repeat
for j = 1, . . . , K do

j
;
for i = 1, . . . , n do
idx arg min
j=1,...,K
dist(

d
i
, z
j
);

idx

idx
d
i
;
for j = 1, . . . , K do
z
j

1
|
j
|

d
i

d
i
;
until Keine nderung der z
i
;
return
end
In Abbildung 14.6 wird dieses Vorgehen bildlich demonstriert. In Bild (a) werden zufllig
die initialen Reprsentanten ausgewhlt und sind hier mit Kreuzen markiert. In (b) ist
dann farblich gekennzeichnet, welche der Datenpunkte zu den jeweiligen Reprsentanten
am nchsten lagen und wie die Zentroide als neu berechnete Reprsentanten aussehen. Die
Bilder (c) und (d) zeigen dann wie die Zentroiden des gelben und blauen Clusters noch ein
wenig wandern, um schlielich in einen stabilen Zustand zu gelangen, der auch gleichzeitig
das Endergebnis darstellt.
297
14 Clusteranalyse auf Texten
(a) (b)
(c) (d)
Abbildung 14.6: Entwicklung der Cluster und Reprsentanten in K-Means von (a) nach
(d).
Gelegentlich werden auch andere Abbruchkriterien eingesetzt. So kann es gengen, dass
sich der Vektor des Reprsentanten nur noch sehr wenig ndert. Dann steht das Verfahren
kurz vor der Konvergenz und an den Clustern ndert sich nur noch sehr wenig. Alternativ
kann auch eine bestimmte Anzahl an Iterationen vorgegeben werden, nach der unabhngig
vom Verlauf des Verfahrens abgebrochen wird.
Eine weitere Variation des Verfahrens besteht darin, anfangs nicht einzelne Dokumente
als Reprsentanten auszuwhlen, sondern alle Dokumente rein zufllig einem der Cluster
zuzuteilen. Dann beginnt man direkt mit der Bestimmung der Zentroiden.
K-Means
Wir wollen auf den blichen 30 Dokumenten mit K-Means drei Cluster bilden. Damit
der Verlauf des K-Means Algorithmus hier im Beispiel nachvollziehbar bleibt, mssen
wir die zufllige Anfangsbelegung der Clusterreprsentanten kennen, bzw. knnen sie
uns vorgeben. Wir gehen daher davon aus, dass zufllig die Dokumente d
1
, d
2
und
d
3
als anfngliche Reprsentanten fr die Cluster ausgesucht werden.
Damit beginnt die Iteration mit der Zuteilung der Dokumente zu den drei Clustern.
Die drei Reprsentanten landen oensichtlich in ihren eigenen Cluster. Die anderen
Dokumente richten sich danach, welches der Dokumente d
1
, d
2
und d
3
am nchsten
298
14.4 K-Means
liegt. Die Details der Abstandsbestimmungen knnen wir berspringen und kommen
direkt zur Clusterkonguration nach diesem Schritt:

1
= d
1
, d
7
, d
19
, d
23
, d
24
, d
25
, d
28

2
= d
2
, d
6
, d
11
, d
12
, d
13
, d
14
, d
15
, d
17
, d
18
, d
22
, d
26
, d
27
, d
30

3
= d
3
, d
4
, d
5
, d
8
, d
9
, d
10
, d
16
, d
20
, d
21
, d
29

Betrachtet man in dieser Konguration die Zusammensetzung der Cluster bezglich


den Kategorien des Goldstandards so sind die Cluster noch recht durchmischt. Trgt
man die Zahl der Dokumente aus den einzelnen Kategorien gegen die Cluster ab, so
entsteht folgendes Bild:
c
1
c
2
c
3

1
2 1 4

2
2 7 4

3
6 2 2
Diese nahezu willkrlich erscheinende Zuordnung ist aber nicht weiter verwunderlich,
wenn man bedenkt, dass die Reprsentanten fr die drei Cluster alle aus der gleichen
Kategorie stammen.
Im nchsten Schritt werden diese Reprsentanten jedoch durch Zentroiden ersetzt.
Mittelt man die Vektoren in den drei Clustern ergeben sich folgende Werte fr die
neuen Reprsentantenvektoren:
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
w
Agentur
w
Boot
w
Firma
w
Flugzeug
w
Gesetz
w
Insel
w
Prsident
w
Regierung
w
Reise
w
Stadt
w
Steuer
w
Strand
w
Umsatz
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
: z
1
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 70
0, 11
0, 41
0, 15
0
0, 27
0
0, 21
0, 40
0, 77
0
0, 13
0, 05
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
; z
2
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0
0
0, 15
0, 34
0, 53
0
0, 44
0, 26
0, 21
0, 37
0, 29
0, 23
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
; z
3
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0, 13
0, 17
0, 26
0, 11
0, 12
0, 33
0, 04
0, 15
0, 04
0
0, 49
0, 14
0, 68
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Diese Reprsentanten sind oensichtlich von den Dokumentvektoren zu d
1
, d
2
und d
3
verschieden, so dass die Iteration nun in weitere Runde geht. Nach der Auswertung
299
14 Clusteranalyse auf Texten
der Abstnde der Dokumente zu den Zentroiden sieht die zweite Clusterkonguration
folgendermaen aus:

1
= d
1
, d
7
, d
19
, d
23
, d
24
, d
25
, d
28
, d
30

2
= d
2
, d
6
, d
11
, d
12
, d
13
, d
14
, d
15
, d
17
, d
18
, d
22
, d
26
, d
27

3
= d
3
, d
4
, d
5
, d
8
, d
9
, d
10
, d
16
, d
20
, d
21
, d
29

Wertet man wieder die Zuteilung der Dokumente aus den Kategorien in die einzelnen
Cluster aus, so erkennt man, dass sich nur wenig gendert hat:
c
1
c
2
c
3

1
2 1 5

2
2 7 3

3
6 2 2
Fhrt man das Verfahren weiter fort und bestimmt die Zentroiden und eine erneute
Zuteilung der Dokumente zu den Clustern, so erhlt man im nchsten Schritt eine
Konguration, die sich dann nachfolgend auch als stabil erweist:

1
= d
1
, d
7
, d
19
, d
21
, d
22
, d
23
, d
24
, d
25
, d
28
, d
30

2
= d
2
, d
6
, d
11
, d
12
, d
13
, d
14
, d
15
, d
17
, d
18
, d
26
, d
27

3
= d
3
, d
4
, d
5
, d
8
, d
9
, d
10
, d
16
, d
20
, d
29

Zhlen wir auch hier noch einmal ab, wie die Kategorien in den Clustern vertreten
sind, so sieht man, dass im Vergleich zum Anfang eine geringfgige Verbesserung
eingetreten ist.
c
1
c
2
c
3

1
2 1 7

2
2 7 2

3
6 2 1
Es lsst sich aber erkennen, dass Cluster
3
durch Wirtschaftsdokumente, Cluster
2
durch Politikdokumente und Cluster
1
durch Touristikdokumente dominiert wird.
Unter den Bewertungmaen aus 14.2 ergeben sich fr diese Konguration die folgen-
den Werte:
Ma Wert
I
Dunn
0,408
Purity 0,667
MI 0,110
I
Rand
0,657
Jaccard 0,290
300
14.4 K-Means
Dass die Anfangsbelegung der Reprsentanten groen Einuss auf das Ergebnis haben
kann, zeigt sich beeindruckend dadurch, dass man statt d
1
, d
2
und d
3
die Dokumente
d
1
, d
11
und d
21
verwendet. Dadurch erhlt man die Konguration:

1
= d
1
, d
2
, d
3
, d
5
, d
7
, d
9
, d
10

2
= d
4
, d
6
, d
8
, d
11
, d
12
, d
13
, d
14
, d
15
, d
16
, d
17
, d
18
, d
19
, d
20
, d
26

3
= d
21
, d
22
, d
23
, d
24
, d
25
, d
27
, d
28
, d
29
, d
30

Diese Konguration erzielt deutlich bessere Evaluationsergebnisse:


Ma Wert
I
Dunn
0,573
Purity 0,867
MI 0,339
I
Rand
0,832
Jaccard 0,590
Besonders interessant ist hierbei der Dunn Index. Mit einem Wert von 0,573 ist diese
Konguration besser bewertet worden als der Goldstandard. Letzterer erzielte ledig-
lich einen Wert von 0,435. Damit gruppiert K-Means die Dokumente in diesem Fall
unter rumlichen Gesichtspunkten sogar besser als vom Goldstandard vorgegeben.
Auch bei K-Means lassen sich einige Schwchen ausmachen. Dazu gehrt zunchst einmal
die Abhngigkeit von einer zuflligen Startkonguration an Reprsentanten. Je nachdem
welche Dokumente anfangs als Reprsentanten ausgewhlt werden, kann das Verfahren
anders verlaufen und gegen ein anderes lokales Optimum konvergieren. Abbildung 14.7
zeigt wie bei einer ungnstigen Lage der anfnglichen Reprsentanten nicht nur ein anderes
sondern ein sogar oensichtlich schlechteres Ergebnis zustande kommen kann. Um diesem
Problem zu entgegnen, kann man K-Means mehrfach laufen lassen und sich dann das
Ergebnis aussuchen, in dem die Abstnde der Daten zu ihren Clusterzentren am geringsten
sind.
Ein weiteres Problem sind Ausreier unter den Daten. Solche isoliert liegende Punkte
knnen dazu fhren, dass sie einen Cluster fr sich alleine beanspruchen. Dies tritt ins-
besondere dann auf, wenn ein Ausreier am Anfang zufllig als Reprsentant fr einen
Cluster ausgewhlt wird. Durch seine isolierte Position ist dann eher unwahrscheinlich,
dass whrend der Iteration weitere Datenpunkte in diesen Cluster aufgenommen werden.
Um zu vermeiden, dass solche sogenannten Singleton Cluster aus nur einem Dokument
entstehen, sollten Ausreier aus den Daten entfernt werden oder zumindest nicht fr die
Anfangsreprsentanten verwendet werden. Die alternative Vorgehensweise, bei der anfangs
301
14 Clusteranalyse auf Texten
(a) (b)
Abbildung 14.7: Whrend die Startkonguration in (a) zu einem nachvollziehbaren Ergeb-
nis fhrt, liefert (b) eine wenig sinnvolle Endkonguration.
alle Dokumente zufllig einem Cluster zugeteilt werden und sich somit direkt Zentroiden
als Reprsentanten berechnen lassen ist robuster gegenber der direkten Entstehung von
Singleton Clustern.
Ebenfalls problematisch sind leere Cluster, die whrend des Verfahrens entstehen. Wie
es zu leeren Clustern kommen kann ist in Abbildung 14.8 dargestellt. Die Skizze zeigt
eine Konguration mit drei Clustern, die farblich markiert sind. Die Kreuze stellen die
Zentroiden dar, die aus den Clustern als Reprsentanten berechnet werden. Man erkennt
leicht, dass im nchsten Schritt alle Punkte entweder dem gelben oder dem blauen Cluster
zugeschlagen werden, kein Datenpunkt liegt dicht genug am roten Kreuz. Somit wird der
rote Cluster am Ende der Iterationsrunde leer bleiben.
Abbildung 14.8: Eine Konguration von drei Clustern, die in K-Means im nchsten Schritt
zu einem leeren Cluster fhrt.
Leere Cluster fhren zwangsweise zu einer suboptimalen Lsung. Dies lsst sich relativ
leicht anhand der angestrebten Minimierung der Abstnde der Datenpunkte zu den Clus-
terzentren erklren. Betrachtet man in einem der nicht leeren Cluster ein Dokument, das
nicht gerade zufllig auf dem Clusterzentrum liegt, so hat dies einen positiven Abstand
> 0 zum Zentroiden. Trennt man das Dokument nun von diesem Cluster ab und fgt es
dem leeren Cluster hinzu, so bildet es dort gleichzeitig den Zentroiden des Clusters und
302
14.4 K-Means
hat somit einen Abstand zum Clusterzentrum von 0. Daher kann man durch dieses Vorge-
hen die Summe aller Abstnde um einen Wert minimieren und zu einer besseren Lsung
gelangen.
Mit genau dieser Vorgehensweise kann man den Fall eines leeren Clusters glcklicherweise
auch im Algorithmus bercksichtigen. Man lst einfach das Dokument aus dem Korpus
aus seinem eigentlich zugeteilten Cluster, das den grten Abstand zum Clusterzentrum
aufweist und ordnet es dem leeren Cluster zu
7
.
Schlielich gibt es Clusterformen die K-Means nicht erkennen kann. In Abbildung 14.9
sind zwei solche Flle zu sehen. Verschlungene Formen, in denen der Zentroid eines Clusters
innerhalb oder nahe bei den Daten eines anderen Clusters zum liegen kommt kann das
Verfahren schlichtweg nicht erkennen. Dies ist ein systematisches Problem und liegt in der
Idee begrndet die Abstnde der Daten zu ihrem Clusterzentrum zu minimieren.
(a) (b)
Abbildung 14.9: Zwei Clusterformen, die mit K-Means nicht zu erkennen sind.
Im obigen Beispiel haben wir mit Dokumentvektoren gerechnet, um die Zentroiden zu
bestimmen. Die allgemeine Idee des K-Means Verfahrens kann jedoch auf solche Flle
bertragen werden, in denen man nicht auf Vektordaten arbeitet, sondern Abstnde oder
auch hnlichkeiten auf andere Art und Weise bestimmt. Die Zuordnung der Datenpunkte
zu den Clustern kann exakt gleich bestimmt werden, allerdings bleibt die Frage oen, wie
die Reprsentanten fr die Clusterzentren berechnet werden.
Besteht keine Mglichkeit einen Mittelwert ber den Daten in einem Cluster zu bilden,
so kann man stattdessen einen zentral gelegenen Datenpunkt als Reprsentant verwenden.
Das bedeutet, man bestimmt innerhalb des Clusters das Dokument, das die geringsten
Abstnde zu allen anderen Dokumenten des gleichen Clusters aufweist und somit am zen-
tralsten liegt. Diese Variante des Verfahren wird auch als K-Median bezeichnet, da man
statt dem Mittelwert in einem Cluster dessen Median zum Reprsentanten macht.
Die Wahl des Parameters K ist sicherlich eine schwierige Frage beim Einsatz von K-
Means. Hat man keine Kenntnis oder Ahnung ber seine Daten, aus denen man geeignete
7
Man sollte dabei jedoch im Hinterkopf behalten, dass dieses Vorgehen wieder zu Singleton Clustern mit
einzelnen Ausreiern fhren kann.
303
14 Clusteranalyse auf Texten
Werte fr K ableiten kann, so muss man andere Wege gehen um die Anzahl der zu bilden-
den Cluster festzulegen. Eine Mglichkeit besteht darin, die Entwicklung der Abstnde der
Datenpunkte zu ihren Clusterzentren fr verschiedene Werte fr K zu betrachten. Formal
berechnet man dazu die Summe der quadratischen Abweichungen vom Clusterzentrum
auch als RSS (residual sum of squares) bezeichnet was auch der implizit optimierten
Zielfunktion entspricht:
RSS() =
K

j=1

d
i

j
[

d
i
z
j
[
2
Der Wert von RSS() nimmt zwar fr steigende Werte fr K immer weiter ab, jedoch
verlangsamt sich die Abnahme fr steigendes K. Ein Mglichkeit um die Zahl der zu
erstellenden Cluster zu bestimmen, liegt also in der Prfung, wann die Abnahmerate von
RSS unter einen gewissen Schwellwert fllt.
14.5 Agglomerative hierarchische Clusterverfahren
Wie in der Einleitung erwhnt, geht man bei agglomerativen Clusterverfahren davon aus,
dass jedes Dokument am Anfang einen eigenen Cluster deniert. Die Verfahren fhren
diese Cluster dann iterativ immer weiter zusammen, bis am Ende ein groer Cluster mit
allen Dokumenten entsteht. Der zentrale Unterschied zwischen den einzelnen Anstzen
besteht darin, wie der Abstand zwischen den Clustern bestimmt wird, d.h. wann welche
Cluster zusammengefhrt werden. Bindet man diese Abstandberechnung als Funktion
ein, kann man den Algorithmus fr agglomeratives Clustern allgemein wie in Algorithmus
14.3 formulieren.
Das Single-Link Verfahren bestimmt die Nhe zweier Cluster relativ einfach. Der Ab-
stand zwischen zwei Clustern ist der geringste Abstand der zwischen zwei Dokumenten aus
diesen Clustern auftritt, also:

Single-Link
(
1
,
2
) = min
d
i

1
,d
j

2
dist(d
i
, d
j
)
Abbildung 14.10 stellt die Abstandsbestimmung noch einmal bildlich dar. Die beiden
Dokumente aus dem roten und dem blauen Cluster, die am nchsten zueinander liegen,
denieren den Abstand zwischen den beiden Clustern:
Diese Art der Abstandsbestimmung eignet sich besonders gut, um langgezogene und ge-
streckte Cluster zu erkennen, wie sie beispielsweise in Abbildung 14.9(a) und insbesondere
in 14.9(b) zu sehen waren. Das liegt daran, dass schrittweise immer die beiden nchstge-
legenen Dokumente zusammengefhrt werden , die noch nicht im gleichen Cluster liegen.
Aus genau dem gleichen Grund sind allerdings solche Cluster schwierig zu erkennen, die wie
in Abbildung 14.11 liegen. Es gibt zwei gut erkennbare Anhufungen von Datenpunkten,
sowie einige wenige Dokumente, die dazwischen liegen. Diese Spur von einem Cluster
zum anderen kann unter Single-Link dazu fhren, dass die Cluster frhzeitig miteinander
304
14.5 Agglomerative hierarchische Clusterverfahren
Algorithmus 14.3 : Agglomeratives hierarchisches Clustern
Input : D = d
1
, . . . , d
n
Menge der Dokumente.
Input : Abstandsma fr Cluster.
Output : hierarchische Clusterkonguration.
function AgglomerativeClustering(D, );
begin
;
for i = 1, . . . , n do

i
d
i
;

i
;
while [[ > 1 do

m1
;

m2
;

min
;
foreach
i
do
foreach
j
,
j
,=
i
do
if (
i
,
j
)
min
then

m1

i
;

m2

j
;

min
(
i
,
j
);

new

m1
,
m2
;

m1
;

m2
;

new
;
return
end
verbunden werden. Dann entsteht eine Situation in der einem der beiden Cluster ber die
geringen Abstnde in der Dokumentspur auch Dokumente aus dem anderen Cluster zu-
gewiesen werden. Dieses Phnomen wird auch als Chaining-Eekt bezeichnet, da sich die
Cluster entlang einer Kette von Datenpunkten entwickeln knnen.
Gewissermaen das andere Extrem in der Bestimmung von Clusterabstnden stellt das
Complete-Link Verfahren dar. Hier ergibt sich der Clusterabstand aus dem grten Abstand
zwischen Dokumenten aus verschiedenen Clustern:

Complete-Link
(
1
,
2
) = max
d
i

1
,d
j

2
dist(d
i
, d
j
)
Stellt man Complete-Link bildlich dar, sieht die Situation wie in Abbildung 14.12 aus.
In diesem Minimalbeispiel sind es nun im Vergleich zu Single-Link die anderen beiden Do-
kumente, die den Abstand der Cluster festlegen, da bei ihnen der grte Abstand auftritt.
305
14 Clusteranalyse auf Texten
Abbildung 14.10: Single-Link: Der kleinste Abstand zwischen zwei Dokumenten deniert
den Cluster Abstand.
Abbildung 14.11: Die wenigen Datenpunkte zwischen den Clustern fhren bei Single Link
zum Chaining Eekt.
Abbildung 14.12: Complete-Link: Der grte Abstand zwischen zwei Dokumenten deniert
den Cluster Abstand.
Da in diesem Distanzma die am weitesten entfernten Dokumente verglichen werden, ent-
stehen bei der Verwendung von Complete-Link kompaktere Cluster. Der Abstand zwischen
zwei zusammengefhrten Clustern gibt auch gleichzeitig den Durchmesser im entstehenden
Cluster an, also den grten Abstand innerhalb des Clusters nach der Vereinigung. Daher
werden in der Iteration in Algorithmus 14.3 immer die beiden Cluster verschmolzen, die als
Ergebnis den kompaktesten Cluster ergeben. Ausreier unter den Daten werden bei dieser
306
14.5 Agglomerative hierarchische Clusterverfahren
Vorgehensweise allerdings erst sehr spt in andere Cluster integriert. Das mag Vorteile
haben, kann aber auch zu Verzerrungen und zu Problemen beim Ergebnis fhren.
Bercksichtigt man im Distanzma fr Cluster alle Abstnde, die zwischen den Doku-
menten zweier Clustern auftreten, so gelangt man zum Mittelwert-Verfahren. Hier ergibt
sich der Abstand der Cluster aus dem Mittelwert aller Dokumentabstnde ber Cluster-
grenzen hinweg:

Mittelwert
(
1
,
2
) =
1
[
1
[ [
2
[

d
i

d
j

2
dist(d
i
, d
j
)
Abbildung 14.13 stellt das ganze wieder bildlich dar. Es werden aller Abstnde zwischen
den Clustern bercksichtigt. In diesem Fall heit das, es werden alle mglichen Dokument-
paare betrachtet, bei denen ein Dokument aus dem roten und eines aus dem blauen Cluster
stammt.
Abbildung 14.13: Mittelwert-Verfahren: Der mittlere Abstand zwischen allen Dokumenten
aus den beiden Clustern deniert deren Abstand.
Gelegentlich wird das Mittelwert-Verfahren auch als Zentroid-Abstand bezeichnet, da
es bei einer Vektordarstellung der Daten und einer Abstandsberechnung zwischen den
Datenpunkten auf der Basis eines Skalarproduktes
8
quivalent ist zur Bestimmung des
Abstands der Zentroiden der beiden Cluster:
1
[
1
[ [
2
[

d
i

d
j

2
dist(

d
i
,

d
j
) = dist
_
_
1
[
1
[

d
i

d
i
,
1
[
2
[

d
j

d
j
_
_
Eine Besonderheit des Mittelwert Verfahrens ist auch, dass die Abstnde zwischen den
Clustern nicht stetig zunehmen. Dadurch, dass sich die Zentroiden und somit die Berech-
nungsgrundlage fr die Abstnde in jedem Iterationsschritt ndern, kann es vorkommen,
dass im nchsten Schritt pltzlich kleinere Abstnde zwischen Clustern auftreten. Abbil-
dung 14.14 verdeutlicht, wie es dazu kommen kann. Werden die Dokumente B und C zu
einem Cluster zusammengefasst, so liegt deren Zentroid nher an A als zuvor B oder C
einzeln.
8
Wie beispielsweise beim euklidischen Abstandsma oder dem Cosinusma fr hnlichkeiten.
307
14 Clusteranalyse auf Texten
Abbildung 14.14: Abstnde zwischen den Clustern knnen beim Mittelwertverfahren durch
die Verlagerung des Zentroiden auch schrumpfen.
Sehr hnlich zum Mittelwert Ansatz fr die Abstandsbestimmung von Clustern ist auch
die sogenannte Ward-Methode, gelegentlich auch als Group Average Abstand bezeichnet.
Hier wird der Mittelwert der Abstnde zwischen allen involvierten Dokumenten berechnet,
d.h. auch ber den Dokumentprchen die komplett innerhalb eines der beiden verglichenen
Clusters liegen:

Ward
(
1
,
2
) =
1
([
1
[ +[
2
[) ([
1
[ +[
2
[ 1)

d
i

d
j

2
,d
i
=d
j
dist(d
i
, d
j
)
Auch dieses Verfahren kann man bildlich darstellen. Abbildung 14.15 zeigt, dass wirklich
alle Dokumentabstnde in die Abstandsberechnung zwischen den Clustern einieen. Im
Gegensatz zu den bisherigen Anstzen werden hier auch Abstnde zwischen Dokumenten
berechnet, die alle aus dem roten Cluster oder alle aus dem blauen Cluster stammen.
Abbildung 14.15: Ward-Methode: Der mittlere Abstand zwischen allen Dokumenten de-
niert den Abstand zwischen den Clustern.
Man kann die Ward Methode auch so interpretieren, dass der mittlere Dokumentabstand
in einem Cluster berechnet wird, der sich beim Verschmelzen der verglichenen Cluster
ergeben wrde.
308
14.6 Zusammenfassung
Agglomeratives Clustern
Beim agglomerativen Clustern spielt die Bestimmung von Abstnden zwischen Do-
kumentpaaren eine groe Rolle, um die Abstnde einzelner Cluster zu berechnen.
Da anfangs jedes Dokument einen eigenen Cluster deniert, muss auch wirklich fr
alle Dokumentpaare der Abstand berechnet werden. Daher kann man zunchst die
Abstandsmatrix zwischen den Dokumenten berechnen, wie sie beispielsweise in Ab-
bildung 14.3 auf Seite 284 grasch dargestellt wurde.
In der Ausgangssituation, mit 30 Clustern zu den 30 Dokumenten sind die vier vor-
gestellten Abstandsmae fr die Cluster gleichwertig. Sie reduzieren sich darauf, jene
beiden Dokumente zu einem Cluster zusammenzufhren, die den geringsten Abstand
aufweisen. In unserem Fall sind dies die Dokumente d
3
und d
9
mit einem Abstand von
0,372. Auch bei den nchsten paar Zusammenlegungen von Clustern herrscht in unse-
rem Standardbeispiel noch relativ groe bereinstimmung zwischen den Single-Link,
Complete-Link, Mittelwert-Verfahren und der Ward-Methode.
Die Dendrogramme in Abbildung 14.16 machen jedoch deutlich, dass dann immer
strkere Unterschiede auftreten. Die Dokumente in den Blttern sind zur besseren
Verstndlichkeit gem den Kategorien aus dem Goldstandard farblich markiert.
Ein generelles Problem bei den hierarchischen Clusterverfahren ist der Aufwand zu deren
Berechnung. Im Endeekt muss fr diese Verfahren zumindest die komplette Abstandsma-
trix ber allen Dokumenten bestimmt werden. Allein das fhrt schon zu quadratischem
Aufwand bezglich der Anzahl der zu clusternden Dokumente. Darber hinaus mssen
diese Abstnde in der Iteration je nach Abstandsberechnung zwischen den Clustern aggre-
giert, bzw. nach minimalen oder maximalen Werten durchsucht werden.
Der quadratische Aufwand beschrnkt den Einsatz der agglomerativen Clusterverfahren
hinsichtlich der Zahl der zu analysierenden Dokumente. Ihr Reiz liegt vor allem in der
ausgeprgteren Struktur der erzeugten hierarchischen Cluster.
14.6 Zusammenfassung
Neben den hier vorgestellten Clusterverfahren gibt es noch viele mehr. Neben den ausge-
lassenen unterteilendem hierarchischen Verfahren gibt es auch Anstze die unterschiedliche
Datendichten erkennen, oder den Expectation Maximization (EM) Ansatz, der auf der Basis
von Wahrscheinlichkeitsverteilungen weiche Cluster erzeugt.
In die gleiche Richtung wie die Clusteranalyse geht auch die sogenannte Latent Seman-
tische Analyse (LSA). Hier wird die Term-Dokumentmatrix der Eingabedaten zerlegt um
versteckte Konzepte oder Themen zu entdecken die nicht direkt einzelnen Termen entspre-
chen. Somit lassen sich auch mit Hilfe der LSA Cluster von inhaltlich zusammengehrigen
Dokumenten erzeugen.
309
14 Clusteranalyse auf Texten
d
20
d
2
d
23
d
29
d
6
d
16
d
4
d
8
d
26
d
11
d
18
d
19
d
15
d
13
d
17
d
12
d
14
d
1
d
7
d
5
d
10
d
3
d
9
d
25
d
24
d
28
d
22
d
30
d
21
d
27
(a) Single-Link
d
25
d
24
d
28
d
22
d
30
d
21
d
27
d
19
d
26
d
11
d
18
d
6
d
16
d
4
d
8
d
5
d
10
d
3
d
9
d
2
d
1
d
7
d
13
d
15
d
17
d
12
d
14
d
20
d
23
d
29
(b) Complete-Link
d
26
d
20
d
23
d
29
d
25
d
24
d
28
d
22
d
30
d
21
d
27
d
16
d
4
d
8
d
6
d
11
d
18
d
19
d
13
d
15
d
17
d
12
d
14
d
2
d
1
d
7
d
5
d
10
d
3
d
9
(c) Mittelwert-Verfahren
d
2
d
19
d
13
d
15
d
17
d
12
d
14
d
26
d
11
d
18
d
6
d
16
d
4
d
8
d
25
d
24
d
28
d
22
d
30
d
21
d
27
d
20
d
23
d
29
d
5
d
10
d
3
d
9
d
1
d
7
(d) Ward-Methode
Abbildung 14.16: Dendrogramme zu unterschiedlich berechneten hierarchischen Clustern.
310
Abbildungsverzeichnis
1.1 Die Online Schnittstelle zum Katalog der Universittsbibliothek Mainz. . . 2
1.2 Startseite zu Google IR Systeme sind alltglich geworden. . . . . . . . . 2
1.3 Startseite des Open Directory Projects DMOZ. . . . . . . . . . . . . . . . . 3
1.4 Desktop Suche (Ubuntu Linux). . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Abstraktes Modell der Funktionsweise eines IR Systems [Fuh06]. . . . . . . 15
1.6 Schematischer Aufbau eines IR Systems. . . . . . . . . . . . . . . . . . . . 16
2.1 Eine einfache Posting Liste. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2 Aufbau eines invertierten Index aus Dokumenten. . . . . . . . . . . . . . . 29
2.3 Aufbau eines invertierten Index aus Suchbaum fr die Terme und den ange-
hngten Posting Listen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4 Die Posting Liste zum Term Retrieval entspricht auch dem Suchergebnis
nach diesem Begri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5 Die Posting Listen der Terme Daten und Retrieval. . . . . . . . . . . . 31
2.6 Aufbau der Ergebnisliste zu Daten und Retrieval mit zwei Zeigern ... . . 31
2.7 ... die Zeiger suchen gemeinsame Eintrge ... . . . . . . . . . . . . . . . . . 31
2.8 ... bis keine weiteren Eintrge mehr enthalten sind. . . . . . . . . . . . . . 32
2.9 Ergebnis nach dem Zusammenfhren zweier Listen bei einer oder-Abfrage. 33
2.10 Abarbeiten mehrfach verknpfter Suchterme am Beispiel von (Information
und Retrieval) oder (Document und Retrieval) . . . . . . . . . . . . . 35
2.11 Posting Listen zu Information, Retrieval und befriedigt . . . . . . . 35
2.12 Invertierter Index mit Speicherung der Dokumentfrequenz zu den Termen. 36
2.13 Erstellung der Bigramme ber einer Termsequenz. . . . . . . . . . . . . . . 37
2.14 Posting Liste mit Positionseintrgen. . . . . . . . . . . . . . . . . . . . . . 38
2.15 Invertierter Index mit Dokumentfrequenz und Angabe der Positionen in den
Posting Eintrgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.16 Naive Stringsuche in einer Zeichenkette. . . . . . . . . . . . . . . . . . . . 41
2.17 Bestimmung des Verschiebeindex zum Suchmuster im Boyer-Moore Algo-
rithmus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.18 Stringsuche nach Boyer-Moore. . . . . . . . . . . . . . . . . . . . . . . . . 42
3.1 Fehlerhafte Segmentierung an Satzendezeichen. . . . . . . . . . . . . . . . 46
3.2 Mglichkeiten der Tokenisierung eines einfachen Satzes. . . . . . . . . . . . 47
3.3 Luhns Darstellung zur Auswahl ausdruckskrftiger Terme. . . . . . . . . . 50
3.4 Bestimmung der passenden Terme zu Knote. . . . . . . . . . . . . . . . 54
311
Abbildungsverzeichnis
3.5 Permuterm Index Eintrge zu hut. . . . . . . . . . . . . . . . . . . . . . 54
3.6 Permuterm Index mit Eintrgen zu drei Termen. . . . . . . . . . . . . . . . 55
3.7 Erstellung der 3-Gramme zum Term Hand. . . . . . . . . . . . . . . . . . 56
3.8 k-Gramm Index mit Referenzen auf die Terme Band, Bank, Bund und
Hand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.9 Rechtschreibkorrektur bei Google. . . . . . . . . . . . . . . . . . . . . . . . 59
4.1 Zonenindex mit Vokabulareintrgen zu jeder Ausprgung eines Terms. . . 65
4.2 Vermerk der Zone in den Posting Eintrgen. . . . . . . . . . . . . . . . . . 65
4.3 Webdokument in der Browseransicht. . . . . . . . . . . . . . . . . . . . . . 69
4.4 Ausschnitt aus dem zusammengefassten HTML Quellcode mit Zonen. . . . 70
4.5 Zweidimensionale Darstellung der Kombinationsmglichkeiten fr das Auf-
treten zweier Terme in einem Dokument. . . . . . . . . . . . . . . . . . . . 71
4.6 Geometrische Interpretation von Dokumenten mit Termgewichten fr erwei-
tertes boolsches Retrieval. Auf den Kreisausschnitten liegen jeweils Doku-
mente mit gleichem Retrievalwert fr eine mit UND verknpfte Anfrage (a),
bzw. fr eine mit ODER verknpfte Anfrage (b). . . . . . . . . . . . . . . 75
5.1 Dokument- und Anfragevektoren im Vektorraum. . . . . . . . . . . . . . . 78
5.2 Globale Gewichte mit normaler (a) und logarithmierter (b) inverse document
frequency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.3 Invertierter Index mit Angabe der Dokumentfrequenz und Termfrequenz. . 87
5.4 Isolinien Diagramme fr unterschiedliche hnlichkeitsmae, wie in [Fer03]
und [JF87]. Die Farben markieren Bereiche, in denen die Mae im zweidi-
mensionalen Fall hnliche Werte annehmen. . . . . . . . . . . . . . . . . . 92
6.1 Pooling Verfahren zur Evaluation von IR Systemen ber groen Korpora. . 101
6.2 Lage der Ergebnismenge A und des Goldstandards G im Korpus D. . . . . 102
6.3 Precision-Recall Graph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.4 Eleven Point Precision-Recall Graph. . . . . . . . . . . . . . . . . . . . . . 110
6.5 Teilmenge U der dem Nutzer bekannten relevanten Dokumente. . . . . . . 112
8.1 Ablauf der Kommunikation zwischen Client und Server ber HTTP. . . . . 132
8.2 Bestandteile eines Web-Crawlers. . . . . . . . . . . . . . . . . . . . . . . . 138
9.1 Graphdarstellung zweier Seiten die ber einen Hyperlink verbunden sind. . 145
9.2 Webgraph mit mehreren Seiten. . . . . . . . . . . . . . . . . . . . . . . . . 146
9.3 Ein etwas grerer Webgraph auf dem der Random Surfer zufllig Seiten
besucht. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
9.4 ber Teleports kommt der Random Surfer auch aus Kreislufen heraus. . . 148
9.5 Webgraph mit Darstellung der PageRank-Werte ber Farbhelligkeit und
Knotengre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
9.6 Webgraph mit Darstellung der HITS Authority-Werte ber Farbhelligkeit
und Knotengre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
312
Abbildungsverzeichnis
9.7 Webgraph mit Darstellung der HITS Hub-Werte ber Farbhelligkeit und
Knotengre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
9.8 Fr HITS wird eine Startmenge mit Dokumenten (gelb) um alle Dokumente
erweitert die diese referenzieren (blau) oder von diesen referenziert werden
(orange). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.1 Flussdiagramm fr ein einfaches Suchmodell des Nutzers. . . . . . . . . . . 162
10.2 Matching der Abstraktion von Dokument und Anfrage in IR Systemen. Das
Informationsbedrfnis bleibt fest (aus [Bat89]). . . . . . . . . . . . . . . . 162
10.3 Ein Suchpfad im Berrypicking Modell. . . . . . . . . . . . . . . . . . . . . 164
10.4 Die Standardbenutzerschnittstelle bei Google. . . . . . . . . . . . . . . . . 167
10.5 Experten und erfahrene Nutzer knnen weitere Parameter einstellen. . . . . 168
10.6 Matrix des Forschungsstandes bezglich Untersttzungsebene fr welche
Aktionsebene (gem [Bat90]) . . . . . . . . . . . . . . . . . . . . . . . . . 169
10.7 Interface der Quintura Suchmaschine. . . . . . . . . . . . . . . . . . . . . . 170
10.8 Snap liefert eine Vorschau zu gefundene Dokumenten. . . . . . . . . . . . . 171
10.9 Clusty gruppiert die gefundenen Treer und liefert einen berblick ber
diese Gruppen auf der linken Seite. . . . . . . . . . . . . . . . . . . . . . . 172
10.10Ausfhrliche Treer der Suchterme in den Dokumenten bei Factbites. . . . 173
10.11Explorative Suche mit Gedchtnis (aus [Cam00]) . . . . . . . . . . . . . . . 174
10.12Document Word Clouds: Wichtige Begrie im linken Dokument werden
rechts grer dargestellt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
12.1 Google Bildersuche nach sailing boat (a) und segelboot (b). . . . . . . 192
12.2 bersetzung der Anfragen in die Sprache der Dokumente. . . . . . . . . . . 194
12.3 bersetzung der Dokumente in die Sprache der Anfrage. . . . . . . . . . . 195
12.4 bersetzung sowohl der Anfragen als auch der Dokumente. . . . . . . . . . 196
12.5 Explizite Semantische Analyse: Dokumente werden auf gemeinsame hn-
lichkeiten zu abstrakten Konzepten verglichen. . . . . . . . . . . . . . . . . 202
12.6 ESA auf Wikipedia Basis: Vergleich zweier Dokumente ber deren Ver-
wandtschaft zu Konzeptdokumenten. . . . . . . . . . . . . . . . . . . . . . 204
12.7 CL-ESA: Die Konzepte werden durch verknpfte Artikel in verschiedenspra-
chigen Wikipedias dargestellt. . . . . . . . . . . . . . . . . . . . . . . . . . 205
13.1 Textklassikation: Ein Dokument d muss einer oder mehreren Kategorien
inhaltlich zugeordnet werden. . . . . . . . . . . . . . . . . . . . . . . . . . 211
13.2 Veranschaulichung des Overttingproblems. . . . . . . . . . . . . . . . . . 215
13.3 Ausschnitt der Sphre auf der die Dokumentreprsentationen im dreidimen-
sionalen Vektorraum mit normierten TF-IDF Gewichten liegen. . . . . . . 249
13.4 Projektion der Punkte vom Sphrenausschnitt auf eine Hyperebene (hier als
orange Gerade im 2D Fall). . . . . . . . . . . . . . . . . . . . . . . . . . . 250
13.5 Projektionsebene fr den dreidimensionalen Fall . . . . . . . . . . . . . . . 250
313
Abbildungsverzeichnis
13.6 Annahme bei Vektorraumklassikation: Die Dokumente der Kategorien lie-
gen jeweils rumlich nahe bei einander. . . . . . . . . . . . . . . . . . . . . 251
13.7 Zentroiden berechnen sich als Mittelwert der Trainingsdokumentvektoren. . 252
13.8 Dokumente werden der Kategorie zugeordnet, deren Zentroid am nchsten
liegt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
13.9 Die Trennlinie zwischen zwei Kategorien ist ein Gerade. . . . . . . . . . . . 255
13.10Voronoi Diagramm zu den Zentroiden. . . . . . . . . . . . . . . . . . . . . 256
13.11Voronoi Diagramm zu den Zentroiden. . . . . . . . . . . . . . . . . . . . . 257
13.12Voronoizerlegung bei 1NN Klassikation. . . . . . . . . . . . . . . . . . . . 260
13.13Eine Gerade trennt die Beispieldokumente aus den beiden Klassen . . . . . 261
13.14Hyperebene mit senkrechtem Vektor w. . . . . . . . . . . . . . . . . . . . . 262
13.15Anordnung der Dokumentvektoren im Raum. . . . . . . . . . . . . . . . . 265
13.16Vom Perzeptron erlernte Hyperebene nach dem ersten Trainingsschritt. . . 266
13.17Ergebnis des Perzeptron Algorithmus: Die Hyperebene trennt die beiden
Klassen voneinander ab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
13.18Mehrere Mglichkeiten die Trainingsbeispiele durch eine Hyperebene zu
trennen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
13.19Eine trennende Hyperebene mit groem Abstand zu allen Datenpunkten. . 270
13.20Trennende Hyperebene mit maximalem Abstand zu den Trainingsbeispielen. 273
13.21Trainingsdaten die nicht linear separierbar sind. . . . . . . . . . . . . . . . 273
13.22Abbildung der Punkte in (a) in einen anderen Vektorraum, wo sie linear
separierbar sind (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
14.1 Die Daten in (a) knnen in unterschiedliche viele Cluster aufgeteilt werden.
Hier ist angedeutet, wie eine Zerlegung in zwei (b), vier (c) oder sogar sechs
Cluster (d) aussehen knnte. . . . . . . . . . . . . . . . . . . . . . . . . . . 280
14.2 Dendrogramme (a) und Venn-Diagramme (b) eignen sich zur Darstellungen
hierarchischer Clusterstrukturen. . . . . . . . . . . . . . . . . . . . . . . . 282
14.3 Grasche Darstellung der Abstandmatrix fr die 30 Dokumente. . . . . . . 284
14.4 Unterschiedliche Reihenfolgen beim Durchlaufen der Daten erzeugen im
Single-Pass Verfahren unterschiedliche Cluster. Werden die Punkte wie in
(a) bis (c) gezeigt in der Abfolge B, A und C durchlaufen sieht das Ergebnis
anders aus als bei Verwendung der Reihenfolge A, C, B in den Bildern (d)
bis (f). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
14.5 Bei ungnstiger Lage der Daten bewegt sich der Zentroid zu weit weg vom
Anfangspunkt, so dass Dokument A auerhalb des vorgegebenen Radius um
den Zentroid liegt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
14.6 Entwicklung der Cluster und Reprsentanten in K-Means von (a) nach (d). 298
14.7 Whrend die Startkonguration in (a) zu einem nachvollziehbaren Ergebnis
fhrt, liefert (b) eine wenig sinnvolle Endkonguration. . . . . . . . . . . . 302
14.8 Eine Konguration von drei Clustern, die in K-Means im nchsten Schritt
zu einem leeren Cluster fhrt. . . . . . . . . . . . . . . . . . . . . . . . . . 302
314
Abbildungsverzeichnis
14.9 Zwei Clusterformen, die mit K-Means nicht zu erkennen sind. . . . . . . . 303
14.10Single-Link: Der kleinste Abstand zwischen zwei Dokumenten deniert den
Cluster Abstand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
14.11Die wenigen Datenpunkte zwischen den Clustern fhren bei Single Link zum
Chaining Eekt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
14.12Complete-Link: Der grte Abstand zwischen zwei Dokumenten deniert
den Cluster Abstand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
14.13Mittelwert-Verfahren: Der mittlere Abstand zwischen allen Dokumenten aus
den beiden Clustern deniert deren Abstand. . . . . . . . . . . . . . . . . . 307
14.14Abstnde zwischen den Clustern knnen beim Mittelwertverfahren durch
die Verlagerung des Zentroiden auch schrumpfen. . . . . . . . . . . . . . . 308
14.15Ward-Methode: Der mittlere Abstand zwischen allen Dokumenten deniert
den Abstand zwischen den Clustern. . . . . . . . . . . . . . . . . . . . . . 308
14.16Dendrogramme zu unterschiedlich berechneten hierarchischen Clustern. . . 310
315
Abbildungsverzeichnis
316
Tabellenverzeichnis
1.1 Abgrenzung zwischen Data Retrieval und Information Retrieval nach van
Rsbergen [VR79] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.1 Nomenklatur im SMART System . . . . . . . . . . . . . . . . . . . . . . . 90
6.1 Kleine Testkorpora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.2 Confusion Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.1 Wertebereiche der HTTP-Statuscodes . . . . . . . . . . . . . . . . . . . . . 134
13.1 Confusion Matrix fr die Ergebnisse binrer Klassikation. . . . . . . . . . 216
13.2 Confusion Matrix fr die Ergebnisse einer Mehrklassen-Klassikation. . . . 216
13.3 Beispieldaten fr Klassikationsaufgaben. . . . . . . . . . . . . . . . . . . 222
13.4 Hugkeiten der Terme in den einzelnen Kategorien . . . . . . . . . . . . . 239
13.5 Wahrscheinlichkeiten fr die Terme in den einzelnen Kategorien. . . . . . . 240
13.6 Anzahl der Trainingsdokumente in den Kategorien die bestimmte Terme
enthalten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
13.7 Wahrscheinlichkeitsschtzung fr Bernoulli NB Klassikator. . . . . . . . . 243
13.8 Normierte TF-IDF Vektoren zu den Dokumenten aus Tabelle 13.3. . . . . . 253
13.9 Abstnde der Trainingsvektoren zu den Dokumenten da und db . . . . . . 258
317
Tabellenverzeichnis
318
Liste der Algorithmen
2.1 Zusammenfhren der gemeinsamen Eintrge zweier Posting Listen. . . . . . 32
2.2 Zusammenfhren aller Eintrge zweier Posting Listen. . . . . . . . . . . . . 34
13.1 Sequential Covering Algorithmus zum Erlernen von Klassikationsregeln. . . 227
13.2 Lernverfahren des Perzeptron . . . . . . . . . . . . . . . . . . . . . . . . . . 264
13.3 Duale Form des Perzeptrons . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
14.1 Single-Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
14.2 K-Means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
14.3 Agglomeratives hierarchisches Clustern . . . . . . . . . . . . . . . . . . . . . 305
319
LISTE DER ALGORITHMEN
320
Literaturverzeichnis
[AGAV09] Enrique Amig, Julio Gonzalo, Javier Artiles, and Felisa Verdejo. A comparison
of extrinsic clustering evaluation metrics based on formal constraints. Inf. Retr.,
12(4):461486, 2009.
[Aus01] Brice Austin. Mooers law: In and out of context. Journal of the American
Society for Information Science and Technology, 25(8):607609, Jun 2001.
[Bat89] Marcia J. Bates. The design of browsing and berrypicking techniques for the
online search interface. Online Review, 13:407424, 1989.
[Bat90] Marcia J. Bates. Where should the person stop and the information search
interface start? Information Processing and Management, 26(5):575591, 1990.
[Bel82] Nicholas J. Belkin. Ask for information retrieval: Part i, background and theory.
The Journal of Documentation, 38(2):6171, 1982.
[BP98] Sergey Brin and Lawrence Page. The anatomy of a large-scale hypertextual
Web search engine. Comput. Netw. ISDN Syst., 30(1-7):107117, 1998.
[Bus45] Vannevar Bush. As we may think. Atlantic Monthly, 176:101108, 1945.
[BV04] Chris Buckley and Ellen M. Voorhees. Retrieval evaluation with incomplete
information. In SIGIR04 Proceedings, pages 2532, 2004.
[BYRN99] Ricardo Baeza-Yates and Berthier Ribeiro-Neto. Modern Information Retrieval.
ACM Press, 1999.
[Cam00] Iain Campbell. Interactive evaluation of the ostensive model using a new test
collection of images with multiple relevance assessments. Information Retrieval,
2(1):89114, 2000.
[CLEF09] Homepage Cross Language Evaluation Forum. http://clef-campaign.org/, Oct
2009. Zugri: 5. Oktober 2009.
[CST00] Nello Christianini and John Shawe-Taylor. Support Vector Machines. Cam-
bridge University Press, 2000.
[Dam09] Holger Dambeck. Lsung fr packprobleme - rein, rein, rein! Spiegel Online
http://www.spiegel.de/wissenschaft/mensch/0,1518,614112,00.html, mar 2009.
Zugri 30. Mrz 2009.
321
Literaturverzeichnis
[Fer03] Reginald Ferber. Information Retrieval Suchmodelle und Data-Mining-
Verfahren fr Textsammlungen und das Web. dpunkt.verlag GmbH, Heidel-
berg, 2003.
[FGM
+
99] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, and
T. Berners-Lee. Hypertext transfer protocol HTTP/1.1. RFC 2616, June
1999.
[fI09] Fachgruppe Information Retrieval Gesellschaft fr Informatik. http://www.uni-
hildesheim.de/fgir, Mar 2009. Zugri: 13. Mrz 2009.
[For96] Otto Forster. Analysis 2. Vieweg, 1996.
[Fuh06] Norbert Fuhr. Information Retrieval, Skriptum zu Vorlesung. Uni Duisburg-
Essen, 2006.
[GL10] Thomas Gottron and Nedim Lipka. A comparison of language identication
approaches on short, query-style texts. In ECIR 10: Proceedings of the 32nd
European Conference on Information Retrieval, pages 611614, 2010.
[Gl03] Michael Glggler. Suchmaschinen im Internet. Springer-Verlag, Berlin, 2003.
[GM07] Evgeniy Gabrilovich and Shaul Markovitch. Computing semantic relatedness
using wikipedia-based explicit semantic analysis. In Manuela M. Veloso, edi-
tor, CAI 2007, Proceedings of the 20th International Joint Conference on
Articial Intelligence, Hyderabad, India, January 6-12, 2007, pages 16061611,
2007.
[Got09] Thomas Gottron. Document word clouds: Visualising web documents as tag
clouds to aid users in relevance decisions. In ECDL09: Proceedings of the 13th
European Conference on Digital Libraries, pages 94105, 2009.
[Hen08] Andreas Henrich. Information Retrieval 1 - Grundlagen, Model le und Anwen-
dungen, Vorlesungsskript. Otto-Friedrich-Universitt Bamberg, 2008.
[HQW06] Gerhard Heyer, Uwe Quastho, and Thomas Wittig. Text Mining: Wissens-
rohsto Text. W3L, Bochum, 2006.
[JF87] William P. Jones and George W. Furnas. Pictures of relevance: A geometric
analysis of similarity measures. Journal of the American Society for Information
Science, 38:420442, 1987.
[Kle98] Jon M. Kleinberg. Authoritative sources in a hyperlinked environment. In SO-
DA 98: Proceedings of the ninth Annual ACM-SIAM Symposium on Discrete
algorithms, pages 668677, Philadelphia, PA, USA, 1998. Society for Industrial
and Applied Mathematics.
322
Literaturverzeichnis
[KS04] Moshe Koppel and Jonathan Schler. Authorship verication as a one-class clas-
sication problem. In ICML 04: Proceedings of the twenty-rst international
conference on Machine learning, pages 489495, New York, NY, USA, 2004.
ACM.
[Lan67] Frederic Wilfrid Lancaster. Information Retrieval Systems: Characteristics,
Testing and Evaluation. Wiley, New York, 1967.
[Lev65] Vladimir I. Levenshtein. Binary codes capable of correcting deletions, inserti-
ons, and reversals. Doklady Akademii Nauk SSSR, 163(4):845848, 1965.
[Luh58] Hans Peter Luhn. The automatic creation of literatur abstracts. IBM Journal,
April:159165, 1958.
[MRS08] Christopher D. Manning, Prabhakar Raghavan, and Hinrich Schtze. Introduc-
tion to Information Retrieval. Cambridge University Press, 2008.
[MyS07] MySQL AB. MySQL 5.1 Reference Manual, August 2007.
[NP09] Homepage NTCIR Project. http://research.nii.ac.jp/ntcir/, Oct 2009. Zugri:
5. Oktober 2009.
[Por80] Martin F. Porter. An algorithm for sux stripping. Program, 14(3):130137,
July 1980.
[PS05] Gautam Pant and Padmini Srinivasan. Learning to Crawl: Comparing Classi-
cation Schemes. ACM Trans. Inf. Syst., 23(4):430462, 2005.
[PSA08] Martin Potthast, Benno Stein, and Maik Anderka. A wikipedia-based multilin-
gual retrieval model. In ECIR 08: Proceedings of the 30th European Conference
on Information Retrieval, pages 522530. Springer, March 2008.
[Ran07] Default english stopwords, googles stopwords list.
http://www.ranks.nl/tools/stopwords.html, 2007. (9. August 2007).
[Rel09] Hitwise Press Releases. Google stays at 72 percent of u.s. searches in february
2009. http://www.hitwise.com/press-center/hitwiseHS2004/google-searches-
feb-09.php, feb 2009. Zugri 30. Mrz 2009.
[RHJ99] Dave Raggett, Arnaud Le Hors, and Ian Jacobs. HTML 4.01 Specication.
W3C Recommendation, December 1999.
[Rob08] Stephen Robertson. On the history of evaluation in ir. Journal of Information
Science, 34(4):439456, 2008.
[Ros58] Frank Rosenblatt. The perceptron: a probabilistic model for information storage
and organization of the brain. Psychological Review, 65(6):386408, 1958.
323
Literaturverzeichnis
[Sch04] Ben Schott. Schotts Sammelsurium. Bloomsbury, 2004.
[SFW83] Gerard Salton, Edward A. Fox, and Harry Wu. Extended boolean information
retrieval. Commun. ACM, 26(11):10221036, 1983.
[TRC09] Homepage Text REtrieval Conference. http://trec.nist.gov/, Oct 2009. Zugri:
14. Oktober 2009.
[TSK06] Pang-Ning Tan, Michael Steinbach, and Vopon Kumar. Introduction to Data
Mining. Addison Wesley, 2006.
[VR79] C. J. Van Rsbergen. Information Retrieval. Butterworths, 2nd edition, 1979.
[W3C07] XHTML 1.1 - module-based XHTML - second edition. W3C Recommendation,
February 2007.
[W3C08] HTML 5 Working Draft. W3C Working Draft, January 2008.
[Wei95] Eric Weiss. Calvin Mooers (1919-1994) biography. IEEE Annals of the History
of Computing, 17(2):7981, 1995.
[WF00] Ian H. Witten and Eibe Frank. Data Mining. Morgan Kaufmann Publishers,
1st edition, 2000.
324
Index
F
1
, 216, 287
F

-Ma, 105
K, 275
R-Precision, 108
, 273
, 211
-Funktion, 214
df(t), 34
tf
d
(t), 38
k-fold cross-validation, 218
s Token, 180
hnlichkeitsma, 78, 279
bersetzungsprogramm, 194
bertrainieren, 214
berwachtes Lernen, 214
und, Schlsselwort, 20
but, Schlsselwort, 35
near, Schlsselwort, 38
nicht, Schlsselwort, 20
nicht-Suche, 35
oder, Schlsselwort, 20
oder-Suche, 32
und-Suche, 30
Foils Information Gain, 225
stop Token, 177
learnRule, 227
10-times 10-fold cross-validation, 219
Abfrage, 23
Abkrzungen, 46
Abstandsma, 245, 279
Abstraktionsebenen, 162
Accuracy, 104, 216
Ad Hoc Anfragen, 13
Ad Hoc Retrieval, 102
agglomerative Clusterverfahren, 304
agglomeratives Clustern, 281
agreements, 289
Akkumulator, 188
Akkumulatoren, 86
aligned corpus, 193
Anfhrungszeichen, 48
Anfragen, 16
Angrenzende Gebiete, 14
Animationen, 12
Ankertexte, 145
Annotation, 214
anomalous states of knowledge, 163
Apostrophe, 48
ASK, 163
Audioarchive, 12
Aufbau, IR System, 14
Aufgaben (IR), 12
Ausgangsgrad, 146
ausgehende Kanten, 146
ausgerichteter Korpus, 193
Aussagekraft von Termen, 50
ausschpfende Regeln, 220
Authority, 153
Bag of Words, 77
Beam-Search, 235
bedingte Wahrscheinlichkeit, 115
Ben Schott, 8
Bernoulli NB, 241
Berrypicking, 163
Bewegungsablufe, 12
Bias, 262
325
Index
Bibliotheken, 1
Bibliotheksrecherche, 5
Bibliothekswissensschaften, 14
Bigramm, 37, 180
Bigramm Index, 37
Bildarchive, 12
Bilinguales CLIR, 193
BIM, 115, 180
binre Klassikation, 215
binre Textklassikation, 212
Binary Independence Modell, 115
Bindestriche, 48
Blacklist, 139
Blog, 137
BM25, 123
boolsches IR, 19
Boyer-Moore Algorithmus, 40
bpref, 111
Break-Even-Point, 109
Browsing, 166
Brushing, 167
Bush, Vannevar, 12
Calvin Mooers, 5
Cascading Style Sheets, 137
Case Folding, 51
Chaining-Eekt, 305
Champion Listen, 96
Checker, 139
CL-ESA, 203
CLEF, 193
Client, 132
CLIR, 13, 191
Cloaking, 143
Cluster Analyse, 13
Cluster Analysen, 79
Clusteranalyse, 279
Clusterfunktion , 279
Clusty, 172, 282
collection frequency, 49
Complete-Link, 305
compound splitter, 48
Confusion Matrix, 103, 216
cosine similarity, 84
Cosinus-Ma, 84
Cosinusma, 202
Coverage, 221
coverage, 112
Craneld Paradigma, 193
Craneld Paradigma, 100
Crawler, 137
Crawler-Politeness, 140
Crawler-Traps, 141
Crawlerkomponenten, 138
Cross Language Information Retrieval, 191
Cross Language IR, 13
cross-validation, 218
CSS, 137
Cyril Cleverdon, 100
Darstellung, 9
Data Mining, 14
Data Retrieval, 10
Daten, 7
Datenbanksysteme, 14
Datensammlung, 9
DDC, 64
Deep-Web, 142
Dendrogramm, 281
Desktopsuchmaschinen, 3
Dice-Ma, 91
dierent-dierent, 289
dierent-same, 289
disagreements, 289
Disambiguierung, 52
DMOZ, 1, 3
Document Word Clouds, 173
Document Retrieval, 9
document-at-a-time, 88
Dokument, 12
Dokumentbeschreibung, 16
Dokumentbeschreibungen, 19
Dokumenten-ID, 28
Dokumentformate, 44
326
Index
Dokumentfrequenz, 34
Dokumentfrequenzen, 38
Dokumentreprsentation, boolsches IR, 22
Dokumentsammlung, 15
Doorway Seiten, 143
Dreiecksungleichung, 246
duale Form, Perzeptron, 268
duale Form, SVM, 271
Dublin Core, 64
Dunn-Index, 283
Duplikaterkennung, 13
Ebenen Systemuntersttzung, 168
Ebenen, Nutzerinteraktion, 165
Eigennamen, 196
Eigenvektor, 150
Eigenwert, 150, 154
Eingangsgrad, 146
eingehende Kanten, 146
eleven-point average Precision-Recall, 109
EM, 309
Entitten (XML, HTML), 44
Enzyklopdie des nutzlosen Wissens, 8
Ergebnisdokumente, 21
Ergebnisliste, 17, 21
Ergebnismenge, 21
Error Rate, 217
erweiterter Ankertext, 145
Erweitertes Boolsches IR, 71
ESA, 201
euklidisches Lngenma, 83
Evaluation, 13, 99
Evaluation, Klassikation, 215
exhaustive, 220
Expectation Maximization, 309
Experte, 4
Expertennutzer, 167
Expertensuche, 9, 12
explicit semantic analysis, 201
Explizite Semantische Analyse, 191, 201
explorative Suche, 173
Extended Boolean Retrieval, 63
extrinsische Evaluationsmae, 283
F-Ma, 105
F1-Ma, 105
facettierte Retrievalfunktion, 65
Fachbuch, 5
Fachgruppe IR, 8
Factbites, 172
Faktensammlung, 7
Fallout, 103
false negativ, 216
false positiv, 216
Feedback, 17
Fehlertoleranz, 141
Filtering, 213
ache Clusterstrukturen, 281
ache Kategorien, 212
fokussierte Crawler, 212
Fragment, 135
Freiraumzeichen, 47
functional margin, 269
funktionaler Abstand, 269
Gatherer, 138
Gaussscher Kernel, 276
gefhrte Crawler, 212
Gerichtsurteile, 1
Gerichtsurteilen, 12
Gesellschaft fr Informatik, 8
GET, 133
gewichtete Retrievalfunktion, 66
gewichtetes boolsches IR, 93
gewichtets boolsches IR, 63
Gewichtsvektor, 262
globaler Gewichtungsfaktor, 80
Goldstandard, 102
Google, 1
Grammatik, 177
Greedy-Strategie, 228
grep, 39
Gro- und Kleinschreibung, 51
Group Average, 308
guided crawler, 212
327
Index
harmonisches Mittel, 105
hartes Clustern, 281
HEAD, 133
Header-Felder (HTTP), 133
Heapsches Gesetz, 49
Hidden-Web, 142
hierarchische Kategorien, 212
hierarchische Clusterstrukturen, 281
HITS, 153
Homonyme, 52
Horizont, 179
Host, 135
HTML, 68, 131, 136
HTML-Format, 146
HTTP, 131
HTTP-Nachricht, 132
Hub, 153
Hyperebene, 262
hyperlink-induced topic search, 153
Hyperlinks, 145
Hypertext IR, 12
Hypertext Markup Language, 131
Hypertext Transfer Protocol, 131
Hypertextsystem, 131
IDF, 80
IDF, theoretische Motivation, 122
Index, 5, 8
Index,invertierter, 28
Indizierung, 15, 44
Information, 7
information seeking, 4
Information Retrieval, 1, 8
information seeking, 10
Informations-Nachfragenden, 8
Informationsanfragen, 142
Informationsbedrfnis, 3, 9
Informationsextraktion, 12
Informationsobjekte, 9
Informationssysteme, 8, 10
informatives Feedback, 166
inhaltliche Suche, 8, 9
Inhaltsverzeichnis, 5, 8
interpolierte Precision, 109
Intersect, 30
Intersection, 32
intrinsische Evaluationsmae, 283
inverse document frequency, 80
invertierten Index, 183
invertierter Index, 28, 86
IP-Port, 135
IR, 1, 8
Jaccard Koezient, 289
Jaccard-Koezient, 59, 91
JavaScript, 137
Jelinek-Mercer Smoothing, 184
Jelinek-Mercer Smoothings, 197
Juror, 100
K Nearest Neighbour, 257
k-Gramm Index, 57
k-Gramme, 54
K-Means, 296
K-Median, 303
knstliche Intelligenz, 14
Kanten, 145
Kardinalitt, 280
Katalog, 1, 5
Katalogsystem, 1
Kategorien, 211
Kernel Funktion, 275
Kernel Trick, 275
Keyword Stung, 143
keywords in context, 166
KI, 14
Klammerung, Ausdrcke, 23
Klassen, 211
Klassikation, 13, 211
Klassikationsfunktion, 213
Klassikationsfunktion , 251
Klassikationsmodell, 214
Klassikator, 211
KNN, 257
Knoten, 145
328
Index
Kodierung, 44
Konzept, 201
Konzeptraum, 202
Korpus, 16, 21
Korrekturvorschlge, 10
Kreislauf, 148
KWIC, 166
Label, 214
Lagrange-Multiplikatoren, 271
Language Models, 191
Language Models, 177
Laplace-Ma, 224
Laplace-Smoothing, 224, 238, 241
Latent Semantische Analyse, 309
leere Cluster, 302
Leerzeichen, 47
Lemmatisierung, 51
Lernrate, 263
Levenshtein-Abstand, 58
Likelihood-Quotienten Test, 224
Linguistik, 14
Link Farmen, 144
Link-Spam, 144
Linking, 167
Literaturrecherche, 5
LM, 177, 197, 238
Loader, 138
Locationanfragen, 142
logische Operatoren, 19
logisches nicht, 20
logisches Komplement (but), 35
logisches oder, 20
logisches und, 20
lokaler Gewichtungsfaktor, 80
LSA, 309
Luhn, 49
Lupenfunktion, 167
Machine Learning, 214
Makromittelwert, 106
MAP, 110
Markow-Kette, 148
Markow-Kette n-ter Ordnung, 180
Markow-Ketten, 180
maschinelles Lernen, 14, 214
Matching, 10, 17, 162
Matching, boolsches IR, 24
Matrixzeilen, 26
Maximum Likelihood Estimation, 182
Mean Average Precision, 110
Medien, 12
Memex, 131
Merge, 33
Metadaten, 63, 212
Metainformationen, 12
Metrik, 245
MI, 287
Mikrobewertung, 106
Mittelwert-Verfahren, 307
ML, 214
MLE, 182, 237
Modell
boolsches, 19
Modellierung des Suchvorganges, 161
Mooers Gesetz, 5
Mooers, Calvin, 5
Move (Suche), 165
Multi Language Information Retrieval, 191
Multimedia Information Retrieval, 192
Multimedia IR, 12
multinomiales NB, 238
Multinomialverteilung, 182, 238
Muster, 40
Mutual Information, 287
mutually exculsive, 220
N-Gramm, 37
Naive Bayes, 235
Naive Stringsuche, 40
natrliche Sprachverarbeitung, 14
Natural Language Processing, 14
Navigation, 166
NB, 235
nichtmetrische Abstnde, 246
329
Index
NLP, 14, 197
Normalisierung (URLs), 139
novelty ratio, 112
NTCIR, 193
Nutzer-Feedback, 15
Nutzerbezug (Evaluation), 112
Nutzerinteraktion, 13
Nutzerinterfaces, Design, 14
Nutzerzufriedenheit, 113
nutzloses Wissen, 8
Objektive Relevanz, 6
Okapi, 123
Online-Katalog, 6
OPAC, 1
Open Directory Projects, 3
Operatoren, logische, 19
Optimierungsdaten, 260
overtting, 214
Overlap-Ma, 91
k, 108
p-Norm, 75
P2P, 13
PageRank, 97, 146
Panning, 167
parallelen Korpus, 193
Parameter, 135
parametrischer Index, 64
Patentdatenbanken, 192
Patentschriften, 12
Patentsuche, 1
Peer-2-Peer, 13
Permuterm Index, 54
Perzeptron, 263
Pfad, 135
Phrasen Anfragen, 37
Pivot-Sprache, 197
Plagiaterkennung, 13
polynomieller Kernel, 275
Pooling, 100
Porter-Stemmer, 52
Position (im Index), 38
Position Index, 37
Positionsliste, 38
POST, 133
Posting, 28
Posting Liste, 28
Potenzmethode, 150, 155
Powermethod, 150
Pragmatik, 7
Precision, 103, 216, 287
Precision at k, 108
Precision-Recall Graphen, 109
precondition, 219
Prior, 184
probabilistisches IR, 115
probabilistisches Modell, 177
Protokoll, 135
Prototypdokument, 245
Pseudo-Cosinus-Ma, 91
Psychologie, 14
Purity, 286
QA, 12
Query by Example, 79
query likelihood, 181
query-by-example, 282
Querying, 166
Question Answering, 12
Quintura, 170
R-Precision, 108
Rand-Index, 289
Random Surfer, 146
Recall, 102, 216, 287
Rechtschreibkorrektur, 58
Referenzregel, 225
Regel, 219
Regel-spezische Accuracy, 220
Regelbasierte Systeme, 219
Regensburger Verbundklassikation, 6
relationale Datenbank, 10
relative Pfade, 135
relative Recall, 113
Relevance Feedback, 91
330
Index
Relevance Feedback, probabilistisch, 126
Relevancefeedback, 161
Relevanz, 6, 21
Objektive, 6
Situative, 6
Subjektive, 6
Systemrelevanz, 6
Reprsentanten, 296
Requests (HTTP), 132
residual sum of squares, 304
Response (HTTP), 133
result expansion, 282
Retrieval Status Value, 6
Retrievalfunktion, 24, 182
Robot, 137
Robots Exclusion Standard, 140
robots.txt, 140
Robustheit, 141
Rocchio Algorithmus, 91
Rocchio Ansatz, Textklassikation, 245
root set, 158
Routing, 13, 213
RSS, 304
RSV, 6
rule antecedent, 219
rule consequent, 219
RVK, 6, 64
Sackgassen, 147
same-dierent, 289
same-same, 289
Satz von Bayes, 116
Satz von Bayes, 180, 235
Satzendezeichen, 45
Scanning, 166
scatter-gather, 283
Schlussfolgerung, 219
Schneiden, 32
Schott, Ben, 8
Schotts Sammelsurium, 8
Segmentierung, 45
Semantik, 7
Sentiment-Analyse, 213
Sequential Covering, 226
Sequenzanfang, 180
Server, 132
SGML, 136
sim, 78
Single-Link, 304
Single-Pass, 291
Singleton Cluster, 301
Situative Relevanz, 6
Skalarprodukt, 83
Skipliste, 33
Slack-Variablen, 272
SMART, 101
Smoothing, 121, 183, 224
Snap, 171
Snowball Projekt, 52
Spam, 13, 139, 142
Spamlter, 212
Speicherung, 9
Spider, 137
Spracherkennung, 213
Spracherkennung auf Anfragen, 244
Sprachermittlung, 45
Spracherzeugung, 177
SQL, 10
Sttzvektoren, 270
Startmenge, 158
statisches Qualittsma, 96, 145, 181
Statistische Sprachmodelle, 177
Status Code, 134
Status Meldung, 134
Stemming, 51, 196
Stichwrter, 19
stochastische Matrix, 149
stop words, 50
Stoppwrter, 38, 50
Stratagem (Suche), 165
Strategy (Suche), 165
Stringformat, 7
Stringsuche, 39
Strukturelle Informationen, 64
331
Index
Subjektive Relevanz, 6
Suchbaum, 27
Suchbegrie, 19
Suche, inhaltlich, 8, 9
Suchmodelle, 161
Suchverhalten, 163
supervised learning, 214
Support Vector Machines, 261
support vectors, 270
SVM, 261
Symbol, 177
Symmetrie, 246
Syntax, 7
Systemrelevanz, 6
Tactic (Suche), 165
Tag Clouds, 173
Tageszeitung, 5
Teilgebiete, 10
Teleport, 148
Term, 21, 48
term-at-a-time, 88, 97, 188
Term-Dokument Matrix, 22, 27
Termfrequenz, 38, 77
Termhugkeit, 21
Testkorpora, 101
Text IR, 12
TF-IDF, 81
Themendomne, 212
Thesaurus, 60
three-point average Precision-Recall, 110
Tim Berners-Lee, 131
Token, 45, 48, 177
Token s, 180
Tokenisierung, 45
Tokennormalisierung, 48
topic drift, 159
Topics, 101
Training, 214
Transaktionsanfragen, 142
TREC, 193
Trenngerade, 261
Trigramm, 180
Trigramm LM, 180
True Casing, 51
true negative, 216
true positiv, 216
Typ, 48
unberwachte Lernverfahren, 280
unberwachtes Lernen, 214
ungefhren Top-K Dokumente, 96
Uniform Resource Locator, 131
Unigramm, 180
Unigramm LM, 180
unstrukturierteDaten, 9
unsupervised learning, 280
unterteilendes Clustern, 281
Urheberschaft, 6
URL, 131, 135
URL-Datenbank, 138
Urnenmodell, 182
Vagheit der Sprache, 7
Vannevar Bush, 12
Vannevar Bush, 131
Vektorlnge, 83
Vektorraum Modell, 77
vergleichbaren Korpora, 193
Verschmelzen, 33
vertikale Suchmaschinen, 212
Verwaltung, 9
Videoarchive, 12
Visualisierung, 14
Vokabluar, Suchbaum, 27
Vokabular, 21
Vorbedingung, 219
Voronoi Diagramm, 256, 259
Vorschau, 171
Wrterbuch, 195
Ward-Methode, 308
Web Robot, 137
Web 2.0, 137
Web Crawler, 137
332
Index
Web Spider, 137
Web-Directory, 1
Webgraph, 145
Websuche, 6
Websuchmaschine, 10
Websuchmaschinen, 1
wechselseitiger Ausschluss, 220
weiche 404-Fehler, 141
weiches Cluster, 281
weight vector, 262
Werbung, 142
white spaces, 47
Wikipedia, 202
Wildcards, 52
Wissen, 7
Wissensproduzenten, 8
Wissenstransfer, 8
World Wide Web, 1, 131
Wort-Token, 47
WWW, 12
XHTML, 136
XML, 7, 136
Zatocoding, 5
Zeichenkodierung, 7
Zeichensatzerkennung, 213
Zeichensatzkodierung, 44
Zeilenvektoren, 27
Zeitschrift, 5
Zentroid-Abstand, 307
Zentroiden, 250, 291, 297
Zipfsches Gesetz, 49
Zonen Index, 64
Zooming, 167
333