5. Information Retrieval

Größe: px
Ab Seite anzeigen:

Download "5. Information Retrieval"

Transkript

1 5. Information Retrieval

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 2

3 5.1 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] Information Retrieval ist ein Fachgebiet in der Schnittmenge von Informationswissenschaft, Informatik und Computerlinguistik Weitgehend unabhängige, parallele Entwicklung zum Fachgebiet Datenbanken der Informatik mit nun zunehmendem Ideenaustausch 3

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) s 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) Benutzerprofile (z.b. auf Facebook oder XING) [Manning 2008] 4

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) Daten haben meist keine oder nur wenig Struktur Einfache Textdokumente (keine Struktur) HTML (Überschriften und Absätze markiert) JSON und XML (semistrukturiert) [Manning 2008] RDBMSs, im Gegensatz, betrachten strukturierte Daten 5

6 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] 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 mit genau definierter Semantik (z.b. relationale Algebra) 6

7 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) Große Datenmengen mit rapidem Wachstum Desktop ~ Dokumente The New York Times ( ) ~ Dokumente WWW im Jahr 1998 ~ Dokumente [Manning 2008] WWW im Jahr 2008 ~ Dokumente 7

8 Historisches Bibliotheken (seit ca v. Chr.) Katalogisierung nach Titel, Erscheinungsjahr, Autoren oder Schlagwörtern Klassifikationsschemata zur inhaltlichen Einordnung (z.b. Dewey-Dezimalklassifikation) JMC Vannevar Bushs Memex (1945) [3] erweitertes Gedächtnis (memory extender) Verknüpfung und Annotation von Inhalten 8

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) 9

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 10

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 Lucene als traditionelles IR-System zur Indexierung und Suche von semi-strukturierten Dokumenten (z.b. in JSON oder XML) und können je nach Anwendung ein (R)DBMS ersetzen 11

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-System zurückgelieferte Ergebnis das Informationsbedürfnis des Benutzers befriedigen kann Alle Dokumente in der Dokumentensammlung werden hierzu als relevant bzw. nicht-relevant für das Informationsbedürfnis des Benutzers klassifiziert 12

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) Ergebnis Relevante Dokumente tn tn tn tn tn tn tn tn fn fn fn tn tn tn fn fn fn tn tn fp tp tp fn tn tn fp fp fp tn tn tn tn tn tn tn tn 13

14 Präzision und Ausbeute (precision and recall) Präzision (precision) #tp #tp +#fp = # relevanter Dokumente im Ergebnis # Dokumente im Ergebnis misst Fähigkeit nur relevante Dokumente zu liefern Ausbeute (recall) #tp #tp +#fn = # relevanter Dokumente im Ergebnis # relevanter Dokumente misst Fähigkeit alle relevanten Dokumente zu liefern 14

15 Literatur C. D. Manning, P. Raghavan, H. Schütze: Information Retrieval, Cambridge University Press, W. B. Croft, D. Metzler, T. Strohman: Search Engines Intelligent IR in Practice, Pearson,

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) 16

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) 17

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) 18

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) 19

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 schwierig und Bedarf zusätzlicher Information in Form von Kontext oder Wortart (part of speech) Wörterbuch (z.b. um mice auf mouse abzubilden) 20

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 Suffixentfernung für schwach gebeugte (flektierte) Sprachen wie Englisch 21

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 22

23 Porters Algorithmus Implementierung unter Online-Demo unter 23

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) 24

25 Zipf sches Gesetz (Zipf s law) George K. Zipf ( ) beobachtete, dass für natürlichsprachige Text gilt, dass die Häufigkeit eines Wortes f(w) umgekehrt proportional zu seinem Häufigkeitsrang r(w) ist, d.h.: f(w) Ã 1 r(w) mit 1 Quelle: 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

26 Zipf sches Gesetz (Zipf s law) Beispiel: Worthäufigkeit und Häufigkeitsrang in The New York Times zwischen 1987 und 2007 log(häufigkeit) log(häufigkeitsrang) 26

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) 27

28 Stoppworteliminierung (stopword removal) Stoppworteliminierung anhand einer manuell definierten Stoppwortliste, evtl. mit themenspezifischen Stoppwörtern a, an, and, are, as, at, be, by, for, has, he, in, is, it, its, of, on, that, the, to, was, where, will, with Stoppwortliste kann alternativ automatisch erstellt werden und alle Wörter enthalten, die in mehr als einem bestimmten Anteil der Dokumente vorkommen 28

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 29

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 30

31 Boolesches Retrieval Beispiel: Dokumente über George Martin oder Neil Gaiman (george AND martin) OR (neil AND gaiman) george martin neil gaiman d d d d d mit Darstellung der Dokumentensammlung als Term-Dokument-Matrix 31

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 Ergebnisses nach Relevanz (ranking) 32

33 Zusammenfassung Information Retrieval als Fachgebiet in der Schnittmenge zwischen Informationswissenschaft, Informatik und 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 33

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,

35 Rückblick Information Retrieval als Fachgebiet in der Schnittmenge zwischen Informationswissenschaft, Informatik und 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 35

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 Anwendung in IR-Systemen 36

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.r mit einer Variante der tf.idf-gewichtung bestimmt Rangordnung gemäß Distanz/Ähnlichkeit der Vektoren 37

38 tf.idf-termgewichtung für Dokumente Dokumente sind nach Vorverarbeitung Multimengen von Termen (bag of words), aus denen nun die Werte der Vektorkomponenten 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 vorkommt und damit trennscharf (discriminative) ist 38

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 d = ÿ v tf (v, d) 39

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 d(v) =tf (v, d) log N df (v) 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) 40

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 log (1 + tf (v, d)) tf (v, d)/ d max-normalisierten Termhäufigkeiten tf (v, d)/max v (tf(v, d)) 41

42 tf.idf-termgewichtung für Dokumente Häufiger Kritikpunkt an tf.idf-termgewichtung und Vektorraum-Modell ist, dass sie heuristisch sind und auf keiner fundierten Theorie bzgl. der Relevanz von Dokumenten zu Anfragen beruhen Theoretisch fundierte Ansätze (z.b. Probabilistic IR, Statistical Language Models) lassen sich oft in eine Variante der tf.idf-termgewichtung umformen 42

43 Anfrage als Vektor Anfrage q durchläuft die gleiche Vorverarbeitung wie Dokumente (z.b. Wortreduktion) und ist ebenfalls eine Menge von Termen (bag of words) Gewicht q(v) der Vektorkomponente für den Term v im Vektor für die Anfrage q bestimmt als q(v) =tf (v, q) wobei die Termhäufigkeit tf(v, q) in der Regel binär (d.h. in {0,1}) ist, da Terme selten mehrfach in einer Anfrage vorkommen 43

