Wie gut ist der Google Translator wirklich ?!

0

 

Original:

The Anatomy of a Large-Scale Hypertextual Web Search Engine

 

Ergebnis:

Die Anatomie einer großformatigen Hypertextual Web Search Engine

Sergey Brin und Lawrence Page
{Sergey, page}@cs.stanford.edu
Informatikabteilung, Stanford University, Stanford, CA 94305

Abstrakt

In dieser Arbeit präsentieren wir Google, einen Prototyp einer groß angelegten Suchmaschine, die die im Hypertext vorhandene Struktur stark ausnutzt. Google ist entworfen, um das Web effizient zu crawlen und zu indexieren und produziert viel mehr befriedigende Suchergebnisse als bestehende Systeme. Der Prototyp mit einer Volltext- und Hyperlink-Datenbank von mindestens 24 Millionen Seiten finden Sie unter http://google.stanford.edu/
Um eine Suchmaschine zu entwickeln , ist eine anspruchsvolle Aufgabe. Suchmaschinen Index Zehner zu Hunderten von Millionen von Webseiten mit einer vergleichbaren Anzahl von verschiedenen Begriffen. Sie beantworten jeden Tag zehn Millionen Abfragen. Trotz der Bedeutung von großflächigen Suchmaschinen im Internet, wurde sehr wenig akademische Forschung auf sie durchgeführt. Darüber hinaus, aufgrund der schnellen Fortschritte in der Technologie und Web-Proliferation, Erstellen einer Web-Suchmaschine heute ist ganz anders als vor drei Jahren. Dieses Papier bietet eine ausführliche Beschreibung unserer großen Web-Suchmaschine – die erste solche detaillierte öffentliche Beschreibung, die wir bis heute kennen.
Abgesehen von den Problemen der Skalierung von traditionellen Suchtechniken auf Daten dieser Größenordnung gibt es neue technische Herausforderungen bei der Verwendung der zusätzlichen Informationen, die im Hypertext vorhanden sind, um bessere Suchergebnisse zu erzielen. Dieses Papier befasst sich mit dieser Frage, wie man ein praktisches Großsystem aufbaut, das die im Hypertext vorhandenen Zusatzinformationen ausnutzen kann. Auch schauen wir uns das Problem an, wie man effektiv mit unkontrollierten Hypertext-Sammlungen umgehen kann, wo jeder alles veröffentlichen kann, was er will. Dieses Papier bietet eine ausführliche Beschreibung unserer großen Web-Suchmaschine – die erste solche detaillierte öffentliche Beschreibung, die wir bis heute kennen. Abgesehen von den Problemen der Skalierung von traditionellen Suchtechniken auf Daten dieser Größenordnung gibt es neue technische Herausforderungen bei der Verwendung der zusätzlichen Informationen, die im Hypertext vorhanden sind, um bessere Suchergebnisse zu erzielen. Dieses Papier befasst sich mit dieser Frage, wie man ein praktisches Großsystem aufbauen kann, das die im Hypertext vorhandenen Zusatzinformationen ausnutzen kann. Auch schauen wir uns das Problem an, wie man effektiv mit unkontrollierten Hypertext-Sammlungen umgehen kann, wo jeder alles veröffentlichen kann, was er will. Dieses Papier bietet eine ausführliche Beschreibung unserer großen Web-Suchmaschine – die erste solche detaillierte öffentliche Beschreibung, die wir bis heute kennen. Abgesehen von den Problemen der Skalierung von traditionellen Suchtechniken auf Daten dieser Größenordnung gibt es neue technische Herausforderungen bei der Verwendung der zusätzlichen Informationen, die im Hypertext vorhanden sind, um bessere Suchergebnisse zu erzielen. Dieses Papier befasst sich mit dieser Frage, wie man ein praktisches Großsystem aufbauen kann, das die im Hypertext vorhandenen Zusatzinformationen ausnutzen kann. Auch schauen wir uns das Problem an, wie man effektiv mit unkontrollierten Hypertext-Sammlungen umgehen kann, wo jeder alles veröffentlichen kann, was er will. Abgesehen von den Problemen der Skalierung von traditionellen Suchtechniken auf Daten dieser Größenordnung gibt es neue technische Herausforderungen bei der Verwendung der zusätzlichen Informationen, die im Hypertext vorhanden sind, um bessere Suchergebnisse zu erzielen. Dieses Papier befasst sich mit dieser Frage, wie man ein praktisches Großsystem aufbauen kann, das die im Hypertext vorhandenen Zusatzinformationen ausnutzen kann. Auch schauen wir uns das Problem an, wie man effektiv mit unkontrollierten Hypertext-Sammlungen umgehen kann, wo jeder alles veröffentlichen kann, was er will. Abgesehen von den Problemen der Skalierung von traditionellen Suchtechniken auf Daten dieser Größenordnung gibt es neue technische Herausforderungen bei der Verwendung der zusätzlichen Informationen, die im Hypertext vorhanden sind, um bessere Suchergebnisse zu erzielen. Dieses Papier befasst sich mit dieser Frage, wie man ein praktisches Großsystem aufbauen kann, das die im Hypertext vorhandenen Zusatzinformationen ausnutzen kann. Auch schauen wir uns das Problem an, wie man effektiv mit unkontrollierten Hypertext-Sammlungen umgehen kann, wo jeder alles veröffentlichen kann, was er will. Dieses Papier befasst sich mit dieser Frage, wie man ein praktisches Großsystem aufbauen kann, das die im Hypertext vorhandenen Zusatzinformationen ausnutzen kann. Auch schauen wir uns das Problem an, wie man effektiv mit unkontrollierten Hypertext-Sammlungen umgehen kann, wo jeder alles veröffentlichen kann, was er will. Dieses Papier befasst sich mit dieser Frage, wie man ein praktisches Großsystem aufbauen kann, das die im Hypertext vorhandenen Zusatzinformationen ausnutzen kann. Auch schauen wir uns das Problem an, wie man effektiv mit unkontrollierten Hypertext-Sammlungen umgehen kann, wo jeder alles veröffentlichen kann, was er will.

 Stichwort : World Wide Web, Suchmaschinen, Information Retrieval, PageRank, Google

1. Einleitung

(Anmerkung: Es gibt zwei Versionen dieses Papiers – eine längere Vollversion und eine kürzere gedruckte Version. Die Vollversion steht im Internet und auf der Konferenz-CD-ROM zur Verfügung.)
Das Web schafft neue Herausforderungen für den Informationsabruf. Die Menge an Informationen über das Internet wächst schnell, ebenso wie die Zahl der neuen Benutzer, die in der Kunst der Webforschung unerfahren sind. Menschen sind wahrscheinlich im Internet surfen mit seinem Link-Grafik, oft beginnend mit qualitativ hochwertigen menschlichen gepflegten Indizes wie Yahoo! oder mit Suchmaschinen . Human gepflegte Listen decken populäre Themen effektiv ab, sind aber subjektiv, teuer zu bauen und zu pflegen, langsam zu verbessern und können nicht alle esoterischen Themen abdecken. Automatisierte Suchmaschinen, die auf Keyword-Matching verlassen in der Regel zurück zu viele niedrige Qualität Streichhölzer. Es noch schlimmer machen, Einige Werbetreibende versuchen, die Aufmerksamkeit der Leute zu erlangen, indem sie Maßnahmen ergreifen, um automatisierte Suchmaschinen zu täuschen. Wir haben eine groß angelegte Suchmaschine gebaut, die viele der Probleme bestehender Systeme anspricht. Es ist besonders stark von der zusätzlichen Struktur, die im Hypertext vorhanden ist, um viel höhere Qualität Suchergebnisse zu liefern. Wir wählten unseren Systemnamen, Google, denn es ist eine gemeinsame Rechtschreibung von Googol oder 10 100 und passt gut zu unserem Ziel, sehr große Suchmaschinen zu bauen.

1.1 Web Search Engines – Scaling Up: 1994 – 2000

Suchmaschinen-Technologie musste drastisch skalieren, um mit dem Wachstum des Internets Schritt zu halten. Im Jahr 1994 hatte einer der ersten Web-Suchmaschinen, der World Wide Web Worm (WWWW) [McBryan 94] einen Index von 110.000 Webseiten und web zugänglichen Dokumenten. Ab November 1997 behaupten die Top-Suchmaschinen, von 2 Millionen (WebCrawler) auf 100 Millionen Web-Dokumente (von Search Engine Watch) zu indexieren . Es ist absehbar, dass bis zum Jahr 2000 ein umfassender Index des Internets über eine Milliarde Dokumente enthalten wird. Gleichzeitig ist die Anzahl der Suchmaschinen-Handgriffe auch unglaublich gewachsen. Im März und April 1994 erhielt der World Wide Web Worm durchschnittlich etwa 1500 Abfragen pro Tag. Im November 1997 behauptete Altavista, dass es etwa 20 Millionen Abfragen pro Tag gehandhabt habe.

1.2 Google: Skalierung mit dem Web

Das Erstellen einer Suchmaschine, die sogar auf das heutige Web skaliert, stellt viele Herausforderungen dar. Eine schnelle Crawling-Technologie wird benötigt, um die Web-Dokumente zu sammeln und auf dem Laufenden zu halten. Stauraum muss effizient genutzt werden, um Indizes und optional die Dokumente selbst zu speichern. Das Indexierungssystem muss Hunderte von Gigabyte Daten effizient verarbeiten. Abfragen müssen schnell mit einer Rate von Hunderten bis Tausenden pro Sekunde behandelt werden.Diese Aufgaben werden immer schwieriger, wenn das Web wächst. Allerdings haben sich die Hardware-Performance und die Kosten drastisch verbessert, um die Schwierigkeiten teilweise auszugleichen. Es gibt jedoch einige bemerkenswerte Ausnahmen von diesem Fortschritt wie z. B. Festplatten-Suchzeit und Betriebssystem-Robustheit. Bei der Gestaltung von Google haben wir sowohl die Wachstumsrate des Internets als auch die technologischen Veränderungen berücksichtigt. Google ist so konzipiert, dass es gut auf extrem große Datensätze skaliert ist. Es ermöglicht eine effiziente Nutzung des Speicherplatzes, um den Index zu speichern. Die Datenstrukturen sind für einen schnellen und effizienten Zugriff optimiert (siehe Abschnitt 4.2 ). Weiterhin erwarten wir, dass die Kosten für die Indexierung und Speicherung von Text oder HTML letztlich im Verhältnis zu dem Betrag liegen, der verfügbar sein wird (siehe Anhang B ).

1.3 Designziele

1.3.1 Verbesserte Suchqualität

