Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme...

22
Kap.1-65 Multimedia Retrieval - SS02 Bemerkungen Vorteile: – Synonyme stellen kein Grundsätzliches Problem mehr dar – Kleiner Aufwand bei der Termextraktion; keine Thesauri notwendig; unterschiedliche Sprachen stellen kein Problem dar; stemming nicht unbedingt notwendig – Gute Retrievalqualität Nachteile: – Hoher Aufwand bei der Berechnung der SVD; schnelle SVD-Algorithmen (parallel!) notwendig – Hoher Aufwand bei der Beantwortung einer Anfrage; keine optimale Indexunterstützung wie bei den bisherigen Methoden (invertierte Listen funktionieren nicht mehr, da reduzierte Vektoren nicht mehr dünn-besetzt sind) – Retrievalqualität nicht besser als bei anderen Methoden, d.h. Aufwand-Qualität Verhältnis bei der Auswertung ist schlecht Kap.1-66 Multimedia Retrieval - SS02 1.4 Indexstrukturen Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese Lösung an. Invertierte Listen (siehe nächster Abschnitt) eignen sich nicht für LSI, da die reduzierten Vektoren voll sind (in der ursprünglichen Darstellung sind die Dokumentenvektoren dünn-besetzt) – Im Kap. 3 werden wir u.a. auch für LSI spezielle multi-dimensionale Suchstrukturen vorstellen, welche die sequentielle Suche weiter beschleunigen können (Stichwort: VA-File) Wie kann man Boolesche Suche oder Vektorraumretrieval effizient implementieren? – invertierte Listen reduzieren die Kosten – Implementierung in einer relationalen Datenbank vereinfacht das Retrieval massiv Wie kann man “unscharf” suchen? – N-Gramme anstatt Wörter als Terme verwenden – Signaturen: ein approximation der Textdaten soll helfen, einfache Fehler grosszügig zu “übersehen”

Transcript of Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme...

Page 1: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-65Multimedia Retrieval - SS02

Bemerkungen

• Vorteile:– Synonyme stellen kein Grundsätzliches Problem mehr dar

– Kleiner Aufwand bei der Termextraktion; keine Thesauri notwendig;unterschiedliche Sprachen stellen kein Problem dar; stemming nicht unbedingtnotwendig

– Gute Retrievalqualität

• Nachteile:– Hoher Aufwand bei der Berechnung der SVD; schnelle SVD-Algorithmen

(parallel!) notwendig

– Hoher Aufwand bei der Beantwortung einer Anfrage; keine optimaleIndexunterstützung wie bei den bisherigen Methoden (invertierte Listenfunktionieren nicht mehr, da reduzierte Vektoren nicht mehr dünn-besetzt sind)

– Retrievalqualität nicht besser als bei anderen Methoden, d.h. Aufwand-QualitätVerhältnis bei der Auswertung ist schlecht

Kap.1-66Multimedia Retrieval - SS02

1.4 Indexstrukturen

• Einfache Lösung: Sequentielle Suche

– Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizientesteLösung

– Bei LSI bietet sich diese Lösung an. Invertierte Listen (siehe nächster Abschnitt)eignen sich nicht für LSI, da die reduzierten Vektoren voll sind (in derursprünglichen Darstellung sind die Dokumentenvektoren dünn-besetzt)

– Im Kap. 3 werden wir u.a. auch für LSI spezielle multi-dimensionaleSuchstrukturen vorstellen, welche die sequentielle Suche weiter beschleunigenkönnen (Stichwort: VA-File)

• Wie kann man Boolesche Suche oder Vektorraumretrieval effizient implementieren?– invertierte Listen reduzieren die Kosten

– Implementierung in einer relationalen Datenbank vereinfacht das Retrieval massiv

• Wie kann man “unscharf” suchen?

– N-Gramme anstatt Wörter als Terme verwenden

– Signaturen: ein approximation der Textdaten soll helfen, einfache Fehlergrosszügig zu “übersehen”

Page 2: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-67Multimedia Retrieval - SS02

1.4.1 Invertierte Listen

• Die Dokumentenvektoren sind häufig sehr dünn besetzt, d.h. die Dokumenteverwenden nur einen Bruchteil der vorhandenen Terme

• Für einen Term gibt es nur eine relativ kleine Menge von Dokumenten, welche diesenTerm auch verwenden (Ausnahme: Stopwörter; aber diese wurden bei derVorverarbeitung bereits eliminiert)

• Bei der Booleschen Suche braucht man also nur jene Dokumente zu betrachten,welche mindestens einen der Suchterme enthalten

• Für das Vektorraumretrieval muss eine RSV-Funktion ausgewertet werden. Bei allenvorgestellten RSV-Funktionen gilt:

– rsv(Q,D) = 0, falls Dokument D keinen Suchterm der Anfrage Q enthält– rsv(Q,D) > 0, falls Dokument D mindestens einen Suchterm enthält

Kap.1-68Multimedia Retrieval - SS02

D2(2), D3(1), D10(1), D19(2), D32(2), D45(1), D48(1)

Idee und Anfrageauswertung

• Idee der invertierten Listen:– Zu jedem indexierten Term wird eine Liste der Dokumente gespeichert, welche

den Term enthalten

• Boolesches Retrieval:– Lese die Dokumentelisten zu jedem Term in der Anfrage– Führe Mengenoperationen gemäss Anfrage aus

– Bsp: cat AND dog• Mcat = {D2, D3, D10, D19, D32, D45, D48}, Mdog = {D2, D5, D7, D19}• Resultat= Mcat ∩ Mdog

– Bsp: cat AND (NOT dog)• Mcat = {D2, D3, D10, D19, D32, D45, D48}, Mdog = {D2, D5, D7, D19}• Resultat= Mcat - Mdog

dogcat

D2(1), D5(2), D7(1), D19(3) Termhäufigkeit

Dokument

invertierte Liste

Page 3: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-69Multimedia Retrieval - SS02

Anfrageauswertung

• Vektorraumretrieval– Schritt 1: Ermittle alle Dokumente, welche mindestens einen Suchterm enthalten

– Schritt 2: Berechne den RSV-Wert nur für diese Dokumente– Schritt 3: Bestimmte die besten Dokumente (absteigende Ordnung der RSV-

Werte)

