Wyszukiwanie - Katedra Informatyki > Home

Download Report

Transcript Wyszukiwanie - Katedra Informatyki > Home

W. Bartkiewicz
Wyszukiwanie informacji
Wykład 2a.
Wyszukiwanie w Internecie
• 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
• 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 redaktoraczł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
• 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
• 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
AltaVista
Szukacz
Wyszukiwarki - Historia
• 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
Google – wyszukiwanie proste
Google – Katalog tematyczny
• 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
• W pakiecie usług Google można znaleźć Google Scholar, która jest
przeznaczona do wyszukiwania informacji o charakterze naukowym
Google – Maps
• 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
Google – Wszystkie produkty
Google – Labs
• 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
• 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
wyszukiwanie
słów,
które mają występować obok siebie
poprzedza słowo, które
ma zostać wyszukane
dokładnie
w
takim
brzmie-niu, w jakim
jest podane
wykluczenie
danego
wyrażenia z wyników
wyszukiwania
zastępuje dowolny ciąg
znaków
zastępuje
? znak
pojedynczy
Uwagi
dla wyrażeń wieloczłonowych, np. „domeny
internetowe”
Jeśli stosujemy popularne zwroty, wyszukiwarka może je pomijać lub zwrócić w odmienionej
formie. Używaj, gdy chcesz znaleźć dokładnie
tak zapisany wyraz, np. „+ekologiczny”
Pomocne, gdy w wynikach wyszukiwania
pojawiają się strony, które nie dotyczą
bezpośrednio tematu, lecz są z nimi luźno
skojarzone
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.”
Zastosowany np. w wyrazie ko?ek da wyniki
wysStosujemy zukiwania zarówno dla wyrazów:
kotek, kołek czy korek
Struktura wyszukiwarki
Sponsored Links
CG Appliance Express
Discount Appliances (650) 756-3931
Same Day Certified Installation
www.cgappliance.com
San Francisco-Oakland-San Jose,
CA
Użytkownik
Miele Vacuum Cleaners
Miele Vacuums- Complete Selection
Free Shipping!
www.vacuums.com
Miele Vacuum Cleaners
Miele-Free Air shipping!
All models. Helpful advice.
www.best-vacuum.com
Web
Results 1 - 10 of about 7,310,000 for miele. (0.12 seconds)
Miele, Inc -- Anything else is a compromise
Pająk (crawler)
At the heart of your home, Appliances by Miele. ... USA. to miele.com. Residential Appliances.
Vacuum Cleaners. Dishwashers. Cooking Appliances. Steam Oven. Coffee System ...
www.miele.com/ - 20k - Cached - Similar pages
Miele
Welcome to Miele, the home of the very best appliances and kitchens in the world.
www.miele.co.uk/ - 3k - Cached - Similar pages
Miele - Deutscher Hersteller von Einbaugeräten, Hausgeräten ... - [ Translate this
page ]
Das Portal zum Thema Essen & Geniessen online unter www.zu-tisch.de. Miele weltweit
...ein Leben lang. ... Wählen Sie die Miele Vertretung Ihres Landes.
www.miele.de/ - 10k - Cached - Similar pages
Herzlich willkommen bei Miele Österreich - [ Translate this page ]
Herzlich willkommen bei Miele Österreich Wenn Sie nicht automatisch
weitergeleitet werden, klicken Sie bitte hier! HAUSHALTSGERÄTE ...
www.miele.at/ - 3k - Cached - Similar pages
Search
Indeksator
WWW
Indeksy
Indeksy dodatkowe
Wyszukiwanie – Model boolowski
• 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
• 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
• 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
• 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
Q D
2
QD
DQ
QD
D Q
QD
D
Q
Współczynnik dopasowania prostego
Współczynnik Dice’a
Problem – nie
uwzględnia długości
dokumentu i zapytania
Współczynnik Jaccarda
Współczynnik cosinusoidalny
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).
1 gdy termi wystepujew zapytaniuq
qi  
0 w przeciwnymprzypadku
1 gdy termi wystepujew dokumencied j
wij  
0 w przeciwnymprzypadku
n
Współczynnik
cosinusoidalny
QD
D
Q
q w
=
i
i 1
n
q
i 1
2
i
ij
n
2
w
 ij