Unser Hauptziel ist es, die Qualität der Web-Suchmaschinen zu verbessern. Im Jahr 1994 glaubten einige Leute, dass ein vollständiger Suchindex es möglich machen würde, etwas leicht zu finden. Laut Best of the Web 1994 – Navigatoren,   „Der beste Navigationsdienst sollte es leicht machen, fast alles im Web zu finden (sobald alle Daten eingegeben sind).“ Allerdings ist das Web von 1997 ganz anders. Jeder, der eine Suchmaschine vor kurzem benutzt hat, kann leicht bezeugen, dass die Vollständigkeit des Index nicht der einzige Faktor in der Qualität der Suchergebnisse ist. „Junk-Ergebnisse“ oft waschen sich alle Ergebnisse, die ein Benutzer interessiert ist. In der Tat, ab November 1997, nur eine der Top-vier kommerziellen Suchmaschinen findet sich (gibt seine eigene Suchseite in Reaktion auf seinen Namen in den Top Ten Ergebnisse). Eine der Hauptursachen für dieses Problem ist, dass die Anzahl der Dokumente in den Indizes um viele Größenordnungen gestiegen ist, aber die Fähigkeit des Benutzers, Dokumente zu betrachten, hat nicht. Die Menschen sind immer noch bereit, die ersten zehn Drittel der Ergebnisse zu betrachten. Aus diesem Grund benötigen wir, wenn die Sammlungsgröße wächst, Werkzeuge, die sehr hohe Präzision haben (Anzahl der relevanten Dokumente, die in den oberen Dutzenden von Ergebnissen zurückgegeben werden). In der Tat wollen wir unsere Vorstellung von „relevant“ nur die besten Dokumente enthalten, da es Zehntausende von leicht relevanten Dokumenten geben kann. Diese sehr hohe Präzision ist auch auf Kosten des Rückrufs wichtig (die Gesamtzahl der relevanten Dokumente, die das System zurückgeben kann). Es ist ein bisschen jüngster Optimismus, dass der Einsatz von mehr hypertextuellen Informationen dazu beitragen kann, die Suche und andere Anwendungen zu verbessern [ Marchiori 97 ] [ Spertus 97 ] [ Weiss 96 ] [ Kleinberg 98 ]. Insbesondere Link-Link [ Seite 98 ] und Link-Text liefern viele Informationen, um Relevanz-Urteile und Qualitäts-Filterung zu machen. Google nutzt sowohl Linkstruktur als auch Ankertext (siehe Abschnitte 2.1 und 2.2 ). Link-Struktur [ Seite 98 ] und Link-Text liefern eine Menge Informationen für die Relevanz von Urteilen und Qualität Filterung. Google nutzt sowohl Linkstruktur als auch Ankertext (siehe Abschnitte 2.1 und 2.2 ). Link-Struktur [ Seite 98 ] und Link-Text liefern eine Menge Informationen für die Relevanz von Urteilen und Qualität Filterung. Google nutzt sowohl Linkstruktur als auch Ankertext (siehe Abschnitte 2.1 und 2.2 ).

1.3.2 Akademische Suchmaschinenforschung

Abgesehen von einem enormen Wachstum hat sich das Web auch im Laufe der Zeit zunehmend kommerziell. Im Jahr 1993 waren 1,5% der Webserver auf .com Domains. Diese Zahl wuchs auf über 60% im Jahr 1997. Zur gleichen Zeit, Suchmaschinen sind von der akademischen Domäne zu den kommerziellen gewandert. Bisher ist die meisten Suchmaschinen-Entwicklung auf Unternehmen mit wenig Veröffentlichung von technischen Details gegangen. Dies führt dazu, dass die Suchmaschinentechnologie weitgehend eine schwarze Kunst bleibt und werbungsorientiert ist (siehe Anhang A ). Mit Google haben wir ein starkes Ziel, mehr Entwicklung und Verständnis in den akademischen Bereich zu bringen.Ein weiteres wichtiges Design-Ziel war es, Systeme zu bauen, die eine vernünftige Anzahl von Menschen tatsächlich nutzen kann. Die Nutzung war uns wichtig, denn wir denken, dass einige der interessantesten Forschungen die Nutzung der riesigen Menge an Nutzungsdaten nutzen, die von modernen Web-Systemen verfügbar sind. Zum Beispiel gibt es viele Zehntausende von Suchanfragen jeden Tag. Allerdings ist es sehr schwierig, diese Daten zu bekommen, vor allem, weil es als kommerziell wertvoll gilt.

Unser letztes Designziel war es, eine Architektur aufzubauen, die neuartige Forschungsaktivitäten auf großformatigen Webdaten unterstützen kann. Um neuartige Forschungen zu unterstützen, speichert Google alle aktuellen Dokumente, die es in komprimierter Form kriecht. Eines unserer Hauptziele bei der Gestaltung von Google war es, ein Umfeld zu schaffen, in dem andere Forscher schnell eintreten können, große Stücke des Internets verarbeiten und interessante Ergebnisse liefern, die sehr schwierig gewesen wäre, anders zu produzieren. In kurzer Zeit ist das System aufgetaucht, es gab bereits mehrere Papiere mit Datenbanken, die von Google generiert wurden, und viele andere sind im Gange. Ein weiteres Ziel, das wir haben, ist die Einrichtung einer Spacelab-ähnlichen Umgebung, in der Forscher oder sogar SchülerInnen interessante Experimente zu unseren großformatigen Webdaten vorschlagen und machen können.

2. Systemmerkmale

Die Google-Suchmaschine verfügt über zwei wichtige Funktionen, die dazu beitragen, hohe Präzisionsergebnisse zu erzielen. Zuerst nutzt es die Link-Struktur des Web, um ein Qualitäts-Ranking für jede Webseite zu berechnen. Diese Rangliste heißt PageRank und wird ausführlich in [Seite 98] beschrieben. Zweitens verwendet Google den Link, um die Suchergebnisse zu verbessern.

2.1 PageRank: Bestellung an das Web

Die Zitat (Link) Grafik des Web ist eine wichtige Ressource, die weitgehend unbenutzt in bestehenden Web-Suchmaschinen gegangen ist. Wir haben Karten erstellt, die bis zu 518 Millionen dieser Hyperlinks enthalten, eine signifikante Stichprobe der Gesamtsumme. Diese Karten erlauben eine schnelle Berechnung des „PageRank“ einer Webseite, ein objektives Maß für seine Zitat-Bedeutung, die gut mit der subjektiven Vorstellung von Menschen übereinstimmt. Aufgrund dieser Korrespondenz ist PageRank eine hervorragende Möglichkeit, die Ergebnisse von Web-Keyword-Suchen zu priorisieren. Für die meisten populären Themen, eine einfache Text-Matching-Suche, die auf Webseiten-Titel beschränkt ist, führt bewundernswert, wenn PageRank priorisiert die Ergebnisse (Demo verfügbar bei google.stanford.edu ). Für die Art der Volltextsuche im Haupt-Google-System hilft PageRank auch sehr viel.

2.1.1 Beschreibung der PageRank-Berechnung

Akademische Zitationsliteratur wurde auf das Web angewendet, weitgehend durch Zählen von Zitaten oder Backlinks auf eine gegebene Seite. Dies gibt eine gewisse Annäherung an die Bedeutung oder die Qualität einer Seite. PageRank erweitert diese Idee, indem sie keine Links von allen Seiten gleichermaßen zählt und durch die Anzahl der Links auf einer Seite normalisiert wird. PageRank ist wie folgt definiert:

Wir nehmen an, dass die Seite A die Seiten T1 … Tn hat, die darauf hinweisen (dh Zitate). Der Parameter d ist ein Dämpfungsfaktor, der zwischen 0 und 1 eingestellt werden kann. Normalerweise setzen wir d auf 0,85. Es gibt mehr Details über d im nächsten Abschnitt. Auch C (A) ist definiert als die Anzahl der Links, die von Seite A ausgehen. Der PageRank einer Seite A ist wie folgt gegeben:PR (A) = (1-d) + d (PR (T1) / C (T1) + … + PR (Tn) / C (Tn))

Beachten Sie, dass die PageRanks eine Wahrscheinlichkeitsverteilung über Webseiten bilden, so dass die Summe aller Webseiten ‚PageRanks eine sein wird.

PageRank oder PR (A) kann mit einem einfachen iterativen Algorithmus berechnet werden und entspricht dem Haupt-Eigenvektor der normalisierten Linkmatrix der Bahn. Auch ein PageRank für 26 Millionen Webseiten kann in wenigen Stunden auf einer mittelgroßen Workstation berechnet werden. Es gibt viele weitere Details, die über den Rahmen dieses Papiers hinausgehen.

2.1.2 Intuitive Begründung

PageRank kann als Modell des Benutzerverhaltens gedacht werden. Wir nehmen an, dass es einen „zufälligen Surfer“ gibt, der eine Web-Seite zufällig erhält und immer auf Links klickt, niemals „zurück“ schlägt, aber schließlich gelangweilt und auf einer anderen zufälligen Seite startet. Die Wahrscheinlichkeit, dass der zufällige Surfer eine Seite besucht, ist der PageRank. Und der d Dämpfungsfaktor ist die Wahrscheinlichkeit auf jeder Seite der „zufällige Surfer“ wird sich langweilen und eine weitere zufällige Seite anfordern. Eine wichtige Variante besteht darin, nur den Dämpfungsfaktor d zu einer einzigen Seite oder einer Gruppe von Seiten hinzuzufügen . Dies ermöglicht eine Personalisierung und kann es fast unmöglich machen, das System bewusst zu täuschen, um ein höheres Ranking zu erhalten. Wir haben noch einige weitere Erweiterungen für PageRank, wieder sehen Sie [ Seite 98 ].Eine weitere intuitive Begründung ist, dass eine Seite einen hohen PageRank haben kann, wenn es viele Seiten gibt, die darauf hinweisen, oder wenn es einige Seiten gibt, die darauf hinweisen und einen hohen PageRank haben. Intuitiv sind Seiten, die von vielen Orten im Internet gut zitiert werden, einen Blick wert. Auch Seiten, die vielleicht nur ein Zitat aus so etwas wie der Yahoo! Homepage haben, sind auch generell einen Blick wert. Wenn eine Seite nicht qualitativ hochwertig war oder ein defektes Link war, ist es sehr wahrscheinlich, dass die Homepage von Yahoo nicht damit verbunden ist. PageRank behandelt diese beiden Fälle und alles dazwischen durch rekursive Ausbreitung von Gewichten durch die Linkstruktur des Internets.

2.2 Anchor Text

Der Text der Links wird in unserer Suchmaschine in besonderer Weise behandelt. Die meisten Suchmaschinen verknüpfen den Text eines Links mit der Seite, auf der der Link steht. Darüber hinaus verbinden wir es mit der Seite, auf die der Link verweist. Das hat mehrere Vorteile. Zuerst liefern Anker oft genauere Beschreibungen von Webseiten als die Seiten selbst. Zweitens können Anker für Dokumente existieren, die nicht durch eine textbasierte Suchmaschine wie Bilder, Programme und Datenbanken indiziert werden können. Damit ist es möglich, Webseiten zurückzusenden, die noch nicht gecrawlt wurden. Beachten Sie, dass Seiten, die nicht gecrawlt wurden, Probleme verursachen können, da sie niemals auf Gültigkeit geprüft werden, bevor sie an den Benutzer zurückgegeben werden. In diesem Fall kann die Suchmaschine sogar eine Seite zurückgeben, die noch nie existiert hat, aber Hyperlinks darauf hingewiesen haben. Aber,Diese Idee, den Anchor-Text auf die Seite zu verteilen, auf die es sich bezieht, wurde im World Wide Web Worm implementiert [ McBryan 94 ], vor allem, weil es hilft, Non-Text-Informationen zu suchen und erweitert die Suchabdeckung mit weniger heruntergeladenen Dokumenten. Wir verwenden die Ankerausbreitung vor allem, weil Ankertext dazu beitragen kann, bessere Ergebnisse zu erzielen. Die Verwendung von Ankertext effizient ist technisch schwierig wegen der großen Datenmengen, die verarbeitet werden müssen. In unserem aktuellen Crawl von 24 Millionen Seiten hatten wir über 259 Millionen Anker, die wir indiziert haben.

2.3 Weitere Merkmale

