Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Seminar über Algorithmen “Authoritative Sources in a Hyperlinked Environment” Intro & Motivation!..........................................................................3 Motivation!......................................................................................................3 Introduction!...................................................................................................3 Queries!...........................................................................................................3 Problems!........................................................................................................3 Subgraph of WWW!.........................................................................4 Internet as a hyperlink graph!.......................................................................4 Subgraph!........................................................................................................5 What is wanted?!............................................................................................5 Contructing Subgraph!..................................................................................5 Getting Q!........................................................................................................5 Filter out R!.....................................................................................................6 Produce S!.......................................................................................................6 Prodecere!.......................................................................................................7 Simple Heuristic!............................................................................................7 Hubs & Authorities!........................................................................8 Definition!........................................................................................................8 Tabellarische Darstellung!.............................................................................8 Computing Authorities!.................................................................................8 Algorithm!........................................................................................9 Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Iterative Algorithm!.........................................................................................9 I-Operation!.....................................................................................................9 O-Operation!.................................................................................................10 Basic Operations!.........................................................................................10 Find equilibrium!..........................................................................................10 Real algorithm!.............................................................................................11 Procedure to filter!.......................................................................................11 Example!.......................................................................................................11 Matrix!............................................................................................13 As Matrix!......................................................................................................13 Iterate k times!..............................................................................................13 Theorem!.......................................................................................................14 Eigenvector & Eigenvalue!..........................................................................14 Rule for proof!...............................................................................................15 Proof!.............................................................................................................15 Similiar-Page Queries!.................................................................16 Similiarity!.....................................................................................................16 Modification!.................................................................................................16 Last Thoughts !..............................................................................16 Related Work!...............................................................................................16 Multiple Sets!................................................................................................17 Evaluation!....................................................................................................17 Conclusion!...................................................................................................18 Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Intro & Motivation Motivation Ein Netzwerk von veknüpften Knoten, bei dem jeder Knoten Informationen beinhaltet besonders sei hier das World Wide Web genannt - kann eine gute Informationsquelle sein. Allerdings muss man aus der Unmenge an Informationen die richtigen extrahieren, also die Knoten finden, welche spezifisch die Information trägt die man haben will, sodass man am Ende eine Menge von Knoten hat, welche Zusammengefasst alle wichtigen Informationen für mich zusammenträgt. Das Ziel ist ein Algorithmus, welcher genau das erfüllt. Idealerweise wäre eben jener zudem noch • schnell • präzise • zuverlässig Introduction In dieser Zusammenfassung soll ein Algorithmus vorgestellt werden, welcher alleine durch die Hyperlinks (also die Verknüpfungen zwischen 2 Knoten, Pfeil von Knoten A nach B) in einem gerichtetem Graphen (gerichtet durch die gerichtete Verknüpfung zwischen 2 Knoten) die Relevanz der Seiten (Relevanz als menschliches Sortierungsmerkmal, sozusagen die Wichtigkeit für ein Thema) errechnet - bezogen auf einen eingeschränkten Suchstring (dieser es erst ermöglicht die Auswahl zu spezifizieren) - um die Seiten dahingehend sortieren zu können, um die für diesen Suchstring wichtigsten Knoten als erstes zu haben. Queries Es wird in 3 Arten von Queries eingeteilt. 1. Specific Queries: “Does Netscape support the JDK 1.1 code-signing API?” ! Diese sind spezifisch für ein Thema, es wird eine Frage gestellt, die auch kaum ! anders verstanden werden kann. Es kann auf diese Frage nicht ungenau ! geantwortet werden. 2. Broad-topic: “Find information about the Java programming language.” ! Dies ist ein breit gefächerte Frage, welche auch breit gefächerte Antworten ! akzeptiert. Es schränkt die Antworten auf eine Sammlung von Antworten zu ! einem Thema ein. 3. Similiar-page: “Find pages ‘similiar’ to java.sun.com.” ! Dies sind Anfragen die Seiten liefern sollen, welche so ähnlich sind die die ! angegeben Seite. Man möchte Seiten finden die einen möglichst ähnlichen aber ! nicht gleichen Inhalt haben. Problems Referenzseiten beinhalten häufig nicht selbst den Suchstring. Homepages haben in ihren Texten auf der Seite seltenst eine Beschreibung was sie sind und was deren Inhalt ist. Es ist daher nicht so, dass eine erste Sortierung nach dem Kriterium der Vorkommen der Wörter sehr erfolgreich sein wird. Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Beliebte Seiten stehen in direkter Konkurrenz zu den gesuchten Referenz-Seiten. Beliebte Seiten sind einfach sehr gefragt, haben meist aber nicht direkt mit dem Thema zu tun. Man sollte diese also rausfiltern können, um nicht immer FaceBook, Rechte-, Design- oder Werbefirmen im Ergebnis präsentiert zu bekommen. Interne Verlinkungen zum navigieren sind natürlich auch Hyperlinks, verzerren aber komplett die Gewichtung, welcher ein Link zu einer Seite geben soll. Nach dem Ranking nach einem Kriterium einer reinen Text-Suchmaschine wird der Inhalt nicht mehr betrachtet. Ein unbekannter Inhalt kann dazu führen Seiten zu nehmen die vollkommen abwegig vom Thema sind. Das Internet ist keinen Regeln unterworfen. Vor allem heißt das einen enormer unsortierten und unstrukturierten Inhalt. Webseiten die sogut wie keinen Text besitzen fallen hier größtenteils raus. Da für das Ranking eine Textsuchmasche verwendet wird. Medien werden nicht betrachtet. Subgraph of WWW Internet as a hyperlink graph Folgende Gleichsetzungen treffen zu, wenn wir von dem WorldWideWeb (Internet im engeren Sinne) im Bezug auf den Teilgraphen zu. Ein Knoten wird hier mit einer Webseite gleichgesetzt. Jeder Knoten ist eine Seite, mit der Einschränkung das Unterseiten die Flash/Java oder ähnliche Inhalte haben, die Navigation in diesem interaktiven Inhalt nicht gelten. Allerdings schon alle Unterseiten einer Domain, auch wenn diese sich nur geringfügig unterscheiden mögen. Jede Kante von einem Knoten zum anderen wird im WWW als Hyperlink realisiert. Damit ist die Kante von einem Knoten zum anderen gerichtet, da der Link sich auf einer Webseite befindet und auf eine andere verweist. Der out-degree (Außengrad) bezeichnet die Anzahl der Links auf der Seite zu anderen Seiten (von einem Knoten auf andere Knoten). Der in-degree (Innengrad) bezeichnet die Anzahl der Links von anderen Seiten auf diese Seite, das bedeutet es existiert ein Hyperlink auf anderen Seiten, mit dem verweis auf die Seite, bei der wir den in-degree messen (von anderen Knoten auf diesen Knoten). Das WWW ist damit ein gerichteter Graph. ! ! ! ! Beispielansicht des Internets Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Subgraph Ein Subgraph ist eine Teilmenge der Knoten eines Graphen. Es bleiben nur die Kanten bestehen, welche zwischen den Knoten der Teilmenge existieren. Beispiel: 1 ! ! ! ! 2 3 4 5 3 4 5 Teilmenge {3, 4, 5} What is wanted? Gesucht werden die besten Seiten für einen Suchstring der die Suche auf eingrenzt, es soll nur durch Aufbau des Graphen, das heißt durch die Kanten des Graphen. Es wird nicht der Inhalt der Seiten betrachtet. Diese besten Seiten sollen möglichst zusammenhängend in einem Teilgraphen vom Internet angegeben wird. Contructing Subgraph Gegeben sei ein Suchstring (query string) σ (klein Sigma), dieser ist wie ein Query vom Typ I oder II aufgebaut. Nun werden die besten Seiten passend zu σ gesucht. Es werden 3 Bedingungen erstellt die erfüllt sein müssen, damit die gesuchte Teilmenge auch gut genug ist, optimal wäre natürlich die extreme Ausrichtung dieser: (i) relativ klein Teilmenge, damit man nicht in den Ergebnissen lange suchen muss (ii) viele relevante Seiten passend zum Suchstring (passend zum Suchstring) (iii) viele der top authorities sollten darin enthalten sein Betrachten wir erst einmal (i) und (ii). Der Begriff authorities wird später erklärt und (iii) wieder aufgegriffen. Getting Q Q ist die Menge die alle Seiten die σ enthalten, enthält. Es ist damit eine grobe Sammlung von allem, was einem die Suchmaschine (hier wurde AltaVista verwendet) zurück gibt. Es gibt ein Problem bei der Bestimmung der besten Seiten, da die Menge fast immer viel zu groß ist um damit einen Algorithmus zu speisen. Die sehr hohen “computational cost” wären nicht tragbar. Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Zudem fehlen einige der besten Seiten, was nicht gewünscht ist, da wie schon erwähnt σ darin nicht immer vorhanden ist. Filter out R R ist die Teilmenge von Q, welche die Seiten vereint die das höchste Ranking in Q besitzten. Q wird sortiert nach dem Suchkriterium, welches angewendet wurde. Beispielhaft die Anzahl der vorkommenden Wörter des Suchstrings. Die Suche muss von einer textbasierten Suchmaschine sein. Es werden die t höchst gerankten Seiten genommen, t ist Element der natürlichen Zahlen. Mit R erfüllen wir die Bedingungen (i) & (ii). Leider wird die Bedingung (iii) nicht erfüllte, denn die Seiten in R sind kaum miteinander verlinkt. Produce S Also wird R zu S erweitert. S beinhaltet mehr Seiten als R, ist aber dennoch eine Teilmenge von Q. R ist damit eine Teilmenge von S. Es werden alle Seiten hinzugefügt auf die R zeigt und zusätzlich maximal d Seiten die jeweils auf eine Seite von R zeigen, mit d als eine natürliche Zahl. Es existiert damit eine obere Schranke von der Mächtigkeit von S in Abhängigkeit von der Mächtigkeit von R. Die Beschränkenden Faktoren sind d und t. Beispiel: Anzahl Knoten von S sind circa 1’000-5’000 bei d=50 und t=1000 Möglich sind hier 50’000. base root root Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Prodecere Simple Heuristic Intrinsic (intrinsisch) sind Links, die innerhalb der domain verlinken heise.de/artikel1 -> heise.de/artikel2 Transverse (transversiv) sind Links, die auf eine andere domain verlinken heise.de/artikel1 -> spiegel.de/artikel1 Instrinsic Links werden in dem Graphen von S gelöscht, damit haben wir auch nicht mehr das Problem mit der zu häufig gezählten Seiten (wie Homepage-Startseiten) bei der internen Navigation. Es entsteht ein Graph G, dieser genügt uns und entspricht den Bedingungen um darauf den HITS Algorithmus anwenden zu können. Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Hubs & Authorities Definition Hubs Seite die auf andere Seiten Verlinkt Authorities Seite, die von anderen Seiten verlinkt wird Diese Begriffe wurden von dem Author des Algorithmuses geprägt und sind für dessen Verwendung entscheident. Daher auch die große Schrift, es ist sehr wichtig diese zu wissen. Andere Authoren haben für das Gleiche andere Namen gewählt, zum Beispiel Hub als Recall und Authority als Precision. Tabellarische Darstellung Als Beispiel hier sind Seite 2 und 3 Hubs. Seite A und B sind Authorities. Es kann eine Seite natürlich gleichzeitig Hub und Authority sein, allerdings ist dies in diesem theoretischen Graphen nicht so, der Einfachheit halber. Seite 1 Seite 2 Seite 3 Seite 4 Summe Seite A 1 1 1 0 3 Seite B 1 1 0 1 3 Seite C 0 1 1 0 2 Seite D 0 0 1 1 2 Summe 2 3 3 2 10 Computing Authorities Wir wollen jetzt die authorities herausfinden. Der gegebene Graph G aus dem vorherigen Kapitel dient dazu als Grundlage. Die stärksten Authorities sind die, welche Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin für uns am wichtigsten sind, diese dürfen wir aber nur durch das betrachten der Linkstruktur berechnen. Erste Idee ist hier die Authorities nach in-degree zu sortieren, um dann einfach die Seite mit dem höchsten in-degree als wichtigste zu sehen. Die hat allerdings einen fatalen Haken. Es gibt Seiten die unabhängig vom Suchstring immer sehr häufig verlinkt werden. Diese beliebten Seiten wurden dann immer weit oben auf der Liste der Authorities landen, obwohl deren Inhalt sehr wenig bis gar nichts mit dem Suchstring zu tun hat. Vor allem Seiten die durch einfache Editoren oder Firmen erstellt wurden (designed by), Seiten von Rechteinhabern (All rights to) oder gar Werbeseiten, denn Werbebanner sind auch Links. unrelated page of large in-degree hubs authorities Dies geht so nicht, deshalb muss ein anderer Weg gefunden werden. Algorithm Iterative Algorithm Hier geht es also um den HITS-Algorithmus der für jede Seite numerische Werte berechnet und aktualisiert. Die beiden Werte sind die hubs- und authority-Werte. Abgekürzt wird der hub-Wert mit y und der authority-Wert mit x. Für jede Seite 𝑝 wird dessen x >= 0 und y >= 0 in jedem Iterationsschritt neu berechnet. Dazu ein Zitat vom Author des Algorithmusses: “[...] a good hub is a page that points to many good authorities; a good authority is a page that pointed to by many good hubs [...]”. I-Operation Diese Operation aktualisiert die authority-Werte für jede Seite einzeln. Der authorityWert der Seite p wird berechnet, indem die Summe aller hub-Werte von allen Seiten genommen werden, welche auf die Seite p zeigen (also auf p verlinkt). Die Formel dafür ist: x < p> ← ∑ y <q> q:(q, p)∈E Danach werden die authority-Werte pro Seite noch normalisiert, damit der Vektor eine Länge von 1 besitzt. Graf von Malotky 4128300! ∑ (x SS 2012, Prof. Alt, FU-Berlin < p> 2 ) =1 p∈Gσ O-Operation Aufgebaut wie die I-Operation. Diese Operation berechnet allerdings die hub-Werte für jede Seite einzeln. Der hub-Wert der Seite p wird mittels der Summe aller authorityWerte auf die die Seite p verlinkt berechnet. Die Formel dafür ist: y < p> ← ∑ x <q> q:( p,q)∈E Auch hier werden die hub-Werte normalisiert damit der y-Vektor die Länge 1 bekommt, sonst würde y immer größer werden. ∑ (y < p> 2 ) =1 p∈Gσ Basic Operations Hier nochmal die grafische Erklärung der I- und O-Operationen. 𝓘-Operation 𝓞-Operation y=0,3 x=0,4 q1 p1 y=0,1 x=0,6 q2 y=0,7 p x=0,2 q authority p2 hub x=0,1 y=0,2 q3 hubs p3 authorities Find equilibrium Nun ist es so, dass die Vektoren y und x, sich einem Gleichgewicht einpendeln. Jeweils y und x als Vektor die Gewichte von allen Knoten. Durch die Normalisierung der Vektoren werden diese gegen einen Wert streben. Anfangs werden alle hub- und authority-Werte auf 1 gesetzt. Die Reihenfolge wäre demnach: Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin 1. Startvektor y und x ist es alle Werte auf 1 zu setzen. 2. I anwenden für alle Knoten 3. O anwenden für alle Knoten 4. Normalisieren und I und O 5. Iterativ wiederholen und zwar k-mal, wobei k eine natürliche Zahl ist. Real algorithm Damit lässt sich schon der Algorithmus vorstellen: Procedure to filter Nun will mal nicht alle Knoten haben sondern nur die authorities, also die Knoten mit dem höchsten authority-Wert. Die Knoten mit dem höchsten hub-Wert sind übrigens gute Sammlungen von den besten authorities. Das herausfiltern der c besten authorites und c besten hubs wird hier auch als Algorithmus dargestellt: Filter (𝐺, 𝑘, 𝒄) 𝐺: a collection of n linked pages 𝑘, 𝒄: natural numbers = Iterate (𝐺, 𝑘) Report the pages with the 𝒄 largest coordinates in as authorities. Report the pages with the 𝒄 largest coordinates in as hubs. Example Hier wird in 2 Schritten I und O angewendet und nachträglich normalisiert, k wäre damit am Ende 2. Betrachtet wird das Ganze mit qi = pi, also q1=p1, q2=p2, etc.: Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Matrix As Matrix Die Menge aller Knoten mit den jeweiligen hub- und authority-Werten können auch in einer Matrix dargestellt werden. Hier als Beispiel ein sehr einfacher Graph, um die Übersicht nicht zu gefährden. Man merkt schnell, dass dies im Gegensatz zu einer Zeichnung nicht sehr intuitiv ist. Allerdings ist die Berechnung mit einer Matrix besonders für Computer geeignet, weil dieser damit sehr schnell rechnen kann. Iterate k times Die Operationen I und O verändern sich dahingehend natürlich. I wird damit zu: xk = AT * yk−1 O wird im gleichen Iterationsschritt ausgeführt und deshalb wird k nicht reduziert in der Formel: yk = A * x k Durch einmaliges einsetzen von beiden Formeln in jeweils einen der Formeln erhalten wir die Formel ohne weitere Variablen: Für x: xk = AT * A * xk−1 Und für y: yk = A * AT * yk−1 Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Nun ist es durch weitere Umformungen möglich eine komplette Formel für x zu erhalten nach k Iterationen: xk = (AT * A)*(AT * A)* xk−2 T T ⇒ (A * A)*...*(A * A) * x1 k−1mal ⇒ (AT * A)k−1 * AT * y0 Und dies auch für y: yk = (A * AT )*(A * AT )* yk−2 T T ⇒ (A * A )*...*(A * A ) * y1 k−1mal ⇒ (A * A ) T k−1 * A * x1 ⇒ (A * AT )k−1 * A * AT * y0 ⇒ (A * AT )k * y0 Theorem Es ergibt sich folgendes Theorem: Die Reihen a (x₁, x₂, x₃, ...) und b (y₁, y₂, y₃, ...) konvergieren zu x* und y* bei 𝑘⟶∞ Beide Reihen konvergieren schnell, bei circa 20 Iterationen ist man schon sehr genau an den Vektoren x* und y*. Durch das Theorem ist zusätzlich, automatisch auch gezeigt: Da x und y nicht negativ ist, wird x* und y* ebenfalls nicht negativ sein. Eigenvector & Eigenvalue Für den später folgenden Beweis werden die Begriffe Eigenwert und Eigenvektor benötigt, dazu werden ich diese kurz erklären. Bei einer Matrix A, falls diese mit einem Vektor v multipliziert wird, entsteht ein Vektor w. A * v = w: 4 3 2 ⎛ 3 0 ⎞ ⎛ 1 ⎞ ⎛ 3*1+ 0 * 2 ⎞ ⎛ 3 ⎞ ⎜⎝ −9 6 ⎟⎠ * ⎜⎝ 2 ⎟⎠ = ⎜⎝ −9 *1+ 6 * 2 ⎟⎠ = ⎜⎝ 3 ⎟⎠ entspricht v w 1 1 2 3 4 Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Wenn man jetzt allerdings einen ganz bestimmten Vektor nimmt, nennen wir ihn e, dann passiert folgendes: A*e=λ*e 10 λx 8 6 ⎛ 3 0 ⎞ ⎛ 1 ⎞ ⎛ 3*1+ 0 * 3 ⎞ ⎛ 3 ⎞ ⎜⎝ −9 6 ⎟⎠ * ⎜⎝ 3 ⎟⎠ = ⎜⎝ −9 *1+ 6 * 3 ⎟⎠ = ⎜⎝ 9 ⎟⎠ entspricht 4 2 x 2 4 6 8 Die Richtung bleibt von e erhalten, wenn man ihn mit der Matrix multipliziert. Damit ist e ein Eigenvektor von A und λ wird als Eigenwert von A bezeichnet. Zusätzlich gilt für uns: Eine Symmetrische Matrix hat maximal n verschiedene Eigenwerte sortiert nach Größe (λ₁≥λ₂≥λ₃...). Da unsere Matrix mit den Knoten immer symmetrisch sein wird, da die Verbindung jeder Knoten mit jedem einen Wert bekommt, auch wenn zwischen ihnen keine Kante ist. Rule for proof (i) Matrix M symmetrisch ist, trivial (Wert für jeden Knoten mit jedem). (ii) Iterationsvariable gegen Unendlich geht, trivial (k besitzt keine Einschränkungen) (iii) Ein Vektor v orthogonal zum größten Eigenvektor von der Matrix ist Dann gilt laut Golub und Van Loan (1989): v konvergiert Es wird eine Extrabedingung gefasst, welche nur in wenigen Fällen nicht eintreten würde, die Einschränkung ist also nur sehr gering: |λ₁(M)|>|λ₂(M)| Proof Wir nehmen einen Vektor und eine Matrix. Beide finden wir in der Formel zur Berechnung von x und y gegen k. y₀ ist nicht orthogonal zu ω₁(AAᵀ) weil der zum Eigenvektor ω₁ zugehörige Eigenwert λ₁(AAᵀ)≠0 (wegen Extrabedingung). x₀=Aᵀy₀ ist auch nicht orthogonal zu ω₁(AᵀA) weil der zum Eigenvektor ω₁ zugehörige Eigenwert λ₁(AAᵀ)≠0 (wegen Extrabedingung). Damit ist bewiesen: x und y konvergieren gegen x* und y* wie oben im Theorem erwähnt. Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Similiar-Page Queries Similiarity Die Ähnlichkeit von einer Seite zu einer anderen kann auch bestimmt werden. Wir wollen auch hier nur anhand der Linkstruktur ähnliche Seiten finden zur Seite p. Wir suchen Seite q die möglichst hohen authority-Wert besitzt mit Bezug auf den Query. Dieser ist diesmal kein String. Falls p sehr stark verlinkt ist, wird es sehr viele unterschiedliche Bewertungen über p geben, da jede Seite die auf sie verlinkt eine vielleicht andere Einschätzung zur Ähnlichkeit von p und q hat. Deshalb sind ähnliche Seiten von beliebten Seiten schwerer zu finden. Modification Kommen wir nun zur Änderung des gesamten Vorgehens um es so anzupassen das anstatt einem Suchstring eine ähnliche Seite von p gefunden wird. Es wird also eine Query vom Typ III und nicht mehr Typ I oder II gesucht: Es wird nur sehr wenig verändert, denn anstatt “Finde Seiten mit String σ” wird jetzt nach dem Schema “Finde Seiten die auf Seite p zeigen” vorgegangen. Der Rest ist wie bisher. Teilgraphen bestimmen, Algorithmus anwenden und Filtern. Damit kann auch nicht mehr AltaVista verwendet werden. Es wird ein Suchmechanismus verwendet der auch hier nur nach einem Kriterium, in diesem Fall die Häufigkeit von einem Link zur Seite p, gesucht. Dies kann geschehen indem mann im Quellcode jeder Seite nach einem Hyperlink zu p sucht (Beispielsweise bei HTML: <a href=”Link von p”>). Es entstehen dann aber andere Probleme als bei den Queries vom Typ 1 und 2. Last Thoughts Related Work Diese Methode wird nicht nur bei der Suche und Bewertung im Internet verwendet, wie ausgeklügelte Suchmaschinen Google, Wolfram, etc. Sondern auch in komplett anderen Bereichen des Lebens, hier werden 2 aufgeführt. Um die Wichtigkeit/Beliebtheit einer Person in einem Social Network zu bestimmen, kann auch der HITS-Algorithmus herangezogen werden. Dabei muss man allerdings eine Information über eine gerichtete Kante von 2 Personen vorhanden sein. Twitter zum Beispiel besitzt die “folgen”-Funktion die von einer Person zur anderen gerichtet ist. Jede Person wäre ein Knoten und ein folgen eines Twitter-Kontos wäre eine Kante. Oder auch Online Freundschaften, solange die Information erhalten bleibt, wer wem eine Freundschaftseinladung geschickt hat. Verlinkungen auf Bildern oder anderen Medien könnte auch als Kante genommen werden. Dies wird genutzt um die Informationsdurchdringung von Produkten oder das Interesse der Kunden an einem gerade neu angekündigten Produkt leichter zu kontrollieren. Da man leichter die Kernpersonen in verschiedensten Personengruppen identifizieren kann. Besonders weit fortgeschritten und vor allem großflächig akzeptiert ist der HITSAlgorithmus mit mehr oder weniger Abwandlungen bei Wissenschaftliche Arbeiten. Ein guter Hub wäre hier eine Sammlung/Zusammenfassung von guten Werken über das gesuchte Thema, während eine gute authority die Werke darstellen die Grundlegend für dieses Thema ist. Die Kanten in diesem gerichtetem Graphen wären die Zitate und Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Erwähnungen von einem Buch in einem anderen. Nicht ohne Grund ist der Name von authority im Wortstamm dem Wort author (Author) gleich. Multiple Sets Es gibt gravierende Unterschiede zwischen authorities und clustern. Cluster sammeln verschiedene Knoten zu einer Gruppe die semantisch ähnlich sind. Allerdings gibt es auch Lösungen die versuchen die Mustererkennung von clustern und die Berechnung von authorities zu verbinden. Nehmen wir das Wort “Jaguar”, dieses besitzt viele Bedeutungen. Eines davon wäre die Automarke und eine andere das Tier von dem die Automarke ihren Namen hat. Nun will man bei einer Suche mit dem Suchstring in dem es eindeutig um die Automarke geht nicht viel von dem Tier wissen und umgekehrt. Zudem ist es auch praktisch bei einer unspezifischen Suche die verschiedenen Themen auflisten zu können, damit der Nutzer nur eine davon in seinen Ergebnissen bekommt (so wie bei Wikipedia). Clustering würde die Bereiche mit jeweils eigenen hub/authority-Werten voneinander trennen. Allerdings gibt es auch verschiedene Technologien, bei dem nur eine Implementation relevant ist, z.B. der “randomized algorithm”. Ein weiteres Problem stellt außer 2 Themen in einem Wort das umgekehrte dar: Polarisierte Themen. Die sich speziell nicht verlinken, z.B. “Abtreibung”. Dort würde Clustering dazu führen können nur die Seiten auszuwählen, welche einer der beiden Meinungen entspricht. Evaluation Es wurde eine Evaluation betrieben von dem Entwickler des HITS-Algorithmus. Dieser ist zwar schwammig, aber durch die eindeutige Richtung, welche die Auswertung zeigt, trotzdem interessant. Es wurden 26 Themen jeweils von 37 Personen bewertet. Die Personen bekamen ein Thema und sollten von sehr schlecht, schlecht, über mittel und gut bis sehr gut bewerten, ob die Seite relevant für das Thema ist. Also gut dazu passt. Einmal wurde Yahoo! als Suchmaschine verwendet um eine direkte Referenz zu haben. Dann wurde CLEVER als Anwendung des Algorithmus genommen. Diese beiden werden hier direkt verglichen. Nach den der Auswertung aller abgegebenen Antworten kam man zu folgednen Schluss: 31% 50% 19% CLEVER Yahoo! Gleichwertig Durchschnittlich ist CLEVER besser gewesen die richtigen Seiten in den ersten Seiten zu finden. Graf von Malotky 4128300! SS 2012, Prof. Alt, FU-Berlin Conclusion Damit lässt ein Fazit schließen. Für nicht so spezielle Themen funktioniert der Algorithmus gut, Typ II Queries passen dazu. Es wird weniger akkurat und zeigt mehr authorities an die nicht so gut passen, wenn die Frage semantisch komplizierter wird oder sehr speziell ist. Allerdings auch wenn der Suchstring sehr allgemein gehalten wird oder sehr viele Bedeutungen hat. Beides ließe sich mit clustering entgegenwirken. Seiten die sehr gut sind und auch relevant und trotzdem nicht als authority zählen, werden überdeckt von allgemeineren Themen, dies wird auch “diffused” genannt. Similiar-page Queries (Typ III) sind für diese Probleme sogar anfälliger, z.B. bei der suche nach “sigact.acm.org”. Ansonsten funktioniert der HITS-Algorithmus sehr gut, wenn man bedenkt das dafür der Inhalt nicht betrachtet wird, bedeutet das sehr schnelle und ohne hohe Rechenkosten verbrauchende Antworten. In dem Sektor fehlt generell noch der Algorithmus, welcher die Semantik der Seiten betrachtet und trotzdem in etwa so schnell und gut ist wie der HITS-Algorithmus.