Wyszukiwanie informacji Uniwersytet Łódzki Katedra Informatyki W. Bartkiewicz Wyszukiwanie informacji Wykład 2a.
Wyszukiwanie w Internecie Katedra Informatyki Przeglądarka internetowa umożliwia surfowanie w sieci, korzystając z łączy miedzy dokumentami. Tak jak mówiliśmy to wcześniej wobec olbrzymich rozmiarów WWW znalezienie przez użytkownika potrzebnych informacji może być często trudne, jeśli wręcz nie niemożliwe. Dlatego już stosunkowo wcześnie pojawiły się dodatkowe usługi wchodzące w skład infrastruktury WWW, pozwalające bezpośrednie wyszukiwanie tematyczne określonych dokumentów. Usługi wyszukiwawcze w Internecie podzielić można na dwie kategorie: katalogi webowe wyszukiwarki
Katalogi webowe Katedra Informatyki Katalog webowy jest po prostu zbiorem hiperłączy prowadzących do skatalogowanych dokumentów, który może być przeglądany przez użytkownika. Aby ułatwić przeglądanie katalogu, dokumenty te grupowane są w jednorodne tematycznie podzbiory, tworzące kilkupoziomowe hierarchie coraz bardziej szczegółowych kategorii tematycznych. Proces klasyfikowania dokumentów do określonych podtematów odbywa się na ogół ręcznie, tzn. wykonywany jest przez redaktora-człowieka, który czyta dokument, a następnie przydziela go do odpowiednich kategorii tematycznych. Pierwsze katalogi w sieci WWW powstały w 1994 roku, jako prekursora wymienia się tu EINet Galaxy. W tym samym roku powstał również najpopularniejszy dziś katalog webowy (i ogólnie jedna z najpopularniejszych usług wyszukiwawczych w sieci) Yahoo.
Wyszukiwarki Katedra Informatyki Dla odmiany, wyszukiwarki gromadzą informacje o dokumentach w postaci indeksu, który może być następnie przeszukiwany, a nie przeglądany. Użytkownik formułuje swoją potrzebę informacyjną w postaci zapytania, określającego cechy pożądanych dokumentów (zazwyczaj słowa kluczowe). Wyszukiwarka wyszukuje w indeksie dokumenty o podobnych cechach i zwraca je użytkownikowi w postaci wyniku zapytania. Indeks wyszukiwarki webowej tworzony jest zazwyczaj automatycznie poprzez specjalny program „wędrujący” po odnośnikach łączących strony i pozyskujący niezbędne cechy odwiedzanych dokumentów. Programy takie nazywamy pająkami, robotami sieciowymi lub z angielska crawlerami (szperaczami). W przypadku niektórych wyszukiwarek słowa kluczowe podane z zapytaniu mogą być łączone operatorami logicznymi (alternatywa, koniunkcja, negacja, oraz różnego rodzaju operatory złożone).
Wyszukiwarki - Historia Katedra Informatyki Pierwszą wyszukiwarką w sieci WWW był Wandex, wykorzystujący stworzonego w 1993 roku na MIT przez Matthew Graya pierwszego szperacza webowego World Wide Web Wanderer. Wandex i inne wyszukiwarki w początkowym okresie nie potrafiły indeksować całej zawartości stron, ale jedynie adresy, tytuły lub przygotowane w specjalnym pliku opisy. Pierwsza wyszukiwarka „pełnotekstowa” o nazwie WebCrawler pojawiła się jednak już rok później, w 1994. W ciągu następnych dwu lat pojawiło się szereg wyszukiwarek, które zdominowały WWW w drugiej połowie lat dziewięć dziesiątych. Wymienić tu należy przede wszystkim takie usługi jak AltaVista, Excite, Infoseek, Live Search czy Lycos.
Live Search Katedra Informatyki
AltaVista Katedra Informatyki
Szukacz Katedra Informatyki
Wyszukiwarki - Historia Katedra Informatyki Wymienione wyżej wyszukiwarki jako wykorzystywały jako cechy dokumentów słowa kluczowe. W 2001 roku pojawiła się nowa wyszukiwarka, uwzględniająca obok słów kluczowych również informacje o połączeniach hipertekstowych między dokumentami, tzw. PageRank, obliczany według algorytmu opracowanego przez Larry’ego Page’a i Sergeya Brina. Google, ponieważ tak nazwano tę usługę, jest obecnie dominującą wyszukiwarką webową, wykorzystywaną przez większość użytkowników. Google jest potężnym serwisem wyszukującym, które oferuje swoim użytkownikom poza wyszukiwarką bardzo dużo rozmaitych usług. Google daje możliwość wyszukiwania prostego oraz zaawansowanego. W formularzu wyszukiwania zaawansowanego można wykorzystać operatory Boolowskie oraz określić filtry języka, formaty pliku, sposób szukania.
Google – wyszukiwanie proste Katedra Informatyki
Google – wyszukiwanie proste Katedra Informatyki
Google – Katalog tematyczny Katedra Informatyki Ponadto wyszukiwarka Google oferuje katalog tematyczny, w którym można wybrać dziedzinę, a następnie ograniczyć poszukiwanie do zawartości tej dziedziny.
Google – Scholar Katedra Informatyki W pakiecie usług Google można znaleźć Google Scholar, która jest przeznaczona do wyszukiwania informacji o charakterze naukowym
Google – Maps Katedra Informatyki Google Maps to serwis, który udostępnia mapy różnych obszarów. Usługa pomoże znaleźć dane miejsca oraz drogę, jak do nich dojechać samochodem, czy nawet środkami komunikacji miejskiej
Google – News i inne Katedra Informatyki
Google – Wszystkie produkty Katedra Informatyki
Google – Labs Katedra Informatyki Google Labs to szereg dodatkowych projektów, o charakterze eksperymentalnym (jeszcze nie do końca opracowanych lub zarzuconych) – ale często bardzo interesujących i przydatnych.
Google wskazówki wyszukiwania Katedra Informatyki Bardzo istotne jest wpisanie w oknie narzędzia wyszukującego prawidłowego zapytania. Zbyt ogólnie określenie bardzo często daje dużą liczbę nietrafionych danych. Stosowanie cudzysłowu podczas wprowadzania zapytania pozwala na ograniczenie liczby wyników.
Google – zapytania Funkcja Uwagi „ ” Katedra Informatyki Funkcja Uwagi „ ” wyszukiwanie słów, które mają występo-wać obok siebie dla wyrażeń wieloczłonowych, np. „domeny internetowe” + poprzedza słowo, które ma zostać wyszukane dokładnie w takim brzmie-niu, w jakim jest podane Jeśli stosujemy popularne zwroty, wyszukiwa-rka może je pomijać lub zwrócić w odmienionej formie. Używaj, gdy chcesz znaleźć dokładnie tak zapisany wyraz, np. „+ekologiczny” - wykluczenie danego wyrażenia z wyników wyszukiwania Pomocne, gdy w wynikach wyszukiwania pojawiają się strony, które nie dotyczą bezpośrednio tematu, lecz są z nimi luźno skojarzone * zastępuje dowolny ciąg znaków Gdy fraza, którą chcemy wpisać jest długa lub zależy nam na wyszukaniu stron niezależnie od odmiany danego słowa, np. „Polsk* = Polska, polski, polskiego itp.” ? zastępuje pojedynczy znak Zastosowany np. w wyrazie ko?ek da wyniki wysStosujemy zukiwania zarówno dla wyrazów: kotek, kołek czy korek
Struktura wyszukiwarki Katedra Informatyki Użytkownik W W W Pająk (crawler) Indeksator Search Indeksy Indeksy dodatkowe
Wyszukiwanie – Model boolowski Katedra Informatyki Model boolowski jest prostym modelem wyszukiwania, opartym na działaniach na zbiorach i algebrze boolowskiej. Dokumenty indeksowane są poprzez wyodrębnienie w nich słów kluczowych (termów). Zapytania specyfikowane są jako wyrażenia boolowskie, np. „bolid and wyścigi and not meteor” Wynik zapytania jest generowany poprzez przetwarzanie zbiorów dokumentów, odpowiadających poszczególnym termom zapytania.. Wskutek swojej prostoty i jasnego formalizmu model boolowski przyciągał w przeszłości wiele uwagi i do dziś stanowi podstawę wielu komercyjnych systemów bibliograficznych.
Model boolowski – Podsumowanie Katedra Informatyki Zalety: Prostota i jasny formalizm. Zapytania boolowskie są precyzyjne. Uważnie zaprojektowanie, pozwalają na zachowanie pełnej kontroli, transparentności i precyzji procesu wyszukiwania. Zapytania boolowskie są często preferowane przez profesjonalistów zajmujących się wyszukiwaniem informacji z danej dziedziny. Model ten stanowi podstawę wielu komercyjnych systemów bibliograficznych. Wady: Strategia wyszukiwawcza modelu boolowskiego bazuje na binarnym kryterium decyzyjnym – dokument albo jest relewantny, albo nie, bez żadnej pośredniej gradacji. Może to pogarszać jakość działania systemu, zwłaszcza biorąc pod uwagę nieprecyzyjny charakter języka naturalnego. Pomimo, że wyrażenia boolowskie mają precyzyjną semantykę, wcale nie jest łatwo przełożyć na nie potrzebę informacyjną. Większość, zwłaszcza nieprofesjonalnych użytkowników uważa wyrażanie swoich zapytań w postaci wyrażeń boolowskich za trudne. Ograniczają się do najprostszych warunków, które nie pozwalają na właściwy opis potrzeb informacyjnych.
Rankingowanie Katedra Informatyki W modelu boolowskim dokument albo odpowiadał zapytaniu, albo nie. Dobre dla doświadczonych użytkowników, dobrze rozumiejących swoje potrzeby, dziedzinę wyszukiwania i bazę dokumentów. Nieodpowiednie dla (większości) użytkowników, którzy nie potrafią sformułować swoich potrzeb w postaci wyrażeń logicznych. Alternatywą jest ocena stopnia relewancji dokumentu dla danego zapytania (scoring). Dzięki temu dokument może odpowiadać zapytaniu w pewnym stopniu, co pozwala często uzyskać satysfakcjonujące użytkownika wyniki, nawet jeśli potrzeba informacyjna sformułowana jest nie do końca precyzyjnie. Wynikiem zapytania jest ranking dokumentów, posortowany malejąco według stopnia relewancji. Najbardziej relewantne dokumenty prezentowane są użytkownikowi na początku rankingu, najmniej relewantne – na końcu. Ułatwia to przeglądanie wyników zapytania złożonych z wielu dokumentów.
Wyszukiwanie topologiczne Katedra Informatyki W wyszukiwaniu topologicznym zapytania formułowane są w postaci tzw. zapytania prostego lub „worka słów” (bag of words), czyli zestawu termów (słów kluczowych) nie połączonych żadnymi operatorami logicznymi. Użytkownik w zapytaniach po prostu określa słowa kluczowe, które odzwierciedlają jego potrzeby informacyjne. Wyszukiwarka znajduje przechowywane w systemie dokumenty, które opisane są zestawem słów kluczowych „podobnym” do podanych przez użytkownika w zapytaniu. Podobieństwo to zazwyczaj określane jest z wykorzystaniem miar opartych na podstawie liczby słów kluczowych występujących jednocześnie w opisie dokumentu i w zapytaniu. Wyszukiwarka tworzy ranking znalezionych dokumentów, prezentując je w kolejności od najbardziej do najmniej podobnych.
Wyszukiwanie topologiczne Katedra Informatyki Współczynnik dopasowania prostego Problem – nie uwzględnia długości dokumentu i zapytania Współczynnik Dice’a Współczynnik Jaccarda Współczynnik cosinusoidalny
Katedra Informatyki Model wektorowy Zapytanie i dokumenty reprezentowane są jako wektory q = [q1, q2,..., qn], dj = [w1j, w2j,..., wnj] w przestrzeni Rn, gdzie n jest liczbą wszystkich termów indeksujących (rozmiar słownika). Współczynnik cosinusoidalny =
Model wektorowy Macierz termów/dokumentów Katedra Informatyki Model wektorowy Macierz termów/dokumentów Term\Dokument 1 2 3 4 5 6 7 8 9 10 11 12 Blaster Czarna dziura Grawitacja Gwiazda Indianie Kosmos Kowboj Nadprzestrzeń Obserwacja Planeta Podróż Rewolwerowiec Teleskop n x N = liczba termów x liczba dokumentów
Model wektorowy Tworzenie rankingu Katedra Informatyki Model wektorowy Tworzenie rankingu Term\Dokument 1 2 3 4 5 6 7 8 9 10 11 12 Blaster Czarna dziura Grawitacja Gwiazda Indianie Kosmos Kowboj Nadprzestrzeń Obserwacja Planeta Podróż Rewolwerowiec Teleskop 1 3 2 1 4 0,61 0,41 0,18 0,50 0,73 0,67 0,55 5 7 6 10 1
Model wektorowy Wagi termów Katedra Informatyki Jak dotąd zakładaliśmy, że zarówno wektor zapytania q = [q1, q2,..., qn] jak i opisy dokumentów dj = [w1j, w2j,..., wnj] mają charakter binarny, i zawierają wyłącznie współrzędne 0 i 1. Wartości binarne oznaczają: Dany term może wystąpić w dokumencie (zapytaniu) lub nie. Wszystkie termy w opisie dokumentu (albo zapytaniu) traktowane są równoważnie. Nie ma możliwości wyspecyfikowania informacji, że pewien term jest bardziej istotny dla treści dokumentu niż inny. Ponieważ model wektorowy ma (w przeciwieństwie do boolowskiego) charakter algebraiczny, a nie logiczny, możemy łatwo zrezygnować z tego ograniczającego założenia. Dla wyznaczenia cosinusoidalnej miary podobieństwa (podobnie zresztą jak i dla innych stosowanych miar) nie ma znaczenia czy analizowane wektory mają współrzędne binarne, czy rzeczywiste.
Model wektorowy Wagi termów Katedra Informatyki W modelu wektorowym wyszukiwania informacji zarówno wektory zapytania q = [q1, q2,..., qn], jak i opisu dokumentu dj = [w1j, w2j,..., wnj] mogą być dowolnymi wektorami w przestrzeni Rn. Term i w opisie dokumentu (zapytania) j, reprezentowany jest przez pewną nieujemną liczbę rzeczywistą wij, nazywaną „wagą”: Im większa wartość wagi termu, tym bardziej jest on istotny dla opisu treści dokumentu. Wartość wij = 0 oznacza, że dany term w opisie dokumentu nie występuje.
Model wektorowy Wagi termów Katedra Informatyki Wagi termów zazwyczaj tworzone są przy wykorzystaniu tzw. formuły tf*idf, uwzględniającej dwa podstawowe elementy oceny istotności termu: Częstość termu tf (term frequency) Liczba wystąpień termu w dokumencie lub inna miara znaczenia termu dla treści konkretnego dokumentu. Odwrotność częstości dokumentu idf (inverse document frequency) Miara wartości informacyjnej termu, czyli jego przydatności dla rozróżniania treści różnych dokumentów w kolekcji. Jeśli term występuje w wielu dokumentach, to jego wartość dyskryminacyjna jest relatywnie niższa. Może więc być to po prostu odwrotność liczby dokumentów w których występuje dany term: 1/df(i). Zazwyczaj jednak stosuje się przyjętą na drodze empirycznej nieco zmodyfikowaną miarę idf(i) = log(N/df(i)), gdzie N jest liczbą dokumentów w kolekcji.
Model wektorowy Wagi termów Katedra Informatyki tfij – (term frequency) częstość termu i w dokumencie j, idfi – (inverse document frequency) odwrotność częstości dokumentów N – liczba dokumentów w kolekcji dfi – liczba dokumentów zawierających term i. (1 mln dok.) df idf 1 6 100 4 1 000 3 10 000 2 100 000 1 000 000
Model wektorowy Macierz termów/dokumentów Katedra Informatyki Model wektorowy Macierz termów/dokumentów Term\Dokument 1 2 3 4 5 7 8 9 10 11 12 Blaster Czarna dziura 6 Grawitacja Gwiazda Indianie Kosmos Kowboj Nadprzestrzeń Obserwacja Planeta Podróż Rewolwerowiec Teleskop df idf 3 0,60 4 0,48 5 0,38 8 0,18 6 0,30
Model wektorowy Macierz termów/dokumentów Katedra Informatyki Model wektorowy Macierz termów/dokumentów Term\Dokument 1 2 3 4 5 6 7 8 9 10 11 12 Blaster 1,81 0,00 0,60 1,20 Czarna dziura 4,77 0,95 0,48 2,86 Grawitacja 0,38 2,28 3,42 0,76 Gwiazda 0,88 0,18 0,70 1,06 1,41 0,35 1,23 Indianie 4,82 4,21 3,01 Kosmos 0,53 Kowboj 2,39 1,43 Nadprzestrzeń 1,91 Obserwacja Planeta 4,29 Podróż 0,30 0,90 1,51 2,11 Rewolwerowiec Teleskop
Model wektorowy Indeks odwrotny Katedra Informatyki Term\Dokument 1 2 3 4 5 6 7 8 9 10 11 12 Blaster Czarna dziura Grawitacja df idf 3 0,60 4 0,48 5 0,38 1 3 5 1 12 3 Blaster 3 Czarna dziura 4 Grawitacja 5 4 10 5 2 7 1 10 6 3 1 4 6 6 9 7 2 10 9 dfi tfij
Niejednoznaczność zapytań Katedra Informatyki Opisy dokumentów oraz termy indeksujące stanowią określenia pochodzące z języka naturalnego. Problem – nieprecyzja języka naturalnego. Ponieważ systemy wyszukiwawcze specyfikowane są na poziomie leksykalnym, a nie pojęciowym, pojawia się problem dopasowania tych samych (lub powiązanych) pojęć wyspecyfikowanych w zapytaniu i w opisie dokumentu z wykorzystaniem nieprecyzyjnych (np. różnych) słów. Ludzie rozwiązują problemy nieprecyzji leksykalnej z wykorzystaniem kontekstu. Modelowanie kontekstu nie jest łatwe. Problem – zapytania użytkowników są często krótkie, złożone z jednego, dwu termów – brak kontekstu.
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.
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ą.
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 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).