• Nie Znaleziono Wyników

SYSTEMY WYSZUKIWANIA INFORMACJI

N/A
N/A
Protected

Academic year: 2021

Share "SYSTEMY WYSZUKIWANIA INFORMACJI"

Copied!
58
0
0

Pełen tekst

(1)

SYSTEMY WYSZUKIWANIA INFORMACJI

Agnieszka Nowak - Brzezińska

24 października 2019

Metoda list prostych Wykład 4

(2)

Modyfikacje metody list prostych

uporządkowanie opisów obiektów,

grupowanie obiektów wg wybranego atrybutu, podział połówkowy,

odcinkowanie, odcedzanie

organizacja zwarta.

(3)

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.

(4)

System S

(5)

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)

(6)

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.

(7)

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 ,

(8)

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.

(9)

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)

(10)

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)

(11)

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.

(12)

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}

(13)

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:

(14)

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.

(15)

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

(16)

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

(17)

Podział połówkowy - wyszukiwanie

(18)
(19)
(20)
(21)
(22)

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.

(23)

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.

(24)

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.

(25)
(26)

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

(27)

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.

(28)
(29)

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)

(30)

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.

(31)
(32)
(33)
(34)
(35)
(36)
(37)

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.

(38)
(39)

rozwiążmy razem...

(40)

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.

(41)
(42)

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%

(43)

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

(44)

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

(45)

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.

(46)

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.

(47)

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

(48)
(49)
(50)
(51)
(52)
(53)
(54)

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.

(55)

PODSUMOWANIE METODY LIST PROSTYCH

(56)

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.

(57)

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

(58)

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.

Cytaty

Powiązane dokumenty

We wspomnieniach swych wychowanków i pracowników na zawsze zostawiasz obraz pełnej energii, ciągle gdzieś pędzącej, pani dyrektor, która jednak zawsze znajdowała czas,

Oblicz, na ile sposobów można zapisać w jednym rzędzie cyfry 0,

Przeniesienie siedziby biblioteki centralnej z ul. Dąbrowskiego w Wirku jest konieczne z powodu złego stanu technicznego dotychcza- sowego budynku, który niszczony

znalezienie odpowiedzi na pytanie zadane do systemu wymaga w tej metodzie dokonania przegl¡du wszystkich opisów. obiektów w bazie danych

Zatem dla deskryptorów ze zbioru D 0 znajdujemy zbiór obiektów zgodnie z metod¡ list inwersyjnych.. Przedstawiona modykacja ze wzgl¦du na zmniejszon¡ liczb¦ list inwersyjnych

Dekompozycja obiektowa dostarcza mniejszej zaj¦to±ci pami¦ci w podsystemach, oraz krótszego czasu przeci¦cia list inwersyjnych (gdy» listy takie zawieraj¡ z reguªy mniejsz¡

Tablica zakotwicze« jest identyczna z tym tylko zastrze»eniem, »e jej pierwsza kolumna zawiera adres ostatniego obiektu zawieraj¡cego w opisie deskryptor d i.. Wybranie

Je»eli grupa si¦ rozpadªa, to obiekty tej grupy b¦d¡ stanowi¢ obiekty swobodne i konieczne jest ponowne przeprowadzenie klasykacji obiektów. Aktualizacja zwi¡zana ze zmian¡