Manfred Thaller, Universität zu Köln Köln 10. Dezember 2010

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Eine dynamische Menge, die diese Operationen unterstützt,
Christian Schindelhauer
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Webseitenranking für Suchanfragen anhand von Linkgraphen
On the Criteria to Be Used in Decomposing Systems into Modules
Google Larry Page Sergej Brin 7. Sept Google Inc. PageRank – Citation Index – Qualität der Suchergebnisse Wider die Lügen im Hyperraum – Ranking.
Kapitel 6: Klassifizierung von Sortiertechniken
Seminar Textmining WS 06/07 Themen Übung 11 unsupervised vs. supervised Symbolfolgen, Kunstsprachen Page Rank.
Indexed Sequential Access Method
Einführung in die Informationsverarbeitung Teil Thaller Stunde III: Algorithmen Köln 4. Dezember 2008.
Manfred Thaller, Universität zu Köln Köln 22. Januar 2009
Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht Graphen. Manfred Thaller, Universität zu Köln Köln.
Einführung in die Informationsverarbeitung Stunde II: Datenstrukturen Manfred Thaller, Universität Köln Köln 22. Oktober 2007.
HEINZ NIXDORF INSTITUT Universität Paderborn EIM Institut für Informatik 1 Algorithm. Grundlagen des Internets 30. Juni 2003 Christian Schindelhauer Vorlesung.
Fallstudie. 2 Statistik April Dokumente Jan Mio. Dokumente Performance 3 Mio. Queries pro Tag 9. Juni 2000 Most popular search engines.
HTML - Einführung Richard Göbel.
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Suchmaschine vs. Katalog Such-Robots i.d.R. werden alle Seiten erfasst täglich werden mehrere Mio. Seiten besucht Redaktion relativ wenig Seiten erfasst.
Algorithmentheorie 04 –Hashing
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (10 - Suchverfahren) T. Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
HTML - Eine erste Annäherung
An's Netz An's Netz An's.
Benutzen von Internetseiten
Rechneraufbau & Rechnerstrukturen, Folie 14.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 14.
XPointer Die Xpointer beschreiben einen Ort oder Bereich innerhalb einer XML-Instanz. Die XPointer bauen auf der XML Path Language auf. Die XPointer ist.
Christian Schindelhauer
Wie funktionieren Suchmaschinen?
Relevanz Ranking Bisher: Sind wir davon ausgegangen, dass das Ergebnis des Rankings des statistischen Verfahrens in den Index geschrieben wird und dem.
Relevanz Ranking Bisher:
Schulen ans Netz Oberhausener Moderatoren
Intelligentes Crawling im WWW mit Hilfe intuitiver Suchbedingungen
Manfred Thaller, Universität zu Köln Köln 26. November 2007
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
Internet Suchmaschinen basiert auf: Arasu Arvind et. al., Searching the Web, S. Brin, L. Page, The.
Wie Google Webseiten bewertet
Seniorkom.at vernetzt Jung & Alt Das Internet ist reif
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Effiziente Algorithmen
Polynome und schnelle Fourier-Transformation
Mit Favoriten (Lesezeichen) arbeiten
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Generalisiertes Vektorraummodell (Generalized Vector Space Model, GSVM) Karin Haenelt
Agenda Rückblick 2. Aufbau der Software Benutzeroberfläche 4. Ausblick
Das IT - Informationssystem
Manfred Thaller, Universität zu Köln Köln 30. Januar 2014
Suchmaschinen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Erstelle deine eigene Timeline
Google (Web-Suchmaschine) Google Books Google Scholar
Das Interenet als Recherchemedium nutzen!
Suchmaschinen im Internet
26. Oktober 2005Autor: Walter Leuenberger Computeria Urdorf Treff vom 26. Oktober 2005 Suchmaschinen im Internet Google & Co.
Das IT - Informationssystem
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Einführung in die Informationsverarbeitung Teil Thaller Stunde III: Algorithmen Köln 4. November 2010.
Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen Köln 25. Oktober 2012.
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
Hypertext Markup Language
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Binärbäume.
Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde III: Algorithmen, Visualisierung Köln 19. November 2015.
Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller 2014–15) Stunde VI: Suche Planen und Realisieren Köln 21. Januar 2016.
Arbeiten mit WordSmith 4. Inhalt 1. Arbeiten mit der Funktion Wortliste (im getaggten Korpus) 1. Arbeiten mit der Funktion Wortliste (im getaggten Korpus)
 Präsentation transkript:

Manfred Thaller, Universität zu Köln Köln 10. Dezember 2010 Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Zusammengefügte Bausteine: Google Manfred Thaller, Universität zu Köln Köln 10. Dezember 2010

Google - ein „System“ Crawler Speicher URL Server Anker URL Auflösung Indizierer Repository „Barrels“ Links Lexikon Doc Index Sortieren PageRank Suchen

„Ur Google“ Sergey Brin and Lawrence Page: The Anatomy of a Large-Scale Hypertextual Web Search Engine. Proceedings of the seventh World Wide Web Conference (WWW7), Brisbane, also in a special issue of the Journal Computer Networks and ISDN Systems, Volume 30, issues 1-7. http://infolab.stanford.edu/~backrub/google.html Vgl.: http://www.google.com/technology/pigeonrank.html

Formalia Entwickler: Sergey Brin, Lawrence Page. Name: "Google" Verballhornung von "Googol" ( = 10 100). System verteilt auf viele kooperierende Rechner: Google operates what is probably the world's largest Linux cluster that puts many supercomputing centers to shame.

URL Server Startet mit Anfangs URL. Crawler URL Server Startet mit Anfangs URL. Liest weitere URLs aus einem Dokumenten-Index. Schickt URLs an Crawler um Seiten zu holen. Wichtig: Art der Suche im WWW (Tiefen v. Breitensuche). Doc Index

Crawler Holen Web-Seiten. Speicher Holen Web-Seiten. Speichern individuelle Seiten in Speicher-Subsystem. Mehrere Crawler! "Robots Exclusion Protocol" - "Wohlverhalten"

Indizierer I Liest Seiten aus dem Repository und dekomprimiert sie. "Parsed" jedes Dokument und verwandelt es in "Treffer", bestehend aus der Wortform. der Position innerhalb des Dokuments. einer relativen Fontgröße. Anzeige der Großschreibung. Treffer sind "fancy" (in URL, Überschrift, Anker Text oder Meta-Tag) oder "plain" (alle anderen Fälle). Indizierer Repository

Indizierer II Verteilt Treffer in "barrels", wobei ein sortierter Index entsteht. Extrahiert Links und speichert sie {Start URL, Ziel URL, Text} in Anker Datei. Erzeugt Lexikon Datei. Anker Indizierer „Barrels“ Lexikon

Rückverweis: Algorithmen: Laufzeit Beispiel: Sequentielles Suchen Suchzeit jedes Namens entspricht Rang in der Liste. Durchschnittliche Suchzeit: n / 2. Laufzeit steigt mit der zu durchsuchenden Anzahl 1 Clio 2 Melpomene 3 Terpsichore 4 Thalia 5 Euterpe 6 Erato 7 Urania 8 Polyhymnia 9 Kalliope

Algorithmen: Laufzeit Beispiel: Binäres Suchen Laufzeit: ? 1 Clio 2 Erato 3 Euterpe 4 Kalliope 5 Melpomene 6 Polyhymnia 7 Terpsichore 8 Thalia 9 Urania

Algorithmen: Laufzeit Beispiel: Binäres Suchen – „Thalia“ „Melpomene“ gleich – größer – kleiner „Thalia“? „Terpsichore“ gleich – größer – kleiner „Thalia“? „Thalia“ gleich – größer – kleiner „Thalia“? 1 Clio 2 Erato 3 Euterpe 4 Kalliope 5 Melpomene 6 Polyhymnia 7 Terpsichore 8 Thalia 9 Urania

