2 Grundlagen des Information Retrieval

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Ebru Iscan, Andrea Kováčová Experimente Seminar "Experimentielle Evaluierung im IR"
Christian Scheideler SS 2009
Knapsack & Bin Packing Sebastian Stober
Informatik II: Algorithmen und Datenstrukturen SS 2013
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Eine dynamische Menge, die diese Operationen unterstützt,
Indizierung von Graphen durch häufige Subgraphen (2)
Webseiten, die gefunden werden Dr. Eduard Heindl, Heindl Internet AG Tübingen.
Information - syntaktisch
Suche in Texten (Stringsuche )
Seminar Textmining WS 06/07 Aufgaben II 1.Dokumente im VSM 2.Ranking 3.Term-Term-Korrelation 4.Relevance Feedback 5.Termgewichtung.
Seminar Textmining WS 06/07 Aufgaben III Termgewichtung Postings Datei Clustering.
Seminar Textmining WS 06/07 Themen Übung 9 Multilingualität Weitere Termine: 13.7.Symbolfolgen und PageRank Findlinks mitstreiter gesucht!
3. Kapitel: Komplexität und Komplexitätsklassen
Kapitel 6. Suchverfahren
Finale Semantik und beobachtbares Verhalten
3.1 3 Implementierungstechniken 3.1 Kompression von invertierten Dateien Warum? Parameter des Index: N = Anzahl Dokumente n = Anzahl Terme f t = Dokumentfrequenz.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
FH-Hof Effizienz - Grundlagen Richard Göbel. FH-Hof Inhalt Einführung Aufwand für Anfragen ohne Indexierung Indexstrukturen für Anfragen an eine Tabelle.
Effizienz: Indexstrukturen
Formale Sprachen – Mächtigkeit von Maschinenmodellen
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Information Retrieval auf Texten An ihre Grenzen stoßen relationale Datenbanken bei der.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/5 Grundtechniken des Information Retrieval Deskribierung Hierunter versteht man eine manuelle.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
Information Retrieval Modelle: Vektor-Modell
Relevanz Ranking Bisher: Sind wir davon ausgegangen, dass das Ergebnis des Rankings des statistischen Verfahrens in den Index geschrieben wird und dem.
Relevanz Ranking Bisher:
§9 Der affine Raum – Teil 2: Geraden
§9 Der affine Raum – Teil 2: Geraden
Spezifikations- und Selektionsmethoden für Daten und Dienste
Machine Learning KNN und andere (Kap. 8).
Maschinelles Lernen und automatische Textklassifikation
Maschinelles Lernen Bayessche Verfahren (Mitchell Kap. 6), Teil 1.
Komponenten eines Information Retrieval Systems
Beispiel: Arbeit, Skalarprodukt zwischen Kraft- und Weg-Vektor
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
§3 Allgemeine lineare Gleichungssysteme
Wahrscheinlichkeitsrechnung
Generalisiertes Vektorraummodell (Generalized Vector Space Model, GSVM) Karin Haenelt
Using latent semantic analysis to find different names for the same entity in free text Präsentation und Diskussion des Papers Im Rahmen des PS Web-Information.
Information Retrieval, Vektorraummodell
Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert Universität Bielefeld Technische Fakultät.
Information Retrieval Methoden, die dazu dienen, unstrukturierte Daten zu beschreiben, zu speichern und später nach inhaltlichen Kriterien wieder aufzufinden.
 Sortigkeit oder Arität
5.1 5 Retrieval auf Bildern (.... in a nutshell)  Bedeutung.... ... im Zusammenhang mit Information Retrieval ... für Anwendungen Medizin: "Finde ähnliche.
Sprachprodukttechnologie SS 2001G. Heyer 1 Sprachstatistik  Grundlegende Definitionen  Alphabet Sei NL eine natürliche Sprache und sei A eine Menge von.
Niko Zenker1 Besondere Aspekte in Multimedia-Datenbanken Methoden zur iterativen Anfrageverfeinerung (Relevanz Feedback)
Information - syntaktisch
Gliederung der Vorlesung
Geoinformationssysteme
Programmiersprachen II Fortsetzung Datenstrukturen Hashing Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 2 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 1 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
- Seite 1 TIME INTELLIGENCE ® by Zeichenrand – Löschen! Titel.
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
- Seite 1 TIME INTELLIGENCE ® by Titel.
Einführung: Statistische Verfahren der automatischen Indexierung
 Präsentation transkript:

2 Grundlagen des Information Retrieval 2.1 Einfache Modelle Dokumentmodell Definition: Dokumentmenge D, n Anzahl aller Indextermen (Termen, keywords), K = {k1,...,kn} Menge aller Indexterme. Für jedes dj  D, ki  K gibt es Gewicht wi,j  0 mit wi,j = 0 , wenn ki nicht in dj vorkommt. dj= (w1,j, .....wn,j) ist die Dokumentrepräsentation von dj, Damit wird ein Dokument durch die Menge der enthaltenen Indexterme repräsentiert. (Schreibweise: meist dj statt Vektornotation) Projektionsfunktionen gi : D -> R+, gi(dj) = wij Gewicht des Indexterms i in dj Bemerkung zur Schreibweise: i kann ein Indexterm k selbst sein oder die natürliche Zahl m aus {1,..n} mit k=km

Grundlagen 2.1.1 Boolesches Retrieval wij = 0 oder 1 ("Term i kommt in dj [nicht] vor ") Anfragen: Jeder Indexterm ist eine Anfrage Sind q1 und q2 Anfragen, dann auch (q1  q2) und (q1  q2) und ( q1) Anfragen Das sind alle Präferenz der Operatoren:  vor  vor  spart Klammern. Beispiel: distributed  ( database  system) Häufig zu findende Einschränkung: Oft konjunktive Anfragen: Konjunktion von Termen, "," statt "" : q = a, b, ..., s oft Einschränkung der Negation : nur in Verbindung mit Konjunktion: erlaubt: a   b aber nicht a   b (warum?) Beobachtung bei Suchmaschinen: wenig "sophisticated" Anfragen, oft nur ein Term

Grundlagen Auswertung Wie üblich für boolesche Ausdrücke: Val (D, q) = {dj | sim (dj, q) = 1} sim(dj, t) = gt (dj) sim(dj, q1  q2) = min (sim(q1) , sim(q2)) sim(dj, q1  q2) = max ( sim(q1) , sim(q2) ) sim(dj,  q1 ) = 1 – sim (q1) unter Beachtung der Operatorpräferenzen -> Operatorbaum Boolesche Ausdrücke entsprechen eindeutig einer Menge von Dokumenten (vorausgesetzt, dass je 2 Dokumente sich mindestens in einem Indexterm unterscheiden) -> Übungsaufgabe Äquivalente Auswertung: mengentheoretische Entsprechung  ->  und  ->  nutzen sim ist ein Beispiel für die in 1 postulierte Ähnlichkeits- funktion s

Grundlagen Beispiel q = distributed  (database  system) compiler distributed system transaction Retriev-al Query d1 1 d2 d3 d4 d5 q = distributed  (database  system) {d1,d2}  ( {d2,d4}  {d1,d2,d3,d5} ) = {d1,d2}

Grundlagen Wortformen, Synonyme, ..., Ober-/Unterbegriffe lassen sich in vorab durch linguistische u.a. Transformationen berücksichtigen databases , distributed Voraussetzung: Dokumente u. Anfragen einheitlich transformiert (database  Datenbank) , ( distribut  verteil) Kritik + jede Teilmenge von D lässt sich durch Anfrage ausdrücken + einfaches, effizient zu implementierendes Modell - Binäre Entscheidung zu restriktiv Wünschenswert: Ähnlichkeit von Anfrage und Dokument ausdrücken – "Anfrage passt teilweise auf Dokument" "database , query, tutorial" passt nicht auf Dokument (...,database, ... , tutorial), das Indexterm query nicht enthält - Binäres Gewicht eines Index unbefriedigend In obiger Anfrage: "tutorial" möglicherweise wichtiger als "query" Heuristik: "tutorial" kommt in den Dokumenten, die "database" und/ oder "query" enthalten, selten vor. Term ist deshalb wichtig.

database compiler distributed system transaction Retrieval Query Grundlagen Betrachtet man DNF (Disjunktion von Konjunktionen) einer booleschen Anfrage q, dann haben die konjunktiven Anfrageterme die gleiche Form wie ein Dokument (Anfragevektor) Unbefriedigend: Dokument mit mehr Termen der Anfrage wird genauso behandelt wie Dokument mit weniger, keine"Rangfolge von Ahnlichkeit" Anfrage: distributed  (database  system) Dokumente, die "distributed" und "database" enthalten haben keinen anderen Wert für sim, wie Dokumente, die "distributed" , "database" und "system" enthalten. q = distributed  (database  system) = 1 0 1 1 0 0 0  1 1 1 0 0 0 0 ...  0 0 1 1 0 1 1 (alle Kombinationen, mit "distributed = 1" und "database" oder "system" - Komponente 1 ) database compiler distributed system transaction Retrieval Query