Abgesehen von PageRank und der Verwendung von Anchor Text hat Google mehrere andere Features. Zuerst hat es Standortinformationen für alle Hits und so macht es umfangreiche Nutzung der Nähe in der Suche. Zweitens verfolgt Google einige visuelle Präsentationsdetails wie Schriftgröße von Wörtern. Wörter in einer größeren oder bolderen Schrift sind höher gewichtet als andere Wörter. Drittens ist ein vollständiger HTML-Index in einem Repository verfügbar.

3 Verwandte Arbeiten

Suche Forschung auf dem Web hat eine kurze und prägnante Geschichte. Der World Wide Web Worm (WWWW) [McBryan 94] war einer der ersten Web- Suchmaschinen . Es folgten später einige weitere akademische Suchmaschinen, von denen viele jetzt öffentliche Unternehmen sind. Im Vergleich zum Wachstum des Internets und der Bedeutung von Suchmaschinen gibt es kostbare wenige Dokumente über aktuelle Suchmaschinen [ Pinkerton 94 ]. Laut Michael Mauldin (Chef-Wissenschaftler, Lycos Inc) [Mauldin] , „die verschiedenen Dienste (einschließlich Lycos) genau bewachen die Details dieser Datenbanken“. Allerdings gab es eine angemessene Menge an Arbeit über bestimmte Funktionen von Suchmaschinen. Besonders gut vertreten ist Arbeit, die Ergebnisse durch Nachbearbeitung der Ergebnisse der bestehenden kommerziellen Suchmaschinen, Oder produzieren kleine Maßstab „individualisierte“ Suchmaschinen. Schließlich gab es eine Menge Forschung über Informations-Retrieval-Systeme, vor allem auf gut kontrollierte Sammlungen. In den nächsten beiden Abschnitten diskutieren wir einige Bereiche, in denen diese Forschung erweitert werden muss, um besser im Internet zu arbeiten.

3.1 Information Retrieval

Die Arbeit in den Informationsabrufsystemen geht viele Jahre zurück und ist gut entwickelt [ Witten 94 ]. Allerdings ist die meisten der Forschung auf Informationen Retrieval-Systeme auf kleine gut kontrollierte homogene Sammlungen wie Sammlungen von wissenschaftlichen Papieren oder News Geschichten zu einem verwandten Thema. In der Tat, die primäre Benchmark für Informations-Retrieval, die Text Retrieval Conference [ TREC 96 ], verwendet eine ziemlich kleine, gut kontrollierte Sammlung für ihre Benchmarks. Der „Very Large Corpus“ Benchmark ist nur 20GB im Vergleich zu den 147GB aus unserem Crawling von 24 Millionen Webseiten. Dinge, die auf TREC gut funktionieren, produzieren oft keine guten Ergebnisse im Internet. Beispielsweise versucht das Standard-Vektorraummodell, das Dokument zurückzugeben, das der Abfrage am nächsten kommt, Da sowohl Abfrage als auch Dokument Vektoren sind, die durch ihr Wortauftreten definiert sind. Im Web, diese Strategie oft sehr kurze Dokumente, die die Abfrage plus ein paar Worte sind. Zum Beispiel haben wir gesehen, eine große Suchmaschine zurück eine Seite mit nur „Bill Clinton Sucks“ und Bild aus einer „Bill Clinton“ Abfrage. Manche argumentieren, dass im Web die Benutzer genauer angeben sollten, was sie wollen und fügen Sie mehr Wörter zu ihrer Abfrage hinzu. Wir sind mit dieser Position nicht zufrieden. Wenn ein Benutzer eine Abfrage wie „Bill Clinton“ ausgibt, sollten sie angemessene Ergebnisse erzielen, da es eine enorme Menge an qualitativ hochwertigen Informationen gibt, die zu diesem Thema verfügbar sind. Angesichts der Beispiele wie diese, glauben wir, dass die Standard-Informationen Retrieval Arbeit muss erweitert werden, um effektiv mit dem Web umzugehen. Im Web, diese Strategie oft sehr kurze Dokumente, die die Abfrage plus ein paar Worte sind. Zum Beispiel haben wir gesehen, eine große Suchmaschine zurück eine Seite mit nur „Bill Clinton Sucks“ und Bild aus einer „Bill Clinton“ Abfrage. Manche argumentieren, dass im Web die Benutzer genauer angeben sollten, was sie wollen und fügen Sie mehr Wörter zu ihrer Abfrage hinzu. Wir sind mit dieser Position nicht zufrieden. Wenn ein Benutzer eine Abfrage wie „Bill Clinton“ ausgibt, sollten sie angemessene Ergebnisse erzielen, da es eine enorme Menge an qualitativ hochwertigen Informationen gibt, die zu diesem Thema verfügbar sind. Angesichts der Beispiele wie diese, glauben wir, dass die Standard-Informationen Retrieval Arbeit muss erweitert werden, um effektiv mit dem Web umzugehen. Im Web, diese Strategie oft sehr kurze Dokumente, die die Abfrage plus ein paar Worte sind. Zum Beispiel haben wir gesehen, eine große Suchmaschine zurück eine Seite mit nur „Bill Clinton Sucks“ und Bild aus einer „Bill Clinton“ Abfrage. Manche argumentieren, dass im Web die Benutzer genauer angeben sollten, was sie wollen und fügen Sie mehr Wörter zu ihrer Abfrage hinzu. Wir sind mit dieser Position nicht zufrieden. Wenn ein Benutzer eine Abfrage wie „Bill Clinton“ ausgibt, sollten sie angemessene Ergebnisse erzielen, da es eine enorme Menge an qualitativ hochwertigen Informationen gibt, die zu diesem Thema verfügbar sind. Angesichts der Beispiele wie diese, glauben wir, dass die Standard-Informationen Retrieval Arbeit muss erweitert werden, um effektiv mit dem Web umzugehen. Wir haben eine große Suchmaschine gesehen, die eine Seite mit nur „Bill Clinton Sucks“ und Bild aus einer „Bill Clinton“ Abfrage zurückgibt. Manche argumentieren, dass im Web die Benutzer genauer angeben sollten, was sie wollen und fügen Sie mehr Wörter zu ihrer Abfrage hinzu. Wir sind mit dieser Position nicht zufrieden. Wenn ein Benutzer eine Abfrage wie „Bill Clinton“ ausgibt, sollten sie angemessene Ergebnisse erzielen, da es eine enorme Menge an qualitativ hochwertigen Informationen gibt, die zu diesem Thema verfügbar sind. Angesichts der Beispiele wie diese, glauben wir, dass die Standard-Informationen Retrieval Arbeit muss erweitert werden, um effektiv mit dem Web umzugehen. Wir haben eine große Suchmaschine gesehen, die eine Seite mit nur „Bill Clinton Sucks“ und Bild aus einer „Bill Clinton“ Abfrage zurückgibt. Manche argumentieren, dass im Web die Benutzer genauer angeben sollten, was sie wollen und fügen Sie mehr Wörter zu ihrer Abfrage hinzu. Wir sind mit dieser Position nicht zufrieden. Wenn ein Benutzer eine Abfrage wie „Bill Clinton“ ausgibt, sollten sie angemessene Ergebnisse erzielen, da es eine enorme Menge an qualitativ hochwertigen Informationen gibt, die zu diesem Thema verfügbar sind. Angesichts der Beispiele wie diese, glauben wir, dass die Standard-Informationen Retrieval Arbeit muss erweitert werden, um effektiv mit dem Web umzugehen. Benutzer sollten genauer angeben, was sie wollen und fügen Sie mehr Wörter zu ihrer Abfrage hinzu. Wir sind mit dieser Position nicht zufrieden. Wenn ein Benutzer eine Abfrage wie „Bill Clinton“ ausgibt, sollten sie angemessene Ergebnisse erzielen, da es eine enorme Menge an qualitativ hochwertigen Informationen gibt, die zu diesem Thema verfügbar sind. Angesichts der Beispiele wie diese, glauben wir, dass die Standard-Informationen Retrieval Arbeit muss erweitert werden, um effektiv mit dem Web umzugehen. Benutzer sollten genauer angeben, was sie wollen und fügen Sie mehr Wörter zu ihrer Abfrage hinzu. Wir sind mit dieser Position nicht zufrieden. Wenn ein Benutzer eine Abfrage wie „Bill Clinton“ ausgibt, sollten sie angemessene Ergebnisse erzielen, da es eine enorme Menge an qualitativ hochwertigen Informationen gibt, die zu diesem Thema verfügbar sind. Angesichts der Beispiele wie diese, glauben wir, dass die Standard-Informationen Retrieval Arbeit muss erweitert werden, um effektiv mit dem Web umzugehen.

3.2 Unterschiede zwischen dem Web und gut kontrollierten Sammlungen

Das Web ist eine umfangreiche Sammlung von völlig unkontrollierten heterogenen Dokumenten. Dokumente im Web haben extreme Unterschiede innerhalb der Dokumente, und auch in der externen Meta-Informationen, die verfügbar sein könnten. Zum Beispiel unterscheiden sich Dokumente intern in ihrer Sprache (sowohl Mensch und Programmierung), Vokabeln (E-Mail-Adressen, Links, Postleitzahlen, Telefonnummern, Produktnummern), Typ oder Format (Text, HTML, PDF, Bilder, Sounds) und können Sogar maschinell generiert (Protokolldateien oder Ausgabe aus einer Datenbank). Auf der anderen Seite definieren wir externe Metainformationen als Informationen, die über ein Dokument abgeleitet werden können, aber nicht darin enthalten sind. Beispiele für externe Meta-Informationen gehören Dinge wie Reputation der Quelle, Update-Frequenz, Qualität, Popularität oder Nutzung und Zitate. Nicht nur die möglichen Quellen der externen Meta-Informationen variierten, aber die Dinge, die gemessen werden, variieren auch viele Größenordnungen. Zum Beispiel vergleichen Sie die Nutzungsinformationen von einer Hauptseite, wie Yahoo, die derzeit Millionen von Seitenaufrufen jeden Tag mit einem obskuren historischen Artikel erhält, der alle zehn Jahre eine Ansicht erhalten könnte. Klar, diese beiden Gegenstände müssen von einer Suchmaschine sehr unterschiedlich behandelt werden.Ein weiterer großer Unterschied zwischen dem Web und traditionellen gut kontrollierten Sammlungen ist, dass es praktisch keine Kontrolle darüber, was die Menschen auf das Web setzen können. Paar diese Flexibilität, um etwas mit dem enormen Einfluss von Suchmaschinen zu vermitteln Verkehr und Unternehmen, die bewusst Manipulation Suchmaschinen für Gewinn zu einem ernsthaften Problem zu veröffentlichen. Dieses Problem, das in traditionellen geschlossenen Informationssammelsystemen nicht angesprochen wurde. Auch ist es interessant zu beachten, dass Metadaten Bemühungen weitgehend mit Web-Suchmaschinen fehlgeschlagen, weil jeder Text auf der Seite, die nicht direkt an den Benutzer vertreten ist missbraucht, um Suchmaschinen zu manipulieren. Es gibt sogar zahlreiche Firmen, die sich darauf spezialisieren, Suchmaschinen für Profit zu manipulieren.

4 Systemanatomie

Zuerst werden wir eine hochrangige Diskussion über die Architektur bieten. Dann gibt es einige ausführliche Beschreibungen wichtiger Datenstrukturen. Schließlich werden die Hauptanwendungen: Crawling, Indexing und Searching eingehend untersucht.

Abbildung 1. Hochwertige Google-Architektur

4.1 Überblick über die Google-Architektur

