Entdecken Sie eBooks
Kategorien
Entdecken Sie Hörbücher
Kategorien
Entdecken Sie Zeitschriften
Kategorien
Entdecken Sie Dokumente
Kategorien
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
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 <, >, " und & 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
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[q) P(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, 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(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 Dok