Grundlagen Koordinatenabgleich (coordinate match) als Verallgemeinerung des Booleschen Retrieval Modells Anfragen sind Folgen von Indextermen: q = (q1,q2,...,qn) d.h. gleiche Repräsentation für Dokumente und Anfragen sim(dj,q) = w1j*q1 + w2j*q2 + ... + wnj*qn Ähnlichkeitsmaß für Anfrage und Dokument : Anzahl übereinstimmender Komponenten (Koordinaten) Dokument / Anfrageähnlichkeit liefert Rangfolge der Dokumente (siehe Beispiel) Nachteile: Rang hängt von der Anzahl von Termen im Dokument ab Häufigkeit eines Terms (im Dokument) wird nicht berücksichtigt Seltenheit eines Terms wird nicht berücksichtigt Sinnvoll: andere Gewichte als 0 und 1 einführen

Grundlagen Beispiel d Data-base compiler distributed system transaction Retriev-al Query d1 1 d2 d3 d4 d5 q 1 d2 > d1 > d4,d5,d3 d3-d5 haben gleichen Rang. Beachte: bei konjunktiver Interpretation der Terme wäre nur d2 ein Treffer

Grundlagen 2.1.2 Vektorraummodell dj = (w1j, ...., wnj) und q = (q1,...,qn) sind Dokument- und Anfragevektoren mit gewichteten Termen. dj und q sind Punkte im n-dimensionalen orthonormalen Vektorraum Maß für Übereinstimmung (1. Versuch): Euklidische Distanz: sim(dj,q) =  ( | wij – qi|) Nachteile: -"Ungleichheitsmaß ": je größer, desto ungleicher - Anfragen haben im Vergleich zu Dokumenten wenig Terme, Folge: je größer ein Dokument, desto größer die Distanz Term 2 Beispiel: n=2 dj q Term 1

Heuristik erster Art: Ähnlichkeitsfunktion Grundlagen Maß für Übereinstimmung (2. Versuch) sim(dj,q) = w1j*q1 + w2j*q2 + ... + wnj*qn ( Skalarprodukt) Proportional zu Fläche zwischen q-Vektor und Projektion auf dj Beachte: für Gewichte 0 | 1 ist das Koordinatenabgleichsverfahren Nachteil: groß für große Dokumente Cosinusmaß (3. Versuch): Wähle Abweichung der Richtung von Dokument und Anfrage als Maß, d.h. den Winkel  Wegen w1j*q1 + w2j*q2 + ... + wnj*qn = cos  * |dj|*|qj| Cos (dj,q) = cos  = dj  q / |dj| * |q| =  wij*qi /  ( wij 2) *  ( qi 2) Term 2 Beispiel: t=2 dj  q Term 1 Heuristik erster Art: Ähnlichkeitsfunktion

Grundlagen Gewichte Intellektuelle ("manuelle") Zuordnung offenbar wenig sinnvoll Beobachtung 1: Ein in einem Dokument häufig vorkommender Term charakterisiert den Inhalt meist besser, als ein weniger häufiger: Häufigkeit von Term x in dj ~ inhaltliche Bedeutung von x für dj Trick von kommerziellen Webpages: Produktbezeichnung o.ä. oft in Seite wiederholen (veraltet) Beobachtung 2: Ein häufig in Dokumenten vorkommender Term sagt weniger über den Inhalt eines Dokuments aus, als ein seltener: Anzahl Dokumente, in denen x vorkommt umgekehrt proportional zu inhaltlicher Bedeutung Im Beispiel: "system" weniger wichtig als "transaction"

Grundlagen Gesetz von Zipf: (Human Behaviour and the Principle of Least effort (G. Zipf 1949)) Untersuchung zur Distribution von natürlichen Phänomenen "Die Bedeutung eines Ereignisses ist umgekehrt proportional zur Häufigkeit seines Vorkommens" Konsistent z.B. zur Informationstheorie (Shannon): Informationswert einer Nachricht (eines Zeichens) ist umgekehrt proportional zur Wahrscheinlichkeit des Auftretens des Zeichens. Informationsgehalt eines Elementarereignisses m mit Wahrscheinlicheit pm: Im = log (1/pm) Gewicht für Term x in Dokument dj: f( Häufigkeit von x in Dokument, 1/Anzahl Dokumente in denen x vorkommt)