44 Distanz/Ähnlichkeit zwischen Vektoren Dokumente und Anfrage sind nun Vektoren in einem hochdimensionalen Vektorraum d 2 q d 1 Wie lassen sich Dokumente und Anfrage vergleichen, um eine Rangordnung herzuleiten? 44

45 L1-Distanz (Manhattan Distanz) L1-Distanz (Manhattan Distanz) dis 1 (r, s) = ÿ r(v) s(v) v d 2 q d 1 45

46 L2-Distanz (Euklidische Distanz) L2-Distanz (Euklidische Distanz) dis 2 (r, s) = Û ÿ (r(v) s(v)) 2 d 2 q v d 1 L1- und L2-Distanz ungeeignet, um Rangordnung von Dokumenten zu einer Anfrage herzuleiten Dokument, welches genau die Terme aus der Anfrage wiederholt beinhaltet, so dass sein Vektor ein Vielfaches des Anfragevektors ist, hat große L1- und L2-Distanz 46

47 Kosinusähnlichkeit (cosine similarity) Kosinusähnlichkeit (cosine similarity) sim(r, s) = = r s ÎrÎÎsÎ q v (r(v) s(v)) appleqv apple q r(v)2 v s(v)2 d 2 q d 1 misst den Kosinus des Winkels zwischen beiden Vektoren linear abhängige Vektoren (d.h. gleiche Richtung) haben einen Winkel von 0 und damit einen Kosinus von 1 orthogonale Vektoren (d.h. rechter Winkel) haben einen Winkel vom 90 und damit einen Kosinus von 0 47

48 Kosinusähnlichkeit (cosine similarity) Kosinusähnlichkeit (cosine similarity) sim(r, s) = r s ÎrÎÎsÎ d 2 q d 1 = r ÎrÎ s ÎsÎ ist als Skalarprodukt normierter Vektoren berechenbar; diese Beobachtung kann zur effizienten Implementierung ausgenutzt werden: werden die Dokumentvektoren normiert gespeichert, müssen nur Komponenten zu Termen aus der Anfrage betrachtet werden 48

49 Beispiel Vektorraum-Modell Wir betrachten die folgende Dokumentensammlung d 1 d 2 d 3 d 4 d 5 d 6 d 7 d 8 d 9 d 10 df (v) idf (v) q c log (10/4) object log (10/3) class log (10/5) oriented log (10/3) loop log (10/1) java log (10/4) pointer log (10/1) overflow log (10/1) code log (10/4) sort log (10/4) python log (10/3) array log (10/4) stack log (10/3) Unsere Anfrage lautet: java stack overflow N = 10 49

50 Beispiel Vektorraum-Modell Wir betrachten die folgende Dokumentensammlung d 1 d 2 d 3 d 4 d 5 d 6 d 7 d 8 d 9 d 10 df (v) idf (v) q c log (10/4) object log (10/3) class log (10/5) oriented log (10/3) loop log (10/1) java log (10/4) pointer log (10/1) overflow log (10/1) code log (10/4) sort log (10/4) python log (10/3) array log (10/4) stack log (10/3) N = 10 Wir müssen nur die Dokumente d 3, d 5, d 6, d 7, d 8 und d 10 betrachten; alle anderen beinhalten keinen Anfrageterm 50

51 Beispiel Vektorraum-Modell Kosinusähnlichkeit zwischen d 3 und Anfrage q d 3 idf (v) q c++ 0 log (10/4) object 0 log (10/3) class 0 log (10/5) oriented 0 log (10/3) loop 0 log (10/1) java 2 log (10/4) pointer 0 log (10/1) overflow 1 log (10/1) code 0 log (10/4) sort 1 log (10/4) python 0 log (10/3) array 0 log (10/4) stack 2 log (10/3) d 3 q c object class oriented loop java pointer overflow code sort python array stack sim(d 3, q) = Ô Ô

52 Beispiel Vektorraum-Modell Wir betrachten die folgende Dokumentensammlung d 1 d 2 d 3 d 4 d 5 d 6 d 7 d 8 d 9 d 10 c object class oriented loop java pointer overflow code sort python array stack sim(d i, q) Die Rangfolge der Dokumente zu unserer Anfrage lautet d 3, d 7, d 10, d 8, d 5 und d 6 52

53 5.5 Evaluation Evaluation spielt wichtige Rolle im Information Retrieval, u.a. aufgrund zentraler Rolle des Benutzers und Unschä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 53

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) Ergebnis Relevante Dokumente tn tn tn tn tn tn tn tn fn fn fn tn tn tn fn fn fn tn tn fp tp tp fn tn tn fp fp fp tn tn tn tn tn tn tn tn 54

55 Präzision und Ausbeute (precision and recall) Präzision (precision) #tp #tp +#fp = # relevanter Dokumente im Ergebnis # Dokumente im Ergebnis misst Fähigkeit nur relevante Dokumente zu liefern Ausbeute (recall) #tp #tp +#fn = # relevanter Dokumente im Ergebnis # relevanter Dokumente misst Fähigkeit alle relevanten Dokumente zu liefern 55

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. ndcg) adressieren einen oder mehrere dieser Nachteile 56

57 betrachtet nur die ersten k Dokumente im sortierten Ergebnis und ist eines der gängigsten Gütemaße mit k in {1, 5, 10} = # Relevante Dokumente in Top-k von r k Bei Betrachtung mehrerer Anfragen wird der Mittelwert aus den Präzision@k-Werten pro Anfrage gebildet 57

58 Beispiel: Betrachte zwei Ergebnisse r 1 und r 2 S T r 1 = W U d 2 d 1 d 5 d 7 d 4 X V r 2 = S W U d 8 d 5 d 1 d 2 d 7 T X V 1 )= )= 1 3 Die Dokumente d 1, d 2 und d 4 seien relevant; alle anderen Dokumente seien nicht relevant zur Anfragen 58

59 AP und MAP Average Precision (AP) ist der Mittelwert der Präzisionswerte an den Positionen, an denen eines der bekannten relevanten Dokumente im 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 AP(r) = 1 mÿ # Relevante Dokumente bis Position r(i) m r(i) i=1 Mean Average Precision (MAP) bildet den Mittelwert aus den AP-Werten bei Betrachtung mehrerer Anfragen 59

60 AP und MAP Beispiel: Betrachte zwei Ergebnisse r 1 und r 2 S T r 1 = W U d 2 d 1 d 5 d 7 d 4 X V r 2 = S W U d 8 d 5 d 1 d 2 d 7 T X V AP(r 1 )= AP(r 2 )= Œ Die Dokumente d 1, d 2 und d 4 seien relevant; alle anderen Dokumente seien nicht relevant zur Anfragen 60

61 (Normalized) Discounted Cumulative Gain 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 diese frü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 DCG@k(r) = kÿ i=1 2 g(i) 1 log(1 + i) 61