In diesem Abschnitt geben wir einen hohen Überblick darüber, wie das gesamte System wie in Abbildung 1 dargestellt funktioniert. Weitere Abschnitte werden die in diesem Abschnitt nicht erwähnten Anwendungen und Datenstrukturen erörtern. Die meisten von Google sind in C oder C ++ für Effizienz implementiert und können entweder in Solaris oder Linux laufen.In Google wird das Web-Crawling (Herunterladen von Webseiten) von mehreren verteilten Crawlern durchgeführt. Es gibt einen URLserver, der Listen von URLs sendet, die an die Crawler abgerufen werden sollen. Die abgerufenen Webseiten werden dann an den Läden-Server geschickt. Der Läden-Server komprimiert und speichert die Webseiten in ein Repository. Jede Webseite hat eine zugehörige ID-Nummer namens docID, die zugewiesen wird, wenn eine neue URL aus einer Webseite analysiert wird. Die Indizierungsfunktion wird durch den Indexer und den Sortierer durchgeführt. Der Indexer führt eine Reihe von Funktionen aus. Es liest das Repository, dekomprimiert die Dokumente und analysiert sie. Jedes Dokument wird in einen Satz von Wortaufträgen umgewandelt, die als Treffer bezeichnet werden. Die Hits nehmen das Wort, die Position im Dokument, die Annäherung der Schriftgröße und die Großschreibung auf. Der Indexer verteilt diese Treffer in einen Satz von „Fässern“, Erstellen eines teilweise sortierten Vorwärtsindexes. Der Indexer führt eine weitere wichtige Funktion aus. Es analysiert alle Links in jeder Webseite und speichert wichtige Informationen über sie in einer Anker-Datei. Diese Datei enthält genügend Informationen, um festzustellen, wo jeder Link von und zu und dem Text des Links verweist.

Der URLresolver liest die Anker-Datei und konvertiert relative URLs in absolute URLs und wiederum in docIDs. Es legt den Ankertext in den Vorwärtsindex, der mit dem docID verbunden ist, auf den der Anker hinweist. Es erzeugt auch eine Datenbank von Links, die Paare von docIDs sind. Die Links-Datenbank wird verwendet, um PageRanks für alle Dokumente zu berechnen.

Der Sortierer nimmt die Fässer, die nach docID sortiert werden (dies ist eine Vereinfachung, siehe Abschnitt 4.2.5 ) und resorts sie durch wordID, um den invertierten Index zu erzeugen. Dies geschieht so, dass für diesen Vorgang wenig temporärer Platz benötigt wird. Der Sortierer erzeugt auch eine Liste von WordIDs und Offsets in den invertierten Index. Ein Programm namens DumpLexicon nimmt diese Liste zusammen mit dem vom Indexer erzeugten Lexikon auf und erzeugt ein neues Lexikon, das vom Sucher verwendet werden soll. Der Sucher wird von einem Webserver betrieben und verwendet das von DumpLexicon erstellte Lexikon zusammen mit dem invertierten Index und den PageRanks, um Abfragen zu beantworten.

4.2 Wichtige Datenstrukturen

Die Datenstrukturen von Google sind so optimiert, dass eine große Dokumentensammlung gecrawlt, indiziert und mit wenig Kosten durchsucht werden kann. Obwohl sich die CPUs und die Bulk-Input-Output-Raten im Laufe der Jahre dramatisch verbessert haben, benötigt eine Plattensuche noch ca. 10 ms. Google ist so konzipiert, dass die Scheiben nach Möglichkeit möglich sind, und das hat einen erheblichen Einfluss auf die Gestaltung der Datenstrukturen gehabt.

4.2.1 BigFiles

BigFiles sind virtuelle Dateien, die sich über mehrere Dateisysteme erstrecken und durch 64-Bit-Integer adressierbar sind. Die Zuordnung zwischen mehreren Dateisystemen erfolgt automatisch. Das BigFiles-Paket verarbeitet auch die Zuweisung und Freigabe von Dateideskriptoren, da die Betriebssysteme nicht genug für unsere Bedürfnisse bieten. BigFiles unterstützt auch rudimentäre Komprimierungsmöglichkeiten.

4.2.2 Repository

Abbildung 2. Repository-Datenstruktur

Das Repository enthält den vollständigen HTML jeder Webseite. Jede Seite wird mit zlib komprimiert (siehe RFC1950 ). Die Wahl der Kompressionstechnik ist ein Kompromiss zwischen Geschwindigkeit und Kompressionsverhältnis. Wir wählten zlibs Geschwindigkeit über eine deutliche Verbesserung der Kompression von bzip . Die Kompressionsrate von bzip betrug im Vergleich zu zlibs 3 bis 1 Kompression etwa 4 zu 1 im Repository. Im Repository werden die Dokumente nacheinander gespeichert und durch docID, length und URL vorangestellt, wie in Abbildung 2 zu sehen ist. Das Repository benötigt keine weiteren Datenstrukturen, um darauf zuzugreifen. Dies hilft bei der Datenkonsistenz und macht die Entwicklung viel einfacher; Wir können alle anderen Datenstrukturen nur aus dem Repository und einer Datei, die Crawler-Fehler auflistet, neu erstellen.

4.2.3 Dokumentenindex

Der Dokumentenindex informiert über jedes Dokument. Es handelt sich um einen ISAM-Index (Index sequentieller Zugriffsmodus), der von docID geordnet ist. Die in jedem Eintrag gespeicherten Informationen beinhalten den aktuellen Dokumentstatus, einen Zeiger in das Repository, eine Dokumentenprüfsumme und verschiedene Statistiken. Wenn das Dokument gecrawlt wurde, enthält es auch einen Zeiger in eine Datei mit variabler Breite namens docinfo, die seine URL und seinen Titel enthält. Andernfalls zeigt der Zeiger in die URL-Liste, die nur die URL enthält. Diese Designentscheidung wurde durch den Wunsch geleitet, eine vernünftig kompakte Datenstruktur zu haben, und die Fähigkeit, einen Datensatz in einer Platte zu holen, sucht während einer SucheDarüber hinaus gibt es eine Datei, die verwendet wird, um URLs in docIDs zu konvertieren. Es ist eine Liste von URL-Prüfsummen mit ihren entsprechenden docIDs und wird nach Prüfsumme sortiert. Um die docID einer bestimmten URL zu finden, wird die Checksumme der URL berechnet und eine binäre Suche auf der Prüfsummendatei durchgeführt, um ihre docID zu finden. URLs können in Bausteine ​​in docIDs umgewandelt werden, indem sie eine Zusammenführung mit dieser Datei machen. Dies ist die Technik, die der URLresolver verwendet, um URLs in docIDs zu verwandeln. Dieser Batch-Modus der Aktualisierung ist entscheidend, denn sonst müssen wir eine Suche nach jedem Link durchführen, vorausgesetzt, dass eine Festplatte mehr als einen Monat für unsere 322 Millionen Link-Datensatz nehmen würde.

4.2.4 Lexikon

Das Lexikon hat verschiedene Formen. Eine wichtige Veränderung von früheren Systemen ist, dass das Lexikon zu einem vernünftigen Preis in Erinnerung kommen kann. In der aktuellen Implementierung können wir das Lexikon im Speicher auf einer Maschine mit 256 MB Hauptspeicher behalten. Das aktuelle Lexikon enthält 14 Millionen Wörter (obwohl einige seltene Wörter nicht dem Lexikon hinzugefügt wurden). Es ist in zwei Teilen implementiert – eine Liste der Wörter (verkettet zusammen, aber durch Null getrennt) und eine Hash-Tabelle von Zeigern. Für verschiedene Funktionen hat die Liste der Wörter einige Hilfsinformationen, die über den Rahmen dieses Papiers hinausgehen, um vollständig zu erklären.

4.2.5 Trefferlisten

Eine Trefferliste entspricht einer Liste von Vorkommen eines bestimmten Wortes in einem bestimmten Dokument einschließlich Positions-, Schriftart- und Kapitalisierungsinformationen. Hitlisten berücksichtigen den Großteil des Raumes, der sowohl in den Vorwärts- als auch in den invertierten Indizes verwendet wird. Aus diesem Grund ist es wichtig, sie so effizient wie möglich darzustellen. Wir haben mehrere Alternativen zur Kodierung von Position, Schriftart und Großschreibung betrachtet – einfache Kodierung (ein Triple von ganzen Zahlen), eine kompakte Codierung (eine handoptimierte Zuordnung von Bits) und eine Huffman-Codierung. Am Ende wählten wir eine handoptimierte Kompaktcodierung, da sie weit weniger Platz benötigte als die einfache Codierung und weit weniger Bitmanipulation als die Huffman-Codierung. Die Details der Treffer sind in Abbildung 3 dargestellt.Unsere kompakte Kodierung verwendet zwei Bytes für jeden Treffer. Es gibt zwei Arten von Hits: Fancy Hits und Plain Hits. Fancy Hits beinhalten Hits, die in einer URL, einem Titel, einem Ankertext oder einem Meta-Tag auftreten. Plain Hits sind alles andere. Ein einfacher Treffer besteht aus einem Großschreibungsbit, einer Schriftgröße und 12 Bits Wortposition in einem Dokument (alle Positionen höher als 4095 sind mit 4096 bezeichnet). Die Schriftgröße wird relativ zum Rest des Dokuments mit drei Bits dargestellt (es werden nur 7 Werte verwendet, da 111 das Flag ist, das einen Phantasie-Treffer signalisiert). Ein Phantasie-Hit besteht aus einem Großschreib-Bit, wobei die Schriftgröße auf 7 gesetzt ist, um anzuzeigen, dass es ein Phantasie-Hit ist, 4 Bits, um die Art des Phantasie-Hit und 8 Bits der Position zu codieren. Für Anker-Treffer werden die 8 Bits der Position in 4 Bits für Position im Anker aufgeteilt und 4 Bits für einen Hash der docID der Anker tritt auf. Dies gibt uns eine begrenzte Phrase suchen, solange es nicht so viele Anker für ein bestimmtes Wort gibt. Wir erwarten, die Art und Weise zu aktualisieren, in der Anker-Hits gespeichert werden, um eine größere Auflösung in der Position und docIDhash Felder zu ermöglichen. Wir verwenden Schriftgröße in Bezug auf den Rest des Dokuments, weil bei der Suche, Sie nicht wollen, um sonst identische Dokumente anders, nur weil eines der Dokumente ist in einer größeren Schriftart Rang.

Abbildung 3. Vorwärts- und Rückwärts-Indizes und das Lexikon

Die Länge einer Trefferliste wird vor den Hits selbst gespeichert. Um Platz zu sparen, wird die Länge der Trefferliste mit dem WordID im Vorwärtsindex und dem docID im invertierten Index kombiniert. Dies begrenzt es auf 8 bzw. 5 Bits (es gibt einige Tricks, die es erlauben, dass 8 Bits aus dem WortID ausgeliehen werden). Wenn die Länge länger ist, als in diese vielen Bits passen würde, wird ein Fluchtcode in diesen Bits verwendet, und die nächsten zwei Bytes enthalten die tatsächliche Länge.

4.2.6 Vorwärtsindex

