• Nie Znaleziono Wyników

SYSTEMY WYSZUKIWANIA INFORMACJI

N/A
N/A
Protected

Academic year: 2021

Share "SYSTEMY WYSZUKIWANIA INFORMACJI"

Copied!
42
0
0

Pełen tekst

(1)

SYSTEMY WYSZUKIWANIA INFORMACJI

Agnieszka Nowak - Brzezi«ska

18 listopada 2019

Metoda list inwersyjnych

Metoda klasyczna + modykacje (bez dekompozycji) Wykªad 5

(2)

Listy inwersyjne - ¹ródªa internetowe

https://algo2.iti.kit.edu/download/ti_ss13_lec3.pdf https://repo.palkeo.com/algo/information-retrieval/

inverted-index/inverted%20index%202.pdf

http://www.cs.cornell.edu/courses/cs4300/2013fa/lectures/

inverted-indexes-4pp.pdf

http://www.ipipan.waw.pl/~klopotek/BEATCA/pdf/InvLists.doc

(3)
(4)
(5)
(6)

Ogólna idea metody

Rozwa»amy system informacyjny jako uporz¡dkowan¡ czwórk¦

S = hX , A, V , ρi. Zakªadamy, »e kartoteka wtórna ma nast¦puj¡c¡

zawarto±¢:

A B C

x1 a1 b1 c1 x2 a1 b1 c2 x3 a2 b2 c3 x4 a2 b2 c4 x5 a1 b2 c1 x6 a1 b2 c2 x7 a2 b2 c3 x8 a2 b2 c4

(7)

Tworzenie kartoteki wyszukiwawczej

Zadany jest system wyszukiwaniaS , a wi¦c zbiór obiektów X , atrybutów A, warto±ci tych atrybutówV oraz funkcja informacji ρ .

Zakªadamy, »e obiekty opisane s¡ iloczynem odpowiednich niezaprzeczonych deskryptorów. Opisy obiektów tx

umieszczone s¡ w dowolny sposób w pami¦ci maszyny cyfrowej.

(8)

Ogólna idea metody

W metodzie list inwersyjnych wyodr¦bniamy zbiór wszystkich deskryptorów systemuS  zbiór D , oraz funkcj¦

przyporz¡dkowuj¡c¡ adresyµ : X → N , gdzieN  zbiór adresów. Funkcja µka»demu obiektowi w systemie przyporz¡dkowuje pewien adres, b¦d¡cy liczb¡ naturaln¡

(caªkowit¡, dodatni¡), ale tak, »e dwóm obiektom

przyporz¡dkuje ten sam adres, je±li b¦d¡ miaªy identyczne opisy.

µ(x ) = µ(y ) ⇔ tx = ty

Je±li adresy obiektów x1, . . . , xn b¦d¡ odpowiednio: n1, . . . , nm

to stosuj¡c funkcj¦ µ(adresuj¡c¡) w nast¦puj¡cy sposób:

µ : X → N przy czymµ(x ) = µ(y ) ⇔ tx = ty przypisujemy ten sam adres obiektom o takich samych opisach

deskryptorowych.

(9)

Tworzenie kartoteki wyszukiwawczej

Tworzymy listy adresów tych obiektów, które w swoim opisie zawieraj¡ deskryptor di ( di ∈ tx ).

Listy takie nazywa¢ b¦dziemy listami inwersyjnymi i oznacza¢ b¦dziemy α(di) :

α(di) = {n1, . . . , nz}, gdzie: di = (ai, vi), ai ∈ A, vi ∈ Vai

Tworzymy tyle list inwersyjnych, ile w systemie wyst¦puje deskryptorów di .

W realizacji komputerowej przy du»ej liczbie obiektów listy inwersyjne s¡ listami adresów obiektów. W innych realizacjach w listach inwersyjnych mog¡ wyst¡pi¢ wprost obiekty.

(10)

Tworzenie kartoteki wyszukiwawczej - na egzamin !

