Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Achima Leichliter Geändert vor über 10 Jahren
1
Intelligente Suche in sehr großen Datenmengen Holger Bast Max-Planck-Institut für Informatik Saarbrücken Vortrag an der Universität Mainz 5. März 2008
2
Früher: Klassische theoretische Informatik Komponenten –feststehende und voll spezifizierte Probleme zum Beispiel: gegeben ein Graph, berechne ein maximales Matching –vollständige Theoreme zum Beispiel: für einen zufälligen Graphen, maximales Matching in erwarteter Zeit O (n log n) –eventuell Experimente zum Beispiel: implementiere den Algorithmus und messe die Laufzeit auf vielen zufälligen Graphen Theorie als Selbstzweck –schult präzises Denken / Formulieren / Methodik –selten direkt relevant Hashing Sorting Scheduling Matching …
3
Jetzt: Angewandt auf der Basis guter Theorie Komponenten –Ausgangspunkt ist eine reale Anwendung entscheidend diese in ihrer Ganzheit zu verstehen –Abstraktion kritischer Teile (theoretischem Denken zugänglich machen) oft der schwierigste und kreativste Teil –Algorithmen / Datenstrukturen entwerfen und mathem. analysieren wie in der klassischen Algorithmik, aber … –Experimente + Algorithm Engineering zur Ergänzung und Bestätigung der Theorie –Bau eines (Prototyp-) Systems ultimativer Realitätstest, wichtige Inspirationsquelle Theorie als Mittel zum Zweck –direkt anwendbare + verlässliche Lösungen –Anwendung geht vor mathematische Tiefe
4
Überblick Meine Arbeitsweise –Früher: Klassische theoretische Informatik –Jetzt: Angewandt auf der Basis guter Theorie Ausgewählte Ergebnisse –Die CompleteSearch Suchmaschine ≈ 20 min –Spektrales Lernen ≈ 10 min –Kürzeste Wege in Straßennetzwerken ≈ 10 min Zusammenfassung –nach jedem Ergebnis
5
Die CompleteSearch Suchmaschine Hintergrund –Suchmaschinen sind extrem schnell –auch für sehr großen Datenmengen –aber sie können nur genau eine Sache: Stichwortsuche Ziel –komplexere Suchfunktionen –aber genauso schnell Lösung –kontext-sensitive Präfixsuche –einerseits: sehr mächtig –andererseits: effizient berechenbar
6
Mögliche Suchanfragen 1/2 Volltextsuche mit Autovervollständigung –traffic inter* Strukturierte Daten als künstliche Worte –venue:esa –author:elmar_schömer –year:2007 Datenbankanfragen: select, join, … –venue:esa author:* –venue:esa author:* und venue:sigir author:* und schneide die Menge der Vervollständigungen (an Stelle der Menge der Dokumente) Elmar SchömerESA2007paper #23876 Michael HemmerESA2007paper #23876 Laurent DupontESA2007paper #23876 …………
7
Mögliche Suchanfragen 2/2 Facettensuche –automatische Statistik über vordefinierte Kategorien Verwandte Worte –Suche metal, finde aluminium Fehlertolerante Suche –Suche probabilistic, finde probalistic Semantische Suche –Suche politician, finde Angela Merkel und mehr … alles mit ein- und demselben Mechanismus
11
D98 E B A S D98 E B A S D78 K L S D78 K L S D53 J D E A D53 J D E A Formulierung des Kernproblems D2 B F A D2 B F A D4 K L K A B D4 K L K A B D9 E E R D9 E E R D27 K L D F D27 K L D F D92 P U D E M D92 P U D E M D43 D Q D43 D Q D32 I L S D H D32 I L S D H D1 A O E W H D1 A O E W H D88 P A E G Q D88 P A E G Q D3 Q D A D3 Q D A D17 B W U K A D17 B W U K A D74 J W Q D74 J W Q D13 A O E W H D13 A O E W H D13 D17 D88 … C D E F G Daten gegeben als –Dokumente mit Worten –Dokumente haben Ids (D1, D2, …) –Worte haben Ids (A, B, C, …) Suchanfrage –sortierte Liste von Dok. Ids –Intervall von Wort Ids Treffer für “traffic” Worte die mit “inter” beginnen
12
Daten gegeben als –Dokumente mit Worten –Dokumente haben Ids (D1, D2, …) –Worte haben Ids (A, B, C, …) Suchanfrage –sortierte Liste von Dok. Ids –Intervall von Wort Ids Antwort –alle passenden Wort-in-Dok. Paare –mit Scores D13 E 0.5 0.2 0.7 … D88 E … … D98 E B A S D98 E B A S D78 K L S D78 K L S D53 J D E A D53 J D E A D2 B F A D2 B F A D4 K L K A B D4 K L K A B D9 E E R D9 E E R D27 K L D F D27 K L D F D92 P U D E M D92 P U D E M D43 D Q D43 D Q D32 I L S D H D32 I L S D H D1 A O E W H D1 A O E W H D88 P A E G Q D88 P A E G Q D3 Q D A D3 Q D A D17 B W U K A D17 B W U K A D74 J W Q D74 J W Q D13 A O E W H D13 A O E W H D88 P A E G Q D88 P A E G Q D17 B W U K A D17 B W U K A D13 A O E W H D13 A O E W H D13 D17 D88 … C D E F G D88 G Formulierung des Kernproblems Kontext-sensitive Präfixsuche Treffer für “traffic” Worte die mit “inter” beginnen
13
Lösung via Invertierter Index (INV) Zum Beispiel, traffic inter* gegeben die Dokumente: D13, D17, D88, … (Treffer für traffic) und der Wortbereich: C D E F G (Ids für inter*) Iteriere über alle Worte aus dem gegebenen Bereich C (interaction) D8, D23, D291,... D (interesting) D24, D36, D165,... E (interface) D13, D24, D88,... F (interior) D56, D129, D251,... G (internet) D3, D15, D88,... Schneide jede Liste mit der gegebenen und vereinige alle Schnitte D13 D88D88… E EG… typischerweise sehr viele Listen! Ziel: schneller ohne mehr Platz zu verbrauchen im worst case quadratische Komplexität
14
Grundlegende Idee Berechne invertierte Listen für Bereiche von Worten 133556788911 121315 DACABACADAABCACA Beobachtungen –ein Präfix entspricht einem Bereich von Worten –idealerweise Liste für jeden Präfix vorberechnet –aber das kostet viel zu viel Platz –erhebliche Redundanz zwischen den Listen Liste für A-D
15
Lösung 2: AutoTree Baumartige Anordnung Theorem: –Verarbeitungszeit O(|D| + |output|) (ausgabesensitiv) –ohne mehr Platz zu verbrauchen als INV Aber –nicht IO-effizient (wegen Bitvektor Operationen) –suboptimale Kompression 1 1 1 1 1 1 1 1 1 1 … 1 0 0 0 1 0 0 1 1 1 … 1 0 0 1 1 … aachen advance algol algorithm advance aachen art advance manner manning maximal maximum maple mazza middle
16
Lösung 2: AutoTree SPIRE’06 / JIR’07 Trick 1: Relative bit vectors –the i-th bit of the root node corresponds to the i-th doc –the i-th bit of any other node corresponds to the i-th set bit of its parent node aachen-zyskowski 1111111111111… maakeb-zyskowski 1001000111101… maakeb-stream 1001110… corresponds to doc 5 corresponds to doc 10
17
Lösung 2: AutoTree SPIRE’06 / JIR’07 Tricks 2: Push up the words –For each node, by each set bit, store the leftmost word of that doc that is not already stored by a parent node 1 1 1 1 1 1 1 1 1 1 … 1 0 0 0 1 0 0 1 1 1 … 1 0 0 1 1 … aachen advance algol algorithm advance aachen art advance manner manning maximal maximum maple mazza middle D= 5, 7, 10 W= max* D = 5, 10 ( → 2, 5) report: maximum D = 5 report: Ø → STOP
18
Lösung 2: AutoTree SPIRE’06 / JIR’07 Tricks 3: divide into blocks –and build a tree over each block as shown before
19
Lösung 2: AutoTree SPIRE’06 / JIR’07 Tricks 3: divide into blocks –and build a tree over each block as shown before
20
Solution 2: AutoTree SPIRE’06 / JIR’07 Tricks 3: divide into blocks –and build a tree over each block as shown before Theorem: –query processing time O(|D| + |output|) –uses no more space than an inverted index AutoTree Summary: + output-sensitive –not IO-efficient (heavy use of bit-rank operations) –compression not optimal
21
Einschub Der invertierte Index ist, trotz quadratischer worst- case Komplexität, in der Praxis schwer zu schlagen –sehr einfacher Code –Listen sehr gut komprimierbar –perfekte Zugriffslokalität Anzahl der Operationen ist ein trügerisches Maß –100 disk seeks benötigen ca. eine halbe Sekunde –in der Zeit können 200 MB Daten gelesen werden (falls komprimiert gespeichert) –Hauptspeicher: 100 nichtlokale Zugriffe 10 KB am Stück Daten schlechte Lokalität Lokalität + Kompression entscheidend bei sehr großen Datenmengen
22
Lösung 3: Hybrider Index (HYB) Flache Aufteilung des Vokabulars in Blöcke 133556788911 121315 DACABACADAABCACA Liste für A-D 22334477889911 EFGJHIIEFGHJI Liste für E-J 112345666899910 LNMNNKLMNMKLMKL Liste für K-N Gute Lokalität, aber was ist mit Kompression?
23
Lösung 3: Hybrider Index (HYB) Flache Aufteilung des Vokabulars in Blöcke Dok. Ids Differenzen und Wort Ids Häufigkeitsränge 133556788911 121315 DACABACADAABCACA +1+1 +2+2 +0+0 +2+2 +0+0 +1+1 +1+1 +1+1 +0+0 +1+1 +2+2 +0+0 +0+0 +1+1 +1+1 +2+2 3 rd 1 st 2 nd 1 st 4 th 1 st 2 nd 1 st 3 rd 1 st 4 th 2 nd 1 st 2 nd 1 st Kodiere alle Zahlen universell: x log 2 x Bits +0 0 +1 10 +2 110 1 st (A) 0 2 nd (C) 10 3 rd (D) 111 4 th (B) 110 10 110 0 110 0 10 10 10 0 10 110 0 0 10 10 110 111 0 10 0 110 0 10 0 111 0 0 110 10 0 10 0 Was schließlich gespeichert wird
24
Definition: Empirische Entropie Empirische Entropie –… formalisiert die optimale Anzahl Bits die zur Kodierung einer Sequenz benötigt werden –… für eine Multi-Teilmenge der Größe m aus einem Universum der Größe n m ∙ log (1 + n / m) + n ∙ log (1 + m / n) –… für eine Folge von n Elementen aus einem Universum der Größe k, mit n i Vorkommen des i-ten Elements n 1 ∙ log (n / n 1 ) + ∙∙∙ + n k ∙ log (n / n k ) –usw …
25
Platzverbrauch: INV gegen HYB Theorem: Die empirische Entropie des INV Index ist Σ n i ∙ ( 1/ln 2 + log 2 (n/n i ) ) Theorem: Die empirische Entropie des HYB Index ist Σ n i ∙ ( (1+ε)/ln 2 + log 2 (n/n i ) ) n i = number of documents containing i-th word, n = number of documents, ε = 0.1 MEDBOOKS 44,015 Dok. 263,817 Worte mit Positionen WIKIPEDIA 2,866,503 Dok. 6,700,119 Worte mit Positionen TREC.GOV 25,204,013 Dok. 25,263,176 Worte ohne Positionen Orig.größe452 MB 7.4 GB426 GB VOLL-INV 13 MB0.48 GB 4.6 GB HALB-INV 14 MB0.51 GB 4.9 GB perfekte Übereinstimmung von Theorie und Praxis … und HYB etwa 10 mal schneller als INV
26
Zusammenfassung: CompleteSearch Output –Publikationen in verschiedenen Communities SIGIR (IR), CIDR (DB), SPIRE (Theorie), GWEM (KI), … –zahlreiche Industriekontakte, Vortrag bei Google –zahlreiche Installationen, auch kommerzielle DBLP –DFG Projekt im SPP Algorithm Engineering –Dr. Meyer Struckmann Wissenschaftspreis 2007 (15.000 €) Entscheidend waren –Identifizierung und Formulierung des Präfixsuchproblems –Wahl der Analyseparameter: Lokalität, Komprimierung, etc. (und zum Beispiel hier nicht: Anzahl der Operationen) –Experimente, Software Engineering, Prototyp –generell: Wissen in vielen relevanten Gebieten (z.B. Ontologien)
28
Ausblick: Suche Sehr viele theoretisch interessante + praktisch relevante Probleme im Rahmen von Suche –effiziente(re) Facettensuche, semantische Suche, etc. –fehlertolerante Suche –Indexkonstruktion –effiziente Erzeugung von „result snippets” –… Übertragung auf Nicht-Text Retrieval –3D shape retrieval –Suche in Bildern und Videos –…
29
Überblick Meine Arbeitsweise –Früher: Klassische theoretische Informatik –Jetzt: Angewandt auf der Basis guter Theorie Ausgewählte Ergebnisse –Die CompleteSearch Suchmaschine ≈ 20 min –Spektrales Lernen ≈ 10 min –Kürzeste Wege in Straßennetzwerken ≈ 10 min Zusammenfassung –nach jedem Ergebnis
30
Spektrales Lernen 10100 11000 11110 00011 internet web surfing beach Daten als Objekt-Feature Matrix gegeben –Bilder, Formen, Text, … –z.B. Objekte = Dokumente, Features = Worte Problem: fehlende Einträge
31
Spektrales Lernen 10100 11000 11110 00011 internet web surfing beach 0.80.6 0.1-0.2 0.80.6 0.1-0.2 1.20.9 0.80.3 -0.10.0 1.10.9 Lösung: Rang-k Approximation die Approximation erhöht die Präzision (durch Eigenvektorzerlegung) Daten als Objekt-Feature Matrix gegeben –Bilder, Formen, Text, … –z.B. Objekte = Dokumente, Features = Worte Problem: fehlende Einträge
32
Wann und warum funktioniert das? Vorgängerarbeiten: Wenn die Objekte durch Kombination von k Basisobjekten generiert und leicht perturbiert werden, dann funktioniert die Rang-k Approximation –Papadimitriou, Tamaki, Raghavan, Vempala PODS 1998 –Ding SIGIR 1999 –Thomas Hofmann Machine Learning 2000 –Azar, Fiat, Karlin, McSherry, Saia STOC 2001 –und viele andere mehr … Mathematisch interessant (Perturbationstheorie) aber … –in der Regel gibt es keine k natürlichen Basisobjekte –Verbesserung durch Approximation ist extrem intransparent
33
Alternative Sicht Betrachte die Feature-Feature Korrelations-Matrix (Objekt-Objekt Korrelations-Matrix ginge genauso gut) 0.80.10.60.1 1.10.90.1 0.60.91.10.7 0.1 0.72.0 paarweise Skalarprodukte der norm. Zeilen-Vektoren beste Rang-2 Approximation internet web surfing beach internet web surfing beach 0.30.40.3-0.1 0.4 0.3-0.2 0.3 0.40.3 -0.1-0.20.30.8
34
0.10.60.1 1.10.90.1 0.60.91.10.7 0.1 0.72.0 die approximierten Korrelationen hängen stark vom Rang ab! internet web surfing beach internet web surfing beach 0.9-0.10.2-0.1 0.80.3-0.2 0.20.30.40.3 -0.1-0.20.30.8 Alternative Sicht paarweise Skalarprodukte der norm. Zeilen-Vektoren beste Rang-3 Approximation Betrachte die Feature-Feature Korrelations-Matrix (Objekt-Objekt Korrelations-Matrix ginge genauso gut)
35
Zentrale Beobachtung Abhängigkeit der Korrelation eines festen Paares vom Rang k der Approximation node / vertex 2004006000 Rang der Approximation logic / logics 2004006000 Rang der Approximation logic / vertex 2004006000 Rang der Approximation Korrelation 0 kein einzelner Rang ist gut für alle Paare!
36
Zentrale Beobachtung Abhängigkeit der Korrelation eines festen Paares vom Rang k der Approximation node / vertex 2004006000 Rang der Approximation logic / logics 2004006000 Rang der Approximation logic / vertex 2004006000 Rang der Approximation Korrelation 0 kein einzelner Rang ist gut für alle Paare! aber die Form der Kurve scheint ein guter Indikator zu sein
37
Kurven für verwandte Terme ·····1100 ·····0011 ·····1111 001111010 001110101 Wir nennen zwei Terme perfekt verwandt wenn sie mit exakt den gleichen Termen vorkommen 20040060002004006000 2004006000 Charakteristische Form: hoch und wieder runter Die Stelle des Abfalls ist für jedes Term-Paar anders! Term 1 Term 2 0 beweisbare Form im idealisierten Fall beweisbar kleine Änderung nach kleiner Perturbation auf halbem Wege zu einer realen Matrix Korrelation Rang der Approximation
38
Kurven für nicht-verwandte Terme Ko-Okkurrenz Graph: –Knoten = Terme –Kanten = zwei Terme kommen zusammen vor perfekt unverwandt = kein Pfad 2004006000 Rang der Approximation 2004006000 Rang der Approximation 2004006000 Rang der Approximation Korrelation 0 beweisbare Form im idealisierten Fall beweisbar kleine Änderung nach kleiner Perturbation auf halbem Wege zu einer realen Matrix Charakteristische Form: Oszillation um Null
39
Ein einfacher Algorithmus 1. Normalisiere die Term-Dokument Matrix, so dass der theoretische Abfallpunkt für alle Termpaare gleich ist 2. Für jedes Termpaar: falls die Kurve je negativ ist vor diesem Punkt, setze Korrelation auf 1, sonst auf 0 2004006000 2004006000 2004006000 einfache 0-1 Klassifikation, keine fraktionalen Einträge setze auf 1 setze auf 0 0 Korrelation Rang der Approximation
40
Zusammenfassung: Spektrales Lernen Ergebnisse –Einsicht: Spektrale Lernverfahren funktionieren, indem sie Paare von verwandten Features (Terme) identifizieren –Integration mit CompleteSearch (inspirierte weitere Forschung) –dadurch erstmalig transparent –„magisches” Verfahren entzaubert durch Theorie + Empirik From: Prabhakar Raghavan Date: [after my SIGIR’05 talk] Subject: Very clear talk Thank you – it’s too easy to make this stuff mystical and you did the opposite
43
Ausblick: Maschinelles Lernen Spektralzerlegung in diesem Fall nicht praktikabel –hoher Berechnungsaufwand (Spektralzerlegung) –relativ geringer Nutzen (findet verwandte Paare) Effizientes Maschinelles Lernen –Entitätenerkennung auf sehr großen Datenmengen –Fehlerkorrektur auf sehr großen Datenmengen –…
44
Überblick Meine Arbeitsweise –Früher: Klassische theoretische Informatik –Jetzt: Angewandt auf der Basis guter Theorie Ausgewählte Ergebnisse –Die CompleteSearch Suchmaschine ≈ 20 min –Spektrales Lernen ≈ 10 min –Kürzeste Wege in Straßennetzwerken ≈ 10 min Zusammenfassung –nach jedem Ergebnis
45
Kürzeste Wege in Straßennetzwerken Problemstellung –von einem Start zu einem Ziel (point-to-point) –(un)gerichteter Graph, Kantenkosten = Reisezeiten
46
Stand der Kunst Dijkstra's Algorithmus ≈ 1 Sekunde pro Anfrage, USA Straßennetzwerk Für wesentlich schnellere Zeiten … muss das Netzwerk vorverarbeitet werden spezielle Eigenschaften von Straßennetzwerken Das bisher beste Verfahren ≈ 1 Millisekunde pro Anfrage, USA Netzwerk Unsere Arbeit zuerst: theoretisch sehr schöner Algorithmus aber: konnten die 1 Millisekunde nicht schlagen dann radikal neuer Ansatz: Transitknoten ≈ 10 Mikrosekunden pro Anfrage, USA Straßennetzwerk Sanders et al '04/05/06 Dijkstra '59 Luby and Ragde '85 Gutman '04 Goldberg et al '05/06 Möhring et al '05 Lauther et al '04 Wagner et al '05/06 Thorup and Zwick '01... 24 Millionen Knoten 58 Millionen Kanten...
49
Die Transitknoten Idee 1. Vorberechnung weniger Transitknoten mit der Eigenschaft, dass jeder kürzeste Pfad über eine gewisse Mindestdistanz durch einen Transitknoten geht 2. Vorberechnung der nächsten Transitknoten für jeden Knoten mit der Eigenschaft, dass jeder kürzeste Pfad über eine gewisse Mindestdistanz von diesem Knoten aus durch eine dieser nächsten Transitknoten geht 3. Vorberechnung aller Distanzen zwischen allen Paaren von Transitknoten und von jedem Knoten zu seinen nächsten Transitknoten ð Suchanfrage = wenige table lookups !
50
Vorberechnung der Transitknoten Von Distanzen zu Pfaden 24 min 20 min 23 min 2 3 2 StartZiel
51
Zusammenfassung: Kürzeste Wege Output –Publikationen: DIMACS’06, ALENEX’07, Science 07 –Großes Presseecho: Süddeutsche, Welt, c’t, Chip, … –Patent + zahlreiche Firmenkontakte + … –Heinz Billing Preis für wiss. Rechnen 2007 (mit S. Funke) –Scientific American 50 Award 2007 Charakteristik –Klassisches Problem, aber auf echten Daten –theoretisch schönerer Algorithmus war nicht praktikabel –einfache aber radikal neue Idee, enorme Verbesserung –Verständnis der Besonderheit der Daten entscheidend
52
Ausblick: Kürzeste Wege Theoretische Untermauerung –wir haben schon: beweisbar korrekt –aber für genau welche Graphen: beweisbar effizient? Erweiterungen –dynamische Änderungen (Staus) –tageszeitabhängige Kantenkosten (rush hour) –Periodische Abfahrts/Ankunftszeiten (Bahn, Bus, etc.) –…
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.