PageRank und HITS Frank Habermann 11. Februar 2007 1 Inhaltsverzeichnis 1 Einleitung 2 PageRank 2.1 mathematische Beschreibung . . . . . 2.1.1 Random Surfer Model . . . . . 2.1.2 Berechnung . . . . . . . . . . . 2.1.3 Rechenbeispiel . . . . . . . . . 2.2 Vorteile und Nachteile von PageRank . 3 . . . . . . . . . . 3 HITS (hypertext-induced topic search) 3.1 Konstruktion eines adäquaten Subgraphen 3.2 Berechnung der hubs und authorities . . . 3.3 Rechenbeispiel . . . . . . . . . . . . . . . 3.4 allgemeinere Sicht auf die Lösung . . . . . 3.5 Vor und Nachteile von HITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 4 5 5 des WWW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 7 8 9 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Vergleich von PageRank und HITS 11 5 Literatur 11 2 1 Einleitung Klassische, aus heutiger Sicht veraltete Suchmaschinen basieren auf reiner textbasierten Analyse der Internetseiten. Das matchen der Suchbegriffe mit einem möglichst großen Satz indizerter Webseiten ist auch heute kaum wegzudenken und immernoch Grundlage moderner Suchalgorithmen. Diese Aufgabe lässt sich z.B. durch eine invertierte Term-Dokumenten-Datei realisieren. Dazu wird das Internet durch so genannte crawler abgesucht, die sich möglichst große Teile des Internets durchsucht und die einzelnen Dokumente tokenisiert. Damit kann man diese Datei aufbauen und sie hat dann etwa die Form: Token tok1 tok2 tok3 .. . tokN .. . Dokumente doc234, doc1908, doc1934, doc3 doc2, doc32, doc9991,· · · doc235, doc14,· · · .. . docN1 , docN2 , · · · .. . Wenn jemand also nach dem Wort Aal“sucht und dies gerade tok1 entspricht, dann liefert das Durch” suchen dieser Datei die Ergebnisse doc234, doc1908, doc1934, doc3. Wenn jemand mehrere Suchbegriffe eingibt, bekommt man je nach Implementation alle Dokumente aller Token oder z.B. alle Dokumente, die in allen Token auftreten. Diese Treffer sind aber meist nicht zufriedenstellend und helfen nicht sehr viel weiter, da man durch das enorme Ausmaßdes Internets oft extrem viele Treffer bekommt (oft einige Millionen), die in Qualität, Umfang usw. sehr stark variieren. Die gefundenen Treffer manuell entsprechend eigener Ansprüche nochmals manuell zu durchsuchen ist nicht praktikabel und wird durch das Wachstums immer schwieriger. Um also überhaupt sinnvoll mit dieser Informationsflut arbeiten zu können, sind daher Algorithmen nötig, welche die Relevanz von Internetseiten für bestimmte Suchanfragen bewerten. Diese Algorithmen sind bestimmten Problemen ausgesetzt, z.B. Polyseme, also Begriffe, die mit unterschiedlichen Bedeutungen auftreten (z.B. Apple, Jaguar, Bank,...) und Synomyme, also verschiedene Wörter mit der gleichen Bedeutung (z.B. Kraftfahrzeug, Auto). Außerdem sollten diese Algorithmen möglichst unanfällig für Manipulationsversuche sein, also Eingriffe, welche über die tatsächliche Relevanz der eigenen Seite z.B. vermittels Bannerwerbung hinwegtäuschen. Hier sollen 2 verschiedene, wenn auch ähnliche Ansätze vorgestellt werden, PageRank und HITS. Beide Ansätze basieren auf der Idee, dass man Informationen über die Relevanz durch die Betrachtung der Linkstruktur des Internets erhält. Man geht davon aus, dass Betreiber von Internetseiten vorwiegend andere Seiten verlinken, die sie selbst für besonders wichtig halten, es liegt deshalb der Gedanke nahe, die Anzahl der eingehenden Links als Maßstab der Relevanz zu verwenden. Dieser Gedanke greift jedoch zu kurz, nicht jeder Link von jeder Seite sollte als gleichwertig betrachtet werden. Bei PageRank wird der Gedanke erweitert, indem man sagt, eine Seite ist um so wichtiger, je mehr und wichtigere Seiten auf sie verlinken. Bei HITS betrachtet man nur einen Kleinen Teilgraphen des Internets, der z.B. die Treffer in der Term-Dokument-Datei enthält und schreibt jedem Dokument darin 2 Werte zu, einen als authority und einen als hub. Ein guter hub verlinkt viele wichtige Seiten mit hohem authority Wert und eine gute authority ist eine Seite, die von guten hubs verlinkt wird, diese hat im Normalfall hohen Informationsgehalt bezüglich des Suchthemas. 3 2 2.1 PageRank mathematische Beschreibung Wir betrachten das Internet als einen eindlichen, gerichteten Graphen G = (V, E) mit V = {v1 , ..., vn } und E ⊆ V ×V , so daß (vi , vj ) ∈ E gdw. Internetseite vi hat einen Link auf Internetseite vj . Sei nun u eine Internetseite, Fu = {w|(u, w) ∈ E} die Menge der Seiten, auf die u einen link hat, Bu = {w|(w, u) ∈ E} die Menge der Seiten, die einen link auf u haben und Nu = |Fu |, die Anzahl der links von u und c < 1 ein Normalisierungsfaktor, so dass der gesamte Rang aller Seiten konstant bleibt. Nun können wir eine vereinfachte Version des PageRank definieren: R(u) = c X R(v) Nv v∈B(u) Dies formalisiert schon ganz gut den Gedanken, dass die Relevanz einer Seite durch die Anzahl und Relevanz der auf Sie linkenden Seiten bestimmt wird. Man kann sich den gewichteten Graphen auch als eine quadratische Matrix vorstellen, deren Zeilen und Spalten Internetseiten entsprechen, mit Au,v = N1u , falls (u, v) ∈ E und Au,v = 0 sonst. Wenn wir R als Vektor über alle Knoten behandeln, dann erhalten wir R = cAR. R ist hier also ein Eigenvektor von A mit Eigenwert c. Das kann schnell berechnet werden. Es gibt noch ein Problem mit der vereinfachten Variante, man stellt sich 2 Seiten vor, die zwar auf sich gegenseitig, aber sonst auf keine weitere Seite zeigen, wenn nun eine weitere Seite auf eine der beiden Seiten zeigt, dann wird im Laufe der Berechnung immer mehr Rang in dieser Schleife gesammelt, aber von dort nicht mehr weiter verteilt, man nennt sowas auch eine Rang-Senke. Um mit diesem Problem zurecht zu kommen, definiert man sich eine Art Rang-Quelle. Sei E(u) ein Faktor für alle Internetseiten (Auch als Vektor Interpretierbar), der jeder Seite einen Wert als Rang-Quelle zuweist. Dann ist der PageRank R′ ein Vektor über alle Internetseiten, so dass c maximiert wird und gilt: R′ (u) := c X R′ (v) + cE(u) Nv v∈Bu 2.1.1 Random Surfer Model Der gerade definierte PageRank erscheint intuitiv, wenn man das Modell des Random Surfer zugrunde legt, dieser startet bei einer Internetseite und klickt wahllos auf irgendwelche links. Ein realer Surfer wird sich aber nicht in einer Schleife von wenigen Webseiten aufhalten, sondern sich irgendwann langweilen und einfach eine andere Seite aufsuchen, der hinzugenommene Faktor E simuliert genau dieses Verhalten und legt eine Zufallsverteilung zugrunde. Oft macht es Sinn, E für alle Elemente mit dem gleichen Faktor α zu belegen, der Algorithmus kann aber auch mit beliebigen anderen E implementiert werden, welche z.B. entsprechend besser auf einzelne Benutzer und dessen Vorlieben angepasst werden können. E kann insofern auch als das Vorwissen betrachtet werden. Im Random Surfer Model entspricht der Rang einer Internetseite gerade der Wahrscheinlichkeit, dass sich der Random Surfer zu einem beliebigen Zeitpunkt gerade auf dieser Internetseite befindet. 2.1.2 Berechnung Die Berechnung des PageRank geht recht intuitiv, wenn man mal die Skalierung ignoriert [2]: R0 ← S do : Ri+1 ← ARi d ← kRi k1 − kRi+1 k1 Ri+1 ← +Ri+1 + dE δ ← kRi+1 − Ri k1 while δ > ǫ 4 2.1.3 Rechenbeispiel Betrachten wir den Graphen [1] G = ({1, 2, 3}, {(1, 2), (1, 3), (2, 3), (3, 1)}) 1 2 3 und setzen einheitlich E = 0.2. Daraus ergeben sich Übergangswahrscheinlichkeiten von jedem Knoten zu jedem Knoten, was man sich mit folgender Matrix veranschaulichen kann: 0.0 0.5 0.5 P = 0.1 0.0 0.9 0.9 0.1 0.0 Also im Knoten 1 (entspricht der Zeile 1) ist die Wahrscheinlichkeit in den Knoten 1 zu wechseln gerade 0, für den Wechsel zum Knoten 2 und 3 je 0.5. Das Setzt sich aus den E = 0.2 zusammen, die Gleichmäßig an alle anderen Knoten aufgeteilt, also je 0.1 und 1 − E = 0.8, die gleichmä ßig auf alle Knoten verteilt werden, zu denen eine Kante existiert, also je 0.4. In Zeile 2 und 3 funktioniert die Rechnung genauso, aber die Werte ändern sich, da keine Kante von 2 nach 1 und keine Kante von 3 nach 2 existiert. Sei nun Πi = π1i pii2 pii3 der Vektor, der die Aufenthaltswahrscheinlichkeiten in den jeweiligen Knoten im Schritt i darstellt. Man beginnt die Iteration in einem beliebigen Knoten, also: Π0 = 13 13 31 Π1 = 1 3 · 0.0 + 1 3 · 0.1 + 1 3 1 3 die Übergangswahrscheinlichkeiten von Knoten 1, 2 oder 3, also: · 0.9 13 · 0.5 + 31 · 0.0 + 13 · 0.1 13 · 0.5 + 13 · 0.9 + 13 · 0.0 ≈ 0.333 0.200 0.466 Von dort aus gelten zu jeweils Diese Rechnung geht jetzt immer so weiter, bis die Lösung konvergiert: Π2 ≈ 0.439 0.212 0.346 Π3 ≈ 0.332 0.253 0.401 .. . ∞ Π ≈ 0.3776 0.2282 0.3942 2.2 Vorteile und Nachteile von PageRank PageRank bietet ein globales Maßfür die allgemeine Wichtigkeit einer Seite, arbeitet also völlig unabhängig von einer Suchanfrage. Dies hat erstmal überhaupt nichts mit der Relevanz der Ergebnisse für eine jeweilige Suchanfrage zu tun. Dies kann natürlich zu extremen Themenabschweifungen führen. Für 5 den Einsatz in einer Suchmaschine sind deshalb zusätzlich effiziente Algorithmen nötig, um die Relevaz zu bewerten, dieses Problem kann aber wiederum unabhängig vom PageRank Algorithmus gelöst werden. PageRank ist anfällig für Manipulationen, wie z.B. durch Bannerwerbung. Da aber PageRank auf einem Graphen arbeitet, der im Idealfall das gesamte Internet modelliert (was bereits aufgrund der ständigen Veränderungen nicht möglich ist), also extrem großist, haben lokale Veränderungen der Linksstruktur ~ welcher zufällige Sprünge von nur relativ kleinen Einfluss auf das ranking einer Seite. Der Vektor E, einer Seite zu einer beliebigen Seite im Internet simuliert, kann jedoch dazu verwendet werden, solchen ~ Manipulationen entgegenzuwirken, also Seiten abzustrafen, die ihren Rang manipulieren wollen. Da E signifikanten Einflußauf den PageRank hat, kann dieser auch für eine Personalisierung der Suche verwendet werden oder aber auch, bestimmte Seiten künstlich zu unterstützen. Die Berechnung des PageRank ist aufgrund der enormen größe des Graphen (ein paar Milliarden Knoten) auf dem man arbeitet extrem Zeitaufwendig, allerdings nicht zur Zeit der Suchanfrage, sondern im Vorraus. Während der Suche ist dieser also bereits ausgerechnet, weshalb z.B. Suchanfragen bei google.com sehr schnell zu einem Ergebnis führen. 6 3 3.1 HITS (hypertext-induced topic search) Konstruktion eines adäquaten Subgraphen des WWW Die mathematische Betrachtung des Internets als Graph ist die gleiche wie beim PageRank Algorithmus, wobei man dort versucht, möglichst das gesamte Internet im Graphen zu modellieren, was u.a. aufgrund der ständigen Veränderungen höchstens Näherungsweise möglich ist. Bei HITS reduziert man die Betrachtung auf einen aussagekräftigen Subgraphen. Betrachtet man ein festes Thema, hat der grö ßte Teil des Internets normalerweise nichts mit diesem zu tun. So wird nicht das gesammte gecrawlte Internet nach allgemeiner Relevanz geordnet, sondern relativ wenige Seiten werden für eine bestimmte Suchanfrage geordnet. Man muss sich allerdings diesen Subgraphen ersteinmal konstruieren. Dieser sollte relativ klein sein, reich an relevanten Seiten sein und viele der stärksten authorities enthalten. Wir beginnen damit, die t (üblicherweise t ≈ 200) besten Treffer einer textbasierten Suche für den entsprechenden Suchstring σ in die Wurzelmenge Rσ aufzunehmen. Diese Menge ist bereits relativ klein und enthält viele relevante Seiten (zumindest hubs), aber nicht unbedingt viele authorities. Rσ kann man aber zu einer Menge Sσ von Internetseiten erweitern, die zusammen mit den links zwischen all den Seiten aus Sσ mit hoher Wahrscheinlichkeit einen brauchbaren Subgraphen ergeben, der die genannten Anforderungen erfüllt. Da unter Umständen extrem viele Seiten eine einzelne Seite verlinken können, führen wir einen weiteren Parameter d ein. Sσ wird dann wie folgt berechnet: Sσ ← Rσ f oreach p ∈ Rσ Sσ ← Sσ ∪ Fp If |Bp | ≤ d then Sσ ← Sσ ∪ Bp Else Konstruiere M enge Tp mit |Tp | = d und Tp ⊂ Bp Sσ ← Sσ ∪ T p end return Sσ Der Subgraph, der durch Sσ aufgespannt wird, enthält nun mit hoher Wahrscheinlichkeit auch viele authorities, denn dazu muss es je nur einen einzelnen link aus der Wurzelmenge Rσ dorthin geben. 3.2 Berechnung der hubs und authorities Wir haben jetzt gesehen, wie wir einen geeigneten Subgraphen als Arbeitsgrundlage erhalten, damit können wir nun hubs und authorithies berechnen. Wir betrachten also einen guten hub als eine Seite, die viele gute authorities verlinkt und eine gute authority wird von vielen guten hubs verlinkt. Sei nun ~h = (h1 , ..., hk ) ein Vektor über alle Internetseiten aus der gerade errechneten Menge Sσ (mit |Sσ | = k), der jeder Seite ein Hub-Gewicht zuordnet und entsprechend ~a = (a1 , ..., ak ) ein Vektor, der jeder Seite ein Gewicht als authority zuordnet. Die Vektoren werden so normalisiert, dass die Summe der Quadrate der Komponenten jeweils 1 ergibt. Jetzt können wir 2 Operationen I, O zum updaten der Gewichte definieren [3]: P hx , ∀ 1 ≤ i ≤ k I : ai ← x:(x,i)∈E O : hi ← P ax , ∀ 1 ≤ i ≤ k x:(i,x))∈E Die eigentliche Prozedur hat nun die Aufgabe, ein gewisses Gleichgewicht zwischen den hubs und den authorities herzustellen, also Fixpunkte für diese Operationen zu approximieren. Folgende Prozedur tut dies für hinreichend große k (entspricht der Anzahl der Iterationen): 7 Iterate(G, k) G ist eine M enge n verlinkter Seiten k∈N ~a0 ← (1, ..., 1) ∈ Rn ~h0 ← (1, ..., 1) ∈ Rn f or i = 1, ..., k berechne ~ai durch (I) angewandt auf ~ai−1 , ~hi−1 berechne ~hi durch (O) angewandt auf ~ai , ~hi−1 normalisiere ~ai , ~hi end return (a~k , h~k ) Dies kann man nun verwenden, um z.B. die c besten authorities und die c besten hubs herauszufiltern, indem man einfach die Seiten mit den c größten Koordinaten ausgibt. 3.3 Rechenbeispiel Betrachten wir den Graphen G = ({1, 2, 3, 4}, {(1, 2), (2, 3), (2, 4), (3, 4), (4, 3)}) 1 2 3 4 und rechnen einfach mal exemplarisch Iterate({1, 2, 3, 4}, 2). Man beginnt mit der Initialisierung: ~a0 ~h0 = (1, 1, 1, 1) = (1, 1, 1, 1) Nun der 1. Iterationsschritt: I : ~a1 O : ~h1 ← (0, 1, 1 + 1, 1 + 1) = (0, 1, 2, 2) ← (1, 2 + 2, 2, 2) = (1, 4, 2, 2) 8 Das muss jetzt normalisiert werden, so dass die Summe der Quadrate der Vektorkomponenten jeweils 1 ergibt: ~a1 ~h1 ← ← 1 √ (0, 1, 2, 2) 12 +22 +22 = (0, 13 , 32 , 23 ) 1 √ (1, 4, 2, 2) 12 +42 +22 +22 = ( 51 , 45 , 25 , 52 ) und das geht jetzt immer so weiter, bis die Lösung konvergiert: ← (0, 51 , 65 , 65 ) ~a2 ~h2 6 6 ← ( 15 , 12 5 , 5, 5) ~a2 ← ~h2 ← √ 1 (0, 1 , 6 , 6 ) 5 5 5 2.92 √ 1 ( 1 , 12 , 6 , 6 ) 8.68 5 5 5 5 Man kann im Prinzip die Berechnung bereits jetzt abbrechen, diese würde der Übersicht kaum beitragen. Schon jetzt zeichnet sich ab, was passiert, Knoten 1 hat keiner authority Wert und nur geringen hub-Wert, Knoten 2 bekommt nur einen geringen authority Wert zugeschrieben, dafür aber den grösten hub Wert. Knoten 3 und 4 bekommen jeweils den gleichen hub Wert und den gleichen authority Wert, da sie nur auf sich gegenseitig linken und beide zusätzlich linken. das authority ranking sieht etwa so aus: 3,4,2,1 bzw. 4,3,2,1 und das hub ranking so: 2,3,4,1 bzw. 2,4,3,1. Bei diesen einfachen Beispiel ist dies bereits nach sehr wenigen Iterationen offensichtlich. HITS schreibt nicht vor, wie man das Problem der gleichwertigen Knoten 3 und 4 umgeht, dies steht bei der Implementation frei. 3.4 allgemeinere Sicht auf die Lösung Man kann sich den betrachteten Subgraphen des Internets natürlich auch als Adjazenzmatrix A voranschaulichen, also Ai,j = 1, falls Seite i einen Link auf Seite j hat und Ai,j = 0 sonst. Offenbar müssen dann die zu findenden Fixpunkte folgende hinreichende Bedingungen erfüllen (sei |Sσ | = n, δ, λ Normalisierungsfaktoren ): =δ hi ai =λ n P Aij aj j=1 n P (AT )ik hk k=1 Man kann nun die Gleichungen ineinander einsetzen und erhält: ~h ~a = δλAAT ~h = δλAT A~a ~h und ~a ergeben sich also als Eigenvektoren der Matrizen AAT bzw. AT A und können prinzipiell mit allen entsprechenden mathematischen Werkzeugen berechnet werden. Allerdings bietet sich das Verwenden der Prozedur Iterate aufgrund der Simplizität und der Anschaulichkeit für die Darstellung der Funktionsweise an. 3.5 Vor und Nachteile von HITS HITS berechnet 2 Arten von Rankings, je nach Anwendungsfall kann dass eine oder andere nützlicher sein. Außerdem bietet HITS die Möglichkeit, nach ähnlichen Seiten zu suchen, dabei gelten 2 Internetseiten genau dann als ähnlich, wenn sie besonders viele gleiche Vorgänger und Nachfolger im Nachberschaftsgraphen besitzen. Dazu muss man im wesentlichen nur den Subgraphen anders bestimmen. Man sucht zu der Webseite Vorgänger und Nachfolger, sowie Vorgänger der Nachfolger und Nachfolger der Vorgänger 9 und berechnet davon die authority Werte und erhält damit eine Rangliste ähnlicher Seiten. HITS arbeitet grundsätzlich auf sehr kleinen Matrizen, wenn man es mal mit der Größe des gesamten Internets vergleicht, mit diesen kann man natürlich verhältnismäßig schnell rechnen. Allerdings mußauch für jede Suchanfrage extra die Teilmenge der Seiten bestimmt werden, für die man je eine eigene Matrix aufstellt und dann mindestens eine Eigenvektorbestimmung durchführt. Dies kostet Zeit während der Suchanfrage. Ein anderes Problem ist, dass sich die hub und authority Werte relativ leicht beeinflussen lassen. Das Hinzufügen ausgehender Links auf der eigenen Seite ist kein großes Problem, hierdurch kann man den hub Wert der Seite erhöhen. Eingehende Links kann man, die nötigen finanziellen Mittel vorrausgesetzt, z.B. durch Bannerwerbung beeinflussen, hierdurch wird der authority Wert einer Seite manipuliert. Da man nur auf einem sehr kleinen Subgraphen des Internets arbeitet, wirken sich derartige Eingriffe um so dramatischer aus. In der Rangliste auch nur ein paar Plätze aufzusteigen kann einen erheblichen Unterschied machen, da sich ein normaler Benutzer selten die ganze Liste von Suchergebnissen anschaut (deswegen erstellt man ja die Rangliste), sondern nur die ersten 10-20 Suchergebnisse, bzw. nur die erste Seite der Trefferliste. Ein anderes großes Problem ist das Risiko, vom Thema abzuschweifen. Man stelle sich vor, der erstellte Nachberschaftsgraph für eine Suchanfrage enthält eine Seite, die generell sehr beliebt und besonders oft verlinkt ist, aber eigentlich überhaupt nichts mit dem Thema zu tun hat. Einer solchen Seite wird trotzdem ein besonders großer authority Wert zugerechnet, was die Qualität der Suchergebnisse senkt. 10 4 Vergleich von PageRank und HITS Beide Verfahren können interpretiert werden, als Methoden, die das Problem der Relevanzbestimmung von Internetseiten auf die Bestimmung von Eigenvektoren bestimmter Matrizen reduzieren (wobei andere andere Anwendungsfelder, auch wenn in diesem Schriftstück nicht weiter erwähnt, nicht ausgeschlossen sind). Die Entsprechende Matrix ist bei PageRank derart groß, dass sie praktisch nicht zur Laufzeit berechnet werden kann, was aber aufgrund der globalen Eigenschaften auch garnicht nötig ist. Bei HITS beschränkt sie sich auf einen kleinen Subgraphen des Internets, welche in Abhängigkeit der Anfrage erst erstellt wird, auch das errechnen des entsprechenden Eigenvektors muss zur Laufzeit geschehen, wodurch die Laufzeit sicherlich etwas erhöht wird, dafür dürfte die Aktualität der Berechnung etwas besser sein. PageRank funktioniert zu aufwändig, um ein ständig aktualisiertes Ranking zu bieten, Google updated z.B. nur einmal alle paar Wochen. PageRank und HITS sind beide anfällig für Manipulationsversuche, z.B. durch Linkfarmen oder Bannerwerbung, was sich allerdings bei PageRank weniger stark auswirkt ~ eingedämmt werden kann. Mit diesem bietet sich mit Paund zudem durch Festlegung des Vektors E geRank auch eine sehr einfache Methode der Personalisierung, d.h. die Möglichkeit, den Algorithmus für einen bestimmten Benutzer anzupassen. Beide Methoden sind anfällig für Abschweifungen vom eigentlichen Thema, PageRank funktioniert sogar völlig unabhängig von der Suchanfrage, beachtet also nichteinmal Themen. In gewissen Maße löst HITS auch das Problem der Polyseme und der Synonyme, sofern man davon ausgeht, dass dieses Problem durch die Linkstruktur behandelt wird. Die Betreiber von Internetseiten setzen links ja nicht entsprechend bestimmter Begriffe, sondern entsprechend bestimmter Themen. Auch dies muß bei PageRank gesondert behandelt werden. 5 Literatur [1] C. Ding, X. He, P. Husbands, H. Zha, H. D. Simon. PageRank, HITS and a unified framework for link analysis, Proc. ACM SIGIR Conf. 2001 [2] L. Page, S. Brin, R. Motwani, T. Winograd, The PageRank citation ranking: Bringing order to the Web [3] Jon M. Kleinberg: Authoritative Sources in a Hyperlinked Environment. Stanford Digital Library Technologies Project. Journal of the ACM. 1999. [4] Amy N. Langville, Carl D. Meyer: A Survey of Eigenvector Methods for Web Information Retrieval. 11