Information-Retrieval: Web-Retrieval Claes Neuefeind Fabian Steeg 21. Januar 2010
Themen des Seminars Boolesches Retrieval-Modell (IIR 1) Datenstrukturen (IIR 2) Tolerantes Retrieval (IIR 3) Vektorraum-Modell (IIR 6) Evaluation (IIR 8) Web-Retrieval (IIR 19-21)
Ein vollständiges IR-System Abbildung: www.informationretrieval.org
Klassisches IR Korpus als feststehende Sammlung von Dokumenten Ziel: Rückgabe relevanter Dokumente Bewertung der von Anfrage-Dokument-Paaren hinsichtlich der Erfüllung eines Informationsbedarfs Spezifischer Suchkontext ist vorgegeben Spezifischer Benutzer wird ignoriert
Web-Retrieval Das Web: Riesig, chaotisch, verlinkt, ändert sich ständig Inhaltserstellung und Suche sind eng verknüpft mit vielfältigen kommerziellen Interessen Größter Unterschied: Mangelnde Kooperation (Spam) Anforderungen: Ein Interface für viele Zwecke und Bedürfnisse (Anfragen, Straßenkarten, Börsenkurse, etc.) Kontextualisierung (IP-Adresse, Geo-Tagging) Personalisierung durch Suchprofile
Web-Retrieval Abbildung: www.informationretrieval.org
Web-Retrieval Das Web als Korpus Crawling Literatur
Historisches Ca. 1995-1997 rein keywordbasierte Suche (Altavista, Excite, Infoseek, lnktomi) oder Taxonomien (Yahoo) Paid Placement: Ranking gegen Bezahlung (goto.com/overture) Ab 1998: Linkbasiertes Ranking (Google) Verdrängt keywordbasierte Suche Link-Analyse heute Standard Ab ca. 2000: Google-Ads Trennung von algorithmischem Ergebnis und Werbung ist quasi das Verdienst von google Yahoo folgt dem Beispiel, kauft Overture (für paid placement) und lnktomi (für Suche)
Anfragen: Informationsbedarf vs. Nutzerbedürfnis Information: Wissen befriedigen (klassischer Informationsbedarf) Navigation: Zu einer bestimmten Seite gehen Transaktion: Etwas bestimmtes tun Services (Wetter, Staus, etc) Downloads Shops Grauzonen: Explorative Suche Surfen
Nutzerverhalten Oft fehlerhafte Anfragen: Kurz (Ø 2-3 Terme, 80% aller Anfragen 3 Wörter) Unpräzise (keine Operatoren) Große Varianz: Bedürfnisse / Erwartungen / Vorwissen Faktor Bandbreite (historisch) Spezielles Verhalten: 85% schauen nur auf die erste Ergebnisseite 78% deranfragen werden nicht nachjustiert Links verfolgen statt Suchen
Nutzerbedürfnisse Qualität von Webseiten variiert erheblich Relevanz im bisherigen Sinne reicht für Bewertung nicht aus Erwünschte Qualitäten (auch über IR-Kontext hinaus): Inhalt: Vertrauenswürdig, gepflegt, aktuell, nicht redundant Web-Lesbarkeit: Saubere und schnelle Anzeige Frei von Ärgernissen (pop-ups etc.) Precision vs. Recall: Precision wovon? Der ersten 10? 100? Recall spielt im Web meist geringe Rolle
Nutzerbedürfnisse Einfaches und fehlertolerantes Interface Gültigkeit und Relevanz der Ergebnisse Objektivität der Resultate (Faktor Vertrauen) Tools für Vor- und Nachbereitung: Ausgleich von Eingabefehlern (Spell checking, Syntax) Feedback: Suche in Ergebnissen, Spracheinstellungen, etc. Antizipation: Ähnliche Suchen Web-spezifisches Vokabular (Smileys, URLs) Auswirkungen auf ling. Tools (Stemming, etc.)
Web-Retrieval Abbildung: www.informationretrieval.org
Das Web als Korpus Demokratisierung der VÖ (verteilte Erstellung, Verlinkung) Keine Designrichtlinien, keine Koordination Stark heterogene Inhalte: Wahr/falsch, überflüssig, widersprüchlich... Strukturiert (DBs) Semi-strukturiert (XML, annotierte Bilddateien, etc.) Unstrukturiert (Text, HTML,... ) Dynamisch Spam: Cloaking, doorway pages, link spam, bombs Web als größtes denkbares Korpus
Größe des Web? Anzahl Hosts? Netcraft: Monatlicher Bericht über Anzahl Hosts & Server http://news.netcraft.com/archives/web_server_ survey.html Anzahl (statischer) HTML-Seiten? http://www.ims.uni-stuttgart.de/lehre/teaching/ 2007-SS/ir/sizeoftheweb.html Größe des Datenvolumens? All diese Zahlen ändern sich permanent!
Größe des Web? Schwierigkeiten: Im Schnitt mehr als 8 Links/Seite Duplikate, Mirror-Sites ( 30%) Server z.t. nur zeitweise online Das Web ist de facto unendlich: Dynamische Inhalte 404er Problem für Suchmaschinendesign Auswirkung auf Crawling: Recall
Dynamische Inhalte Seiten ohne statische HTML-Version z.b. aktueller Status von Flug Nr. AB1234 Werden ad hoc auf Server erstellt Erkennbar am? in der URL (vgl. Wikipedia) Abbildung: www.informationretrieval.org
Dynamische Inhalte Großteil dynamischer Inhalte wird ignoriert u.a. wg. sog. spider traps Zu viel zu indexieren Statische Inhalte in der Regel wichtiger Aber: De facto werden auch viele statische Inhalte ad hoc erstellt (php u.ä.: Header, Datum, Ads, etc.)
Crawling: Grundidee Beginne irgendwo ( URL seeds ) Seite holen, parsen Text indexieren URLs extrahieren URLs zu Queue hinzufügen ( URL frontier ) Gehe zu nächster URL und beginne von vorn Grundannahme: Das Web ist ordentlich verlinkt
Schwierigkeiten Skalierung: Crawling muss verteilt erfolgen 20,000,000,000 Seiten/Monat 8000/Sek Es kann und soll nicht alles gecrawlt werden Schwankungen in Sichtbarkeit und Bandbreite Tiefe der Seitenhierarchie Mirrors und Duplikate Spam Spider Traps
Grundregeln Pflicht Höflichkeit: Nur erlaubte Seiten, nicht permanent blockieren Explizit: Robots exclusion protocol (robots.txt) Robustheit: spider traps, dynamische Seiten, große Sites Kür Verteilt operieren Effizienz & Skalierbarkeit (Rechenleistung/Bandbreite) Qualität & Aktualität Erweiterbarkeit (neue Formate, Protokolle)
robots.txt Protokoll zur Einschränkung des Zugriffs durch bots http://robotstxt.org (seit 1994) robots.txt legt fest, was (nicht) gecrawled werden darf Bsp.: Kein Zugriff auf URLs mit lehre/temp, außer durch bot searchengine : User-agent: * Disallow: /lehre/temp/ User-agent: searchengine Disallow: / Crawler muss zu allen besuchten Seiten die robots.txt speichern
Verarbeitungsschritte beim Crawling URL aus frontier auswählen Dokument zur URL holen (IP über DNS) Prüfen, ob bereits bekannt ( fingerprints, shingles ) Falls nicht: Dokument zu Index hinzufügen Links extrahieren (relative URLs beachten) Für jede extrahierte URL URL filter tests (regex, robots.txt) Prüfen, ob bereits in der frontier Hinzufügen (Priorisierung)
Grundarchitektur www DNS fetch parse doc robots FPs templates content seen? URL filter URL set dup URL elim URL frontier
Verteilter Crawler www DNS fetch parse doc FPs to other nodes content URL host seen? filter splitter URL set dup URL elim URL frontier from other nodes
Manning, C. D., Raghavan, P., and Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press. Zum Nachlesen: [Manning et al., 2008], Kapitel 19+20 (siehe www.informationretrieval.org)