Kartotek¦ wyszukiwawcz¡ tworz¡ listy inwersyjne. Listy inwersyjne tworzymy dla wszystkich deskryptorów ze zbioruD . Lista

inwersyjna zawiera adresy tych wszystkich obiektów, które w swoim opisie posiadaj¡ deskryptordi , dla którego tworzona jest lista.

Lista inwersyjna - denicja

List¦ adresów obiektów, które zawieraj¡ w swoim opisie deskryptor di nazywamy list¡ inwersyjn¡ α(di).

α(di) = {n1, n2, . . . , ni} , gdzieni - adres kolejnego obiektu, który w swoim opisie zawiera deskryptordi .

(11)

Wyszukiwanie informacji

Pytania do tak zdeniowanego systemuS zadajemy w postaci termut b¦d¡cego sum¡ termów skªadowych t = t1+ . . . + tm . Rozpatrzymy 2 przypadki:

Termy skªadowe pytania mog¡ by¢ pojedynczymi deskryptorami.

Termy skªadowe maj¡ posta¢ iloczynu deskryptorów.

(12)

Wyszukiwanie informacji

Termy skªadowe pytania mog¡ by¢ pojedynczymi deskryptorami:

a wi¦c termt jest postaci: t = d1+ d2+ d3+ . . . + dk wówczas:

Odpowied¹ na pytaniet otrzymujemy bezpo±rednio przez

wygenerowanie list inwersyjnych dla deskryptorów wyst¦puj¡cych w pytaniu. Zatem:

σ(t) = α(d1) ∪ α(d2) ∪ . . . ∪ α(dk).

Termy skªadowe maj¡ posta¢ iloczynu deskryptorów

wówczas odpowied¹ na term t jest sum¡ odpowiedzi na termy skªadowe: σ(t) = σ(t1) ∪ σ(t2) ∪ . . . ∪ σ(tm).

Odpowied¹ na term skªadowyti otrzymujemy jako przeci¦cie (cz¦±¢

wspólna) list inwersyjnych zwi¡zanych z deskryptorami wyst¦puj¡cymi w pytaniuti :

σ(ti) = α(d1) ∩ α(d2) ∩ . . . ∩ α(dk) , gdzieti = d12. . . ˙˙ dk . σ(ti) = {x ∈ X , µ(x ) = ni} orazni ∈ N0 =T

jα(dj) , gdzie N0 ⊆ N , a dj ∈ ti .

(13)

Redundancja

Metoda, ta wnosi du»¡ redundancj¦ (powtarzanie si¦ obiektów w listach inwersyjnych), któr¡ mo»na zapisa¢ wzorem:

R = Pr

i =1α(di) − N N gdzie:

r - liczba deskryptorów w systemie, N - liczba obiektów (lub adresów) α(di) - dªugo±¢ listy inwersyjnej.

(14)

Przykªad

rozwa»amy system informacyjny jako uporz¡dkowan¡ czwórk¦

S = hX , A, V , ρi. Zakªadamy, »e kartoteka wtórna ma nast¦puj¡c¡

zawarto±¢:

A B C

x1 a1 b1 c1 x2 a1 b1 c2 x3 a2 b2 c3 x4 a2 b2 c4 x5 a1 b2 c1 x6 a1 b2 c2 x7 a2 b2 c3 x8 a2 b2 c4

(15)

Denicja formalna systemu S = hX , A, V , ρi

X = {x1, . . . , x8} - zbiór obiektów, A = {A, B, C }- zbiór atrybutów, Zbiór warto±ci atrybutów:

VA= {a1, a2}, VB = {b1, b2}, VC = {c1, c2, c3, c4} Budujemy zbiór deskryptorów D:

D = {(a, a1), (a, a2), (b, b1), (b, b2), (c, c1), (c, c2), (c, c3), (c, c4)}

(16)

Funkcja adresuj¡ca µ

A B C