Algorithmen: Laufzeit Beispiel: Binäres Suchen Laufzeit steigt mit Logarithmus der zu durchsuchenden Anzahl. 1 Clio 2 Erato 3 Euterpe 4 Kalliope 5 Melpomene 6 Polyhymnia 7 Terpsichore 8 Thalia 9 Urania

Algorithmen: Laufzeit linear. logarithmisch. exponentiell. N=1 N=10 N=100 N=1000 1 10 100 1000 3 7 103 1030 10300

Relevanz? Verteilt Treffer in "barrels", wobei ein sortierter Index entsteht. Extrahiert Links und speichert sie {Start URL, Ziel URL, Text} in Anker Datei. Erzeugt Lexikon Datei. Anker Indizierer „Barrels“ Lexikon

Relevanz: ? WordIds = Woridentifikationsnummern Entstehen, indem die Wortformen sortiert und durchnummeriert werden.

Erinnerung Crawler Speicher URL Server Anker URL Auflösung Indizierer Repository „Barrels“ Links Lexikon Doc Index Sortieren PageRank Suchen

URL Auflösung I Anker URL Auflösung „Barrels“ Links Doc Index

URL Auflösung II Liest Anker Datei. Verwandelt relative URLs in absolute. Verwandelt absolute URLs in Dokumenten IDs. Fügt Anker Text in einen vorwärts gerichteten Index ein, zusammen mit den Dokumenten IDs auf die der Anker zeigt. Erzeugt eine Link Datenbank, die Paare von Dokumenten IDs enthält. (Wird für die Errechnung der PageRanks verwendet!)

Sortierung Verwandelt einen Index der Dokumenten Ids in einen "invertierten Index", sortiert nach Wort Ids. "Short barrel" - invertierter Index von Treffern in Titel- und Ankertags. "Full barel" - invertierter Index der Bodytags. Enthält Offsets der Dokumentenposition für jede Wort Id. (Nachbarschaftsberechnung / Positionsanzeige.) „Barrels“ Sortieren

Page Rank I Kann beschrieben werden als Modell des Verhaltens von Benutzern. Geht von einem "Zufallssurfer" aus, der von einer bestimmten Seite ausgeht und auf Links clickt. Er / Sie geht nie zurück und wird schließlich weitere Zufallsseite auswählen. Der "PageRank" ist die Wahrscheinlichkeit (p), dass der Surfer eine bestimmte Seite besucht. Die Wahrscheinlichkeit, dass BenutzerIn auf einer Zufallsseite landet ist 1-p. Links PageRank

Page Rank II Wir nehmen an: Auf Seite A zeigen die Seiten T1 ... Tn (zitieren sie also). C(A) ist die Anzahl der Links, die von Seite A ausgehen. d ist ein empirischer / arbiträrer Dämpfungsfaktor zwischen 0 und 1 (in Google 0.85?). Dann gilt: PR(A) = (1-d) + d ( PR(T1) / C (T1) + ... + PR(Tn)/C(Tn) ) PageRanks stellen eine Wahrscheinlichkeitsverteilung dar; die Summe der PageRanks aller Seiten im Web ist also 1.0.

Page Rank III Hoher PageRank kann anzeigen: Dass sehr viele Seiten auf eine Seite zeigen ... ... oder dass eine relativ kleine Anzahl von Seiten mit hohem PageRank auf diese Seite zeigen.

Erinnerung Crawler Speicher URL Server Anker URL Auflösung Indizierer Repository „Barrels“ Links Lexikon Doc Index Sortieren PageRank Suchen

Repository Voller (HTML) Text jeder Webseite. Seiten werden komprimiert gespeichert (ZLIB). Format: Dokumenten Id. Dokumentenlänge. URL des Dokuments. Inhalt des Dokuments.

Anker Beschreibung der Verweise in den Seiten {Start URL, Ziel URL, Text} Laut Google oft genauere Beschreibung der Seiten, als die Seiten selbst. Können auch nicht-Texte berücksichtigen. Problem: Tote Links ...

Links Datenbank aller Paare von Dokumenten Ids. Basis aller PageRank Berechnungen.

