Wildcard Queries

Rechtschreibpr¨ ufung

Information-Retrieval: Unscharfe Suche Claes Neuefeind Fabian Steeg

19. November 2009

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Themen des Seminars

I

Boolesches Retrieval-Modell (IIR 1)

I

Datenstrukturen (IIR 2)

I

Tolerantes Retrieval (IIR 3)

I

Vektorraum-Modell (IIR 6)

I

Evaluation (IIR 8)

I

Web-Retrieval (IIR 19-21)

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Wildcard Queries Permuterm-Index k-gram-Index Rechtschreibpr¨ ufung Edit-Distance Kontextsensitiver Ansatz Literatur

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Grundlage: Bin¨arer Suchbaum

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Permuterm-Index

Warum Wildcards?

I

Z.B. bei Unkenntnis / Unklarheit der genauen Schreibweise

I

mon* → finde Dokumente mit W¨ ortern, die mit ’mon’ beginnen I

Verarbeitung mittels Suchbaum → W¨ orter im Bereich mon ≤ w < moo

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Permuterm-Index

Wildcards

I

*mon → finde Dokumente mit W¨ ortern, die auf ’mon’ enden I

I

Verarbeitung mit umgekehrtem Suchbaum → W¨ orter im Bereich nom ≤ w < non

Was ist mit Wildcards in der Mitte?

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Permuterm-Index

Permuterm-Index

I I

Suchb¨aume eignen sich nur f¨ ur * am Ende Bei Wildcard in der Mitte: I I

Wildcard-Query so umstellen, dass * am Ende steht Zus¨atzlicher Hilfsindex mit Varianten → Permuterm-Index

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Permuterm-Index

Permuterm-Index I

hello wird indexiert als hello$, ello$h, llo$he, lo$hel, o$hell, mit $ = Wortgrenze

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Permuterm-Index

Permuterm-Index I

hello wird indexiert als hello$, ello$h, llo$he, lo$hel, o$hell, mit $ = Wortgrenze

I

Anfragen:

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Permuterm-Index

Permuterm-Index I

hello wird indexiert als hello$, ello$h, llo$he, lo$hel, o$hell, mit $ = Wortgrenze

I

Anfragen: I

X → X$

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Permuterm-Index

Permuterm-Index I

hello wird indexiert als hello$, ello$h, llo$he, lo$hel, o$hell, mit $ = Wortgrenze

I

Anfragen: I I

X → X$ X* → X*$

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Permuterm-Index

Permuterm-Index I

hello wird indexiert als hello$, ello$h, llo$he, lo$hel, o$hell, mit $ = Wortgrenze

I

Anfragen: I I I

X → X$ X* → X*$ *X → X$*

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Permuterm-Index

Permuterm-Index I

hello wird indexiert als hello$, ello$h, llo$he, lo$hel, o$hell, mit $ = Wortgrenze

I

Anfragen: I I I I

X → X$ X* → X*$ *X → X$* *X* → X*

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Permuterm-Index

Permuterm-Index I

hello wird indexiert als hello$, ello$h, llo$he, lo$hel, o$hell, mit $ = Wortgrenze

I

Anfragen: I I I I I

X → X$ X* → X*$ *X → X$* *X* → X* X*Y → Y$X*

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Permuterm-Index

Permuterm-Index I

hello wird indexiert als hello$, ello$h, llo$he, lo$hel, o$hell, mit $ = Wortgrenze

I

Anfragen: I I I I I

I

X → X$ X* → X*$ *X → X$* *X* → X* X*Y → Y$X* Beispiel: hel*o X=hel, Y=o → o$hel*

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Permuterm-Index

Permuterm-Index I

hello wird indexiert als hello$, ello$h, llo$he, lo$hel, o$hell, mit $ = Wortgrenze

I

Anfragen: I I I I I

X → X$ X* → X*$ *X → X$* *X* → X* X*Y → Y$X*

I

Beispiel: hel*o X=hel, Y=o → o$hel*

I

Was machen wir mit X*Y*Z?

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Permuterm-Index

Permuterm-Index

I I

Vorgehen: Anfrage “drehen“, bis * am Ende steht Problem 1: I I

Bei mehrfachem * wiederholter Abgleich mit Anfrage Beispiel: I I

I

h*l*o → lookup: o$h* Anschließend Terme filtern, die ’l’ enthalten

Problem 2: I

Gr¨ oße des Lexikons vervielfacht sich

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

k-gram-Index

k-gram-Index

I

k-gram = Sequenz von k Zeichen

I

F¨ ur alle Terme des Dictionary werden zun¨achst s¨amtliche k-Gramme ermittelt Beispiel:

I

I

Bigramme f¨ ur den Text “April is the cruelest month“: $a,ap,pr,ri,il,l$,$i,is,s$,$t,th,he,e$, $c,cr,ru,ue,el,le,es,st,t$,$m,mo,on,nt,h$

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Literatur