x1 a1 b1 c1 x2 a1 b1 c2 x3 a2 b2 c3 x4 a2 b2 c4 x5 a1 b2 c1 x6 a1 b2 c2 x7 a2 b2 c3 x8 a2 b2 c4

Nadajemy obiektom adresy zgodnie z funkcj¡

µ(x ) = µ(y ) ⇔ tx= ty

µ(x1) →1, µ(x2) →2, µ(x3) →3,µ(x4) →4, µ(x5) →5, µ(x6) →6, µ(x7) →3 oraz µ(x8) →4

(17)

Kartoteka Wyszukiwawcza:

Tworzymy listy inwersyjne dla ka»dego deskryptora di nale»¡cego do zbioru D:

Kartoteka wyszukiwawcza:

α(a, a1) = {1, 2, 5, 6}

α(a, a2) = {3, 4}

α(b, b1) = {1, 2}

α(b, b2) = {3, 4, 5, 6}

α(c, c1) = {1, 5}

α(c, c2) = {2, 6}

α(c, c3) = {3}

α(c, c4) = {4}

(18)

Wyszukiwanie odpowiedzi na pytania

Na pytanie jednodeskryptorowet = (c, c2)

Przeszukujemy wszystkie listy inwersyjne i znajdujemy list¦ z deskryptorem pytaniat :

t  α(a, a1) a wi¦c to nie jest szukana lista inwersyjne, szukamy wi¦c dalej. . .

t  α(a, a2) a wi¦c to nie jest szukana lista inwersyjne, szukamy wi¦c dalej. . .

t  α(b, b1) a wi¦c to nie jest szukana lista inwersyjne, szukamy wi¦c dalej. . .

t  α(b, b2) a wi¦c to nie jest szukana lista inwersyjne, szukamy wi¦c dalej. . .

t  α(c, c1) a wi¦c to nie jest szukana lista inwersyjne, szukamy wi¦c dalej. . .

t ≤ α(c, c2)  wreszcie znale¹li±my list¦, która da nam odpowied¹ na pytaniet .

Przerywamy przeszukiwanie list i tworzymy odpowied¹ na pytanie:

σ(t) = α(c, c2) = {2, 6} = {x2, x6}

(19)

Wyszukiwanie odpowiedzi na pytania

Na pytanie wielodeskryptorowet = (b, b2)(c, c2) + (a, a2)

Gdy pytanie jest w postaci sumy termów skªadowych, to odpowied¹ na ka»dy term skªadowyti znajdujemy jako:

σ(ti) = α(d1) ∩ α(d2) ∩ . . . ∩ α(dk) , gdzieti = d12. . . ˙˙ dk . A wi¦c:

t = (b, b2)(c, c2) + (a, a2) = t1+ t2 gdzie

t1 = (b, b2)(C, c2) i

t2 = (a, a2).

A wi¦c teraz odpowiadamy na ka»de z pyta« skªadowych. ....

(20)

t1= (b, b2)(C, c2) t2= (a, a2) 1. Szukamy listy inwersyjnej dla pierwszego de-

skryptora pytania t1, a wi¦c deskryptora (B, b2) 1. Szukamy listy inwersyjnej dla pierwszego (jedynego) deskryptora pytania t2, a wi¦c deskryptora (A, a2)

(b, b2)  α(A, a1) (a, a2)  α(A, a1)

(b, b2)  α(a, a2) (a, a2) ≤ α(a, a2)

(b, b2)  α(B, b1) A wi¦c:

(b, b2) ≤ α(B, b2) σ(t2) = α(A, a2) = {2, 4, 6}

A wi¦c: α(B, b2) = {3, 4, 5, 6}

2. Szukamy listy inwersyjnej dla drugiego deskryp- tora pytania t2, a wi¦c deskryptora (C,c2) (C , c2)  α(A, a1)

(C , c2)  α(a, a2) (C , c2)  α(B, b1) (C , c2)  α(B, b2) (C , c2)  α(C, c1) (C , c2) ≤ α(C, c2) A wi¦c: α(C, c2) = {2, 6}