Heuristik zweiter Art (Gewichte) Grundlagen Gewichte wt : Gewicht (Bedeutung) eines Terms t rt,j : relatives Gewicht von t bezüglich Dokument dj qt : Relatives Gewicht von t bezüglich Anfrage q Diverse Heuristiken für Termgewicht möglich Einfaches Beispiel: Kritik: wt und rt,j halbiert (verdoppelt), wenn Term statt einmal zweimal vorkommt. Besser: logarithmisch! Normierung ? Heuristik zweiter Art (Gewichte) qt = 1, wenn t in q vorkommt, 0 sonst wt = 1 / ft mit ft = Anzahl Dokumente, in denen t vorkommt (Dokumentfrequenz) rt,j= ft,j mit ft,j = Häufigkeit des Vorkommens von t in dj (Termfrequenz)

Grundlagen Weitere Beispiele für Termgewicht-Heuristiken Termgewicht Inverse Document Frequency (IDF) wt = log (1 + N/ft) (Sparck-Jones) mit N = Größe der Dokumentkollektion (Anzahl Dokumente) wt = log (1 + fmax/ft) , fmax = maximale Häufigkeit eines Terms in einem Dokument und viele mehr... Also: IDF hat viele Definitionen. Alle gehen davon aus, dass seltene Terme in einer Dokumentmenge mehr zur inhaltlichen Charakterisierung beitragen. Termfrequenz (TF) rt,j = 1 + log ft,j rt,j = K + (1-K) ft,j / maxi f i.j max f i,j = maximale Häufigkeit eines Terms in dj 0 <= K <= 1 als Gewichtskonstante, Idee: erstes Vorkommen eines Terms in Dokument wichtiger als weitere, K als Steuerparameter.

Grundlagen TF x IDF – Regel (Heuristik!) Gewicht eines Terms t in Dokument dj ist wj,t = fjt (nur Termfrequenz) Alternativ: das Gewicht wird aus TF und IDF gebildet: wt,j = r t,j* wt (TF x IDF) Anfrage-Termgewicht: w t,q = qt * wt = wt (wenn alle Terme gleich gewichtet) Alternativ: wtq = wt = 1 Wählen für rj,t und wt jeweils die erste Heuristik (s. oben), Dann ergibt sich das Cosinusmaß für die Ähnlichkeit von Dokument- und Anfragevektor:

Grundlagen Cos1(dj,q) = cos  = dj  q / |dj| * |q| =  wtj*wt /  ( wtj 2) *  ( wtq 2) t dj  q = 1/ (Wj*Wq) *  (1 + log ft,j ) *( log (1 + N/ft) )2 mit Wj =  ( w t,j 2) , Wq =  ( w t,q 2) =  ( wt 2) Oder mit wt,j = rt,j (keine Mehrfachberücksichtigung von Termgewicht) Cosi2(dj,q) = 1/ (Wj*Wq) *  (1 + log ft,j ) * log (1 + N/ft) Beachte: Die meisten Werte können vorab berechnet werden: ft ist konstant für eine Dokumentmenge ft,j ist konstant für Dokument dj Aufgabe: effiziente Implementierung Vorher: Evaluation von Retrievalergebnissen – Welche Heuristik ist besser?

Grundlagen Beispiel q1 = distributed, system, database Wq = 5,4 compiler distributed system transaction Retriev-al Query d1 1, 1 1, 1 d2 2, 1,7 d3 2, 1,7 d4 1 d5 Wd 1,7 2,4 1,9 1,4 q1 q2 0,22 0,66 0,33 0,14 0.12 0,31 0,18 0,41 0,1 ft 2 4 1 wt 1,5 1.5 1,0 2,0 q1 = distributed, system, database Wq = 5,4 q2 = retrieval system Wq =2,3

