Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wprowadzenie do budowy usług informacyjnych W. Bartkiewicz Wykład 3. Model wektorowy wyszukiwania informacji.

Podobne prezentacje


Prezentacja na temat: "Wprowadzenie do budowy usług informacyjnych W. Bartkiewicz Wykład 3. Model wektorowy wyszukiwania informacji."— Zapis prezentacji:

1 Wprowadzenie do budowy usług informacyjnych W. Bartkiewicz Wykład 3. Model wektorowy wyszukiwania informacji

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

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

4 Współczynnik dopasowania prostego Współczynnik DiceaWspółczynnik Jaccarda Współczynnik cosinusoidalny Wyszukiwanie topologiczne Problem – nie uwzględnia długości dokumentu i zapytania

5 Zapytanie i dokumenty reprezentowane są jako wektory q = [q 1, q 2,..., q n ], d j = [w 1j, w 2j,..., w nj ] w przestrzeni R n, gdzie n jest liczbą wszystkich termów indeksujących (rozmiar słownika). Model wektorowy = Współczynnik cosinusoidalny

6 Model wektorowy Macierz termów/dokumentów Term\Dokument123456789101112 Blaster100010000001 Czarna dziura000110100100 Grawitacja001101100100 Gwiazda110011010111 Indianie001000001010 Kosmos000111110111 Kowboj011000001001 Nadprzestrzeń100010100001 Obserwacja001101010000 Planeta000100011100 Podróż110001011010 Rewolwerowiec011000001010 Teleskop000101100111 n x N = liczba termów x liczba dokumentów

7 Model wektorowy Tworzenie rankingu Term\Dokument123456789101112 Blaster100010000001 Czarna dziura000110100100 Grawitacja001101100100 Gwiazda110011010111 Indianie001000001010 Kosmos000111110111 Kowboj011000001001 Nadprzestrzeń100010100001 Obserwacja001101010000 Planeta000100011100 Podróż110001011010 Rewolwerowiec011000001010 Teleskop000101100111 1 0 0 1 0 1 1 1 0 0 0 0 1 321344431433 0,610,410,180,500,730,670,730,550,180,670,50 576101

8 Model wektorowy Wagi termów Jak dotąd zakładaliśmy, że zarówno wektor zapytania q = [q 1, q 2,..., q n ] jak i opisy dokumentów d j = [w 1j, w 2j,..., w nj ] 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.

9 Model wektorowy Wagi termów W modelu wektorowym wyszukiwania informacji zarówno wektory zapytania q = [q 1, q 2,..., q n ], jak i opisu dokumentu d j = [w 1j, w 2j,..., w nj ] mogą być dowolnymi wektorami w przestrzeni R n. Term i w opisie dokumentu (zapytania) j, reprezentowany jest przez pewną nieujemną liczbę rzeczywistą w ij, nazywaną wagą: –Im większa wartość wagi termu, tym bardziej jest on istotny dla opisu treści dokumentu. –Wartość w ij = 0 oznacza, że dany term w opisie dokumentu nie występuje.

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

11 Model wektorowy Wagi termów tf ij – (term frequency) częstość termu i w dokumencie j, idf i – (inverse document frequency) odwrotność częstości dokumentów N – liczba dokumentów w kolekcji df i – liczba dokumentów zawierających term i. (1 mln dok.) dfidf 16 1004 1 0003 10 0002 100 0001 1 000 0000

12 Model wektorowy Macierz termów/dokumentów Term\Dokument123452789101112 Blaster300010000002 Czarna dziura0001020100600 Grawitacja001607200900 Gwiazda510040080527 Indianie008004007050 Kosmos000321710214 Kowboj0105003003001 Nadprzestrzeń200050400003 Obserwacja001100010000 Planeta000400091300 Podróż130000025070 Rewolwerowiec063002002050 Teleskop000100200212 dfidf 30,60 40,48 50,38 80,18 30,60 80,18 40,48 4 4 4 60,30 40,48 60,30

13 Model wektorowy Macierz termów/dokumentów Term\Dokument123456789101112 Blaster1,810,00 0,600,00 1,20 Czarna dziura0,00 4,770,950,000,480,00 2,860,00 Grawitacja0,00 0,382,280,003,420,760,00 3,420,00 Gwiazda0,880,180,00 0,701,060,001,410,000,880,351,23 Indianie0,00 4,820,00 4,210,003,010,00 Kosmos0,00 0,530,350,701,230,180,000,350,180,70 Kowboj0,004,772,390,00 1,430,00 0,48 Nadprzestrzeń0,950,00 2,390,001,910,00 1,43 Obserwacja0,00 0,48 0,002,390,000,480,00 Planeta0,00 1,910,00 4,290,481,430,00 Podróż0,300,900,00 0,600,000,601,510,002,110,00 Rewolwerowiec0,002,861,430,00 0,950,002,390,00 Teleskop0,00 0,300,001,200,600,00 0,600,300,60