i 1
Model wektorowy
Macierz termów/dokumentów
Term\Dokument
Blaster
Czarna dziura
Grawitacja
Gwiazda
Indianie
Kosmos
Kowboj
Nadprzestrzeń
Obserwacja
Planeta
Podróż
Rewolwerowiec
Teleskop
1
1
0
0
1
0
0
0
1
0
0
1
0
0
2
0
0
0
1
0
0
1
0
0
0
1
1
0
3
0
0
1
0
1
0
1
0
1
0
0
1
0
4
0
1
1
0
0
1
0
0
1
1
0
0
1
5
1
1
0
1
0
1
0
1
0
0
0
0
0
6
0
0
1
1
0
1
0
0
1
0
1
0
1
7
0
1
1
0
0
1
0
1
0
0
0
0
1
8
0
0
0
1
0
1
0
0
1
1
1
0
0
9
0
0
0
0
1
0
1
0
0
1
1
1
0
10
0
1
1
1
0
1
0
0
0
1
0
0
1
11
0
0
0
1
1
1
0
0
0
0
1
1
1
12
1
0
0
1
0
1
1
1
0
0
0
0
1
n x N = liczba termów x liczba dokumentów
Model wektorowy
Tworzenie rankingu
Term\Dokument
Blaster
Czarna dziura
Grawitacja
Gwiazda
Indianie
Kosmos
Kowboj
Nadprzestrzeń
Obserwacja
Planeta
Podróż
Rewolwerowiec
Teleskop
n
q w
i 1
i
ij
n
n
i 1
i 1
2
2
q
w
 i  ij
1
1
0
0
1
0
0
0
1
0
0
1
0
0
2
0
0
0
1
0
0
1
0
0
0
1
1
0
3
0
0
1
0
1
0
1
0
1
0
0
1
0
4
0
1
1
0
0
1
0
0
1
1
0
0
1
5
1
1
0
1
0
1
0
1
0
0
0
0
0
6
0
0
1
1
0
1
0
0
1
0
1
0
1
7
0
1
1
0
0
1
0
1
0
0
0
0
1
8
0
0
0
1
0
1
0
0
1
1
1
0
0
9
0
0
0
0
1
0
1
0
0
1
1
1
0
10
0
1
1
1
0
1
0
0
0
1
0
0
1
11
0
0
0
1
1
1
0
0
0
0
1
1
1
12
1
0
0
1
0
1
1
1
0
0
0
0
1
3
2
1
3
4
4
4
3
1
4
3
3
0,61 0,41 0,18 0,50 0,73 0,67 0,73 0,55 0,18 0,67 0,50 0,50
5
7
6
10
1
1
0
0
1
0
1
1
1
0
0
0
0
1
Model wektorowy
Wagi termów
• 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
n
sim(q, d j ) 
q w
i
i 1
n
q
i 1
2
i
ij
n
2
w
 ij
i 1
• 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
• 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
 N
wij  tf ij  idf i  tf ij  log 
 df i



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
100
1 000
10 000
100 000
1 000 000
6
4
3
2
1
0
Model wektorowy
Macierz termów/dokumentów
Term\Dokument
Blaster
Czarna dziura
Grawitacja
Gwiazda
Indianie
Kosmos
Kowboj
Nadprzestrzeń
Obserwacja
Planeta
Podróż
Rewolwerowiec
Teleskop
1
3
0
0
5
0
0
0
2
0
0
1
0
0
2
0
0
0
1
0
0
10
0
0
0
3
6
0
3
0
0
1
0
8
0
5
0
1
0
0
3
0
4
0
10
6
0
0
3
0
0
1
4
0
0
1
5
1
2
0
4
0
2
0
5
0
0
0
0
0
2
0
0
7
0
4
1
3
0
0
0
0
2
0
7
0
1
2
0
0
7
0
4
0
0
0
0
2
8
0
0
0
8
0
1
0
0
1
9
2
0
0
9
0
0
0
0
7
0
3
0
0
1
5
2
0
10
0
6
9
5
0
2
0
0
0
3
0
0
2
11
0
0
0
2
5
1
0
0
0
0
7
5
1
12
2
0
0
7
0
4
1
3
0
0
0
0
2
df
3
4
5
8
3
8
4
4
4
4
6
4
6
idf
0,60
0,48
0,38
0,18
0,60
0,18
0,48
0,48
0,48
0,48
0,30
0,48
0,30
Model wektorowy
Macierz termów/dokumentów
Term\Dokument
Blaster
Czarna dziura
Grawitacja
Gwiazda
Indianie
Kosmos
Kowboj
Nadprzestrzeń
Obserwacja
Planeta
Podróż
Rewolwerowiec
Teleskop
1
1,81
0,00
0,00
0,88
0,00
0,00
0,00
0,95
0,00
0,00
0,30
0,00
0,00
2
3
4
5
0,00 0,00 0,00 0,60
0,00 0,00 4,77 0,95
0,00 0,38 2,28 0,00
0,18 0,00 0,00 0,70
0,00 4,82 0,00 0,00
0,00 0,00 0,53 0,35
4,77 2,39 0,00 0,00
0,00 0,00 0,00 2,39
0,00 0,48 0,48 0,00
0,00 0,00 1,91 0,00
0,90 0,00 0,00 0,00
2,86 1,43 0,00 0,00
0,00 0,00 0,30 0,00
6
0,00
0,00
3,42
1,06
0,00
0,70
0,00
0,00
2,39
0,00
0,60
0,00
1,20
7
8
9
0,00 0,00 0,00
0,48 0,00 0,00
0,76 0,00 0,00
0,00 1,41 0,00
0,00 0,00 4,21
1,23 0,18 0,00
0,00 0,00 1,43
1,91 0,00 0,00
0,00 0,48 0,00
0,00 4,29 0,48
0,00 0,60 1,51
0,00 0,00 0,95
0,60 0,00 0,00
10
0,00
2,86
3,42
0,88
0,00
0,35
0,00
0,00
0,00
1,43
0,00
0,00
0,60
11
0,00
0,00
0,00
0,35
3,01
0,18
0,00
0,00
0,00
0,00
2,11
2,39
0,30
12
1,20
0,00
0,00
1,23
0,00
0,70
0,48
1,43
0,00
0,00
0,00
0,00
0,60
Model wektorowy
Indeks odwrotny
Term\Dokument
Blaster
Czarna dziura
Grawitacja
Blaster
Czarna dziura
Grawitacja
1
3
0
0
2
0
0
0
3
4
5
dfi
3
0
0
1
4
0
10
6
5
1
2
0
6
0
0
9
7
0
1
2
8
0
0
0
9
0
0
0
10
0
6
9
11
0
0
0
12
2
0
0
1 3
5 1
12 3
4 10
5 2
7 1
10 6
3 1
4 6
6 9
7 2
tfij
df idf
3 0,60
4 0,48
5 0,38
10 9
Niejednoznaczność zapytań
• 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
• 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
• 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
• 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
Strona A
hiperłącze
Kotwica
Strona B
• 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ą.
Analiza łączy
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.
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.
Analiza sieci społecznej
a
c
b
0 1 1


