Document

Werbung
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.
Herunterladen