600 likes | 737 Views
Informationsintegration Das Verborgene Web ( Hidden Web ). 09.02.2006 Felix Naumann. Überblick. Motivation [Be01,To01] Suche über das Web Begriffe und Definitionen Auffinden von Hidden Web Informationsquellen Potentielle Hidden Web Quellen Finden [BC04]
E N D
Informationsintegration Das Verborgene Web(Hidden Web) 09.02.2006 Felix Naumann
Überblick • Motivation [Be01,To01] • Suche über das Web • Begriffe und Definitionen • Auffinden von Hidden Web Informationsquellen • Potentielle Hidden Web Quellen Finden [BC04] • Themen extrahieren [IGS01] • Klassifikation nach Themen [IGS01] • Anfragen an relevante Quellen des Hidden Web • Anfragen geeignet verteilen [IGS01] • Anfragesprache lernen [BC04] • (Ergebnisse integrieren) Felix Naumann, VL Informationsintegration, WS 05/06
Das Web Invisible Web (unsichtbares Netz) Surface web Shallow web Deep web (tiefes Netz) Quelle: [To01] Felix Naumann, VL Informationsintegration, WS 05/06
Surface Web Link-Struktur Kann gecrawled werden Dokumente durch Suchmaschinen indiziert Anfragen auf viele Websites gleichzeitig Hidden Web Keine Link-Struktur Dokumente verborgen in DBMS Dokumente nicht durch Internet-Suchmaschinen indiziert Dokumente eventl. durch Intranet-Suchemaschinen indiziert Anfragen auf jede Sammlung einzeln Surface Web vs. Hidden Web Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Hidden Web: Beispiel • Suche in PubMed nach “diabetes” • 178,975 Treffer • Google Suche: “diabetes site:www.ncbi.nlm.nih.gov” • nur 119 matches • Weitere Beispiele: • Gegenbeispiel • Amazon: Hilft explizit bei Verlinkung Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Suche über das Web • Kataloge • Suchmaschinen • Metacrawler • Antwort Services • Unsichtbares/Tiefes/Verborgenes Web Felix Naumann, VL Informationsintegration, WS 05/06
Kataloge • Indices speichern URL, Titel, Kategorien, und Zusammenfassung • Wartung durch Experten • freiwillig, bezahlt, Selbst-Registrierung • Das Web (Stand 2001): • >5,000,000,000 Dateien • Yahoo: • ~2,000,000 Sites • 1/2500th des bekannten Webs Quelle: [To01] Felix Naumann, VL Informationsintegration, WS 05/06
Suchmaschinen • Indices speichern URL, Titel, Meta-Tags, Links, und vollständigen Inhalt • Wartung durch Agenten (Crawler) • Das Web (Stand 2001): • >5,000,000,000 Dateien • Google: • 2,469,940,685 Seiten • FAST: • 2,112,188,990 Seiten • HotBot (Inktomi): • 500,000,000 Seiten Quelle: [To01] Felix Naumann, VL Informationsintegration, WS 05/06
Meta-Suchmaschinen • Haben keinen eigenen Katalog oder Index • Nutzer geben Suchbegriff ein, der simultan an andere Suchmaschinen weitergeleitet wird. • Ergebnisse werden integriert und als eine Liste zurückgegeben. • Vorteile: • Eine einzige Anfrage • Geschwindigkeit (parallel statt sequentiell) • Nachteile: • Time-outs und unvollständige Suche • Anfragesyntax oft reduziert auf kleinsten gemeinsamen Nenner Quelle: [To01] Felix Naumann, VL Informationsintegration, WS 05/06
Antwort Services • Datenbank mit gespeicherten häufigen Fragen • Katalog von Ask Jeeves enthält 7,000,000 Fragen • Natürlich-sprachliche Suche • Suche in eigener DB undin fremden Katalogen/Indices • Kennt Spezial-Daten-quellen des Hidden Web • Gewichtung anerkannter Quellen (z.B. Almanache) Quelle: [To01] Felix Naumann, VL Informationsintegration, WS 05/06
Invisible/Hidden/Deep Web Quelle: [To01] Felix Naumann, VL Informationsintegration, WS 05/06
Surface vs. Hidden Web [Be01] crawling • “Der Inhalt des Surface Web ist persistent auf statischen Seiten, die mittels crawling von Suchmaschinen entdeckt werden kann. Inhalt des Hidden Web wird dynamisch präsentiert in Antwort auf eine konkrete Anfrage.” • “…der größte Anteil Inhalts des Hidden Web wird unterhalb der Oberfläche bleiben und kann nur im Kontext einer bestimmten Anfrage entdeckt werden.” Quelle: [To01] trawling Felix Naumann, VL Informationsintegration, WS 05/06
Das Verborgene Web • Der Teil des Webs, der nicht durch Suchmaschinen indiziert wird. • Oft gespeichert in Datenbanken • Dynamisch generierte Web Seiten durch Anwendungen im Server • jsp, cgi, … • Sites und Seiten mit Passwort-geschütztem Inhalt • Inhalt von Dateien, die nicht in Standard-Formaten gespeichert werden • *.pdf, *.ppt, *.doc • Grafikformate Quelle: [To01] Felix Naumann, VL Informationsintegration, WS 05/06
Begriffe / Synonyme • Surface Web (Oberflächen-Web) • Inhalt für „normale“ Suchmaschinen sichtbar • Shallow Web (Flaches Web) • „Normale“ Web-Seiten, die dynamisch generiert werden • Anfragen durch Klicken auf Links • Hidden Web (verborgenes Web) • Inhalt für „normale“ Suchmaschinen unsichtbar • Invisible Web (unsichtbares Web) • Synonym mit Hidden web • Deep Web (tiefes Web) • nach BrightPlanet, • Synonym mit Hidden Web Quelle: [To01] Felix Naumann, VL Informationsintegration, WS 05/06
Statistiken [Be01] • 400 to 550 fach größer als Surface Web • 7,500 Terabytes Informationen im Hidden Web • 19 Terabytes Information im Surface Web • 550 Milliarden Dokumente im Hidden Web • 1 Milliarde Dokumente im Surface Web • je nach dem, was man zählt… • Dynamische Seiten... • 100,000 Hidden Websites • ca. 84% sind auf Text Dokumente spezialisiert • ca. 95% des Hidden Web ist öffentlich verfügbar. Quelle: [To01] Felix Naumann, VL Informationsintegration, WS 05/06
Eigenschaften [Be01] • Hidden Websites haben thematisch oft „schmaleren“, aber „tieferen“ Inhalt. • Oft qualitativ bessere Informationen • Meist relevanter Inhalt • Kein Spam • Über die Hälfte aller Hidden Websites sind thematisch spezialisiert. • Am schnellsten wachsende Kategorie neuer Informationen im Internet Quelle: [To01] Felix Naumann, VL Informationsintegration, WS 05/06
Beispiel: CompletePlanet.com Felix Naumann, VL Informationsintegration, WS 05/06
Überblick • Motivation [Be01,To01] • Suche über das Web • Begriffe und Definitionen • Auffinden von Hidden Web Informationsquellen • Potentielle Hidden Web Quellen Finden [BC04] • Themen extrahieren [IGS01] • Klassifikation nach Themen [IGS01] • Anfragen an relevante Quellen des Hidden Web • Anfragen geeignet verteilen [IGS01] • Anfragesprache lernen [BC04] • (Ergebnisse integrieren) Felix Naumann, VL Informationsintegration, WS 05/06
Auffinden von Hidden Web Quellen [BC04] • Ziel: Finde Webseiten, die als Einstiegspunkt ins Hidden Web dienen. • Seiten mit HTML Formular • Einschränkungen • Textuelle Formulare • mindestens ein Textinput • Nicht nur radio buttons, menus, checkboxen... • Anfrageformulare • Formulare, die Anfragen entgegennehmen und Informationen liefern • Keine Login Seiten • „Hidden Web Formulare“ • Keine Seiten mit komplexen Formularen (mehr als ein Inputfeld) • Aufgabe: Automatisches Finden und Erkennen von Hidden Web Formularen André Bergholz, Xerox Felix Naumann, VL Informationsintegration, WS 05/06
Auffinden von Hidden Web Quellen [BC04] • Manuell • Automatisches Auffinden von Formularen • Google-Suche (nach Themen) • Lokales breadth-first Crawling bis Formular gefunden • Innerhalb einer Site • Bis zu einer festen Tiefe • Automatisches Erkennen von Hidden Web Formularen (Heuristiken) • Testanfragen mit positiven und negativen Suchwörtern • Positiv: „passende“ Worte • Negativ: Fantasieworte • Ergebnisse negativer Suchwörter immer gleich groß (Byte) • Ergebnisse positiver Suchworte immer größer als negative • Berechnung der Größe durch „Subtraktion“ von Webseiten (als Baum) Felix Naumann, VL Informationsintegration, WS 05/06
Überblick • Motivation [Be01,To01] • Suche über das Web • Begriffe und Definitionen • Auffinden von Hidden Web Informationsquellen • Potentielle Hidden Web Quellen Finden [BC04] • Themen extrahieren [IGS01] • Klassifikation nach Themen [IGS01] • Anfragen an relevante Quellen des Hidden Web • Anfragen geeignet verteilen [IGS01] • Anfragesprache lernen [BC04] • (Ergebnisse integrieren) Panagiotis G. Ipeirotis, NYU Felix Naumann, VL Informationsintegration, WS 05/06
Suche im Hidden Web – Probleme • Auswahl relevanter Quellen für Anfrage • Themen extrahieren • Content summary • Nach Themen klassifizieren Hidden Web Hidden Web Metasearcher PubMed Library of Congress ESPN Nieren 220,000 Steine 40,000 ... Nieren 20 Steine 950 ... Nieren 5 Steine 40 ... Felix Naumann, VL Informationsintegration, WS 05/06 Quelle: Folie aus [IGS01]
Klassifikation von Hidden Web Quellen • Klassifikation hier: • Hierarchie über Kategorien und Subkategorien • Zuordnung von Quellen ist nicht immer eindeutig. • Manuell • Yahoo • InvisibleWeb (www.invisibleweb.com) • SearchEngineGuide (www.searchengineguide.com) • Hierarchien sind einsehbar. • Automatisch • Basierend auf Kategorie der Dokumente in der Quelle Felix Naumann, VL Informationsintegration, WS 05/06
Statistiken, die den Inhalt einer Hidden Web Quelle beschreiben Document-cardinality dc Anzahl der Dokumente insgesamt Document-frequency df(w) Pro Wort: Anzahl der Dokumente, die dieses Wort enthalten Beispiel Content Summaries Vorschau zur Verwendung von content summaries Anfrage „Darm-Krebs“ Anzahl Treffer = dc * df(Darm)/dc * df(Krebs)/dc = 74569 Felix Naumann, VL Informationsintegration, WS 05/06
Suche im Hidden Web – Probleme • Wie extrahiert man content summaries? • Wie verwendet man content summaries? Basketball 4 Krebs 4,532 CPU 23 Web Database Basketball 4 Krebs 4,532 CPU 23 Web Database 1 Basketball 4 Krebs 60,298 CPU 0 Web Database 2 Krebs Metasearcher Basketball 6,340 Krebs 2 CPU 0 Web Database 3 Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Extraktion von Content Summaries – Probleme • Kein direkter Zugang zu den Dokumenten ohne konkrete Anfrage • Gebundene Variablen • Deswegen: Anfrage-basiertes Dokument-Sampling: • „Sinnvolle“ Anfrage an Datenbank schicken (focussed probing) • Ergebnisliste mit Links • (Ergebnisdokument) • Ergebnisdokumente aus Liste einholen (das „Sample“) • Sample verwenden um content summary zu erstellen Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
“Zufälliges” Anfrage-basiertes Sampling • Start mit leerem content summary • Jedes Wort hat df(w) = 0. • Wähle ein Wort und schicke es als Anfrage an Hidden Web Quelle. • Wähle top-k Dokumente der Antwort (z.B. k=4). • Zähle df(w) für alle w in Sample um content summary zu füllen. • Wiederhole bis „genug“ (z.B. 300) Dokumente empfangen wurden Wort Häufigkeit in Sample Krebs 150 (out of 300) aids 114 (out of 300) Herz 98 (out of 300) … Basketball 2 (out of 300) Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
# documents word rank Zipf’s law Zufälliges Sampling – Probleme • df(w) zwischen 1 und Anzahl der Dokumente • Es wird nicht Document-frequency ermittelt, sondern Sample-frequency. • Absolute Zahlen sind nicht aussagekräftig. • Große Quellen haben ähnliche content summary wie kleine Quellen. • Zahlen sind nur relativ zu interpretieren (als ranking). • Viele Anfragen ohne oder nur mit kleinem Ergebnis (Zipf‘s law) • Viele, seltene Worte fehlen in der content summary. Viele Worte erscheinen nur in ein oder zwei Dokumenten. Deshalb jetzt verbesserte Lösung Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Zufälliges Sampling – Verbesserung • Algorithmus: Überblick • Trainiere Dokument-Klassifikatoren • Finde repräsentative Wörter für jede Kategorie. • Verwende Klassifikationsregeln um ein themenspezifisches Sample aus Quelle zu erhalten. • Schätze df(w) aller entdeckten Wörter. Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Fokussiertes Sampling: Trainingsphase • Start mit vordefinierter Themen-Hierarchie und bereits klassifizierten Dokumenten • Bsp: Yahoo, dmoz Open Directory, Google ... • Trainiere Dokument-Klassifikatoren für jeden Knoten der Hierarchie. • Extrahiere automatisch Regeln aus den Klassifikatoren: • ibm AND computers → Computers • lung AND cancer → Health • … • angina → Heart • hepatitis AND liver → Hepatitis • … } Root } Health Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Fokussiertes Sampling • Transformiere jede Regel in eine Boolesche Anfrage. • Für jede Anfrage: • Schicke Anfrage an Quelle • Merke Anzahl der Ergebnisse • Parsing • Hole top-k Dokumente ein. • Am Ende einer Runde: • Analysiere Ergebnisse für jede Kategorie (zählen). • Wähle Kategorie zum fokussieren in nächster Runde. Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Fokussiertes Sampling • Fokus nun auf Subkategorie • Neue Regelmenge, deshalb neue Anfragemenge • Vorteile • Weniger Anfragen • Fokussierte Anfragen Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Aufruf für jede Kategorie und Subkategorie Fokussiertes Sampling Anfragen entsprechend der Regeln des Klassifikators Sammle Dokumente ein Bei Ein-Wort Anfragen erlernen wir die tatsächliche df(w) Zähle sample-frequency für jedes Wort Maße zur Berechnung des Grades der Zugehörigkeit zu einer Kategorie Falls hinreichend zu einer Subkategorie zugehörig Wiederhole für Subkategorie Vereinige gesammelte Metadaten Quelle: [IG02] Felix Naumann, VL Informationsintegration, WS 05/06
Coverage (Abdeckung) –basierte Klassifikation Quelle D wird allen Kategorien Ci zugeordnet, für die D hinreichend viele Dokumente enthält. Specificity (Spezifizität) –basierte Klassifikation Quelle D wird allen Kategorien Ci zugeordnet, die eine hinreichende Menge von Dokumenten in D abdecken. Wahl der Schwellwerte beeinflusst Klassifikation Hohe Specificity sammelt spezialisierte (kleine) Quellen Hohe Coverage sammelt allgemeinere (große) Quellen Beispielkategorie: Fußball Sport.de vs. Frauenfussball.de Sport.de Hohe coverage Alles über Fußball Niedrige specificity Auch viel über andere Sportarten Frauenfußball Niedrige coverage Nur Teilausschnitt der Fußballwelt Hohe specificity Nur Fußball Zugehörigkeit von Hidden Web Quellen zu Kategorien Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Sample-frequency vs. Document-frequency • Motivation: • Sample-frequencies sind nur relativ. • Quelle mit ähnlichem Inhalt aber unterschiedlicher Größe haben gleiche content summary. • Sample Frequencies • “Leber” erscheint in 200 von 300 Dokumenten im Sample. • “Niere” erscheint in 100 von 300 Dokumenten im Sample. • “Hepatitis” erscheint in 30 von 300 Dokumenten im Sample. • Document-frequencies • Anfrage “Leber” ergibt 140,000 Matches. • Anfrage “Hepatitis” ergibt 20,000 Matches. • “Niere” war kein Trainingswort… • “Darm” und “Krebs” waren zwar Trainingsworte, aber nur gemeinsam. Zur Abschätzung der (besseren) Document-frequencies werden Infos der Ein-Wort Anfragen verwendet. Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Abschätzen der Document-frequencies • Bekannt aus Algorithmus • Ranking r der Worte nach Sample-frequencies • Document-frequencyf der Worte aus Ein-Wort Anfragen • Mandelbrot’s Formel verfeinert Zipfs Formel: • f = P (r+p)-B • P, p und B sind Parameter der Quelle • Niedriger rank ergibt hohe frequency • Dann: Kurvenanpassung • z.B.: P = 8*105, p =.25, B = 1.15 f r http://www.math.yale.edu/mandelbrot/web_pdfs/9_E7rankSizePlots.pdf Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Abschätzen der Document-frequencies • Algorithmus • Sortiere Wörter absteigend nach Sample-frequency • Ermittle P, p und B durch Fokus auf Wörter mit bekannter Document-frequency. (Kurvenanpassung) • Berechne df(wi) = P (ri+p)-B für alle anderen Wörter. Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Vorteile des Fokussierten Sampling • Wenige Anfragen (Fokus auf Thema) • Vielversprechende Anfragen • Klassifikation „along the way“ • Nützlich für Auswahl relevanter Quellen • Schätzung Document-frequency statt nur Sample-frequency. Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Überblick • Motivation [Be01,To01] • Suche über das Web • Begriffe und Definitionen • Auffinden von Hidden Web Informationsquellen • Potentielle Hidden Web Quellen Finden [BC04] • Themen extrahieren [IGS01] • Klassifikation nach Themen [IGS01] • Anfragen an relevante Quellen des Hidden Web • Anfragen geeignet verteilen [IGS01] • Anfragesprache lernen [BC04] • (Ergebnisse integrieren) Felix Naumann, VL Informationsintegration, WS 05/06
Suche im Hidden Web – Probleme • Wie extrahiert man content summaries? • Wie verwendet man content summaries? Basketball 4 Krebs 4,532 CPU 23 Web Database Basketball 4 Krebs 4,532 CPU 23 Web Database 1 Basketball 4 Krebs 60,298 CPU 0 Web Database 2 Krebs Metasearcher Basketball 6,340 Krebs 2 CPU 0 Web Database 3 Felix Naumann, VL Informationsintegration, WS 05/06
Quellenauswahl und Content Summaries • Quellenauswahl nimmt vollständige content summaries an. • Falls unvollständig (das Suchwort fehlt), kann nicht entschieden werden, ob die Quelle relevant ist. • Content summaries aus Sampling sind immer unvollständig. • Idee: Klassifikation verwenden • Quellen gleicher Kategorie sollten auch ähnlich content summary haben. • Content summaries verschiedener Quellen gleicher Kategorie können sich komplementieren. Felix Naumann, VL Informationsintegration, WS 05/06
Content Summaries für Kategorien (statt für Quellen) Anzahl der Quellen Category: Cancer NumDBs: 2 Anzahl der Dokumente (Summe) Number of Documents: 166,272 … ... breast 133,680 … ... cancer 101,423 Document-frequencies (Summe) … ... diabetes 11,344 … … metastasis 3,569 CANCERLIT CancerBACUP Somit kann jede Kategorie als Hidden Web Quelle angesehen werden. Number of Documents: 17,328 Number of Documents: 148,944 … ... … ... breast 121,134 breast 12,546 … ... … ... cancer 91,688 cancer 9,735 … ... … ... diabetes 11,344 diabetes <not found> … … … … metastasis <not found> metastasis 3,569 Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Hierarchische Quellenauswahl – Beispiel Quelle: Folie aus [IGS01] Felix Naumann, VL Informationsintegration, WS 05/06
Überblick • Motivation [Be01,To01] • Suche über das Web • Begriffe und Definitionen • Auffinden von Hidden Web Informationsquellen • Potentielle Hidden Web Quellen Finden [BC04] • Themen extrahieren [IGS01] • Klassifikation nach Themen [IGS01] • Anfragen an relevante Quellen des Hidden Web • Anfragen geeignet verteilen [IGS01] • Anfragesprache lernen [BC04] • (Ergebnisse integrieren) Felix Naumann, VL Informationsintegration, WS 05/06
Anfragen an Quellen des Hidden Web • Hidden Web Quellen verwenden unterschiedliche Anfragesprachen (Schnittstellen-Heterogenität) • Suchwörter • Phrasen • Boolesche Kombinationen Es gilt, solche „Anomalien“ automatisch zu entdecken. Quelle [BC04] Felix Naumann, VL Informationsintegration, WS 05/06
Anfragesprache an Quellen des Hidden Web • Mögliche Operatoren • O = {CASE, STEM, PHRASE, AND, OR, NOT} • Mögliche Syntax • S = {wort, `*´, `_´, `“ “´, `AND´, `OR´, `NOT´, `+´, `-´} • Ziel • Automatische Erkennung der unterstützten Operatoren • Automatische Erkennung der Interpretation der Syntax Felix Naumann, VL Informationsintegration, WS 05/06
Maschinelles Lernen für Syntax • Zielfunktion: T:S O • Zuordnung von Ausdrücken zu Operatoren • Problem: Nicht jede Syntax wird unterstützt • Erweiterung von O zu O‘ • O = {CASE, STEM, PHRASE, AND, OR, NOT} • O‘ = O {ignored, literal, unknown} • Beispiel: Google • Wort CASE, STEM • `*´ ignored • `_´ AND • `“ “´ PHRASE • `AND´ AND • `OR´ OR • `NOT´ ignored • `+´ AND • `-´ NOT • literal, unknown Google kann natürlich noch viel mehr ~ SYNONYM Felix Naumann, VL Informationsintegration, WS 05/06
Maschinelles Lernen für Syntax • Idee • Testanfragen verschicken und Ergebnisgrößen untersuchen. • Machine Learning Methoden verwenden. • Wichtige Annahme: Man kann Ergebnisgröße herausparsen. • Training • Hidden Web Quellen mit bekannter Syntax und bekannten Operatoren • Testanfrage verschicken und Eigenschaften der Ergebnisse (insbesondere Ergebnisgröße) beobachten. • Testing • Unbekannte Hidden Web Quelle • Gleiche Testanfragen verschicken und Eigenschaften vergleichen. • Welche Testanfragen? • Welche Eigenschaften? Felix Naumann, VL Informationsintegration, WS 05/06