k-gram-Index

k-gram-Index

etr

I

- beetroot

-

metric

-

petrify

- retrieval

Aufbau wie invertierter Index (Term-Dokument): I I

jedem k-gram wird eine postings list zugeordnet enth¨alt alle Terme, die das k-gram enthalten

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Wildcard Queries

Rechtschreibpr¨ ufung

k-gram-Index

Verarbeitung mit k-gram-Index

I

mon* wird verarbeitet als Boolesche Anfrage: I I I

I

$m und mo und on Gibt Terme zur¨ uck, die alle 3 Bigramme enthalten Nur verbleibende Terme werden im Index nachgeschlagen

Problem: I

Gibt u.a. auch moon zur¨ uck → Ergebnis muss nochmals gegen die uspr¨ ungliche Anfrage gefiltert werden

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

k-gram-Index

Verarbeitung von Wildcard-Queries

I I

Wildcards erfordern vielfache Anfragen auf Hilfsindizes Hinzu kommen Anfragen auf Term-Dokument-Index f¨ ur alle Terme der Ergebnismenge I

I

u.U. sehr hoher Verarbeitungsaufwand

Deshalb: Einsatz nur bei Bedarf (als “erweiterte Suche“)

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Edit-Distance

Rechtschreibpr¨ufung

I

Zwei Anwendungsbereiche: I I

I

Korrektur von Dokumenten Korrektur von Anfragen

Zwei Ans¨atze: I

Einzelne W¨ orter I I

I

Isolierte Betrachtung Problem: W¨ orter z.T. trotz Fehler ’korrekt’

Kontextsensitiv I

Wortumfeld einbeziehen (Flug noch Sydney)

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Edit-Distance

Korrektur von Dokumenten

I

Korrektur vor Indexierung

I

Einsatz v.a. im Zusammenspiel mit OCR → spezialisierte Korrekturalgorithmen

I

Index soll m¨oglichst wenige OCR-typische Fehler enthalten Hier kann dom¨anenspezifisches Wissen genutzt werden:

I

I

O/D wird bei OCR h¨aufiger verwechselt als O/I (= typischer Tippfehler wg. Tastatur-Layout)

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Literatur

Edit-Distance

Korrektur von Anfragen

I

Umgang mit fehlerhaften Anfragen: I I

I

Dokumente direkt passend zu korrigierter Anfrage zur¨ uckgeben korrigierte Alternativen anbieten (“Meinten Sie . . . ?“)

Voraussetzung ist in beiden F¨allen ein Lexikon: I I

standardisiertes Lexikon (Wahrig, DUDEN, etc) Dictionary des indexierten Korpus ggf. erg¨anzt durch Listen mit Namen, Akronymen, etc. (inkl. Schreibweisen, vgl. Normalisierung)

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Wildcard Queries

Rechtschreibpr¨ ufung

Edit-Distance

Korrektur von Anfragen

I

Vorgehen: I

I

Von allen Schreibweisen einer (fehlerhaften) Anfrage soll die ’n¨achst gelegene’ gew¨ahlt werden → Konzept der ’N¨ahe’ n¨ otig

Ans¨atze: I I

Edit-Distance ¨ k-gram-Uberlappung

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Edit-Distance

Edit-Distanz I

I

Levenshtein-Distanz: Geringste Anzahl an Operationen, um String S1 in S2 zu ¨andern Verf¨ ugbare Operationen auf Zeichenebene: I I I

I

Beispiel: I

I

insert delete replace Edit-Distanz von cat zu dog betr¨agt 3

Details zum Algorithmus in der Praxissitzung

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Edit-Distance

Gewichtete Edit-Distanz

I I

Gewichtung in Abh¨angigkeit der beteiligten Zeichen Zielt v.a. auf Tippfehler I

I I

m-n h¨aufiger als m-q → replace-Operation m-n sollte geringere Edit-Distanz haben

Alternative Gewichtung f¨ ur andere Dom¨anen (OCR) Gewichtungs-Matrix als Input I

Algorithmus muss entsprechend angepasst werden

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Edit-Distance

Verwendung der Edit-Distanz

I

F¨ ur jede Anfrage:

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Edit-Distance

Verwendung der Edit-Distanz

I

F¨ ur jede Anfrage: I

Ermitteln aller Terme innerhalb einer festgelegten Edit-Distanz, anschließend Lookup im Index

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Edit-Distance

Verwendung der Edit-Distanz

I

F¨ ur jede Anfrage: I

I

Ermitteln aller Terme innerhalb einer festgelegten Edit-Distanz, anschließend Lookup im Index Edit-Distanz f¨ ur alle Terme des Dictionary ermitteln?

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Edit-Distance

Verwendung der Edit-Distanz

I

F¨ ur jede Anfrage: I

I

I

Ermitteln aller Terme innerhalb einer festgelegten Edit-Distanz, anschließend Lookup im Index Edit-Distanz f¨ ur alle Terme des Dictionary ermitteln?