Der Vorwärtsindex ist eigentlich schon teilweise sortiert. Es ist in einer Reihe von Fässern (wir verwendeten 64) gespeichert. Jeder Fass hält eine Reihe von WordIDs. Wenn ein Dokument Wörter enthält, die in ein bestimmtes Fass fallen, wird das docID in den Fass aufgezeichnet, gefolgt von einer Liste von wordID’s mit Hitlisten, die diesen Wörtern entsprechen. Dieses Schema erfordert etwas mehr Speicherplatz wegen doppelter docIDs, aber der Unterschied ist sehr klein für eine angemessene Anzahl von Eimern und spart erhebliche Zeit und Kodierung Komplexität in der endgültigen Indexierung Phase durch den Sortierer durchgeführt. Außerdem speichern wir statt der eigentlichen wordIDs jede wordID als eine relative Differenz von der minimalen wordID, die in den Fass fällt, in dem die wordID ist. Auf diese Weise können wir nur 24 Bits für die wordIDs in den unsortierten Fässern verwenden,

4.2.7 invertierter Index

Der invertierte Index besteht aus den gleichen Fässern wie der Vorwärtsindex, außer dass sie vom Sortierer verarbeitet wurden. Für jede gültige wordID enthält das lexikon einen Zeiger in den Fass, den WordID fällt. Es zeigt auf eine doclist von docIDs zusammen mit ihren entsprechenden Trefferlisten. Diese doclist stellt alle Vorkommen dieses Wortes in allen Dokumenten dar.Ein wichtiges Thema ist, in welcher Reihenfolge die docIDs in der doclist erscheinen sollen. Eine einfache Lösung ist, sie nach docID zu speichern. Dies ermöglicht eine schnelle Verschmelzung von verschiedenen Dokumenten für Mehrfachwortabfragen. Eine weitere Möglichkeit besteht darin, sie nach einer Rangfolge des Auftretens des Wortes in jedem Dokument zu speichern. Dies macht die Beantwortung eines Wortes fragt trivial und macht es wahrscheinlich, dass die Antworten auf mehrere Wortabfragen in der Nähe des Anfangs sind. Allerdings ist das Verschmelzen viel schwieriger. Auch das macht die Entwicklung viel schwieriger, da eine Umstellung auf die Ranking-Funktion einen Wiederaufbau des Index erfordert. Wir haben uns für einen Kompromiss zwischen diesen Optionen entschieden, indem wir zwei Sätze von invertierten Fässern halten – ein Satz für Hitlisten, die Titel- oder Anker-Hits und einen weiteren Satz für alle Hitlisten enthalten. Diesen Weg,

4.3 Das Web kriechen

Das Ausführen eines Web-Crawlers ist eine anspruchsvolle Aufgabe. Es gibt knifflige Leistung und Zuverlässigkeit Fragen und noch wichtiger ist, gibt es soziale Fragen. Crawling ist die zerbrechlichste Anwendung, da es um die Interaktion mit Hunderten von Tausenden von Web-Servern und verschiedenen Nameservern geht, die alle über die Kontrolle des Systems hinausgehen.Um auf Hunderte von Millionen von Webseiten zu skalieren, hat Google ein schnell verteiltes Crawling-System. Ein einzelner URLserver dient Listen von URLs zu einer Anzahl von Crawlern (wir liefen typischerweise etwa 3). Sowohl der URLserver als auch die Crawler sind in Python implementiert. Jeder Crawler hält ca. 300 Verbindungen auf einmal offen. Dies ist notwendig, um Webseiten schnell und schnell abzurufen. Bei Höchstgeschwindigkeiten kann das System über vier Webseiten pro Sekunde mit vier Crawlern kriechen. Das entspricht etwa 600K pro Sekunde an Daten. Ein wichtiger Leistungsstress ist DNS-Lookup. Jeder Crawler unterhält einen eigenen DNS-Cache, so dass es keine DNS-Suche machen muss, bevor er jedes Dokument kriecht. Jeder der Hunderte von Verbindungen kann in einer Reihe von verschiedenen Zuständen sein: nach oben DNS, Verbindung zum Host, Senden von Anforderung und Empfangen von Antwort. Diese Faktoren machen den Crawler zu einem komplexen Bestandteil des Systems. Es verwendet asynchrone IO, um Ereignisse zu verwalten, und eine Anzahl von Warteschlangen, um Seitenabrufe von Zustand zu Staat zu verschieben.

Es stellt sich heraus, dass das Ausführen eines Crawlers, der eine Verbindung zu mehr als einer halben Million Server herstellt und zehn Millionen Protokolleinträge erzeugt, eine angemessene Menge an E-Mails und Telefonanrufen erzeugt. Wegen der riesigen Anzahl von Menschen, die online kommen, gibt es immer diejenigen, die nicht wissen, was ein Crawler ist, denn dies ist die erste, die sie gesehen haben. Fast täglich bekommt man eine E-Mail so etwas wie: „Wow, du hast viele Seiten von meiner Website gesehen. Wie hat es dir gefallen?“ Es gibt auch einige Leute, die nicht über das Roboter-Ausschlussprotokoll wissen und denken, dass ihre Seite vor der Indizierung durch eine Anweisung wie geschützt geschützt werden sollte: „Diese Seite ist urheberrechtlich geschützt und sollte nicht indiziert werden“, was unnötig zu sagen ist, ist schwierig für Web-Crawler verstehen. Auch wegen der riesigen Menge an Daten beteiligt, Unerwartete Dinge werden passieren. Zum Beispiel hat unser System versucht, ein Online-Spiel zu kriechen. Dies führte zu vielen Müll-Nachrichten in der Mitte ihres Spiels! Es stellt sich heraus, dass dies ein einfaches Problem zu beheben war. Aber dieses Problem war nicht gekommen, bis wir Dutzende von Millionen Seiten heruntergeladen hatten. Wegen der immensen Variation von Webseiten und Servern ist es praktisch unmöglich, einen Crawler zu testen, ohne ihn im großen Teil des Internets zu betreiben. Unveränderlich gibt es Hunderte von obskuren Problemen, die nur auf einer Seite aus dem ganzen Web auftreten können und den Crawler zum Absturz bringen oder schlimmer machen, unvorhersehbares oder falsches Verhalten verursachen. Systeme, die auf große Teile des Internets zugreifen, müssen sehr robust und sorgfältig geprüft werden. Da große komplexe Systeme wie Crawler unweigerlich Probleme verursachen,

4.4 Indexierung des Web

  • Parsing – Jeder Parser, der entworfen ist, um auf dem gesamten Web laufen, muss eine riesige Reihe von möglichen Fehlern behandeln. Diese reichen von Tippfehlern in HTML-Tags bis hin zu Kilobyte von Nullen in der Mitte eines Tags, Nicht-ASCII-Zeichen, HTML-Tags verschachtelt Hunderte tief und eine Vielzahl von anderen Fehlern, die jedermanns Phantasie herausfordern, um mit ebenso kreativen zu kommen. Für maximale Geschwindigkeit, anstatt YACC zu verwenden, um einen CFG-Parser zu erzeugen, verwenden wir Flex, um einen lexikalischen Analysator zu erzeugen, den wir mit seinem eigenen Stack ausrüsten. Die Entwicklung dieser Parser, die mit einer vernünftigen Geschwindigkeit läuft und ist sehr robust beteiligt eine Menge Arbeit.
  • Indexierung von Dokumenten in Barrels – Nach jedem Dokument analysiert wird, wird sie in eine Reihe von Fässern codiert. Jedes Wort wird in eine WordID umgewandelt, indem man eine In-Memory-Hash-Tabelle verwendet – das Lexikon. Neue Ergänzungen zur Lexikon-Hash-Tabelle werden in einer Datei protokolliert. Sobald die Wörter in WordID umgewandelt werden, werden ihre Vorkommnisse im aktuellen Dokument in Hitlisten übersetzt und in die Vorwärtsfässer geschrieben. Die Hauptschwierigkeit bei der Parallelisierung der Indexierungsphase ist, dass das Lexikon geteilt werden muss. Anstatt das Lexikon zu teilen, nahmen wir den Ansatz, ein Protokoll von allen zusätzlichen Wörtern zu schreiben, die nicht in einem Basis-Lexikon waren, das wir mit 14 Millionen Worten fixierten. Auf diese Weise können mehrere Indexer parallel laufen und dann kann die kleine Log-Datei mit zusätzlichen Wörtern von einem endgültigen Indexer verarbeitet werden.
  • Sortierung – Um den invertierten Index zu erzeugen, nimmt der Sortierer jeden der Vorwärtsfässer und sortiert ihn per wordID, um einen umgekehrten Fass für Titel- und Ankerhits und einen Volltext umgekehrten Fass zu erzeugen. Dieser Prozeß passiert ein Fass zu einer Zeit und erfordert daher wenig vorübergehende Lagerung. Außerdem vervielfachen wir die Sortierphase, um so viele Maschinen zu verwenden, wie wir es einfach haben, indem wir mehrere Sortierer laufen lassen, die gleichzeitig verschiedene Eimer verarbeiten können. Da die Fässer nicht in den Hauptspeicher passen, unterteilt der Sortierer sie weiter in Körbe, die in den Speicher auf der Grundlage von wordID und docID passen. Dann lädt der Sortierer jeden Korb in Erinnerung, sortiert ihn und schreibt seinen Inhalt in den kurzen, umgekehrten Fass und den vollen umgekehrten Fass.

4.5 Suchen

Das Ziel der Suche ist es, qualitativ hochwertige Suchergebnisse effizient zu liefern. Viele der großen kommerziellen Suchmaschinen schienen große Fortschritte in Sachen Effizienz gemacht zu haben. Deshalb haben wir uns mehr auf die Qualität der Suche in unserer Forschung konzentriert, obwohl wir glauben, dass unsere Lösungen auf kommerzielle Volumina mit ein bisschen mehr Aufwand skalierbar sind. Der Google Abfrageauswertungsprozess ist in Abbildung 4 dargestellt.

    1. Analysiere die Abfrage.
    2. Konvertiere Wörter in wordIDs.
    3. Suchen Sie den Anfang der Doktorliste im kurzen Fass für jedes Wort.
    4. Scannen Sie durch die doclists, bis es ein Dokument gibt, das allen Suchbegriffen entspricht.
    5. Berechnen Sie den Rang dieses Dokuments für die Abfrage.
    6. Wenn wir in den kurzen Fässern sind und am Ende jeder Doktorliste, suchst du den Anfang der Doclist im ganzen Fass für jedes Wort und gehe zu Schritt 4.
    7. Wenn wir nicht am Ende einer doclist sind, gehen Sie zu Schritt 4.

Sortieren Sie die Dokumente, die nach Rang passen und geben Sie die Top k.Abbildung 4. Google Query Evaluation

Um eine Antwort auf die Reaktionszeit zu setzen, sobald eine bestimmte Anzahl (aktuell 40.000) von übereinstimmenden Dokumenten gefunden wird, geht der Sucher automatisch in Schritt 8 in Schritt 4 über. Dies bedeutet, dass es möglich ist, dass suboptimale Ergebnisse zurückgegeben werden. Wir untersuchen derzeit weitere Möglichkeiten, dieses Problem zu lösen. In der Vergangenheit haben wir die Treffer nach PageRank sortiert, die die Situation zu verbessern schienen.

4.5.1 Das Rankingsystem