– Bsp: cat dog

• M = Mcat ∪ Mdog = {D2, D3, D5, D7, D10, D19, D32, D45, D48}

• ∀ D∈ M: berechne rsv(Q,D) (inneres Vektorprodukt, Ann. idf(ti)=1 )– D2: rsv=3

– D3, D7, D10, D45, D48: rsv=1

– D5, D32: rsv=2– D19: rsv=5

• ordne gemäss rsv(Q,D)

– D19, D2, D5, D32, D3, D7, D10, D45, D48

• Probabilistisches Retrieval– wie Vektorraumretrieval, aber zuerst werden die ci-Werte berechnet

Kap.1-70Multimedia Retrieval - SS02

Implementierungsvarianten

• Implementierung auf Dateisystem

– Die Terme (mit Dokumentenhäufigkeit) werden in einer Datei gespeichert

– Für jeden Term verwendet man eine separate Datei, welche die IDs derDokumente enthält, welche den Term verwenden (beim Vektorraumretrieval musszusätzlich noch die Termhäufigkeit abgespeichert werden)

– Vorteile:

• einfache Implementierung• gute Performance

• es gib zahlreiche Lösungen

– Nachteile:• keine Transaktionsgarantien (ausser man macht es selber), damit auch

Probleme, wenn parallel gesucht und geändert wird

– Konkrete Problemstellungen in der Praxis• Kompression der Indexe um Platz, vor allem aber IO-Kosten beim Retrieval zu

sparen• Effizientes Modifizieren des Indexes beim Einfügen/Mutieren/Löschen von

Dokumenten

Page 4: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-71Multimedia Retrieval - SS02

Implementierungsvarianten (2)

• Implementierung mittels einer relationaler Datenbank (nach GF98)

– Man benötigt drei Tabellen zur Speicherung der indexierten Daten

• Dokumententabelle (evtl. mit zusätzlichen Metadaten)• Termtabelle: enthält alle Terme und die Dokumentenhäufigkeit

• Invertierte Liste: enthält Dokumenten-Term Paare mit der Termhäufigkeit

– Auswertung mittels geeigneter „Select“-Statements und Hilfstabelle– Vorteile:

• alles was ein DBMS zu bieten hat (Transaktionen, Recovery, Caching, etc.)

• gute Performance (etwa gleich gut wie Datei-basierte Implementierung)• einfache Implementierung / geringe zusätzliche Software/Kosten

(vorausgesetzt man hat schon ein DBMS)– Nachteil:

• nicht so effizient wie eine Dateibasierte Lösung (aber meistens nochgenügend schnell)

Kap.1-72Multimedia Retrieval - SS02

docid doc_name date dateline1 WSJ870323-0180 3/23/87 Turin, Italy2 WSJ870323-0161 3/23/87 Du Pont Company, Wilmington, DE

DOC

doc_id term tf1 commercial 11 vehicle 11 sales 21 italy 11 february 11 year 11 according 1

...2 krol 22 president 22 diversified 12 company 12 succeeding 12 dale 12 products 2

....

INDEX TERM

term idfaccording 0.9031commercial 1.3802company 0.6021dale 2.3856diversified 2.5798february 1.4472italy 1.9231krol 4.2768president 0.6990products 0.9542sales 1.0000succeeding 2.6107vehicle 1.8808year 0.4771

QUERY

term tfvehicle 1sales 1italy 1

1.4.2 IR mittels relationalem DBMS

Beachte Trick:Query istebenfallsRelation

Page 5: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-73Multimedia Retrieval - SS02

Auswertung einer Booleschen Anfrage

• Variante 1: ohne Query TabelleQ=„vehicle, sales, italy“

SELECT a.DocIDFROM Index a,Index b,Index c

WHERE a.Term=‘products‘ ANDb.Term=‘sales‘ ANDc.Term=‘italy‘ ANDa.DocID=b.DocID ANDa.DocID=c.DocID;

• Variante 2: mit Query TabelleQ=„vehicle, sales, italy“

DELETE FROM Query;INSERT INTO Query

VALUES(‘vehicle‘,1);INSERT INTO Query

VALUES(‘sales‘,1);INSERT INTO Query

VALUES(‘italy‘,1);

SELECT a.DocIDFROM Index i, Query q

WHERE i.Term=q.TermGROUP BY i.DocID

HAVING COUNT(i.Term)=(SELECT COUNT(*) FROM QUERY)

Kap.1-74Multimedia Retrieval - SS02

Auswertung im Vektorraummodell

• Z.B. mit dem inneren Vektorprodukt und tf-idf GewichtungQ=„vehicle, sales, italy“

DELETE FROM Query;INSERT INTO Query

VALUES(‘vehicle‘,1);INSERT INTO Query

VALUES(‘sales‘,1);INSERT INTO Query

VALUES(‘italy‘,1);

SELECT i.DocID, SUM(q.tf * t.idf * i.tf * t.idf)FROM Query q, Index i, Term tWHERE q.Term=t.Term AND

i.Term=t.TermGROUP BY i.DocIDORDER BY 2 DESC;

Page 6: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-75Multimedia Retrieval - SS02

1.4.3 Signaturen

• Grundlegende Idee

– Textdaten werden approximiert durch Bitstrings, welche die „wesentlicheInformation“ des Textes enthält

– Anfragen werden ebenso approximiert

– Auswertung: die Anfrageapproximation wird mit den Approximationen derTextdaten verglichen. Bei genügend guter „Übereinstimmung“ wird derTextdatensatz als Resultat ausgegeben

• Wichtige Fragestellung

– was ist die „wesentliche Information“ eines Textes oder wie bildet man einen Textauf einen Bitstring ab?

– was bedeutet genügend „gute Übereinstimmung“?

• Weitere Überlegungen

– offensichtlich müssen die Approximationen aller Texte angeschaut werden, d.h.die Signaturen dürfen nicht zu gross sein, so dass ein Sequentieller Scan nicht zuteuer wird

Kap.1-76Multimedia Retrieval - SS02

Grobe Übersicht der Signaturmethode

• Ein Dokument wird, wie bei den bisher besprochenen Retrievalverfahren durchMerkmale beschrieben (Zeichen, N-Gramme, Wörter, Textfragmente)