Vektorraummodell: Zusammenfassung (w1j,...,wnj) Dokumentrepräsentationen (Dokumente) (q1,...., qn) bzw. (w1q,...,wnq) Anfragen. wtj = 0, wenn Term t nicht in Dokument j vorkommt, entsprechend für qt. Im Vektorraummodell liefert die Anfrageauswertung eine Rangfolge (fast) aller Dokumente dj aus dem Dokumentbestand D Der Rang ergibt sich aus dem Wert einer heuristischen Ähnlichkeitsfunktion sim. Jedes Dokument dj wird mit q verglichen: sim (dj,q) liefert den Rang. Termgewichte in Dokumenten bzw. Anfragen können sich unterscheiden (in Anfragen oft gleiches Gewicht für alle Terme) Termgewichte sollen das inhaltliche Gewicht eines Terms widerspiegeln. Zu unterscheiden sind das dokumentrelative Gewicht und das dokumentunabhängige Gewicht. Die dokumentunabhängige "Bedeutung" von t wird allgemein umgekehrt proportional zur Anzahl von Dokumenten gewählt, die t enthalten (Dokumentfrequenz) Die dokumentrelative Bedeutung von t wird oft proportional zur Anzahl des Vorkommens in dem Dokument (Termfrequenz) gewählt.

Vektorraummodell: Zusammenfassung Der Logarithmus der Größen dämpft den Einfluss der Frequenzwerte Oft verwendete heuristische Werte: wt = log (1 + N/ft) Inverse Dokument Frequenz (IDF) abgeleitet aus DF rt,j = 1 + log ft,j Logarithmisch modifizierte Termfrequenz (TF) Die beiden anteiligen Gewichte werden zusammengefasst. Wie das geschieht, legt eine weitere Heuristik fest Gängige Heuristik: w t,j = wt * rt,j = IDF * TF, wtq = qt = 1 Einsetzen in das Cosinusmaß cos  = dj  q / |dj| * |q| =  wij*qi / ( ( wij 2) *  ( qi 2)) , das den Cosinus des Winkels zwischen Anfragevektor und Dokumentvektor als Ähnlichkeitsmaß verwendet ergibt: Cos2(dj,q) = 1/ (Wj*Wq) *  (1 + log ft,j ) * log (1 + N/ft) mit Wj =  ( w t,j 2) , Wq =  ( w t,q 2) =  ( wt 2) =  Anzahl Terme von q

Grundlagen 2.2 Bewertung von Retrievalergebnissen Retrospektive, binäre (relevant / nicht relevant) Endnutzerbewertung, immer subjektiv Modellvorstellung: idealer Bibliothekar bewertet die Dokumente der Ergebnisrangliste Unhabhängig von Ähnlichkeits- (oder Rangfolge-) -funktion: im schlimmsten Fall sind Dokumente mit hohem Rang (große Ähnlichkeit zur Anfrage) irrelevant Bewertet wird das Ergebnis (jeweils für eine Anfrage) und damit indirekt die Rangfolgefunktion Wann ist ein Ergebnis besser als ein anderes? Idee: desto besser, je mehr relevante Dokumente am Anfang stehen

Grundlagen: Recall - Precison relevant nicht relevant gefunden r n Nicht ge-fundene v u Klassifikation des Anfrageergebnis Nachweisquote (Recall): R = r / (r + v) Anteil der gefundenen an den insgesamt relevanten Dokumenten. Präzision (Precision): P = r / (r + n) Anteil der relevanten an der Anzahl gefundenen Dokumente Wie ausdrücken, ob relevante Dokumente (möglichst) am Anfang geliefert werden.?

Recall per Definition monoton steigend Rang Recall Precision 1  10% 100% 2 10 50 3 33 4  20 5  30 60 6 7  40 57 8 9 44 11 36 12  42 13  46 14  70 15 47 16  80 17 18 19  90 45 21 43 22  100 23 24 25 % Recall 100 Recall per Definition monoton steigend 75 50 Precision 25 Anzahl Dokumente 5 10 15 20 25 Für Vergleichsexperiment viele Anfragen auswerten. Vergleichbarkeit der Recall- und Precision-Kurven? Wähle Recall-Niveaus und ermittle die Präzision. Typische Niveaus: 0,10,20,....,100% Recall, d.h. soviel % der relevanten Dokumente gefunden.

Recall-Precision-Kurven 100 Ideale RC-Kurve 75 Recall -Level Precision Interpolation - 100 10 20 50 60 30 40 57 42 46 70 80 90 47 45 Precision 50 25 Recall 10 25 50 75 100 Interpolation liefert monoton fallende precision-Kurve: Ip(r) = max (pi | rang i >= rang r}

