105
5. Information Retrieval

5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

Embed Size (px)

Citation preview

Page 1: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

5. Information Retrieval

Page 2: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

2

Inhalt§ 5.1 Information Retrieval

§ 5.2 Vorverarbeitung der Dokumente

§ 5.3 Boolesches Retrieval

§ 5.4 Vektorraum-Modell

§ 5.5 Evaluation

§ 5.6 Implementierung

§ 5.7 Websuche

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 3: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

3

5.1 Information Retrieval

§ Information Retrieval ist ein Fachgebiet in der Schnittmenge von Informationswissenschaft,Informatik und Computerlinguistik

§ Weitgehend unabhängige, parallele Entwicklung zum Fachgebiet Datenbanken der Informatik mitnun zunehmendem Ideenaustausch

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Information Retrieval (IR) is finding material (usually documents) of an

unstructured nature (usually text)that satisfies an information need from within

large collections (usually stored on computers)

[Manning 2008]

Page 4: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

4

Information Retrieval

§ Information Retrieval befasst mit Suche nach Inhalten

§ Artikel (z.B. aus Wissenschaft und Presse)

§ Webseiten

§ Office-Dokumente (z.B. Präsentationen und Spreadsheets)

§ E-Mails

§ Benutzerprofile (z.B. auf Facebook oder XING)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Information Retrieval (IR) is finding material (usually documents) of an

unstructured nature (usually text)that satisfies an information need from within

large collections (usually stored on computers)

[Manning 2008]

Page 5: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

5

Information Retrieval

§ Daten haben meist keine oder nur wenig Struktur

§ Einfache Textdokumente (keine Struktur)

§ HTML (Überschriften und Absätze markiert)

§ JSON und XML (semistrukturiert)

§ RDBMSs, im Gegensatz, betrachten strukturierte Daten

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Information Retrieval (IR) is finding material (usually documents) of an

unstructured nature (usually text)that satisfies an information need from within

large collections (usually stored on computers)

[Manning 2008]

Page 6: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

6

Information Retrieval

§ Informationsbedürfnis des Benutzers als Ausgangspunkt

§ selten präzise (z.B. Was kann man in Berlin unternehmen?)

§ ungenau als Anfrage formuliert (z.B. berlin sights)

§ RDBMSs, im Gegensatz, bieten Anfragesprache mitgenau definierter Semantik (z.B. relationale Algebra)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Information Retrieval (IR) is finding material (usually documents) of an

unstructured nature (usually text)that satisfies an information need from within large collections (usually stored on computers)

[Manning 2008]

Page 7: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

7

Information Retrieval

§ Große Datenmengen mit rapidem Wachstum

§ Desktop ~ 100.000 Dokumente

§ The New York Times (1987–2007) ~ 2.000.000 Dokumente

§ WWW im Jahr 1998 ~ 800.000.000 Dokumente

§ WWW im Jahr 2008 ~ 1.000.000.000.000 Dokumente

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Information Retrieval (IR) is finding material (usually documents) of an

unstructured nature (usually text)that satisfies an information need from within

large collections (usually stored on computers)

[Manning 2008]

Page 8: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

8

Historisches§ Bibliotheken (seit ca. 2000 v. Chr.)

§ Katalogisierung nach Titel, Erscheinungsjahr,Autoren oder Schlagwörtern

§ Klassifikationsschemata zur inhaltlichenEinordnung (z.B. Dewey-Dezimalklassifikation)

§ Vannevar Bushs Memex (1945) [3]

§ erweitertes Gedächtnis (memory extender)

§ Verknüpfung und Annotation von Inhalten

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

© JMC Photos@flickr

Page 9: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

9

Historisches§ SMART System von Salton et al. (1960er)

§ Rangordnung der Ergebnisse

§ Berücksichtigung von Rückmeldungen des Benutzers

§ TREC und andere Benchmark-Initiativen (seit 1992)

§ Google und andere Suchmaschinen (seit frühen 1990er)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 10: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

10

IR vs. DBMSs§ IR-Systeme und DBMSs unterscheiden sich wie folgt

§ unstrukturierte vs. strukturierte Daten(z.B. Zeitungsartikel vs. Attribute eines Produkts)

§ vages vs. genau definiertes Informationsbedürfnis(z.B. Berichte über Berlin vs. meistverkauftes Produkt)

§ vage vs. genau definierte Semantik der Anfragen(z.B. Schlüsselwortanfragen vs. Relationale Algebra)

§ Rangordnung vs. keine Rangordnung der Ergebnisse(z.B. Berichte über Berlin vs. Studenten im dritten Semester)

§ Mensch vs. Anwendung als typischer Anwender

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 11: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

11

IR in DBMSs§ DBMSs integrieren zunehmend IR-Funktionalität

§ Volltextsuche (z.B. in MS SQL Server und PostgreSQL)auf textuellen Attributen mit linguistischer Vorverarbeitung,sowie Rangordnung der Ergebnisse

§ IR-Systeme werden zunehmend als DBMSs eingesetzt

§ ElasticSearch und Apache Solr erweitern Apache Luceneals traditionelles IR-System zur Indexierung und Suche vonsemi-strukturierten Dokumenten (z.B. in JSON oder XML)und können je nach Anwendung ein (R)DBMS ersetzen

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 12: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

12

Gütemaße im Information Retrieval§ Informationsbedürfnis des Benutzers und

Semantik der Anfragen sind vage

§ Gütemaße messen inwiefern das von einem IR-Systemzurückgelieferte Ergebnis das Informationsbedürfnisdes Benutzers befriedigen kann

§ Alle Dokumente in der Dokumentensammlung werden hierzu als relevant bzw. nicht-relevant für das Informationsbedürfnis des Benutzers klassifiziert

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 13: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

13

Präzision und Ausbeute (precision and recall)§ Präzision (precision) und Ausbeute (recall) als zwei Maße

der Ergebnisgüte relativ zum Informationsbedürfnis

§ Relevante Ergebnisse(true positives)

§ Irrelevante Ergebnisse(false positives)

§ Relevante Nicht-Ergebnisse(false negatives)

§ Irrelevante Nicht-Ergebnisse(true negatives)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

tn tn tn tn tn tn

tn tn

tn tn

tn

tn

tn tn tn tn tn tn

tn tn

tn

tn

tn

fp

fp fp fp

tptp

fn fn fn

fn

fnfnfn

Relevante DokumenteErgebnis

Page 14: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

14

Präzision und Ausbeute (precision and recall)§ Präzision (precision)

misst Fähigkeit nur relevante Dokumente zu liefern

§ Ausbeute (recall)

misst Fähigkeit alle relevanten Dokumente zu liefern

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

#tp

#tp + #fn=

# relevanter Dokumente im Ergebnis

# relevanter Dokumente

#tp

#tp + #fp=

# relevanter Dokumente im Ergebnis

# Dokumente im Ergebnis

Page 15: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

15

Literatur

§ C. D. Manning, P. Raghavan, H. Schütze:Information Retrieval,Cambridge University Press, 2008http://www-nlp.stanford.edu/IR-book/

§ W. B. Croft, D. Metzler, T. Strohman:Search Engines – Intelligent IR in Practice,Pearson, 2010http://ciir.cs.umass.edu/downloads/SEIRiP.pdf

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 16: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

16