14 Model wektorowy Cosinusoidalna miara podobieństwa t 1 q d j t 3 t 2 θ Cosinus kąta między wektorem zapytania i wektorem dokumentu

15 Model wektorowy Indeks odwrotny Term\Dokument123456789101112 Blaster300010000002 Czarna dziura0001020100600 Grawitacja001609200900 dfidf 30,60 40,48 50,38 Blaster3 Czarna dziura4 Grawitacja5 1351123 4105271 6 31466972 9 df i tf ij Wagi termów w ij =tf ij *idf i obliczamy w locie podczas wyszukiwania – dodając nowe dokumenty nie trzeba ich przeliczać

16 Model wektorowy Realizacja zapytań podobieństwo do zapytania, a następnie stworzyć ranking zawierający k najlepszych dokumentów. Długości dokumentów |d j | nie zależą od zapytania q. Mogą więc być obliczone wcześniej, tak by skrócić czas realizacji zapytania. –Obliczone długości dokumentów mogą być przechowywane dodatkowo w indeksie, poza strukturą inwersyjną. Podczas realizacji zapytania obliczony współczynnik cosinusów skalujemy zapamiętaną długością dokumentu. Ponieważ robimy to tylko raz, więc dodatkowe nakłady obliczeniowe są niewielkie. –W indeksie odwrotnym zamiast surowych częstości termów tf ij, możemy przechowywać ich znormalizowane wartości tf ij /|d j |. Po znalezieniu w słowniku indeksu odwrotnego wszystkich termów występujących w zapytaniu, należy dla wszystkich dokumentów występujących w listach odsyłaczy tych termów obliczyć współczynniki cosinusów określające ich

17 Model wektorowy Realizacja zapytań Możliwych jest cały szereg strategii i algorytmów realizacji rankingu. Generalnie jednak wymagają one wykonania następujących operacji: –Dla każdego dokumentu tworzymy i inicjujemy wartością 0, akumulator – zmienną w której będziemy sumować miarę podobieństwa. W zależności od implementacji akumulatory mogą być przechowywane w statycznej lub dynamicznej strukturze danych. –Dla wszystkich odsyłaczy dokumentów we wszystkich termach indeksujących zapytania, dodajemy do akumulatora odpowiedniego dokumentu kolejne wyrazy q i *w ij. –Po przeliczeniu wszystkich odsyłaczy, wybieramy akumulatory o wartościach większych od 0. –Porównując wartości wybranych akumulatorów wyszukujemy k najwyższych wyników. –Sortujemy otrzymane k akumulatorów w porządku malejącym i zwracamy odpowiadające im dokumenty jako wynik zapytania.

18 Model wektorowy Realizacja zapytań TO_S(q) ALOCATE tablicę akumulatorów A foreach a[j] A a[j].doc = k, a[j].s = 0 foreach termu zapytania q[i] q FIND q[i] w słowniku indeksu odwrotnego foreach dokumentu d[j] w liście odsyłaczy termu q[i] a[j].s += w[i][j]*q[i] ALOCATE strukturę danych wynik INSERT k najlepszych akumulatorów do wynik SORT akumulatory malejąco względem a.s return wynik W najprostszej postaci algorytmu akumulatory mogą być wybierane do zwykłej tablicy. –Wybieramy akumulatory o wartości a[j].s > 0 do tablicy roboczej i sortujemy. Do tablicy wynik przepisujemy k pierwszych elementów tablicy roboczej. Dużą poprawę efektywności uzyskuje się jednak stosując jakąś samosortującą się strukturę danych, np. drzewo, kolejka priorytetowa. –Przepisujemy niezerowe akumulatory do struktury danych. Następnie pobieramy k pierwszych do tablicy wynik. Według termów Statyczna tablica akumulatorów