Grundlagen Durchschnittswerte (Retrieval Effektivität) Zum Vergleich von Ähnlichkeits- (Rangfolgefunktionen) wird Durchschnittswert der Präzision an verschiedenen Recall-Punkten genommen 3-Punkt : Durchschnitt Präzision bei 30,50,80% Recall-Level (im Beispiel: 53%) 11-Punkt: alle Standard-Recall-Level (Bsp.: 61%) Vergleich von Funktionen Setzt kontrollierte Testumgebung voraus: Definierte Testkollektion Bekannte Anfragemenge Kenntnis der relevanten Dokumente TREC (Text Retrieval Conference) - Initiative

Grundlagen Kritik von Recall / Precision – Maßen Anzahl relevanter Dokumente im allgemeinen nicht bekannt Maß für Frage-Antwort-Interaktion definiert, nicht für andere Formen des Retrieval (Browsing! Bewerte den gesamten Retrievalprozess!) Kein geeignetes Maß für "Punktanfragen" ,für die im Prinzip ein Dokument genügt. Beispiel: "Wo findet die nächste W3C-Konferenz statt? " Aufwendige Experimente

Grundlagen Indexierung Datenstruktur zur effizienten Auswertung von Anfragen (sequentielle überprüfung der Dokumente hoffnungslos) Hier zunächst: Invertierter Index * [(Term, Postingliste ) , Postingliste = [(docId)] Vergleichbar mit Index eines Buchs (Suche grob logarithmisch in der Anzahl der Indexterme) Indexgröße wesentlich durch Granularität (Körnigkeit) der indexierten Objekte bestimmt (Block von Dokumenten, Dokument, Kapitel, Satz, Wort) * Später auch andere Verfahren: Präfixbäume, Signaturdateien term1 termi termn d1, dk, .... dft1 dk, .... dj ....., dftn Term-Wörterbuch , Eintrag für Term t verweist auf Postingliste. Die der Ids der Dokumente enthält, in denen t vorkommt.

Grundlagen: Indexierung Beispiel (Robert Gernhardt) 1 Der Herr rief: Lieber Knecht 2 Mir ist entsetzlich schlecht! 3 Da sprach der Knecht zum Herrn: 4 Das hört man aber gern Entsetzlich; (2,3) Gern; (4,5) Herr; (1,2),(3,6) Hör; (4,2) Knecht; (1,5),(3,4) Lieb; (1,4) Ruf; (1,3) Schlecht; (2,4) Sprech; (3,2) Entsetzlich; 2 Gern; 4 Herr; 1,3 Hör; 4 Knecht; 1,3 Lieb; 1 Ruf; 1 Schlecht; 2 Sprech; 3

Grundlagen: Indexierung Auswertung von (booleschen) Anfragen q= t1 AND t2 .... AND tm mit Index: Lokalisieren der Indexeinträge Gemeinsame Dokumentverweise finden Dokumente, die in allen Posting-Listen (t1,...tm) auftauchen, gehören zur Antwortmenge Analog OR, Not; Vektorraum klar; Details siehe unten Größe des Index wichtiges Entwurfskriterium Granularität? Je feiner, desto größer der Index Grundsätzlich hierarchische Verweise: (Block von Dokumenten, Dokument, Kapitel, Absatz, Wort) Block-Verweise: kleiner Index, evtl. viele Fehler (false drops) bei mehr als einem Term in konjunktiver Anfrage: Blöcke der Antwortmenge enthalten alle Terme,. Aber es gibt kein Dokument, das alle enthält. Linguistische Vorverarbeitung? Stoppwörter eliminieren? Stammformreduktion?

Grundlagen: Indexierung Beispiel für Dokumentkollektionen Bibel TREC # Dokumente N 31101 741856 # Terme F 884994 333338738 # verschiedene n 8965 535346 #Dokument-verweise f 701412 134994414 Größe (MBytes) 4,33 2070

Grundlagen: Indexierung Größe eines unkomprimierten invertierten Index etwa so groß wie Dokumentbestand Linguistische Vorverarbeitung verkleinert Index (Wortstamm statt viele Wortformen), keine Stoppwörter Dokumentzeiger: 32-Bit-Zahlen ? sehr großer Index (TREC: 1,2 GB) Minimaler Speicherbedarf für expliziten Dokumentzeiger: log 2 N TREC: ~ 20 Bits -> ~ 340 MBytes