• Für jedes Merkmal wird mittels einer Hash-Funktion eine Bitposition berechnet. Fallsdie Signatur die Länge l hat, so liegen natürlich die Bitpositionen im Bereich 1..l.Ferner sollte die Hash-Funktion so konstruiert werden, dass die Merkmale möglichstgleichmässig auf die Bitpositionen abgebildet werden (siehe später).

• Ein Dokument D/eine Anfrage Q wird nun wie folgt auf eine Signatur SD / SQabgebildet:– zu Beginn ist die Signatur leer, d.h. alle Bits sind 0– für jedes Merkmal e im Dokument/in der Anfrage wird die Bitposition via die Hash-

Funktion h(e) berechnet. Das entsprechende Bit wird in der Signatur auf 1 gesetzt.• Abfrage mittels Signaturtest

– Üblicherweise fordert man beim Retrieval, dass die Menge der Merkmale in derAnfrage in den Dokumenten der Antwort enthalten sein muss.

– Wegen der Abbildung der Merkmale auf Bitpositionen bedeutet dies: falls ein Bit inder Signatur der Anfrage gesetzt ist, so muss es auch in der Signatur desDokumentes gesetzt sein

– Der Signaturtest lautet somit: SQ ∧ (¬ SD ) = 0– Für die „unscharfe“ Suche verwendet man ein Distanzmass, d.h. die Anzahl Bits,

welche in SQ ∧ (¬ SD ) noch gesetzt sind, muss kleiner als ein vorgegebener Wertsein (z.B. <3; damit wären maximal 2 Bitfehler erlaubt)

Page 7: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-77Multimedia Retrieval - SS02

Beispiel

• Eine Beispieldatenbank enthält folgende Datensätze (Signatur wurde mit gegebenerSignaturfunktion berechnet):

• Eine Anfrage wie „Ort=‚Da‘ AND Material=‚Hammer‘“ kann dann effizient mittelsSignaturvergleich evaluiert werden. Sei SQ=0001001. Alle Tupel, welcheSQ ∧ (¬ SD ) = 0 erfüllen, gelten als Kandidaten. Im Beispiel: { t4, t6 }

• Offensichtlich ist nur t4 ein Treffer; t6 ist ein sogenannter „false drop“. Mit anderenWorten: der Signaturvergleich kann nur entscheiden, welche Tupel nicht in Fragekommen. Die eigentlichen Treffer müssen in einem zweiten Schritt ermittelt werden.

10110100BolzenDuSchimit7

10010011HammerFKojakt6

11010010FilterDaMagnumt5

10110011HammerDaSchulzt4

10001100BohrerHdHolzt3

01010110DichtungenBMüllert2

01001011SchraubenMMandrot1

Signatur (SD )MaterialOrtName

Kap.1-78Multimedia Retrieval - SS02

1.4.3.1 Berechnung der Signaturen

• Im Folgenden betrachten wir einige Möglichkeiten, um Texte auf Signaturenabzubilden. Vor allem die Hashfunktion muss aber von Fall zu Fall optimiert werden.

• Notationen:

l Bitlänge der Signaturbi i-tes Bit in der SignaturSQ Signatur der AnfrageSD Signatur des Dokumentes Dg Signaturgewicht eines TermsN Anzahl DokumenteW Grösse des Wörterbuchs (Anz. verschiedener Terme)SP SignaturpotentialF Fehlerrate

Page 8: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-79Multimedia Retrieval - SS02

• Binärsignaturen– Terme werden eindeutig auf eine der 2l möglichen Signaturen abgebildet. Gesucht

wird mit dem Gleichheitsoperator, d.h. zwei Signaturen müssen exaktübereinstimmen.

– Diese Methode erlaubt es, sehr effizient zu überprüfen, ob zwei Dokumente (resp.2 Terme) identisch sind. Sie eignet sich aber nur, falls Dokumente stets ausderselben Anzahl Terme bestehen. Teilanfragen und „substring matching“ sindnicht möglich.

• Superimposed Coding– Ein Term belegt g Bits der gesamten Signatur (g ist das Signaturgewicht); falls ein

Dokument aus mehreren Termen besteht, kann mittels Überlagerung eineSignatur für das gesamte Dokument berechnet werden. Die Verknüpfung derÜberlagerung entspricht dabei der ODER-Funktion:

text 010010001000 S1search 010000100100 S2methods 100100000001 S3————————————————————————————text search methods 110110101101 S1∨ S2∨ S3

– Terme können auf verschiedene Signaturen abgebildet werden. Durch dieÜberlagerung kann aber nicht mehr ermittelt werden, wie die Ursprungssignaturenausgesehen haben. D.h. es ist möglich, dass zwei verschiedene Dokumentedieselbe Signatur aufweisen. Damit entstehen zusätzliche Fehler.

g

l

Kap.1-80Multimedia Retrieval - SS02

– Die Anfrage wird ebenfalls mittels superimposed coding in eine Signaturtransformiert. Der Vergleich mit den Signaturen der Dokumente ist definiert als:

• jedes Bit in der Anfragesignatur muss auch in der Dokumentensignatur gesetztsein. Damit kann man garantieren, dass alle Dokumente, welche dieSuchterme enthalten auch gefunden werden. Aber: es können auchDokumente gefunden werden, welche die Suchterme nicht (oder nur z.T.)enthalten (false drops)

• Eine effiziente Auswertung ergibt sich mittels: SQ ∧ (¬ SD ) = 0

– Beispiel:text search methods 110110101101in search of knowledge-based IR 010110101110

an optical system for full text search 010110101100

the lexicon and IR 101001001001

Anfrage:

text search 010010101100

Resultat: die ersten drei Dokumente erfüllen den Signaturvergleich; aber das2-te Dokument enthält nicht alle Anfrageterme

Page 9: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-81Multimedia Retrieval - SS02

– Abbildung der Terme auf Signaturen• Die Erzeugung einer Signatur ist stets abhängig von den Termen, welche zur

Indexierung benutzt werden und der Dokumentenkollektion