19 Model wektorowy Realizacja zapytań - przykład Blaster3 Czarna dziura4 Grawitacja5 1351123 4105271 6 31466972 9 A 10 20 30 40 50 60 70 80 90 0 110 120 Zapytanie: Czarna dziura, Grawitacja. –Zakładamy, że wagi termów q i występujących w zapytaniu są równe 1, pozostałych równe 0 – częsta praktyka. Inicjujemy tablicę akumulatorów A. Znajdujemy w słowniku indeksu term Czarna dziura. –Obliczamy idf = log(N/df) = log(12/4) = log(3) 0,5. Przetwarzamy po kolei listę odsyłaczy termu czarna dziura.

20 Model wektorowy Realizacja zapytań - przykład Czarna dziura4 4105271 6 A 10 20 30 45 50 60 70 80 90 0 110 120 410 tf*idf = 10*0.5 = 5 A 10 20 30 45 51 60 70 80 90 100 110 120 52 2*0.5 = 1 A 10 20 30 45 51 60 70.5 80 90 100 110 120 71 1*0.5 = 0.5 A 10 20 30 45 51 60 70.5 80 90 103 110 120 106 6*0.5 = 3

21 Model wektorowy Realizacja zapytań - przykład Grawitacja5 A 10 20 30.4 45 51 60 70.5 80 90 103 110 120 31 1*0.4 = 0.4 A 10 20 30.4 47.4 51 60 70.5 80 90 103 110 120 46 6*0.4 = 2.4 A 10 20 30.4 47.4 51 63.6 70.5 80 90 103 110 120 69 9*0.4 = 3.6 A 10 20 30.4 47.4 51 63.6 71.3 80 90 103 110 120 72 2*0.4 = 0.8 31466972109 idf = log(12/5) 0,4 A 10 20 30.4 47.4 51 63.6 71.3 80 90 106.6 110 120 109 9*0.4 = 3.6

22 Model wektorowy Realizacja zapytań - przykład A 10 20 30.4 47.4 51 63.6 71.3 80 90 106.6 110 120 rob 30,1 41,3 50,4 60,8 70,5 101,4 Wybór > 0 Sorto wanie rob 101,4 41,3 60,8 70,5 50,4 20,1 3 Wyszukujemy powiedzmy 4 dokumenty (k = 4) Wybór 4 wynik 101,4 41,3 60,8 70,5 2,2 5,6 5,7 2,8 4,6 2,5 4,6 4,8 4,4 2,5 A 10,0 20 30,1 41,3 50,4 60,8 70,5 80,0 9 101,4 110,0 120,0 Długości dokumentów

23 Model wektorowy Realizacja zapytań - przykład A 10,0 20 30,1 41,3 50,4 60,8 70,5 80,0 9 101,4 110,0 120,0 Wybór > 0 Wyszukujemy powiedzmy 4 dokumenty (k = 4) Wybór 4 wynik 101,4 41,3 60,8 70,5 1.4 10 1.3 4 0.8 60.4 5 0.1 30.5 7 Np. Drzewo binarne w którym każdy potomek jest nie większy od rodzica

24 Model wektorowy Realizacja zapytań Stosowanie tablicy akumulatorów staje się problematyczne dla dużych kolekcji: –Każdy dokument w kolekcji musi mieć swój akumulator – w przypadku kolekcji o rozmiarach milionów dokumentów, rozmiary tablicy mogą być nieakceptowalne. –Wiele akumulatorów będzie niewykorzystanych – będą miały wartość 0. Alternatywą dla przechowywania akumulatorów jest zastosowanie dynamicznej struktury danych. –Dostęp musi być optymalizowany ze względu na identyfikator dokumentu. –Zazwyczaj stosowane są struktury danych pochodzące od drzew B+ lub indeksów haszujących. Jest to rozwiązanie wyraźnie gorsze pod względem efektywności przetwarzania zapytania. –Ale pod warunkiem, że identyfikatory dokumentów mogą zostać wykorzystane do indeksowania odwołań do tablicy akumulatorów. W innym przypadku dostęp do tablicy akumulatorów również musimy indeksować.

25 Model wektorowy Realizacja zapytań TO_D(q) INITIALIZE dynamiczną strukturę akumulatorów D foreach termu zapytania q[i] q FIND q[i] w słowniku indeksu odwrotnego foreach dokumentu d[j] w liście odsyłaczy termu q[i] if akumulator a D taki że a.doc == d[j] a.s += w[i][j] else ALLOCATE nowy akumulator a a.doc = d[j], a.s = w[i][j]*q[i] D = D {a} ALOCATE strukturę danych wynik INSERT k najlepszych akumulatorów do wynik SORT akumulatory malejąco względem a.s return wynik Według termów Dynamiczna alokacja akumulatorów

