SYSTEMY WYSZUKIWANIA INFORMACJI
Agnieszka Nowak - Brzezińska
24 października 2019
Metoda list prostych Wykład 4
Modyfikacje metody list prostych
uporządkowanie opisów obiektów,
grupowanie obiektów wg wybranego atrybutu, podział połówkowy,
odcinkowanie, odcedzanie
organizacja zwarta.
Modyfikacja związana z uporządkowaniem opisów obiektów
Cel: zawsze zachowana będzie ustalona kolejność atrybutów w opisie obiektów. Wtedy w termach składowych pytania atrybuty muszą występować w takiej kolejności, jak w opisach obiektów.
Wynik: Wystarczy porównać odpowiednie pozycje opisów obiektów z termami składowymi, aby sprawdzić zawieranie się termu
składowego w opisie obiektu. Prowadzi to do skrócenia czasu porównywania opisu obiektu z odpowiednim termem składowym pytania.
System S
System S z uporządkowaniem opisów obiektów
Kartoteka wyszukiwawcza po uporządkowanie opisów obiektów:
tx1 = (a, a1)(b, b1)(c, c1) tx2 = (a, a1)(b, b1)(c, c2) tx3 = (a, a2)(b, b2)(c, c3) tx4 = (a, a2)(b, b2)(c, c4) tx5 = (a, a1)(b, b2)(c, c1) tx6 = (a, a1)(b, b2)(c, c2) tx7 = (a, a2)(b, b2)(c, c3) tx8 = (a, a2)(b, b2)(c, c4)
Ocena metody list prostych z uporządkowaniem opisów obiektów
Zalety:
nie zwiększa się ani redundancja ani zajętość pamięci, skraca się czas przeglądu opisu obiektu w porównaniu do metody klasycznej - nie trzeba dla każdego deskryptora pytania od początku przeglądać opisu każdego obiektu.
Wady:
długi czas wyszukiwania odpowiedzi na pytania szczegółowe.
trudniejsza aktualizacja ze względu na konieczność uporządkowania opisów obiektów.
Grupowanie obiektów według wybranego atrybutu
Cel: wybór atrybutu, który uporządkuje obiekty w kartotece.
Warunki, które musi spełnić wybrany atrybut:
atrybut musi w miarę często występować w pytaniach, atrybut powinien być wielowartościowy,
i w miarę równomiernie dzielić kartotekę wyszukiwawczą.
Założenia te pozwalają zawęzić przeszukiwanie do przeglądu grup o niewielkiej liczbie obiektów.
Wynik: Zmieni się kolejność obiektów w systemie. Obok siebie umieszczone będę obiekty o tej samej wartości tego wybranego atrybutu.
Przy równomiernym występowaniu określonych wartości
atrybutu ai w opisach obiektów średni czas wyszukiwania wynosi:
τ = N · τ0
k ,
Grupowanie obiektów według wybranego atrybutu
Spośrod zbioru atrybutówA systemuS wybieramy atrybut ai
i porządkujemy tak opisy obiektów, aby w opisach tych atrybutai
znajdował się na pierwszym miejscu. Następnie grupujemy obiekty o jednakowej wartościvj atrybutu tak, że:
Xvj = {x ∈ X , ρx(ai) = vj, vj ∈ Vai}.
Oczywiście tak otrzymane zbioryXvj są rozłączne, a ich suma daje pełny zbiórX.
Dzięki takiemu zgrupowaniu obiektów dla większości odpowiedzi wystarczy dokonać przeglądu zupełnego tylko w wybranej grupie Xvj .
Gdy term składowy nie zawiera wartości atrybutuai wtedy musimy dokonać przeglądu zupełnego utworzonych grup.
System S z grupowaniem obiektów wg wybranego atrybutu
Kartoteka wyszukiwawcza w metodzie klasycznej ...
tx1 = (a, a1)(b, b1)(c, c1) tx2 = (a, a1)(b, b1)(c, c2) tx3 = (a, a2)(b, b2)(c, c3) tx4 = (a, a2)(b, b2)(c, c4) tx5 = (a, a1)(b, b2)(c, c1) tx6 = (a, a1)(b, b2)(c, c2) tx7 = (a, a2)(b, b2)(c, c3) tx8 = (a, a2)(b, b2)(c, c4)
Wybieramy atrybut c do grupowania obiektów, gdyż ...(wyjaśnione na wykładzie)
System S z grupowaniem obiektów wg wybranego atrybutu
Kartoteka wyszukiwawcza po grupowaniu obiektów wg atrybutu c...
Etap 1: atrybut c idzie na pierwsze miejsce w opisie każdego obiektu...
tx1 = (c, c1)(a, a1)(b, b1) tx2 = (c, c2)(a, a1)(b, b1) tx3 = (c, c3)(a, a2)(b, b2) tx4 = (c, c4)(a, a2)(b, b2) tx5 = (c, c1)(a, a1)(b, b2) tx6 = (c, c2)(a, a1)(b, b2) tx7 = (c, c3)(a, a2)(b, b2) tx8 = (c, c4)(a, a2)(b, b2)
System S z grupowaniem obiektów wg wybranego atrybutu
Kartoteka wyszukiwawcza po grupowaniu obiektów wg atrybutu c...
Etap 2: zmieniamy uporządkowanie obiektów w kartotece...
tx1 = (c, c1)(a, a1)(b, b1) tx5 = (c, c1)(a, a1)(b, b2) tx2 = (c, c2)(a, a1)(b, b1) tx6 = (c, c2)(a, a1)(b, b2) tx3 = (c, c3)(a, a2)(b, b2) tx7 = (c, c3)(a, a2)(b, b2) tx4 = (c, c4)(a, a2)(b, b2) tx8 = (c, c4)(a, a2)(b, b2)
teraz obiekty są już uporządkowane.
Wyszukiwanie odpowiedzi na pytaniaw kartotece z grupowaniem obiektów
Po grupowaniu wg atrybutu c powstały 4 grupy:
Xc1 = {x1, x5} Xc2 = {x2, x6} Xc3 = {x3, x7} Xc4 = {x4, x8}
Dla pytania t = (c, c1)(a, a1) + (b, b1) mamy t = t1+ t2
dla termu składowego t1 = (c, c1)(a, a1) zawężamy
wyszukiwanie tylko do zbioru Xc1 a więc obiektów {x1, x5}:
t1 ≤ tx1, t1≤ tx5
dla termu składowego t2 = (b, b1) który nie zawiera atrybutu c musimy dokonać przeglądu zupełnego wszystkich opisów obiektów:t2≤ tx1, t2 ≤ tx2, t2 tx3, t2 tx4, t2 tx5, t2 tx6, t2 ≤ tx7, t2 tx8
Odpowiedz na pytanie t:
σ(t) = σ(t1) ∪ σ(t2) = {x1, x5} ∪ {x1, x2} = {x1, x2, x5}
Możliwa implementacja kartoteki wyszukiwawczej z grupowaniem obiektów wg wybranego atrybutu
Nadajemy obiektom nowe uporządkowanie:
1:tx1 = (c, c1)(a, a1)(b, b1) 2:tx5 = (c, c1)(a, a1)(b, b2) 3:tx2 = (c, c2)(a, a1)(b, b1) 4:tx6 = (c, c2)(a, a1)(b, b2) 5:tx3 = (c, c3)(a, a2)(b, b2) 6:tx7 = (c, c3)(a, a2)(b, b2) 7:tx4 = (c, c4)(a, a2)(b, b2) 8:tx8 = (c, c4)(a, a2)(b, b2) Powstaje tablica adresowa:
Ocena metody list prostych z grupowaniem obiektów wg wybranego atrybutu
Zalety:
brak redundancji i mała zajętość pamięci,
skraca się czas wyszukiwania dla pytań zawierających atrybut grupujący.
Wady:
długi czas wyszukiwania odpowiedzi na pytania szczegółowe.
trudniejsza aktualizacja ze względu na powstałe grupy obiektów.
Metoda odcinkowa
Metoda polega na grupowaniu obiektów wg więcej niż jednego atrybutu.
Zalety:
brak redundancji i mała zajętość pamięci,
skraca się czas wyszukiwania dla pytań zawierających atrybuty grupujące.
Wady:
długi czas wyszukiwania odpowiedzi na pytania szczegółowe.
trudniejsza aktualizacja ze względu na powstałe grupy obiektów (odcinki).
Metoda podziału połówkowego
stosowana wprost dla atrybutów numerycznych, opisy obiektów można przedstawić w postaci ciągu liczb naturalnych.
Ciągi te porządkujemy w kolejności rosnącej lub malejącej i numerujemy kolejnymi liczbami naturalnymi od1 do r . Porównując term składowy ti , pytania z opisem obiektu w połowie bazy danych ([x2]) można podać algorytm wskazujący w której ”połowie” zbioru obiektów znajduje się obiekt, zawierający w opisie term składowy ti.
Metoda stosowana jednokrotnie wymaga przeglądu zupełnego połowy opisów obiektów.
metoda pozwala skrócić czas wyszukiwania odpowiedzi na pytanie t w stosunku do metody klasycznej 2k -krotnie zgodnie ze wzorem:
τ = N · τ0
2k
gdzie: N - liczba obiektów,τ0 - średni czas przeglądu jednego opisu obiektu
Podział połówkowy - wyszukiwanie
Ocena metody list prostych z podziałem połówkowym
Konieczność porządkowania pytań tak jak i opisów obiektów sprawia, że metoda nie będzie chętnie stosowana. Można wykorzystać pewne założenia metody ale ograniczyć się do porządkowania tylko jednego wybranego atrybutu bądź kilku atrybutów w opisie obiektów.
Ocena metody list prostych z podziałem połówkowym
Zalety:
brak redundancji i mała zajętość pamięci,
skraca się czas wyszukiwania bo przeglądamy tylko wybrany fragment kartoteki.
Wady:
możliwa utrata kompletności wyszukiwania,
trudniejsza aktualizacja ze względu na powstałe grupy obiektów,
pytania muszą zawierać atrybut porządkujący opisy obiektów.
Kompletność wyszukiwania - co to takiego ?
Przez wyszukiwanie kompletne będziemy rozumieć taką metodę, która na zadane do systemu pytanie potrafi znaleźć wszystkie obiekty będące odpowiedzią (na to pytanie). Jeśli choć jeden obiekt (który był odpowiedzią) nie zostanie wyszukany to powiemy, że odpowiedź systemu nie jest kompletna.
Pozostałe modyfikacje
Odcedzanie: statyczne, dynamiczne, hiperdynamiczne Organizacja zwarta
Założenia:
Pytania do systemu się powtarzają
Mamy pewien okres obserwacji systemu i wiemy więc jakie obiekty stanowiły odpowiedź na takie pytania
Efekt: Porządkujemy obiekty w KW tak, że na górze kartoteki powinny być te obiekty, które najczęściej są odpowiedzią na pytania a te, które najrzadziej odpowiednio niżej w KW
Techniki odcedzania
przyspieszenie udzielania odpowiedzi na pytania wówczas, gdy znamy typowych użytkowników systemu i możemy dzięki temu określić zbiór pytań standardowych,
po utworzeniu nowego uporządkowania w zbiorze obiektów należy podać dodatkowy parametr usprawniający proces wyszukiwania. W zależności od stosowanej techniki może to być:
1 Wielkość obszaru do przeszukania (w obrębie kartoteki wyszukiwawczej)
2 Liczba obiektów relewantnych
3 Parametr określający efektywność procesu wyszukiwania, np.
kompletność odpowiedzi.
System S z odcedzaniem statycznym
Kartoteka wyszukiwawcza:
tx1 = (a, a1)(b, b1)(c, c1) tx5 = (a, a1)(b, b2)(c, c1) tx6 = (a, a1)(b, b2)(c, c2) tx2 = (a, a1)(b, b1)(c, c2) tx3 = (a, a2)(b, b2)(c, c3) tx4 = (a, a2)(b, b2)(c, c4) tx7 = (a, a2)(b, b2)(c, c3) tx8 = (a, a2)(b, b2)(c, c4)
Ocena modyfikacji odcedzania statycznego
Wady: zwiększona zajętość pamięci na macierz pomocniczą, konieczność obliczania częstości występowania obiektów w odpowiedziach na pytania.
Zalety: kolejność pytań nie ma wpływu na uporządkowanie obiektów – jedynie częstość występowania obiektów w odpowiedziach na pytania.
Ocena modyfikacji
Wady: kolejność występowania obiektów na początku ma wpływ na wynikowe uporządkowanie obiektów, kolejność zadawania pytań też ma znaczenie.
Zalety: uporządkowanie kartoteki zmienia się na bieżąco po każdym pytaniu – a więc nie ma zwiększonej zajętości pamięci.
rozwiążmy razem...
Ocena
Wady: Ostatnie pytanie jest decydującym !!!
Zalety: uporządkowanie kartoteki zmienia się na bieżąco po każdym pytaniu – a więc nie ma zwiększonej zajętości pamięci.
Jaka jest kompletność ?
W metodzie klasycznej znaczenie termu t = (a, a1)(b, b2) jest następujące: σ(t) = {x5, x6}
Przy zastosowaniu odcedzania statycznego znaczeniem tego termu jest zbiór: σ(t) = {x5, x6}
A więc przeszukując tylko 50% KW dostaliśmy tę samą odpowiedź, czyli kompletność jest na poziomie 100%
Inny przypadek
W metodzie klasycznej znaczenie termu t = (a, a1)(b, b2) jest następujące: σ(t) = {x5, x6}
Przy zastosowaniu odcedzania statycznego i parametru k = 25% KW znaczeniem tego termu jest zbiór: σ(t) = {x5} A więc przeszukując tylko 25% KW dostaliśmy niekompletną odpowiedź: kompletność jest na poziomie 50%.
Wnioski:
Gdy nie przeszukujemy całej KW zyskujemy na czasie wyszukiwania (bo się on skraca) ale ryzykujemy utratą
kompletności odpowiedzi (bo możemy nie wyszukać wszystkich obiektów, które w swoim opisie zawierają termy
pytania).
Organizacja zwarta
Organizacja zwarta to uporządkowanie danych tak, aby obszary obiektów spełniających określone w pytaniu wymagania znajdowały się obok siebie (tworzą spójne obszary w KW).
Wprowadzenie tej modyfikacji wymaga predykcji pytań.
Jeżeli pytanie nie należy do zbioru pytań standardowych, wówczas dokonujemy typowego przeszukiwania, zgodnie z metodą list prostych.
Tylko w przypadku pytań standardowych możemy uzyskać przyspieszenie w uzyskaniu odpowiedzi na te pytania.
Definicja formalna organizacji zwartej
NiechT = {t1, . . . , tm}będzie zbiorem pytań standardowych. Dla każdegoti(i = 1, . . . , m) i jest indeksem pytania ti. NiechP(t), gdziet ∈ T oznacza podzbiór zbioru obiektów X , stanowiących odpowiedź na pytaniet . Wówczas przyjmujemy
P(T ) =Sm
i =1P(ti). Jeżeli istnieje uporządkowanie liniowe:
x1, x2, . . . , xn
obiektów w zbiorzeX takich, że:
^
t∈T
_
s,p
P(t) = {xs, xs+1, . . . , xs+p}
gdzie: s - numer lub indeks początku,p - rozmiar obszaru spójnego, to powiemy, że zbiór pytańT ma własność zwartości w zbiorze obiektówX.
Definicja formalna organizacji zwartej
Interpretacja macierzowa własności zwartości zbioru pytań względem zbioru obiektów wyznaczona jest przez macierz M = [mij], w której:
mij =
1 jeżeli xj ∈ P(ti) 0 jeżeli xj ∈ P(t/ i)
, gdziej = 1, . . . , |X |,i = 1, . . . , m.
Proszę zauważyć, że kolumnom odpowiadają pytania standardowe ti , zaś wierszom obiektyxj . Własność zwartości zbioru pytańT w zbiorze obiektówX można sformułować następująco: jeżeli istnieje taka permutacja wierszy w macierzyM , że w każdej kolumnie jedynki występują na kolejnych pozycjach (nie są przedzielone zerami), to zbiórT ma własność zwartości w zbiorze
Organizacja zwarta jest wtedy zaletą gdy zadajemy pytania w oparciu o pytania, które tworzyły całą organizację i budują tablicę TA (inaczej konieczny jest przegląd zupełny KW). Nie zawsze daje się zbudować zwarte obszary obiektów.
PODSUMOWANIE METODY LIST PROSTYCH
Redundancja i zajętość pamięci
Redundancja w metodzie list prostych nie występuje.
Każdy obiekt w bazie danych pamiętany jest tylko raz.
Zajętość pamięci wynika w tej metodzie jedynie z liczby obiektów w bazie danych.
Aktualizacja bazy danych
Aktualizacja związana z dodaniem lub usunięciem obiektu dla metody list prostych bez modyfikacji jest łatwa.
Aktualizacja związana ze zmianą opisu obiektu jest dość skomplikowana i najłatwiej dokonać jej przez usunięcie nieaktualnego opisu i dopisanie aktualnego. Wprowadzenie modyfikacji metody, zmian atrybutów lub ich wartości jest równoznaczne z reorganizacją bazy danych (ponowne zakładanie bazy danych).
Czas wyszukiwania
Czas wyszukiwania w metodzie list prostych jest bardzo duży.
W metodzie klasycznej konieczny jest pełny przegląd wszystkich opisów obiektów w bazie danych. Czas wyszukiwania:
τ = N · τ0,
gdzie: N- liczba obiektów w bazie,τ0 -średni czas przeglądu jednego opisu obiektu. W przypadku modyfikacji związanej z uporządkowaniem opisów czas jest podobny, a tylko czasτ0 jest mniejszy. W przypadku grupowania obiektów czas ten wynosi średnio:
τ0 = N · τ0
k
gdziek - liczba grup. W przypadku podziału połówkowego stosowanego wielokrotnie:
τ00 = N · τ0
2k
gdziek - liczba stosowanych podziałów połówkowych.