Wprowadzenie do budowy usług informacyjnych Uniwersytet Łódzki Katedra Informatyki W. Bartkiewicz Wprowadzenie do budowy usług informacyjnych Wykład 8. Wyszukiwanie w Internecie
WWW i IR - wyzwania Struktura WWW. Olbrzymi rozmiar danych. Katedra Informatyki Struktura WWW. Rozproszenie danych na milionach serwerów. Brak koordynacji i uporządkowania struktury sieci. Nieustanny wzrost – dynamiczny charakter: „objętość podwaja się niemal co kilka miesięcy”. Ulotny charakter danych – wiele dokumentów zmienia się nagle lub znika (np. martwe linki). Olbrzymi rozmiar danych. Miliardy różnych dokumentów. Dokumenty powtarzają się (lub prawie powtarzają). Charakter danych. Dane różnorodne. W większości niestrukturalne (tekst, HTML), półstrukturalne (XML, opisane multimedia), strukturalne (bazy danych). Niejednorodność danych (tekst, multimedia, dokumenty PDF, DOC ..., różne języki, zbiory znaków. The Web
WWW i IR - wyzwania Jakość danych. Katedra Informatyki Jakość danych. Rozproszony charakter generowania zawartości, jej łączenia, demokratyzacja publikacji. Brak kontroli edytorskiej, informacja prawdziwa i fałszywa, czasem sprzeczna. Możliwa słaba jakość języka, wyglądu, rysunków. The Web
Struktura wyszukiwarki Katedra Informatyki Użytkownik W W W Pająk (crawler) Indeksator Search Indeksy Indeksy dodatkowe
Pozycjonowanie stron i spam Katedra Informatyki Pozycjonowanie stron w wyszukiwarkach (Search Engine Optimization): „Dostrajanie” strony tak by dla wybranych słów kluczowych pojawiała się wysoko w rankingach wyszukiwania. Alternatywa do płatnego reklamowania się na popularnych stronach. Wykonywane zawodowo przez przedsiębiorstwa, webmasterów i konsultantów dla ich klientów. Czasami doskonale uprawnione, czasami bardzo wątpliwe. Standardowe techniki: Wielokrotne powtarzanie wybranych słów kluczowych w dokumencie. Są one indeksowane przez crawlery, tak wiec strona uzyskuje wysoką wartość tf*idf dla danego słowa kluczowego. Dodawanie wielu słów kluczowych, nie związanych z treścią strony. Dzięki temu strona pojawia się w wynikach wielu zapytań. Słowa kluczowe dodawane są tak by nie były one widoczne dla przeglądającego go użytkownika (ukrywanie w metadanych, tekst w kolorze tła, sztuczki ze stylami, itp.).
Inne techniki spamowania Katedra Informatyki Inne techniki spamowania zawartości: Cloaking – podstawianie pająkowi wyszukiwarki fałszywej zawartości (innej niż użytkownikowi). Strony-drzwi – strony zoptymalizowane na określone słowo kluczowe, które przekierowują użytkownika do właściwej strony. Wyszukiwarki internetowe nie mogą polegać wyłącznie na słowach kluczowych. Dla wyeliminowania spamu (między innymi) wyszukiwarki wykorzystują również informacje o łączach prowadzących do danej strony i z niej wychodzących. Pozwala to na określenie tzw. prestiżu (reputacji) danej strony. Spamowanie łączy jest dużo trudniejsze niż spamowanie zawartości. Tworzenie ukrytych łączy wychodzących do stron o dużym autorytecie (np. poprzez skopiowanie części jednego z popularnych katalogów sieciowych). Tworzenie grup (społeczności) ważnych stron z użyteczną dla użytkownika informacją, zawierających łącza (często ukryte) do docelowych stron ze spamem.
Inne techniki spamowania Katedra Informatyki Spamowanie łączy (c.d.): Tworzenie grup (społeczności) stron z użyteczną dla użytkownika informacją (np. glosariusze terminów z popularnych dziedzin, FAQ, strony z pomocą, itp.), zawierających łącza (zazwyczaj ukryte) do docelowych stron ze spamem. Ponieważ zawierają one istotne informacje, łącza do nich są często dodawane do stron użytkowników. Dodawanie łączy do stron ze spamem do katalogów webowych. Wysyłanie łączy do darmowych serwerów z treścią generowaną przez użytkowników (forów dyskusyjnych, blogów, itp.). Uczestnictwo w wymianie łączy. Spamerzy łączą się w grupy, tak by strony na ich serwerach wskazywały się wzajemnie. Tworzenie farm spamu. Jeśli spamer kontroluje większą liczbę serwerów, może utworzyć całą struktura łączy, zwiększającą prestiż spamowanych stron docelowych.
Inne techniki spamowania Katedra Informatyki Spamowanie łączy (c.d.): Tworzenie grup (społeczności) stron z użyteczną dla użytkownika informacją (np. glosariusze terminów z popularnych dziedzin, FAQ, strony z pomocą, itp.), zawierających łącza (zazwyczaj ukryte) do docelowych stron ze spamem. Ponieważ zawierają one istotne informacje, łącza do nich są często dodawane do stron użytkowników. Dodawanie łączy do stron ze spamem do katalogów webowych. Wysyłanie łączy do darmowych serwerów z treścią generowaną przez użytkowników (forów dyskusyjnych, blogów, itp.). Uczestnictwo w wymianie łączy. Spamerzy łączą się w grupy, tak by strony na ich serwerach wskazywały się wzajemnie. Tworzenie farm spamu. Jeśli spamer kontroluje większą liczbę serwerów, może utworzyć całą struktura łączy, zwiększającą prestiż spamowanych stron docelowych.
Wykorzystanie tekstu łącza Katedra Informatyki Strona A hiperłącze Strona B Kotwica Założenia: Łącze między stronami opisuje postrzegany przez autora związek tematyczny między nimi. Tekst wykorzystany w zakotwiczeniu łącza opisuje stronę docelową. Podczas indeksowania dokumentu D, wykorzystujemy również teksty zakotwiczeń łączy prowadzących do dokumentu D w innych dokumentach.
Katedra Informatyki Analiza łączy
Analiza sieci społecznej Katedra Informatyki WWW jest siecią społeczną, tzn. siecią podmiotów społecznych (osób i organizacji), wykorzystujących ją do różnego rodzaju komunikacji i oddziaływania. Poszczególne strony WWW reprezentują podmioty (aktorów społecznych), zaś łącza między nimi reprezentują interakcje i związki między podmiotami. Wiele koncepcji, pochodzących z dziedziny analizy sieci społecznych może być zaadaptowanych i wykorzystanych w kontekście WWW. Podstawowymi pojęciami w sieci społecznej są popularność, autorytet i prestiż. Miary popularności, autorytetu i prestiżu mogą być wykorzystane do rankingowania stron WWW, znalezionych przez wyszukiwarkę. Idea polega na przypisaniu każdej stronie rangi niezależnej od jej zawartości (tj. słów kluczowych), i opartej wyłącznie na strukturze powiązań hipertekstowych. Ranga ta wykorzystana może być do uporządkowania stron wyszukanych w odpowiedzi na zapytanie oparte na słowach kluczowych. W praktyce zazwyczaj stosuje się kombinacje rankingu opartego na treści i łączach.
Analiza sieci społecznej Katedra Informatyki Dwa najważniejsze algorytmy rankingowania stron webowych: PageRank i HITS, opierają się na pojęciu prestiżu w sieci społecznej. Analiza i wyznaczanie miar prestiżu opiera się na bibliometrii, nauce wykorzystywanej w bibliotekoznawstwie i systemach informacyjnych m.in. do określania wartości publikacji naukowych. Wpływ publikacji naukowej określany jest przez liczbę publikacji, które ja cytują oraz ich prestiż. Ranga prestiżu strony WWW określana więc będzie przez liczbę łączy wejściowych (prowadzących do) strony, oraz rekursywnie prestiż stron na których te łącza zostały umieszczone. Niech A będzie macierzą powiązań między dokumentami w grafie cytowania, tzn. element A(u, v) = 1 jeśli dokument u cytuje dokument v, oraz A(u, v) = 0 w przeciwnym przypadku.
Analiza sieci społecznej Katedra Informatyki a c b Każdy węzeł u ma wartość prestiżu p(u), określoną jako sumę miar prestiżu węzłów, które cytują u, tj.: p(u) = Sv A(v, u)p(v) Używając notacji macierzowej, miary prestiżu p(u) dla wszystkich dokumentów u, mogą być zapisane jako wektor kolumnowy P. Dla danego wstępnego wektora prestiżu P, nowy wektor prestiżu P' zapisać możemy jako: P' = ATP
Analiza sieci społecznej Katedra Informatyki Podstawienie P' do P i rekurencyjne powtarzanie wyznaczania wektora prestiżu prowadzi do wyznaczenia punktu stałego dla P, będącego rozwiązaniem układu równań: l P = ATP Rozwiązanie tego równania określane jest w algebrze macierzowej rozkładem własnym macierzy. Generalnie dla macierzy o wymiarach nn istnieje n takich wektorów, nazywanych wektorami własnymi macierzy. Z każdym z nich związana jest inna wartość stałe l, nazywanej wartością własną. Spośród wszystkich wektorów własnych macierzy zainteresowani jesteśmy znalezieniem dominującego (lub podstawowego) wektora własnego, związanego z największą wartością własną.
Analiza sieci społecznej Katedra Informatyki a 0,548 b 0,414 c 0,726 Dla naszego przykładu rozwiązaniem układu równań l P = ATP, jest największa wartość własna l = 1,325 i wektor własny P = (0,548, 0,414, 0,726)T. Rozwiązanie to dobrze ilustruje intuicje stojącą za rekursywną definicją prestiżu. Dokument c otrzymał najwyższą wartość, ponieważ ma dwa cytowania. Natomiast a i b mają niższe wartości, ponieważ cytowane są tylko raz. Dokument a otrzymał wyższą wartość niż b, ponieważ jest cytowany przez dokument c, o wyższym prestiżu.
Analiza sieci społecznej Katedra Informatyki Algorytmy obliczania wartości i wektorów własnych macierzy stanowią standardowy element w zasadzie wszystkich poważnych pakietów numerycznych. Ponieważ jednak nie interesuje nas wyznaczenie wszystkich wektorów własnych, a jedynie podstawowego, w praktyce do jego obliczenia stosuje się prosty algorytm oparty na tzw. metodzie iteracji potęgowej: P P0 powtarzaj Q P P ATQ P P / ||P|| (normalizacja P) dopóki ||P – Q|| > e Dla dowolnej wartości początkowej P0, algorytm zbieżny jest do wektora własnego związanego z największą wartością własną. Wektor własny jest znormalizowany (tj. ||P|| = 1) i wartość własna równa jest długości wektora l = ||ATP||.
Katedra Informatyki
PageRank Katedra Informatyki PageRank jest metodą generowania rankingu stron a wykorzystaniem struktury ich połączeń hipertekstowych, stosowaną w wyszukiwarce Google. W powiązaniu z opisanymi wyżej metodami analizy sieci społecznej próbuje on określać prawdopodobne ścieżki, po których Użytkownicy Internetu poruszają się między stronami. PageRank korzysta z metafory „losowego surfera”, klikającego na hiperłącza w losowy sposób z jednostajnym rozkładem prawdopodobieństwa, wykonując w ten sposób błądzenie losowe po grafie WWW. Obok informacji o łączach wejściowych (prowadzących do strony), PageRank wykorzystuje również informację o łączach wyjściowych. Załóżmy, że strona u zawiera łącza do Nu stron i jedną z nich jest strona v. Jeśli więc surfer jest na stronie u, prawdopodobieństwo odwiedzenia strony v wynosi więc 1/Nu. Strona v powinna więc otrzymywać od u jedynie 1/Nu jej prestiżu.
Propagacja prestiżu strony w PageRank Idea PageRank-u Katedra Informatyki .1 .09 .05 .03 .08 Propagacja prestiżu strony w PageRank
Podstawowy algorytm PageRank Katedra Informatyki Współczynnik PgeRank określający prestiż strony obliczany jest więc w następujący sposób: gdzie A jest binarną macierzą połączeń między stronami w grafie webowym, zdefiniowaną identycznie jak poprzednio, Nv jest tzw. stopniem wyjściowym strony v, czyli liczbą łączy wychodzących z tej strony, tj. Nv = SwA(v, w). Jak więc widzimy zasadniczo jest to ta sama zależność, która wykorzystywana była do obliczenia prestiżu w sieci społecznej. Abyśmy mogli korzystać z przedstawionego wcześniej algorytmu, niezbędne jest tylko redefinicja macierzy A. Zamiast wartości binarnych (0 i 1) musimy wprowadzić wagi połączeń między stronami równe 1/ Nu. Dzielimy każdy wyraz binarnej macierzy A przez sumę wyrazów wierszu.
Podstawowy algorytm PageRank Katedra Informatyki a b c a 0,4 b 0,2 c Równanie wyznaczające PageRank jest takie samo jak w przypadku prestiżu (tj. l P = ATP) i jego rozwiązaniem jest wektor własny macierzy AT dla wartości własnej l = 1.
Podstawowy algorytm PageRank Katedra Informatyki a 0,4 b 0,2 c a 0,4 b 0,2 c 0,4 0,2 0,2 0,2 Powyższe rozwiązanie wyznaczone zostało algorytmem iteracji potęgowej, dla normy L1 (||X||1 = x1+ x2+...+ xn). Rozwiązaniem uzyskanym z wykorzystaniem normy L2 (||X||2 = sqrt(x12+ x22+...+ xn2)) jest wektor własny PT = (0,666 0,333 0,666), zaś rozwiązaniem dla wartości całkowitych jest PT = (2 1 2). Ponieważ rozwiązania te różnią się tylko co do przeskalowania o wartość stałą, każde z nich może być wykorzystane do rankingowania stron.
Pełny PageRank Katedra Informatyki Podstawowy algorytm PageRank w pewnych sytuacjach nie radzi sobie poprawnie z cyklicznymi połączeniami między stronami webowymi. Rozważmy dla przykładu sytuację dwu stron odsyłających wzajemnie do siebie, ale nie zawierających łączy do innych stron. Taki izolowany cykl określany jest jako ujście rangi. Jeśli prowadzi do niego łącze z zewnątrz, będzie on akumulował rangę, ale nigdy nie dystrybuował jej na zewnątrz. Jak wcześniej wspomniano, idea algorytmu PageRank polega na modelu błądzenia losowego przez graf webowy, ale losowy surfer może wpaść w pułapkę ujścia rangi. Możemy modelować zachowanie rzeczywistego surfera, który znudził się krążeniem w pętli między stronami, poprzez skok do dowolnej innej strony poza ujściem rangi. W tym celu definiujemy tzw. źródło rangi E – wektor dla wszystkich stron w rozważanym grafie, definiujący rozkład prawdopodobieństwa wyboru losowo wybranej strony webowej Określmy również prawdopodobieństwo wyboru poruszania po łączach jako d, natomiast prawdopodobieństwo skoku do innej strony jako 1-d.
Pełny PageRank Katedra Informatyki Równanie pozwalające na wyznaczenie PageRanku-u może być rozwiązane przy pomocy podejścia opartego na wektorach własnych. Algorytm oparty na metodzie iteracji potęgowej wymaga jedynie małej modyfikacji sposobu normalizacji: R R0 / n powtarzaj Q R R ATQ R dR + (1-d)E dopóki ||R – Q||1 > e Prawdopodobieństwo wyboru drogi po łączach d jest parametrem i zazwyczaj przyjmuje się wartość d = 0,85. Również zazwyczaj zakłada się, że rozkład wyboru nowej strony jest jednostajny, czyli E(u) = 1/n (gdzie n jest liczbą stron w analizowanym grafie webowym).
PageRank i HITS Katedra Informatyki PageRank określa wyłącznie autorytet stron, na podstawie ich łączy wejściowych. Łącza webowe niekoniecznie są równoważne odsyłaczom (mogą mieć np. charakter nawigacyjny). Fakt, że strona jest popularna i ma wysoki autorytet nie zawsze oznacza, że jest ona relewantna dla konkretnego zapytania. W związku z tym PageRank stosowany musi być w połączenia z wyszukiwaniem opartym na słowach kluczowych. PageRank może porządkować strony o takim samym podobieństwie do słów kluczowych podanych przez użytkownika. Ranking strony może być połączeniem rankingu tematycznego i PageRank-u (z wykorzystaniem odpowiednich wag). Algorytmem bezpośrednio wykorzystującym strukturę łączy do określania podobieństwa tematycznego jest wprowadzony w 1998 roku przez Kleinberga algorym HITS. HITS postrzega łącze między stronami, jako określenie nie tylko prestiżu, ale również pewnego związku tematycznego między nimi.
HITS – Ogólna charakterystyka Katedra Informatyki HITS w przeciwieństwie do PageRank-u jest zależny od zapytania. Zadaniem algorytmu jest analiza struktury połączeń między stronami wyszukanymi dla konkretnego standardowego zapytania tematycznego z wykorzystaniem słów kluczowych. HITS zakłada, że użytkownika najbardziej interesują, a więc powinny znaleźć się najwyżej w rankingu: Strony będące dobrymi „autorytetami” w danym temacie, tzn. strony zawierające znaczącą, godną zaufania i wartościową informację na dany temat. Strony będące dobrymi „hubami” w danym temacie, tzn. strony zawierające wiele użytecznych łączy do relewantnych stron z odpowiednią zawartością na dany temat (autorytetów tematycznych). Oczywiście nietrudno zauważyć, związek między autorytetami i hubami: Strona jest tym lepszym hubem im więcej zawiera łączy wyjściowych prowadzących do dobrych autorytetów z danego tematu. Strona jest tym lepszym autorytetem tematycznym, im więcej wskazuje na nią dobrych hubów z danego tematu.
Algorytm HITS Katedra Informatyki Dla danego zapytania Q znajdowany jest z wykorzystaniem standardowej wyszukiwarki niewielki zbiór dokumentów relewantnych R: np. 200 stron najwyżej w rankingu. Następnie R rozszerzany jest do tzw. podstawowego zbioru stron S. Zbiór podstawowy obok stron ze zbioru R zawiera strony: do których prowadzą łącza stron ze zbioru R, które wskazują na strony z R, tzn. zawierają do nich łącza. Struktura hiperłączy zbioru podstawowego S analizowana jest następnie w celu wykrycia autorytetów i hubów dla tematu określonego przez zapytanie Q.
Algorytm HITS Katedra Informatyki Oznaczmy przez L macierz połączeń w grafie webowym zbioru podstawowego S, tzn. L(u, v) = 1 jeśli strona u zawiera łącze do strony v, oraz L(u, v) = 0 w przeciwnym przypadku. Bierzemy pod uwagę wyłącznie łącza między stronami u, v S. Oznaczmy przez a = (a1, ..., an) wektor autorytetów, h = (h1, ..., hn) wektor hubów, określone dla wszystkich stron należących do S. Mogą one zostać wyznaczone przy pomocy algorytmu iteracji potęgowej: a (1, ..., 1), h (1, ..., 1), powtarzaj au = SL(v, u)=1hv, = SvL(v, u)hv (tzn. a = LTh) hu = SL(u, v)=1av, = SvL(u, v)av (tzn. h = La) Znormalizuj a i h w sensie normy L1 lub L2.( a = a/||a||, h = h/||h||). dopóki nie koniec pętli. Wykorzystując obliczone wartości autorytetów i hubów dla danego zapytania tworzymy ich rankingi.
HITS - Właściwości Katedra Informatyki Zauważmy, że w każdym kroku algorytmu HITS obliczamy wartości autorytetów oraz hubów jako a = LTh oraz h = La. Tak więc podstawiając łatwo widzimy, że a = LTLa oraz h = LLTh. Wektor autorytetów a jest podstawowym wektorem własnym macierzy LTL. Wektor hubów h jest podstawowym wektorem własnym macierzy LLT. Rankingi stron autorytetów i hubów nie mogą być obliczone z góry (tak jak PageRank), tzn. muszą być wyznaczane podczas realizacji zapytania. Wada: zwiększony czas przetwarzania zapytania. Zaleta: rankingi obliczane są przy wykorzystaniu relewantnej części grafu webowego, pozwalając na wyeliminowanie sytuacji, w której strony o niewielkiej relewantności otrzymują wysoki ranking tylko z tego powodu, że gromadzą wiele łączy wejściowych. Szeroko cytowany przykład: Zapytanie „music program” (zgodnie z badaniami użytkowników) dotyczy najczęściej dziedziny radia i koncertów filharmonicznych. W przeglądarce Google zwraca ono przede wszystkim strony dotyczące muzyki komputerowej i oprogramowania muzycznego, ponieważ term „program” współwystępuje często z „computer” i „software”, które gromadzą wiele łączy wejściowych ze stron informatycznych.
HITS - Właściwości Katedra Informatyki Algorytm HITS znajduje podstawowe wektory własne macierzy LTL i LLT, reprezentujące najgęściej połączone strony autorytetów i hubów, w grafie webowym definiowanym przez zapytanie użytkownika. W pewnych sytuacjach możemy być także zainteresowani w znalezieniu w tym grafie kilku mniejszych pod-kolekcji gęsto powiązanych stron autorytetów i hubów, odpowiadających potencjalnie relewantnym tematycznie, ale rozdzielonym pod-grafom webowym. Zapytanie może być niejednoznaczne i mieć kilka różnych znaczeń: np. słowo „gwiazda” może oznaczać (miedzy innymi) obiekt astronomiczny lub gwiazdę filmu, estrady itp. Zapytanie może reprezentować temat wspólny dla wielu różnych środowisk, np. „klasyfikacja”. Zapytanie może odnosić się do kwestii wysoce spolaryzowanych, gromadzących grupy niechętnie łączące się ze sobą, np. „aborcja”. W powyższych przykładach relewantne strony mogą w naturalny gromadzić się w kilka grup, nazywanych społecznościami. Mniejsze społeczności również reprezentowane przez dwupodziałowe grafy autorytetów i hubów mogą być znalezione poprzez wyznaczenie wektorów własnych odpowiadających mniejszym wartościom własnym.
HITS - Właściwości Katedra Informatyki W przypadku pewnych rodzajów grafów webowych, HITS może mieć te same problemy ze stabilnością co podstawowy algorytm PageRank. W celu ich rozwiązania mogą jednak zostać zastosowane te same modyfikacje z parametrem kontrolującym zachowanie losowego surfera co w pełnym algorytmie PageRank. HITS nie ma takich właściwości antyspamowych jak PageRank. Łatwo dodać do własnej strony wiele łączy wyjściowych, wskazujących na wiele dobrych autorytetów. Innym problemem HITS jest możliwość dryfu tematycznego. Rozszerzając wynik zapytania R, łatwo dodać do zbioru podstawowego wiele stron (włączając strony autorytetów i hubów), które nie mają nic wspólnego z tematem zapytania. Użytkownicy dodają łącza między stronami z różnych powodów, niekoniecznie dla wyrażenia związku tematycznego między nimi. Istniejące rozwiązania polegają na uwzględnieniu w procesie rozszerzania zbioru stron relewantnych R (obok informacji o samych połączeniach) również mierników podobieństwa zawartości dodawanych stron do tematu zapytania, podobieństwa tekstów zakotwiczeń łączy, itp.