26 Model wektorowy Realizacja zapytań - przykład Blaster3 Czarna dziura4 Grawitacja5 1351123 4105271 6 31466972 9 Zapytanie: Czarna dziura, Grawitacja. –Zakładamy, że wagi termów q i występujących w zapytaniu są równe 1, pozostałych równe 0 – częsta praktyka. Inicjujemy strukturę akumulatorów D (w naszym przykładzie tablica haszująca mod 4). Znajdujemy w słowniku indeksu term Czarna dziura. –Obliczamy idf = log(N/df) = log(12/4) = log(3) 0,5. Przetwarzamy po kolei listę odsyłaczy termu czarna dziura.

27 Model wektorowy Realizacja zapytań - przykład Czarna dziura4 10425176 D 0 1 2 3 4 tf*idf = 10*0.5 = 5 54 3 2 1 0 D 25 2*0.5 = 1 54 3 2 1 0 D 15 17 1*0.5 = 0.5 54 3 2 1 0 D 15 0.57

28 Model wektorowy Realizacja zapytań - przykład Czarna dziura4 10425176 54 3 2 1 0 D 15 0.57 610 6*0.5 = 3 54 3 2 1 0 D 15 0.57 310

29 Model wektorowy Realizacja zapytań - przykład Grawitacja5 13649627910 idf = log(12/5) 0,4 13 1*0.4 = 0.4 54 3 2 1 0 D 15 0.57 310 0.43 64 6*0.4 = 2.4 7.44 3 2 1 0 D 15 0.57 310 0.43 96 9*0.4 = 3.6 7.44 3 2 1 0 D 15 0.57 310 0.43 3.66

30 Model wektorowy Realizacja zapytań - przykład Grawitacja5 13649627910 idf = log(12/5) 0,4 27 2*0.4 = 0.8 7.44 3 2 1 0 D 15 1.37 310 0.43 3.66 910 9*0.4 = 3.6 7.44 3 2 1 0 D 15 1.37 6.610 0.43 3.66 7.44 3 2 1 0 D 15 0.57 310 0.43 3.66

31 Model wektorowy Realizacja zapytań Druga grupa podejść do przetwarzania zapytania, opiera się na przetwarzaniu odsyłaczy w porządku dokumentów, a nie termów. –Odsyłacze przypisane danemu termowi muszą być uporządkowane według identyfikatora dokumentu. –Zakłada się również, że liczba termów w zapytaniu jest ograniczona i nie większa niż pewna z góry założona liczba Q. Listy inwersyjne przypisane termom zapytania mogą być wtedy przetwarzane równolegle, a nie sekwencyjnie, jak w przypadku wcześniej omawianych strategii opartych na porządku termów. W ten sposób jesteśmy w stanie obliczyć całkowity wynik dokumentu, zanim rozpoczniemy obliczenia dla następnego.

32 Model wektorowy Realizacja zapytań DO(q) ALOCATE strukturę danych wynik foreach termu zapytania q[i] q FIND q[i] w słowniku indeksu odwrotnego h[i] = pierwszy odsyłacz z listy inwersyjnej dla termu g[i] while nie koniec wszystkich list inwersyjnych w tablicy h[i] FIND min takie że h[min].doc = MIN h[i].doc a.doc = h[min].doc, a.s = 0 foreach h[i] if a.doc == h[i].doc then a.sum += h[i].w[i][j]*q[i] NEXT h[i] if koniec listy inwersyjnej q[i] then h[i]=koniec; SELECT a do wynik SORT akumulatory malejąco względem a.s return wynik Według dokumentów

33 Model wektorowy Realizacja zapytań - przykład Blaster3 Czarna dziura4 Grawitacja5 1351123 4105271 6 31466972 9 Zapytanie: Czarna dziura, Grawitacja. –Zakładamy, że wagi termów q i występujących w zapytaniu są równe 1, pozostałych równe 0 – częsta praktyka. Inicjujemy strukturę wynik (w naszym przykładzie kolejka priorytetowa minimum, dla k=4 elementów). Znajdujemy w słowniku indeksu term Czarna dziura. –Obliczamy idf = log(N/df) = log(12/4) = log(3) 0,5. –h[0] = wskaźnik do pierwszego odsyłacza dla tego termu Znajdujemy w słowniku term Grawitacja. –Obliczamy idf = log(N/df) = log(12/5) = log(2.4) 0,4. –h[1] = wskaźnik do pierwszego odsyłacza dla tego termu

