Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

22
WUT TWG 2005 WEDT Wyszukiwanie informacji Wykład 9 Piotr Gawrysiak [email protected] 2006

Transcript of Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

Page 1: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

WUTTWG

2005

WEDT Wyszukiwanie informacji

Wykład 9

Piotr [email protected]

2006

Page 2: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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

Page 3: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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)

Page 4: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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

Page 5: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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

Page 6: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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

Page 7: Wykład 9 - Information retrieval (wyszukiwanie 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)

Page 8: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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

Page 9: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

WUTTWG

2005

However:

Page 10: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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

Page 11: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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• ...

Page 12: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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

Page 13: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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

Page 14: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

WUTTWG

2005Page Rank cont.

P

A B

(1-d)* ( 1/4 PageRank strony A + 1/3 PageRank strony B ) +d/n

Page 15: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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

Page 16: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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

)(:)(

)(:)(

Page 17: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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

Page 18: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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

Page 19: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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.

Page 20: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

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

Page 21: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

WUTTWG

2005Wizualizacja – hyperbolic trees

Page 22: Wykład 9 - Information retrieval (wyszukiwanie dokumentów)

WUTTWG

2005

• grupowanie podobnych dokumentów• wizualizacja pozycji słów kluczowych (TileBars, Berkeley)• wizualizacja gęstych podgrafów• ...

Wizualizacja cont.