62 Idealized Discounted Cumulative Gain bestimmt den bestmöglichen in Anbetracht der bekannten Relevanzbewertungen Normalized Discounted Cumulative Gain normalisiert mit und erreicht einen Wert im Intervall [0, 1] = idcg@k Bei mehreren Anfragen wird der Mittelwert der pro Anfrage gebildet 62

63 Beispiel: Betrachte zwei Ergebnisse r 1 und r 2 DCG@5(r 1 )= DCG@5(r 2 )= r 1 = Die Dokumente d 1, d 2 und d 4 seien sehr relevant (2); die Dokumente d 6 und d 8 relevant (1); alle anderen irrelevant (0) S W U d 2 d 1 d 5 d 7 d 4 T X V r 2 = 3 3 log(2) + 3 log(3) + 0 log(4) + 0 log(5) log(6) 3 1 log(2) + 0 log(3) + 3 log(4) + 3 log(5) log(6) S W U d 8 d 5 d 1 d 2 d 7 T X V

64 Beispiel: Betrachte zwei Ergebnisse r 1 und r 2 r 1 = S W U d 2 d 1 d 5 d 7 d 4 T X V r 2 = S W U d 8 d 5 d 1 d 2 d 7 T X V idcg@5 = 3 3 log(2) + 3 log(3) + 3 log(4) + 1 log(5) log(6) Die Dokumente d 1, d 2 und d 4 seien sehr relevant (2); die Dokumente d 6 und d 8 relevant (1); alle anderen irrelevant (0) 64

65 Beispiel: Betrachte zwei Ergebnisse r 1 und r 2 r 1 = S W U d 2 d 1 d 5 d 7 d 4 T X V r 2 = S W U d 8 d 5 d 1 d 2 d 7 T X V ndcg@5(r 1 ) 0.84 ndcg@5(r 2 ) 0.53 Die Dokumente d 1, d 2 und d 4 seien sehr relevant (2); die Dokumente d 6 und d 8 relevant (1); alle anderen irrelevant (0) 65

66 Benchmarks und Pooling Benchmark-Initiativen wie TREC ( CLEF ( NTCIR ( FIRE ( spielen eine wichtige Rolle im Information Retrieval, mit Teilnehmern aus industrieller und akademischer Forschung Teilnehmer (participants) arbeiten separat an einer gemeinsamen Aufgabe (task) auf gemeinsamen Daten (z.b. Dokumentensammlung und Anfragen) 66

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 eines Teilnehmers vorkommen; andere Dokumente werden nicht bewertet und es wird angenommen, dass sie irrelevant sind Top-k Pooling bewertet sogar nur die ersten k Dokumente aus jedem der eingereichten Ergebnisse 67

68 Zusammenfassung Vektorraum-Modell bildet Dokumente und Anfrage in gemeinsamen hochdimensionalen Vektorraum ab Vektorkomponenten werden mittels tf.idf-gewichtung unter 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) adressieren verschiedene Nachteile von Präzision und Ausbeute 68

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) 69

70 Rückblick Vektorraum-Modell bildet Dokumente und Anfrage in gemeinsamen hochdimensionalen Vektorraum ab Vektorkomponenten werden mittels tf.idf-gewichtung unter 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) adressieren verschiedene Nachteile von Präzision und Ausbeute 70

71 5.6 Implementierung Prototypische Implementierung eines IR-Systems auf Grundlage eines RDBMS möglich (vgl. Übung) Spezialisierte Implementierung sehr sinnvoll für große dynamische Dokumentensammlungen oder bei hoher Anfragelast Dokumentensammlung wird vorab indexiert, um so die spätere Anfragebearbeitung zu beschleunigen Zusätzlich kommen verschiedene Caches (z.b. für Teile des Index oder Anfrageergebnisse) zum Einsatz 71

72 Invertierter Index (inverted index) Wörterbuch clooney george d1 d4 d6 d9 d11 d34 d66 d89 d4 d5 d7 d9 d13 d14 d34 d99 Indexlisten Invertierter Index (inverted index oder inverted file) als die am häufigsten verwendete Indexstruktur in IR-Systemen Wörterbuch (dictionary) beinhaltet alle bekannten Terme Indexlisten (posting lists) beinhalten jeweils Informationen zu den Vorkommen eines bestimmten Terms 72

73 Invertierter Index (inverted index) Wörterbuch clooney george d1 d4 d6 d9 d11 d34 d66 d89 d4 d5 d7 d9 d13 d14 d34 d99 Indexlisten Wörterbuch typischerweise implementiert als B + -Baum oder Hashtabelle und (teilweise) im Primärspeicher gehalten 73

74 Invertierter Index (inverted index) Wörterbuch clooney george d1 d4 d6 d9 d11 d34 d66 d89 d4 d5 d7 d9 d13 d14 d34 d99 Indexlisten Indexlisten (posting lists) typischerweise sequenziell (d.h. an einem Stück) oder in wenigen verketteten Blöcken auf Sekundärspeicher gespeichert 74

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) d7 Dokumenten-ID und Wert (z.b. Termhäufigkeit) VSM) d7 5 Dokumenten-ID, Wert und Positionsangaben d7 5 [1, 2, 6, 8, 12] (z.b. wenn nach Phrasen gesucht werden soll) 75

76 Sortierung der Indexlisten Sortierung der Indexlisten beeinflusst Komprimierbarkeit sowie die Möglichkeiten der Anfragebearbeitung Sortierung nach Dokumenten-ID d2 5 d6 2 d8 6 bietet mehr Möglichkeiten zur Komprimierung und erlaubt effiziente konjunktive Anfrageauswertung Sortierung nach Wert (z.b. Termhäufigkeit) d8 6 d2 5 d6 2 erlaubt effiziente Top-k Anfrageauswertung 76

77 Kompression Leistungsfähigkeit von CPUs hat deutlich schneller zugenommen als die von Sekundärspeichern (Kapitel 3) Geeignet komprimierte Indexlisten lassen sich schneller als nicht komprimierte vom Sekundärspeicher lesen Kompressionsverfahren muss leichtgewichtig sein und sequentielles Lesen der Indexlisteneinträge erlauben 77

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) continuation bit payload

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)

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 d2 5 d6 2 d8 6 Positionsangaben bei Indexlisten mit Positionsinformation d7 5 [1, 2, 6, 8, 12] 80

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 È7, 64, 128, 130, 167Í wird gespeichert als È7, 57, 64, 2, 37Í wodurch bei Verwendung von Variable-Byte-Encoding nur noch 5 Bytes anstatt 8 Bytes benötigt werden 81

82 Beispiel Kompression Komprimieren einer Indexliste mit Kombination aus Gap- und Variable-Byte Encoding d2 5 d6 2 d8 6 Gap-Encoding führt zu folgender Liste ganzer Zahlen È2, 5, 4, 2, 2, 6Í mit abwechselnden Dokumenten-IDs und Termhäufigkeiten Variable-Byte Encoding ergibt