34 Model wektorowy Realizacja zapytań - przykład 10425176 136496279 h[0] h[1] min=1 03 a dla h[1] w ij =1*0.4 = 0.4 0.43 Wynik: 0.13 10425176 6496279 h[0] h[1] DocLen = 5.6, 0.4/5.6 = 0.1

35 Model wektorowy Realizacja zapytań - przykład min=0 04 a dla h[0] w ij =10*0.5 = 5 54 Wynik: 0.13 10425176 6496279 h[0] h[1] dla h[1] w ij =6*0.4 = 2.4 7.44 DocLen = 5.7 7.4/5.7 = 1.3 1.34 2517610 96279 h[0] h[1]

36 Model wektorowy Realizacja zapytań - przykład min=0 05 a dla h[0] w ij =2*0.5 = 1 15 DocLen = 2.8 1/2.8 = 0.4 Wynik: 0.131.34 17610 96279 h[0] h[1] 2517610 96279 h[0] h[1] Wynik: 0.130.451.34

37 Model wektorowy Realizacja zapytań - przykład min=1 06 a dla h[1] w ij =9*0.4 = 3.6 3.66 DocLen = 4.6 3.6/4.6 = 0.8 17610 279 h[0] h[1] Wynik: 0.130.451.34 17610 96279 h[0] h[1] Wynik: 0.130.450.861.34

38 Model wektorowy Realizacja zapytań - przykład min=0 07 a dla h[0] w ij =1*0.5 = 0.5 0.57 DocLen = 2.5 1.3/2.5 = 0.5 610 9 h[0] h[1] Wynik: 0.450.570.861.34 17610 279 h[0] h[1] Wynik: 0.130.450.861.34 dla h[1] w ij =2*0.4 = 0.8 1.37 Wynik: 0.450.861.34

39 Model wektorowy Realizacja zapytań - przykład min=0 010 a dla h[0] w ij =6*0.5 = 3 310 DocLen = 4.8 16.6/4.8 = 1.4 610 9 h[0] h[1] Wynik: 0.450.570.861.34 dla h[1] w ij =9*0.4 = 3.6 6.610 Wynik: 0.570.861.34 Wynik: 0.570.861.341.410

40 Model wektorowy Efektywność przetwarzania zapytań ok. 2 mln stron WWW (30 GB) ponad 3 mln. różnych termów Krótkie zapytania (1 – 5 termów) Źródło: Cambazoglu, Aykanat, Performance of query processing implementations in ranking-based text retrieval systems using inverted indices, IP&M, 42 (2006), 875-898. k=10 k=1000 wszystkie >0

41 Źródło: Cambazoglu, Aykanat, Performance of query processing implementations in ranking-based text retrieval systems using inverted indices, IP&M, 42 (2006), 875-898. Model wektorowy Efektywność przetwarzania zapytań Średnie zapytania (6 – 25 termów) ok. 2 mln stron WWW (30 GB) ponad 3 mln. różnych termów k=10 k=1000 wszystkie >0

42 Źródło: Cambazoglu, Aykanat, Performance of query processing implementations in ranking-based text retrieval systems using inverted indices, IP&M, 42 (2006), 875-898. Model wektorowy Efektywność przetwarzania zapytań Długie zapytania (21 – 250 termów) ok. 2 mln stron WWW (30 GB) ponad 3 mln. różnych termów k=10 k=1000 wszystkie >0

43 Źródło: Cambazoglu, Aykanat, Performance of query processing implementations in ranking-based text retrieval systems using inverted indices, IP&M, 42 (2006), 875-898. Model wektorowy Efektywność przetwarzania zapytań ok. 500 tys. stron WWW 1.5 mln. termów ok. 1 mln. stron WWW 2.2 mln. termów ok. 2 mln. stron WWW 3 mln. termów Średnie zapytania (6 – 25 termów) k = 10

44 Źródło: Cambazoglu, Aykanat, Performance of query processing implementations in ranking-based text retrieval systems using inverted indices, IP&M, 42 (2006), 875-898. Model wektorowy Efektywność przetwarzania zapytań ok. 500 tys. stron WWW 1.5 mln. termów ok. 1 mln. stron WWW 2.2 mln. termów ok. 2 mln. stron WWW 3 mln. termów Średnie zapytania (6 – 25 termów) Wszystkie akumulatory > 0