5.2 Vorverarbeitung der Dokumente§ Dokumente durchlaufen Vorverarbeitung (preprocessing),

bevor sie indexiert werden, um dann mit Hilfe des Index Anfragen bearbeiten zu können, z.B.

§ Entfernen von Formatierungen (z.B. HTML-Tags)

§ Zerlegung (tokenization) in Bestandteile (tokens)

§ Normalisierung der Bestandteile zu Termen (terms)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 17: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

17

Zerlegung (tokenization)§ Dokumente werden in Bestandteile (tokens) zerlegt, indem

das Dokument u.a. an Leerzeichen (white spaces) aufgeteilt wird und Satzzeichen entfernt werden

§ Zusätzlich kann eine Aufteilung von Mehrwortgruppen(compound splitting) vorgenommen werden(z.B. bodenseeschifferpatentantrag)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 18: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

18

Normalisierung (normalization)§ Normalisierung der Bestandteile führt zu Termen

(terms), die indexiert und gesucht werden können, z.B.

§ Umwandlung in Kleinbuchstaben (lower casing)

§ Vereinheitlichung von Umlauten (z.B. ä wird zu ae)

§ Vereinheitlichung von Datumsangaben (z.B. 2011/05/21)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 19: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

19

Wortreduktion (stemming, lemmatization)§ Wörter kommen in verschiedenen Beugungsformen vor

§ Konjugation bei Verben(z.B. go, gone, went)

§ Deklination bei Substantiven und Adjektiven(z.B. boat, boats, mouse, mice)

§ Komparation bei Adjektiven(z.B. cheap, cheaper, cheapest)

§ Wörter können zudem den gleichen Wortstamm haben(z.B. work, worker, working, drive, driver, driven)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 20: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

20

Grundformreduktion§ Reduktion auf Grundform (auch: Lemmatisierung)

(lemmatization) erfolgt immer auf ein existierendes Wort

§ Nominativ Singular bei Substantiven und Adjektiven(z.B. boat und boats wird zu boat)

§ Infinitiv bei Verben(z.B. go, gone und went wird zu go)

§ Bestimmung der korrekten Grundform ist oft schwierigund Bedarf zusätzlicher Information in Form von

§ Kontext oder Wortart (part of speech)

§ Wörterbuch (z.B. um mice auf mouse abzubilden)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 21: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

21

Stammformreduktion§ Reduktion auf Stammform (stemming) erfolgt auf

Wortstamm, der kein existierendes Wort sein muss(z.B. boats auf boa und vegetation auf veget)

§ Regelbasierte Ansätze zur sukzessiven Suffixentfernungfür schwach gebeugte (flektierte) Sprachen wie Englisch

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 22: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

22

Porters Algorithmus§ Porters Algorithmus entfernt Suffixe in fünf Schritten

§ Schritt 1a: Wende Regel für längstmögliches Suffix an§ sses → ss

§ ies → i

§ s → _

§ …

§ Schritt 2: Falls Token aus zwei oder mehr Silben besteht§ ational → ate

§ tional → tion

§ enci → ence

§ izer → ize

§ …

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 23: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

23

Porters Algorithmus§ Implementierung unter

http://snowball.tartarus.org/algorithms/porter/stemmer.html

§ Online-Demo unterhttp://9ol.es/porter_js_demo.html

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 24: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

24

Wortreduktion§ Durch eine Reduktion von Wörtern auf ihre Grundform

oder Stammform kann man erreichen

§ tolerantere Suche (z.B. beim Booleschen Retrieval),die nicht mehr von spezifischer Wortform abhängt

§ geringere Anzahl zu indexierender Terme§ Verbesserung des Recall

(z.B. für working conditions chinese factories)

§ Verschlechterung der Präzision(z.B. für marine vegetation)

§ Nutzen der Wortreduktion für IR ist umstritten, tendenziell größer für stark flektierte Sprachen (z.B. Deutsch)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 25: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

25

Zipf‘sches Gesetz (Zipf‘s law)§ George K. Zipf (1902–1950) beobachtete,

dass für natürlichsprachige Text gilt,dass die Häufigkeit eines Wortes f(w)umgekehrt proportional zu seinemHäufigkeitsrang r(w) ist, d.h.:

§ Das häufigste Wort kommt somit

§ doppelt so oft vor wie das zweithäufigste Wort§ zehnmal so oft vor wie das Wort auf Rang 10§ hundertmal so oft vor wie das Wort auf Rang 100

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Quelle: http://en.wikipedia.org

f(w) Ã 1r(w) –

mit – ¥ 1

Page 26: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

26

Zipf‘sches Gesetz (Zipf‘s law)§ Beispiel: Worthäufigkeit und Häufigkeitsrang in

The New York Times zwischen 1987 und 2007

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

0 1 2 3 4

45

67

log(Häufigkeitsrang)

log(Häufigkeit)

– ¥ ≠1.110

Page 27: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

27

Stoppworteliminierung (stopword removal)§ Stoppwörter (z.B. a, the, of) sind Wörter, die nur wenig

Information beinhalten, da sie z.B. in sehr vielen Dokumenten vorkommen und somit von geringem Nutzen für die Beantwortung von Anfragen sind

§ Eliminierung von Stoppwörtern

§ reduziert den zur Indexierung benötigten Speicherplatz§ verbessert die Antwortzeiten§ kann Ergebnisgüte verbessern

(z.B. a song of fire and ice)

§ kann Ergebnisgüte verschlechtern (z.B. the who)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 28: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

28

Stoppworteliminierung (stopword removal)§ Stoppworteliminierung anhand einer manuell definierten

Stoppwortliste, evtl. mit themenspezifischen Stoppwörtern

§ Stoppwortliste kann alternativ automatisch erstelltwerden und alle Wörter enthalten, die in mehr als einem bestimmten Anteil der Dokumente vorkommen

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

a, an, and, are, as, at, be, by, for,has, he, in, is, it, its, of, on, that,

the, to, was, where, will, with

Page 29: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

29

Bag-of-Words§ Vorverarbeitung wandelt Dokument in eine Multimenge

von Wörtern (bag of words) um, d.h. die Information wie oft ein Wort im Dokumente vorkommt bleibt erhalten

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 30: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

30

5.3 Boolesches Retrieval§ Boolesches Retrieval als früher Ansatz, der noch

Anwendung (z.B. Katalogsuche in Bibliotheken) findet

§ Dokumente als Belegungen Boolescher Variablen, die anzeigen, ob ein Term im Dokument vorkommt oder nicht

§ Anfragen als Boolesche Ausdrücke, welche Terme mit den Operatoren AND, OR und NOT verknüpfen

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 31: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

31

Boolesches Retrieval§ Beispiel: Dokumente über George Martin oder Neil Gaiman

mit Darstellung der Dokumentensammlungals Term-Dokument-Matrix

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

(george AND martin) OR (neil AND gaiman)

george martin neil gaiman

d1 1 0 0 1d2 1 1 1 0d3 0 1 1 1d4 0 1 1 0d5 0 0 1 1

Page 32: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

32

Erweiterungen§ Boolesches Retrieval kann erweitert werden durch

§ Aufteilung der Dokumenten in Felder (z.B. Titel, Abstract)

§ zusätzliche Operatoren basierend auf Wortposition (NEAR)

§ Vorteil:

§ Semantik von Anfragen (d.h. erwartetes Ergebnis)ist eindeutig definiert

§ Nachteil:

§ keine Rangordnung des Ergebnissesnach Relevanz (ranking)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 33: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

33

Zusammenfassung§ Information Retrieval als Fachgebiet in der Schnittmenge

zwischen Informationswissenschaft, Informatikund Computerlinguistik

§ Präzision und Ausbeute als elementare Gütemaße

§ Zerlegung und Normalisierung der Dokumente(z.B. Eliminierung von Stoppwörtern, Wortreduktion)

§ Boolesches Retrieval als früher Ansatz, der noch immer Anwendung findet und Grundlage moderner Ansätze ist

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 34: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

34

Literatur[1] C. D. Manning, P. Raghavan, H. Schütze:

Information Retrieval, Cambridge University Press, 2008

[2] W. B. Croft, D. Metzler, T. Strohman:Search Engines – Intelligent IR in Practice,Pearson, 2010

[3] V. Bush: As We May Think, The Atlantic, 1945http://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 35: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

35

Rückblick§ Information Retrieval als Fachgebiet in der Schnittmenge

zwischen Informationswissenschaft, Informatikund Computerlinguistik

§ Präzision und Ausbeute als elementare Gütemaße

§ Zerlegung und Normalisierung der Dokumente(z.B. Eliminierung von Stoppwörtern, Wortreduktion)

§ Boolesches Retrieval als früher Ansatz, der noch immer Anwendung findet und Grundlage moderner Ansätze ist

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 36: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

36

5.4 Vektorraum-Modell§ Boolesches Retrieval liefert zu Anfrage eine Menge von

Dokumenten, führt jedoch keine Rangordnung durch

§ Rangordnung (ranking) ist insbesondere auf großen Dokumentensammlung wünschenswert, damit Benutzer vielversprechende Dokumente zuerst gezeigt bekommt

§ Vektorraum-Modell (VSM) wurde in den 1960ern im Rahmen des SMART-Projekts an Cornell University entwickelt und findet noch heute Anwendungin IR-Systemen

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 37: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

37

Anfragen und Dokumente als Vektoren§ Dokumente und Anfrage werden auf Vektoren in

einem hochdimensionalen Vektorraum abgebildet

§ Vektorraum hat eine Dimension für jeden Term,der in der Dokumentensammlung vorkommt

§ Wert einer Vektorkomponente gibt das Gewicht des Terms in Dokument oder Anfrage an und wird i.d.Rmit einer Variante der tf.idf-Gewichtung bestimmt

§ Rangordnung gemäß Distanz/Ähnlichkeit der Vektoren

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 38: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

38

tf.idf-Termgewichtung für Dokumente§ Dokumente sind nach Vorverarbeitung Multimengen von

Termen (bag of words), aus denen nun die Werte derVektorkomponenten abgeleitet werden müssen

§ Intuition: Ein Term soll mehr Gewicht für Dokument haben

§ wenn er häufig im Dokument selbst vorkommt

§ wenn er insgesamt in wenigen Dokumenten vorkommtund damit trennscharf (discriminative) ist

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 39: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

39

tf.idf-Termgewichtung für Dokumente§ Statistiken zur Bestimmung der Vektorkomponenten

§ Termhäufigkeit (term frequency) tf(v, d) gibt an,wie oft der Term v im Dokument d vorkommt

§ Dokumentenhäufigkeit (document frequency) df(v) gibt an,in wie vielen Dokumenten der Term v insgesamt vorkommt

§ Größe der Dokumentensammlung N gibt an,wie viele Dokumente insgesamt enthalten sind

§ Länge des Dokumentes |d| gibt an, wie viele Terme im Dokument d vorkommen; es gilt

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

|d| =ÿ

v

tf (v, d)

Page 40: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

40

tf.idf-Termgewichtung für Dokumente§ Gewicht d(v) der Vektorkomponente für den Term v

im Vektor für das Dokument d bestimmt als

§ Inverse Dokumentenhäufigkeit, als zweiter Faktor, weist seltenen Termen mehr Gewicht zu und verhindert durch die logarithmische Dämpfung ein Überbewerten sehr seltener Terme (z.B. durch Tippfehler)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

d(v) = tf (v, d) · log

N

df (v)

Page 41: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

41

tf.idf-Termgewichtung für Dokumente§ Vorgestellte ist eine Variante der tf.idf-Termgewichtung,

die ursprünglich im SMART-System verwendet wurde

§ Erweiterungen von tf.idf-Termgewichtung z.B. mit

§ logarithmisch gedämpften Termhäufigkeiten

§ relativen Termhäufigkeiten

§ max-normalisierten Termhäufigkeiten

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

log (1 + tf (v, d))

tf (v, d)/|d|

tf (v, d)/max

v(tf(v, d))

Page 42: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

42

tf.idf-Termgewichtung für Dokumente§ Häufiger Kritikpunkt an tf.idf-Termgewichtung und

Vektorraum-Modell ist, dass sie heuristisch sindund auf keiner fundierten Theorie bzgl.der Relevanz von Dokumentenzu Anfragen beruhen

§ Theoretisch fundierte Ansätze (z.B. Probabilistic IR, Statistical Language Models) lassen sich oft in eine Variante der tf.idf-Termgewichtung umformen

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 43: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

43

Anfrage als Vektor§ Anfrage q durchläuft die gleiche Vorverarbeitung wie

Dokumente (z.B. Wortreduktion) und ist ebenfallseine Menge von Termen (bag of words)

§ Gewicht q(v) der Vektorkomponente für den Term vim Vektor für die Anfrage q bestimmt als

wobei die Termhäufigkeit tf(v, q) in der Regel binär(d.h. in {0,1}) ist, da Terme selten mehrfachin einer Anfrage vorkommen

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

q(v) = tf (v, q)

Page 44: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

44

Distanz/Ähnlichkeit zwischen Vektoren§ Dokumente und Anfrage sind

nun Vektoren in einemhochdimensionalenVektorraum

§ Wie lassen sich Dokumente undAnfrage vergleichen, um eineRangordnung herzuleiten?

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

q

d1

d2

Page 45: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

45

L1-Distanz (Manhattan Distanz)§ L1-Distanz (Manhattan Distanz)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

q

d1

d2dis1(r, s) =

ÿ

v

|r(v) ≠ s(v)|

Page 46: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

46

L2-Distanz (Euklidische Distanz)§ L2-Distanz (Euklidische Distanz)

§ L1- und L2-Distanz ungeeignet, um Rangordnungvon Dokumenten zu einer Anfrage herzuleiten

§ Dokument, welches genau die Terme aus der Anfragewiederholt beinhaltet, so dass sein Vektor ein Vielfachesdes Anfragevektors ist, hat große L1- und L2-Distanz

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

q

d1

d2dis2(r, s) =

Ûÿ

v

(r(v) ≠ s(v))2

Page 47: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

47

Kosinusähnlichkeit (cosine similarity)§ Kosinusähnlichkeit

(cosine similarity)

misst den Kosinus des Winkels zwischen beiden Vektoren

§ linear abhängige Vektoren (d.h. gleiche Richtung) habeneinen Winkel von 0∘ und damit einen Kosinus von 1

