Pozycjonowanie wyników w wyszukiwarkach
Agnieszka Nowak - Brzezioska
Wprowadzenie
• Nie sprawdzają się już dawne metody do pozycjonowania wyników wyszukiwania wg częstości słów, pozycji słów w tytule, adresu czy struktury dokumentu HTML. Nie brały one pod uwagę popularności strony, jej oceny czy zaufania do niej przez użytkowników WWW.
• Postanowiono szukad takich algorytmów, które będą ustalad pozycję strony poprzez różne metody rankingu stron w zasadzie na podstawie struktury linków.
Dwa algorytmy
• Page Rank
• HITS
Oba zakładają, że strona powinna byd tym bardziej popularna im więcej stron się do niej odwołuje (a więc im więcej stron ma link do niej w swoich linkach wychodzących).
Page Rank - Google
• Autorzy: Larry Page, Sergey Brin. (1998r)
• Zastosowanie: Google.com
• Bazuje na strukturze hiperlinków (zbiorów dokumentów).
• Efekt: na zadane zapytanie Google znajduje strony relewantne względem zapytania i przedstawia wyniki jako listę zgodnie z rankingiem ważności tych stron wg PageRank.
Historia PageRank
• W 1996 roku Lary Page i Sergey Brin, studenci uniwersytetu Stanford opracowali i zastosowali algorytm do około 60 milionów stron, nazwali go PageRank (nazwa pochodzi od nazwiska jednego z twórców).
• Zbudowali system wyszukiwania oparty o algorytm PageRank, nazwany Backrub.
Filozofia PageRank
• Znajdź strony internetowe zawierające fragmenty zapytania
• Oblicz relatywne ważności tych stron
• Sortuj strony według ich relatywnej ważności
Czynniki odpowiedzialne za ważności strony
• Fragmenty zapytania w tytule, stopce oraz ciele strony.
• Wielkośd czcionki, kolor, częstotliwośd występowania słowa
• Anchor text
• PageRank
• Inne czynniki
Założenia wstępne
• Przedstawmy sied stron w postaci grafu skierowanego
• Załóżmy, że z każdej strony u możemy dostad się do innej strony v po przez odnośnik
• Załóżmy, że nie ma możliwośd utknięcia na stronie
• Wyobraźmy sobie internautę klikającego losowo w odnośniki w nieskooczonośd
• Internauta zaczyna z losowo wybranej strony u z pewnym prawdopodobieostwem po[u], gdzie
• Z pewnym prawdopodobieostwem p1[v] internauta znajdzie się na stronie v
1 ] [
u
o u p
Jak funkcjonuje PR ?
• PageRank może byd zainstalowany z popularnym toolbarem http://toolbar.google.com/).
• Wartości PR są w zakresie 0 – 10 i odpowiadają skali logarytmicznej (o podstawie 10):
Toolbar PageRank Real PageRank
0 0-10
1 10-100
2 100-1000
3 1000-10000
4 10000-100000
5 itd
• Algorytm opracowany dla Google.com. Polega na losowym przemieszczaniu się po łączach i zliczaniu liczby odwiedzanych stron. Im więcej razy trafi na tę samą stronę, tym jest ona popularniejsza. Liczba odwiedzin uzyskana w ten sposób nazywa się PageRank. Zależnośd ta jest zdefiniowana rekurencyjnie:
OutDegree(u) - stopieo wyściowy wierzchołka (strony) czyli ilośd wychodzących krawędzi (hiperłączy),
N - sumaryczna liczba wszystkie wierzchołków w grafie sieci Web.
Zauważmy, że algorytm zachowuje własnośd autorytetów (mają wysoki PageRank).
Algorytm_PageRank( B : zbior_dokumentow_Web; p : real ) var d : dokument_Web;
PageRank : array[] of real;
begin
for d in B do PageRank[d] := 0;
d := losowa_strona(B);
while true begin
PageRank[d] := PageRank[d] + 1;
if random > p then begin
{ idz do dowolnego linku } d := losowe_lacze(d);
end else
{ wybierz nowa losowa strone d } d := losowa_strona(B);
end;
end;
Algorytm wykorzystuje zbiór dokumentów webowych uprzednio zindeksowanych.
Natomiast parametr p opisuje zachowanie tzw. losowego surfera, który z prawopodobieostwem 1-p wybiera losowo jedno z łączy lub z prawdopodobieostwem p rozpoczyna surfowanie od losowo wybranej nowej strony.
Model Matematyczny
Założenia modelu
• Jeśli strona „j” linkuje do strony „i” wówczas komórka (i,j) wynosi 1/ni, gdzie ni to liczba linków wychodzących ze strony i-itej.
• Jeśli nie ma połączenia między stroną „i” i „j”
wówczas algorytm wstawia w każdą komórkę kolumny „i” wartośd „1/N”.
• Page D ma PR=0.15 mimo, ze żadna strona nie głosuje na tę stronę. Czy to poprawnie ?
• PR(A) = (1-d) + d (PR(T1)/C(T1) + … + PR(Tn)/C(Tn))
• A więc jeśli strona D nie ma żadnych linków do niej
prowadzących to równanie przyjmuje postad:
• PR(A) = (1-d) + d * (0) = 0.15
• A wiec nie ważnie ile razy
wykonamy algorytm wartości będzie taka cały czas.
Observation: every page has at least a PR of 0.15 to share out. But this may only be in theory – there are rumours that Google undergoes a post-spidering phase whereby any pages that have no incoming links at all are completely deleted from the index…
Wyniki
• a: 0.00000 b: 0.00000 c: 0.00000 d: 0.00000
• a: 0.15000 b: 0.21375 c: 0.39544 d: 0.15000
• a: 0.48612 b: 0.35660 c: 0.78721 d: 0.15000
• a: 0.81913 b: 0.49813 c: 1.04904 d: 0.15000
• a: 1.04169 b: 0.59272 c: 1.22403 d: 0.15000
• a: 1.19042 b: 0.65593 c: 1.34097 d: 0.15000
• a: 1.28982 b: 0.69818 c: 1.41912 d: 0.15000
• a: 1.35626 b: 0.72641 c: 1.47136 d: 0.15000
• a: 1.40065 b: 0.74528 c: 1.50626 d: 0.15000
• a: 1.43032 b: 0.75789 c: 1.52959 d: 0.15000
• a: 1.45015 b: 0.76632 c: 1.54518 d: 0.15000
• a: 1.46341 b: 0.77195 c: 1.55560 d: 0.15000
• a: 1.49011 b: 0.78329 c: 1.57660 d: 0.15000
• a: 1.49011 b: 0.78330 c: 1.57660 d: 0.15000
• a: 1.49011 b: 0.78330 c: 1.57660 d: 0.15000
• a: 1.49011 b: 0.78330 c: 1.57660 d: 0.15000
• a: 1.49011 b: 0.78330 c: 1.57660 d: 0.15000
• Average pagerank = 1.0000
"Zaplanowany" PageRank
• Aktualnie Google Page Rank, jest najbardziej wiarygodnym wskaźnikiem, który dostarcza informację na temat popularności witryny w wyszukiwarce Google. Algorytmy Google przydzielają PR w skali od 0 do 10, gdzie oczywiście 0 to najniższa wartośd, a 10 najwyższa.
• Należy pamiętad, że ten wskaźnik nie jest zmieniany podczas każdej wizyty mechanizmów wyszukiwarki na stronie, a mniej więcej, raz na trzy miesiące. To dośd długi okres, jednak nie może on byd krótszy, aby nie obciążad serwerów Google.
• Wyszukiwarka Google nie tylko dodaje PR, może go również odejmowad w zależności od tego jak wartościowa strona jest na obecną chwilę, czyli jakie miejsce w rankingu Google zajmuje. Co należy zrobid, aby zwiększyd PR na swojej witrynie? Z pewnością zadbad o wartościowe linki zewnętrzne, prowadzące do witryny. A skąd wiadomo, że link jest wartościowy?
Oczywiście dowiemy się o tym, sprawdzając PR na danej stronie, im wyższy PR, tym wartościowszy link.
• Nie należy zapominad o odpowiednim tekście w linkach (anchor) , aby ta metoda wzmocnienia witryny miała sens.
Ile linków ? 1 2 3 4 5 6 7 8 9 10
Jaki PR ? 2 101 18 3 1 1 1 1 1 1 1
3 555 101 18 3 1 1 1 1 1 1
4 3055 555 101 18 3 1 1 1 1 1
5 16803 3055 555 101 18 3 1 1 1 1
6 92414 16803 3055 555 101 18 3 1 1 1
7 0.5 10^6 92414 16803 3055 555 101 18 3 1 1
8 2.8 10^6 0.5 10^6
92414 16803 3055 555 101 18 3 1
9 15 10^6 2.8
10^6
0.5 10^6 92414 16803 3055 555 101 18 3
10 84 10^6 15
10^6
2.8 10^6 0.5 10^6 92414 16803 3055 555 100 18
Tabelkę należy czytad na przykład w ten sposób: Jeśli chcesz otrzymad Page Rank 4 na swojej stronie, musisz zadbad o 555 linków z PR 2 prowadzących do tej strony. Albo 18 linków z PR 4.
Jaka ilośd linków zewnętrznych o danym PR, musi prowadzid do Twojej witryny, aby algorytmy Google przydzieliły odpowiedni PR ?
10/10
Google.com(http://www.google.com) - Search engine that uses PageRank
php.net(http://www.php.net) - Official website of the PHP programming language
Microsoft.com(http://www.microsoft.com) - Official Microsoft product information/support site
Apple.com(http://www.apple.com) - Official website of Apple Computer, Inc., which also houses the iTunes Music Store lcs.mit.edu(http://www.lcs.mit.edu) - MIT Laboratory for Computer Science
www.w3.org- The World Wide Web Consortium (W3C) www.nature.com- Nature Publishing Group (NPG)
www.aaas.org- American Association for the Advancement of Science
www.phpBB.com- Free, open-source PHP-based Internet message board system 9/10
MySQL.com(http://www.mysql.com) - Official website of the MySQL (My Structured Query Language) database engine CNN.com(http://www.cnn.com) - Cable News Network
BBC.co.uk(http://www.bbc.co.uk) - British Broadcasting Corporation
Wolfram.com(http://www.wolfram.com) - Houses Mathworld and Scienceworld, two extremely comprehensive math and science resources
Wikipedia.org(http://www.wikipedia.org) - Free encyclopedia
www.phpBB.com- Free, open-source PHP-based Internet message board system Mozilla.org(http://www.mozilla.org) - Open-source Internet tools
SourceForge.Net(http://www.sourceforge.net)- Directory of open-source development projects archive.org(http://www.archive.org) - Home of the Internet Archive project
si.edu(http://www.si.edu) - Smithsonian Institution homepage stanford.edu(http://www.stanford.edu) - Stanford University And example of some lower pagerank sites are:
5/10 4/10
3/10 Cronikey Inc.(http://www.cronikeysinc.com)
2/10 iFobos Free Web Hosting Php/mySQL(http://www.ifobos.com) 1/10
0/10 Thousands of pages
Podsumowanie PR
• PageRank jest algorytmem numerycznym stosowanym do ustalenia wagi strony pod względem jej ważności i istotności.
• PageRank opiera się na tzw. linkach przychodzących do danej strony, ale nie tylko ich liczbie ale i ważności ( a wiec wartości PageRank tamtych stron).
• PR(A) = (1-d) + d(PR(t1)/C(t1) + … + PR(tn)/C(tn)).
• Złe linki przychodzące nie mają wpływu na Page Rank.
• Kolejne poziomy Page Rank coraz trudniej osiągnąd (logarithmic scale).
HITS (Hypertext Induced Topic Selection)
• Autor: John M. Kleinberg
• Zastosowanie: Ask.com
• Algorytm: 2 kryteria rangowania stron:
dostarczanie informacji w temacie strony i dostarczanie linków do stron będących w temacie szukanym w zapytaniu użytkownika.
• Wyróżnia się tzw. strony rekomendowane (autorytety, authorities) i strony startowe (hubs).
wprowadzenie
• HITS stands for Hypertext Induced Topic Search.
• Unlike PageRank which is a static ranking algorithm, HITS is search query dependent.
• When the user issues a search query, HITS first expands the list of relevant pages returned by a search engine and then produces two rankings of the expanded set of pages, authority ranking and hub ranking.
Założenia
• An authority is a page with many in-links.
The page may have good or authoritative content on some topic
• A hub is a page with many out-links.
The page serves as an organizer of the information on a particular topic and points to many good authority pages on the topic.
Autorytet
• Strona może byd uznana za autorytet jeśli dostarcza rzetelnej (relewantnej) informacji w zadanym temacie.
A site is very authoritative if it receives many citations. Citation from important sites weight more than citations from less-important sites
Strona startowa (hubs)
• Strona może kandydowad do bycia stroną startową jeśli zawiera linki do stron, które dostarczają relewantnej informacji względem zapytania.
Hubness shows the importance of a site. A good hub is a site that links to many
authoritative sites
Algorytm HITS (Hyperlink Induced Topic Search)
• Służy do znajdowania węzłów i autorytetów dla konkretnych słów kluczowych.
• Tworzy podgraf sieci WEB: wierzchołkami są poszczególne strony, a krawędziami są hiperłącza.
• Każdy węzeł i autorytet otrzymuje określoną wagę, na podstawie liczby krawędzi - zastosowanie zasady, że dobry autorytet jest wskazywany przez wiele dobrych węzłów, podczas gdy dobry węzeł wskazuje na wiele dobrych autorytetów.
•Algorytm_HITS( szukane_slowo : string ) var B, L, M : zbior_bazowy_dokumentow_Web;
•d, u : dokument_Web;
•odnosnik : link;
•a : array[] of real;
•h : array[] of real;
•begin L := 0; M := 0; { Buduj zbior bazowy dla szukanego slowa }
•B := standardowa_wyszukiwarka( słowo );
• for d in B do
•begin
–L := L + dokumenty_wskazujace_na( d );
–M := M + dokumenty_wskazywane_przez( d );
•end;
• B := B + L + M; { usuniecie linków miedzy stronami z tej samej domeny }
• for d in B do
–for odnośnik in d do
if domena( odnośnik ) = domena( d ) then
– usuń( d, odnośnik ); { iteracyjne obliczenie współczynników węzłów i autorytetów } for d in B do
begin
a[d] := 1; h[b] := 1;
end;
for d in B do begin
a[d] := 0; h[d] := 0;
for odnosnik in B do begin
if cel(odnośnik) = d then a[d] := a[d] + h[zrodlo(odnośnik)]
if zrodlo(odnosnik) = d then h[d] := h[d] + a[cel(odnośnik)]
end;
end;
Algorytm_HITS := najwieksze(h) + najwieksze(a);
end;
•Proces iteracyjny zbiega się do stabilnych wartości h i a. Ostatecznym wynikiem działania algorytmu jest lista węzłów i autorytetów z największymi współczynnikami poprawności.
Authority and Hubness
2
3
4
1 1
5
6
7 a(1) = h(2) + h(3) + h(4) h(1) = a(5) + a(6) + a(7)
Algorytm
• Algorytm jest iteracyjny
• Oblicza w każdej iteracji wagi stron jako autorytet i hub.
• Na wyjściu algorytmu otrzymujemy wektory dla autorytetu i huba – macierz A.
• Wektor autorytetu x jest wektorem własnym AAT zaś hub y jest wektorem własnym ATA
HITS Example
• {1, 2, 3, 4} - nodes relevant to the topic
• Expand the root set R to include all the children and a fixed number of parents of nodes in R
A new set S (base subgraph)
• Start with a root set R {1, 2, 3, 4}
Find a base subgraph:
HITS Example
BaseSubgraph( R, d)
1. S r
2. for each v in R 3. do S S U ch[v]
4. P pa[v]
5. if |P| > d
6. then P arbitrary subset of P having size d 7. S S U P
8. return S
HITS Example
HubsAuthorities(G)
1 1 *1,…,1+ Є R 2 a h 1
3 t 1 4 repeat
5 for each v in V
6 do a (v) Σ h (w)
7 h (v) Σ a (w)
8 a a / || a ||
9 h h / || h ||
10 t t + 1
11 until || a – a || + || h – h || < ε 12 return (a , h )
Hubs and authorities: two n-dimensional a and h
0 0
t
t t
t t
t t t
t t
t t
t -1
t -1
t -1
t -1 w Є pa[v]
w Є pa[v]
|V|
HITS Example Results
Authority Hubness
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Authority and hubness weights
http://matalon.org/search-algorithms/