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 00 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 3 mln stron internetowych zindeksowanych przez wyszukiwarkę AltaVista oraz wyników ręcznego zbadania ponad 000 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 przedstawia bardzo prosty wykres czterech stron www i czterech linków. 3 4 Rysunek : 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 z rysunku 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 0 0 0 0 T = 0 0 0, 0 0 0 0 0 0 0 0 0 U = 0 0. 0 0 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ść w przypadku kiedy jest ona dobra (wartościowa). 3 4 * 5 6 7 dobra strona zła strona Rysunek : Fragment sieci składający się z dobrych (białe) i złych (czarne) stron Rysunek 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 do 4, funkcja zwróci wartość, 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 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 (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 ) wówczas byłaby to Idealna Własność Zaufania ( Trust ). Aby to zilustrować, można rozważyć zbiór na przykład 00 stron i założyć, że wartość zaufania każdej z tych stron wynosi powiedzmy 0,7. Ponadto wszystkie 00 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, 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, 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 /, aby zasygnalizować w ich przypadku brak informacji. Dlatego nazywamy tę funkcję Ignorant Trust (nie wiedza zaufania) Na przykład dla rysunku i L równego 3, losowo wybrany zestaw nasion może wyglądać następująco: S = {,3,6}. Niech o i t oznaczają odpowiednio wektory: wynik funkcji Oracle i ocenę zaufania dla każdej ze stron. W tym przypadku: o = [,,,, 0, 0, 0], t = [, /,, /, /, 0, / ]. 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 4 uporządkowane pary stron. Ocena Pairwise
orderedness wyniosła 7/. Podobnie dla określonej wartości progowej na poziomie /, precyzja równa się, podczas gdy kompletność wynosi /. 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ę 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ść /. Ścieżka taka o maksymalnej długości M, nie może zawierać złych stron materiału siewnego. M Pairwise Ordneredness Precyzja Kompletność 9/ 3/4 3 7/ 4/5 Tabela : Wykonanie funkcji zaufania dla M kroków, M = {,,3} Na przykład dla rysunku i zbioru materiału siewnego S = {,3,6}, ocena zaufania właściwa dla trzech różnych wartości M prezentuje się w następujący sposób: M = : t = [,,, /, /, 0, / ], M = : t = [,,,, /, 0, / ], M = 3 : t3 = [,,,,, 0, /]. Oczekiwano, że funkcja zaufania w M krokach wykonuje się lepiej niż funkcja Ignorant Trust. Rzeczywiście, tabela pokazuje, że dla M = i M =, zarówno Pairwise Orderedness, jak i kompletność rosną, a precyzja pozostaje na poziomie. Istnieje jednak spadek wydajności dla M = 3. Powodem jest to, że zła strona 5 otrzymuje ocenę na poziomie ze względu na link od dobrej strony 4 (oznaczony gwiazdką na rysunku ). 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 są strony (tj. strona i 4), które mają co najwyżej linki od dobrych stron materiału siewnego. Jak obie są dobre, prawdopodobieństwo, że osiągniemy dobre strony w maksymalnie krokach wynosi. Podobnie, liczba stron osiągalnych z dobrej strony materiału siewnego w maksymalnie 3 krokach wynosi 3. Tylko dwie z nich (strony i 4) są dobre, podczas gdy strona 5 jest zła. Tak więc prawdopodobieństwo znalezienia dobrej strony spada do /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 istnieje jeden link od dobrej strony materiału siewnego (strona ), w związku z czym przypisuje się jej ocenę zaufania β gdzie β <. Z kolei strona 3 jest dostępna w jednym kroku ze strony (strona z oceną β), dlatego dostaje ocenę β β. dobra strona β β materiału siewnego β β β 3 t()= t()= β t(3)= β 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 t()= t()= dobra strona materiału siewnego / / 5/ /3 /3 /3 3 t(3)= 5/6 Rysunek 4: Podział zaufania 5/
Rysunek 4 przedstawia podział zaufania. Dobra strona materiału siewnego (strona ) 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 ) 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ć / +/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 funkcja ta zwraca następujący wektor: s = [0,08, 0,3, 0,08, 0,0, 0,09, 0,06, 0,0]. 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: δ = [, 4, 5,, 3, 6, 7]. Oznacza to, że strona 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, 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. W omawianym przykładzie, przy założeniu, że L = 3, a zbiór materiału siewnego jest {,4,5}, strony i 4 są dobrymi stronami, a wektor dystrybucji ocen statycznych ma postać: d = [0, /, 0, /, 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 = 0, algorytm oblicza następujący wynik: t* = [0, 0.8, 0., 0.5, 0.3, 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. 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 ). Jest to spowodowane strukturą linków w tym przykładzie: strona 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, 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 i 5. Strona 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, odpowiednim zbiorem stron materiału siewnego dla L = będzie S = {,5}, ponieważ strony 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 Page- Rank. 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, odwrócony algorytm PageRank (α= 0,85, M = 0) daje wynik: s = [0,08, 0,3, 0,08, 0,0, 0,09, 0,06, 0,0]. Dla wartości L = 3, zbiór materiału siewnego S = {,4,5}. Dobry zestaw nasion to S+ = {,4}, więc strony 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 =, maksymalne pokrycie odbywa się poprzez zestaw nasion {,3} lub {,3}, jednak odwrotny PageRank daje wektor ocen: s = [0,05, 0,05, 0,04, 0,0, 0,0, 0,0, 0,0], co prowadzi do materiału siewnego zbiór S = {,}. 3 4 5 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 i okaże się ona być dobra, to każda ze stron: 4, 5 i 6 otrzyma wynik /3. Natomiast gdy wybrana zostanie tylko strona 3 i ona również okaże się być dobra, wówczas strona 7 dostanie ocenę. 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 003 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 3.003.946 witryny. Ponad jedna trzecia z tych stron (397046) 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 5, 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 5.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 50 najlepszych (zestaw nasion S) i wybrano z nich 78 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 000 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 0 segmentów. Każdy z segmentów zawierał inną liczbę witryn, wybranych na postawie oceny Page- Rank (co 5 procent wartości całego wyniku PageRank.) W związku z tym pierwszy segment zawierał 86 witryn o najwyższym PageRanku, segment, następne 665 o niższym PageRank, a 0 segment zawierał 5 milionów witryn, do których przypisano najniższy PageRank. Rysunek 6: Skład ocenianej próby witryn Przykładowy zestaw 000 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: 3 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: 35 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 5 witryny zostały uznane za nieużyteczne dla oceny TrustRank z różnych powodów: Strony prywatne: 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..TrustRank: Wykorzystano algorytm TrustRank opisany w poprzednim rozdziale dla M = 0 powtórzeń i współczynnika osłabienia α = 0,85 dla 78 wybranych dobrych witryn materiału siewnego.. 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 = 0 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 /, z wyjątkiem 50 stron materiału siewnego, które otrzymały ocenę 0 lub.
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. 00 90 80 70 60 50 40 30 0 0 0 3 4 5 6 7 8 9 0 3 4 5 6 7-0 Rysunek 7: Dobre strony z podziałem na poszczególne segmenty PageRank 00 90 80 70 60 50 40 30 0 0 0 3 4 5 6 7 8 9 0 3 4 5 6 7-0 Rysunek 8: Dobre strony z podziałem na poszczególne segmenty TrustRank
50 45 40 35 30 5 0 5 0 5 0 3 4 5 6 7 8 9 0 3 4 5 6 7-0 Rysunek 9: Złe strony z podziałem na poszczególne segmenty PageRank 40 35 30 5 0 5 0 5 0 3 4 5 6 7 8 9 0 3 4 5 6 7-0 Rysunek 0: Złe strony z podziałem na poszczególne segmenty TrustRank Rysunki 7-0 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 7-0 zostały połączone zarówno dla PageRank, jak i TrustRank. (Zawierają one 3 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-0 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 0 można odczytać, że ze wszystkich użytych w próbie witryn segmentu dla TrustRank 3% 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 0% w drugim z segmentów PageRank to złe witryny. Dla PageRank, odsetek złych stron jest największy w segmentach 9 i 0 (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 0-3 4 5 6 7 8 9 0 3 4 5 6 7-0 Rysunek : Degradacja na poziomie segmentów TrustRank Rysunek 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 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 można odczytać, że witryny spamerskie z segmentu dla Page- Rank 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 6 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 00 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 : Pairwise Orderedness Rysunek 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 Page- Rank, TrustRank otrzymuje wynik Pairwise orderedness wynoszący około 0.95. Rysunek pokazuje również wynik Pairwise orderedness dla Ignorant Trust i Page- Rank. Wynik Pairwise orderedness dla Ignorant Trust reprezentuje przypadki, gdy nie ma prawie żadnych informacji na temat jakości witryn. Podobnie wynik Pairwise orderedness dla Page- Rank 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 3, przedstawia on wyniki TrustRank w odniesieniu do parametrów precyzji i kompletności. Jako wartość progową użyto graniczną ocenę TrustRank, która oddziela 7 segment TrustRank. Na osi poziomej oznaczono nu-
mer segmentu, natomiast wyniki dla precyzji i kompletności przedstawione zostały na osi pionowej. Rysunek 3: 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,8) 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".