Google unterhält viel mehr Informationen über Web-Dokumente als typische Suchmaschinen. Jede Trefferliste enthält Positions-, Schrift- und Kapitalisierungsinformationen. Darüber hinaus fehlen wir Treffer aus Ankertext und dem PageRank des Dokuments. Die Kombination all dieser Informationen in einen Rang ist schwierig. Wir haben unsere Ranking-Funktion so konzipiert, dass kein besonderer Faktor zu viel Einfluss haben kann. Zuerst betrachte den einfachsten Fall – eine einzelne Wortabfrage. Um ein Dokument mit einer einzigen Wortabfrage zu ordnen, sieht Google die Trefferliste dieses Dokuments für dieses Wort. Google betrachtet jeden Treffer als einer von mehreren verschiedenen Typen (Titel, Anker, URL, Klartext Großschrift, Klartext kleiner Schriftart, …), von denen jeder sein eigenes Typ-Gewicht hat. Die Typ-Gewichte bilden einen Vektor, der nach Typ indiziert ist. Google zählt die Anzahl der Treffer jedes Typs in der Trefferliste. Dann wird jeder Zählwert in ein Zählgewicht umgewandelt. Count-Gewichte erhöhen sich linear mit Zählungen auf den ersten, aber schnell verjüngen, so dass mehr als eine bestimmte Zählung nicht helfen wird. Wir nehmen das Punktprodukt des Vektors der Zählgewichte mit dem Vektor der Typgewichte, um eine IR-Punktzahl für das Dokument zu berechnen. Schließlich wird die IR-Partitur mit PageRank kombiniert, um dem Dokument einen endgültigen Rang zu geben.Für eine Mehrwort-Suche ist die Situation komplizierter. Jetzt müssen mehrere Trefferlisten gleichzeitig durchgescannt werden, so dass die in einem Dokument zusammengeschlossenen Hits höher gewichtet werden, als die Treffer, die weit voneinander entfernt sind. Die Hits aus den mehrfachen Trefferlisten sind so zusammengestellt, dass die nahegelegenen Treffer zusammengestellt werden. Für jeden passenden Satz von Hits wird eine Nähe berechnet. Die Nähe basiert darauf, wie weit die Hits im Dokument (oder Anker) liegen, aber in 10 verschiedene Wert „Bins“ eingestuft wird, die von einer Phrase Match zu „not even close“ reichen. Zählungen werden nicht nur für jede Art von Hit berechnet, sondern für jeden Typ und jede Nähe. Jeder Typ und Proximity Paar hat ein Typ-prox-Gewicht. Die Zählungen werden in Zählgewichte umgewandelt und wir nehmen das Punktprodukt der Zählgewichte und der Typ-prox-Gewichte, um eine IR-Punktzahl zu berechnen. Alle diese Zahlen und Matrizen können alle mit den Suchergebnissen mit einem speziellen Debug-Modus angezeigt werden. Diese Displays waren sehr hilfreich bei der Entwicklung des Rankingsystems.

4.5.2 Rückmeldung

Die Ranking-Funktion hat viele Parameter wie die Typ-Gewichte und die Typ-prox-Gewichte. Die richtigen Werte für diese Parameter herauszufinden, ist etwas von einer schwarzen Kunst. Um dies zu tun, haben wir einen User-Feedback-Mechanismus in der Suchmaschine. Ein vertrauenswürdiger Benutzer kann optional alle zurückgegebenen Ergebnisse auswerten. Diese Rückmeldung wird gespeichert. Dann, wenn wir die Rangierfunktion ändern, können wir die Auswirkungen dieser Veränderung auf alle bisherigen Suchvorgänge sehen, die eingestuft wurden. Obwohl es nicht perfekt ist, gibt es uns eine Vorstellung davon, wie sich eine Änderung der Rangfolge auf die Suchergebnisse auswirkt.

5 Ergebnisse und Leistung

Abfrage: bill clinton
http://www.whitehouse.gov/
100.00%  (kein Datum) (0K)
http://www.whitehouse.gov/
Büro des Präsidenten 99,67
% (23. Dezember 1996) (2K)
http: / /www.whitehouse.gov/WH/EOP/OP/html/OP_Home.html Willkommen   im Weißen Haus         99,98%  (Nov 09 1997) (5K)         http://www.whitehouse.gov/WH/Welcome.html   Send Electronic Mail an den Präsidenten         99,86%  (Jul 14 1997) (5K)           http://www.whitehouse.gov/WH/Mail/html/Mail_President.html  mailto: president@whitehouse.gov 99,98%  mailto: President@whitehouse.gov         99.27 %  Die „inoffizielle“ Bill Clinton  94.06% ( 11.11.1997 ) (14K)  http://zpub.com/un/un-bc.html Bill Clinton trifft die  Schrumpfen 86.27           %  (Jun 29 1997) (63K)            http://zpub.com/un/ Un-bc9.html  Präsident Bill Clinton – Die Dunkle Seite 97.27%  ( 10.11.1997 ) (15K)  http://www.realchange.org/clinton.htm  $ 3 Bill Clinton 94.73% (kein Datum) (4K) http: / /www.gatewy.net/~tjohnson/clinton1.html//www.realchange.org/clinton.htm $ 3 Bill Clinton 94.73% (kein Datum) (4K) http://www.gatewy.net/~tjohnson/clinton1.html//www.realchange.org/clinton.htm $ 3 Bill Clinton 94.73%  (kein Datum) (4K) http://www.gatewy.net/~tjohnson/clinton1.html Abbildung 4. Beispielergebnisse von Google

Das wichtigste Maß für eine Suchmaschine ist die Qualität der Suchergebnisse. Während eine vollständige Benutzerbewertung über den Rahmen dieses Papiers hinausgeht, hat unsere eigene Erfahrung mit Google gezeigt, dass es bessere Ergebnisse erzielt als die großen kommerziellen Suchmaschinen für die meisten Suchanfragen. Als Beispiel, das die Verwendung von PageRank, Anchor Text und Proximity veranschaulicht, zeigt Abbildung 4 die Ergebnisse von Google für eine Suche auf „Bill Clinton“. Diese Ergebnisse zeigen einige der Features von Google. Die Ergebnisse werden vom Server gruppiert. Dies hilft bei der Durchsuchung von Ergebnismengen erheblich. Eine Reihe von Ergebnissen sind von der whitehouse.gov Domain, was ist, was man vernünftigerweise von einer solchen Suche erwarten kann. Derzeit sind die meisten kommerziellen Suchmaschinen keine Ergebnisse von whitehouse.gov, viel weniger die richtigen. Beachten Sie, dass es keinen Titel für das erste Ergebnis gibt. Das ist, weil es nicht gecrawlt wurde. Stattdessen verließ Google auf Anchor Text zu bestimmen, dies war eine gute Antwort auf die Abfrage. Ähnlich ist das fünfte Ergebnis eine E-Mail-Adresse, die natürlich nicht kriechbar ist. Es ist auch ein Ergebnis von Anchor Text.Alle Ergebnisse sind einigermaßen qualitativ hochwertige Seiten und bei letzter Prüfung wurden keine defekten Links. Das ist vor allem, weil sie alle einen hohen PageRank haben. Die PageRanks sind die Prozentsätze in Rot zusammen mit Balkendiagrammen. Schließlich gibt es keine Ergebnisse über einen Bill anders als Clinton oder über einen Clinton außer Bill. Denn wir legen großen Wert auf die Nähe von Wortauftritten. Natürlich würde ein wahrer Test der Qualität einer Suchmaschine eine umfangreiche Anwenderstudie oder Ergebnisanalyse beinhalten, für die wir hier keinen Platz haben. Stattdessen laden wir den Leser ein, Google für sich selbst auf http://google.stanford.edu zu versuchen .

5.1 Speicheranforderungen

Abgesehen von der Suchqualität, ist Google entworfen, um kostengünstig auf die Größe des Web zu skalieren, wie es wächst. Ein Aspekt davon ist, die Speicherung effizient zu nutzen. Tabelle 1 enthält eine Aufschlüsselung einiger Statistiken und Speicheranforderungen von Google. Aufgrund der Kompression beträgt die Gesamtgröße des Repositories etwa 53 GB, knapp über einem Drittel der gesamten Daten, die es speichert. Bei aktuellen Festplattenpreisen macht dies das Repository zu einer relativ günstigen Quelle nützlicher Daten. Noch wichtiger ist, dass die Summe aller von der Suchmaschine verwendeten Daten einen vergleichbaren Speicherplatz von etwa 55 GB erfordert. Darüber hinaus können die meisten Abfragen mit nur dem kurzen invertierten Index beantwortet werden. Mit einer besseren Kodierung und Komprimierung des Document Index kann eine hochwertige Suchmaschine auf ein 7GB Laufwerk eines neuen PCs passen.

Speicherstatistik
Gesamtgröße der abgerufenen Seiten 147,8 GB
Komprimiertes Repository 53,5 GB
Kurzer invertierter Index 4,1 GB
Voller invertierter Index 37,2 GB
Lexikon 293 MB
Temporäre Ankerdaten
(nicht insgesamt  )
6,6 GB
Dokumentenindex Inkl.
Variable Breite Daten
9,7 GB
Links Datenbank 3,9 GB
Total ohne Repository 55,2 GB
Insgesamt mit Repository 108,7 GB

 
Web-Seite Statistiken
Anzahl der gehobenen Webseiten 24 Millionen
Anzahl der Urnen gesehen 76,5 million
Anzahl der E-Mail-Adressen 1,7 Millionen
Anzahl der 404er Jahre 1,6 Millionen
Tabelle 1. Statistik

 5.2 Systemleistung

Es ist wichtig für eine Suchmaschine zu kriechen und effizient zu indexieren. Auf diese Weise können Informationen auf dem Laufenden gehalten werden und größere Änderungen am System können relativ schnell getestet werden. Für Google sind die Hauptoperationen Crawling, Indexing und Sorting. Es ist schwierig zu messen, wie lange das Crawling insgesamt angenommen hat, da die Festplatten gefüllt sind, die Nameserver abgestürzt sind oder irgendeine Anzahl anderer Probleme, die das System gestoppt haben. Insgesamt dauerte es ca. 9 Tage, um die 26 Millionen Seiten (inkl. Fehler) herunterzuladen. Doch sobald das System reibungslos verlief, lief es viel schneller und lud die letzten 11 Millionen Seiten in nur 63 Stunden herunter und erreichte knapp über 4 Millionen Seiten pro Tag oder 48,5 Seiten pro Sekunde. Wir liefen den Indexer und den Crawler gleichzeitig. Der Indexer lief nur schneller als die Crawler. Dies ist vor allem, weil wir gerade genug Zeit damit verbracht haben, den Indexer zu optimieren, damit es kein Engpass wäre. Diese Optimierungen beinhalteten Bulk-Updates zum Dokumentenindex und Platzierung von kritischen Datenstrukturen auf der lokalen Festplatte. Der Indexer läuft auf etwa 54 Seiten pro Sekunde. Die Sorter können ganz parallel laufen; Mit vier Maschinen dauert der gesamte Prozess der Sortierung ca. 24 Stunden.

5.3 Suchleistung

Die Verbesserung der Suchaufträge war bis heute nicht der Hauptfokus unserer Forschung. Die aktuelle Version von Google beantwortet die meisten Abfragen zwischen 1 und 10 Sekunden. Diese Zeit wird meistens von der Festplatte IO über NFS dominiert (da die Festplatten über eine Anzahl von Maschinen verteilt sind). Darüber hinaus hat Google keine Optimierungen wie Abfrage-Caching, Subindices auf gemeinsame Begriffe und andere gemeinsame Optimierungen. Wir beabsichtigen, Google erheblich durch Verteilung und Hardware, Software und algorithmische Verbesserungen zu beschleunigen. Unser Ziel ist es, mehrere hundert Abfragen pro Sekunde zu bewältigen. Tabelle 2 hat einige Beispielabfragezeiten von der aktuellen Version von Google. Sie werden wiederholt, um die Beschleunigungen zu zeigen, die sich aus dem Cache IO ergeben.

 