83 Anfragebearbeitung Stellt ein Benutzer eine Anfrage, so muss diese mit Hilfe des invertierten Index in möglichst kurzer Zeit und mit 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 Anfrageterme muss in einem Dokument im Ergebnis vorkommen (OR) Konjunktive Anfragebearbeitung insbesondere bei großen Dokumentensammlungen (z.b. WWW) verwendet 83

84 Anfragebearbeitung Abstraktion vom konkreten Retrieval-Modell (z.b. VSM); Wert (score) eines Dokuments d zur Anfrage q ist score(q, d) = ÿ vœq score(v, d) z.b. mit score(v, d) =tf (v, d) log N df (v) Anfragebearbeitung liest nur Indexlisten zu Termen aus der Anfrage und aggregiert den Wert der Dokumente 84

85 Term-at-a-Time Anfragebearbeitung Term-at-a-Time Anfragebearbeitung liest die Indexlisten zu den Termen aus der Anfrage eine nach der anderen a d1, 0.2 d3, 0.1 d5, 0.5 b d5, 0.3 d7, 0.2 Für jedes Dokument, das in einer Indexliste gesehen wird, muss im Hauptspeicher sein bisher aggregierter Wert (accumulator) gehalten werden 85

86 Term-at-a-Time Anfragebearbeitung Optimierungenbei konjunktiver Anfragebearbeitung liest Indexlisten zu Anfragetermen v in aufsteigender Reihenfolge 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 K Dokumente mit den höchsten Werten mittels Sortieren nachdem letzte Indexliste vollständig gelesen wurde 86

87 Document-at-a-Time Anfragebearbeitung Document-at-a-Time Anfragebearbeitung liest die Indexlisten zu den Termen aus der Anfrage parallel a d1, 0.2 d3, 0.1 d5, 0.5 b d5, 0.3 d7, 0.2 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) 87

88 Document-at-a-Time Anfragebearbeitung Optimierungbei konjunktiver Anfragebearbeitung Indexlisten können durch sogenannte Skip-Pointer, als eingebettete Indexstruktur, erweitert werden; diese erlauben ein Überspringen ganzer Blöcke von nicht benötigten Indexeinträgen Top-K Anfragebearbeitung, d.h. Bestimmen der K Dokumente mit den höchsten Werten, indem die bisher gesehenen K besten Dokumente in einer Prioritätswarteschlange (MinHeap) vermerkt werden 88

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 mittels des Verfahrens PageRank 89

90 Websuche Seit Mitte der 2000er Jahre verwenden Suchmaschinen mehr und mehr Signale neben textueller Relevanz und linkbasierter Wichtigkeit, beispielsweise solche abgeleitet aus Beobachtungen des Benutzerverhaltens Zur Kombination dieser Signale werden heute Verfahren des maschinellen Lernens (learning to rank) eingesetzt 90

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 Adjazenzmatrix: A =

92 PageRank PageRank basiert auf Zufallsbewegung (random walk) eines Websurfers durch den Graph G(V,E) mit Wahrscheinlichkeit ε springt der Websurfer zu einem zufällig gewählten Knoten des Graph mit Wahrscheinlichkeit (1- ε) folgt der Websurfer einer zufällig gewählten ausgehenden Kante des aktuell besuchten Knotens p(v) =(1 ) X (u,v)2e p(u) out(u) + V PageRank p(v) eines Knotens v misst seine Wichtigkeit und spiegelt die Zeit wieder, die im Knoten verbracht wird 92

93 PageRank PageRank berechenbar mittels iterativen Verfahrens auf einer Matrix P von Übergangswahrscheinlichkeiten P (u,v) = ; / V +(1 )/out(u) : (u, v) œ E / V : sonst =0.2 P =

94 PageRank PageRank berechenbar mittels iterativen Verfahrens auf einer Matrix P von Übergangswahrscheinlichkeiten beginne mit initialem Vektor Ë È fi (0) = 1 V... 1 V berechne Vektor nach i Schritten als fi (i) = fi (i 1) P seine Einträge entsprechen der Wahrscheinlichkeit, dass der Websurfer nach i Schritten in einem Knoten ist höre auf, wenn fi (i) fi (i 1) < z.b. mit =

95 PageRank Iteratives Verfahren (power iteration) angewandt auf unseren Beispielgraphen (0) = (1) = (2) = (10) = P =

96 Verteilter invertierter Index World Wide Web ist zu groß, um in den Primärspeicher oder Sekundärspeicher eines einzelnen Rechners zu passen; zudem müssen viele Anfragen zeitgleich mit kurzen Antwortzeiten bearbeitet werden Suchmaschinen partitionieren den invertierten Index und halten ihn so verteilt im Primärspeicher vieler vernetzter Rechner; zudem werden Partitionen redundant gehalten, um eine Lastverteilung bei der Anfragebearbeitung zu erreichen 96

97 Verteilter invertierter Index Invertierter Index kann auf zwei Arten partitioniert werden nach Dokumenten-IDs, so dass jeder Rechner einen invertierten 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 P1 P2 P3 d 1 d 2 d 3 d 4 d 5 d 6 d 7 d 8 d 9 d 10 c object class oriented loop java pointer overflow code sort python array stack

98 Verteilter invertierter Index Invertierter Index kann auf zwei Arten partitioniert werden nach Dokumenten-IDs, so dass jeder Rechner einen invertierten 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 d 1 d 2 d 3 d 4 d 5 d 6 d 7 d 8 d 9 d 10 c object class oriented loop java pointer overflow code sort python array stack P1 P2 P3 98

99 Verteilter invertierter Index Anfragebearbeitung auf verteiltem invertierten Index bei Partitionierung nach Dokumenten-ID muss die Anfrage auf allen Partitionen bearbeitet werden; fällt eine Partition aus, kann immerhin noch ein Teilergebnis bestimmt werden bei Partitionierung nach Termen muss die Anfrage nur auf den Partitionen bearbeitet werden, die einen der Anfrageterme beinhalten; fällt eine Partition aus, können Anfragen mit den enthaltenen Termen nicht mehr bearbeitet werden 99

100 Learning-to-Rank Suchmaschinen verwenden eine Vielzahl von Signalen, um Dokumente zu einer Anfrage in eine Rangfolge zu bringen, so dass relevante Dokumente mö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 100

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 sich Datenpunkte (hier: Dokumente) in zwei oder mehrere Klassen anhand von Merkmalen (hier: Signale) einteilen lassen 101