Menge an Kandidaten eingrenzen!

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Edit-Distance

Verwendung der Edit-Distanz

I

F¨ ur jede Anfrage: I

I

I

Ermitteln aller Terme innerhalb einer festgelegten Edit-Distanz, anschließend Lookup im Index Edit-Distanz f¨ ur alle Terme des Dictionary ermitteln?

Menge an Kandidaten eingrenzen! I

Einfachste Heuristik: Terme, die mit gleichem Buchstaben beginnen

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Edit-Distance

Verwendung der Edit-Distanz

I

F¨ ur jede Anfrage: I

I

I

Ermitteln aller Terme innerhalb einer festgelegten Edit-Distanz, anschließend Lookup im Index Edit-Distanz f¨ ur alle Terme des Dictionary ermitteln?

Menge an Kandidaten eingrenzen! I

I

Einfachste Heuristik: Terme, die mit gleichem Buchstaben beginnen Besser: k-gram-Index

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Literatur

Edit-Distance

k-gram-Index

I

Ermittlung aller k-Gramme f¨ ur Anfrage und Terme im Lexikon I

I

Retrieval aller Terme, die mehrere k-Gramme mit der Anfrage gemein haben I I

I

Vgl. k-gram-Index bei Wildcards

z.B. Mindestanzahl als Schwellwert Variante: H¨ ohere Gewichtung f¨ ur bestimmte k-Gramme (z.B. anhand Tastatur-Layout)

Erst dann Edit-Distanz ermitteln

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Wildcard Queries

Rechtschreibpr¨ ufung

Edit-Distance

Beispiel: Trigramme

I

Text: november Trigramme: nov, ove, vem, emb, mbe, ber

I

Anfrage: december Trigramme: dec, ece, cem, emb, mbe, ber

I

3 Trigramme von 6 ’¨ uberlappen’

I

Wie l¨asst sich daraus ein Maß ableiten?

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Edit-Distance

Beispiel: Trigramme

I

Text: november Trigramme: nov, ove, vem, emb, mbe, ber

I

Anfrage: december Trigramme: dec, ece, cem, emb, mbe, ber

I

3 Trigramme von 6 ’¨ uberlappen’

I

Wie l¨asst sich daraus ein Maß ableiten?

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Edit-Distance

Jaccard-Koeffizient

Seien X und Y die Mengen der k-Gramme f¨ ur Anfrage und Index-Term, dann ist der JK: |X ∩ Y | |X ∪ Y | JK immer zwischen 0 und 1: I

1, wenn X und Y die gleichen Elemente enthalten

I

0, wenn keine Elemente gemeinsam

I

JK als Schwellwert (z.B. JK > 0,5)

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Kontextsensitiver Ansatz

Kontextsensitive Korrekturen

I

Text: Flug nach Sydney

I

Anfrage: Flug noch Sydney

I

Terme f¨ ur sich scheinen korrekt

I

Werden keine/zu wenig Dokumente gefunden, sollten dennoch Korrekturen angeboten werden I

Kontext muss ber¨ ucksichtigt werden

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Kontextsensitiver Ansatz

Kontextsensitive Korrekturen

I I

NLP zu aufwendig Besser: I

I

zu jedem Teil der Anfrage Terme mit geringer Edit-Distanz ermitteln Kombinationen mit je einem korrigierten Term probieren: I I I I

I

Flug nach Sydney Flur doch Sydney Fluß noch Sydney etc.

Alle abfragen und Kombination mit den meisten Treffern zur¨ uckgeben?

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Kontextsensitiver Ansatz

Kontextsensitive Korrekturen I

I

Alternative: Anfrage aufteilen in 2-Wort-Phrasen, nur h¨aufigste zu 3-Wort-Phrasen erweitern Evidenz mittels Heuristiken I I

H¨aufigkeit in Korpus (¨ uber positional Index) Nutzungsstatistiken (logs)

I

¨ Ahnliche Heuristiken zur Auswahl der Alternative(n), die dem Nutzer pr¨asentiert werden soll(en)

I

Allgemein gilt: Rechtschreibpr¨ ufung ist sehr verarbeitungsintensiv → Nur sinnvoll bei Anfragen, die signifikant wenig Ergebnisse liefern

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Wie geht es weiter?

I

Vektorraum-Modell (IIR 6)

I

Evaluation (IIR 8)

I

Web-Retrieval (IIR 19-21)

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur

Wildcard Queries

Rechtschreibpr¨ ufung

Manning, C. D., Raghavan, P., and Sch¨ utze, H. (2008). Introduction to Information Retrieval. Cambridge University Press. Zum Nachlesen: Kapitel 3 (siehe www.informationretrieval.org)

Text-Engineering I - Information-Retrieval - Wintersemester 2009/2010 - Informationsverarbeitung - Universit¨ at zu K¨ oln

Literatur