Anfangsabfrage Gleiche Abfrage wiederholt (IO meist im Cache) 
Abfrage CPU Zeit (e) Gesamtzeit (e) CPU Zeit (e) Gesamtzeit (e)
Al gore 0,09 2.13 0,06 0,06
Vizepräsident 1,77 3.84 1,66 1,80
Festplatten 0,25 4.86 0,20 0,24
Suchmaschinen 1.31 9.63 1.16 1.16

 

Tabelle 2. Suchzeiten

6. Schlussfolgerungen

Google ist entworfen, um eine skalierbare Suchmaschine zu sein. Das primäre Ziel ist es, qualitativ hochwertige Suchergebnissen über ein schnell wachsendes World Wide Web zu liefern. Google beschäftigt eine Reihe von Techniken, um die Suchqualität zu verbessern, einschließlich Seitenrang, Ankertext und Proximitätsinformationen. Darüber hinaus ist Google eine komplette Architektur für das Sammeln von Webseiten, die Indizierung und die Durchführung von Suchanfragen über sie.

6.1 Zukünftige Arbeit

Eine groß angelegte Websuchmaschine ist ein komplexes System und es bleibt noch viel zu tun. Unsere unmittelbaren Ziele sind die Verbesserung der Sucheffizienz und die Skalierung auf rund 100 Millionen Webseiten. Einige einfache Verbesserungen der Effizienz umfassen Abfrage-Caching, Smart-Disk-Zuweisung und Subindices. Ein weiterer Bereich, der viel Forschung erfordert, ist Aktualisierungen. Wir müssen intelligente Algorithmen haben, um zu entscheiden, welche alten Webseiten aufgehoben werden sollen und welche neuen Kanäle gecrawlt werden sollen. Die Arbeit an diesem Ziel wurde in [ Cho 98 ] durchgeführt . Ein vielversprechender Forschungsbereich nutzt Proxy-Caches, um Suchdatenbanken zu erstellen, da sie nachfragebedürftig sind. Wir planen, einfache Features hinzuzufügen, die von kommerziellen Suchmaschinen wie boolesche Operatoren, Negation und Stemming unterstützt werden. Aber, Weitere Features werden gerade erst begonnen, wie z. B. Relevanz Feedback und Clustering (Google unterstützt derzeit eine einfache Hostname-basierte Clustering). Wir planen auch, den Benutzerkontext zu unterstützen (wie der Standort des Benutzers) und Ergebniszusammenfassung. Wir arbeiten auch daran, den Einsatz von Link-Struktur und Link-Text zu erweitern. Einfache Experimente zeigen, dass PageRank personalisiert werden kann, indem man das Gewicht der Homepage eines Benutzers oder Lesezeichen erhöht. Als Link-Text, wir experimentieren mit der Verwendung von Text umgebenden Links zusätzlich zu den Link Text selbst. Eine Web-Suchmaschine ist eine sehr reiche Umgebung für Forschungsideen. Wir haben viel zu viele, um hier aufzuzählen, so dass wir nicht erwarten, dass dieser Future Work Abschnitt in naher Zukunft viel kürzer wird. Wir planen auch, den Benutzerkontext zu unterstützen (wie der Standort des Benutzers) und Ergebniszusammenfassung. Wir arbeiten auch daran, den Einsatz von Link-Struktur und Link-Text zu erweitern. Einfache Experimente zeigen, dass PageRank personalisiert werden kann, indem man das Gewicht der Homepage eines Benutzers oder Lesezeichen erhöht. Als Link-Text, wir experimentieren mit der Verwendung von Text umgebenden Links zusätzlich zu den Link Text selbst. Eine Web-Suchmaschine ist eine sehr reiche Umgebung für Forschungsideen. Wir haben viel zu viele, um hier aufzuzählen, so dass wir nicht erwarten, dass dieser Future Work Abschnitt in naher Zukunft viel kürzer wird. Wir planen auch, den Benutzerkontext zu unterstützen (wie der Standort des Benutzers) und Ergebniszusammenfassung. Wir arbeiten auch daran, den Einsatz von Link-Struktur und Link-Text zu erweitern. Einfache Experimente zeigen, dass PageRank personalisiert werden kann, indem man das Gewicht der Homepage eines Benutzers oder Lesezeichen erhöht. Als Link-Text, wir experimentieren mit der Verwendung von Text umgebenden Links zusätzlich zu den Link Text selbst. Eine Web-Suchmaschine ist eine sehr reiche Umgebung für Forschungsideen. Wir haben viel zu viele, um hier aufzuzählen, so dass wir nicht erwarten, dass dieser Future Work Abschnitt in naher Zukunft viel kürzer wird. Wir experimentieren mit der Verwendung von Text umliegenden Links zusätzlich zu den Link Text selbst. Eine Web-Suchmaschine ist eine sehr reiche Umgebung für Forschungsideen. Wir haben viel zu viele, um hier aufzuzählen, so dass wir nicht erwarten, dass dieser Future Work Abschnitt in naher Zukunft viel kürzer wird. Wir experimentieren mit der Verwendung von Text umliegenden Links zusätzlich zu den Link Text selbst. Eine Web-Suchmaschine ist eine sehr reiche Umgebung für Forschungsideen. Wir haben viel zu viele, um hier aufzuzählen, so dass wir nicht erwarten, dass dieser Future Work Abschnitt in naher Zukunft viel kürzer wird.

6.2 Qualitätssuche

Das größte Problem für die Nutzer von Web-Suchmaschinen heute ist die Qualität der Ergebnisse erhalten sie zurück. Während die Ergebnisse sind oft amüsant und erweitern Benutzer Horizonte, sind sie oft frustrierend und verbrauchen kostbare Zeit. Zum Beispiel war das Top-Ergebnis für eine Suche nach „Bill Clinton“ auf einer der beliebtesten kommerziellen Suchmaschinen der Bill Clinton Witz des Tages: 14. April 1997 . Google ist entworfen, um eine höhere Qualität zu liefern, so dass das Web weiterhin schnell wächst, Informationen können leicht gefunden werden. Um dies zu erreichen, macht Google die Verwendung von Hypertext-Informationen, die aus Link-Struktur und Link (Anchor) Text bestehen, stark. Google verwendet auch Näherungs- und Schriftartinformationen. Während die Auswertung einer Suchmaschine schwierig ist, Wir haben subjektiv festgestellt, dass Google Ergebnisse höherer Qualität als aktuelle kommerzielle Suchmaschinen zurückgibt. Die Analyse der Linkstruktur über PageRank ermöglicht es Google, die Qualität der Webseiten zu bewerten. Die Verwendung von Link-Text als eine Beschreibung, was die Link-Punkte zu helfen, die Suchmaschine Rückkehr relevante (und bis zu einem gewissen Grad hohe Qualität) Ergebnisse. Schließlich hilft die Verwendung von Proximity-Informationen, die Relevanz für viele Abfragen zu erhöhen.

6.3 Skalierbare Architektur

Abgesehen von der Qualität der Suche, ist Google entworfen, um zu skalieren. Es muss sowohl in Raum und Zeit effizient sein, und konstante Faktoren sind sehr wichtig, wenn es um das gesamte Web geht. Bei der Implementierung von Google haben wir Engpässe in CPU, Speicherzugriff, Speicherkapazität, Festplattensuche, Datenträgerdurchsatz, Festplattenkapazität und Netzwerk IO gesehen. Google hat sich entwickelt, um eine Reihe dieser Engpässe während verschiedener Operationen zu überwinden. Die wichtigsten Datenstrukturen von Google ermöglichen eine effiziente Nutzung des verfügbaren Speicherplatzes. Darüber hinaus sind die Crawling-, Indexierungs- und Sortieroperationen effizient genug, um in weniger als einer Woche einen Index eines wesentlichen Teils des Webs – 24 Millionen Seiten – erstellen zu können. Wir erwarten, dass wir in weniger als einem Monat einen Index von 100 Millionen Seiten erstellen können.

6.4 Ein Forschungsinstrument

Zusätzlich zu einer hochwertigen Suchmaschine ist Google ein Forschungsinstrument. Die Daten, die Google gesammelt hat, haben bereits viele andere Papiere vorgelegt, die Konferenzen und vieles mehr auf dem Weg eingereicht wurden. Jüngste Forschungen wie [ Abiteboul 97 ] haben eine Reihe von Einschränkungen für Abfragen über das Web gezeigt, die beantwortet werden können, ohne dass das Web lokal verfügbar ist. Dies bedeutet, dass Google (oder ein ähnliches System) nicht nur ein wertvolles Forschungsinstrument ist, sondern ein notwendiges für eine breite Palette von Anwendungen ist. Wir hoffen, dass Google eine Ressource für Sucher und Forscher auf der ganzen Welt sein wird und die nächste Generation der Suchmaschinentechnologie entfachen wird.

7 Danksagungen

Scott Hassan und Alan Steremberg waren entscheidend für die Entwicklung von Google. Ihre talentierten Beiträge sind unersetzlich, und die Autoren schulden ihnen viel Dankbarkeit. Wir danken auch Hector Garcia-Molina, Rajeev Motwani, Jeff Ullman und Terry Winograd und der ganzen WebBase-Gruppe für ihre Unterstützung und aufschlussreiche Diskussionen. Schließlich möchten wir die großzügige Unterstützung unserer Ausrüstungsspender IBM, Intel und Sun und unserer Förderer anerkennen. Die hier beschriebene Untersuchung wurde im Rahmen des Stanford Integrated Digital Library Project durchgeführt, das von der National Science Foundation unter Kooperationsvereinbarung IRI-9411306 unterstützt wurde. Die Finanzierung dieser Kooperationsvereinbarung wird auch von DARPA und NASA sowie von Interval Research und den Industriepartnern des Stanford Digital Libraries Projects geleistet.

Referenzen

  • [Abiteboul 97] Serge Abiteboul und Victor Vianu, Abfragen und Berechnungen im Web . Proceedings der Internationalen Konferenz zur Datenbanktheorie Delphi, Griechenland 1997.
  • [Bagdikian 97] Ben H. Bagdikian Das Medienmonopol . 5. Auflage. Herausgeber: Beacon, ISBN: 0807061557
  • [Chakrabarti 98] S.Chakrabarti, B.Dom, D.Gibson, J.Kleinberg, P. Raghavan und S. Rajagopalan. Automatische Ressourcenkompilierung durch Analyse von Hyperlinkstruktur und zugehörigem Text. Siebte Internationale Webkonferenz (WWW 98). Brisbane, Australien, 14.-18. April 1998.
  • [Cho 98] Junghoo Cho, Hector Garcia-Molina, Lawrence Seite. Effizientes Crawling durch URL-Bestellung. Siebte Internationale Webkonferenz (WWW 98). Brisbane, Australien, 14.-18. April 1998.
  • [Gravano 94] Luis Gravano, Hector Garcia-Molina und A. Tomasic. Die Effektivität von GlOSS für das Text-Database Discovery Problem. Proc. Der 1994 ACM SIGMOD International Conference über das Management von Daten, 1994.
  • [Kleinberg 98] Jon Kleinberg, Autorisierte Quellen in einer Hyperlink-Umgebung , Proc. ACM-SIAM-Symposium zu diskreten Algorithmen, 1998.
  • [Marchiori 97] Massimo Marchiori Die Suche nach korrekten Informationen im Web: Hyper Suchmaschinen. Die Sechste Internationale WWW-Konferenz (WWW 97). Santa Clara, USA, 7.-11. April 1997.
  • [McBryan 94] Oliver A. McBryan. GENVL und WWWW: Werkzeuge zum Taming the Web. Erste internationale Konferenz zum World Wide Web. CERN, Genf (Schweiz), 25.-26. Mai 1994. http://www.cs.colorado.edu/home/mcbryan/mypapers/www94.ps
  • [Seite 98] Lawrence Seite, Sergey Brin, Rajeev Motwani, Terry Winograd. Das PageRank-Zitat-Ranking: Bringing Order im Web. Manuskript im Gange. Http://google.stanford.edu/~backrub/pageranksub.ps
  • [Pinkerton 94] Brian Pinkerton, Finding What People Want: Erfahrungen mit dem WebCrawler. Die zweite internationale WWW-Konferenz Chicago, USA, 17.-20. Oktober 1994. http://info.webcrawler.com/bp/WWW94.html
  • [Spertus 97] Ellen Spertus. ParaSite: Bergbau Strukturelle Informationen im Web. Die Sechste Internationale WWW-Konferenz (WWW 97). Santa Clara, USA, 7.-11. April 1997.
  • [TREC 96] Verfahren der fünften Text-REtrieval-Konferenz (TREC-5). Gaithersburg, Maryland, 20.-22. November 1996. Herausgeber: Department of Commerce, Nationales Institut für Normen und Technologie. Redakteure: DK Harman und EM Voorhees. Volltext unter: http://trec.nist.gov/
  • [Witten 94] Ian H Witten, Alistair Moffat und Timothy C. Bell. Verwalten von Gigabyte: Komprimieren und Indexieren von Dokumenten und Bildern. New York: Van Nostrand Reinhold, 1994.
  • [Weiss 96] Ron Weiss, Bienvenido Velez, Mark A. Sheldon, Chanathip Manprempre, Peter Szilagyi, Andrzej Duda und David K. Gifford. HyPursuit: Eine hierarchische Netzwerk-Suchmaschine, die Content-Link Hypertext Clustering ausnutzt. Verfahren der 7. ACM-Konferenz zum Hypertext New York, 1996.

