Manfred Thaller, Universität zu Köln Köln 23. Januar 2014

of 45 /45
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Zusammengefügte Bausteine: Google Manfred Thaller, Universität zu Köln Köln 23. Januar 2014

Embed Size (px)

description

Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Zusammengefügte Bausteine: Google. Manfred Thaller, Universität zu Köln Köln 23. Januar 2014. Google - ein „System“. Crawler. Speicher. URL Server. Anker. URL Auflösung. Indizierer. Repository. „Barrels“. Links. - PowerPoint PPT Presentation

Transcript of Manfred Thaller, Universität zu Köln Köln 23. Januar 2014

  • Einfhrung in die Informationsverarbeitung Teil Thaller

    Stunde V: Zusammengefgte Bausteine: Google

    Manfred Thaller, Universitt zu Kln

    Kln 23. Januar 2014

  • Google - ein SystemURL ServerURL AuflsungSortierenPageRankSuchenCrawlerSpeicherIndiziererBarrelsAnkerDoc IndexRepositoryLexikonLinks

  • 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 1998, 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.htmlUr Google*

  • 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.Formalia*

  • URL ServerCrawlerURL ServerDoc IndexStartet 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).*

  • CrawlerCrawlerHolen Web-Seiten.

    Speichern individuelle Seiten in Speicher-Subsystem.

    Mehrere Crawler!

    "Robots Exclusion Protocol" - "Wohlverhalten"Speicher*

  • Indizierer ILiest Seiten aus dem Repository und dekomprimiert sie.

    "Parsed" jedes Dokument und verwandelt es in "Treffer", bestehendaus der Wortform.der Position innerhalb des Dokuments.einer relativen Fontgre.Anzeige der Groschreibung.

    Treffer sind "fancy" (in URL, berschrift, Anker Text oder Meta-Tag) oder "plain" (alle anderen Flle).

    RepositoryIndizierer*

  • Indizierer IIVerteilt Treffer in "barrels", wobei ein sortierter Index entsteht.

    Extrahiert Links und speichert sie {Start URL, Ziel URL, Text} in Anker Datei.

    Erzeugt Lexikon Datei.

    IndiziererBarrelsAnkerLexikon*

  • WordIds = Woridentifikationsnummern

    Entstehen, indem die Wortformen sortiert und durchnummeriert werden.

    Problem:

  • Beispiel: Sequentielles Suchen

    Suchzeit jedes Namens entspricht Rang in der Liste.

    Durchschnittliche Suchzeit: n / 2.

    Laufzeit steigt mit der zu durchsuchenden AnzahlRckverweis: Algorithmen: Laufzeit

    1Clio2Melpomene3Terpsichore4Thalia5Euterpe6Erato7Urania8Polyhymnia9Kalliope

  • Beispiel: Binres Suchen

    Laufzeit: ?Algorithmen: Laufzeit

    1Clio2Erato3Euterpe4Kalliope5Melpomene6Polyhymnia7Terpsichore8Thalia9Urania

  • Beispiel: Binres Suchen ThaliaMelpomene gleich grer kleiner Thalia?Terpsichore gleich grer kleiner Thalia?Thalia gleich grer kleiner Thalia?

    Algorithmen: Laufzeit

    1Clio2Erato3Euterpe4Kalliope5Melpomene6Polyhymnia7Terpsichore8Thalia9Urania

  • Beispiel: Binres Suchen

    Laufzeit steigt mit Logarithmus der zu durchsuchenden Anzahl.

    Algorithmen: Laufzeit

    1Clio2Erato3Euterpe4Kalliope5Melpomene6Polyhymnia7Terpsichore8Thalia9Urania

  • linear. logarithmisch. exponentiell.

    Algorithmen: Laufzeit

    N=1N=10N=100N=10001101001000137101103103010300

  • 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.

    IndiziererBarrelsAnkerLexikon*

  • WordIds = Woridentifikationsnummern

    Entstehen, indem die Wortformen sortiert und durchnummeriert werden.

    Relevanz: ?

  • ErinnerungURL ServerURL AuflsungSortierenPageRankSuchenCrawlerSpeicherIndiziererBarrelsAnkerDoc IndexRepositoryLexikonLinks

  • URL Auflsung IBarrelsAnkerURL AuflsungLinksDoc Index*

  • URL Auflsung IILiest Anker Datei.

    Verwandelt relative URLs in absolute.

    Verwandelt absolute URLs in Dokumenten IDs.

    Fgt Anker Text in einen vorwrts gerichteten Index ein, zusammen mit den Dokumenten IDs auf die der Anker zeigt.

    Erzeugt eine Link Datenbank, die Paare von Dokumenten IDs enthlt.(Wird fr die Errechnung der PageRanks verwendet!)*

  • SortierungBarrelsSortierenVerwandelt 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.

    Enthlt Offsets der Dokumentenposition fr jede Wort Id. (Nachbarschaftsberechnung / Positionsanzeige.)*

  • Page Rank IKann 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 zurck und wird schlielich weitere Zufallsseite auswhlen.Der "PageRank" ist die Wahrscheinlichkeit (p), dass der Surfer eine bestimmte Seite besucht. Die Wahrscheinlichkeit, dass BenutzerIn auf einer Zufallsseite landet ist 1-p.

    LinksPageRank*

  • Page Rank IIWir 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 / arbitrrer Dmpfungsfaktor 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 IIIHoher 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.

    *

  • ErinnerungURL ServerURL AuflsungSortierenPageRankSuchenCrawlerSpeicherIndiziererBarrelsAnkerDoc IndexRepositoryLexikonLinks

  • Repository Voller (HTML) Text jeder Webseite.

    Seiten werden komprimiert gespeichert (ZLIB).

    Format:Dokumenten Id.Dokumentenlnge.URL des Dokuments.Inhalt des Dokuments.

    *

  • AnkerBeschreibung der Verweise in den Seiten

    {Start URL, Ziel URL, Text}

    Laut Google oft genauere Beschreibung der Seiten, als die Seiten selbst.

    Knnen auch nicht-Texte bercksichtigen.

    Problem: Tote Links ...

    *

  • LinksDatenbank aller Paare von Dokumenten Ids.

    Basis aller PageRank Berechnungen.

    *

  • Doc IndexDatenbank aller verarbeiteten Dokumente (Web Seiten)

    Organisiert als ISAM Datei. (Indexed sequential access mode.) Geordnet nach DokumentenId.

    Jeder Eintrag enthlt:Status des Dokuments.Prfsumme des Dokuments.Statistiken zum Dokument.

    Angabe ob Seite von Crawlern schon durchsucht wurde.Sonst Verweis auf Liste abzuarbeitender URLs.*

  • Lexikon*

  • Diagrammatische Darstellung:

    Zeiger: Ein Speicherinhalt eines Rechners verweist auf einen anderen.Zur Erinnerung: ZeigerAB

  • Speicher als karierte Zeile

    Datenstruktur im Speicher 0 1 2 3 4 5 6 7 8 9 10 11

  • Zahl 14123 in Bytes 0 bis 1Zahl 22445 in Bytes 10 bis 11

    14123 22445Datenstruktur im Speicher 0 1 2 3 4 5 6 7 8 9 10 11

  • Zeichen a in Byte 0 Zeichen q in Byte 11

    a qDatenstruktur im Speicher 0 1 2 3 4 5 6 7 8 9 10 11

  • Zeiger in Bytes 0 bis 1 verweist auf Speicherblock, enthaltend xy, beginnend in Byte 10

    10 x y Datenstruktur im Speicher 0 1 2 3 4 5 6 7 8 9 10 11

  • Zeiger in Bytes 0 bis 1 verweist auf Speicherblock, enthaltend xy, beginnend in Byte 10.

    Zeiger graphisch x y 0 1 2 3 4 5 6 7 8 9 10 11

  • Zeiger verweist von einem Datenblock auf einen anderen.

    *

    Zeiger graphisch

  • ergo: Lexikon*

  • Barrels IDatenbank 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 SystemURL ServerURL AuflsungSortierenPageRankSuchenCrawlerSpeicherIndiziererBarrelsAnkerDoc IndexRepositoryLexikonLinks

  • Suche IBesonderheiten der Googlesuche:

    Google analysiert nicht nur die Wortformen, sondern auch ihren (auch graphischen) Kontext.

    Jede Trefferliste enthlt Informationen ber die Position, den Schrifttyp und die Groschreibung. Zudem wird zwischen "fancy" und "plain" unterschieden - und der PageRank wird bercksichtigt.

    Ausgewogenheit zwischen diesen Faktoren.*

  • Suche II AbfragebearbeitungAbfrage "parsen".Worte in WortIds verwandeln."Short barrel" auf Anfang der Dokumentenliste fr jedes Wort der Abfrage positionieren.Dokumentenliste durchsuchen, bis es Dokument gibt, dass alle Suchterme enthlt.Rang dieses Dokuments berechnen, relativ zu den anderen, die die Bedingungen erfllen.Wenn wir mit der Bearbeitung der "short barrels" fertig sind, wiederhole Schritt 3 ff. sinngem fr 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, EinzelwortTrefferliste erstellen.Jedem Treffer Typ {berschrift, Anker, URL, Groer Font, Kleiner Font ...}, mit spezifischem Typwert, zuweisen.Vector der Typen-Gewichte in der Reihenfolge der Typen erzeugen.Typen zhlen und Hufigkeiten in Hufigkeitsgewichtungen verwandeln.Hufigkeitsgewichtung normalisieren, am Anfang linear, dann abnehmend.Gewichtungsrang entspricht dem Skalarprodukt aus dem Vektor der Typengewichte mit dem Vektor der Hufigkeitsgewichte.Kombination aus Gewichtungsrang und PageRank ergibt endgltigen Rang des Dokuments.*

  • Danke fr heute!*