§ orthogonale Vektoren (d.h. rechter Winkel) habeneinen Winkel vom 90∘ und damit einen Kosinus von 0

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

q

d1

d2

=q

v (r(v) s(v))qv r(v)2

qv s(v)2

sim(r, s) = r · sÎrÎÎsÎ

Page 48: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

48

Kosinusähnlichkeit (cosine similarity)§ Kosinusähnlichkeit

(cosine similarity)

ist als Skalarprodukt normierter Vektoren berechenbar;diese Beobachtung kann zur effizienten Implementierungausgenutzt werden: werden die Dokumentvektorennormiert gespeichert, müssen nur Komponentenzu Termen aus der Anfrage betrachtet werden

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

q

d1

d2

sim(r, s) = r · sÎrÎÎsÎ

= rÎrÎ · s

ÎsÎ

Page 49: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

49

Beispiel Vektorraum-Modell§ Wir betrachten die folgende Dokumentensammlung

§ Unsere Anfrage lautet: java stack overflow

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

N = 10

d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 df (v) idf (v) qc++ 2 0 0 1 1 0 0 2 0 0 4 log (10/4) ¥ 0.92 0

object 1 0 0 0 1 0 1 0 0 0 3 log (10/3) ¥ 1.20 0

class 1 1 0 0 1 0 1 0 0 2 5 log (10/5) ¥ 0.69 0

oriented 1 1 0 0 1 0 0 0 0 0 3 log (10/3) ¥ 0.92 0

loop 0 0 0 0 0 0 0 0 2 0 1 log (10/1) ¥ 2.30 0

java 0 0 2 0 1 0 2 2 0 0 4 log (10/4) ¥ 0.92 1

pointer 0 0 0 1 0 0 0 0 0 0 1 log (10/1) ¥ 2.30 0

overflow 0 0 1 0 0 0 0 0 0 0 1 log (10/1) ¥ 2.30 1

code 0 2 0 2 0 0 0 0 1 1 4 log (10/4) ¥ 0.92 0

sort 0 2 1 0 0 1 0 0 2 0 4 log (10/4) ¥ 0.92 0

python 0 2 0 0 0 2 0 1 0 0 3 log (10/3) ¥ 1.20 0

array 0 0 0 1 0 1 1 0 0 2 4 log (10/4) ¥ 0.92 0

stack 0 0 2 0 0 1 0 0 0 2 3 log (10/3) ¥ 1.20 1

Page 50: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

50

Beispiel Vektorraum-Modell§ Wir betrachten die folgende Dokumentensammlung

§ Wir müssen nur die Dokumente d3, d5, d6, d7, d8 und d10betrachten; alle anderen beinhalten keinen Anfrageterm

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

N = 10

d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 df (v) idf (v) qc++ 2 0 0 1 1 0 0 2 0 0 4 log (10/4) ¥ 0.92 0

object 1 0 0 0 1 0 1 0 0 0 3 log (10/3) ¥ 1.20 0

class 1 1 0 0 1 0 1 0 0 2 5 log (10/5) ¥ 0.69 0

oriented 1 1 0 0 1 0 0 0 0 0 3 log (10/3) ¥ 0.92 0

loop 0 0 0 0 0 0 0 0 2 0 1 log (10/1) ¥ 2.30 0

java 0 0 2 0 1 0 2 2 0 0 4 log (10/4) ¥ 0.92 1

pointer 0 0 0 1 0 0 0 0 0 0 1 log (10/1) ¥ 2.30 0

overflow 0 0 1 0 0 0 0 0 0 0 1 log (10/1) ¥ 2.30 1

code 0 2 0 2 0 0 0 0 1 1 4 log (10/4) ¥ 0.92 0

sort 0 2 1 0 0 1 0 0 2 0 4 log (10/4) ¥ 0.92 0

python 0 2 0 0 0 2 0 1 0 0 3 log (10/3) ¥ 1.20 0

array 0 0 0 1 0 1 1 0 0 2 4 log (10/4) ¥ 0.92 0

stack 0 0 2 0 0 1 0 0 0 2 3 log (10/3) ¥ 1.20 1

Page 51: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

51

Beispiel Vektorraum-Modell§ Kosinusähnlichkeit zwischen d3 und Anfrage q

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

d3 idf (v) qc++ 0 log (10/4) ¥ 0.92 0

object 0 log (10/3) ¥ 1.20 0

class 0 log (10/5) ¥ 0.69 0

oriented 0 log (10/3) ¥ 1.20 0

loop 0 log (10/1) ¥ 2.30 0

java 2 log (10/4) ¥ 0.92 1

pointer 0 log (10/1) ¥ 2.30 0

overflow 1 log (10/1) ¥ 2.30 1

code 0 log (10/4) ¥ 0.92 0

sort 1 log (10/4) ¥ 0.92 0

python 0 log (10/3) ¥ 1.20 0

array 0 log (10/4) ¥ 0.92 0

stack 2 log (10/3) ¥ 1.20 1

d3 qc++ 0.00 0.00

object 0.00 0.00

class 0.00 0.00

oriented 0.00 0.00

loop 0.00 0.00

java 1.84 1.00

pointer 0.00 0.00

overflow 2.30 1.00

code 0.00 0.00

sort 0.92 0.00

python 0.00 0.00

array 0.00 0.00

stack 2.40 1.00

sim(d3, q) = 1.84 + 2.30 + 2.40Ô1.842 + 2.302 + 0.922 + 2.402

Ô1.02 + 1.02 + 1.02

¥ 0.97

Page 52: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

52

Beispiel Vektorraum-Modell§ Wir betrachten die folgende Dokumentensammlung

§ Die Rangfolge der Dokumente zu unserer Anfrage lautetd3, d7, d10, d8, d5 und d6

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

d1 d2 d3 d4 d5 d6 d7 d8 d9 d10c++ 2 0 0 1 1 0 0 2 0 0

object 1 0 0 0 1 0 1 0 0 0

class 1 1 0 0 1 0 1 0 0 2

oriented 1 1 0 0 1 0 0 0 0 0

loop 0 0 0 0 0 0 0 0 2 0

java 0 0 2 0 1 0 2 2 0 0

pointer 0 0 0 1 0 0 0 0 0 0

overflow 0 0 1 0 0 0 0 0 0 0

code 0 2 0 2 0 0 0 0 1 1

sort 0 2 1 0 0 1 0 0 2 0

python 0 2 0 0 0 2 0 1 0 0

array 0 0 0 1 0 1 1 0 0 2

stack 0 0 2 0 0 1 0 0 0 2

sim(di, q) 0.00 0.00 0.97 0.00 0.24 0.23 0.43 0.37 0.00 0.40

Page 53: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

53

5.5 Evaluation§ Evaluation spielt wichtige Rolle im Information Retrieval,

u.a. aufgrund zentraler Rolle des Benutzers undUnschärfe seines Informationsbedürfnisses

§ Zwei Aspekte bei Evaluation von IR-System betrachtet

§ Effektivität, d.h. werden die richtigen Dinge getan(z.B. gute Dokumente im Ergebnis zurückgeliefert)

§ Effizienz, d.h. werden die Dinge richtig getan(z.B. Ergebnisse mit kurzen Antwortzeiten zurückgeliefert)

§ Unser Fokus liegt im Folgenden auf Effektivität

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 54: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

54