(21)

3. Budujemy odpowied¹ na pytanie t1, jako prze- ci¦cie list inwersyjnych dla deskryptorów (B, b2) oraz (C, c2)

α(B, b2) ∩ α(c, c2) = {3, 4, 5, 6} ∩ {2, 6} = {6}

σ(t1) = {6} σ(t2) = {2, 4, 6}

Odpowied¹ na peªne pytanie t uzyskamy jako suma odpowiedzi na pytania skªadowe:

σ(t) = σ(t1) ∪ σ(t2) ∪ . . . ∪ σ(tm) W naszym przypadku:

σ(t) = σ(t1) ∪ σ(t2) = {6}∪{2, 4, 6} = {2, 4, 6} = {x2, x4, x8, x6}

Uwaga ! Nale»y uwa»nie przyjrze¢ si¦ odpowiedzi na pytaniet . Otó» odpowiedzi¡ s¡ adresy {2, 4, 6} ale pami¦tajmy, »e pod adresem 4 kryj¡ si¦ dwa obiekty {x4} i {x8}.

(22)

Redundancja

Okre±lamy wielko±¢ redundancji w systemieS :

R = Pr

i =1α(di) − N N

Gdzie: r  liczba deskryptorów, u nas jest ich 8 N - liczba adresów obiektów, a wi¦c 6

R = (4 + 2 + 2 + 4 + 2 + 2 + 1 + 1) − 6)

6 =2

Redundancja, a wi¦c nadmiar informacji w stosunku do przyj¦tego minimum wynosi 2.

Daje si¦ to bardzo ªatwo wytªumaczy¢: Otó» ka»dy adres

(1,2,3,4,5,6) jest przechowywany w listach inwersyjnych α(A, a1), α(a, a2), . . ., α(C, c4) dokªadnie 3 razy. Np. adres 1 wyst¦puje na li±cie α(A, a1), α(B, b1) oraz α(C, c1). Z tych 3 wyst¡pie«

powiemy, »e raz potrzebnie, a 2  nadmiarowo.

(23)

Modykacje metody list inwersyjnych

PORZDKOWANIE ADRESÓW OBIEKTÓW NA LISTACH PORZDKOWANIE LIST

WG DŠUGO‘CI LEKSYKOGRAFICZNIE

WG CZ†STO‘CI WYST†POWANIA DANYCH DESKRYPTORÓW W PYTANIU

TWORZENIE LIST ZREDUKOWANYCH

ZAZNACZANIE PRZEDZIAŠÓW ADRESÓW

LISTY DLA PAR DESKRYPTORÓW Z ZAZNACZENIEM CZ†SCI WSPÓLNEJ

LISTY WIELODESKRYPTOROWE

USUWANIE LIST DŠUGICH  LISTY ZANEGOWANE

TWORZENIE LIST DLA PEWNEGO PODZBIORU DESKRYPTORÓW DEKOMPOZYCJE

ATRYBUTOWA OBIEKTOWA

(24)

MODYFIKACJE poprawiaj¡ce czas wyszukiwania odpowiedzi

1 porz¡dkowanie adresów obiektów na listach inwersyjnych

2 porz¡dkowanie list inwersyjnych (wg dªugo±ci, cz¦sto±ci czy leksykogracznie)

(25)

PORZDKOWANIE ADRESÓW OBIEKTÓW NA LISTACH

listy nieuporz¡dkowane:

α(d1) = {13, 2, 9, 25, 27, 43, 40, 39}

α(d2) = {9, 8, 2, 13, 10, 22, 16, 14, 25, 37, 27, 43}

σ(t) = α(d1) ∩ α(d2)(konieczno±¢ przeci¦cia list d1 i d2)

liczba porówna« w tym celu: 4 + 3 + 1 + 9 + 11 + 12 + 12 + 12 listy uporz¡dkowane:

α(d1) = {2, 9, 13, 25, 27, 39, 40, 43}

