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