2.1 2 Grundlagen des Information Retrieval 2.1 Einfache Modelle Dokumentmodell Definition:...
-
Upload
falko-bayer -
Category
Documents
-
view
212 -
download
0
Transcript of 2.1 2 Grundlagen des Information Retrieval 2.1 Einfache Modelle Dokumentmodell Definition:...
2.1
2 Grundlagen des Information Retrieval2 Grundlagen des Information Retrieval2.1 Einfache ModelleDokumentmodell
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 djBemerkung zur Schreibweise: i kann ein Indexterm k selbst sein oder die natürliche
Zahl m aus {1,..n} mit k=km
2.2
GrundlagenGrundlagen 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 allePrä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
2.3
GrundlagenGrundlagen 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
2.4
GrundlagenGrundlagen
Beispield Data-
basecompile
rdistribut
edsystem transact
ionRetriev-
alQuery
d1 0 0 1 1 0 1 0
d2 1 0 1 1 0 0 1
d3 0 0 0 1 1 0 0
d4 1 1 0 0 0 0 0
d5 0 1 0 1 0 0 0
q = distributed (database system){d1,d2} ( {d2,d4} {d1,d2,d3,d5} ) = {d1,d2}
2.5
GrundlagenGrundlagen Wortformen, Synonyme, ..., Ober-/Unterbegriffe lassen
sich in vorab durch linguistische u.a. Transformationen berücksichtigendatabases , 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.
2.6
GrundlagenGrundlagen 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
2.7
GrundlagenGrundlagen 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 Rangfolgeder 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
2.8
GrundlagenGrundlagen
Beispield Data-
basecompile
rdistribut
edsystem transact
ionRetriev-
alQuery
d1 0 0 1 1 0 1 0
d2 1 0 1 1 0 0 1
d3 0 0 0 1 1 0 0
d4 1 1 0 0 0 0 0
d5 0 1 0 1 0 0 0
q 1 0 1 1 0 0 0
d2 > d1 > d4,d5,d3 d3-d5 haben gleichen Rang. Beachte: bei konjunktiver Interpretation der Terme wäre nur d2 ein Treffer
2.9
GrundlagenGrundlagen
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
Beispiel: n=2dj
q
Term 1
Term 2
2.10
GrundlagenGrundlagen 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 djBeachte: für Gewichte 0 | 1 ist das KoordinatenabgleichsverfahrenNachteil: 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)
Beispiel: t=2dj
q
Term 1
Term 2
Heuristik erster Art: Ähnlichkeitsfunktion
2.11
GrundlagenGrundlagen
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 BedeutungIm Beispiel: "system" weniger wichtig als "transaction"
2.12
GrundlagenGrundlagen
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)
2.13
GrundlagenGrundlagen Gewichte
wt : Gewicht (Bedeutung) eines Terms trt,j : relatives Gewicht von t bezüglich Dokument djqt : Relatives Gewicht von t bezüglich Anfrage q
Diverse Heuristiken für Termgewicht möglichEinfaches 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 sonstwt = 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)
2.14
GrundlagenGrundlagen Weitere Beispiele für Termgewicht-Heuristiken
Termgewicht Inverse Document Frequency (IDF) 1. wt = log (1 + N/ft) (Sparck-Jones)
mit N = Größe der Dokumentkollektion (Anzahl Dokumente)2. 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)1. rt,j = 1 + log ft,j
2. rt,j = K + (1-K) ft,j / maxi f i.j
max f i,j = maximale Häufigkeit eines Terms in dj0 <= K <= 1 als Gewichtskonstante, Idee: erstes Vorkommen eines Terms in Dokument wichtiger als weitere, K als Steuerparameter.
2.15
GrundlagenGrundlagen 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 = 1Wä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:
2.16
GrundlagenGrundlagen 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 Dokumentmengeft,j ist konstant für Dokument dj
Aufgabe: effiziente Implementierung Vorher: Evaluation von Retrievalergebnissen – Welche Heuristik ist
besser?
2.17
GrundlagenGrundlagen Beispiel
d Data-base
compiler
distributed
system transaction
Retriev-al
Query
d1 0 0 1, 1 1, 1 0 1, 1 0
d2 1, 1 0 2, 1,7 1, 1 0 0 1, 1
d3 0 0 0 2, 1,7 1, 1 0 0
d4 2, 1,7 1, 1 0 0 0 1 0
d5 0 1, 1 0 1, 1 0 0 0
ft 2 2 2 4 1 1 1
wt 1,5 1.5 1,5 1,0 2,0 2,0 2,0
q1 q2
0,22 0,66
0,33 0,14
0.12 0,31
0,18 0,41
0,1 0,14
q1 = distributed, system, database Wq = 5,4q2 = retrieval system Wq =2,3
Wd
1,7
2,4
1,9
1,9
1,4
2.18
Vektorraummodell: ZusammenfassungVektorraummodell: 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.
2.19
Vektorraummodell: ZusammenfassungVektorraummodell: 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
2.20
GrundlagenGrundlagen
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
2.21
Grundlagen: Recall - PrecisonGrundlagen: Recall - Precison
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.?
relevant nicht relevant
gefunden
r n
Nicht ge-fundene
v u
2.22
1 10% 100%
2 10 503 10 33
4 20 50
5 30 60
6 30 50
7 40 57
8 40 509 40 44
10 40 4011 40 36
12 50 42
13 60 46
14 70 50
15 70 47
16 80 50
17 80 4718 80 44
19 90 47
20 90 4521 90 43
22 100 45
23 100 4324 100 4225 100 40
Rang Recall Precision
5 10 2015 25
75
50
25
100 Recall
Precision
Recall per Definitionmonoton steigend
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.
Anzahl Dokumente
%
2.23
Recall-Precision-KurvenRecall-Precision-Kurven
0 - 10010 100 10020 50 6030 60 6040 57 5750 42 5060 46 5070 50 5080 50 5090 47 47
100 45 45
Recall -Level Precision Interpolation
10 25 50 75 100
75
50
25
100
Precision
Recall
Interpolation liefert monoton fallende precision-Kurve:
Ip(r) = max (pi | rang i >= rang r}
Ideale RC-Kurve
2.24
GrundlagenGrundlagen
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 DokumenteTREC (Text Retrieval Conference) - Initiative
2.25
GrundlagenGrundlagen
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
2.26
Grundlagen IndexierungGrundlagen Indexierung2.3 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
term1termi
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.
2.27
Grundlagen: IndexierungGrundlagen: Indexierung
Beispiel (Robert Gernhardt)1 Der Herr rief: Lieber Knecht2 Mir ist entsetzlich schlecht!3 Da sprach der Knecht zum Herrn:4 Das hört man aber gern
Entsetzlich; 2 Gern; 4Herr; 1,3Hör; 4Knecht;1,3Lieb; 1Ruf; 1Schlecht; 2Sprech; 3
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)
2.28
Grundlagen: IndexierungGrundlagen: 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?
2.29
Grundlagen: IndexierungGrundlagen: Indexierung
Beispiel für DokumentkollektionenBibel TREC
# Dokumente N 31101 741856# Terme F 884994 333338738# verschiedene n
8965 535346
#Dokument-verweise f
701412 134994414
Größe (MBytes) 4,33 2070
2.30
Grundlagen: IndexierungGrundlagen: 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 NTREC: ~ 20 Bits -> ~ 340 MBytes