Walka ze spamem przy wykorzystaniu TrustRank

Komentarze

Transkrypt

Walka ze spamem przy wykorzystaniu TrustRank
Walka ze spamem przy
wykorzystaniu TrustRank
(Na podstawie artykułu: „Combating Web Spam with TrustRank”)
Streszczenie
Wraz z rozwojem sieci, wyszukiwarki odgrywają kluczową rolę w coraz większym stopniu
pozwalając użytkownikom znaleźć interesujące informacje. Jednak dziś wyszukiwarki są poważnie
zagrożona przez złośliwy spam internetowy, który próbuje obalić bezstronność wyników wyszukiwania. Wyszukiwarki internetowe zwalczają obecnie spam internetowy przy wykorzystaniu różnych
często własnych zastrzeżonych technik. Omówiony artykuł jest próbą sformalizowania problemu i
ma na celu wprowadzenie kompleksowego rozwiązania pomocnego w wykrywaniu spamu internetowego.
Spamerskie strony internetowe korzystają z różnych technik w celu osiągnięcia wyższej niż
zasłużona pozycji w rankingu wyszukiwarki internetowej. Podczas gdy eksperci mogą ręcznie zidentyfikować spam, to jest to zbyt drogie, aby ręcznie sprawdzać tak ogromne ilości stron. W artykule
przedstawione zostały technik półautomatyczne do oddzielania renomowanych, dobrych stron od
spamu. Zasada polega na tym, że najpierw wybierany jest mały zestaw stron „materiału siewnego”
do ręcznej oceny przez ekspertów. Po ręcznym określeniu renomowanych/wartościowych stron
„materiału siewnego”, wykorzystywana jest struktura linków dostępnych w sieci w celu odkrycia
innych stron, które mogą być dobre. W artykule przedstawione zostały możliwe sposoby realizacji
selekcji „materiału siewnego” oraz odkrycia dobrych stron. Wyniki pokazują, że można skutecznie
odfiltrować spam ze znacznej części sieci, w oparciu o dobry „materiał siewny” określony poniżej
200 stron.
Wprowadzenie
Spam internetowy odnosi się do linkowania stron WWW, które są tworzone z zamiarem
wprowadzenia wyszukiwarek w błąd. Na przykład autorzy stron tworzą spam poprzez dodanie tysięcy słów kluczowych do strony głównej, często czyniąc je niewidzialnym dla ludzi, poprzez pomysłowe użycie kolorów, itp. Wyszukiwarka następnie indeksuje te dodatkowe słowa kluczowe i zwraca daną stronę w odpowiedzi na zapytanie z nią nie powiązane. Inną techniką spamowania Internetu jest umieszczenie dużej liczby fałszywych stron internetowych, wskazujących na jedną stronę
docelową. Ponieważ wiele wyszukiwarek bierze pod uwagę liczbę linków przychodzących, pozycja
strony docelowej prawdopodobnie wzrośnie i pojawi się wyżej w wynikach wyszukiwania.
Podobnie jak w przypadku spamu rozsyłanego przez pocztę email, określenie, czy strona lub
grupa stron jest spamem jest subiektywne. Jednak, podobnie jak w przypadku spamu e-mail, większość ludzi może łatwo zidentyfikować nachalny i rażący spam internetowy. Na przykład większość
zgodzi się, że jeśli duża część tekstu na stronie jest ukrywana przed użytkownikiem (jak wspomniano powyżej) i nie jest powiązana z głównym tematem strony, to strona została zbudowana z zamiarem wprowadzenia w błąd.
Podczas gdy większość ludzi zgodzi się, że są to rażące przypadki spamu internetowego, nie
oznacza to, że wykrycie takich przypadków jest łatwe dla komputerów/robotów wyszukiwarek.
Firmy do których należą wyszukiwarki zazwyczaj zatrudniają pracowników, którzy specjalizują się w
wykrywaniu spamu internetowej, stale skanując sieć w poszukiwaniu tego typu stron. Jeśli strona
ze spamem zostanie zidentyfikowany, wyszukiwarka przestanie indeksować treść takiej strony. Taki
proces wykrywania spamu jest jednak bardzo kosztowny i długotrwały, ale jest kluczem do sukcesu
w wyszukiwarkach, w przeciwnym razie jakość wyników wyszukiwania może znacznie się pogorszyć.
Ponieważ algorytmiczna identyfikacja spamu jest bardzo trudna, mechanizmy opisane w
artykule nie działają zupełnie bez pomocy człowieka. Głównym proponowany algorytm również
wymaga pomocy człowieka. Algorytm najpierw wybiera mały zestaw stron (tzw. „materiał siewny”), który musi być następnie zbadany przez człowieka, w celu określenia które ze stron są spamem (złe strony), a które nie (dobre strony). Dopiero wówczas, algorytm określa inne stron, które
mogą być dobre w oparciu o połączenia (linki) między nimi, a dobrymi stronami z „materiału siewnego”.
•
•
•
•
•
W omawianym artykule poruszone zostały następujące kwestie:
Sformalizowany został problem spamu internetowego oraz przedstawiony został algorytm
wykrywania spamu.
Zdefiniowane zostały miary badające skuteczność algorytmów wykrywania spamu.
Przedstawione zostały modele wyboru stron „materiału siewnego” do ręcznej oceny.
Przedstawiony został algorytm TrustRank do określenia prawdopodobieństwa, ze strony są
wartościowe.
Podsumowanie otrzymanych wyników oceny, która została przeprowadzona w oparciu o 31
mln stron internetowych zindeksowanych przez wyszukiwarkę AltaVista oraz wyników
ręcznego zbadania ponad 2000 serwisów internetowych
Wstęp
Model sieci
W prezentowanych algorytmach sieć została przedstawiona w postaci grafu składającego się
z zestawu stron (serwisów), będących wierzchołkami grafu oraz zestawu linków będących krawędziami grafu, łączącymi strony W przypadku kiedy z jednej strony do drugiej prowadzi kilka linków,
łączone są one w jeden link, a ponadto usuwane są wszystkie linki prowadzące z danej strony do
samej siebie. Rysunek 1 przedstawia bardzo prosty wykres czterech stron www i czterech linków.
1
2
3
4
Rysunek 1: Prosty graf stron internetowych
Strony, do których nie prowadzą żadne linki są nazywane „niepolecanymi” stronami, natomiast strony bez linków na zewnątrz są nazywane „niepolecającymi” stronami. Stron, które są jednocześnie 'niepolecanymi” i „niepolecającymi” to tzw strony „odizolowane”. Na przykład strona 1 z
rysunku 1 jest stroną „niepolecaną”, a strona 4 jest strona „niepolecającą”.
Wprowadzone zostały również dwie macierze reprezentujące graf sieci, które odgrywać będą dalej istotną rolę: macierz przejścia (T) i odwrócona macierz przejścia (U):
0