• Beispiel 1: im Folgenden bilden Buchstaben die zugrunde liegenden Terme.Dabei werden mehrere Buchstaben zu einer Klasse zusammengefasst, sodass die W‘keiten der Klassen gleich gross ist:

– Die Hashfunktion basiert auf jeweils zwei aufeinanderfolgende Zeichen(c1,c2) in einer Zeichenkette. Z.B. (T(c) bestimmt Klasse in der c liegt):

h(c1,c2) = [7*T(c1) + T(c2)] MOD l

D G L Q7

M O T W6

A B Ü V Z F8

H Ö S5

C I K4

R U3

Ä J N P X Y2

E1

<space> , - . ; : / ...0

charT

Buchstaben ingleichwahrscheinliche

Klassen eingeteilt

Kap.1-82Multimedia Retrieval - SS02

• Beispiel 2: Eine weitere Möglichkeit wäre, allen Buchstaben ihre Position imASCII-Alphabet zuzuweisen (dabei werden alle Formen z.B. des BuchstabenA [a,A,ä,Ä,à,À,...] auf die selbe Position abgebildet). Die Hashfunktion könntedann wie folgt aussehen

h(c1,c2) = [26*Pos(c1) + Pos(c2)] MOD l

• Die Hashfunktionen sollten natürlich so konstruiert werden, dass im Mittel alleBitpositionen gleich häufig belegt werden. Aufgrund der Termhäufigkeiten odermittels Experimenten kann eine solche Funktion für das aktuelle Problembestimmt werden. Ebenso ist es möglich (analytisch oder experimentell) eineoptimale Anzahl Bits für die Signaturen zu bestimmen.

• Disjoint Coding– Im Gegensatz zum Superimposed Coding werden die Signaturen der Terme eines

Dokumentes/Datensatzes nicht überlagert, sondern zu einer langen Signatur fürden ganzen Text verkettet. Die Suche erfolgt dann entlang dieser Kette.

– Wir nehmen an, dass ein Term genau g Bits der Signatur mit Länge l setzt. Wieviele verschiedene Codierungen (Bitstrings) für Terme gibt es?

• SP = SP( l,g ) sei das Signaturpotentzial, d.h. die Anz. verschiedenerCodierungen von Termen mit g gesetzten Bits in einer Signatur der Länge l

• dann ist:

maximal falls g = l/2)!(!

!),(

glg

l

g

lglSP

−=

=

Page 10: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-83Multimedia Retrieval - SS02

– Bestimmung der Fehlerrate F

• Die M verschiedenen Terme werden auf SP verschiedene Signaturenabgebildet. Somit gibt es pro Signatur M/SP verschiedene Terme.

• Falls nach einem bestimmten Term gesucht wird mittels Signaturvergleich(Gleichheit der Signaturen), so erhält man ebenfalls Signaturen der M/SP-1anderen Termen mit derselben Signatur wie der Anfrageterm.

• Damit: N: Anz. Dokumente

– Will man die Fehlerrate unter eine Grenze drücken, so kann man, gegeben F, dasSignaturpotential und damit die Signaturlänge berechnen:

– Bsp. für SP :

M

N

SP

MF

−= 1

NMF

NMSP

+⋅⋅=

601 080 3901632

2 704 1561224

12 870816

7048

SPgl

Kap.1-84Multimedia Retrieval - SS02

• Block Superimposed Coding– Nur die Signaturen, welche innerhalb eines Textblockes auftreten, werden

überlagert (superimposed coding). Die Signaturen der Textblöcke einesDokumentes werden wie beim Disjoint Coding hintereinander gehängt (d.h. einDokument besteht aus mehreren Signaturen)

• Übersicht der Codierungsvarianten

This is a text. A text has many words. Words are made from letters.Block 1 Block 2 Block 3 Block 4

= 100001h(letters)= 001100h(made)= 100100h(words)= 110000h(many)= 000101h(text)

Block Super-imposedCoding

000101 110101 100100 101101

DisjointCoding

000101 000101 110000 100100 100100 001100 100001

Super-imposedCoding

111101

Page 11: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-85Multimedia Retrieval - SS02

1.4.3.2 Ähnlichkeitssuche

• Ähnlichkeitssuche oder „Ranking“ ist mit Signaturen ebenfalls möglich. Im Gegensatzzu den bisher besprochenen Retrievalmodellen können damit auch Dokumente mitTippfehler oder falsch geschriebene Namen („Maier“, „Meier“) gefunden werden.

• Für die Ähnlichkeitssuche brauchen wir eine Distanzfunktion, welche aussagt, wie gutdie Anfragesignatur SQ zur Dokumentensignatur SD passt.

– Hamming-Distanz• Die Distanz wird berechnet als die Anzahl der abweichen Bits in den

Signaturen SQ und SD.

• Eine effiziente Implementierung berechnet erst B = SQ XOR SD. Die Hamming-Distanz ist dann gegeben als die Anzahl gesetzter Bits in B. Sei w() eineFunktion, welche die Anzahl gesetzter Bits in einem Bitstring zählt. Dann ist:

hamming(SQ ,SD ) = w ( SQ XOR SD )

• Eine schnelle Zählung der Bits kann mittels „look-up“-Tabellen realisiertwerden. Diese Tabelle enthält z.B. für alle 8-Bit Substrings die Anzahl Bits diegesetzt sind (also: 01001001 -> 3, 11101001 -> 5). B wird dann in 8-BitSubstrings aufgeteilt, für jeden Substring ermittelt man die Anzahl gesetzterBits, summiert diese und erhält die Hamming-Distanz zwischen SQ und SD.

Kap.1-86Multimedia Retrieval - SS02

– Cover-Distanz• Die Cover-Distanz berechnet die Anzahl Bits, welche in der Anfragesignatur

gesetzt sind, nicht aber in der Dokumentensignatur.

• Eine effiziente Implementierung berechnet erst B = SQ AND SD. Die Cover-Distanz ist dann gegeben als:

cover(SQ ,SD ) = w( SQ ) - w ( SQ AND SD )

• Diskussion:– Die Hamming-Distanz eignet sich, falls die Anfrage als vollständiges Beispiel

vorgegeben wird, wie die Antwort aussehen sollte.

– Die Cover-Distanz eignet sich, um Teilanfragen oder unvollständige Anfragenauszuwerten (z.B. kennt man nur den Nachnamen, nicht aber den Vornamen).

Page 12: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-87Multimedia Retrieval - SS02

1.4.3.3 Speicherstrukturen

• Sequentielle Signaturen– Die Signaturen der Dokumente werden sequentiell gespeichert. Die Beantwortung

einer Anfrage erfolgt durch einen linearen Scan durch alle Signaturen (1. Phase).In der 2. Phase müssen die gefunden Kandidaten in Treffer und „false drops“aufgeteilt werden („random access“ auf die Dokumente)

– Im Vergleich zur Volltextsuche ist diese Organisation sehr viel schneller(Bitoperationen sind günstiger als String-Vergleiche). Im Vergleich zuminvertierten Index ist die Performance aber ungenügend.

– Beispiel: Die Anfragesignatur sei „10100000“ und der Signaturvergleich sei„enthalten in“ (siehe Superimposed Coding: SQ ∧ (¬ SD ) = 0 )

10111000S8

01010001S7

10100110S6

11101001S4

00100111S5

1

0

1

b7

0100110S3

0011101S2

1010100S1

b8b6b5b4b3b2b1

Kan

did

aten Treffer

false drop

1 2

Kap.1-88Multimedia Retrieval - SS02

• Bitscheibenorganisation („bitsliced“) - Vertikale Partitionierung– Sei l die Länge der Signaturen. Bei der Bitscheibenorganisation wird für jedes der

l Bits eine separate Datei unterhalten, so dass in der j-ten Datei an der i-tenPosition das j-te Bit der i-ten Dokumentensignatur steht.

– Der grösste Vorteil dieser Organisation besteht darin, dass man bei der Suche nurjene Bitscheiben lesen muss, für welche in der Anfragesignatur eine 1 gesetzt ist(Ausnahme: Hamming-Distanz)

– Beispiel: Die Anfragesignatur sei „10100000“ und der Signaturvergleich sei„enthalten in“ (siehe Superimposed Coding: SQ ∧ (¬ SD ) = 0 )

10111000S8

00000101SQ

01010001S7

10100110S6

11101001S4

00100111S5

1

0

1

b7

0100110S3

0011101S2

1010100S1

b8b6b5b4b3b2b1

00

01

10

01

11

10

11

10

b3b1

0

0

0

0

1

0

1

0Scheibenmit (SQ)i=1

lesen b1 ∧ b3

Kandidaten

Treffer

false drop

21

Page 13: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-89Multimedia Retrieval - SS02

• Horizontale Partitionierung– Bei der horizontalen Partitionierung werden die Signaturen in disjunkte Gruppen

aufgeteilt und in separaten Dateien („Buckets“) gespeichert. Die Gruppen werdenhäufig so gebildet, dass man aufgrund der Anfragesignatur entscheiden kann, obdie Gruppe entweder Kandidaten enthält oder keine Kandidaten enthalten kann(wobei vor allem letzteres entscheidend ist).

– Die Auswertung folgt dann einem drei-stufigem Verfahren:

1. Gruppen resp. Buckets identifizieren, welche Kandidaten enthalten können

2. Alle Buckets lesen, Signaturen vergleichen und Kandidaten bestimmen3. Dokumente der Kandidaten lesen und überprüfen ob es sich um einen Treffer

oder um einen „false drop“ handelt.

– Zur Bildung der Gruppen wird eine zusätzliche Hash-Funktion benötigt, welcheeinen Schlüssel für eine Signatur berechnet. Alle Signaturen mit demselbenSchlüssel werden in demselben Bucket gespeichert.

• Eine einfache Hash-Funktion extrahiert die ersten k Bits der Signatur (fixedprefix), wobei k typischerweise klein ist.

• Bei „extended prefix“ wird der Schlüssel ebenfalls aus den ersten Bits derSignatur gebildet. Die Länge der Schlüssel ist aber dynamisch, d.h. manextrahiert so viele Bits zu Beginn der Signatur bis ein bestimmtes Gewicht(=Anz. 1er) überschritten wird.

Kap.1-90Multimedia Retrieval - SS02

– Beispiel: Der Schlüssel wird aus den ersten zwei Bits gebildet; die Anfrage seiwiederum „10100000“ und der Signaturvergleich sei „enthalten in“ (sieheSuperimposed Coding: SQ ∧ (¬ SD ) = 0 )

10111000S8

1

b7

1010100S1

b8b6b5b4b3b2b1

10100110S6

1

b7

0100110S3

b8b6b5b4b3b2b1

01010001S7

11101001S4

0

b7

0011101S2

b8b6b5b4b3b2b1

00100111S5

b7 b8b6b5b4b3b2b1

Keys

Buckets

00 01 10 11

Anfrage Key = 10(damit enthalten dieGruppen 00 und 01sicher keine Treffer)

00100111S5

01010001S7

11101001S4

0

b7

0011101S2

b8b6b5b4b3b2b1

Kan

did

aten

Treffer

false drop

2 3

1

Page 14: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-91Multimedia Retrieval - SS02

• Signatur Baum (S-Tree)– Ähnlich wie bei der horizontalen Partitionierung werden Gruppen von Signaturen

gebildet. Eine Gruppe ist typischerweise recht klein (passt in eine Datenbankseite)und es gibt keinen Schlüssel wie bei der horizontalen Partitionierung. Stattdessenwird eine „Blocksignatur“ für die ganze Gruppe gebildet (mittels SuperimposedCoding). Diese Blocksignaturen werden dann wiederum als Signaturen betrachtetund rekursiv weiter gruppiert. Dabei entsteht ein Baum, der Signatur Baum.

– Die Gruppenbildung muss offensichtlich so erfolgen, dass die Hamming-Distanzenzwischen den Signaturen einer Gruppe minimal ist. Die dynamische Organisationerfolgt wie beim B-Baum (splits bei Überlauf eines Knotens; merge/reinsert beimUnterlauf eines Knotens).

– Bei der Auswertung der Anfrage traversiert man all jene Knoten im S-Baum, fürwelche die Blocksignatur zur Anfragesignatur passt. Dabei kann man wiederumnur diejenigen Signaturen ausschliessen, welche an den Stellen, bei welchen inder Anfragesignatur eine 1 steht, eine 0 in der Signatur aufweisen.

– Problem: Die Blocksignaturen enthalten sehr viel 1er (je näher bei der Wurzel,desto mehr 1er). Damit lassen sich auf den ersten Stufen nur wenige Blöckeausschliessen.

Kap.1-92Multimedia Retrieval - SS02

– Beispiel: Die Anfrage sei wiederum „10100000“ und der Signaturvergleich sei„enthalten in“ (siehe Superimposed Coding: SQ ∧ (¬ SD ) = 0 )

11011101•

11100111•

1

b7

1111001•

b8b6b5b4b3b2b1

Blätter01010001S7

11101001S4

10111000S8

b7 b8b6b5b4b3b2b1

00011101S2

1

b7

1010100S1

b8b6b5b4b3b2b1

10100110S6

00100111S5

01100110S3

b7 b8b6b5b4b3b2b1

Wurzel(mit Block-Signaturen) Übereinstimung

mit Anfrage

S2 S5Kandidaten

Treffer false drop

Page 15: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-93Multimedia Retrieval - SS02

1.5 Vergleich verschiedener Suchalgorithmen

• Im Allgemeinen gibt es mehrere Möglichkeiten Information zu suchen. In Datenbankenaber unterscheiden sich die Verfahren nur bzgl. ihrer Effizienz, nicht aber bzgl. ihrerGüte. Z.B. liefert die Anfrage SELECT * From Person WHERE Name=„Meier“ immerdieselben Tupel zurück (egal ob ein Index für die Suche benutzt wird oder nicht)

• Im Information Retrieval ist die Effizienz zwar auch wichtig, doch spielt die Güte eineviel zentralere Rolle. Mit Güte ist aber nicht nur die Menge der gefundenenDokumente gemeint, sondern auch in welcher Reihenfolge die Dokumente präsentiertwerden (siehe Suchmaschine: falls das relevante Dokument erst auf Platz 1000 steht,dann nützt dies im Allgemeinen nichts).

• Die Bewertung der Güte ist aber nicht absolut möglich! Sie beruht auf der Bewertungder Relevanz durch einem Spezialisten des entsprechenden Gebiets in einemkontrollierten Datenbestand.

• Die jährlich stattfindende „Text REtrieval Conference“ (TREC) hat sich zum Zielgesetzt, die Effektivität von Retrieval-Algorithmen objektiv zu messen. Die erstenKonferenzen haben sich vor allem auf Textdokumente konzentriert; zunehmendwerden aber auch andere Dokumenttypen berücksichtigt. Eine Aufgabe besteht aus

– einer Standard Dokumentenkollektion (mehr als 3 GB)– Standard Anfragen (200 Queries)

– Expertenurteile, welche Dokumente relevant zu einer Anfrage sind

Kap.1-94Multimedia Retrieval - SS02

1.5.1 Boolesches Retrieval

• Beim Booleschen Retrieval erhält man eine Antwort ohne Ordnung, d.h. das Systemkann nicht zwischen „sehr relevant“ und „möglicherweise relevant“ unterscheiden.

• Für die Evaluation von Algorithmen / Systemen haben sich die Grössen Precision undRecall durchgesetzt. Die Precision drückt aus, wie viele der vom System geliefertenAntworten auch wirklich relevant sind. Der Recall hingegen beschreibt, welcherProzentsatz der relevanten Dokumente der Kollektion auch wirklich gefunden wurde.Daneben benutzt man häufig auch den Fallout, welcher die Fähigkeit des Systemsbewertet, irrelevante Dokumente vom Benutzer fernzuhalten.

• Notationen:

A Alle DokumenteRQ Menge der relevanten Dokumente für Anfrage Q (alle in der Kollektion)FQ Menge der vom System gelieferten Dokumente für Anfrage Q

• Damit lassen sich Precision ( p ), Recall ( r ) und Fallout ( f ) wie folgt definieren:

| FQ ∩ RQ | | FQ ∩ RQ | | FQ \ RQ |p = —————— r = —————— f = ——————

| FQ | | RQ | | A \ RQ |

Page 16: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-95Multimedia Retrieval - SS02

Visualisierung

Gesamte Kollektion(a)

x x y - xPrecision: p = —— Recall: r = —— Fallout: f = ———

y z a - z

RelevanteDokumente

(z)

Erhaltene Dokumente(y)

relevant,erhalten

(x)

Kap.1-96Multimedia Retrieval - SS02

Weitere Grössen

• Neben Precision, Recall und Fallout existieren noch weitere Grössen:

– Gesamtrelevanz:

| RQ |g = ————

| A |

Damit ergibt sich auch folgender Zusammenhang: f ⋅ p ⋅ (1-g) = r ⋅ g ⋅ (1-p)

– F-Mass: Verrechnet Precision und Recall zu einem einzigen Wert. Der Parameterβ bestimmt, wie wichtig Precision resp. Recall sind (β = 0: nur Precision zählt;β = ∞: nur Recall zählt).

(β 2 + 1) ⋅ p ⋅ rFβ = ———————

β 2 ⋅ p + r

Je grösser das F-Mass, desto besser arbeitet der Algorithmus/das System.Typischerweise arbeitet man mit β = 1.

Page 17: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-97Multimedia Retrieval - SS02

Mittelwertbildung

• Normalerweise bewertet man ein System nicht nur mittels einer Anfrage sondernaufgrund von n Experimenten. Dabei ergeben sich auch n Mengen Fi (gefundeneDokumente für Anfrage Qi) und n Mengen Ri (relevante Dokumente für Anfrage Qi).Jede Frage liefert dabei ein Precision-Recall-Werte-Paar ( ri , pi ). Diese sollenverrechnet werden zu einem einzigen Precision-Recall-Paar ( r, p ) für das System unddie gegebene Menge von Anfragen.

– Makrobewertung: p resp. r sind gegeben als Mittel der pi resp. ri , also:

1 n-1 1 n-1 | Fi ∩ Ri | 1 n-1 1 n-1 | Fi ∩ Ri |p = —∑ pi = — ∑ —————— r = —∑ ri = — ∑ ——————

n i=0 n i=0 | Fi | n i=0 n i=0 | Ri |

– Mikrobewertung: die Mittelwertbildung erfolgt im Zähler und Nenner

∑ i=0..n-1 | Fi ∩ Ri | ∑ i=0..n-1 | Fi ∩ Ri |p = ————————— r = ——————————

∑ i=0..n-1 | Fi | ∑ i=0..n-1 | Ri |

Kap.1-98Multimedia Retrieval - SS02

1.5.2 Retrieval mit Ordnung der Dokumente

• Alle Verfahren ausser dem Booleschen Retrieval ordnen die Dokumente. DieRangordnung sollte bei der Qualitätsbetrachtung berücksichtigt werden. Dabei werdenhäufig die P-R-Werte in Abhängigkeit der Grösse des Resultates gemessen.– Beispiel: Zur Anfrage Q gibt es genau 5 relevante Dokumente in der Kollektion,

Ein System liefert folgendes Resultat:

1.00.36990141.00.38x772130.80.33591120.80.36103110.80.40985100.80.4457890.80.5098880.80.5798470.80.67x59260.60.6098650.60.75x59040.40.6757630.41.00x58920.21.00x5881

ripix=rel.DokNr.n

P-R-Werte für die erstenfünf Dokumente (allg. fürdie ersten n Dokumenteim Resultat)

Page 18: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-99Multimedia Retrieval - SS02

• Die so gewonnen P-R-Werte können in einem Diagramm gezeichnet werden.Auffallend ist, dass die Recall-Werte „springen“, d.h. nicht stetig sind, aber monotonzunehmen. Die Precision-Werte sind ebenfalls nicht stetig, nehmen ab, falls einDokument nicht relevant ist und nehmen zu, falls es relevant ist.

• Der resultierende Graph kann nicht zur Interpolation verwendet werden. Deshalbwerden für die P-R-Graphen häufig treppenförmige Kurven gewählt. Dabei wird -gedanklich - eine horizontale Linie durch jedes P-R-Paar gelegt und man interpoliertmit diesen Linien den Graphen.

0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1

Recall

Pre

cisi

on

OriginalInterpoliert

Kap.1-100Multimedia Retrieval - SS02

• Nahe bei (r=0,p=1): Sehr wenige nicht relevante Dokumente in der Antwort (dafür nichtalle relevanten gefunden); dies wäre ideal für Anfragen wie „ist das Mittel XY giftig“.

• Nahe bei (r=1,p=0): Alle relevanten Dokumente gefunden, aber auch sehr viele nichtrelevante; dies wäre ideal für Anfragen wie „gibt es bereits ein Patent für XY“

• p=1 ist im allgemeinen schwer zu erreichen; r=1 ist einfach (ganze Kollektionzurückgegeben [darin sind alle relevanten Dokumente enthalten])

• Ein ideales System würde stets p=1 liefern und letztlich beim Punkt (1,1) ankommen.Generell kann man sagen, dass ein System A besser ist als ein System B, falls der P-R-Graph von A näher beim Punkt (1,1) liegt, als derjenige von System B.

– System-Effizienz:

Definiert ein Mass für die Güte eines Systems basierend auf dem P-R-Graphen.d entspricht dabei dem mittleren Abstand der P-R-Kurve zum Punkt (1,1).

Interpretation

21

dE −=

Page 19: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-101Multimedia Retrieval - SS02

Mittelwertbildung

• Ebenso wie beim Booleschen Retrieval qualifiziert man einen Algorithmus nicht nuraufgrund eines Experimentes sondern aufgrund von n Anfragen. Wiederum stellt sichdie Frage, wie man die mittleren Precision- und Recall-Werte berechnet

1. Verfahren: Man mittelt über die gleiche Anzahl gefundener Dokumente, d.h. manbetrachtet z.B. die ersten 10 Resultate, berechnet pi und ri für alle n Anfragen undmittelt die Werte (ergibt ein P-R-Paar p10 und r10). Ebenso verfährt man für alleanderen Resultatsgrössen und erhält so eine gemittelt P-R-Kurve.

2. Verfahren: Man mittelt die Precision-Werte über die gleichen Recall-Werte.Hierzu legt man zuerst die Recall-Punkte fest (z.B. 0.1, 0.2, ..., 1.0), berechnet fürjede Anfrage die dazugehörigen Precision-Werte und mittelt diese.

Kap.1-102Multimedia Retrieval - SS02

1.5.3 Nützlichkeitsmass

• Das Nützlichkeitsmass (Frei, Schäuble) ist eine Alternative zur Bewertung mitPrecision und Recall. Dazu benötigt man vom Benutzer sogenannte Präferenzen:

– d <p d‘ bedeutet, dass der Benutzer das Dokument d‘ relevanter (nützlicher) findetals das Dokument d

– Alle Präferenzen zusammen bilden die Menge

πp = {(d,d‘) | d <p d‘} ,

welche alle vom Benutzer angegebenen Präferenzen enthält (unvollständigeOrdnung der Dokumente). Sei πp

-1 die inverse Menge zu πp, d.h. (d,d‘)∈ πp-1 falls

(d,d‘)∉ πp-1

• Ebenso definieren die Algorithmen A und B zwei Ordnungen auf den Dokumentengemäss den RSV-Werten zur Anfrage q, d.h.:

πA = {(d,d‘) | RSVA(q,d) < RSVA(q,d‘)}πB = {(d,d‘) | RSVB(q,d) < RSVB(q,d‘)}

• Die Antwortmengen der beiden Algorithmen umfasse r Elemente. Dann ist R dieMenge der von A und B gelieferten Dokumente. Damit ist z.B. R2 ∩ πp die Menge dervom Benutzer angegebene Präferenzen, welche nur Dokumente aus R betrachtet.

• Beachte, dass πp ∩ πA, die Menge der Benutzerpräferenzen umfasst, derenDokumente von Algorithmus A gleich geordnet wurden. πp

-1 ∩ πA entspricht denPräferenzen, deren Dokumente von A falsch geordnet wurden.

Page 20: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-103Multimedia Retrieval - SS02

• Für jede Anfrage (insgesamt k Anfragen) bestimmt man die folgenden Werte:

– xi entspricht dabei dem Anteil übereinstimmender Präferenzen abzüglich desAnteils der invers übereinstimmenden Präferenzen des Benutzers undAlgorithmus A. Analog yi für Algorithmus B. Je grösser der Wert, desto besserstimmt die Ordnung des Algorithmuses zu den Präferenzen des Benutzers.

– Berechnung des Nützlichkeitsmasses uA,B:

1. Bilde Differenzen yi - xi und entferne die Paare, deren Differenz 0 ist (übrigbleiben ko Werte)

2. Sortiere die Differenzen nach aufsteigenden Beträgen. Falls mehrereDifferenzen den gleichen Betrag haben, weise ihnen den mittleren Rang zu.

3. Berechne w+ als Summe der Ränge der Differenzen mit positivem Vorzeichen

4. Berechne mit

• uA,B drückt aus, wie oft, im Mittel, yi grösser als xi ist. Ein grosser Wert bedeutet,dass Algorithmus B besser ist als Algorithmus A.

p

ApAp

iR

RRx

π

ππππ

∩∩−∩∩=

2

122

p

BpBp

iR

RRy

π

ππππ

∩∩−∩∩=

2

122

µµ−= +w

u BA,

( )4

100 += kkµ

Kap.1-104Multimedia Retrieval - SS02

• Ferner ist es möglich, auszusagen, mit welcher Wahrscheinlichkeit ein so grosserWert für uA,B zufällig entstanden ist. Dazu berechnet man die W‘keit P(UA,B ≥ uA,B)wobei UA,B einer Zufallsvariable entspricht.

• Vereinfachend kann man annehmen, dass UA,B normal verteil ist mit dem Mittelwert µund der Standardabweichung σ :

• Damit lässt sich P(UA,B ≥ uA,B) wie folgt bestimmen:

wobei

( )( )24

121 0002 ++= kkkσ( )4

100 += kkµ

( )

−Φ−=≥ +

σµw

uUP BABA 1,,

( ) dxebb x

∫∞−

−=Φ 2

2

2

1

π

Page 21: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-105Multimedia Retrieval - SS02

1.6 Literatur und Links

• Allgemeine Bücher zum Textretrieval– [SM83] Gerard Salton and Michael J. McGill. Information Retrieval - Grundlegendes für

Informationswissenschaftler, McGraw-Hill Book Company, 1983, ISBN 3-89028-051-X– [FB92] W.B. Frakes and R. Baeza-Yates. Information Retrieval, Data Structures and

Algorithms, Prentice Hall, 1992. ISBN 0-13-463837-9.– [SW97] Karen Sparck Jones and Peter Willet. Readings in Information Retrieval. Morgan

Kaufmann Publishers Inc., 1997. ISBN 1-55860-454-5.– [GF98] David A. Grossmann and Ophir Frieder. Information Retrieval: Algorithms and

Heuristics, Kluwer Academic Publishers, 1998. ISBN 0-7923-8271-4.– [BR99] Ricardo Baeza-Yates and Berthier Ribeiro-Neto. Modern Information Retrieval,

Addison-Wesley, 1999, ISBN 0-201-39829-X.– [Dom01] Sandor Dominich. Mathematical Foundations of Information Retrieval, Kluwer

Academic Publishers, 2001. ISBN 0-7923-6861-4.

• Latent Semantic Indexing– [FDDL+88] G. W. Furnas, S. C. Deerwester, S. T. Dumais, T. K. Landauer, R. A. Harshman,

L. A. Streeter, K. E. Lochbaum: Information Retrieval using a Singular Value DecompositionModel of Latent Semantic Structure.SIGIR 1988: 465-480

– [DDL+90] S. C. Deerwester, S. T. Dumais, T. K. Landauer, G. W. Furnas, and R. A.Harshman. Indexing by Latent Semantic Analysis. Journal of the American Society forInformation Science, 41(6):391--407, 1990.

– [F96] Christos Faloutsos, Searching Multimedia Databases by Content, Kluwer AcademicPublishers, 1996

– Telcordia: http://lsi.research.telcordia.com/

Kap.1-106Multimedia Retrieval - SS02

Literatur und Links (2)

IR und DBMS– [GF98] David A. Grossmann, Ophir Frieder, Information Retrieval: Algorithms and Heuristics,

Kluwer Academic Publishers, 1998– Forschungsprototyp PowerDB (massiv paralleles XML/Text-Retrieval mit DBMS):

http://www-dbs.ethz.ch/~powerdb/

– H.-J. Schek, P. Pistor: Data Structures for an Integrated Data Base Management andInformation Retrieval System. In: Int. Conf. on Very Large Databases (VLDB) 1982, p.197-207

– H.-J. Schek, Nested Transactions in a Combined IRS-DBMS Architecture, in Research andDevelopment in Information Retrieval (ed. C. J. van Rijsbergen), Cambridge UniversityPress, 1984.

– Grabs, T., Böhm, K., Schek, H.-J., High-level Parallelisation in a Database Cluster: aFeasibility Study Using Document Services. To appear in: Proceedings of the 17thInternational Conference on Data Engineering (ICDE2001), Heidelberg, Germany, April 2-62001.

Page 22: Bemerkungen · • Einfache Lösung: Sequentielle Suche – Grundsätzlich für alle Suchprobleme möglich, aber nicht immer die effizienteste Lösung – Bei LSI bietet sich diese

Kap.1-107Multimedia Retrieval - SS02

Literatur und Links (3)

Anwendungen der Retrievalmodelle– Boolesches Retrieval

• http://www.google.com

• http://www.yahoo.com

• http://dict.leo.org

– Vektorraumretrieval• http://www.altavista.com

• http://www.eurospider.com

– Probabilistisches Retrieval• http://www.inktomi.com/

– Retrieval mit LSI• http://www.cs.utk.edu/~lsi/cgi-bin/lsiQuery.cgi

• http://www.netlib.org/cgi-bin/lsiBook

• http://lsi.research.telcordia.com/lsi-bin/lsiQuery

Präzision und Ausbeute– David A. Grossman, Ophir Frieder, “Information Retrieval Algorithms and

Heuristics.“, Kluwer Academic Publishers, 1998– [TREC] – “Text REtrieval Conference“ http://trec.nist.gov/