310 likes | 480 Views
Uniwersytet Łódzki Katedra Informatyki. W. Bartkiewicz. Wprowadzenie do budowy usług informacyjnych. Wykład 8. Wyszukiwanie w Internecie. Katedra Informatyki. The Web. WWW i IR - wyzwania. Struktura WWW. Rozproszenie danych na milionach serwerów.
E N D
Uniwersytet Łódzki Katedra Informatyki W. Bartkiewicz Wprowadzenie do budowy usług informacyjnych Wykład 8. Wyszukiwanie w Internecie
Katedra Informatyki The Web WWW i IR - wyzwania • 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.
Katedra Informatyki The Web WWW i IR - wyzwania • 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.
Katedra Informatyki Użytkownik Pająk (crawler) Search Indeksator W W W Indeksy Indeksy dodatkowe Struktura wyszukiwarki
Katedra Informatyki Pozycjonowanie stron i spam • 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.).
Katedra Informatyki Inne techniki spamowania • 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.
Katedra Informatyki Inne techniki spamowania • 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.
Katedra Informatyki Inne techniki spamowania • 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.
Katedra Informatyki Strona B Strona A hiperłącze Kotwica Wykorzystanie tekstu łącza • 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
Katedra Informatyki Analiza sieci społecznej • 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.
Katedra Informatyki Analiza sieci społecznej • 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.
Katedra Informatyki Analiza sieci społecznej a • 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) = SvA(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 c b
Katedra Informatyki Analiza sieci społecznej • 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ą.
Katedra Informatyki a 0,548 c 0,726 b 0,414 Analiza sieci społecznej • 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.
Katedra Informatyki Analiza sieci społecznej • 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
Katedra Informatyki PageRank • 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.
Katedra Informatyki .08 .1 .05 .05 .03 .09 .08 .03 .03 .03 Idea PageRank-u Propagacja prestiżu strony w PageRank
Katedra Informatyki Podstawowy algorytm PageRank • 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.
Katedra Informatyki a a 0,4 c b c 0,4 b 0,2 Podstawowy algorytm PageRank • 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.
Katedra Informatyki a 0,4 a 0,4 c 0,4 c 0,4 b 0,2 b 0,2 Podstawowy algorytm PageRank 0,4 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. 0,2 0,2
Katedra Informatyki Pełny PageRank • 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.
Katedra Informatyki Pełny PageRank • 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).
Katedra Informatyki PageRank i HITS • 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.
Katedra Informatyki HITS – Ogólna charakterystyka • 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.
Katedra Informatyki Algorytm HITS • 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.
Katedra Informatyki Algorytm HITS • 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.
Katedra Informatyki HITS - Właściwości • 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.
Katedra Informatyki HITS - Właściwości • 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.
Katedra Informatyki HITS - Właściwości • 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.