Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Wprowadzenie do budowy usług informacyjnych
Uniwersytet Łódzki Katedra Informatyki W. Bartkiewicz Wprowadzenie do budowy usług informacyjnych Wykład 3. Model wektorowy wyszukiwania informacji
2
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.
3
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.
4
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
5
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 =
6
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
7
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
8
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.
9
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.
10
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.
11
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
12
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
13
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
14
Model wektorowy Cosinusoidalna miara podobieństwa
Katedra Informatyki Cosinus kąta między wektorem zapytania i wektorem dokumentu t 1 q d j t 3 t 2 θ
15
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 Wagi termów wij=tfij*idfi obliczamy w locie podczas wyszukiwania – dodając nowe dokumenty nie trzeba ich przeliczać
16
Model wektorowy Realizacja zapytań
Katedra Informatyki 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 podobieństwo do zapytania, a następnie stworzyć ranking zawierający k najlepszych dokumentów. Długości dokumentów |dj| 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 tfij, możemy przechowywać ich znormalizowane wartości tfij/|dj|.
17
Model wektorowy Realizacja zapytań
Katedra Informatyki 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 qi*wij. 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ń
Katedra Informatyki 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 Według termów Statyczna tablica akumulatorów 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.
19
Model wektorowy Realizacja zapytań - przykład
Katedra Informatyki 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 A 1 2 3 4 5 6 7 8 9 10 11 12 Zapytanie: Czarna dziura, Grawitacja. Zakładamy, że wagi termów qi 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
Katedra Informatyki 4 10 5 2 7 1 10 6 Czarna dziura 4 4 10 5 2 7 1 10 6 tf*idf = 10*0.5 = 5 2*0.5 = 1 1*0.5 = 0.5 6*0.5 = 3 A 1 2 3 4 5 6 7 8 9 10 11 12 A 1 2 3 4 5 6 7 8 9 10 11 12 A 1 2 3 4 5 6 7 0.5 8 9 10 11 12 A 1 2 3 4 5 6 7 0.5 8 9 10 11 12
21
Model wektorowy Realizacja zapytań - przykład
Katedra Informatyki Grawitacja 5 3 1 4 6 6 9 7 2 10 9 idf = log(12/5) 0,4 3 1 4 6 6 9 7 2 10 9 1*0.4 = 0.4 6*0.4 = 2.4 9*0.4 = 3.6 2*0.4 = 0.8 9*0.4 = 3.6 A 1 2 3 0.4 4 5 6 7 0.5 8 9 10 11 12 A 1 2 3 0.4 4 7.4 5 6 7 0.5 8 9 10 11 12 A 1 2 3 0.4 4 7.4 5 6 3.6 7 0.5 8 9 10 11 12 A 1 2 3 0.4 4 7.4 5 6 3.6 7 1.3 8 9 10 11 12 A 1 2 3 0.4 4 7.4 5 6 3.6 7 1.3 8 9 10 6.6 11 12
22
Model wektorowy Realizacja zapytań - przykład
Katedra Informatyki Wyszukujemy powiedzmy 4 dokumenty (k = 4) A 1 2 3 0.4 4 7.4 5 6 3.6 7 1.3 8 9 10 6.6 11 12 A 1 0,0 2 3 0,1 4 1,3 5 0,4 6 0,8 7 0,5 8 9 10 1,4 11 12 2,2 5,6 5,7 2,8 4,6 2,5 4,8 4,4 Wybór > 0 rob 3 0,1 4 1,3 5 0,4 6 0,8 7 0,5 10 1,4 Sorto wanie rob 10 1,4 4 1,3 6 0,8 7 0,5 5 0,4 2 0,1 3 Wybór 4 wynik 10 1,4 4 1,3 6 0,8 7 0,5 Długości dokumentów
23
Model wektorowy Realizacja zapytań - przykład
Katedra Informatyki Wyszukujemy powiedzmy 4 dokumenty (k = 4) A 1 0,0 2 3 0,1 4 1,3 5 0,4 6 0,8 7 0,5 8 9 10 1,4 11 12 1.4 10 1.3 4 0.8 6 0.4 5 0.1 3 0.5 7 Wybór > 0 Wybór 4 wynik 10 1,4 4 1,3 6 0,8 7 0,5 Np. Drzewo binarne w którym każdy potomek jest nie większy od rodzica
24
Model wektorowy Realizacja zapytań
Katedra Informatyki 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ń
Katedra Informatyki 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 aD 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
Katedra Informatyki 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 Zapytanie: Czarna dziura, Grawitacja. Zakładamy, że wagi termów qi 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
Katedra Informatyki Czarna dziura 4 10 2 5 1 7 6 2 5 2*0.5 = 1 4 3 1 D 1 7 1*0.5 = 0.5 5 4 3 2 D 0.5 10 4 tf*idf = 10*0.5 = 5 5 3 2 1 D D 1 2 3
28
Model wektorowy Realizacja zapytań - przykład
Katedra Informatyki Czarna dziura 4 10 2 5 1 7 6 6 10 6*0.5 = 3 5 4 3 2 1 D 0.5 7 5 4 3 2 1 D 0.5 7
29
Model wektorowy Realizacja zapytań - przykład
Katedra Informatyki Grawitacja 5 1 3 6 4 9 2 7 10 idf = log(12/5) 0,4 1 3 1*0.4 = 0.4 5 4 2 D 0.5 7 10 0.4 6 4 6*0.4 = 2.4 7.4 3 2 1 D 5 0.5 7 10 0.4 9 6 9*0.4 = 3.6 7.4 4 3 2 1 D 5 0.5 7 10 0.4 3.6
30
Model wektorowy Realizacja zapytań - przykład
Katedra Informatyki Grawitacja 5 1 3 6 4 9 2 7 10 idf = log(12/5) 0,4 2 7 2*0.4 = 0.8 7.4 4 3 1 D 5 1.3 10 0.4 3.6 6 9 10 9*0.4 = 3.6 7.4 4 3 2 1 D 5 1.3 7 6.6 0.4 3.6 6 D 7.4 4 1 5 1 2 3 10 3.6 6 3 0.5 7 0.4 3
31
Model wektorowy Realizacja zapytań
Katedra Informatyki 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ń
Katedra Informatyki 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
Katedra Informatyki 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 Zapytanie: Czarna dziura, Grawitacja. Zakładamy, że wagi termów qi 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
Katedra Informatyki min=1 3 h[0] 10 4 2 5 1 7 6 3 9 h[1] a Wynik: 0.1 3 dla h[1] wij=1*0.4 = 0.4 0.4 3 DocLen = 5.6, 0.4/5.6 = 0.1 10 4 2 5 1 7 6 9 h[0] h[1]
35
Model wektorowy Realizacja zapytań - przykład
Katedra Informatyki min=0 4 10 4 2 5 1 7 6 9 h[0] h[1] a Wynik: 0.1 3 1.3 4 dla h[0] wij=10*0.5 = 5 5 4 DocLen = /5.7 = 1.3 dla h[1] wij=6*0.4 = 2.4 7.4 4 2 5 1 7 6 10 9 h[0] h[1]
36
Model wektorowy Realizacja zapytań - przykład
Katedra Informatyki min=0 5 2 5 1 7 6 10 9 h[0] h[1] a Wynik: 0.1 3 1.3 4 DocLen = /2.8 = 0.4 dla h[0] wij=2*0.5 = 1 1 5 Wynik: 0.1 3 0.4 5 1.3 4 1 7 6 10 9 2 h[0] h[1]
37
Model wektorowy Realizacja zapytań - przykład
Katedra Informatyki min=1 6 1 7 6 10 9 2 h[0] h[1] a Wynik: 0.1 3 0.4 5 1.3 4 DocLen = /4.6 = 0.8 dla h[1] wij=9*0.4 = 3.6 3.6 6 Wynik: 0.1 3 0.4 5 0.8 6 1.3 4 1 7 6 10 2 9 h[0] h[1]
38
Model wektorowy Realizacja zapytań - przykład
Katedra Informatyki min=0 7 1 7 6 10 2 9 h[0] h[1] a Wynik: 0.1 3 0.4 5 0.8 6 1.3 4 DocLen = /2.5 = 0.5 dla h[0] wij=1*0.5 = 0.5 0.5 7 dla h[1] wij=2*0.4 = 0.8 1.3 7 Wynik: 0.4 5 0.8 6 1.3 4 Wynik: 0.4 5 0.5 7 0.8 6 1.3 4 6 10 9 h[0] h[1]
39
Model wektorowy Realizacja zapytań - przykład
Katedra Informatyki min=0 10 6 10 9 h[0] h[1] a Wynik: 0.4 5 0.5 7 0.8 6 1.3 4 DocLen = /4.8 = 1.4 dla h[0] wij=6*0.5 = 3 3 10 dla h[1] wij=9*0.4 = 3.6 6.6 10 Wynik: 0.5 7 0.8 6 1.3 4 Wynik: 0.5 7 0.8 6 1.3 4 1.4 10
40
Model wektorowy Efektywność przetwarzania zapytań
Katedra Informatyki ok. 2 mln stron WWW (30 GB) ponad 3 mln. różnych termów Krótkie zapytania (1 – 5 termów) k=10 wszystkie >0 k=1000 Źródło: Cambazoglu, Aykanat, Performance of query processing implementations in ranking-based text retrieval systems using inverted indices, IP&M, 42 (2006),
41
Model wektorowy Efektywność przetwarzania zapytań
Katedra Informatyki ok. 2 mln stron WWW (30 GB) ponad 3 mln. różnych termów Średnie zapytania (6 – 25 termów) k=10 wszystkie >0 k=1000 Źródło: Cambazoglu, Aykanat, Performance of query processing implementations in ranking-based text retrieval systems using inverted indices, IP&M, 42 (2006),
42
Model wektorowy Efektywność przetwarzania zapytań
Katedra Informatyki ok. 2 mln stron WWW (30 GB) ponad 3 mln. różnych termów Długie zapytania (21 – 250 termów) k=10 wszystkie >0 k=1000 Źródło: Cambazoglu, Aykanat, Performance of query processing implementations in ranking-based text retrieval systems using inverted indices, IP&M, 42 (2006),
43
Model wektorowy Efektywność przetwarzania zapytań
Katedra Informatyki Średnie zapytania (6 – 25 termów) k = 10 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 Źródło: Cambazoglu, Aykanat, Performance of query processing implementations in ranking-based text retrieval systems using inverted indices, IP&M, 42 (2006),
44
Model wektorowy Efektywność przetwarzania zapytań
Katedra Informatyki Średnie zapytania (6 – 25 termów) Wszystkie akumulatory > 0 ok. 2 mln. stron WWW 3 mln. termów ok. 500 tys. stron WWW 1.5 mln. termów ok. 1 mln. stron WWW 2.2 mln. 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),
45
Model wektorowy Optymalizacje
Katedra Informatyki 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
Katedra Informatyki Wyznaczenie współczynnika cosinusów wymaga posumowania iloczynów wij*qi. Ranking częściowy polega na redukcji kosztów obliczeniowych tego procesu poprzez uwzględnienie w końcowych wyniku wyłącznie tych iloczynów wij*qi, 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 wij*qi 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
Katedra Informatyki 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
Katedra Informatyki 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.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.