A  0 0 1
1 0 0


• 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
• 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
nn 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
0 1 1


A  0 0 1
1 0 0


0 0 1


T
A  1 0 0
1 1 0


 0,548  0 0 1   0,548

 
 

1,325  0,414   1 0 0    0,414
 0,726  1 1 0   0,726

 
 

a
0,548
c
0,726
b
0,414
• 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
• 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  A TQ
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||.
LP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Eps
0,85675
0,30796
0,24437
0,13542
0,06436
0,04946
0,04318
0,0283
0,01377
0,00786
0,00722
0,00545
0,00301
0,00143
0,00114
0,00098
0,00063
0,0003
0,00018
0,00017
1
0,408
0,667
0,485
0,557
0,566
0,527
0,562
0,544
0,547
0,552
0,546
0,55
0,548
0,548
0,549
0,548
0,549
0,548
0,548
0,548
1
0,408
0,333
0,485
0,371
0,424
0,422
0,402
0,423
0,41
0,414
0,416
0,412
0,415
0,414
0,414
0,414
0,414
0,414
0,414
0,414
1
0,816
0,667
0,728
0,743
0,707
0,738
0,723
0,725
0,73
0,724
0,728
0,726
0,726
0,727
0,726
0,727
0,727
0,726
0,727
0,726
1
0,816
0,667
0,728
0,743
0,707
0,738
0,723
0,725
0,73
0,724
0,728
0,726
0,726
0,727
0,726
0,727
0,727
0,726
0,727
1
0,408
0,667
0,485
0,557
0,566
0,527
0,562
0,544
0,547
0,552
0,546
0,55
0,548
0,548
0,549
0,548
0,549
0,548
0,548
2
0,816
1
0,97
0,928
0,99
0,949
0,964
0,967
0,958
0,966
0,961
0,962
0,963
0,962
0,963
0,962
0,962
0,963
0,962
W. wł
2,449
1,225
1,374
1,306
1,313
1,342
1,312
1,33
1,325
1,322
1,327
1,323
1,325
1,325
1,324
1,325
1,325
1,325
1,325
1,325
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.
Idea PageRank-u
.1
.05
.08
Propagacja prestiżu
strony w PageRank
.05
.03
.09
.03
.08
.03
.03
Podstawowy algorytm PageRank
• Współczynnik PgeRank określający prestiż strony obliczany jest więc w
następujący sposób:
A(v, u ) R(v)
R(u )  l 
Nv
v
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
0 1 1


A  0 0 1
1 0 0


a
c
 0 0,5 0,5 


A  0 0
1 
1 0

0


b
 0,4   0 0 1   0,4 
  
  
 0,2    0,5 0 0    0,2 
 0,4   0,5 1 0   0,4 
  
  
a
0,4
c
0,4
b
0,2
• 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
a
0,4
a
0,4
0,4
c
0,4
b
0,2
c
0,4
0,2
0,2
0,2
b
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
• 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


A(v, u ) R(v)
R(u )  l d 
 (1  d ) E (u )
Nv
 v

• 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  A TQ
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
• 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).