Information Retrieval 1 Page Rank Sommersemester 2009

Uwe Quasthoff Universität Leipzig Institut für Informatik [email protected]

Markov Chain Example 0.2 0.8

0: sunny

0.5 1: cloudy

0.5

2: rainy

0.3

0.3 0.4

π0 = 0.8 π0 + 0.5 π1 + 0.4 π2 π1 = 0.2 π0 + 0.3 π2 π2 = 0.5 π1 + 0.3 π2 π0 + π1 + π2 = 1 ⇒ π0 = 330/474 ≈ 0.696 π1 = 84/474 ≈ 0.177 π2 = 10/79 ≈ 0.126

U. Quasthoff

Information Retrieval 1

22

The Link Graph •

• 1. 2. 3. 4.

View documents as graph nodes and the hyperlinks between documents as directed edges. Can give weights on edges (links) based on position in the document weight of anchor term # of occurrences of link …

d4 d2

d6

d7 d9 d1

U. Quasthoff

d5

Information Retrieval 1

d3 d8

23

The Link Matrix • • • •

An adjacency matrix of the link graph. Each row corresponds to the OutLinks of a vertex Each column corresponds to the Inlinks of a vertex Often normalize columns to sum to 1 so the dot-product with self is 1.

d4

d5 d2

d7 d9 d1

U. Quasthoff

d6

Information Retrieval 1

d3 d8

24

The Link Matrix

U. Quasthoff

0

0

0

0

0

0

1

1

1

1

0

0

0

1

0

0

0

1

0

0

0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

1

0

0

1

0

0

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

1

0

0

1

0

0

0

0

0

0

d4

d5 d2

d6

d7

Information Retrieval 1

d9 d1

d3 d8

25

Google: Page Rank (1) • • •

Goal: to give a total order (rank) on the “importance” of all pages they index Possible Method: count the number of in-links. Problems?

d4

d5 d2

d6

d7 d9 d1

U. Quasthoff

Information Retrieval 1

d3 d8

26

Google: Page Rank (2) • • • •



Refined Method: weigh the source by its importance. Seems like this is a self recursive definition. Imagine the following: Jane Surfer, has a lot of time to waste, and randomly selects an outgoing link each time she gets to a page. She counts how often she visits each page.

d4

d5 d2

d6

d7 d9 d1

d3 d8

Problem? U. Quasthoff

Information Retrieval 1

27

Google: Page Rank (3) Stationary probability of a Markov Chain. Transition probability matrix is simply matrix with equal probability of leaving on each link

Remaining problem: Gives too high of a rank to the Yahoo’s of the world, and too low to clusters with low connectivity into the cluster. Solution: With some probability jump to a random page instead a random outgoing link.

Transition probability matrix is:

T = εU + (1 − ε ) A U is the uniform matrix, and A is the normalized link matrix (each column sums to 1). U. Quasthoff

Information Retrieval 1

28

Google: Page Rank (4) Want to find π, such that Tπ = π This corresponds to finding the principal eigenvector. Methods: – Power method: iterate pi+1 = Tpi until it settles pick p0 randomly, decomposing p0 into eigenvectors a1 e1 + a2 e2 + … we have pi = λ1i a1 e1 + λ2i a2 e2 + … – Multilevel method: solve on contracted graph, use as initial vector for power method on the expanded graph. – Lancoz method: diagonalize, then iterate All methods are quite expensive

U. Quasthoff

Information Retrieval 1

29

Example: Page Rank Computation 1

2

ε = 0.2

3 T

T

⎛ 0.0 0.5 0.5 ⎞ ⎟ ⎜ P = ⎜ 0.1 0.0 0.9 ⎟ ⎜ 0.9 0.1 0.0 ⎟ ⎠ ⎝ T

T

⎛ 0.333 ⎞ ⎛ 0.333 ⎞ ⎛ 0.439 ⎞ ⎛ 0.332 ⎞ ⎟ ⎟ ⎟ ⎟ (0) ⎜ (1) ⎜ (2) ⎜ (3) ⎜ Π ≈ ⎜ 0.333 ⎟ ⇒ Π ≈ ⎜ 0.200 ⎟ ⇒ Π ≈ ⎜ 0.212 ⎟ ⇒ Π ≈ ⎜ 0.253 ⎟ ⎜ 0.333 ⎟ ⎜ 0.466 ⎟ ⎜ 0.346 ⎟ ⎜ 0.401 ⎟ ⎝ ⎝ ⎝ ⎝ ⎠ ⎠ ⎠ ⎠