102 Learning-to-Rank # R $ # $ N # $ N # $ R Trainingsdaten mit Klassen Relevant Nicht-Relevant Klassifikator # ? $ Anfragezeit: Klasse R/N eines bisher unbekannten Dokuments wird bestimmt 102

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) Dokumente gemäß eines wichtigen Signals (z.b. textuelle Relevanz) bestimmt und dann unter Berücksichtigung der anderen Signale mit Hilfe des Klassifikators in eine neue Rangfolge gebracht 103

104 Zusammenfassung Invertierter Index als vorherrschende Indexstruktur im Information Retrieval; geschickte Kompression ist 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 Verfahren des maschinellen Lernens 104

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,

Information Retrieval als Fachgebiet in der Schnittmenge zwischen Informationswissenschaft, Informatik und Computerlinguistik

Information Retrieval als Fachgebiet in der Schnittmenge zwischen Informationswissenschaft, Informatik und Computerlinguistik Rückblick Information Retrieval als Fachgebiet in der Schnittmenge zwischen Informationswissenschaft, Informatik und Computerlinguistik Präzision und Ausbeute als elementare Gütemaße Zerlegung und Normalisierung

Mehr

Vektorraum-Modell bildet Dokumente und Anfrage in gemeinsamen hochdimensionalen Vektorraum ab

Vektorraum-Modell bildet Dokumente und Anfrage in gemeinsamen hochdimensionalen Vektorraum ab Rückblick Vektorraum-Modell bildet Dokumente und Anfrage in gemeinsamen hochdimensionalen Vektorraum ab Vektorkomponenten werden mittels tf.idf-gewichtung unter Berücksichtigung von Häufigkeiten bestimmt

Mehr

5. Information Retrieval

5. Information Retrieval 5. Information Retrieval 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 2 5.1 Information

Mehr

Rückblick. Aufteilung in Dokumente anwendungsabhängig. Tokenisierung und Normalisierung sprachabhängig

Rückblick. Aufteilung in Dokumente anwendungsabhängig. Tokenisierung und Normalisierung sprachabhängig 3. IR-Modelle Rückblick Aufteilung in Dokumente anwendungsabhängig Tokenisierung und Normalisierung sprachabhängig Gesetz von Zipf sagt aus, dass einige Wörter sehr häufig vorkommen; Stoppwörter können

Mehr

Boole sches Retrieval als frühes, aber immer noch verbreitetes IR-Modell mit zahlreichen Erweiterungen

Boole sches Retrieval als frühes, aber immer noch verbreitetes IR-Modell mit zahlreichen Erweiterungen Rückblick Boole sches Retrieval als frühes, aber immer noch verbreitetes IR-Modell mit zahlreichen Erweiterungen Vektorraummodell stellt Anfrage und Dokumente als Vektoren in gemeinsamen Vektorraum dar

Mehr

Motivation. Wie evaluiert man die Effektivität eines IR-Systems? Ideal: Ermittle die Zufriedenheit der Benutzer. Praxis:

Motivation. Wie evaluiert man die Effektivität eines IR-Systems? Ideal: Ermittle die Zufriedenheit der Benutzer. Praxis: 5. Evaluation Motivation Wie evaluiert man die Effektivität eines IR-Systems? Zur Erinnerung: Werden die richtigen Dinge getan? Ideal: Ermittle die Zufriedenheit der Benutzer schwierig zu messen (z.b.

Mehr

Probabilistic Ranking Principle besagt, dass Rangfolge gemäß dieser Wahrscheinlichkeiten optimal ist

Probabilistic Ranking Principle besagt, dass Rangfolge gemäß dieser Wahrscheinlichkeiten optimal ist Rückblick Probabilistisches IR bestimmt die Wahrscheinlichkeit, dass ein Dokument d zur Anfrage q relevant ist Probabilistic Ranking Principle besagt, dass Rangfolge gemäß dieser Wahrscheinlichkeiten optimal

Mehr

Seminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK

Seminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK Seminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK Martin Hacker Richard Schaller Künstliche Intelligenz Department Informatik FAU Erlangen-Nürnberg 08.05.2014 Gliederung 1 Vorverarbeitung

Mehr

Information Retrieval, Vektorraummodell

Information Retrieval, Vektorraummodell Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Information Retrieval, Vektorraummodell Tobias Scheffer Paul Prasse Michael Großhans Uwe Dick Information Retrieval Konstruktion

Mehr

Rückblick. Invertierter Index als zentrale Indexstruktur in IR-Systemen besteht aus Wörterbuch und Indexlisten

Rückblick. Invertierter Index als zentrale Indexstruktur in IR-Systemen besteht aus Wörterbuch und Indexlisten Rückblick Invertierter Index als zentrale Indexstruktur in IR-Systemen besteht aus Wörterbuch und Indexlisten Kompression auf aktueller Hardware vorteilhaft, d.h. es ist schneller komprimierte Daten zu

Mehr

2. Natürliche Sprache

2. Natürliche Sprache 2. Natürliche Sprache Rückblick Information Retrieval an der Schnittstelle zwischen Bibliotheks- und Kommunikationswissenschaft, Computerlinguistik und Informatik Informationsbedürfnis des Benutzers als

Mehr

Klassen von Retrieval-Modellen. Boolesche und Vektorraum- Modelle. Weitere Modell-Dimensionen. Retrieval-Modelle. Boolesche Modelle (Mengen-basiert)

Klassen von Retrieval-Modellen. Boolesche und Vektorraum- Modelle. Weitere Modell-Dimensionen. Retrieval-Modelle. Boolesche Modelle (Mengen-basiert) Klassen von Retrieval-Modellen Boolesche und Vektorraum- Modelle Boolesche Modelle (Mengen-basiert) Erweitertes Boolesches Modell Vektorraummodelle (vector space) (statistisch-algebraischer Ansatz) Latente

Mehr

Boolesche- und Vektorraum- Modelle

Boolesche- und Vektorraum- Modelle Boolesche- und Vektorraum- Modelle Viele Folien in diesem Abschnitt sind eine deutsche Übersetzung der Folien von Raymond J. Mooney (http://www.cs.utexas.edu/users/mooney/ir-course/). 1 Retrieval Modelle

Mehr

Retrieval Modelle. Boolesche- und Vektorraum- Modelle. Weitere Modell-Dimensionen. Klassen von Retrieval Modellen. Boolesche Modelle (Mengentheorie)

Retrieval Modelle. Boolesche- und Vektorraum- Modelle. Weitere Modell-Dimensionen. Klassen von Retrieval Modellen. Boolesche Modelle (Mengentheorie) Retrieval Modelle Boolesche- und Vektorraum- Modelle Ein Retrieval-Modell spezifiziert die Details der: Repräsentation von Dokumenten Repräsentation von Anfragen Retrievalfunktion Legt die Notation des

Mehr

Textsuche mit Indexstrukturen. Anfragen. Inzidenz Vektoren. Term-Dokument Inzidenz Matrix

Textsuche mit Indexstrukturen. Anfragen. Inzidenz Vektoren. Term-Dokument Inzidenz Matrix Textsuche mit Indexstrukturen Zu einer Anfrage alle Dokumente sequentiell durchsuchen? Kleine Textsammlungen (ein paar MB) Sehr viele Änderungen Indexstrukturen Mehraufwand lohnt sich erst für große Texte

Mehr

Nachteile Boolesches Retrieval

Nachteile Boolesches Retrieval Nachteile Boolesches Retrieval Komplizierte Anfragen Häufigkeit bzw. Relevanz der Terme in den Dokumenten nicht berücksichtigt 2 von 3 UND-verknüpften Termen im Dokument so schlecht wie 0 Terme Keine Rangfolge

Mehr

Information Retrieval. Domenico Strigari Dominik Wißkirchen

Information Retrieval. Domenico Strigari Dominik Wißkirchen Information Retrieval Domenico Strigari Dominik Wißkirchen 2009-12-22 Definition Information retrieval (IR) is finding material (usually documents) of an unstructured nature (usually text) that satisfies

Mehr

IR Seminar SoSe 2012 Martin Leinberger

IR Seminar SoSe 2012 Martin Leinberger IR Seminar SoSe 2012 Martin Leinberger Suchmaschinen stellen Ergebnisse häppchenweise dar Google: 10 Ergebnisse auf der ersten Seite Mehr Ergebnisse gibt es nur auf Nachfrage Nutzer geht selten auf zweite

Mehr

Inhalt. 6.1 Motivation. 6.2 Klassifikation. 6.3 Clusteranalyse. 6.4 Asszoziationsanalyse. Datenbanken & Informationssysteme / Kapitel 6: Data Mining

Inhalt. 6.1 Motivation. 6.2 Klassifikation. 6.3 Clusteranalyse. 6.4 Asszoziationsanalyse. Datenbanken & Informationssysteme / Kapitel 6: Data Mining 6. Data Mining Inhalt 6.1 Motivation 6.2 Klassifikation 6.3 Clusteranalyse 6.4 Asszoziationsanalyse 2 6.1 Motivation Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Erkenntnisse (actionable

Mehr

SPRACHTECHNOLOGIE IN SUCHMASCHINEN IR-GRUNDLAGEN

SPRACHTECHNOLOGIE IN SUCHMASCHINEN IR-GRUNDLAGEN SPRACHTECHNOLOGIE IN SUCHMASCHINEN IR-GRUNDLAGEN HAUPTSEMINAR SUCHMASCHINEN COMPUTERLINGUISTIK SOMMERSEMESTER 2016 STEFAN LANGER [email protected] -MUENCHEN.DE Übung (Gruppenarbeit, 10-15 min.) Sie

Mehr

Inhalt. 4.1 Motivation. 4.2 Evaluation. 4.3 Logistische Regression. 4.4 k-nächste Nachbarn. 4.5 Naïve Bayes. 4.6 Entscheidungsbäume

Inhalt. 4.1 Motivation. 4.2 Evaluation. 4.3 Logistische Regression. 4.4 k-nächste Nachbarn. 4.5 Naïve Bayes. 4.6 Entscheidungsbäume 4. Klassifikation Inhalt 4.1 Motivation 4.2 Evaluation 4.3 Logistische Regression 4.4 k-nächste Nachbarn 4.5 Naïve Bayes 4.6 Entscheidungsbäume 4.7 Support Vector Machines 4.8 Neuronale Netze 4.9 Ensemble-Methoden

Mehr

Übersicht. Volltextindex Boolesches Retrieval Termoperationen Indexieren mit Apache Lucene

Übersicht. Volltextindex Boolesches Retrieval Termoperationen Indexieren mit Apache Lucene Übersicht Volltextindex Boolesches Retrieval Termoperationen Indexieren mit Apache Lucene 5.0.07 1 IR-System Peter Kolb 5.0.07 Volltextindex Dokumentenmenge durchsuchbar machen Suche nach Wörtern Volltextindex:

Mehr

Boole'sches Modell <is web>

Boole'sches Modell <is web> Boole'sches Modell basiert auf Mengentheorie und Boole'scher Algebra sehr einfaches Modell mit klarer Semantik Dokumente als Mengen von Indextermen Termgewichte sind binär: im Dokument enthalten oder nicht

Mehr

Information-Retrieval: Evaluation

Information-Retrieval: Evaluation Information-Retrieval: Evaluation Claes Neuefeind Fabian Steeg 17. Dezember 2009 Themen des Seminars Boolesches Retrieval-Modell (IIR 1) Datenstrukturen (IIR 2) Tolerantes Retrieval (IIR 3) Vektorraum-Modell

Mehr

Information Retrieval,

Information Retrieval, Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Information Retrieval, Vektorraummodell Tobias Scheffer Uwe Dick Peter Haider Paul Prasse Information Retrieval Konstruktion von

Mehr

Federated Search: Integration von FAST DataSearch und Lucene

Federated Search: Integration von FAST DataSearch und Lucene Federated Search: Integration von FAST DataSearch und Lucene Christian Kohlschütter L3S Research Center BSZ/KOBV-Workshop, Stuttgart 24. Januar 2006 Christian Kohlschütter, 24. Januar 2006 p 1 Motivation

Mehr

Evaluation von IR-Systemen

Evaluation von IR-Systemen Evaluation von IR-Systemen Überblick Relevanzbeurteilung Übereinstimmung zwischen Annotatoren Precision Recall (Präzision u. Vollständigkeit) Text Retrieval Conference (TREC) Testkollektionen Beurteilen

Mehr

Klassifikationsverfahren haben viele Anwendungen. Binäres Klassifikationsverfahren auch zur Klassifikation in mehr als zwei Klassen verwendbar

Klassifikationsverfahren haben viele Anwendungen. Binäres Klassifikationsverfahren auch zur Klassifikation in mehr als zwei Klassen verwendbar Rückblick Klassifikationsverfahren haben viele Anwendungen Binäres Klassifikationsverfahren auch zur Klassifikation in mehr als zwei Klassen verwendbar Konfusionsmatrix stellt Vorhersagen und Daten gegenüber

Mehr

Information Retrieval. Peter Kolb

Information Retrieval. Peter Kolb Information Retrieval Peter Kolb Semesterplan Einführung Boolesches Retrievalmodell Volltextsuche, invertierter Index Boolesche Logik und Mengen Vektorraummodell Evaluation im IR Term- und Dokumentrepräsentation

Mehr

Seminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK

Seminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK Seminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK Martin Hacker Richard Schaller Künstliche Intelligenz Department Informatik FAU Erlangen-Nürnberg 16.05.2013 Gliederung 1 Vorverarbeitung

Mehr

WMS Block: Management von Wissen in Dokumentenform PART: Text Mining. Myra Spiliopoulou

WMS Block: Management von Wissen in Dokumentenform PART: Text Mining. Myra Spiliopoulou WMS Block: Management von Wissen in nform PART: Text Mining Myra Spiliopoulou WIE ERFASSEN UND VERWALTEN WIR EXPLIZITES WISSEN? 1. Wie strukturieren wir Wissen in nform? 2. Wie verwalten wir nsammlungen?

Mehr

Motivation. Klassifikationsverfahren sagen ein abhängiges nominales Merkmal anhand einem oder mehrerer unabhängiger metrischer Merkmale voraus

Motivation. Klassifikationsverfahren sagen ein abhängiges nominales Merkmal anhand einem oder mehrerer unabhängiger metrischer Merkmale voraus 3. Klassifikation Motivation Klassifikationsverfahren sagen ein abhängiges nominales Merkmal anhand einem oder mehrerer unabhängiger metrischer Merkmale voraus Beispiel: Bestimme die Herkunft eines Autos

Mehr

Kapitel IR:III (Fortsetzung)

Kapitel IR:III (Fortsetzung) Kapitel IR:III (Fortsetzung) III. Retrieval-Modelle Modelle und Prozesse im IR Klassische Retrieval-Modelle Bool sches Modell Vektorraummodell Retrieval-Modelle mit verborgenen Variablen Algebraisches

Mehr

Inverted Files for Text Search Engines

Inverted Files for Text Search Engines Inverted Files for Text Search Engines Justin Zobel, Alistair Moffat PG 520 Intelligence Service Emel Günal 1 Inhalt Einführung Index - Inverted Files - Indexkonstruktion - Indexverwaltung Optimierung

Mehr

Hyperlink Induced Topic Search- HITS. Ying Ren Universität Heidelberg, Seminar Infomation Retrieval

Hyperlink Induced Topic Search- HITS. Ying Ren Universität Heidelberg, Seminar Infomation Retrieval Hyperlink Induced Topic Search- HITS Hyperlink-basiertes Ranking Ying Ren 25.01.2010 Universität Heidelberg, Seminar Infomation Retrieval Grundgedanken zum Link-basierten Rankingverfahren

Mehr

Einführung in die Computerlinguistik Information Retrieval: tf.idf

Einführung in die Computerlinguistik Information Retrieval: tf.idf Einführung in die Computerlinguistik Information Retrieval: tf.idf Dr. Benjamin Roth & Annemarie Friedrich Centrum für Infomations- und Sprachverarbeitung LMU München WS 2016/2017 Referenzen Dan Jurafsky

Mehr

1 Boolesches Retrieval (2)

1 Boolesches Retrieval (2) 2. Übung zur Vorlesung Internet-Suchmaschinen im Sommersemester 2009 mit Lösungsvorschlägen Prof. Dr. Gerd Stumme, M.Sc. Wi-Inf. Beate Krause 06. Mai 2009 1 Boolesches Retrieval (2) Eine Erweiterung des

Mehr

Information-Retrieval: Vektorraum-Modell

Information-Retrieval: Vektorraum-Modell Information-Retrieval: Vektorraum-Modell Claes Neuefeind Fabian Steeg 03. Dezember 2009 Themen des Seminars Boolesches Retrieval-Modell (IIR 1) Datenstrukturen (IIR 2) Tolerantes Retrieval (IIR 3) Vektorraum-Modell

Mehr

3. Retrievalmodelle Grundkonzept des Vektorraummodells. Vektorraummodell. Dokumente und Anfragen werden als Vektoren in einem Vektorraum aufgefaßt.

3. Retrievalmodelle Grundkonzept des Vektorraummodells. Vektorraummodell. Dokumente und Anfragen werden als Vektoren in einem Vektorraum aufgefaßt. 3. Retrievalmodelle Grundkonzept des Vektorraummodells Vektorraummodell Dokumente und Anfragen werden als Vektoren in einem Vektorraum aufgefaßt. Der Vektorraum wird durch die in der Datenbank enthaltenen

Mehr

Projektgruppe. Clustering und Fingerprinting zur Erkennung von Ähnlichkeiten

Projektgruppe. Clustering und Fingerprinting zur Erkennung von Ähnlichkeiten Projektgruppe Jennifer Post Clustering und Fingerprinting zur Erkennung von Ähnlichkeiten 2. Juni 2010 Motivation Immer mehr Internet-Seiten Immer mehr digitale Texte Viele Inhalte ähnlich oder gleich

Mehr

die Relevanz von Webseiten bestimmt Alexander Pohl

die Relevanz von Webseiten bestimmt Alexander Pohl Wie die Relevanz von Webseiten bestimmt Alexander Pohl Gliederung 1. Einleitung 2. Das Web als Graph 3. Das Random Surfer Modell 4. Gleichgewicht im Random Surfer Modell (?) 5. Vervollständigung des Modells:

Mehr

Thema: Prototypische Implementierung des Vektormodells

Thema: Prototypische Implementierung des Vektormodells Ruprecht-Karls-Universität Heidelberg Seminar für Computerlinguistik Hauptseminar: Information Retrieval WS 06/07 Thema: Prototypische Implementierung des Vektormodells Sascha Orf Carina Silberer Cäcilia

Mehr

Praktikum Information Retrieval Wochen 12: Suchmaschine

Praktikum Information Retrieval Wochen 12: Suchmaschine Praktikum Information Retrieval Wochen 12: Suchmaschine Matthias Jordan 7. November 18. November 2011 Lösungen: Upload bis 18. November 2011 Aktuelle Informationen, Ansprechpartner, Material und Upload

Mehr

Datenbanken & Informationssysteme (WS 2016/2017)

Datenbanken & Informationssysteme (WS 2016/2017) Datenbanken & Informationssysteme (WS 2016/2017) Klaus Berberich ([email protected]) Wolfgang Braun ([email protected]) 0. Organisatorisches Dozenten Klaus Berberich ([email protected])

Mehr

Implementierung eines Vektormodells

Implementierung eines Vektormodells Implementierung eines Vektormodells Hauptseminar Information Retrieval WS 2013/14 Dr. Karin Haenelt Amol Phadke, Mirjam Eppinger Institut für Computerlinguistik Ruprecht-Karls-Universität Heidelberg 03.02.2014

Mehr

SUCHMASCHINEN XAPIAN. Michael Strzempek FH Wiesbaden, 5. Juni 2008

SUCHMASCHINEN XAPIAN. Michael Strzempek FH Wiesbaden, 5. Juni 2008 SUCHMASCHINEN XAPIAN Michael Strzempek FH Wiesbaden, 5. Juni 2008 INHALT 1. Motivation 2. Prinzip / Vokabular 3. Xapian 4. Omega 5. Datenbank Indizierung 6. Levenshtein Distanz 7. Boolesche Suche 8. Probabilistische

Mehr

T = {t 1,..., t n } sei die Menge der Terme. D = {d 1,..., d m } sei die Menge der Dokumente.

T = {t 1,..., t n } sei die Menge der Terme. D = {d 1,..., d m } sei die Menge der Dokumente. Vektorraummodell T = {t 1,..., t n } sei die Menge der Terme. D = {d 1,..., d m } sei die Menge der Dokumente. Dokumente und Anfragen werden als Vektoren in einem Vektorraum aufgefaßt. Der Vektorraum wird

Mehr

Vom Suchen und Finden - Google und andere Ansätze

Vom Suchen und Finden - Google und andere Ansätze Vom Suchen und Finden - Google und andere Ansätze Norbert Fuhr Universität Duisburg Essen FB Ingenieurwissenschaften Abteilung Informatik 12. Mai 2005 Gliederung 1 Einführung 2 Grundlagen 3 Erweiterte

Mehr

BIW Wahlpflichtmodul. Einführung in Solr, Pipeline und REST. Philipp Schaer, TH Köln (University of Applied Sciences), Cologne, Germany

BIW Wahlpflichtmodul. Einführung in Solr, Pipeline und REST. Philipp Schaer, TH Köln (University of Applied Sciences), Cologne, Germany BIW Wahlpflichtmodul Einführung in Solr, Pipeline und REST Philipp Schaer, TH Köln (University of Applied Sciences), Cologne, Germany Version: 2018-05-29 Überblick über gängige Lösungen 2 3 in a nutshell

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte

Mehr

k-means als Verfahren zur Clusteranalyse basierend auf Repräsentanten bestimmt ein flaches Clustering

k-means als Verfahren zur Clusteranalyse basierend auf Repräsentanten bestimmt ein flaches Clustering Rückblick k-means als Verfahren zur Clusteranalyse basierend auf Repräsentanten bestimmt ein flaches Clustering Hierarchisches Clustering bestimmt eine Folge von Clusterings, die als Dendrogramm darstellbar

Mehr

Learning to Rank Sven Münnich

Learning to Rank Sven Münnich Learning to Rank Sven Münnich 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 1 Übersicht 1. Einführung 2. Methoden 3. Anwendungen 4. Zusammenfassung & Fazit 06.12.12 Fachbereich 20 Seminar

Mehr

Thema 8: Verbesserte Suchstrategien im WWW. Bearbeiter: Robert Barsch Betreuer: Dr. Oliver Ernst

Thema 8: Verbesserte Suchstrategien im WWW. Bearbeiter: Robert Barsch Betreuer: Dr. Oliver Ernst Thema 8: Verbesserte Suchstrategien im WWW Bearbeiter: Robert Barsch Betreuer: Dr. Oliver Ernst Inhaltsverzeichnis 1. Einleitung 2. Grundlagen 3. Google PageRank Algorithmus 4. IBM Clever HITS Algorithmus

Mehr

Möglichkeiten der automatischen Sprachverarbeitung mit Django

Möglichkeiten der automatischen Sprachverarbeitung mit Django Möglichkeiten der automatischen Sprachverarbeitung mit März 2009 / Leipzig / Python Stammtisch Möglichkeiten der automatischen Sprachverarbeitung mit Inhalt 1 2 3 4 Möglichkeiten der automatischen Sprachverarbeitung

Mehr

LDA-based Document Model for Adhoc-Retrieval

LDA-based Document Model for Adhoc-Retrieval Martin Luther Universität Halle-Wittenberg 30. März 2007 Inhaltsverzeichnis 1 2 plsi Clusterbasiertes Retrieval 3 Latent Dirichlet Allocation LDA-basiertes Retrieval Komplexität 4 Feineinstellung Parameter

Mehr

Eigenschaften von Texten

Eigenschaften von Texten Eigenschaften von Texten 1 Statistische Eigenschaften von Text Wie ist die Häufigkeit verschiedener Wörter verteilt? Wie schnell wächst die Größe des Vokabulars mit der Größe eines Korpus? Solche Faktoren

Mehr

Klassifikation von Textabschnitten

Klassifikation von Textabschnitten Klassifikation von Textabschnitten Am Beispiel von Stellenanzeigen (JASC - Job Ads Section Classifier) Gliederung 1. Einführung: Zu welchem Zweck machen wir das? 2. Klassifikation ein kurzer Überblick

Mehr

Suchmaschinen. Anwendung RN Semester 7. Christian Koczur

Suchmaschinen. Anwendung RN Semester 7. Christian Koczur Suchmaschinen Anwendung RN Semester 7 Christian Koczur Inhaltsverzeichnis 1. Historischer Hintergrund 2. Information Retrieval 3. Architektur einer Suchmaschine 4. Ranking von Webseiten 5. Quellenangabe

Mehr

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Sprachtechnologie. Tobias Scheffer Paul Prasse Michael Großhans

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Sprachtechnologie. Tobias Scheffer Paul Prasse Michael Großhans Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Sprachtechnologie Tobias Scheffer Paul Prasse Michael Großhans Organisation Vorlesung/Übung, praktische Informatik. 4 SWS. 6 Leistungspunkte

Mehr

Algorithmische Anwendungen WS 05/06 Document Ranking

Algorithmische Anwendungen WS 05/06 Document Ranking Algorithmische Anwendungen WS 05/06 Document Ranking Ulrich Schulte ([email protected]) Harald Wendel ([email protected]) Seite 1/17 Inhaltsverzeichnis Algorithmische Anwendungen WS 05/06 1. Document

Mehr

Universität Augsburg, Institut für Informatik Sommersemester 2009 Prof. Dr. Werner Kießling 16. Juli Semesterklausur

Universität Augsburg, Institut für Informatik Sommersemester 2009 Prof. Dr. Werner Kießling 16. Juli Semesterklausur Universität Augsburg, Institut für Informatik Sommersemester 2009 Prof. Dr. Werner Kießling 16. Juli 2009 Dr. A. Huhn, M. Endres Suchmaschinen Semesterklausur Hinweise: Die Bearbeitungszeit beträgt 90

Mehr

Verteiltes Information Retrieval

Verteiltes Information Retrieval Seminar Experimentielle Evaluierung im IR Verteiltes Information Retrieval Sascha Brink Sebastian Ruiling 20.12.2005 Universität Duisburg-Essen Agenda Motivation / Grundlagen CORI DTF Diskussion der Verfahren

Mehr

Exposé zur Studienarbeit. 04. August 2010

Exposé zur Studienarbeit. 04. August 2010 Exposé zur Studienarbeit Relevanzranking in Lucene im biomedizinischen Kontext Christoph Jacob Betreuer: Phillipe Thomas, Prof. Dr. Ulf Leser 04. August 2010 1. Motivation Sucht und ihr werdet finden dieses

Mehr