1
T =
0

0

0 0 0
 0 12


0 12 0 
0 0
U =
,

1 0 0
0 12


0 0
0 12 0 

0 0

1 0
.
0 1

0 0 
PageRank
PageRank jest powszechnie znanym algorytmem, który wykorzystuje informacje przekazywane przez linki, aby przypisać wszystkim stronom w sieci globalny wynik znaczenia. Model algorytmu opisanego w artykule opiera się na PageRank, tak więc poniżej przestawiony zostanie jego
krótki
opis.
Zasada kryjąca się za PageRank polega na tym, że dana strona internetowa jest ważna, gdy
kilka innych ważnych stron internetowych na nią wskazuje. Inaczej, PageRank opiera się na wzajemnym wspieraniu się stron.
PageRank jest rozwinięciem heurystyki, wedle której jakość tekstu jest proporcjonalna do
liczby tekstów na niego się powołujących. Ulepszenie zaproponowane w przypadku PageRank polega na ważeniu jakości odnośników wskazujących na rozpatrywaną stronę, ich własną wartością
PageRank. Innymi słowy: jeśli na daną stronę powołuje się strona, który sama ma wysoką ocenę,
ma to większe znaczenie, niż gdy na tą samą stronę powołuje się mało popularna strona.
PageRank można obliczyć iteracyjnie, na przykład, przy zastosowaniu metody Jacobiego.
Jednak podczas gdy w ściśle matematycznym znaczeniu, powtórzenia powinny być prowadzone aż
do zbieżności, to w przypadku algorytmów PageRank bardziej rozpowszechnione jest stosowanie
tylko stałej liczby powtórzeń M.
Ocena zaufania
Funkcje „Oracle” i „Trust”
Tak jak wspomniane zostało na początku, określenie, czy strona jest spamem jest subiektywne i wymaga ludzkiej oceny. W artykule sformalizowane zostało pojęcie ludzkiej kontroli strony
pod względem spamu i wprowadzona została binarna funkcja „Oracle” (wyrocznia), która zwraca
wartość 0 w przypadku gdy dana strona jest zła (tzn. jest spamem) i wartość 1 w przypadku kiedy
jest ona dobra (wartościowa).
1
2
3
5
6
4
*
7
dobra strona
zła strona
Rysunek 2: Fragment sieci składający się z dobrych (białe) i złych (czarne) stron
Rysunek 2 przedstawia siedem stron internetowych gdzie dobre strony są zaznaczone jako
białe, a złe strony jako czarne. W tym przykładzie, wywołując funkcję „Oracle” dla stron od 1 do 4,
funkcja zwróci wartość 1, a dla stron od 5 do 7 wartość 0.
Ponieważ wywołania funkcji „Oracle” są kosztowne i czasochłonne, tak więc należy unikać
sytuacji w której byłaby ona wywoływana dla wszystkich stron. Aby odkrywać dobre strony bez
odwoływania się do funkcji „Oracle” w przypadku wszystkich stron w sieci, w celu wyodrębnienia
przybliżonego zestawu dobrych stron, można powołać się na ważną obserwację empiryczną, a
mianowicie, że dobre strony rzadko wskazują na złe. Zasada ta jest dość intuicyjna, zakłada, że złe
strony są zbudowane tak aby wprowadzić wyszukiwarki w błąd, nie dostarczają użytecznych informacji. Dlatego osoby tworzące dobre strony nie mają powodów aby linkować do złych stron.
Jednak twórcy dobrych stron mogą również czasem zostać oszukani, więc nie da się całkowicie uniknąć linków ze stron dobrych do złych. (Na rysunku 2 istnieje jeden taki link prowadzący ze
strony 4 do strony 5, został on oznaczony gwiazdką). Na przykład, biorąc pod uwagę jakieś dobre,
ale niemoderowane forum, spamerzy mogą dołączać linki do stron spamerskich jako część wiadomości, wyglądającej pozornie jako niewinny post. W taki sposób dobre strony forum będą linkować
do złych stron. Innym przykładem może być sytuacja, kiedy to spamerska strona oferuje tzw „honey
pot”, czyli zestaw stron, które dostarczają przydatnych zasobów (np. kopie niektórych stron dokumentacji, itp), ale zawierają również ukryte linki do innych spamerskich stron. „Honey pot” przyciąga „nieświadomych” ludzi i zachęca do tego, aby wskazywali na niego, zwiększając tym samym pozycje w rankingu stron spamerskich.
Zasada ta nie działa w drugą stronę, a mianowicie strony spamerskie mogą i faktycznie często linkują do dobrych stron.
Do oceny stron, bez powoływania się na funkcję „Oracle”, dla każdej z nich powinno zostać
oszacowane prawdopodobieństwa, że dana strona jest dobra. Bardziej formalnie, zdefiniowana
została funkcja „Trust”, która daje zakres wartości od 0 (strona zła) do 1 (strona dobra).
Poniżej przedstawione zostaną trzy wartości funkcji „Trust”, które będą wykorzystywane w
dalszej części dokumentu:
Najlepiej byłoby, gdyby dla każdej strony, funkcja „Trust” dała prawdopodobieństwo tego, że
jest ona dobra (równa 1) – wówczas byłaby to Idealna Własność Zaufania („Trust”). Aby to zilustrować, można rozważyć zbiór na przykład 100 stron i założyć, że wartość zaufania każdej z tych
stron wynosi powiedzmy 0,7. Ponadto wszystkie 100 stron powinno zostać ocenionych również
przy wykorzystaniu funkcji „Oracle”. Wtedy, jeśli funkcja „Trust” działa prawidłowo, dla 70 stron
ocena funkcji „Oracle” powinna być równa 1, a dla pozostałych 30 stron równa 0.
W praktyce bardzo trudno jest zachować, wykorzystując funkcję „Trust”, opisaną własność.
Jednak, mimo, że funkcja „Trust” w większości przypadków nie daje dokładnego pomiaru prawdopodobieństwa, może być przydatna do porównania w odniesieniu do pozostałych stron czy ich
prawdopodobieństwo jest dobre. Oznacza to, że jeśli mamy dwie strony i pierwsza z nich w porównaniu z drugą, ma niższą wartość zaufania („Trust”), wówczas informuje to o tym, że mniej prawdopodobne jest to, że pierwsza strona jest dobra niż strona druga. W rezultacie taka funkcja jest
przydatna do porządkowania wyników wyszukiwania, dając pierwszeństwo stronom, w przypadku
których istnieje większe prawdopodobieństwo, że są dobre. Jest to tzw. Porządkująca Własność
Zaufania („Trust”)
Kolejnym sposobem na określenie zaufania jest wprowadzenie Progowej Własności Zaufania („Trust”). Oznacza to, że jeśli dana strona otrzymuje wynik powyżej określonej wartości progowej, wówczas wiadomo, że jest ona dobra. W przeciwnym wypadku nie można nic powiedzieć o
takiej stronie. Taka funkcja „Trust”, powinna przynajmniej być w stanie określić, że pewien podzbiór
stron z wynikiem zaufania powyżej określonej wartości progowej jest dobry, jednak funkcja ta nie
porządkuje stron w oparciu o ich prawdopodobieństwo bycia dobrymi.
Miary oceny
W tej części przedstawione zostały trzy miary, które pozwalają ocenić, czy dana funkcja
„Trust” spełnia niektóre pożądane właściwości.
Wybrany został przykładowy zestaw X stron internetowych, dla których można powoływać
się zarówno na funkcję „Trust” jak i „Oracle”. Wówczas można ocenić jak dobrze pożądana własność
jest osiągnięta w tym zbiorze.
Pierwsza miara, „Pairwise orderedness”, jest związana z porządkującą własnością zaufania.
Dla wszystkich stron wywoływana została binarna funkcja sygnalizująca jeśli zła strona otrzymała
ocenę zaufania „Trust” równą lub wyższą niż strona dobra (naruszenie porządkującej własności zaufania). Następnie wygenerowano ze zbioru X podzbiór P uporządkowanych par stron (p, q) i obliczono ułamek dla tych par stron, dla których funkcja „Trust” nie popełniła błędu. Tak więc, jeśli
„Pairwise orderedness” wynosi 1, wówczas nie ma przypadków, aby funkcja „Trust” źle oceniła pary stron. Natomiast jeśli „Pairwise orderedness” wynosi 0, to funkcja „Trust” źle oceniła wszystkie
pary.
Kolejne dwie miary związane są z progową własnością zaufania. Istotne jest, aby myśleć o
wykonywaniu funkcji „Trust” w odniesieniu do powszechnie stosowanych miar „Precision” (precyzja) i „Recall” (kompletność) dla określonej wartości progowej. Precyzję definiujemy jako ułamek
dobrych stron mających wynik zaufania powyżej określonej wartości progowej do wszystkich stron
zestawu X, które maja wynik zaufania powyżej tej wartości. Podobnie definiujemy kompletność jako stosunek liczby dobrych stron z wynikiem zaufania powyżej określonej wartości progowej i
całkowitej liczby dobrych stron w zbiorze X.
Automatyzacja oceny zaufania
Aby wyznaczyć prawidłową funkcję zaufania („Trust”), rozpoczęto od prostych rozwiązań,
aby potem połączyć zebrane uwagi i zbudować algorytm TrustRank.
Biorąc pod uwagę ograniczony budżet L na wywołania funkcji „Oracle”, bezpośrednio wybrano losowy zbiór materiału siewnego S z L stron i wywołana dla tych stron funkcje „Oracle”.
Oznaczono podgrupy dobrych i złych stron materiału siewnego odpowiednio przez S+ i S-. Dla pozostałych stron, nie kontrolowanych przez eksperta, ustawiono ocenę zaufania na 1/2, aby zasygnalizować w ich przypadku brak informacji. Dlatego nazywamy tę funkcję „Ignorant Trust” (nie wiedza
zaufania)
Na przykład dla rysunku 2 i L równego 3, losowo wybrany zestaw nasion może wyglądać następująco: S = {1,3,6}. Niech o i t oznaczają odpowiednio wektory: wynik funkcji „Oracle” i ocenę
zaufania dla każdej ze stron. W tym przypadku:
o = [1, 1, 1, 1, 0, 0, 0],
t = [1, 1 /2 , 1, 1/2 , 1/2 , 0, 1/2 ].
Do oceny wyników funkcji „Ignorant Trust”, założono, że zbiór X składa się ze wszystkich 7
stron, i że brane są pod uwagę wszystkie możliwe 42 uporządkowane pary stron. Ocena „Pairwise
orderedness” wyniosła 17/21. Podobnie dla określonej wartości progowej na poziomie 1/2, precyzja
równa się 1, podczas gdy kompletność wynosi 1/2.
Rozprzestrzenianie zaufania
W kolejnym kroku automatyzacji oceny zaufania, skorzystano z przybliżonej izolacji dobrych
stron. Wybrano losowo zbiór S z L stron, na których wykonano funkcję „Oracle”. Potem, oczekując,
że dobre strony wskazują tylko na inne dobre strony, przypisano ocenę 1 do wszystkich stron, do
których można było dojść ze stron zbioru S+ w M lub mniej kroków. Pozostałe strony otrzymały
wartość 1/2. Ścieżka taka o maksymalnej długości M, nie może zawierać złych stron „materiału
siewnego”.
M
„Pairwise
Ordneredness”
Precyzja
Kompletność
1
2
3
19/21
1
17/21
1
1
4/5
3/4
1
1
Tabela 1: Wykonanie funkcji zaufania dla M kroków, M = {1,2,3}
Na przykład dla rysunku 2 i zbioru „materiału siewnego” S = {1,3,6}, ocena zaufania właściwa dla trzech różnych wartości M prezentuje się w następujący sposób:
M = 1 : t1 = [1, 1, 1, 1/2 , 1/2, 0, 1/2 ],
M = 2 : t2 = [1, 1, 1, 1, 1/2 , 0, 1/2 ],
M = 3 : t3 = [1, 1, 1, 1, 1, 0, 1/2].
Oczekiwano, że funkcja zaufania w M krokach wykonuje się lepiej niż funkcja „Ignorant
Trust”. Rzeczywiście, tabela 1 pokazuje, że dla M = 1 i M = 2, zarówno „Pairwise Orderedness”, jak i
kompletność rosną, a precyzja pozostaje na poziomie 1. Istnieje jednak spadek wydajności dla M =
3. Powodem jest to, że zła strona 5 otrzymuje ocenę na poziomie 1 ze względu na link od dobrej
strony 4 (oznaczony gwiazdką na rysunku 2).
Problem z zaufaniem osiąganym w M-krokach jest taki, że nie ma absolutnej pewności, że
strony osiągalne z dobrych „nasion” są rzeczywiście dobre. W rzeczywistości, im dalej od dobrych
stron „materiału siewnego”, tym mniej jest pewne, że strona jest dobra.
Na przykład, na rysunku 2 są 2 strony (tj. strona 2 i 4), które mają co najwyżej 2 linki od dobrych stron „materiału siewnego”. Jak obie są dobre, prawdopodobieństwo, że osiągniemy dobre
strony w maksymalnie 2 krokach wynosi 1. Podobnie, liczba stron osiągalnych z dobrej strony „materiału siewnego” w maksymalnie 3 krokach wynosi 3. Tylko dwie z nich (strony 2 i 4) są dobre,
podczas gdy strona 5 jest zła. Tak więc prawdopodobieństwo znalezienia dobrej strony spada do
2/3.
Osłabienie zaufania
Obserwacje z punktu poprzedniego sugerują, że zaufanie zmniejsza się im dalej od dobrej
strony „materiału siewnego”. Istnieje wiele sposobów na osiągnięcie tego osłabienia zaufania. Poniżej opisane zostały dwa możliwe schematy.
Rysunek 3 przedstawia pierwszy pomysł, który nazywano tłumieniem zaufania („trust dampening”). Do strony 2 istnieje jeden link od dobrej strony „materiału siewnego” (strona 1), w
związku z czym przypisuje się jej ocenę zaufania β gdzie β <1. Z kolei strona 3 jest dostępna w jednym kroku ze strony 2 (strona z oceną β) , dlatego dostaje ocenę β·β.
dobra strona
materiału siewnego
β2
β
1
β
β
2
t(1)=1
β2
3
t(3)= β2
t(2)= β
Rysunek 3: Tłumienie zaufania
Druga technika osłabiania zaufania, którą nazywano podziałem zaufania („trust splitting”),
oparta została na następującej obserwacji: staranność, z jaką ludzie dodają linki do swoich stron
jest często odwrotnie proporcjonalna do liczby linków na stronie. Oznacza to, że jeśli strona ma tylko kilka dobrych linków prowadzących na zewnątrz, to jest prawdopodobne, że wskazywane strony
są również dobre. Jeżeli jednak dobra strona ma bardzo dużo linków zewnętrznych to, jest bardziej
prawdopodobne, że niektóre z nich wskazują na strony złe.
Obserwacja ta prowadzi do pojęcia podziału zaufania, jakie rozprzestrzenia się do innych
stron: jeżeli pewna strona p ma swoją określoną ocenę zaufania i wskazuje na pewną ilość stron, to
każda z tych stron otrzyma od strony p ocenę w postaci ułamka jej zaufania i liczby stron na które
wskazuje. W tym przypadku rzeczywista ocena każdej strony będzie sumą ułamków ocen otrzymaną z wszystkich linków przychodzących. Im większa jest ta rzeczywista ocena, tym bardziej prawdopodobne, że dana strona jest dobra.
dobra strona
materiału siewnego
1/2
t(1)=1
1
5/12
1/2
3
t(2)=1
2
1/3
1/3
t(3)= 5/6
1/3
dobra strona
materiału siewnego
Rysunek 4: Podział zaufania
5/12
Rysunek 4 przedstawia podział zaufania. Dobra strona „materiału siewnego” (strona 1) posiada dwa linki zewnętrzne, więc rozprowadza po połowie swoją ocenę do obu stron, na które
wskazuje. Z kolei inna dobra strona „materiału siewnego” (strona 2) posiada trzy linki zewnętrzne,
więc każdej stronie na którą wskazuje przekazuje jedną trzecią swojej wartości. Ocena strony 3 będzie wówczas wynosić 1/2 +1/3 = 5/6.
Algorytm TrustRank
Algorytm TrustRank, oblicza ocenę zaufania przy wykorzystaniu grafów stron internetowych. Wejściem do algorytmu jest graf składający się z macierzy przejścia T i liczby stron internetowych oraz parametry, które kontrolują jego wykonanie (L, M – liczba powtórzeń/kroków, α –
współczynnik osłabienia).
W pierwszym kroku algorytm wykonuje funkcję wyboru stron „materiału siewnego”, która
zwraca wektor s. Dla przykładu z rysunku 2 funkcja ta zwraca następujący wektor:
s = [0,08, 0,13, 0,08, 0,10, 0,09, 0,06, 0,02].
W kolejnym kroku porządkowane są wszystkie strony materiału siewnego w oparciu o ich
ocenę zawartą w wektorze s. Dla omawianego przykładu otrzymano:
δ = [2, 4, 5, 1, 3, 6 , 7].
Oznacza to, że strona 2 jest najbardziej pożądaną stroną z „materiału siewnego”, kolejna
jest strona 4, i tak dalej.
W kroku trzecim wywoływana jest funkcja „Oracle” dla najbardziej pożądanych L stron „materiału siewnego”. W przypadku strony dobrej jej wartość ustawiana jest na 1, a w przypadku strony złej na 0 i na tej podstawie tworzony jest wektor d.
W kroku czwartym normalizuje się wektor d, tak aby jego wpisy sumowały się do 1. W
omawianym przykładzie, przy założeniu, że L = 3, a zbiór „materiału siewnego” jest {2,4,5}, strony 2
i 4 są dobrymi stronami, a wektor dystrybucji ocen statycznych ma postać:
d = [0, 1/2, 0, 1/2, 0, 0, 0].
W kroku piątym wyznaczana jest wartość TrustRank przy wykorzystaniu do obliczeń jednostronnego PageRank oraz wektora d. W kroku tym wykorzystywane są również opisane wcześniej:
„tłumienie zaufania” i „podział zaufania” – w każdej iteracji wynik zaufania danego węzła jest dzielony między sąsiadów i osłabiony przez współczynnik α .
Dla omawianego przykładu, zakładając, że α = 0,85 i M = 20, algorytm oblicza następujący
wynik:
t* = [0, 0.18, 0.12, 0.15, 0.13, 0.05, 0.05].
Warto zwrócić uwagę na to że ze względu na iteracyjny sposób rozprzestrzeniania oceny
zaufania, dobre strony „materiału siewnego” (tj. 2 i 4) nie mają wysokiej oceny zaufania, jednak
oceny te nadal są najwyższe spośród ocenianych stron. Dodatkowo warto zauważyć, że dobra strona z „materiału siewnego” (strona 4) ma niższą punktację niż dobra strona „materiału siewnego”
(strona 2). Jest to spowodowane strukturą linków w tym przykładzie: strona 2 posiada linki przychodzące z wysoko punktowanej strony (strona 3), podczas gdy strona 4, nie. Tak więc, przedstawiony algorytm TrustRank "poprawia" wyniki otrzymane w wyniku wywołania funkcji „Oracle”,
Analizując przykład można zauważyć, że algorytm TrustRank zwykle daje dobrym stronom
wyższą ocenę. W szczególności, trzy z czterech stron dobrych (tj. strony 2, 3 i 4), mają wyższy wynik
i dwie z trzech stron złych (tj. strony 6 i 7) mają niższe wyniki. Jednak nie udało się przypisać odpowiednich wyników stronom 1 i 5. Strona 1 nie była jednym z „nasion”, i nie miała linków przychodzących, dzięki którym mogłaby akumulować punkty, więc jej ocena pozostała równa 0. Wszystkie
dobre ale niepolecane stron internetowe są podobne traktowanie, chyba że są wybrane do zbioru
stron „materiału siewnego”. Zła strona 5 otrzymała wysoki wynik, ponieważ jest ona bezpośrednio
wskazana przez dobrą stronę .Dalej pokazane zostanie, że mimo błędów, jak te opisane powyżej,
algorytm TrustRank jest w stanie poprawnie zidentyfikować znaczną liczbę dobrych stron.
Wybór stron „materiału siewnego”
Wybór stron „materiału siewnego” polega na znalezieniu stron, które będą najbardziej
przydatne w identyfikacji dodatkowych dobrych stron. Jednocześnie, zbiór stron materiału siewnego powinien być nieduży, w celu ograniczenia liczby wywołań funkcji „Oracle”. Poniżej przedstawione zostaną dwie strategie wyboru stron „materiału siewnego”, dodatkowo istniej jeszcze strategia
polegająca na losowym wyborze stron.
Odwrotny PageRank
Ponieważ zaufanie wypływa z dobrych stron „materiału siewnego”, jednym z podejść jest
preferowanie stron, z których można dotrzeć do wielu innych stron. W szczególności, można wybrać strony „materiału siewnego”, na bazie liczby ich linków zewnętrznych. Dla przykładu z rysunku
2, odpowiednim zbiorem stron „materiału siewnego” dla L = 2 będzie S = {2,5}, ponieważ strony 2 i
5 mają największą liczbę linków prowadzących na zewnątrz (po dwa).
Podążając tym tokiem rozumowania, zakres ten można zwiększyć jeszcze bardziej. Można
budować zestaw stron „materiały siewnego” z tych stron, które wskazują na wiele stron, które to
również prowadzą do wielu stron i tak dalej. Takie podejście prowadzi do schematu ściśle związanego z PageRank, różnica jest taka, że w tym przypadku znaczenie strony zależy od liczby linków
wychodzących a nie przychodzących, w związku z czym algorytm ten nazwano odwrotnym PageRank. Obliczenia są takie same jak w tradycyjnym algorytmie PageRank, z takim wyjątkiem, że wykorzystywana jest odwrócona macierz przejścia U zamiast zwykłej macierzy przejścia T.
Dla przykładu z rysunku 2, odwrócony algorytm PageRank (α= 0,85, M = 20) daje wynik:
s = [0,08, 0,13, 0,08, 0,10, 0,09, 0,06, 0,02].
Dla wartości L = 3, zbiór materiału siewnego S = {2,4,5}. Dobry zestaw nasion to S+ = {2,4},
więc strony 2 i 4 są używane jako punkty wyjścia do podziału punktów.
Ważne jest, aby pamiętać, że odwrotny PageRank jest heurystyczny. Początkowo, odwrotny
PageRank nie gwarantuje maksymalnego zasięgu pokrycia. Na przykład na rysunku 5 dla L = 2,
maksymalne pokrycie odbywa się poprzez zestaw nasion {1,3} lub {2,3}, jednak odwrotny PageRank
daje wektor ocen:
s = [0,05, 0,05, 0,04, 0,02, 0,02, 0,02, 0,02],
co prowadzi do materiału siewnego zbiór S = {1,2}.
1
4
2
5
3
6
7
Rysunek 5: Graf dla którego odwrotny PageRank nie daje maksymalnego zasięgu
Niemniej jednak, odwrócony PageRank jest atrakcyjny, ponieważ czas jego realizacji jest stosunkowo szybki.
Drugim powodem tego, dlaczego odwrotny PageRank jest heurystyczny jest to, że maksymalizacja zasięgu, może nie zawsze być najlepszą strategią. Na przykład zakładając dla grafu z rysunku 5, że występuje rozprzestrzenianie się zaufania przez podział bez tłumienia, gdy do „materiału siewnego” wybrana zostanie tylko strona 2 i okaże się ona być dobra, to każda ze stron: 4, 5 i 6
otrzyma wynik 1/3. Natomiast gdy wybrana zostanie tylko strona 3 i ona również okaże się być dobra, wówczas strona 7 dostanie ocenę 1. W zależności od ostatecznego celu, może być wskazane
użycie strony 3, ponieważ można być bardziej pewnym, że strona ta wskazuje na stronę, nawet
wtedy, gdy zbiór jest mniejszy. Jeśli jednak do porównania wykorzystywana jest wyłącznie ocena
zaufania, wówczas może być lepiej, aby dowiedzieć się więcej na temat stron, nawet z mniejszą dokładnością.
Wysoki PageRank
Do tej pory przyjęte było, że wartość określenia strony jako dobrej lub złej jest taka sama
dla wszystkich stron. Jednak może być istotne ustalenie dobrych stron, które jednocześnie pojawią
się wysoko w wynikach wyszukiwania. Ponieważ jest bardziej prawdopodobne, że użytkownicy są
bardziej zainteresowanych stronami znajdującymi się wysoko w wynikach wyszukiwania, bardziej
użyteczne wydaje się uzyskanie dokładnych wyników zaufania dla stron znajdujących się wysoko.
Tak więc, druga strategia wyboru zestawu stron „materiału siewnego” zakłada wprowadzenie preferencji dla stron z wysokim PageRank. Ponieważ strony z wysokim PageRank często prowadzą do innych stron z wysokim PageRank, to dobre wyniki zaufania rozprzestrzeniane będą również
na te strony, które mogą być na wysokich pozycjach w wynikach wyszukiwania.
Wyniki badania
Zestaw danych
W celu oceny wyżej opisanych algorytmów, został wykonany, przez autorów artykułu, eksperymenty z wykorzystaniem pełnego zestawu stron zindeksowanych przez wyszukiwarkę AltaVista
w sierpniu 2003 roku.
W celu zmniejszenia potrzeb obliczeniowych, badanie odbyło się na poziomie witryn, a nie
poszczególnych stron internetowych. (Przedstawione wyżej metody działają równie dobrze dla poszczególnych stron, jak i dla całych witryn.) Kilka miliardów stron zostało pogrupowanych w
31.003.946 witryny. Ponad jedna trzecia z tych stron (13197046) nie była wskazywana przez żadną
inną. Algorytm rozprzestrzeniania zaufania oparty jest na informacjach przekazywanych poprzez
linki przychodzące, więc ta grupa stron nie mogła zostać zróżnicowana. Na szczęście, niewskazywane witryny były nisko w rankingu wyników wyszukiwania (otrzymały identyczny, minimalny wynik
PageRank), więc nie miały znaczącego wpływu na prawidłowe oddzielenie dobrych i złych stron od
siebie.
Najpierw ręcznie ocenione zostały strony różnych witryn, w celu określenia czy są one spamem, czy nie, jak również wykonane zostały dodatkowe klasyfikacje. Ta ręczna ocena zajęła tygodnie, gdyż sprawdzanie witryny wiązało się z patrzeniem na wiele z jej stron, a także stron z nią
powiązanych w celu ustalenia, czy istnieje zamiar oszukania wyszukiwarki.
Zestaw stron „materiału siewnego” (seed set)
Pierwszy eksperyment polegał na porównani strategii odwrotnego PageRank i wysokiego
PageRank do wyboru „materiału siewnego”. Aby porównanie to odbyło się szybko, przeprowadzono eksperyment na syntetycznych grafach stron internetowych, które oddają podstawowe funkcje
związane ze spamem w Internecie. Strategia oparta na odwrotnym PageRank okazała się nieznacznie lepsza w identyfikacji przydatnego zestawu stron „materiału siewnego”, dlatego oparto się na
niej przy realizacji kolejnych eksperymentów.
Po uporządkowaniu witryn w oparciu o ich wyniki odwrotnego PageRank, skupiono uwagę
na najlepszych 25, 000 witrynach. Najpierw dokonano pobieżne oceny tych witryn w celu wyeliminowania niektórych problematycznych stron. Aby pozbyć się spamu usunięto z listy wszystkich
25.000 witryn, te które nie zostały wymienione w żadnym z najważniejszych katalogów internetowych, zmniejszając początkowy zbiór na około 7, 900. Poprzez pobieranie próbek witryn, które były
filtrowane, okazało się, że nieznaczna ilość stron renomowanych została usunięta w procesie.
Z pozostałych 7.900 witryn, ręcznie ocenionych zostało 1250 najlepszych (zestaw nasion S) i
wybrano z nich 178 witryny do wykorzystania jako dobre „nasiona”. Na stosunkowo niewielki rozmiar zbioru dobrych stron „materiału siewnego” (S +) miały wpływ bardzo rygorystyczne kryteria
wyboru, które zostały przyjęte.
Próba/zestaw stron do oceny
W celu oceny miar przedstawionych wcześniej wybrano zbiór witryn X, dla których znana
była ocena „Oracle”. Próbę tą ustalono na 1000 witryn, nie została ona wybrana losowo, gdyż. z
próby losowej, duża liczba witryn byłaby bardzo mała i/lub miała niewielki PageRank, a tak jak zaznaczono wcześniej ważniejsze jest poprawne wykrywanie spamu w przypadku stron z wysokim
PageRank, ponieważ strony te będą częściej pojawiać się wysoko w wynikach wyszukiwania.
W celu zapewnienia różnorodności, przyjęto następujące metody pobierania próbek. Wygenerowano wykaz witryn w porządku malejącym względem ich PageRank, i podzielono je na 20
segmentów. Każdy z segmentów zawierał inną liczbę witryn, wybranych na postawie oceny PageRank (co 5 procent wartości całego wyniku PageRank.) W związku z tym pierwszy segment zawierał
86 witryn o najwyższym PageRanku, segment 2, następne 665 o niższym PageRank, a 20 segment
zawierał 5 milionów witryn, do których przypisano najniższy PageRank.
Rysunek 6: Skład ocenianej próby witryn
Przykładowy zestaw 1000 witryn zbudowano wybierając losowo po 50 witryn z każdego
segmentu. Następnie wykonano ręczna ocenę „Oracle” na tej próbie witryn, określając czy są one
spamem czy nie. Wynik procesu oceny został przedstawiony na rysunku 8, wykres kołowy, który
pokazuje w jaki sposób próba rozkłada się na różne rodzaje witryn. Okazało się, że można użyć 748
z wszystkich witryn należących do próby w celu oceny TrustRank:
• Strony renomowane: 563 witryn zawierających wysokiej jakości treści z zerową lub nieistotną statystycznie ilością linków wskazujących na witryny spamerskie.
•
•
•
Strony organizacji: 37 witryn należących do organizacji. Podczas gdy wszystkie z nich były
dobrymi stronami, to większość ich linków była automatyczna, dlatego zdecydowano się
dać im odrębną etykietę, aby móc śledzić je oddzielnie.
Strony reklamowe: 13 witryn działających jako cele dla banerów reklamowych. Na tych
stronach brak jest rzeczywiście przydatnych treści i ich wysokie noty PageRank wynikają wyłącznie z dużej liczby automatycznych linków, które otrzymują. Niemniej jednak, nadal kwalifikują się jako dobre strony, bez żadnych oznak działalności spamerskiej.
Spam: 135 witryn przybierających rożne formy spamu. Uznano te witryny za złe
Z tych 748 witryn utworzono zbiór próby X. Pozostałe 252 witryny zostały uznane za nieużyteczne dla oceny TrustRank z różnych powodów:
• Strony prywatne: 22 z witryny były utrzymywane na prywatnych serwerach, było niemożliwe, albo sklasyfikować je jako złe lub dobre.
• Alias: 35 witryn było lepiej znanych pod inną nazwą.
• Puste strony: 56 witryn było pustych, składających się z jednej strony, nie zawierającej przydatnych informacji.
• Nie istniejące strony: 96 witryn nie istniało, albo wyszukiwanie DNS nie powiodło się, lub
systemy nie były w stanie nawiązać połączenie TCP/IP z odpowiednim komputerem.
• Nieznane/niewiadome strony: 43 witryn których nie można było właściwie ocenić, w oparciu o dostępne informacje. Te witryny pochodziły głównie z Azji Wschodniej, co stanowiło
wyzwanie ze względu na brak angielskiego tłumaczenia.
Wyniki
W tym punkcie opisana została ocena skuteczności strategii rozmnożenia zaufania ze zbioru
dobrych nasion(stron) „materiału siewnego”, algorytmu TrustRank i innych miar opisanych wcześniej na podstawie wybranej próby X.
1.TrustRank: Wykorzystano algorytm TrustRank opisany w poprzednim rozdziale dla M = 20 powtórzeń i współczynnika osłabienia α = 0,85 dla 178 wybranych dobrych witryn „materiału siewnego”.
2. PageRank: PageRank był pierwotnie wysoce odporny na spamowanie, ponieważ jest środkiem o
globalnym znaczeniu (ograniczone, lokalne zmiany w strukturze linków mają niewielki wpływ na
ocenę). Tak więc sprawdzono, jak dobrze PageRank radzi sobie ze spamem obecnie. W tym celu
wykorzystano po prostu PageRank danej witryny jako jej wartość „Trust” (dla M = 20 powtórzeń, ze
wskaźnikiem osłabienia α = 0,85).
3. „Ignorant Trust”: Jak w pozostałych przypadkach wygenerowano ocenę „ignorant trust” witryn.
Wszystkim witrynom przypisana została ocena „ignorancji trust” na 1/2, z wyjątkiem 1250 stron
„materiału siewnego”, które otrzymały ocenę 0 lub 1.
Porównanie PageRank i TrustRank
W punkcie tym omówiona została różnica między PageRank i TrustRank. Należy pamiętać o
tym, że algorytm PageRank nie zawiera żadnej wiedzy na temat jakości serwisu, a także nie kara
wyraźnie złych witryn. W rzeczywistości, można się przekonać, że stosunkowo często jest tak, że
strony tworzone przez wykwalifikowanych spamerów otrzymują wysoki PageRank. Dlatego zaproponowano TrustRank, który miał rozróżnić dobre i złe strony: oczekiwano, że spamerskim witrynom
nie zostanie przypisany wysoki TrustRank.
100
90
80
70
60
50
40
30
20
10
0
2
1
4
3
6
5
8
7
10
9
12
11
14
13
15
16
1 7 -2 0
Rysunek 7: Dobre strony z podziałem na poszczególne segmenty PageRank
1 00
90
80
70
60
50
40
30
20
10
0
2
1
4
3
6
5
8
7
10
9
12
11
14
13
15
16
1 7 -2 0
Rysunek 8: Dobre strony z podziałem na poszczególne segmenty TrustRank
50
45
40
35
30
25
20
15
10
5
0
2
1
4
3
6
5
8
7
10
9
12
11
14
13
15
16
1 7 -2 0
Rysunek 9: Złe strony z podziałem na poszczególne segmenty PageRank
40
35
30
25
20
15
10
5
0
2
1
4
3
6
5
8
7
10
9
12
11
14
13
16
15
1 7 -2 0
Rysunek 10: Złe strony z podziałem na poszczególne segmenty TrustRank
Rysunki 7 - 10 dokonują porównania PageRank i TrustRank w odniesieniu do stosunku dobrych i złych witryn w każdym segmencie. Segmenty TrustRank zawierają tą samą liczbę witryn co
zdefiniowane wcześniej segmenty PageRank. Segmenty 17-20 zostały połączone zarówno dla PageRank, jak i TrustRank. (Zawierają one 13 milionów witryn, do których nie prowadza żadne linki.
Wszystkie te witryny otrzymały taki sam minimalny wyniki PageRank i zerowy wynik TrustRank, co
uniemożliiło ich uporządkowanie.)
Na rysunkach 7-10 na osi poziomej oznaczono numer segmentu odpowiednio dla PageRank
i TrustRank. Natomiast pionowej osi dla pierwszych dwóch rysunków odpowiada odsetek dobrych
witryn w określonym segmencie, czyli liczba dobrych witryn w danym segmencie podzielona przez
liczbę wszystkich witryn tego segmentu. Jako dobre zakwalifikowano: witryny renomowane, witryny z reklamami oraz witryny organizacji; ich względny udział zaznaczony został odpowiednio w postaci żółtych, zielonych i niebieskich fragmentów. Osi pionowej na kolejnych dwóch rysunkach od-
powiada odsetek złych witryn w określonym segmencie. Na przykład z rysunku 10 można odczytać,
że ze wszystkich użytych w próbie witryn segmentu 11 dla TrustRank 31% jest złych, itd.
Na podstawie tych danych można stwierdzić, że TrustRank jest istotnym narzędziem przy
wykrywania spamu. W szczególności warto zwrócić uwagę na to, że praktycznie nie ma spamu w
pierwszych pięciu segmentach TrustRank, podczas gdy występuje znaczny wzrost natężenia spamu
w kolejnych segmentach. Jednocześnie, zaskakujące jest, że prawie 20% w drugim z segmentów
PageRank to złe witryny. Dla PageRank, odsetek złych stron jest największy w segmentach 9 i 10
(50% spamu), co wskazuje, że prawdopodobnie jest to poziom do którego maksymalnie przeciętni
spamerzy mogą dociągnąć swoje strony.
8
7
6
5
4
3
2
1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 17-20
-1
Rysunek 11: „Degradacja” na poziomie segmentów TrustRank
Rysunek 11 przedstawia inne spojrzenie na związek między PageRank i TrustRank. Wprowadza pojęcie „degradacji” (demotion), zjawisko, to polega na tym, że niektóre witryny z wyższego
segmentu PageRank pojawiają się w niższym segmencie dla TrustRank. Negatywną degradacją jest
„promocja” (promotion), która występuje wówczas gdy strony z niższego segmentu PageRank pojawia się w wyższych segmentach dla TrustRank.
Na rysunku 11 na osi poziomej oznaczono numer segmentu PageRank. Oś pionowa pokazuje średnią liczbę segmentów, różniącą witryny z określonego segmentu PageRank od ich TrustRank.
Na żółto oznaczone są dobre witryny, a szare słupki oznaczają spam.
Na przykład z rysunku 11 można odczytać, że witryny spamerskie z segmentu 2 dla PageRank zostały zdegradowane średnio o 7 segmentów, lądując gdzieś około segmentu 9 dla TrustRank. Przykład promocji: dobre witryny z segmentu 16 dla PageRank, pojawiają się średnio o
jeden segment wyżej w porządku TrustRank.
Obrazek ten raz jeszcze pokazuje bardzo dobrze, że TrustRank skutecznie usuwa większość
spamu z najwyżej znajdujących się stron. Ponadto pokazuje również, że w większości przypadków
dobre strony zachowują swoje oryginalną pozycję w segmencie. W związku z można stwierdzić, że
TrustRank gwarantuje, że strony znajdujące się wysoko w wynikach wyszukiwania są dobre. Należy
jednak zaznaczyć, że TrustRank nie jest w stanie skutecznie oddzielić niżej znajdujących się witryn
dobrych od złych, ze względu na brak w przypadku tych stron cechy wyróżniających, jak chociażby
linków do nich prowadzących.
„Pairwise Orderedness”
W punkcie tym przedstawione zostało badanie wykorzystujące miarę „Pairwise Orderedness” do oceny TrustRank w odniesieniu do uporządkowanej wartości zaufania. W przypadku tego
eksperymentu, stworzono zbiór P wszystkich możliwych par witryn dla kilku podgrup próby X. Zaczęto od podzbioru próby X, składającego się ze 100 witryn z najwyższym PageRank, w celu sprawdzenia TrustRank dla najważniejszych witryn. Potem, stopniowo w porządku malejącym ze względu
na PageRank dodawano kolejne witryn do tego podzbioru. Ostatecznie użyto wszystkich par z 748
witryn należących do próby do obliczenia „Pairwise Orderedness”.
Rysunek 12: „Pairwise Orderedness”
Rysunek 12 pokazuje wyniki tego eksperymentu. Oś pozioma pokazuje liczbę witryn próby
użytych do oceny, a oś pionowa reprezentuje wynik „Pairwise orderedness” dla konkretnych rozmiarów próby. Na przykład, możemy wnioskować, że dla 500 witryn z próby z największym PageRank, TrustRank otrzymuje wynik „Pairwise orderedness” wynoszący około 0.95.
Rysunek 12 pokazuje również wynik „Pairwise orderedness” dla „Ignorant Trust” i PageRank. Wynik „Pairwise orderedness” dla „Ignorant Trust” reprezentuje przypadki, gdy nie ma prawie żadnych informacji na temat jakości witryn. Podobnie wynik „Pairwise orderedness” dla PageRank pokazuje, jak bardzo znajomość „znaczenia” może pomóc w rozróżnieniu dobrych i złych
stron. Jak widać, TrustRank stale przewyższa zarówno „Ignorant Trust” jak i PageRank.
Precyzja i Kompletność
Ostatni zestaw wyników eksperymentalnych, pokazano na rysunku 13, przedstawia on wyniki TrustRank w odniesieniu do parametrów precyzji i kompletności. Jako wartość progową użyto
graniczną ocenę TrustRank, która oddziela 17 segment TrustRank. Na osi poziomej oznaczono nu-
mer segmentu, natomiast wyniki dla precyzji i kompletności przedstawione zostały na osi pionowej.
Rysunek 13: Precyzja i kompletność
TrustRank przypisuje najwyższe oceny dobrym witrynom, a odsetek złych zwiększa się proporcjonalnie jak przesuwamy się w kierunku niższych wyników. Co za tym idzie, precyzja i kompletność przedstawiają odpowiednio liniowy spadek i wzrost. Warto zauważyć, że wysoki wynik precyzji (0,82) związany jest z tym, że zbiór próby składał się w większości z dobrych witryn, z których
wszystkie były "istotne".

Podobne dokumenty