π1 = 0.1 π2 + 0.9 π3 π2 = 0.5 π1 + 0.1 π3 π3 = 0.5 π1 + 0.9 π2 π1 + π2 + π3 = 1 U. Quasthoff

⎛ 0.385 ⎞ T ⎛ 0.491 ⎞T ⎟ ⎟ (4) ⎜ (5) ⎜ ⇒ Π ≈ ⎜ 0.176 ⎟ ⇒ Π ≈ ⎜ 0.244 ⎟ ⎜ 0.527 ⎟ ⎜ 0.350 ⎟ ⎝ ⎝ ⎠ ⎠

⇒ π1 ≈ 0.3776, π2 ≈ 0.2282, π3 ≈ 0.3942 Information Retrieval 1

30

Wer benutzt wen?

U. Quasthoff

Information Retrieval 1

31

U. Quasthoff

Information Retrieval 1

32

Linkfarmen

Linkfarmen Als Linkfarm wird eine Ansammlung von Webseiten oder ganzen Domänen im Web bezeichnet, die primär einem Zwecke dient: möglichst viele Links auf eine andere Webpräsenz zu legen. Dabei sind die einzelnen Seiten einer solchen Linkfarm vielfach einander sehr ähnlich oder überhaupt identisch. Die Erstellung solcher Linkfarmen dient der (als Suchmaschinen-Spamming bekannten) Manipulation von Suchmaschinen wie Google, um die verlinkte Website in deren Katalogen möglichst auf den ersten Platz zu bringen. Google benutzt nämlich die Anzahl der auf eine Webseite gelegten Links als Maßstab für die Wertschätzung dieser Seite durch die Internetgemeinde. (aus Wikipedia, der freien Enzyklopädie) Wieso ist die obige Erklärung nur sehr begingt korrekt? Wie wirksam sind Linkfarmen wirklich?

U. Quasthoff

Information Retrieval 1

34

Was ist eine Linkfarm? • • • • •

Ansammlung von Webseiten oder ganzen Domänen im Web Webseiten sind untereinander sehr stark verlinkt Webseiten sind inhaltlich sehr ähnlich oder sogar identisch dient der Manipulation von Suchmaschinen d.h. verlinkte Webseiten sollen für Suchanfragen auf die ersten Plätze der Trefferliste gebracht werden • auch als ffa (free for all) bezeichnet

U. Quasthoff

Information Retrieval 1

35

Entstehung einer Linkfarm • Anlegen vieler neuer Domains (bzw. einer neuen Domain) • Erzeugung vieler untereinander verlinkten Webseiten auf diesen Domains mittels geeigneter Programme (z.T. mehrere tausend Seiten) • Webseiten enthalten Schlüsselworte, die untereinander in gewissem Kontext stehen • Webseiten teilweise aufwendig gestaltet (Verschleierung) • auf fertige Linkfarm werden Links zu Seiten der Kunden gelegt

U. Quasthoff

Information Retrieval 1

36

U. Quasthoff

Information Retrieval 1

37

Beispiele Url: http://www.bikini.designer-mode-schenken.de/ Url: http://www.skifahren.designer-mode-schenken.de/ Url: http://www.designer.designer-mode-schenken.de/ ...

U. Quasthoff

Information Retrieval 1

38

Auswirkungen von Linkfarmen bei HITS Beispiel: Suche nach „wireless phone company“ bei Yahoo Rank 1 2 3 4 5 6 7 8 9 10

URL http://www.lowcostwireless4u.com/ http://www.cellularratesonline.com/ http://www.lowcostwirelessrates.com/ http://www.cellphoneonlinerates.com/ http://www.cheapwireless4u.com/ http://www.newpurple2.com/ http://www.red4dir.com/ http://www.a ordablecellphonerates.com/ http://www.a ordablecellphonerates.com/ cellular-phone-company.html http://www.lowcostwirelessrates.com/ cell-phone-company.html

U. Quasthoff

Information Retrieval 1

39

Identifizieren von Linkfarmen -Motivation• • •

Seiten innerhalb von Linkfarmen sind sehr stark verlinkt Auffinden der Seiten einer Linkfarm, die als Kern („seed set“) fungieren Identifikation anderer, neuer Seiten als Linkfarmmitglied, wenn ein- und ausgehende Links zum Kern existieren