45 Model wektorowy Optymalizacje Czasy przetwarzania zapytania rzędu kilku (a nawet kilkunastu) sekund mogą być zbyt kosztowne w przypadku dużych, sieciowych kolekcji dokumentów, przeglądanych jednocześnie przez wielu użytkowników. Jego redukcja jest możliwa, ale wiąże się ona z rezygnacją z przetwarzania części danych. Nie mamy wówczas gwarancji, że utworzony ranking rzeczywiście obejmuje k najlepszych dokumentów. Do często stosowanych optymalizacji przetwarzania zapytań należą (między innymi) podejścia oparte na: –Rezygnacji z przetwarzania odsyłaczy dokumentów w listach inwersyjnych, które mają już niewielki wpływ na końcową wartość współczynnika cosinusów. –Wstępnym pogrupowaniu dokumentów w kolekcji. –Redukcji wymiaru przestrzeni wektorowej, tzn. przekształceniu termów w opisach dokumentów i zapytaniach, tak by zredukować liczbę termów.

46 Model wektorowy Ranking częściowy Wyznaczenie współczynnika cosinusów wymaga posumowania iloczynów w ij *q i. Ranking częściowy polega na redukcji kosztów obliczeniowych tego procesu poprzez uwzględnienie w końcowych wyniku wyłącznie tych iloczynów w ij *q i, które są dostatecznie duże. –Możliwe do zastosowania wyłącznie dla algorytmów przetwarzania zapytania w porządku termów. –Termy zapytania przetwarzane są w porządku malejących idf. –Odsyłacze w listach inwersyjnych dla poszczególnych termów w indeksie uporządkowane są malejąco według tf, a nie identyfikatora dokumentu. –Jeśli obliczony iloczyn w ij *q i jest mniejszy od pewnego założonego progu, przetwarzanie danej listy inwersyjnej może zostać zakończone (ponieważ z uporządkowania odsyłaczy wynika, że wszystkie kolejne iloczyny będą mniejsze równe od niego). –Niektóre implementacje ograniczają również obliczenia cosinusa wyłącznie do rzadkich termów (tzn. o dostatecznie dużym idf).

47 Model wektorowy Grupowanie dokumentów Operacja grupowania (analizy skupień) dokumentów (ang. clustering) polega na określeniu w kolekcji jednorodnych tematycznie podzbiorów dokumentów. O grupowaniu będziemy mówili w dalszej części wykładu. –Każda podgrupa dokumentów reprezentowana może być przez zbiór słów kluczowych nazywany jej prototypem, albo centroidem. Operacja grupowania kolekcji może być wykorzystana (między innymi) do przyśpieszenia procesu przetwarzania zapytania. –Wcześniej przeprowadzamy operację grupowania kolekcji dokumentów. –Liczba podgrup jest dużo mniejsza niż liczba wszystkich dokumentów. Zamiast wyznaczać podobieństwo przetwarzanego zapytania do dużej liczby dokumentów, obliczamy je dla znacznie mniejszej liczby centroidów. –Następnie obliczamy cosinusy i sporządzamy ranking dla dokumentów należących do podgrup najbardziej podobnych podobnych do zapytania.

48 Model wektorowy Redukcja wymiarowości Przypomnijmy, że w modelu wektorowym wyszukiwania traktujemy dokumenty jako wektory w pewnej przestrzeni o wymiarze odpowiadającym liczbie wszystkich możliwych termów w słowniku. Wymiar tej przestrzeni jest więc zazwyczaj bardzo duży. –W prezentowanych wcześniej wynikach oceny efektywności algorytmów przetwarzania zapytania, wykorzystywana kolekcja miała blisko 3 miliony termów. Redukcja wymiarowości polega na znalezieniu takiego jej przekształcenia w przestrzeń o dużo niższym wymiarze (m << n), aby utracić jak najmniej informacji o różnicach między dokumentami (odległościach dokumentów). –Zazwyczaj da się to zrobić – informacja dyskryminacyjna dokumentów jest mocno redundantna. –Mniejszy wymiar przestrzeni – mniej termów, co przyśpiesza obliczenia cosinusów. –O pewnej standardowej w IR metodzie, LSI (Latent Semantic Indexing) będziemy mówili w dalszej części wykładu.


Pobierz ppt "Wprowadzenie do budowy usług informacyjnych W. Bartkiewicz Wykład 3. Model wektorowy wyszukiwania informacji."

Podobne prezentacje


Reklamy Google