Doc Index Datenbank aller verarbeiteten Dokumente (Web Seiten) Organisiert als ISAM Datei. (Indexed sequential access mode.) Geordnet nach DokumentenId. Jeder Eintrag enthält: Status des Dokuments. Prüfsumme des Dokuments. Statistiken zum Dokument. Angabe ob Seite von Crawlern schon durchsucht wurde. Sonst Verweis auf Liste abzuarbeitender URLs.

Lexikon

A B Zur Erinnerung: „Zeiger“ Diagrammatische Darstellung: „Zeiger“: Ein Speicherinhalt eines Rechners verweist auf einen anderen. A B

Datenstruktur im Speicher Speicher als „karierte Zeile“ 0 1 2 3 4 5 6 7 8 9 10 11

Datenstruktur im Speicher Zahl „14123“ in Bytes 0 bis 1 Zahl „22445“ in Bytes 10 bis 11 14123 22445 0 1 2 3 4 5 6 7 8 9 10 11

Datenstruktur im Speicher Zeichen „a“ in Byte 0 Zeichen „q“ in Byte 11 a q 0 1 2 3 4 5 6 7 8 9 10 11

Datenstruktur im Speicher Zeiger in Bytes 0 bis 1 verweist auf Speicherblock, enthaltend „xy“, beginnend in Byte 10 10 x y 0 1 2 3 4 5 6 7 8 9 10 11

Zeiger graphisch Zeiger in Bytes 0 bis 1 verweist auf Speicherblock, enthaltend „xy“, beginnend in Byte 10. x y 0 1 2 3 4 5 6 7 8 9 10 11

Zeiger graphisch Zeiger verweist von einem Datenblock auf einen anderen. *

ergo: Lexikon

Barrels I Datenbank des Inhalts aller verarbeiteten Dokumente (Web Seiten) Beginnt mit einem Index von Dokumenten Ids, wird danach zu einem Index der Wort IDs sortiert. Die Suchmaschine sucht zuerst in den "short barrels" nach Treffern (Titel und Anker), erst danach in den "full barrels".

Barrels II

Google - ein „System“ Crawler Speicher URL Server Anker URL Auflösung Indizierer Repository „Barrels“ Links Lexikon Doc Index Sortieren PageRank Suchen

Suche I Besonderheiten der Googlesuche: Google analysiert nicht nur die Wortformen, sondern auch ihren (auch graphischen) Kontext. Jede Trefferliste enthält Informationen über die Position, den Schrifttyp und die Großschreibung. Zudem wird zwischen "fancy" und "plain" unterschieden - und der PageRank wird berücksichtigt. Ausgewogenheit zwischen diesen Faktoren.

Suche II – Abfragebearbeitung Abfrage "parsen". Worte in WortIds verwandeln. "Short barrel" auf Anfang der Dokumentenliste für jedes Wort der Abfrage positionieren. Dokumentenliste durchsuchen, bis es Dokument gibt, dass alle Suchterme enthält. Rang dieses Dokuments berechnen, relativ zu den anderen, die die Bedingungen erfüllen. Wenn wir mit der Bearbeitung der "short barrels" fertig sind, wiederhole Schritt 3 ff. sinngemäß für die "full barrels". Wenn wir noch nicht am Ende der Dokumentenliste sind, gehe zu Schritt 4. Gefundene Dokumente nach Rang sortieren und n beste mitteilen.

Suche III – Ranking, Einzelwort Trefferliste erstellen. Jedem Treffer Typ {Überschrift, Anker, URL, Großer Font, Kleiner Font ...}, mit spezifischem Typwert, zuweisen. Vector der Typen-Gewichte in der Reihenfolge der Typen erzeugen. Typen zählen und Häufigkeiten in Häufigkeitsgewichtungen verwandeln. Häufigkeitsgewichtung normalisieren, am Anfang linear, dann abnehmend. Gewichtungsrang entspricht dem Skalarprodukt aus dem Vektor der Typengewichte mit dem Vektor der Häufigkeitsgewichte. Kombination aus Gewichtungsrang und PageRank ergibt endgültigen Rang des Dokuments.