dm link analysis - dbs.uni-leipzig.de · • sei = 1, 2,…, ein vektor dessen te komponente die...
Post on 19-Aug-2019
214 Views
Preview:
TRANSCRIPT
4-1Data Mining WS 2018/19
Data Mining
Kapitel 4: Link Analysis
Johannes Zschache
Wintersemester 2018/19
Abteilung Datenbanken, Universität Leipzig
http://dbs.uni-leipzig.de
4-2Data Mining WS 2018/19
Übersicht
Hoch-dimension.
Daten
Locality sensitive hashing
Clustering
Dimension.reduction
Graph-daten
PageRank, SimRank
Network Analysis
Spam Detection
UnbegrenzteDaten
Filtering data
streams
Web advertising
Queries on streams
MaschinellesLernen
Support Vector
Machines
Decision Trees
Nearest Neighbors
Anwendung
Recommen.Systems
Association Rules
Duplicate document detection
4-8Data Mining WS 2018/19
Graphdaten: World Wide Web
• Das Web als ein gerichteter Graph:
– Knoten: Webseiten
– Kanten: Hyperlinks
I teach a
class on
Networks. CS224W:
Classes are
in the
Gates
building Computer
Science
Department
at Stanford
Stanford
University
4-9Data Mining WS 2018/19
World Wide Web
• Wie kann das Web organisiert werden?
• 1. Versuch: Webverzeichnis: Yahoo, Curlie (DMOZ)
• 2. Versuch: Suchmaschine
– Webcrawler durchlaufen Web
– Inverted Index für Suchanfragen
• Herausforderungen für Suchmaschinen
1. Welche Seiten sind vertrauenswürdig und enthalten tatsächlich die relevanten
Informationen zu einer Anfrage?
2. Welches ist die „beste“ Antwort auf eine Anfrage?
• Verwendung der Hyperlink-Struktur um
die Bedeutung einer Webseite zu ermitteln
– PageRank
– Themenspezifischer PageRank
– Web Spam Detection
4-10Data Mining WS 2018/19
Inhaltsverzeichnis
• Graphdaten und die Organisation des World Wide Web
• PageRank
– Probleme
– Effiziente Berechnung
• Themenspezifischer PageRank
• SimRank
• Link-Spam und TrustRank
• HITS: Hubs and Authorities
4-11Data Mining WS 2018/19
PageRank
• Idee: Webseite ist wichtig, falls sie von vielen Nutzern besucht wird
• Anstatt das Verhalten direkt zu beobachten, wird angenommen, dass
Nutzer den Hyperlinks zufällig folgen: Random-Surfer-Model
– Beginne auf einer beliebigen Seite
– Wiederhole: Folge einem zufällig ausgewählten Hyperlink dieser Seite
• PageRank einer Webseite: Wahrscheinlichkeit, dass ein Random-Surfer
diese Webseite besucht
• Folgerungen:
– Webseite ist wichtig (hoher PageRank),
falls viele Hyperlinks auf sie verweisen
– Hyperlinks von wichtigen Webseiten
haben höheres Gewicht
• Rekursion: Gewicht einer Webseite
ist aus den Gewichten der verweisenden
Webseiten zusammengesetzt
38.4 34.3
8.1 3.93.9
3.3
1.61.6 1.6 1.6 1.6
4-12Data Mining WS 2018/19
PageRank: Einfache Rekursion
• PageRank:
– di: Anzahl der Hyperlinks (Outdegree) von i
– 𝑖 → 𝑗: Summe läuft über alle
verweisenden Webseiten
• Sei 𝑛 die Anzahl der Knoten (Webseiten)
• Lineares Gleichungssystem aus
𝑛 Gleichungen und 𝑛 Unbekannten
• Eindeutige Lösung falls Einschränkung auf σ𝑗 𝑟𝑗 = 1
• Gaußsches Eliminationsverfahren nur bei Graphen mit kleinem 𝑛 möglich
• Alternative Berechnung für riesigen Webgraph notwendig
j
ki
𝒓𝒋𝟑
𝒓𝒋 =𝒓𝒊𝟑+𝒓𝒌𝟒
𝒓𝒊𝟑 𝒓𝒌
𝟒
ji
ij
rr
id
4-13Data Mining WS 2018/19
PageRank: Matrixformulierung
• Stochastische Adjazenzmatrix 𝑀
𝑀𝑖𝑗 = ൞
1
d𝑗, 𝑗 → 𝑖
0, sonst
• Hinweise:
– 𝑀𝑖𝑗 gibt die Wahrscheinlichkeit, das ein Random-Surfer den Link von 𝑗 nach 𝑖 wählt
– 𝑀𝑖𝑗 ist unabhängig von der Anzahl der Hyperlinks von 𝑗 nach 𝑖
• Für den PageRank-Vektor 𝒓 = 𝑟1, 𝑟2, … , 𝑟𝑛𝑇 gilt:
𝒓 = 𝑀 ⋅ 𝒓
i
j
.rj
=ri
4-14Data Mining WS 2018/19
PageRank: Power Iteration Method
• Random Surfer/Random Walk
• Sei 𝒗 = 𝑣1, 𝑣2, … , 𝑣𝑛𝑇 ein Vektor dessen 𝑖te Komponente die
Wahrscheinlichkeit angibt, ob sich der Random Surfer zu einem
gegebenen Zeitpunkt auf Seite 𝑖 befindet
• Power Iteration:
– Zu Beginn: 𝒗(𝟎) =1
𝑛,1
𝑛, … ,
1
𝑛
𝑇
– Iteration: 𝒗(𝒕+𝟏) = 𝑀 ⋅ 𝒗(𝒕)
– Stopp, falls 𝒗(𝒕+𝟏) − 𝒗 𝒕 < 𝜺
• 𝑀𝑡 ⋅ 𝒗(𝟎) gibt Wahrscheinlichkeit, ob sich Random-Surfer zum Zeitpunkt
𝑡 auf einer Seite 𝑖 = 1,… , 𝑛 befindet
• Falls Algorithmus konvergiert gilt (mit 𝒓 = 𝑀 ⋅ 𝒓):
log𝑡→∞𝑀𝑡 ⋅ 𝒗(𝟎) = 𝒓
4-15Data Mining WS 2018/19
Beispiel: Mini-WWW
Yahoo
M’softAmazon
y 1/2 1/2 0
a 1/2 0 1
m 0 1/2 0
y a m
4-16Data Mining WS 2018/19
Beispiel: Mini-WWW
• Iteration 𝒗(𝒕+𝟏) = 𝑀 ⋅ 𝒗(𝒕) mit 𝒗(𝒕) = 𝑦(𝑡), 𝑎(𝑡), 𝑚(𝑡)
– 𝑦(𝑡+1) =1
2𝑦(𝑡) +
1
2𝑎(𝑡)
– 𝑎(𝑡+1) =1
2𝑦(𝑡) +𝑚(𝑡)
– 𝑚(𝑡+1) =1
2𝑎(𝑡)
y
a =
m
1
1
1
1
3/2
1/2
5/4
1
3/4
9/8
11/8
1/2
6/5
6/5
3/5
. . .
y 1/2 1/2 0
a 1/2 0 1
m 0 1/2 0
y a m
4-17Data Mining WS 2018/19
Beispiel: Mini-WWW
Yahoo
M’softAmazon
4-18Data Mining WS 2018/19
Beispiel: Mini-WWW
Yahoo
M’softAmazon
4-19Data Mining WS 2018/19
Beispiel: Mini-WWW
Yahoo
M’softAmazon
4-20Data Mining WS 2018/19
Beispiel: Mini-WWW
Yahoo
M’softAmazon
4-21Data Mining WS 2018/19
Beispiel: Mini-WWW
Yahoo
M’softAmazon
4-22Data Mining WS 2018/19
Inhaltsverzeichnis
• Graphdaten und die Organisation des World Wide Web
• PageRank
– Probleme
– Effiziente Berechnung
• Themenspezifischer PageRank
• SimRank
• Link-Spam und TrustRank
• HITS: Hubs and Authorities
4-23Data Mining WS 2018/19
PageRank: Probleme
• Konvergenz der Power-Iteration-Method ist nicht sicher
• Das reale WWW ist komplex
• Sackgassen: Webseiten ohne Hyperlinks
– Random-Surfer kann Sackgasse nicht verlassen
– Gewichtungen „verschwinden“ über Sackgasse
• Spider Traps: Gruppen von Webseiten ohne
ausgehende Hyperlinks
– Random-Surfer kann Gruppe nicht verlassen
– Gewichtungen konzentrieren sich auf Gruppe
Sackgasse
4-24Data Mining WS 2018/19
Problem: Sackgasse
Yahoo
M’softAmazon
y 1/2 1/2 0
a 1/2 0 0
m 0 1/2 0
y a m
4-25Data Mining WS 2018/19
Problem: Sackgasse
Yahoo
M’softAmazon
4-26Data Mining WS 2018/19
Problem: Sackgasse
Yahoo
M’softAmazon
4-27Data Mining WS 2018/19
Problem: Sackgasse
Yahoo
M’softAmazon
4-28Data Mining WS 2018/19
Problem: Sackgasse
Yahoo
M’softAmazon
4-29Data Mining WS 2018/19
Problem: Sackgasse
Yahoo
M’softAmazon
4-30Data Mining WS 2018/19
Problem: Spider Trap
Yahoo
M’softAmazon
y 1/2 1/2 0
a 1/2 0 0
m 0 1/2 1
y a m
4-31Data Mining WS 2018/19
Problem: Spider Trap
Yahoo
M’softAmazon
4-32Data Mining WS 2018/19
Problem: Spider Trap
Yahoo
M’softAmazon
4-33Data Mining WS 2018/19
Problem: Spider Trap
Yahoo
M’softAmazon
4-34Data Mining WS 2018/19
Problem: Spider Trap
Yahoo
M’softAmazon
4-35Data Mining WS 2018/19
Lösung: Teleports
• PageRank [Brin & Page, 1998, http://infolab.stanford.edu/~backrub/google.html]
• Mit Wahrscheinlichkeit 𝛽, folge einem zufällig gewählten Hyperlink
• Mit Wahrscheinlichkeit 1 − 𝛽, wechsel zu einer zufälligen Seite
• Ausnahme: falls Knoten eine Sackgasse, wechsel mit Wahrscheinlichkeit
1 zu einer zufälligen Seite
• Gewöhnlich setzt man 𝛽 auf einen Wert zwischen 0.8 und 0.9
y
a m
y
a m
𝑟𝑗 =
𝑖→𝑗
𝛽𝑟𝑖𝑑𝑖+ (1 − 𝛽)
1
𝑛
4-36Data Mining WS 2018/19
Lösung: Teleports ( = 0.8)
y
a =
m
1/3
1/3
1/3
0.33
0.20
0.46
0.24
0.20
0.52
0.26
0.18
0.56
7/33
5/33
21/33
. . .
y
am
13/15
7/15
1/2 1/2 0
1/2 0 0
0 1/2 1
1/3 1/3 1/3
1/3 1/3 1/3
1/3 1/3 1/3
y 7/15 7/15 1/15
a 7/15 1/15 1/15
m 1/15 7/15 13/15
0.8 + 0.2
M [1/n]nxn
=
4-37Data Mining WS 2018/19
PageRank: Vollständiger Algorithmus
• Eingabe:
– Gerichteter Graph 𝑮 (inkl. Sackgassen und Spider Traps)
– Parameter 𝜷
• Ausgabe: PageRank Vector 𝒓𝒏𝒆𝒘
– Setze: 𝑟𝑗𝑜𝑙𝑑 = 0, 𝑟𝑗
𝑛𝑒𝑤 =1
𝑁
– Wiederhole solange σ𝑗 𝑟𝑗𝑛𝑒𝑤 − 𝑟𝑗
𝑜𝑙𝑑 > 𝜀
• 𝑟𝑜𝑙𝑑 = 𝑟𝑛𝑒𝑤
• ∀𝑗: 𝑟𝑗𝑛𝑒𝑤 = σ𝑖→𝑗 𝛽
𝑟𝑖𝑜𝑙𝑑
𝑑𝑖
• 𝑆 = σ𝑗 𝑟𝑗𝑛𝑒𝑤
• ∀𝑗: 𝑟𝑗𝑛𝑒𝑤 +=
1−𝑆
𝑁
4-38Data Mining WS 2018/19
Inhaltsverzeichnis
• Graphdaten und die Organisation des World Wide Web
• PageRank
– Probleme
– Effiziente Berechnung
• Themenspezifischer PageRank
• SimRank
• Link-Spam und TrustRank
• HITS: Hubs and Authorities
4-39Data Mining WS 2018/19
Effiziente Berechnung des PageRank
• Matrix-Vektor-Produkt über MapReduce
• Problem: PageRank-Vektor 𝒓𝑜𝑙𝑑 passt nicht in Hauptspeicher
– Mind. 1 Billion (1012) Webseiten
– Einfache/doppelte Genauigkeit für Wert: 4 Byte/8 Byte
– 4TB/8TB Speicherbedarf für Vektor
• Unterteilung des Vektors 𝑟𝑜𝑙𝑑 in Abschnitte
– Ein Map-Task ist nur für einen Teil des Vektors zuständig
– Ein Map-Task benötigt nur einen vertikale Streifen der Matrix 𝑀
• Zusätzlich:
1. Effizientere Repräsentation der Matrix 𝑀 möglich da spärlich besetzt
und nur zwei verschiedene Werte pro Spalte
2. Unterteilung des neuen Vektors 𝒓𝑛𝑒𝑤 in Abschnitte
• Ein Map-Task ist nur für einen Teil des Vektors zuständig
• Ein Map-Task benötigt nur einen Teil der Matrix
4-40Data Mining WS 2018/19
Effiziente Repräsentation der Matrix 𝑀
• Für jede Spalte: Speichere 𝑑𝑖 (Anzahl der Hyperlinks) und Liste der
Zeilen mit einem Wert ungleich Null: 𝑑𝑒𝑠𝑡1, …,𝑑𝑒𝑠𝑡𝑑𝑖
• Mind. 1 Billion (1012) Webseiten:
– 4 Byte für 𝑑𝑖– 8 Byte pro Zeilennummer
– Durchschnittlich 10 Hyperlinks pro Seite: 4 + 8 ∙ 10 ∙ 1012= 84TB
0 3 1, 5, 6
1 4 17, 64, 113, 117
2 2 13, 23
... … …
Webseite 𝒊 𝒅𝒊 𝒅𝒆𝒔𝒕𝟏, …,𝒅𝒆𝒔𝒕𝒅𝒊
4-41Data Mining WS 2018/19
Effiziente Repräsentation der Matrix 𝑀
• Angenommen 𝑟𝑛𝑒𝑤 passt in Hauptspeicher
• Anpassung der Berechnung des PageRank:
0
1
2
3
4
5
6
0
1
2
3
4
5
6
rnew rold
Initialisiere 𝑟𝑗𝑛𝑒𝑤 = 0
Für jede Webseite 𝑖 : Lese von Festplatte 𝑑𝑖 𝑑𝑒𝑠𝑡1, …,𝑑𝑒𝑠𝑡𝑑𝑖 , 𝑟𝑖𝑜𝑙𝑑
Für 𝑗 = 1 …𝑑𝑖: 𝑟𝑑𝑒𝑠𝑡𝑗𝑛𝑒𝑤 += 𝛽
𝑟𝑖𝑜𝑙𝑑
𝑑𝑖
Für alle 𝑗: 𝑟𝑗𝑛𝑒𝑤 +=
1−𝑆
𝑁mit 𝑆 = σ𝑗 𝑟𝑗
𝑛𝑒𝑤
0 3 1, 5, 6
1 4 17, 64, 113, 117
2 2 13, 23
... … …
𝒊 𝒅𝒊 𝒅𝒆𝒔𝒕𝟏, …,𝒅𝒆𝒔𝒕𝒅𝒊
4-42Data Mining WS 2018/19
Blocking
• Auch 𝑟𝑛𝑒𝑤 passt nicht vollständig in Hauptspeicher
• Unterteilung von sowohl 𝒓𝑜𝑙𝑑 als auch 𝒓𝑛𝑒𝑤 in 𝑘 Blöcke der Länge 𝑙
• Unterteilung der Matrix in Quadrate der Länge 𝑙
• Wähle 𝑘 so, dass von beiden Vektoren ein Block in Hauptspeicher passt
• Hinweis: Ein Quadrat der Matrix muss nicht vollständig in Hauptspeicher
liegen und kommt somit mit weniger Speicher aus
𝑤1
𝑤2
𝑤3
𝑣1
𝑣2
𝑣3
𝑀11 𝑀12 𝑀13
𝑀21 𝑀22 𝑀23
𝑀31 𝑀32 𝑀33
=
𝒓𝑜𝑙𝑑𝒓𝑛𝑒𝑤
4-43Data Mining WS 2018/19
Blocking: Matrixrepräsentation
0 4 0, 1
1 3 0
2 2 1
0
1
2
3
4
5
0
1
2
3
4
5
0 4 5
1 3 5
2 2 4
0 4 3
2 2 3
rnew
rold
𝒊 𝒅𝒊 𝒅𝒆𝒔𝒕𝟏, …,𝒅𝒆𝒔𝒕𝒅𝒊
4-44Data Mining WS 2018/19
Inhaltsverzeichnis
• Graphdaten und die Organisation des World Wide Web
• PageRank
– Probleme
– Effiziente Berechnung
• Themenspezifischer PageRank
• SimRank
• Link-Spam und TrustRank
• HITS: Hubs and Authorities
4-45Data Mining WS 2018/19
Themenspezifischer PageRank
• PageRank misst die allgemeine Beliebtheit einer Webseite und
vernachlässigt somit evtl. wichtige themenspezifische Quellen
• Ziel: Bewertung von Webseiten nicht nur nach Popularität, sondern auch
nach Thema, z.B. Wissenschaft, Kunst, Natur, Motorsport, …
• Berücksichtigung der Interessen eines Nutzers bei Suchanfragen
• Beispiel: Anfrage nach „Jaguar“ soll, je nach Interesse des Nutzers,
entweder zu Webseiten mit Tieren oder mit Autos führen
• Idee: Verwendung des Teleporting um eine höhere Gewichtung für
themenspezifischen Seiten zu erlangen
– Menge 𝑺 mit themenspezifischen Seiten
– Beim „Teleporting“ eines Random-Surfer: Wähle zufällig eine Seite aus 𝑺
– Auch Webseiten „in der Nähe“ von Elementen aus 𝑺 werden höher gewichtet
– Einen PageRank-Vektor 𝒓(𝑺) für jedes 𝑺
– Falls 𝒋𝝐𝑺: 𝒓𝒋(𝑺)
= σ𝑖→𝑗 𝛽𝑟𝑖
𝑑𝑖+ (1 − 𝛽)
1
|𝑆|; Sonst: 𝒓𝒋
(𝑺)= σ𝑖→𝑗 𝛽
𝑟𝑖
𝑑𝑖
4-46Data Mining WS 2018/19
Beispiel: S = {M’soft}
Yahoo
M’softAmazon
Teleporting
4-47Data Mining WS 2018/19
Beispiel: S = {M’soft}
Yahoo
M’softAmazon
4-48Data Mining WS 2018/19
Beispiel: S = {M’soft}
Yahoo
M’softAmazon
4-49Data Mining WS 2018/19
Beispiel: S = {M’soft}
Yahoo
M’softAmazon
4-50Data Mining WS 2018/19
Beispiel: S = {M’soft}
Yahoo
M’softAmazon
4-51Data Mining WS 2018/19
Beispiel: S = {M’soft}
Yahoo
M’softAmazon
4-52Data Mining WS 2018/19
Beispiel: S = {M’soft}
Yahoo
M’softAmazon
4-53Data Mining WS 2018/19
Zusammenstellen der Menge 𝑺
• Verwendung der Themen und gesammelten Seiten eines
Webverzeichnisses, z.B. Curlie (DMOZ)
• Erweiterung über Jaccard-Metrik unter Verwendung „typischer Worte“:
– Wörter, die generell selten aber relative häufig in einem Dokument eines bestimmten
Themas vorkommen
– z.B. über Tf-idf-Maß
• 𝑓𝑖𝑗: Häufigkeit des Terms 𝑖 in Dokument 𝑗
• Relative Häufigkeit des Terms 𝑖 in Dokument 𝑗: 𝑇𝐹𝑖𝑗 =𝑓𝑖𝑗
max𝑘
𝑓𝑘𝑗
• 𝑁 Dokumente und 𝑛𝑖 bezeichnet die Anzahl der Dokumente, die Term 𝑖 enthalten
• Inverse Dokumenthäufigkeit: 𝐼𝐷𝐹𝑖 = log2𝑁
𝑛𝑖
• 𝑇𝐹. 𝐼𝐷𝐹𝑖𝑗 = 𝑇𝐹𝑖𝑗 × 𝐼𝐷𝐹𝑖
• Auch die Interessen eines Nutzers können über diese Methode
erschlossen werden: Wörter in vergangenen Anfragen, Wörter auf Seiten
mit Bookmark, Wörter auf aktuellen Seite (von wo Anfrage gesendet)
4-54Data Mining WS 2018/19
Inhaltsverzeichnis
• Graphdaten und die Organisation des World Wide Web
• PageRank
– Probleme
– Effiziente Berechnung
• Themenspezifischer PageRank
• SimRank
• Link-Spam und TrustRank
• HITS: Hubs and Authorities
4-55Data Mining WS 2018/19
SimRank
• Ähnlichkeit im Graph: 2 Knoten sind ähnlich,
falls sie mit gleichen Knoten verbunden sind
• z.B. in k-partiten Graphen: k verschiedene
Arten von Knoten und Kanten verlaufen
ausschließlich zwischen Knoten
unterschiedlicher Art, z.B.
– Studenten und Vorlesungen/Vereine
– Wissenschaftler und Konferenzen/Artikel
• SimRank: Themenspezifischer PageRank
mit 𝑺 = {𝒖}– 𝒖 ist ein Knoten des Graphen
– Ergebnis gibt die Ähnlichkeit zwischen allen
Knoten und 𝒖
– Problem: PageRank-Algorithmus muss für alle
Knoten wiederholt werden
ICDM
KDD
SDM
Philip S. Yu
IJCAI
NIPS
AAAI M. Jordan
Ning Zhong
R. Ramakrishnan
…
…
…
…Konferenz Wissenschaftler
ICDM
KDD
SDM
ECML
PKDD
PAKDD
CIKM
DMKD
SIGMOD
ICML
ICDE
0.009
0.011
0.0080.007
0.005
0.005
0.005
0.0040.004
0.004
4-56Data Mining WS 2018/19
Beispiel: SimRank (𝜷 = 𝟎. 𝟖)
Gus
CS246
Ann
Sue
Joe
CS229
Ma55
1.000
4-57Data Mining WS 2018/19
Beispiel: SimRank (𝜷 = 𝟎. 𝟖)
Gus
CS246
Ann
Sue
Joe
CS229
Ma55
.200
.400
.400
4-58Data Mining WS 2018/19
Beispiel: SimRank (𝜷 = 𝟎. 𝟖)
Gus
CS246
Ann
Sue
Joe
CS229
Ma55
.467
.080
.080
.107
.267
4-59Data Mining WS 2018/19
Beispiel: SimRank (𝜷 = 𝟎. 𝟖)
Gus
CS246
Ann
Sue
Joe
CS229
Ma55
.253
.294
.336
.021
.053
.048
4-60Data Mining WS 2018/19
Beispiel: SimRank (𝜷 = 𝟎. 𝟖)
Gus
CS246
Ann
Sue
Joe
CS229
Ma55
.407
.112
.131
.109
.207
.008.019
4-61Data Mining WS 2018/19
Inhaltsverzeichnis
• Graphdaten und die Organisation des World Wide Web
• PageRank
– Probleme
– Effiziente Berechnung
• Themenspezifischer PageRank
• SimRank
• Link-Spam und TrustRank
• HITS: Hubs and Authorities
4-62Data Mining WS 2018/19
Web Spamming
• Spamming: alle Unternehmungen um eine Webseite im Ranking einer
Suchmaschine zu verbessern ohne die „Bedeutung“ der Seite für eine
Suchanfrage zu erhöhen
• Term-Spamming: Manipulation des Inhalts einer Webseite
– Beispiel: ein Verkäufer von T-Shirts lässt seine Webseite so aussehen, als ob
interessante Information zu Sport/Filmen zu finden sind
– Einfügen von relevanten Wörtern bzw. einer vollständigen Kopie einer relevanten
Webseite und ändern der Textfarbe auf Hintergrundfarbe
• Lösung von Google: Anstelle der Textes einer Webseite, Verwendung des
Textes in und um Verlinkungen zu einer Webseite
• PageRank verhindert den Versuch diese Lösung zu umgehen, indem man
tausende irrelevante Seiten mit Verlinkungen auf Zielseite erstellt
• Link-Spamming: Erstellen einer Struktur von Verlinkungen um
PageRank zu erhöhen
4-63Data Mining WS 2018/19
Google-Bombe (2006)
4-64Data Mining WS 2018/19
Link-Spamming
• Aus Sicht des Spammer: 3 Arten von Webseiten
– Unerreichbare Seiten
– Erreichbare/editierbare Seiten (z.B. über Kommentare auf Blogs/Nachrichtenseiten)
– Eigene Seiten
• Vorgehen:
– Möglichst viele Verlinkungen von erreichbaren Seiten zur Zielseite t
– Erstellen einer Link-Farm um PageRank weiter zu erhöhen
Unerreichbart
Erreichbar Eigene
1
2
M
Link-Farm
4-65Data Mining WS 2018/19
Funktionsweise der Link-Farm
• PageRank-Gewicht aus den erreichbaren Seiten: 𝒙
• PageRank der Zielseite t: 𝒚
• Anzahl themenrelevanter Seiten: 𝑁
• PageRank einer der insgesamt 𝑀 Farm-Seiten: 𝛽𝒚
𝑀+
1−𝛽
𝑁
• Dann:
𝒚 = 𝒙 + 𝛽𝑀𝛽𝒚
𝑀+1 − 𝛽
𝑁+1 − 𝛽
𝑁= 𝒙 + 𝛽2𝑦 +
𝛽 1 − 𝛽 𝑀
𝑁+1 − 𝛽
𝑁
⇒ 𝒚 =𝑥
1 − 𝛽2+
𝛽
1 + 𝛽
𝑀
𝑁+
1
(1 + 𝛽)𝑁
VernachlässigbarVervielfachung
von xBeliebig großes y
durch großes M
4-66Data Mining WS 2018/19
TrustRank
• Google erkennt das klassische Design einer Link-Farm und wird die
Webseiten aus dem Index entfernen
– Außerdem versucht Google neue Designs zu erkennen
– Krieg zwischen Google und Spammer
• Alternative: Verwendung des TrustRank: Themenspezifischer PageRank
mit einer Auswahl vertrauenswürdiger Seiten als Menge 𝑺– Prinzip: Vertrauenswürdige Seiten verlinken selten auf Spam
– Vertrauen in beliebige Seite nimmt ab mit Entfernung zu vertrauenswürdiger Seite
– Vertrauen wird über alle Verlinkungen aufgeteilt da viele Verlinkungen oft mit einer
ungenaueren Prüfung dieser einhergeht
• Auswahl der vertrauenswürdigen Seiten (ohne menschliche Inspektion):
– Seiten mit sehr hohem PageRank
– Verwendung vertrauenswürdiger Domains, z.B. .edu, .gov, …
• Spam Mass = (PageRank – TrustRank)/PageRank ist Indikator für Link-
Spam (wieviel PageRank-Gewicht aus vertrauensunwürdigen Quellen)
4-67Data Mining WS 2018/19
Inhaltsverzeichnis
• Graphdaten und die Organisation des World Wide Web
• PageRank
– Probleme
– Effiziente Berechnung
• Themenspezifischer PageRank
• SimRank
• Link-Spam und TrustRank
• HITS: Hubs and Authorities
4-68Data Mining WS 2018/19
Hubs and Authorities
• HITS (Hypertext-Induced Topic Selection)
– Maße für die Relevanz von Webseiten
– Alternative zum PageRank
• Anstatt nach relevanten Webseiten direkt zu suchen: Suche nach
Experten, die auf relevante Webseiten verweisen
• Jede Seite hat 2 Werte:
– Hub-Wert: Eigenschaft als Experte
– Authority-Wert: Maß an nützlichen Inhalt
• Rekursive Definition:
– Hub-Wert = Summe der Authority-Werte der verlinkten Seiten
– Authority-Wert = Summe der Hub-Werte der verlinkenden Seiten
• Beispiele:
– Authorities: Webseite einer Zeitung, Vorlesung, Unternehmen …
– Hubs: Liste aller Zeitungen, Vorlesungsverzeichnis, Liste aller Unternehmen, …
4-69Data Mining WS 2018/19
Beispiel
4-70Data Mining WS 2018/19
Beispiel
4-71Data Mining WS 2018/19
Beispiel
4-72Data Mining WS 2018/19
Beispiel
4-73Data Mining WS 2018/19
Hubs and Authorities
• Jeder Knoten 𝒊 hat zwei Werte
– Authority-Wert: 𝒂𝒊– Hub-Wert: 𝒉𝒊
• HITS-Algorithmus:
– Initialisierung: 𝑎𝑗(0)
= 1/ N, hj(0)
= 1/ N
– Iteration:
• ∀𝒊: 𝑎𝑖(𝑡+1)
= σ𝒋→𝒊ℎ𝑗(𝑡)
• ∀𝒊: ℎ𝑖(𝑡+1)
= σ𝒊→𝒋𝑎𝑗(𝑡)
• Normalisierung: σ𝑖 𝑎𝑖𝑡+1
2= 1, σ𝑗 ℎ𝑗
𝑡+12= 1
• Auch andere Normalisierung möglich, wichtig ist die
Richtung und nicht die Länge des Vektors
(relative Größe der Werte)
[Kleinberg ‘98]
i
j1 j2 j3 j4
𝒂𝒊 =
𝒋→𝒊
𝒉𝒋
j1 j2 j3 j4
𝒉𝒊 =
𝒊→𝒋
𝒂𝒋
i
4-74Data Mining WS 2018/19
Hubs and Authorities
• Matrixnotation:
– Vektoren: 𝒂 = (𝑎1, … , 𝑎𝑛), 𝒉 = (ℎ1, … , ℎ𝑛)
– Adjazenzmatrix 𝑨 (𝑛 × 𝑛): 𝐴𝑖𝑗 = ቊ1, 𝑖 → 𝑗0, 𝑠𝑜𝑛𝑠𝑡
• Dann: 𝒉 = 𝑨 ⋅ 𝒂 und 𝒂 = 𝑨𝑻 ⋅ 𝒉– ℎ = 𝐴 (𝐴𝑇ℎ) = (𝐴 𝐴𝑇) ℎ
– 𝑎 = 𝐴𝑇 𝐴 𝑎 = 𝐴𝑇𝐴 𝑎
• Unter “angemessenen” Bedingungen konvergiert HITS zu den
Eigenvektoren ℎ∗ und 𝑎∗ von (𝐴 𝐴𝑇) bzw. (𝐴𝑇𝐴)
[Kleinberg ‘98]
4-75Data Mining WS 2018/19
Beispiel: HITS
1 1 1
A = 1 0 1
0 1 0
1 1 0
AT = 1 0 1
1 1 0
h(yahoo)
h(amazon)
h(m’soft)
=
=
=
.58
.58
.58
.80
.53
.27
.80
.53
.27
.79
.57
.23
. . .
. . .
. . .
.788
.577
.211
a(yahoo) = .58
a(amazon) = .58
a(m’soft) = .58
.58
.58
.58
.62
.49
.62
. . .
. . .
. . .
.628
.459
.628
.62
.49
.62
Yahoo
M’softAmazon
4-76Data Mining WS 2018/19
Referenzen, Beispiele, Übungen
Kapitel 5 aus „Mining of Massive Datasets“:
http://www.mmds.org/
Übungen:
• PageRank: 5.1.1, 5.1.2
• Spärlich besetzte Matrix: 5.2.1, 5.2.3
• Themenspezifischer PageRank: 5.3.1 ( = 0.8)
4-78Data Mining WS 2018/19
Übung 5.1.1
a
b =
c
1/3
1/3
1/3
5/18
5/18
8/18
25/108
34/108
49/108
3/13
4/13
6/13
. . .
a 1/3 1/2 0
b 1/3 0 1/2
c 1/3 1/2 1/2
a b c
4-80Data Mining WS 2018/19
Übung 5.1.2 ( = 0.8)
a
b =
c
1/3
1/3
1/3
13/45
13/45
19/45
175/675
211/675
289/675
21/81
25/81
35/81
. . .
1/3 1/3 1/3
1/3 1/3 1/3
1/3 1/3 1/3
1/3 7/15 1/15
1/3 1/15 7/15
1/3 7/15 7/15
0.8 + 0.2
M [1/n]nxn
=
1/3 1/2 0
1/3 0 1/2
1/3 1/2 1/2
4-83Data Mining WS 2018/19
Übung 5.2.1
• Bit-Repräsentation: 𝑛2 Bit Speicherplatz
• Anzahl der Einsen: 𝑒
• Spärliche Repräsentation: 𝑒 ∙ 2 ∙ log 𝑛
𝑒 ∙ 2 ∙ log 𝑛 < 𝑛2 ⇔𝑒
𝑛2<
1
2 ∙ log 𝑛
Übung 5.2.3
A 3 B
B 2 A
A 3 C,D
B 2 D
C 0
D 2 B
C 0
D 2 C
4-85Data Mining WS 2018/19
Übung 5.3.1 ( = 0.8) Teil a)
A
B
C
D
1/4
1/4
1/4
1/4
9/15
2/15
2/15
2/15
27/75
16/75
16/75
16/75
9/21
4/21
4/21
4/21
. . .
0.8 + 0.2
M
0 1/2 1 0
1/3 0 0 1/2
1/3 0 0 1/2
1/3 1/2 0 0
1 1 1 1
0 0 0 0
0 0 0 0
0 0 0 0
1/5 3/5 1 1/5
4/15 0 0 2/5
4/15 0 0 2/5
4/15 2/5 0 0
=
top related