1 / 30

Pronala ženje informacija metodom invertovanih lista

Pronala ženje informacija metodom invertovanih lista. Cvetana Krstev (čas 2). Analiza sadržaja. Identifikatori sadr ž aja se ka č e uz uskladi š teni tekst . Oni se nazivaju: klju čne re č i ( keywords ), i ndeksni termini ( index terms ) ili de s kriptori ( descriptors ).

kennan-sosa
Download Presentation

Pronala ženje informacija metodom invertovanih lista

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pronalaženje informacija metodom invertovanih lista Cvetana Krstev (čas 2)

  2. Analiza sadržaja • Identifikatori sadržaja se kače uz uskladišteni tekst. Oni se nazivaju: • ključne reči (keywords), indeksnitermini (index terms) ili deskriptori (descriptors). • Za svaki indeksni termin se pretpostavlja da opisuje sadržaj tekstasamo do određene granice, ali ne kompletno ili ne dovoljno jasno, takoda se veliki broj različitih indeksnih termina može prikačiti uz svaki dokumentili tekst. • Ne mora da bude korisno insistiranje napotpunom slaganju između termina upita i dokumenata. Umesto toga pronalaženje neke stavke može se zasnivatina dovoljnom stepenu slaganja između skupa identifikatora koji su prikačeniuz upite i dokumenta, a koji je utvrđen korišćenjem nekog aproksimativnog ili delimičnog metoda slaganja.

  3. Kako to utiče na realizaciju sistema za pronalaženje? • Kako operacije za pronalaženje teksta zavise direktno od toga kakva sereprezentacija koristi za opis uskladištenih zapisa, jasno je da značajan napor mora da se uloži u • analizu sadržaja uskladištenih tekstova, • izradu identifikatora sadržaja, i • poređenje deskriptora upita i dokumenata. • U sistemima za upravljanje bazama podataka problem analize sadržaja se ne javlja(bar ne na konceptualnom nivou). Sadržaj podataka kao što su ime osobe, njena starost, klasifikacija posla i zaradaje jasan te se jednostavno mogu doneti odluke pri pronalaženju korišćenjem ovakvih kriterijuma.

  4. Predstavljanje dokumenata indeksnim terminima • U opretivnom okruženju, uskladišteni zapisi se predstavljaju skupomindeksnih termina koji se nakad zove i indeksni vektor. Terminimaobično nije pridružina težina, premda u nekim situacijama terminima možeda se pridruži težina koja odražava njihov relativni značaj. Upiti sena sličan način mogu formulisati korišćenjem skupa termina beztežina i skupa termina sa težinama.

  5. Postavljanje upita indeksnim vektorima i bulovskim operatorima • Vektorski upiti predstavljaju skup termina • Kod bulovskih upita se termini spajaju logičkim bulovskim operatorima koji obezbeđuju vezuizmeđu termina. To su operatori: • or tretira dva termina kao sinonime. U stvari,za dati upit T1 or T2, prisustvo bilo kog od tihtermina u zapisu je dovoljno za njegovo pronalaženje; • and kombinuje termine u frazu. Upit T1 and T2znači da oba termina moraju da bude prisutnada bi zapis bio pronađen. • not je restrikcija, ili sužavanje termina, i on se obično koristi u kombinaciji sa and operatorom da bi se ograničilaprimenljivost nekog termina. Upit T1 and not T2 pronalazi onezapisa koji sadržeT1 pod uslovom daT2 u zapisu nije prisutan.

  6. Koji se zahtevi postavljaju pred operativni sistem za pronalaženje • Bilo da se zahtevi za informacijama izražavaju kao skupovi termina ili kaobulovske kombinacije termina, operacije pretraživanja moraju da identifikuju one uskladištene zapise koji sadrže određenu kombinaciju termina. • U praksi, funkcionalno pretraživačko okruženje se karakteriše sa dva glavna zahteva: • pristup datotekama mora da bude praktično ternutan, onoliko kolikokorisnik može da čeka ispred računara; i • broj ključnih reči ili indeksnih termina koje treba uodređenoj situaciji obraditi može da bude veoma velik recimo redaveličine desetine hiljada ili stotine hiljada ili miliona.

  7. Uobičajeni odgovor na ove zahteve – invertovani indeks • Ovi zatevi nameću potrebu korišćenja vrlo efikasnih metoda organizovanja zapisa (koji sadrže dokumenta). • Uobičajeno rešenje se zasniva na odvojenom gustom indeksu za svaki termin koji se u sistemukoristi. To jest, za svaki termin konstruiše se odvojeni indeks kojiskladišti identifikatore zapisa, ili adrese zapisa, za sve zapise koje se mogu identifikovati tim terminom. Skup ovakvih indeksa za sve dozvoljenetermine je poznat kao invertovani indeks ili invertovana datoteka. • Sa invertovanim indeksom, skup zapisa koji odgovaraju datoj formulaciji upita može se efikasno odrediti. Naime, identifikatori svih pronađenih stavki moguse dobiti izdvajanjem iz invertovanog indeksa liste identifikatora zapisa kojiodgovaraju svakom terminu iz upita, i daljim kombinovanjem ovih identifikatora zapisa na odgovarajući način.

  8. Proces formiranja invertovanog indeksa • Cela datoteka zapisa koji sadrže dokumenta se prvo predstavlja u obliku matrice indeksiranih zapisa,u kojoj svaka vrsta predstavlja zapis, ili dokument, a svaka kolona specifikuje pridruživanje određenog termina zapisima kolekcije. (Kako se termini pridružuju dokumentima, u drugom delu kursa). • Ova matrica zapisa i termina se zatim invertuje (u stvari,transponuje) na takav način da sada svaka vrsta invertovane matricespecifikuje koji zapisi odgovaraju nekom određenom terminu. • Vrste invertovane matrice termina i zapisa se zatim obrađuju uskladu sa određenom specifikacijom upita da bi se odredio skup zapisa koji odgovaraju na upit.

  9. Formalni primer – matrica zapisa (dokumenata) • Uzorak od 4 zapisa koji se identifikuje preko četiri termina. Cifra 1 na preseku vrste i i kolone j znači da je termin Tj pridružen zapisu Zi. Cifra 0 na preseku vrste i i kolone j znači da termin Tj nije pridružen zapisu Zi. Zapis 2 se predstavlja vektorom termina (to jevrsta u matrici) (0,1,1,1), što znači da termin 1 nije pridružen zapisu, a da ostala tri termina jesu.

  10. Invertovani indeks • vrsta i početne matrice postaje kolona i invertovane reprezentacije. Svaka vrsta invertovane matrice prema tome predstavlja listu identifikatora zapisa kojiodgovaraju određenom terminu. Vrsta 2 iz invertovane matrice iz prethodne tabele je predstavljena sa (1,1,0,0), što ukazuje da je T2pridružen Z1 i Z2, ali nije pridružen Z3 i Z4.

  11. Invertovani indeks • Drugi način predstavljanja invertovanog indeksa: T1 Z1, Z3 T2 Z1, Z2 T3 Z2, Z3, Z4 T4 Z1, Z2, Z3, Z4 • Predpostavlja se da je invertovani indeks uređen u rastućem redosledu termina što omogućava efikasno pronalaženje termina u indeksu. Lista identifikatora zapisa pridruženih svakom terminu je takođe uređena u rastućem redosledu. • Šta je princip uređivanja zavisi od samog sistema – nama je najlakše da smatramo da je to abecedni poredak.

  12. Primer – prvi dokument • D1: Juneće šnicle posolite, utrljajte vegetu i ostavite da odstoje. Za to vreme ispržite na ulju seckan crni luk. Slaninu isecite na rezance. U vatrostalnu posudu poređajte meso, luk i odozgo slaninu, biber i lovorov list. Prelijte belim vinom. Kuvajte na umerenoj vatri. • Termini: juneće meso, crni luk, slanina, biber, lovorov list, vino

  13. Primer – drugi dokument • D2: Teleće šnicle špikovati slaninom i belim lukom, uvaljati u rastopljeni puter i peći, dok ne porumene na 230 stepeni. Tada dodati pavlaku i vino pa vratiti u rernu, na 180 stepeni, oko sat vremena. Napraviti bešamel i dodati mu seckane orahe. • Termini: teleće meso, beli luk, slanina, puter, pavlaka, vino, orasi

  14. Primer – treći dokument • D3: Teleće meso izrezati na tanke odreske, istući ih batom i posoliti. Umutiti jaja, sa žlicom mleka. Odreske s obe strane uvaljati u brašno, zatim u umućena jaja i na kraju u mrvice. S obe strane zapeći na vrelom maslacu. Stavite masnoće da odresci u njoj plivaju. • Termini: teleće meso, so, jaja, brašno, mrvice, maslac

  15. Primer – četvrti dokument • D4: U vodu staviti češnjak da odstoji par sati. Meso se pomeša i dva puta samelje sa crvenim lukom, dobro se umeša sa vodom u kojoj je bio češnjak, uljem, biberom i sodom bikarbonom posoliti. Ostaviti preko noći u donjem delu hladnjaka. Oblikovati čevapčiće veličine kažiprsta i peći 5 do 10 minuta uz često okretanje. • Termini: teleće meso, crni luk, češnjak, ulje, biber, soda bikarbona

  16. Primer – peti dokument • D5: Svinjsko meso samleti na mašini za mlevenje mesa, dodati ulje i crni luk, dobro izmešati, posoliti i popapriti po ukusu. Po želji dodati naseckane ljute paprike. Dobro mešati rukama i napraviti pljeskavice debljine 1 cm. Peći na jakoj vatri. Po želji napraviti marinadu od ulja i luka te upravo pečene vruće pljeskavice na kratko umočiti u marinadu. • Termini: svinjsko meso, crni luk, ulje, so, biber, ljuta paprika

  17. beli luk, D2 biber, D1, D4, D5 brašno, D3 crni luk, D1, D4, D5 češnjak, D4 jaja, D3 juneće meso, D1 lovorov list, D1 ljuta paprika, D5 maslac, D3 mrvice, D3 orasi, D2 pavlaka, D2 puter, D2 slanina, D1, D2 so, D3, D5 soda bikarbona, D4 svinjsko meso, D5 teleće meso, D2, D3, D4 ulje, D4, D5 vino, D1, D2 Primer - invertovani indeks

  18. Invertovano indeksne operacije • Invertovano-indeksne operacije koje su neophodne da bi se dobili odgovori na upite zasnivaju sena procesu spajanja lista koji uzima dve ili više vrstaiz invertovane matrice termina i zapisa i proizvodi jednu kombinovanu listuidentifikatora zapisa. Na primer, spajanje lista za vrste 2 i 3 invertovanematrice ukazuje da je zapis 1 (Z1) uključen u prvu od lista, drugi zapis (Z2)jeprisutan u obe ulazne liste, a Z3 i Z4su uključeni samo u drugu listu. T2 Z1, Z2 T3 Z2, Z3, Z4

  19. Algoritam spajanja lista • Kada su identifikatori zapisa iz invertovane matrice uređeniu rastućem redosledu identifikatora zapisa kakav je slučaj u prvom primeru, onda se operacija spajanja lista može izvršiti jednim prolazom krozulazne liste. U sledećem pojednostavljenom algoritmu operacije spajanjalista se najmanji element, a to je zapisčiji je identifikator najmanji, redom prenosi u spojenu listu sve dok obe ulazne liste nisu iscrpene.

  20. Algoritam spajanja lista ako je kraj obe liste onda kraj; inače ako je kraj jedne liste onda prebaci u izlaznu listu sve preostale elemente druge listei završi; inače Uzmi tekući element E1i iz prve liste i tekući element E2j iz druge liste ako je E1i < E2j onda prebaci E1i element u izlaznu listu element E1i+1 postaje novi tekući element ponovi proces inače ako je E1i>E2j onda prebaci E2j element u izlaznu listu element E2j+1 postaje novi tekući element ponovi proces inače prebaci E1i iE2j element u izlaznu listu element E1i+1 postaje novi tekući element element E2j+1 postaje novi tekući element ponovi proces.

  21. Vektorski upit • Za vektorske upite, koji se sastoje od termina bez bulovskih operatora, kakav je, na primer (Ti, Tj,Tk), konstruiše se spojena lista zapisa za vrste i, j i kinvertovanog indeksa, i zapisi se prenose naizlaz u opadajućem redosledu u odnosu na broj pojavljivanja u spojenoj listi. Tako sepronalaze stavke koje imajunupitnih termina pre onih koje imaju n-1upitni termin i tako dalje sve do onih stavki koje sadrže samo jedan upitni termin.

  22. Primer vektorskog upita • (T1, T2,T4) T1: Z1, Z3 T2: Z1, Z2 T4: Z1, Z2, Z3, Z4 Sp(T1, T2): Z1, Z1, Z2, Z3 Sp(Sp(T1, T2), T4): Z1, Z1, Z1, Z2, Z2, Z3, Z3, Z4 (T1, T2,T4): Z1(3), Z2(2), Z3(2), Z4(1)

  23. Bulovski and upit • Za bulovske andupite, kakav je (TiTj),proizvodi sespojena lista za vrstei, jinvertovanog indeksa i svi duplikatizapisa, (a to su oni koji sadrže i termin Tii termin Tjsu izlaz upita. • (T2T3) T2 : Z1, Z2 T3 : Z2, Z3, Z4 Sp(T2,T3 ): Z1, Z2, Z2, Z3, Z4 (T2T3): Z2

  24. Bulovski or upit • Za bulovske or-upite, kakav je (TiTj), proizvodi se spojena lista za vrste i, j i sve različite stavke iz spojene liste su izlaz koji odgovara stavkama koje imaju prvi ili drugi termin ilioba. • (T1T2) T1: Z1, Z3 T2: Z1, Z2 Sp(T1,T2 ): Z1, Z1, Z2, Z3 (T1T2): Z1, Z2, Z3

  25. Bulovski not upit • Za bulovske not-upite, kakav je (Ti Tj),konstruiše se kao i ranije spojena lista za termine Tii Tj, a stavke koje se pojavljuju samo jednom se uklanjaju iz liste čime se dobija listaza (TiTj). Lista za Ti se tada spaja za listom (TiTj)i stavke koje se pojavljuju više pute se uklanjaju iz liste. • (TiTj)pojavljuje se i uTii u Tj • Sp((TiTj), Ti) • dva pojavljivanja → pojavljuje se i uTii u Tj • jedno pojavljivanje → pojavljuje se samo u Ti

  26. Bulovski not upit • (T1 T3) • T1: Z1, Z3 • T3 : Z2, Z3, Z4 • Sp(T1,T3 ): Z1, Z2, Z3, Z3, Z4 • (T1T3): Z3 • Sp(T1,(T1T3))Z1, Z3, Z3 • (T1 T3): Z1

  27. Složeniji primer: ((T1T2)  T3) T1 Z1, Z3 T2 Z1, Z2 T3 Z2, Z3, Z4 Sp(T1, T2): Z1, Z1, Z2, Z3 (T1T2): Z1, Z2, Z3 Sp((T1T2), T3): Z1, Z2, Z2, Z3, Z3, Z4 ((T1T2)T3): Z2, Z3 Sp(((T1T2)T3), (T1T2)): Z1, Z2, Z2, Z3, Z3 (T1T2)  T3): Z1

  28. Prednosti invertovano-indeksnih operacija • Ovako opisani proces invertovanogindeksiranja je veoma značajan sa stanovišta efikasnosti obrade:pre svega, može se zadovljiti upit koji pronalazi bilo koji željenipodskup zapisa. Osim toga, ne mora se pristupati zapisima glavne datotekeosim u završnojfazi, kada se pronalaze informacije iz zapisa za koje seveć zna da odgovaraju upitima. Na taj način se velikom brzinom dobijajuodgovori i u sistemima koji se zasnivajuna radu sa datotekama sa veoma velikimbrojem zapisa.

  29. Kako ćete najbolje postaviti upit ako vas interesuju recepti u kojima se koristi teleće meso, ali se ne koristi ni beli luk ni puter? • (teleće meso  (beli luk  puter)) teleće meso: D2, D3, D4 beli luk: D2 puter: D2 Sp(beli luk,puter): D2, D2 (beli luk  puter): D2 Sp(teleće meso, (beli luk  puter)): D2, D2, D3, D4 (teleće meso  (beli luk  puter)): D2 Sp((teleće meso  (beli luk  puter)), teleće meso): D2, D2, D3, D4 teleće meso  (beli luk  puter)): D3, D4

  30. Nedostaci bulovskih operatora • Konvencionalna bulovska logika, kada se implementira preko operacija nadinvertovanim listama, pokazuje i neke očigledne nedostatke. Pre svega, zapisi se obično pronalaze iz glavne datoteke u onom redosledu u kome sepojavljuju u invertovanim listama (a to je, najčešće broj zapisa u rastućem redosledu), a ne u nekom opadajućem redosledu u odnosuna očekivanu korist. Osim toga, bulovske operacije se ne mogu lako povezatisa željenom veličinom izlaza. Kada se upiti široko formulišukorišćenjem or-operatora, suviše veliki izlaz može dazatrpa korisnika i da ga obeshrabri. S druge strane, suviše uskoformulisani upiti korišćenjem and operatora mogu da generišunedovoljan izlaz odbacivanjem relevantnih stavki.

More Related