Vitae


Sergey Brin erhielt seinen BS-Abschluss in Mathematik und Informatik von der University of Maryland am College Park im Jahr 1993. Derzeit ist er ein Ph.D. Kandidat in Informatik an der Stanford University, wo er erhielt seine MS im Jahr 1995. Er ist ein Empfänger einer National Science Foundation Graduate Fellowship. Seine Forschungsinteressen umfassen Suchmaschinen, Informationsextraktion aus unstrukturierten Quellen und Data Mining von großen Textsammlungen und wissenschaftlichen Daten.Lawrence Page wurde in East Lansing, Michigan geboren und erhielt eine BSE in Computer Engineering an der University of Michigan Ann Arbor im Jahr 1995. Er ist derzeit ein Ph.D. Kandidat in Informatik an der Stanford University. Einige seiner Forschungsinteressen umfassen die Linkstruktur des Internets, die Interaktion des menschlichen Computers, Suchmaschinen, die Skalierbarkeit von Informationszugriffsschnittstellen und den persönlichen Datenabbau.

8 Anhang A: Werbung und gemischte Motive

Derzeit ist das vorherrschende Geschäftsmodell für kommerzielle Suchmaschinen Werbung. Die Ziele des Werbegeschäftsmodells entsprechen nicht immer der Qualitätssuche für die Nutzer. Zum Beispiel in unserer Prototyp-Suchmaschine eines der Top-Ergebnisse für Mobiltelefon ist “ Die Wirkung der Mobiltelefon-Nutzung auf Fahrer-Aufmerksamkeit „, eine Studie, die im Detail die Ablenkungen und das Risiko mit dem Gespräch auf einem Handy während der Fahrt verbunden erklärt. Dieses Suchergebnis kam zuerst wegen seiner hohen Bedeutung, wie durch den PageRank-Algorithmus beurteilt, eine Annäherung von Zitat Bedeutung im Web [ Seite, 98 ]. Es ist klar, dass eine Suchmaschine, die Geld für das Anzeigen von Mobiltelefon-Anzeigen hatte, Schwierigkeiten hatte, die Seite zu rechtfertigen, dass unser System an seine bezahlten Werbetreibenden zurückkehrte. Für diese Art von Grund und historische Erfahrung mit anderen Medien [ Bagdikian 83 ], erwarten wir, dass Werbung geförderte Suchmaschinen werden inhärent voreingenommen gegenüber den Werbetreibenden und weg von den Bedürfnissen der Verbraucher.Da es auch für Experten sehr schwierig ist, Suchmaschinen zu bewerten, ist die Suchmaschinen-Bias besonders heimlich. Ein gutes Beispiel war OpenText, bei dem berichtet wurde, dass Unternehmen das Recht haben, an der Spitze der Suchergebnisse für bestimmte Fragen aufgeführt zu werden [ Marchiori 97 ]. Diese Art von Bias ist viel heimtückischer als Werbung, denn es ist nicht klar, wer „verdient“ dort zu sein, und wer bereit ist, Geld zu bezahlen, um aufgeführt zu werden. Dieses Geschäftsmodell führte zu einem Aufruhr, und OpenText hat aufgehört, eine lebensfähige Suchmaschine zu sein. Aber weniger eklatante Bias werden wahrscheinlich vom Markt toleriert werden. Zum Beispiel könnte eine Suchmaschine einen kleinen Faktor hinzufügen, um Ergebnisse von „freundlichen“ Unternehmen zu durchsuchen und einen Faktor von Ergebnissen von Wettbewerbern zu subtrahieren. Diese Art von Bias ist sehr schwer zu erkennen, könnte aber noch einen signifikanten Einfluss auf den Markt haben. Darüber hinaus bietet Werbeeinnahmen oft einen Anreiz, schlechte Suchergebnisse zu liefern. Zum Beispiel haben wir festgestellt, dass eine große Suchmaschine nicht die Homepage einer großen Fluggesellschaft zurückgeben würde, als der Name der Fluggesellschaft als Abfrage angegeben wurde. Es geschah so, dass die Fluggesellschaft eine teure Anzeige platziert hatte, die mit der Abfrage verbunden war, die ihr Name war. Eine bessere Suchmaschine hätte diese Anzeige nicht benötigt und evtl. zum Verlust der Einnahmen von der Fluggesellschaft zur Suchmaschine geführt. Im Allgemeinen könnte man aus der Sicht des Verbrauchers argumentieren, dass je besser die Suchmaschine ist, desto weniger Anzeigen werden für den Verbraucher benötigt, um zu finden, was sie wollen. Dies erodiert natürlich das werbegestützte Geschäftsmodell der bestehenden Suchmaschinen. Allerdings gibt es immer Geld von Werbetreibenden, die einen Kunden wollen, um Produkte zu wechseln, oder etwas, das echt neu ist. Aber wir glauben, dass die Frage der Werbung genügend gemischte Anreize verursacht, dass es entscheidend ist, eine wettbewerbsfähige Suchmaschine zu haben, die transparent und im akademischen Bereich ist.

9 Anhang B: Skalierbarkeit

9. Skalierbarkeit von Google

Wir haben Google dazu entworfen, in naher Zukunft zu einem Ziel von 100 Millionen Webseiten skalierbar zu sein. Wir haben soeben Scheibe und Maschinen erhalten, um so grob zu handeln. Alle zeitaufwändigen Teile des Systems sind parallel und grob linear. Dazu gehören Dinge wie die Crawler, Indexer und Sorter. Wir denken auch, dass die meisten Datenstrukturen mit der Erweiterung anmutig umgehen werden. Auf 100 Millionen Webseiten werden wir jedoch bei allen gängigen Betriebssystemen (derzeit auf Solaris und Linux) auf alle Arten von Betriebssystemlimits sehr nahe kommen. Dazu gehören Dinge wie adressierbare Speicher, Anzahl der offenen Dateideskriptoren, Netzwerk-Sockets und Bandbreite, und viele andere. Wir glauben, dass die Erweiterung auf viel mehr als 100 Millionen Seiten die Komplexität unseres Systems stark erhöhen würde.

9.2 Skalierbarkeit von zentralisierten Indizierungsarchitekturen

Da die Fähigkeiten von Computern zunehmen, wird es möglich, eine sehr große Menge an Text für einen vernünftigen Preis zu indizieren. Natürlich werden andere Bandbreiten-Intensivmedien wie Video wahrscheinlich immer mehr durchdringend. Aber weil die Kosten für die Produktion von Text ist niedrig im Vergleich zu Medien wie Video, ist der Text wahrscheinlich sehr weit verbreitet. Auch ist es wahrscheinlich, dass wir bald eine Spracherkennung haben, die einen vernünftigen Job macht, der die Sprache in Text umwandelt und die Menge des verfügbaren Textes erweitert. All dies bietet erstaunliche Möglichkeiten für die zentrale Indizierung. Hier ist ein anschauliches Beispiel. Wir nehmen an, wir wollen alles, was jeder in den USA für ein Jahr geschrieben hat, indizieren. Wir gehen davon aus, dass es 250 Millionen Menschen in den USA gibt und sie schreiben durchschnittlich 10k pro Tag. Das klappt auf etwa 850 Terabyte. Auch davon ausgehen, dass die Indizierung eines Terabyte jetzt für einen vernünftigen Preis erfolgen kann. Wir nehmen auch an, dass die über den Text verwendeten Indexierungsmethoden linear oder nahezu linear in ihrer Komplexität sind. Angesichts all dieser Annahmen können wir berechnen, wie lange es dauern würde, bevor wir unsere 850 Terabyte für einen vernünftigen Preis unter der Annahme bestimmter Wachstumsfaktoren indizieren könnten. Moore’s Law wurde 1965 als Verdoppelung aller 18 Monate in Prozessorleistung definiert. Es hat sich bemerkenswert wahr, nicht nur für Prozessoren, sondern auch für andere wichtige Systemparameter wie Festplatte. Wenn wir davon ausgehen, dass Moores Gesetz für die Zukunft gilt, brauchen wir nur noch 10 Verdoppelungen oder 15 Jahre, um unser Ziel zu erreichen, alles zu verteilen, was jeder in den USA für ein Jahr für einen Preis geschrieben hat, den ein kleines Unternehmen sich leisten konnte. Natürlich sind Hardware-Experten etwas betroffen Moore ‚Natürlich ist eine verteilte Systeme wie G l oss [ Gravano 94 ] oder Ernte wird oft die effizienteste und elegante technische Lösung für die Indizierung, aber es scheint schwierig , die Welt davon zu überzeugen , diese Systeme für die Einrichtung zu verwenden , wegen der hohen Verwaltungskosten groß Anzahl der Installationen. Natürlich ist es sehr wahrscheinlich, dass die Verringerung der Verwaltungskosten drastisch möglich ist. Wenn das passiert, und jeder beginnt mit einem verteilten Indexing-System, die Suche würde sicherlich drastisch zu verbessern.

Denn Menschen können nur eine endliche Menge eingeben oder sprechen, und da sich die Computer weiter verbessern, wird die Textindizierung noch besser skaliert als jetzt. Natürlich könnte es eine unendliche Menge an maschinell erzeugten Inhalten geben, aber nur Indizierung riesiger Mengen von menschlichen generierten Inhalt scheint enorm nützlich. So sind wir optimistisch, dass unsere zentrale Web-Suchmaschinen-Architektur in ihrer Fähigkeit, die relevanten Textinformationen über die Zeit zu decken und dass es eine gute Zukunft für die Suche zu verbessern.

 

FAZIT:

Bei diesem Test hat die Übersetzung recht gut funktioniert!

Lag es vielleicht an diesem ganz speziellen Text? 😉

 

Leave A Reply