Upload
tranhanh
View
218
Download
0
Embed Size (px)
Citation preview
WUTTWG
2005Wyszukiwanie informacjiIR – information retrievalIR to przypadek szczególny klasyfikacji, w której mamy do czynienia jedynie z dwoma klasami dokumentów
Dwa podejścia• dokładne (exact match) – w większości wypadków związane z zastosowaniem jakiegoś języka wyszukiwania (czy tez raczej języka specyfikacji zapytań – query language)
• rozmyte (fuzzy) – wykorzystuje metody statystyczne do oceny odpowiedniości dokumentu do zapytania
• główny problem – konstruowanie zapytania
Obecnie najważniejsze repozytorium w którym dokonuje się wyszukiwania to sieć WWW
• Trudności (oba wynikają z rozmiaru repozytorium)• zapewnienie wysokiej relewancji odpowiedzi• zapewnienie wysokiej kompletności odpowiedzi• przedstawienie wyniku w zrozumiały i efektywny sposób
WUTTWG
2005Indeksowanie sieci WWW1999 - Scooter (AltaVista) : 1.5GB RAM, 30GB disk, 4x533 MHz Alpha, 1GB/s I/O (crawler) – 1 miesiąc na pełny „recrawl”2000 - ~40% zasobów WWW w indeksach wyszukiwarek (reszta – „grey” web)2005 – Google posiada około 100000 serwerów przechowujących zawartość indeksu wyszukiwarki i lokalne kopie stron WWW, liczba datacenters - >100 (~60 w USA)
WUTTWG
2005
A = cała sieć WWW w zasięgu wyszukiwarki #1 i #2B = indeks wyszukiwarki #1C = indeks wyszukiwarki #2
BC n – liczba elementów w A, nieznanam – liczba elementów w B, znanao – liczba elementów w C, znanap – liczba elementów w B C, nieznana ale może być estymowana poprzez zadawanie tych samych zapytań do #1 i #2
Zakładamy iż zbiory B i C są tworzone losowo. Wtedy prawdopodobieństwo wybrania strony oi należącej do B jest: P(oiB) = m/n. Zatem wśród o elementów ze zbioru C powinno być o* P(oi B) elementów należących do B, zatem p= o* P(oi B), and n = (m*o)/p
Nie musimy także znać dokładnie jednocześnie m i o – dla dużej liczby zapytań stosunek m i o powinien odpowiadać stosunkowi wielkości odpowiedzi.
Pokrycie sieci przez indeksy
WUTTWG
2005Proste podejścia do IRWyszukiwanie dokładne wymaga indeksu pojęć, których można użyć w zapytaniuNajbardziej popularna metoda – zbiory odwrócone (inverted files)
abcd...z
• Bardzo szybkie• Bardzo łatwo przy użyciu zbiorów odwróconych przetwarzać zapytania boolowskie• Stosunkowo proste w implementacji• Dostępne „standardowe” implementacje - Lucene
WUTTWG
2005Fuzzy search
k
1l
2il
k
1l
2l
k
1llil
ii
dq
qdQ),cos(DQ),sim(D
• Poszczególne dokumenty reprezentowane są jako wektory w przestrzeni atrybutów (słów, n-gramów itd.)
• Zapytania reprezentowane są także jako wektory w tej przestrzeni, potrzebne jest zatem mapowanie zapytanie – wektor
• Dzięki temu zapytanie może być zbiorem słów kluczowych, ale także dokumentem albo nawet zbiorem dokumentów
• Wynik to dokumenty najbliższe wektorowi zapytania (potrzebna zatem metryka) – np.
Repozytorium
Wyjściowezapytanie
IR Output Selekcja Output
Proces ten może być powtarzany – relevance feedback – dzięki możliwości stworzenia zapytania na podstawie zbioru dokumentów
WUTTWG
2005Struktura sieci WWW
• sieć WWW nie jest grafem przypadkowym (random graph)• analiza grafu WWW pokazuje, iż (podobnie jak to ma miejsce z rozkładem występowania słów) można go modelować przez prawa potęgowe• dalsza analiza pokazuje iż ma on wiele wspólnego z innymi modelami sieciowymi – społecznymi (six degrees of separation), rozprzestrzeniania się chorób itp.
Albert Laszlo-Barabasi, „Linked: How Everything Is Connected to Everything Else and What It Means”
• Dzięki klasycznym metodom wyszukiwania zwykle otrzymamy interesujące nas dokumenty – pod warunkiem, że indeks wyszukiwarki jest kompletny
• Problem jaki najczęściej występuje, to zbyt duża liczba otrzymanych dokumentów (niska wartość wskaźnika precyzji)
• Zwiększenie jakości odpowiedzi wymagałoby dokładniejszej analizy treści dokumentów
• Można także wykorzystać informację nietekstową, zawartą w WWW• sieć hiperpołączeń pomiędzy stronami (zakładamy, że ktoś już
za nas wykonał analizę zawartości stron, jej wynik zawarty jest w grafie hiperpołączeń)
• odwiedziny stron przez użytkowników (szczególnie – użytkowników wyszukiwarki)
WUTTWG
2005
Niektóre podgrafy WWW wykazują interesującą strukturę – np. tzw. bipartite coresOdnajdywanie takich struktur może być pożyteczne – wydaje się jednak niemożliwe...
4 Fans 3 Centres
Bipartite core C4,3
•350 milionów stron w WWW (Chakrabarti 1999)• wzrost na początku XXI około 1 milion stron na dzień (Bharat WWW7)• Update rate około 600GB czystego tekstu na dzień (Alexa 1997)
Struktura sieci WWW
WUTTWG
2005
However:
WUTTWG
2005
Oszacujmy liczbę C3,3 dla modelu sieci przypadkowej (100 milionów stron): • n=108, prawdopodobieństwo wystąpienia krawędzi 10-7 (średnie out-degree = 10).• Dla dowolnych 6 węzłów prawdopodobieństwo tego że formują C3,3 = (10-7)9 = 10-63
• Liczba C3,3 = 110610
10 188
63
Potrzebne są zatem inne modele, np.Raghavan et. al.:
1. Nowa strona dodaje hiperpołączenia poprzez kopiowanie z już istniejących stron 2. Sieć WWW to graf rzadki z lokalnymi gęstymi podgrafami
W rzeczywistości (około 2000 r.) 133000 C3,3
Random graph model
WUTTWG
2005Analiza (hiper) połączeń• Wyszukiwanie interesujących wzorców w grafach jest przydatne
także w innych zastosowaniach• Bibliometria – grafy cytowań prac naukowych• Socjometria – sieci społeczne• Collaborative Filtering – analiza podobieństw grafów
reprezentujących upodobania różnych osób• ...
• Analiza hiperpołączeń w WWW (web mining):• porządkowanie dokumentów w odpowiedzi: ranking• wybór dokumentów do indeksowania: crawling• klasyfikacja stron WWW wg. tematyki• odnajdowanie stron podobnych• odnajdowanie duplikatów stron WWW• ...
WUTTWG
2005Ranking wyników odpowiedzi
• Ranking odpowiedzi powinien zależny być od• relewantności do zapytania• jakości poszczególnych stron
• Rozwiązanie naiwne: im większa liczba hiperpołączeń wchodzących do danej strony, tym większa jakość strony• każde hiperpołączenie jest jednakowo istotne• słabe wyniki empiryczne• niezwykle podatne na manipulację
• Rozwiązanie lepsze: jakość hiperpołączeń jest związana z jakością stron które je zawierają
w idealnym przypadku wszystkie strony są równie relewantne
WUTTWG
2005Page Rank• Larry Page, Siergiej Brin, 1998• PageRank R(p) strony p:
• gdzie - dampening factor, zwykle 0.1 lub 0.2• n – liczba węzłów w grafie G• outdegree(q) – liczba krawędzi wychodzących z węzła p
• Rekurencja - obliczenie możliwe iteracyjnie, zwykle mniej niż 100 iteracji do osiągnięcia stanu stabilnego
• Wartości Page Rank nie są związane z zapytaniem – można zatem obliczać je co jakiś czas
G)p,q( )q(reedegout
)q(R)1(n/)p(R
WUTTWG
2005Page Rank cont.
P
A B
(1-d)* ( 1/4 PageRank strony A + 1/3 PageRank strony B ) +d/n
WUTTWG
2005Page Rank cont.• PageRank można interpretować jako opis zachowania użytkownika
sieci „podróżującego” losowo po stronach WWW (random surfer)
• Użytkownik klika w losowo wybrane hiperlinki na stronach, z jednakowym prawdopodobieństwem. Od czasu do czasu nudzi się i przeskakuje na losową, dowolnie wybraną, stronę WWW
• Zachowanie takiego użytkownika można opisać jako proces Markowa p1, p2,p3, … na grafie G, gdzie w każdym kroku:• Każdy węzeł sieci może być węzłem startowym• W węźle pi
• z prawdopodobieństwem , węzeł pi+1 jest wybierany losowo ze wszystkich węzłów G
• z prawdopodobieństwem 1-, węzeł pi+1 jest wybierany losowo z węzłów – następników pi w grafie G
WUTTWG
2005HITS• „Jakość” stron WWW można różnie interpretować• Algorytm HITS (Kleinberg, 1999)
• oparty o spostrzeżenie iż istnieją dwa rodzaje „dobrych” stron WWW
• authority (wskazywane przez wiele innych stron)• hub (wskazują na wiele innych stron)• dobra strona authority wskazywana jest przez dobre strony hub• dobre strony hub wskazują na dobre strony authority• rekurencja – także obliczenia iteracyjne
• słabo nadaje się do obliczeń dotyczących całej sieci WWW• może być wykorzystany do analizy podgrafu tworzonego przez strony
znajdujące się w wyniku zapytania• rozszerzenia – BHITS, WBHITS, CLEVER, ARC itd.
hubqaph
authorityqhpa
qp
pq
)(:)(
)(:)(
WUTTWG
2005
Sieć WWW zawiera także wiele informacji, które możemy „wyszukiwać” niekoniecznie na żądanie użytkownikaPrzykład – wyszukiwanie interesujących związków (np. frazeologicznych) w tekstach stron WWW
Dual Iterative Pattern Relation Extraction (DIPRE) – Siergiey Brin 1999
1. Start with small sample of relations R’2. Find R’ occurrences and store as O3. Generate new patterns P using O 4. Increase R’ by searching for relations that match patterns from P5. Go to step 2
Web Mining - przykład
WUTTWG
2005
Wielkość sieci WWW jest na tyle duża, iż rozważano także rozproszone podejścia do tworzenia indeksów i wyszukiwania informacji:
• rozproszone wyszukiwarki sieciowe (związane głównie z systemami P2P)
• „osobiste” crawlery sieciowe
Osobisty crawler nie może działać podobnie do uniwersalnego crawlera wyszukiwarki sieciowej – ograniczenia czasowe i sprzętowe.
Powinien być raczej „agentem” wyręczającym użytkownika w procesie przeglądania zasobów sieciowych – musi zatem być wyposażony w mechanizm oceny relewancji przeglądanych stron.
Focused crawling
WUTTWG
2005
Cooperative community Competitive community
Focused Crawler (Chakrabarti, van den Berg, Dom’99)• wykorzystuje hierarchię klasyfikacji (z przykładowymi dokumentami) oznaczonymi jako istotne dla danego wyszukiwania• wykorzystuje klasyfikator Bayesowski z modelem dokumentu bag-of-words do klasyfikacji aktualnie analizowanej strony• poszczególne analizowane strony mogą odbiegać od tematu przez pewną liczbę „skoków” – liczba ta zależy od zgodności ostatniej „dobrej” strony z zapytaniem• HITS używany do okresowego „czyszczenia” zebranych stron
Focused crawling cont.
WUTTWG
2005Wizualizacja dokumentów
Peak represents many strongly related documents
Water represents assorted documents, creating semantic noise
Island represents several documents sharing similar subject, and separated from others - hence creating a group of interest
WUTTWG
2005Wizualizacja – hyperbolic trees
WUTTWG
2005
• grupowanie podobnych dokumentów• wizualizacja pozycji słów kluczowych (TileBars, Berkeley)• wizualizacja gęstych podgrafów• ...
Wizualizacja cont.