α(d2) = {2, 8, 9, 10, 13, 14, 16, 22, 25, 27, 37, 43}

liczba porówna« w tym celu: 1 + 2 + 2 + 4 + 1 + 2 + 2 + 2 Zalety: krótszy czas wyszukiwania, skraca si¦ czas przeci¦cia list.

Aktualizacja: +: pogarsza, nale»y porz¡dkowa¢ listy po ka»dej aktualizacji, −: upraszcza si¦, modykacja opisu obiektu: konieczna

(26)

PORZDKOWANIE LIST WG DŠUGO‘CI

Kartoteka wyszukiwawcza:

α(c, c3) = {3}

α(c, c4) = {4}

α(b, b1) = {1, 2}

α(c, c1) = {1, 5}

α(c, c2) = {2, 6}

α(a, a1) = {1, 2, 5, 6}

α(a, a2) = {3, 4}

α(b, b2) = {3, 4, 5, 6}

Zalety: wpªywa to na czas przeci¦cia list inwersyjnych (bierze si¦

pierwszy deskryptor z listy i pyta si¦ czy znajduje si¦ w pytaniu, je±li tak to zapami¦tujemy dan¡ list¦) Aktualizacja: jest skomplikowana, zmienia si¦ bowiem dªugo±¢ list i nale»y jest od pocz¡tku

uporz¡dkowa¢ !!!

(27)

PORZDKOWANIE LIST LEKSYKOGRAFICZNIE

Kartoteka wyszukiwawcza:

α(a, a1) = {1, 2, 5, 6}

α(a, a2) = {3, 4}

α(b, b1) = {1, 2}

α(b, b2) = {3, 4, 5, 6}

α(c, c1) = {1, 5}

α(c, c2) = {2, 6}

α(c, c3) = {3}

α(c, c4) = {4}

Umo»liwia zastosowanie podziaªu poªówkowego do wyszukiwania odpowiedniej listy inwersyjnej.

Zalety: Czas szukania odpowiedniej listy znacznie si¦ wtedy zmniejsza,

(28)

PORZDKOWANIE LIST WG CZ†STO‘CI

WYST†POWANIA DANYCH DESKRYPTORÓW W PYTANIACH

Zaªó»my, »e najcz¦±ciej w pytaniach szukamy odpowiedzi na pytania o deskryptory:

(c, c1), (c, c2), (b, b2). Listy z tymi deskryptorami umie±cimy wi¦c na samym pocz¡tku kartoteki wyszukiwawczej:

Kartoteka wyszukiwawcza:

α(c, c1) = {1, 5}

α(c, c2) = {2, 6}

α(b, b2) = {3, 4, 5, 6}

α(a, a1) = {1, 2, 5, 6}

α(a, a2) = {3, 4}

α(b, b1) = {1, 2}

α(c, c3) = {3}

α(c, c4) = {4}

Zalety: Czas szukania odpowiedniej listy znacznie si¦ wtedy zmniejsza, natomiast czas przeci¦cia dwóch list nie !!! Wady: Metoda nie zdaje egzaminu w przypadku zadania pytania spoza zbioru standardowych pyta« !!!

(29)

MODYFIKACJE zmniejszaj¡ce zaj¦to±¢ pami¦ci

1 zaznaczanie przedziaªów adresów

2 listy wspólne dla par deskryptorów z zaznaczeniem cz¦±ci wspólnej

3 listy wielodeskryptorowe

4 listy zanegowane

5 listy dla niepeªnego zbioru deskryptorówD0 ⊆ D

(30)

ZAZNACZANIE PRZEDZIAŠÓW ADRESÓW

Je»eli w jakiej± li±cie wyst¦puje ci¡g kolejnych adresów mo»na wtedy zaznaczy¢

przedziaª  poprzez znacznik÷i wtedy nie wpisujemy adresów wszystkich obiektów, a tylko pierwszy i ostatni adres danego ci¡gu. Np.:

α(d1) = {1, 2, 3, 4, 5, 8, 12, 13, 14, 15, 16, 20} α0(d1) = {1 ÷ 5, 8, 12 ÷ 16, 20}

Kartoteka wyszukiwawcza:

α(a, a1) = {1, 2, 5, 6}

α(a, a2) = {3, 4}

α(b, b1) = {1 ÷ 2}

α(b, b2) = {3 ÷ 6}

α(c, c1) = {1, 5}

α(c, c2) = {2, 6}

α(c, c3) = {3}

α(c, c4) = {4}

Zalety: czas wyszukiwania jest krótszy, zmniejszona zaj¦to±¢ pami¦ci Aktualizacja: skomplikowana ze wzgl¦du na konieczn¡ zmian¦ przedziaªów

(31)

LISTY DLA PAR DESKRYPTORÓW Z ZAZNACZENIEM CZ†SCI WSPÓLNEJ

Je»eli mamy 2 listyα(di) iα(dj) maj¡ce wspólne dla siebie adresy obiektów to:

Lista wspólna dla pary deskryptorów:

αw(di, dj) = {αr(di)#α(di, dj)#αr(dj)}

gdzie:

α(di, dj) = α(di) ∩ α(dj) αr(di) = α(di) α(di, dj) αr(dj) = α(dj) α(di, dj)

Przykªad:

α(d1) = {1, 2, 5, 7, 10, 12, 13}

α(d2) = {3, 5, 7, 9, 10, 12, 15, 18}

α(d1, d2) = {5, 7, 10, 12}

αr(d1) = {1, 2, 13}

(32)

Zaªó»my, »e najcz¦±ciej w pytaniach szukamy odpowiedzi na pytania o deskryptory: (a, a2) i (b, b2). Utworzymy wi¦c zamiast osobnych list, jedn¡ list¦ wspóln¡ dla tej pary.

przed modykacj¡: 8 list . . .

α(a, a2) = {3, 4}

. . .

α(b, b2) = {3, 4, 5, 6}

. . .

po modykacji: 7 list

α(a, a1) = {1, 2, 5, 6}

αw(a, a2)(b, b2) = {∅#3, 4#5, 6}

α(b, b1) = {1, 2}

α(c, c1) = {1, 5}

α(c, c2) = {2, 6}

α(c, c3) = {3}

α(c, c4) = {4}

(33)

LISTY WIELODESKRYPTOROWE

Listy wielodeskryptorowe to szczególny przypadek list dla par deskryptorów.

Je»eli mamy 2 listyα(di) iα(dj) i listy te maj¡ pewne wspólne dla siebie adresy obiektów to: Np.:

α(d1) = {1, 2, 5, 7, 8, 12, 17}

α(d2) = {1, 4, 5, 9, 10, 17, 20}

α(d12) = {1, 5, 17}

Zalety: Czas wyszukiwania jest krótszy, zmniejszona zaj¦to±¢

pami¦ci

Aktualizacja: bardziej skomplikowana przykªad

. . .

α(a, a2)(b, b2)(c, c2) = {6}

(34)

LISTY USUWANIE LIST DŠUGICH  LISTY ZANEGOWANE

A1 A2

x1 2 a

x2 1 a

x3 2 b

x4 2 a

x5 2 a

x6 2 a

x7 2 b

x8 2 a

Gdy α(A1, 2) = {x1, x3, x4, x5, x6, x7, x8} wówczas α(A1, 2) = {x2}

Gdy α(A2, a) = {x1, x2, x4, , x5, x6, x8} wówczas α(A2, a) = {x3, x7}

Dla pytania t = (A1, 2)(A2, b) t = d1d˙2

α(d1) = α(A1, 2) = {x2}

α(d2) = α(A2, b) = {x3, x7}

σ(t) = {x7}

Listy musz¡ pochodzi¢ z jednego atrybutu wzajemnie dwudeskryptorowego o warto±ciach wzajemnie si¦ neguj¡cych  która± z warto±ci musi wyst¦powa¢ w opisie obiektów. Zalety: krótszy czas wyszukiwania, zmniejszona zaj¦to±¢ pami¦ci Aktualizacja: skomplikowana

(35)

Metoda ze zmniejszonym zbiorem list inwersyjnych

Listy inwersyjne w tej metodzie tworzymy nie dla wszystkich deskryptorów wyst¦puj¡cych w opisach obiektów, a dla pewnego podzbioruD0 ⊂ D tych deskryptorów. Wybrany zbiórD0 mo»e by¢

zbiorem deskryptorów najcz¦±ciej wyst¦puj¡cych w pytaniach do systemu S lub zbiorem deskryptorów pewnego atrybutu (pewnych atrybutów). W omawianej modykacji tworzymy listy inwersyjne α(di) , gdziedi ∈ D0 iS

idi = D0 .

Pytanie do systemu zadajemy w postaci termut . Zakªadamy, »e tak jak w metodzie list inwersyjnych bez modykacji termt ma posta¢ sumy termów skªadowych. Odpowied¹σ(t) jest sum¡

odpowiedzi na termy skªadowe.

(36)

Wyszukiwanie odpowiedzi na term skªadowyt , odbywa si¦

w nast¦puj¡cy sposób:

je»eli wszystkie deskryptory pytaniadj∈ D0 , wówczas wyszukiwanie odpowiedzi odbywa si¦ tak jak w klasycznej metodzie list inwersyjnych:

σ(ti) = α(d1) ∩ α(d2) ∩ . . . ∩ α(dk), dj∈ D01 ≤ j ≤ k

gdzie: k- liczba deskryptorów pytaniati ;

je»eli nie wszystkie deskryptory pytaniati nale»¡ do zbioruD0 , to znajdujemy najpierw odpowied¹ przybli»on¡ jako zbiórXD0 taki, »e:

XD0 =\

j ∈J

α(dj), J = {j : dj∈ D0, dj∈ ti}.

Oczywi±cieXD0 ⊇ Xti . Zatem dla deskryptorów ze zbioruD0 znajdujemy zbiór obiektów zgodnie z metod¡ list inwersyjnych. Otrzymany zbiór obiektów przegl¡damy nast¦pnie metod¡ list prostych, aby znale¹¢ adresy obiektów, w których opisie znajd¡ si¦ pozostaªe deskryptory pytania:

σ(ti) = Xti = {x ∈ XD0, ρx(ai) = vi, (ai, vi) = di∈ ti oraz di ∈ D/ 0}, je»eli wszystkie deskryptory pytaniati ∈ D/ 0 , to odpowied¹ znajdujemy metod¡

przegl¡du zupeªnego.

(37)

Przedstawiona modykacja ze wzgl¦du na zmniejszon¡ liczb¦ list inwersyjnych daje wyra¹n¡ popraw¦ redundancji. Wªa±ciwe dobranie zbioruD0 decyduje o efektywno±ci opisanej modykacji (przypadek przegl¡du zupeªnego wyst¦puje bardzo rzadko).

Zmniejszenie redundancji wynika tu ze zmniejszenia wielko±ci Pr

i =1α(di) , gdy» listy inwersyjne tworzymy dla mniejszej liczby deskryptorów.

(38)

Przykªad

Kartoteka wyszukiwawcza dla

D0= {(a, a1), (b, b2), (c, c2), (c, c3), (c, c4)}

α(a, a1) = {1, 2, 5, 6}

α(b, b2) = {3 ÷ 6}

α(c, c2) = {2, 6}

α(c, c3) = {3}

α(c, c4) = {4}

R = (4 + 1 + 2 + 1 + 1) − 6

6 = 2

6 =0.33

(39)

Wyszukiwanie odpowiedzi na pytania - przykªad nr 1

Na pytanie jednodeskryptorowe t = (c, c2)

Przeszukujemy wszystkie listy inwersyjne i znajdujemy list¦ z deskryptorem pytania t:

t  α(a, a1) a wi¦c to nie jest szukana lista inwersyjne, szukamy wi¦c dalej. . .

t  α(b, b2) a wi¦c to nie jest szukana lista inwersyjne, szukamy wi¦c dalej. . .

t ≤ α(c, c2)  znale¹li±my list¦, która da nam odpowied¹ na pytanie t.

Przerywamy przeszukiwanie list i tworzymy odpowied¹ na pytanie:

σ(t) = α(c, c2) = {2, 6} = {x2, x6}

(40)

Wyszukiwanie odpowiedzi na pytania

Na pytanie wielodeskryptorowe t = (b, b2)(c, c2) + (a, a2) t = (b, b2)(c, c2) + (a, a2) = t1+ t2 gdzie t1 = (b, b2)(C, c2) i t2 = (a, a2). A wi¦c teraz odpowiadamy na ka»de z pyta«

skªadowych. ....

(41)

t1= (b, b2)(C, c2) t2= (a, a2) 1. Szukamy listy inwersyjnej dla pierwszego de-

skryptora pytania t1, a wi¦c deskryptora (B, b2) 1. Szukamy listy inwersyjnej dla pierwszego (jedynego) deskryptora pytania t2, a wi¦c deskryptora (a, a1)

(b, b2)  α(a, a2) (a, a2) /∈ D0

(b, b2) ≤ α(B, b2) Przegl¡d zupeªny kartoteki wtórnej A wi¦c: α(B, b2) = {3, 4, 5, 6} σ(t2) = σ(a, a2) = {2, 4, 6}

2. Szukamy listy inwersyjnej dla drugiego deskryp- tora pytania t1, a wi¦c deskryptora (C,c2) (C , c2)  α(a, a1)

(C , c2)  α(B, b2) (C , c2) ≤ α(C, c2) A wi¦c: α(C, c2) = {2, 6}

3. Budujemy odpowied¹ na pytanie t1, jako prze- ci¦cie list inwersyjnych dla deskryptorów (B,b2) oraz (C,c2)

α(B, b2) ∩ α(c, c2) = {3, 4, 5, 6} ∩ {2, 6} = {6}

σ(t ) = {6} σ(t ) = {2, 4, 6}

(42)

Przykªad

Zadano pytanie: t = (a, a1)(c, c1)

(a, a1) ≤ α(a, a1) - pierwszy deskryptor pytania t

c, c1 /∈ D0 wi¦c α(a, a1) to odpowied¹ przybli»ona na pytanie t: XD0 = α(a, a1) = {1, 3, 5}

odpowied¹ dokªadna dla pytania t zostatnie znaleziona jako:

σ(t) = Xt= {x ∈ XD0, ρx(ai) = vi, (ai, vi) = di ∈ t oraz di ∈ D/ 0}, XD0 = {1, 3, 5} = {x1, x3, x7, x5}

:

ρx1(c) = c1 a (c, c1) ∈ t ρx3(c) = c3 a (c, c3) /∈ t ρx7(c) = c3 a (c, c3) /∈ t ρx5(c) = c1 a (c, c1) ∈ t Zatem:

σ(t) = {x1, x5}

Cytaty

Powiązane dokumenty

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¡

Tak, więc dla obiektu dopisywanego: w każdej liście z deskryptorem, do którego obiekt jest relewantny dopisywany jest adres tego obiektu; dla usuwanego obiektu

[r]

Następnym krokiem jest utworzenie grup poprawionych (j-tą Następnym krokiem jest utworzenie grup poprawionych (j-tą grupę poprawioną oznaczamy przez Sj’). Na grupę Sj’..

3.Omów proces wyszukiwania w przypadku modyfikacji polegającej na tworzeniu list inwersyjnych dla podzbioru deskryptorów.. metoda list łańcuchowych 1.Co to jest

W przypadku list łączonych należy określić współczynnik Q, który wskazuje minimalną liczbę adresów wspólną dla dwóch list, dla których efektywne jest stosowanie