Präzision und Ausbeute (precision and recall)§ Präzision (precision) und Ausbeute (recall) als zwei Maße

der Ergebnisgüte relativ zum Informationsbedürfnis

§ Relevante Ergebnisse(true positives)

§ Irrelevante Ergebnisse(false positives)

§ Relevante Nicht-Ergebnisse(false negatives)

§ Irrelevante Nicht-Ergebnisse(true negatives)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

tn tn tn tn tn tn

tn tn

tn tn

tn

tn

tn tn tn tn tn tn

tn tn

tn

tn

tn

fp

fp fp fp

tptp

fn fn fn

fn

fnfnfn

Relevante DokumenteErgebnis

Page 55: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

55

Präzision und Ausbeute (precision and recall)§ Präzision (precision)

misst Fähigkeit nur relevante Dokumente zu liefern

§ Ausbeute (recall)

misst Fähigkeit alle relevanten Dokumente zu liefern

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

#tp

#tp + #fn=

# relevanter Dokumente im Ergebnis

# relevanter Dokumente

#tp

#tp + #fp=

# relevanter Dokumente im Ergebnis

# Dokumente im Ergebnis

Page 56: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

56

Präzision und Ausbeute (precision and recall)§ Präzision und Ausbeute sind wichtige Gütemaße im IR;

sie haben jedoch einige Nachteile z.B.

§ gesamtes Ergebnis wird betrachtet

§ Rangfolge der Dokumente im Ergebnis spielt keine Rolle§ Relevanzbewertungen sind binär; keine feinere Abstufung

§ Kenntnis aller relevanten Dokumente wird angenommen

§ Alternative Gütemaße (z.B. Präzision@k, nDCG) adressieren einen oder mehrere dieser Nachteile

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 57: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

57

Präzision@k§ Präzision@k (precision@k) betrachtet nur die ersten k

Dokumente im sortierten Ergebnis und ist eines dergängigsten Gütemaße mit k in {1, 5, 10}

§ Bei Betrachtung mehrerer Anfragen wird der Mittelwertaus den Präzision@k-Werten pro Anfrage gebildet

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

P@k(r) =

# Relevante Dokumente in Top-k von r

k

Page 58: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

58

Präzision@k§ Beispiel: Betrachte zwei Ergebnisse r1 und r2

Die Dokumente d1, d2 und d4 seien relevant; alle anderenDokumente seien nicht relevant zur Anfragen

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

r1 =

S

WWWWU

d2d1d5d7d4

T

XXXXVr2 =

S

WWWWU

d8d5d1d2d7

T

XXXXV

P@3(r1) = 23 P@3(r2) = 1

3

Page 59: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

59

AP und MAP§ Average Precision (AP) ist der Mittelwert der

Präzisionswerte an den Positionen, an deneneines der bekannten relevanten Dokumenteim Ergebnis vorkommt

§ m relevante Dokumente§ r(i) sei die Position, an der das i-te relevante Dokument

im Ergebnis r vorkommt; ∞ falls nicht im Ergebnis enthalten

§ Mean Average Precision (MAP) bildet den Mittelwert aus den AP-Werten bei Betrachtung mehrerer Anfragen

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

AP(r) =

1

m

mÿ

i=1

# Relevante Dokumente bis Position r(i)

r(i)

Page 60: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

60

AP und MAP§ Beispiel: Betrachte zwei Ergebnisse r1 und r2

Die Dokumente d1, d2 und d4 seien relevant; alle anderenDokumente seien nicht relevant zur Anfragen

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

r1 =

S

WWWWU

d2d1d5d7d4

T

XXXXVr2 =

S

WWWWU

d8d5d1d2d7

T

XXXXV

AP(r1) = 13

311 + 2

2 + 35

4AP(r2) = 1

3

313 + 2

4 + 2Œ

4

Page 61: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

61

nDCG@k§ (Normalized) Discounted Cumulative Gain (nDCG@k)

unterstützt abgestufte Relevanzbewertungen(z.B. 0 für nicht relevant, 1 für relevant, 2 für sehr relevant)

§ Ergebnis soll besser abschneiden, wenn es mehr relevantere Dokumente enthält und diesefrüh (d.h. weit oben) enthalten sind

§ Discounted Cumulative Gain (DCG@k) für Ergebnis r mit g(i) als Note (z.B. 0-2) des Dokuments an der i-ten Position

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

DCG@k(r) =

kÿ

i=1

2

g(i) ≠ 1

log(1 + i)

Page 62: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

62

nDCG@k§ Idealized Discounted Cumulative Gain (iDCG@k)

bestimmt den bestmöglichen DCG@k in Anbetrachtder bekannten Relevanzbewertungen

§ Normalized Discounted Cumulative Gain (nDCG@k)normalisiert DCG@k mit iDCG@k und erreichteinen Wert im Intervall [0, 1]

§ Bei mehreren Anfragen wird der Mittelwert dernDCG@k-Werte pro Anfrage gebildet

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

nDCG@k(r) = DCG@k(r)iDCG@k

Page 63: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

63

nDCG@k§ Beispiel: Betrachte zwei Ergebnisse r1 und r2

Die Dokumente d1, d2 und d4 seien sehr relevant (2);die Dokumente d6 und d8 relevant (1);alle anderen irrelevant (0)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

r1 =

S

WWWWU

d2d1d5d7d4

T

XXXXVr2 =

S

WWWWU

d8d5d1d2d7

T

XXXXV

DCG@5(r1) =

33

log(2)

+

3

log(3)

+

0

log(4)

+

0

log(5)

+

3

log(6)

4

DCG@5(r2) =

31

log(2)

+

0

log(3)

+

3

log(4)

+

3

log(5)

+

0

log(6)

4

¥ 8.73

¥ 5.47

Page 64: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

64

nDCG@k§ Beispiel: Betrachte zwei Ergebnisse r1 und r2

Die Dokumente d1, d2 und d4 seien sehr relevant (2);die Dokumente d6 und d8 relevant (1);alle anderen irrelevant (0)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

r1 =

S

WWWWU

d2d1d5d7d4

T

XXXXVr2 =

S

WWWWU

d8d5d1d2d7

T

XXXXV

iDCG@5 =

33

log(2)

+

3

log(3)

+

3

log(4)

+

1

log(5)

+

1

log(6)

4¥ 10.40

Page 65: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

65

nDCG@k§ Beispiel: Betrachte zwei Ergebnisse r1 und r2

Die Dokumente d1, d2 und d4 seien sehr relevant (2);die Dokumente d6 und d8 relevant (1);alle anderen irrelevant (0)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

r1 =

S

WWWWU

d2d1d5d7d4

T

XXXXVr2 =

S

WWWWU

d8d5d1d2d7

T

XXXXV

nDCG@5(r1) ¥ 0.84

nDCG@5(r2) ¥ 0.53

Page 66: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

66

Benchmarks und Pooling§ Benchmark-Initiativen wie