U. Quasthoff

Information Retrieval 1

40

Identifizieren von Linkfarmen -Problemstellungen-



1.

Einen entsprechenden Kern einer Linkfarm finden



2.

Iteratives Verfahren zum Auffinden zusätzlicher Seiten

U. Quasthoff

Information Retrieval 1

41

Identifizieren von Linkfarmen Algorithmus zum Auffinden des Kerns • • • • •

Betrachten der Seiten der eingehenden Links und die Seiten der ausgehenden Links einer Seite Herausfiltern der Seiten, die auf anderen Domänen liegen Bilden des Durchschnitts (Verbesserung: Subdomänen auf Hauptdomänen zurückführen) Festlegen eines Schwellwertes β wenn lCl ≥ β wird die Seite in den Kern aufgenommen

U. Quasthoff

Information Retrieval 1

42

Identifizieren von Linkfarmen

Sei p eine URL, d(p) deren Domäne, N die Anzahl der Seiten und IN(p) bzw. OUT(p) die eingehenden bzw. ausgehenden Links von p.

1. ∀i ∈ IN ( p ) : (d (i ) ≠ d ( p ) ∧ d (i ) ∉ INdomain( p )) ⇒ add d (i ) in INdomain( p) 2. ∀k ∈OUT ( p) : (d (k ) ≠ d ( p) ∧ d (k ) ∉OUTdomain( p)) ⇒ add d (k ) in OUTdomain( p) 3. ( INdomain ( p ) ∩ OUTdomain ( p )) ≥ β ⇒ add p in Kern

4. wiederhole 1. bis 4. für alle gegebenen Seiten 5. Setze für jede Seite im Kern den Eintrag im Array A[N] auf 1.

U. Quasthoff

Information Retrieval 1

43

Identifizieren von Linkfarmen

• Annahme: verschiedene Domänen • Schwellwert β=2 • INdomain(A) = [C,D,E] • OUTdomain(A) = [B,C,D] • Schnitt: [C,D] ≥ 2 Æ A kommt in den Kern • analog C und D • Æ Kern = [A,C,D]

U. Quasthoff

Information Retrieval 1

44

Identifizieren von Linkfarmen

• 2. Schritt: Algorithmus zum Auffinden zusätzlicher Seiten (ParentPenalty)

U. Quasthoff

Information Retrieval 1

45

Identifizieren von Linkfarmen

• • • • •

Struktur von Linkfarmen variiert einige Seiten konnten eventuell nicht aufgespürt werden diese Seiten müssen mit dem Kern verbunden sein Schwellwert ε falls Anzahl der ausgehenden Links einer Seite p zu Seiten im Kern größer ε Æ p gehört zur Linkfarm • alle Seiten, die auf p verlinken sind auch zu untersuchen Æ Iterativer Prozess • Seiten können in der selben Domäne sein

U. Quasthoff

Information Retrieval 1

46

Identifizieren von Linkfarmen Algorithmus zum Auffinden zusätzlicher Seiten (ParentPenalty) Sei A[N] der Array aus dem 1. Schritt und ε der Schwellwert.

1. ∀ p ∈ A[ N ] mit A[ p ] = 0 : untersuche OUT ( p )

2. Setze b = 0 3. ∀k ∈ OUT ( p ) : A[k ] = 1 ⇒ b = b + 1 4. b ≥ ε ⇒ Setze A[ p ] = 1 5. Wiederhole 1. bis 4. solange, bis A sich nicht mehr ändert

U. Quasthoff

Information Retrieval 1

47

Identifizieren von Linkfarmen

• • • • • •

U. Quasthoff

Schwellwert ε = 2 |OUT(B)| = 1 |OUT(E)| = 2 |OUT(F)| = 0 Æ E gehört zur Linkfarm Kern = [A,C,D,E]

Information Retrieval 1

48

Umgang mit den Ergebnissen

• Löschen der Seiten aus dem Graph ?



Æ in der Realität zu streng

U. Quasthoff

Information Retrieval 1

49

Umgang mit den Ergebnissen

• Bsp.: – Unternehmen hat mehrere Webseiten (und Produkte) Æ sehr stark verlinkt – Links zwischen diesen Seiten betrachten: • 1. Wert der Links minimieren z.B.: 1/k mit k Anzahl der ausgehenden Links • 2. Wert der Links auf 0 setzen, d.h. löschen

U. Quasthoff

Information Retrieval 1

50