§ TREC (http://trec.nist.gov)

§ CLEF (http://www.clef-initiative.eu)

§ NTCIR (http://research.nii.ac.jp/ntcir/index-en.html)

§ FIRE (http://fire.irsi.res.in/fire/home)spielen eine wichtige Rolle im Information Retrieval,mit Teilnehmern aus industrieller undakademischer Forschung

§ Teilnehmer (participants) arbeiten separat an einer gemeinsamen Aufgabe (task) auf gemeinsamen Daten (z.B. Dokumentensammlung und Anfragen)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 67: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

67

Benchmarks und Pooling§ Teilnehmer reichen ihre Ergebnisse (runs) ein, die dann

von unabhängigen Juroren (assessors) bewertet werden

§ Pooling ist hierbei eine wichtige Methode, d.h. es werden nur Dokumente bewertet, die in einem Ergebnis einesTeilnehmers vorkommen; andere Dokumente werdennicht bewertet und es wird angenommen, dasssie irrelevant sind

§ Top-k Pooling bewertet sogar nur die ersten kDokumente aus jedem der eingereichten Ergebnisse

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 68: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

68

Zusammenfassung§ Vektorraum-Modell bildet Dokumente und Anfrage in

gemeinsamen hochdimensionalen Vektorraum ab

§ Vektorkomponenten werden mittels tf.idf-Gewichtungunter Berücksichtigung von Häufigkeiten bestimmt

§ Kosinusähnlichkeit vergleicht Dokumentvektoren und Anfragevektor, um eine Rangfolge zu bestimmen

§ Alternative Gütemaße (z.B. MAP, nDCG) adressierenverschiedene Nachteile von Präzision und Ausbeute

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 69: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

69

Literatur[1] C. D. Manning, P. Raghavan, H. Schütze:

Information Retrieval, Cambridge University Press, 2008(Kapitel 6 & 8)

[2] W. B. Croft, D. Metzler, T. Strohman:Search Engines – Intelligent IR in Practice,Pearson, 2010 (Kapitel 7 & 8)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 70: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

70

Rückblick§ Vektorraum-Modell bildet Dokumente und Anfrage in

gemeinsamen hochdimensionalen Vektorraum ab

§ Vektorkomponenten werden mittels tf.idf-Gewichtungunter Berücksichtigung von Häufigkeiten bestimmt

§ Kosinusähnlichkeit vergleicht Dokumentvektoren und Anfragevektor, um eine Rangfolge zu bestimmen

§ Alternative Gütemaße (z.B. MAP, nDCG) adressierenverschiedene Nachteile von Präzision und Ausbeute

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 71: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

71

5.6 Implementierung§ Prototypische Implementierung eines IR-Systems auf

Grundlage eines RDBMS möglich (vgl. Übung)

§ Spezialisierte Implementierung sehr sinnvoll fürgroße dynamische Dokumentensammlungenoder bei hoher Anfragelast

§ Dokumentensammlung wird vorab indexiert, um sodie spätere Anfragebearbeitung zu beschleunigen

§ Zusätzlich kommen verschiedene Caches (z.B. für Teile des Index oder Anfrageergebnisse) zum Einsatz

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 72: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

72

Invertierter Index (inverted index)

§ Invertierter Index (inverted index oder inverted file) alsdie am häufigsten verwendete Indexstrukturin IR-Systemen

§ Wörterbuch (dictionary) beinhaltet alle bekannten Terme

§ Indexlisten (posting lists) beinhalten jeweils Informationenzu den Vorkommen eines bestimmten Terms

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

georgeclooney

d1 d4 d6 d9 d11 d34 d66 d89

d4 d5 d7 d9 d13 d14 d34 d99

Wörterbuch

Indexlisten

Page 73: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

73

Invertierter Index (inverted index)

§ Wörterbuch typischerweise implementiert als B+-Baumoder Hashtabelle und (teilweise) imPrimärspeicher gehalten

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

georgeclooney

d1 d4 d6 d9 d11 d34 d66 d89

d4 d5 d7 d9 d13 d14 d34 d99

Wörterbuch

Indexlisten

Page 74: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

74

Invertierter Index (inverted index)

§ Indexlisten (posting lists) typischerweise sequenziell(d.h. an einem Stück) oder in wenigen verkettetenBlöcken auf Sekundärspeicher gespeichert

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

georgeclooney

d1 d4 d6 d9 d11 d34 d66 d89

d4 d5 d7 d9 d13 d14 d34 d99

Wörterbuch

Indexlisten

Page 75: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

75

Indexlisteneinträge (postings)§ Struktur der Indexlisteneinträge (postings) abhängig von

zu unterstützenden Anfragen bzw. Retrievalmodell

§ Dokumenten-ID (z.B. für Boolesches Retrieval)

§ Dokumenten-ID und Wert (z.B. Termhäufigkeit) VSM)

§ Dokumenten-ID, Wert und Positionsangaben

(z.B. wenn nach Phrasen gesucht werden soll)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

d7

d7 | 5

d7 | 5 | [1, 2, 6, 8, 12]

Page 76: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

76

Sortierung der Indexlisten§ Sortierung der Indexlisten beeinflusst Komprimierbarkeit

sowie die Möglichkeiten der Anfragebearbeitung

§ Sortierung nach Dokumenten-ID

bietet mehr Möglichkeiten zur Komprimierung underlaubt effiziente konjunktive Anfrageauswertung

§ Sortierung nach Wert (z.B. Termhäufigkeit)

erlaubt effiziente Top-k Anfrageauswertung

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

d2 | 5 d6 | 2 d8 | 6

d2 | 5 d6 | 2d8 | 6

Page 77: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

77

Kompression§ Leistungsfähigkeit von CPUs hat deutlich schneller

zugenommen als die von Sekundärspeichern (Kapitel 3)

§ Geeignet komprimierte Indexlisten lassen sich schnellerals nicht komprimierte vom Sekundärspeicher lesen

§ Kompressionsverfahren muss leichtgewichtig sein undsequentielles Lesen der Indexlisteneinträge erlauben

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 78: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

78

Variable-Byte Encoding§ Variable-Byte Encoding (auch: 7-Bit Encoding) verwendet

zur Darstellung ganzer Zahlen eine variable Anzahl Bytes

§ Kleinere Zahlen werden mit weniger Bytes dargestellt

§ Idee: Verwende in jedem Byte

§ das höchstwertige als Fortsetzungs-Bit (continuation bit)

§ die übrigen sieben Bits als „Nutzlast“ (payload)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

7 6 5 4 3 2 1 0

payloadcontinuation bit

Page 79: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

79

Variable-Byte Encoding§ Beispiel: Zahl 4711 hat folgende 32-bit Binärdarstellung

mit Variable-Byte Encoding dargestellt

benötigt man nur zwei anstatt von vier Bytes

§ Achtung: Bytes müssen von niedrigwertigen zu höherwertigen gespeichert/übertragen werden(d.h. Little-Endian)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

00000000 00000000 00010010 01100111

00100100 11100111

11100111 00100100

Page 80: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

80

Delta-Encoding§ Variable-Byte Encoding stellt kleinere Zahlen mit weniger

Bytes und somit weniger Speicherplatz dar

§ Beobachtung: Indexlisten beinhalten aufsteigend sortierte Folgen ganzer Zahlen, beispielsweise

§ Dokumenten-IDs bei entsprechend sortierten Indexlisten

§ Positionsangaben bei Indexlisten mit Positionsinformation

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

d2 | 5 d6 | 2 d8 | 6

d7 | 5 | [1, 2, 6, 8, 12]

Page 81: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

81

Delta-Encoding§ Idee: Speichere aufsteigend sortierte Liste ganzer Zahlen

als erstes Element gefolgt von Differenz (delta)zum jeweiligen Vorgänger

§ Beispiel: Die aufsteigend sortierte Liste

wird gespeichert als

wodurch bei Verwendung von Variable-Byte-Encodingnur noch 5 Bytes anstatt 8 Bytes benötigt werden

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

È7, 57, 64, 2, 37Í

È7, 64, 128, 130, 167Í

Page 82: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

82

Beispiel Kompression§ Komprimieren einer Indexliste mit Kombination

aus Gap- und Variable-Byte Encoding

§ Gap-Encoding führt zu folgender Liste ganzer Zahlen

mit abwechselnden Dokumenten-IDs und Termhäufigkeiten

§ Variable-Byte Encoding ergibt

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

d2 | 5 d6 | 2 d8 | 6

00000010 00000101 00000100 00000010 00000110

È2, 5, 4, 2, 2, 6Í

00000010

Page 83: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

83

Anfragebearbeitung§ Stellt ein Benutzer eine Anfrage, so muss diese mit Hilfe

des invertierten Index in möglichst kurzer Zeit undmit möglichst wenig Ressourcen bearbeitet werden

§ Zwei Arten von Anfragebearbeitung:

§ konjunktiv, d.h. alle Anfrageterme müssen in einem Dokument im Ergebnis vorkommen (AND)

§ disjunktiv, d.h. mindestens einer der Anfragetermemuss in einem Dokument im Ergebnis vorkommen (OR)

§ Konjunktive Anfragebearbeitung insbesondere bei großen Dokumentensammlungen (z.B. WWW) verwendet

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 84: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

84

Anfragebearbeitung§ Abstraktion vom konkreten Retrieval-Modell (z.B. VSM);

Wert (score) eines Dokuments d zur Anfrage q ist

§ Anfragebearbeitung liest nur Indexlisten zu Termen aus der Anfrage und aggregiert den Wert der Dokumente

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

score(q, d) =ÿ

vœq

score(v, d)

score(v, d) = tf (v, d) · log

N

df (v)

z.B. mit

Page 85: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

85

Term-at-a-Time Anfragebearbeitung§ Term-at-a-Time Anfragebearbeitung liest die Indexlisten

zu den Termen aus der Anfrage eine nach der anderen

§ Für jedes Dokument, das in einer Indexliste gesehen wird,muss im Hauptspeicher sein bisher aggregierter Wert(accumulator) gehalten werden

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

d1, 0.2a

b

d3, 0.1 d5, 0.5

d5, 0.3 d7, 0.2

Page 86: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

86

Term-at-a-Time Anfragebearbeitung§ Optimierungen bei konjunktiver Anfragebearbeitung

§ liest Indexlisten zu Anfragetermen v in aufsteigenderReihenfolge ihrer Länge, d.h. df(v)

§ wurde ein Dokument nicht in der ersten gelesenen Indexliste gesehen, kann es fortan ignoriert werden

§ Top-K Anfragebearbeitung, d.h. Bestimmen der KDokumente mit den höchsten Werten mittelsSortieren nachdem letzte Indexlistevollständig gelesen wurde

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 87: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

87

Document-at-a-Time Anfragebearbeitung§ Document-at-a-Time Anfragebearbeitung liest die

Indexlisten zu den Termen aus der Anfrage parallel

§ Indexlisten hierzu nach Dokumenten-IDs sortiert

§ Dokument wird zur gleichen Zeit in allen Indexlisten gesehen und es kann entschieden werden, ob es zum Ergebnis gehört (konjunktiv vs. disjunktiv)

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

d1, 0.2a

b

d3, 0.1 d5, 0.5

d5, 0.3 d7, 0.2

Page 88: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

88

Document-at-a-Time Anfragebearbeitung§ Optimierung bei konjunktiver Anfragebearbeitung

§ Indexlisten können durch sogenannte Skip-Pointer,als eingebettete Indexstruktur, erweitert werden;diese erlauben ein Überspringen ganzerBlöcke von nicht benötigtenIndexeinträgen

§ Top-K Anfragebearbeitung, d.h. Bestimmen der KDokumente mit den höchsten Werten, indemdie bisher gesehenen K besten Dokumentein einer Prioritätswarteschlange (MinHeap)vermerkt werden

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 89: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

89

5.7 Websuche§ Suche im World Wide Web ist heute eine der populärsten

Anwendungen von Methoden des Information Retrievals

§ Suchmaschinen (z.B. Altavista, Excite) in den frühen 1990ern setzten auf u.a. das Vektorraum-Modell sowie einfache Statistiken (z.B. Zahl eingehender Links)

§ Googles Erfolg ab 1998 beruhte mutmaßlich auf der besseren Ausnutzung des Webgraphen mittelsdes Verfahrens PageRank

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 90: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

90

Websuche§ Seit Mitte der 2000er Jahre verwenden Suchmaschinen

mehr und mehr Signale neben textueller Relevanz undlinkbasierter Wichtigkeit, beispielsweise solche abgeleitet aus Beobachtungen des Benutzerverhaltens

§ Zur Kombination dieser Signale werden heute Verfahren des maschinellen Lernens (learning to rank) eingesetzt

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 91: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

91

Webgraph§ World Wide Web als gerichteter Graph G(V, E)

§ Webseiten (URLs) sind die Knoten (V) dieses Graphs

§ Hyperlinks sind die Kanten (E) dieses Graph

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

A =

2

664

0 1 0 10 0 0 11 0 0 10 0 1 0

3

775

Adjazenzmatrix:

Page 92: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

92

PageRank§ PageRank basiert auf Zufallsbewegung (random walk)

eines Websurfers durch den Graph G(V,E)

§ mit Wahrscheinlichkeit ε springt der Websurferzu einem zufällig gewählten Knoten des Graph

§ mit Wahrscheinlichkeit (1- ε) folgt der Websurfereiner zufällig gewählten ausgehenden Kantedes aktuell besuchten Knotens

§ PageRank p(v) eines Knotens v misst seine Wichtigkeitund spiegelt die Zeit wieder, die im Knoten verbracht wird

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

p(v) = (1� ✏) ·X

(u,v)2E

p(u)

out(u)+

|V |

Page 93: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

93

PageRank§ PageRank berechenbar mittels iterativen Verfahrens auf

einer Matrix P von Übergangswahrscheinlichkeiten

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

P =

2

664

0.05 0.45 0.05 0.450.05 0.05 0.05 0.850.45 0.05 0.05 0.450.05 0.05 0.85 0.05

3

775

P(u,v) =

;‘/|V | + (1 ≠ ‘)/out(u) : (u, v) œ E

‘/|V | : sonst

‘ = 0.2

Page 94: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

94

PageRank§ PageRank berechenbar mittels iterativen Verfahrens auf

einer Matrix P von Übergangswahrscheinlichkeiten

§ beginne mit initialem Vektor

§ berechne Vektor nach i Schritten als

seine Einträge entsprechen der Wahrscheinlichkeit, dassder Websurfer nach i Schritten in einem Knoten ist

§ höre auf, wenn z.B. mit

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

fi(0) =Ë

1|V | . . . 1

|V |

È

fi(i) = fi(i≠1) P

|fi(i) ≠ fi(i≠1)| < ” ” = 10≠5

Page 95: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

95

PageRank§ Iteratives Verfahren (power iteration) angewandt

auf unseren Beispielgraphen

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

P =

2

664

0.05 0.45 0.05 0.450.05 0.05 0.05 0.850.45 0.05 0.05 0.450.05 0.05 0.85 0.05

3

775

⇡(0) =⇥0.25 0.25 0.25 0.25

⇡(1) =⇥0.15 0.15 0.25 0.45

⇡(2) =⇥0.15 0.11 0.41 0.33

...⇡(10) =

⇥0.18 0.12 0.34 0.36

Page 96: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

96

Verteilter invertierter Index§ World Wide Web ist zu groß, um in den Primärspeicher

oder Sekundärspeicher eines einzelnen Rechnerszu passen; zudem müssen viele Anfragenzeitgleich mit kurzen Antwortzeitenbearbeitet werden

§ Suchmaschinen partitionieren den invertierten Indexund halten ihn so verteilt im Primärspeicher vieler vernetzter Rechner; zudem werden Partitionenredundant gehalten, um eine Lastverteilungbei der Anfragebearbeitung zu erreichen

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 97: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

97

Verteilter invertierter Index§ Invertierter Index kann auf zwei Arten partitioniert werden

§ nach Dokumenten-IDs, so dass jeder Rechner eineninvertierten Index für einen Teil der Dokumente hält

§ nach Termen (Wörtern), so dass jeder Rechner einen invertierten Index für einen Teil der Terme hält

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

d1 d2 d3 d4 d5 d6 d7 d8 d9 d10c++ 2 0 0 1 1 0 0 2 0 0

object 1 0 0 0 1 0 1 0 0 0

class 1 1 0 0 1 0 1 0 0 2

oriented 1 1 0 0 1 0 0 0 0 0

loop 0 0 0 0 0 0 0 0 2 0

java 0 0 2 0 1 0 2 2 0 0

pointer 0 0 0 1 0 0 0 0 0 0

overflow 0 0 1 0 0 0 0 0 0 0

code 0 2 0 2 0 0 0 0 1 1

sort 0 2 1 0 0 1 0 0 2 0

python 0 2 0 0 0 2 0 1 0 0

array 0 0 0 1 0 1 1 0 0 2

stack 0 0 2 0 0 1 0 0 0 2

P1 P2 P3

Page 98: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

98

Verteilter invertierter Index§ Invertierter Index kann auf zwei Arten partitioniert werden

§ nach Dokumenten-IDs, so dass jeder Rechner eineninvertierten Index für einen Teil der Dokumente hält

§ nach Termen (Wörtern), so dass jeder Rechner einen invertierten Index für einen Teil der Terme hält

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

d1 d2 d3 d4 d5 d6 d7 d8 d9 d10c++ 2 0 0 1 1 0 0 2 0 0

object 1 0 0 0 1 0 1 0 0 0

class 1 1 0 0 1 0 1 0 0 2

oriented 1 1 0 0 1 0 0 0 0 0

loop 0 0 0 0 0 0 0 0 2 0

java 0 0 2 0 1 0 2 2 0 0

pointer 0 0 0 1 0 0 0 0 0 0

overflow 0 0 1 0 0 0 0 0 0 0

code 0 2 0 2 0 0 0 0 1 1

sort 0 2 1 0 0 1 0 0 2 0

python 0 2 0 0 0 2 0 1 0 0

array 0 0 0 1 0 1 1 0 0 2

stack 0 0 2 0 0 1 0 0 0 2

P1

P2

P3

Page 99: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

99

Verteilter invertierter Index§ Anfragebearbeitung auf verteiltem invertierten Index

§ bei Partitionierung nach Dokumenten-ID muss dieAnfrage auf allen Partitionen bearbeitet werden;fällt eine Partition aus, kann immerhin nochein Teilergebnis bestimmt werden

§ bei Partitionierung nach Termen muss die Anfragenur auf den Partitionen bearbeitet werden, dieeinen der Anfrageterme beinhalten; fällt einePartition aus, können Anfragen mit denenthaltenen Termen nicht mehrbearbeitet werden

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 100: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

100

Learning-to-Rank§ Suchmaschinen verwenden eine Vielzahl von Signalen,

um Dokumente zu einer Anfrage in eine Rangfolgezu bringen, so dass relevante Dokumentemöglichst weit oben erscheinen

§ Beispiele von Signalen, die Anwendung finden:

§ textuelle Relevanz (z.B. Kosinusähnlichkeit mit Anfrage)

§ linkbasierte Wichtigkeit (z.B. PageRank)

§ textuelle Qualität (z.B. Anteil der Schreibfehler)

§ Spamwahrscheinlichkeit§ Lesbarkeit

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 101: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

101

Learning-to-Rank§ Sinnvolle Kombination der Signale kann mittels Verfahren

des maschinellen Lernens bestimmt werden

§ Klassifikationsverfahren (z.B. logistische Regression) lernen anhand von Trainingsdaten wie sichDatenpunkte (hier: Dokumente) in zwei odermehrere Klassen anhand von Merkmalen(hier: Signale) einteilen lassen

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 102: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

102

Learning-to-Rank

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Klassifikator

#0.8 0.7 0.1 0.1 R

$

#0.1 0.1 0.7 0.5 N

$

#0.0 0.1 0.8 0.9 N

$#0.9 0.6 0.2 0.1 R

$

...Trainingsdatenmit KlassenRelevantNicht-Relevant

#0.7 0.7 0.1 0.1 ?

$Anfragezeit:Klasse R/N einesbisher unbekanntenDokuments wirdbestimmt

Page 103: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

103

Learning-to-Rank§ Trainingsdaten für den Klassifikator bestimmt z.B.

§ mittels Relevanzbewertungen durch Juroren

§ durch Beobachtung des Benutzerverhaltens(z.B. klickt der Benutzer für Anfrage auf Dokument)

§ Zur Anfragezeit werden die Top-K (z.B 1000) Dokumentegemäß eines wichtigen Signals (z.B. textuelle Relevanz)bestimmt und dann unter Berücksichtigung deranderen Signale mit Hilfe des Klassifikatorsin eine neue Rangfolge gebracht

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 104: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

104

Zusammenfassung§ Invertierter Index als vorherrschende Indexstruktur

im Information Retrieval; geschickte Kompressionist essentiell für effiziente Anfragebearbeitung

§ Term-at-a-Time und Document-at-a-Time als zwei Arten der Anfragebearbeitung auf invertiertem Index

§ Websuche unterscheidet sich durch Ausnutzung von Hyperlinks (z.B. mittels PageRank), Verteilung des invertierten Index und den Einsatz von Verfahrendes maschinellen Lernens

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval

Page 105: 5. Information Retrieval - swl.htwsaar.deswl.htwsaar.de/lehre/ws15/dbis/slides/2015-vl-dbis-kap5... · § Volltextsuche (z.B. in MS SQL Server und PostgreSQL) ... § ElasticSearchund

105

Literatur[1] C. D. Manning, P. Raghavan, H. Schütze:

Information Retrieval, Cambridge University Press, 2008

[2] W. B. Croft, D. Metzler, T. Strohman:Search Engines – Intelligent IR in Practice,Pearson, 2010

Datenbanken & Informationssysteme / Kapitel 5: Information Retrieval