37
1 Proširenja invertovano- indeksnih operacija Cvetana Krstev Čas 3.

Pro širenja invertovano-indeksnih operacija

  • Upload
    cullen

  • View
    62

  • Download
    0

Embed Size (px)

DESCRIPTION

Pro širenja invertovano-indeksnih operacija. Cvetana Krstev Čas 3. Pro širenja invertovano-indeksnih operacija. Predlo ž ena su i implementirana razli č ita pro š irenja standardnih invertovano-indeksnih tehnika sa ciljem : pojednostavljivanja ovih operacija i pobolj š anja pronala ž enja. - PowerPoint PPT Presentation

Citation preview

Page 1: Pro širenja invertovano-indeksnih operacija

1

Proširenja invertovano-indeksnih operacija

Cvetana Krstev

Čas 3.

Page 2: Pro širenja invertovano-indeksnih operacija

2

Proširenja invertovano-indeksnih operacija Predložena su i implementirana

različita proširenja standardnih invertovano-indeksnih tehnika sa ciljem: pojednostavljivanja ovih operacija i poboljšanja pronalaženja.

Page 3: Pro širenja invertovano-indeksnih operacija

3

Uslovi udaljenosti

Kada uskladišteni slogovi pokrivaju tekstove i dokumenta na prirodnom jeziku, termini koji se koriste za karakterisanje slogova su često izvađeni iz samog teksta dokumenata. To je slučaj i kod ručnog i kod automatskog indeksirnja gde, u prvom slučaju, obučeni indekser bira termine, a u drugom, ih bira neki za to izrađeni program. Termini se obično biraju nezavisno jedan od drugog, ali veze između termina se uvode u formulacijama upita dodavanjem odgovarajućih Bulovih operatora. Tako, se recimo upit information and retrieval može upotrebiti za pronalaženje tekstova koji se bave opštom temom information retrieval.

Page 4: Pro širenja invertovano-indeksnih operacija

4

Neadekvatnost bulovskih upita za povezivanje termina upit information and retrieval

pronalazi dokumenta koja su indeksirana terminima i information i retrieval , što u slučaju ekstrahovanja termina iz teksta znači da su se oba pojavila u tekstu, ali ne nužno i zajedno. Na primer,

Effective retrieval systems are essential for people in need of information.

Page 5: Pro širenja invertovano-indeksnih operacija

5

Još neki primeri sa Google-a

Pretraga sa beli and luk daje (između ostalog):

1. U narodu beli luk je lek za sve.2. Predsjednik Hrvatskog sabora Luka Bebić sastao

se u srijedu u Budafi s predsjednikom Narodne skupštine Mađarske Belom ...

3. Beli je morska luka otvorena za javni promet lokalnog značaja, a njezino proširenje je moguće uz prethodno obavljene istražne radove. ...

4. Beli je jedno od najstarijih i u prošlosti najvažnijih creskih naselja. ... Nastao je kao luka starog naselja Bucevciji su ostaci nadeni kod crkve Sv. Marka ...

Page 6: Pro širenja invertovano-indeksnih operacija

6

Parametri blizine u specifikaciji upita Specifikovana veza između dva ili više termina

može da se ojača dodavanjem parametara blizine (nearness) specifikaciji upita. Dva moguća parametra ove vrste su: unutar rečenice i specifikacija susedstva,

(A unutar iste rečenice kao B) implicira da termini A i B moraju zajedno da se pojave u istoj rečenici dok

(A susedno sa B) implicira da se termini A i B moraju pojaviti kao susedni u tekstu. Kada se parametri blizine uključeni u specifikaciju upita, tema se bliže definiše, a verovatnoća relevantnosti svake pronađene stavke je veća.

Page 7: Pro širenja invertovano-indeksnih operacija

7

Primeri upita sa specifikacijom parametara blizine (information u istoj rečenici sa retrieval) (beli susedno sa luk)

od četiri primera odgovora koje nudi Google (slajd 4) samo prvi bi bio pronađen.

Page 8: Pro širenja invertovano-indeksnih operacija

8

Implementacija specifikacije upita sa parametrima blizine Konceptualno, najjednostavniji način da se implementira

specifikacija upita sa parametrom blizine je obrada šireg and-upita (A and B) a zatim odbacivanje pronađenih stavki koje ne zadovoljavaju dodatni uslov. Odmah se vidi da to zahteva operaciju skaniranja originalnog, polaznog, teksta svih stavki koje je pronašao upit (A and B), sa ciljem da se odbace one u kojima dva termina nisu onoliko blizu koliko traži upit. Sistemi za sravnjivanje teksta (o kojima će biti reči na nekom sledećem času) se mogu koristiti da bi se efikasno otkrilo prisustvo ili odsustvo određenih karaktera ili reči u tekstu dokumenta. Ali, operacije skaniranja teksta se skupe, sa stanovišta potrebnog vremena, i obično prespore za opštu upotrebu. Osim toga njihova primena narušava opšti princip sistema za pronalaženje da se dokumentima pristupa tek kada je utvrđeno da su dovoljno relevantni za korisnika.

Page 9: Pro širenja invertovano-indeksnih operacija

9

Modifikacija invertovanog indeksa radi zadovoljavanja uslova udaljenosti iz upita Poželjnije rešenje za zadovoljavanje uslova

udaljenosti sastoji se u uključivanju informacija o lokaciji termina u invertovani indeks. To omogućava da se provere uslovi blizine, a da se ne pristupa informacijama u zapisima glavne datoteke i da se ne sravnjuje tekst dokumenta sa terminima iz upita. Na specifikaciju “unutar rečenice” može se odgovoriti proširivanjem liste za svaki termin u invertovanom indeksu tako što se svakom pojavljivanju termina pridruži i podatak o rednom broju rečenice u kojoj se termin pojavljuje.

Page 10: Pro širenja invertovano-indeksnih operacija

10

Primer: standardni invertovani indeks Posmatrajmo dve klasične liste za

termine information i retrieval koje se pojavljuju u nekom invertovanom indeksu:

information : {Z345,Z348,Z350... }

retrieval : {Z123,Z128,Z345, Z350... } Upit (information and retrieval) pronalazi

dokumenta u zapisima {Z345,Z350}

Page 11: Pro širenja invertovano-indeksnih operacija

11

Primer: prošireni invertovani indeks Ako se dodaju podaci o lokaciji termina unutar

rečenice, liste se proširuju na sledeći način:information : {Z345,25; Z345,37; Z348,10; Z350,8;... }

retrieval: {Z123,5; Z128,25; Z345,37; Z350,21... }

Ove liste sada ukazuju da se termin information pojavljuje dva puta u zapisu 345 i to u rečenicama 25 i 37, jednom u zapisu 348 u rečenici 10 i jednom u zapisu 350 u rečenici 8, itd.

Termin retrieval pojavljuje jednom u zapisu 123 u rečenici 5, jednom u zapisu 128 u rečenici 25, jednom u zapisu 345 u rečenici 37, itd.

Page 12: Pro širenja invertovano-indeksnih operacija

12

Postavljanje upita sa uslovima udaljenosti preko proširenog indeksa Koristeći ove proširene liste za termine

information i retrieval iz indeksno-invertovane datoteke, na upit (information unutar iste rečenice retrieval) dobija se odgovor Z345 jer liste za oba termina sadrže stavku Z345,37 koja govori da rečenica 37 zapisa Z345 sadrži oba termina. Zapis Z350 ne bi bio deo odgovora jer se termin information javlja u rečenici 8 a termin retrieval u rečenici 21 istog zapisa.

Upit (information unutar iste rečenice retrieval) pronalazi dokument u zapisu {Z345}

Page 13: Pro širenja invertovano-indeksnih operacija

13

Dalje proširivanje invertovanog indeksa Dalja proširenja invertovano-indeksnih entiteta, koja

mogu da pokriju, na primer, brojeva pasusa, brojeva rečenica unutar pasusa, brojeve reči unutar rečenica, i slično, mogu da pruže odgovore na upite kakvi su

(information susedno sa retrieval) ili (information najviše 5 reči udaljeno od retrieval) . Tako bi dve liste u novom invertovanom indeksu bile:information : {Z345,2,3,5; Z345,3,8,7;... }

retrieval : {Z123,5,1,3; Z128,2,5,12; Z345,2,3,6;... }

zadovoljile ograničenje susedstva jer se prvi termin pojavljuje u 2 pasusu, 3. rečenici, kao 5. reč u zapisu Z345 dok se drugi termin pojavljuje u 2. pasusu, 3. rečenica, kao 6. reč u istom dokumentu.

Page 14: Pro širenja invertovano-indeksnih operacija

14

Nedostaci modifikovanog invertovanog indeksa koji zadovoljava uslove udaljenosti Uključivanje informacija o lokaciji termina

u invertovano-indeksne liste značajno uvećava veličinu indeksa, za faktor dva ili tri, jer svako pojavljivanje termina u dokumentu mora zasebno da bude zabeleženo, a ne samo jednom, kakav je slučaj sa jednostavnim invertovano-indeksnim listama. Međutim, ove informacije omogućavaju da se dobiju mnogo brži odgovori na upite sa uslovima udaljenosti nego što to izgleda moguće sa metodama sravnjivanja teksta.

Page 15: Pro širenja invertovano-indeksnih operacija

15

Dodatni lokacijski uslovi

U nekim sistemima, mogu se nametati i dodatni lokacijski uslovi, koji ukazuju da se termin iz upita mora ograničiti na specifični deo dokumenta. Takva specifikacija lokacije može da bude oblika unutar-naslova, unutar-bibliografskog-citata ili unutar apstrakta, a one se mogu zadovoljiti koristeći slične metode kao one koje se koriste za termine unutar rečenice.

Page 16: Pro širenja invertovano-indeksnih operacija

16

Primer: kolekcija kuvarskih recepata Pretpostavimo da su termini dodeljeni

kuvarskim receptima izvađeni iz samog teksta, a ne dodeljeni kao što je to bio slučaj u primeru s prethodnog časa. Recimo da su termini sve imenice i pridevi iz teksta u svom rečničkom obliku (a ne u obliku u kome se javljaju u tekstu)

Page 17: Pro širenja invertovano-indeksnih operacija

17

Primer – prvi dokument; termini (pridevi i imenice) ekstrahovani iz teksta D1: 1 Juneće šnicle posolite, utrljajte vegetu i

ostavite da odstoje. 2 Za to vreme ispržite na ulju seckan crni luk. 3 Slaninu isecite na rezance. 4 U vatrostalnu posudu poređajte meso, luk i odozgo slaninu, biber i lovorov list. 5 Prelijte belim vinom. 6 Kuvajte na umerenoj vatri.

Termini: beo, biber, crn, juneći, list, lovorov, luk, meso, posuda, rezanac, seckan, slanina, šnicla, ulje, umeren, vatra, vatrostalan, vegeta, vino, vreme

Page 18: Pro širenja invertovano-indeksnih operacija

18

Primer – drugi dokument ; termini (pridevi i imenice) ekstrahovani iz teksta D2: 1Teleće šnicle špikovati slaninom i belim

lukom, uvaljati u rastopljeni puter i peći, dok ne porumene na 230 stepeni. 2 Tada dodati pavlaku i vino pa vratiti u rernu, na 180 stepeni, oko sat vremena. 3 Napraviti bešamel i dodati mu seckane orahe.

Termini: beo, bešamel, luk, orah, rastopljen, pavlaka, puter, rerna, sat, seckan, slanina, stepen, šnicla, teleći, vino, vreme

Page 19: Pro širenja invertovano-indeksnih operacija

19

Indeks je: beo, D1, D2 bešamel D2 biber, D1 crn, D1 juneći, D1 list, D1 lovorov, D1 luk, D1, D2 meso, D1 orah, D2

pavlaka, D2 posuda, D1 puter, D2 rastopljen, D2 rerna, D2 rezanac, D1 sat D2 seckan, D1, D2 slanina, D1, D2 stepen, D2

šnicla, D1, D2 teleći, D2 ulje, D1 umeren, D1 vatra, D1 vatrostalan, D1 vegeta, D1 vino, D1, D2 vreme, D1, D2

Šta vraća upit (beo and luk)? {D1, D2}Šta vraća upit (seckan and slanina)? {D1, D2}

Page 20: Pro širenja invertovano-indeksnih operacija

20

Prošireni indeks koji zadovoljava uslove udaljenosti je

beo, (D1,5) (D2,1) bešamel (D2,3) biber, (D1,4) crn, (D1,2) juneći, (D1,1) list, (D1,4) lovorov, (D1,4) luk, (D1,2) (D1,4)

(D2,1) meso, (D1,4) orah, (D2,3)

pavlaka, (D2,2) posuda, (D1,4) puter, (D2,1) rastopljen, (D2,1) rerna, (D2,2) rezanac, (D1,3) sat, (D2,2) seckan, (D1,2) (D2,3) slanina, (D1,3) (D1,4)

(D2,1) stepen, (D2,1) (D2,2)

šnicla, (D1,1) (D2,1) teleći, (D2,1) ulje, (D1,2) umeren, (D1,6) vatra, (D1,6) vatrostalan, (D1,4) vegeta, (D1,1) vino, (D1,5) (D2,2) vreme, (D1,2) (D2,2)

Šta vraća upit (beli u istoj rečenici luk)? {D2}Šta vraća upit (seckan u istoj rečenici slanina)?

Page 21: Pro širenja invertovano-indeksnih operacija

21

Težine termina

Uvođenje pojma težine termina kako za termine iz dokumenata tako i za termine iz upita, u smislu njihovog značaja, omogućava da se vrednuju termini koji su značajniji za potrebe pretraživanja od drugih, manje značajnih. Ako se težine dodeljuju terminima iz dokumenata onda surogat nekog zapisa može da izgleda ovako: Zi={Ti1,0.2; Ti2,0.5; Ti3,0.6}, što znači da termin 3 zapisa Zi ima težinu (značaj) 0.6, dok termin 1 istog zapisa ima mnogo manju težinu (značaj) 0.2. Kada se težina termina doda u invertovani indeks, pronađeni zapisi se mogu rangirati po opadajućim težinama sravnjenih termina između upita i dokumenata.

Page 22: Pro širenja invertovano-indeksnih operacija

22

Kako su termini sa težinama dodeljeni dokumentima? Strategija za dodeljivanje težine

terminima dokumenta mora biti jednostavna za generisanje i laka za primenu. Postoji više metoda za (automatsko) dodeljivanje težina terminima o kojima će kasnije biti govora (u okviru teme automatsko indeksiranja).

Page 23: Pro širenja invertovano-indeksnih operacija

23

Vektorski upiti i težine termina Kada svi termini iz dokumenta nose oznaku

težine, pronađene dokumente je lako rangirati u opadajućem redosledu težina termina. Ako imamo vektorski upit, pomoću kojih se specifikacija upita izražava jednostavno kao skup termina, onda se težina pronađenog dokumenta može definisati jednostavno kao zbir težina svih termina tog dokumenta. Tako, ako se upit Q sastoji od termina (Ti,Tj,Tk), težina pronađenog zapisa Zn koji sadrži sva tri termina iz upita bi se izračunala jednostavno kaoWni+Wnj+Wnk,

gde je Wnp težina termina Tp u zapisu Zn.

Page 24: Pro širenja invertovano-indeksnih operacija

24

Bulovski upiti i težine termina Određivanje težine pronađenog dokumenta je

kompleksnije jer postoje mnoge ekvivalentne formulacije bulovskih izraza. Jedna mogućnost sastoji se u transformisanju svakog upita u oblik zbira proizvoda (ili disjunkcija konjunkcija), koji je takođe poznat kao disjunktivna normalna forma, gde se upit pojavljuje kao skup ili-veza jednog ili više terma, a to su termini povezani and operatorom kao u upitu

(Ti and Tj and Tk), a svi termi (konjunkti) se povezuju jedan s drugim operatorom or. Na primer, bulovski upit (T1 T2) T3 je u disjunktivnoj normalnoj formi, dok je disjunktivna normalna forma bulovskog upita T1 (T2 T3) = (T1 T2) (T1 T3 )

Page 25: Pro širenja invertovano-indeksnih operacija

25

Kako se bulovski izraz prevodi u disjunktivnu normalnu formu? Za svaki bulovski izraz

postoji disjunktivna normalna forma.

Neka je dat bulovski izraz m(p, r, q) čija je istinitosna tablica data tablicom u kojoj je samo jedna vrednost T u poslednjoj koloni

Jasno je da je izraz tačan samo kada je p netačno, a q i r tačno

Dakle, izraz m se svodi na sledeću disjunktivnu normalnu formu (samo jedan term)(p q r)

p q r m

T T T T T

T T T T T T T T

Page 26: Pro širenja invertovano-indeksnih operacija

26

Kako se bulovski izraz prevodi u disjunktivnu normalnu formu? Neka je dat bulovski izraz

m(p, r, q) čija je istinitosna tablica data tablicom u kojoj ima više vrednosti T u poslednjoj koloni

Jasno je da je izraz tačan za tri kombinacije tačno/netačno iskaza p, q i r

Dakle, izraz m se svodi na sledeću disjunktivnu normalnu formu koja ima tri terma(p q r) (p q r) (p q r)

p q r m

T T

T T T T

T T

T T T T T T T

Page 27: Pro širenja invertovano-indeksnih operacija

27

Disjunktivna normalna forma bulovskog izraza (p r) (r q) Treba sačiniti istinitosnu

tablicu koristeći istinitosne tablice osnovnih iskaza.

Jasno je da je izraz tačan za 4 kombinacije tačno/netačno iskaza p, q i r

Dakle, izraz F se svodi na sledeću disjunktivnu normalnu formu koja ima tri terma(p q r) (p q r) ( p q r) (p q r)

p q r p p r r r q F

T T T T T

T T T

T T T T T T

T T T T T T

T T T

T T T

T T T T

T T T T T T

Page 28: Pro širenja invertovano-indeksnih operacija

28

Disjunktivna normalna forma bulovskog izraza (p r) (r q) Treba sačiniti istinitosnu

tablicu koristeći istinitosne tablice osnovnih iskaza.

Jasno je da je izraz tačan za 4 kombinacije tačno/netačno iskaza p, q i r

Dakle, izraz F se svodi na sledeću disjunktivnu normalnu formu koja ima tri terma(p q r) (p q r) (p q r) (p q r)

p q r p r q r r q F

T T T

T T T T T

T T T

T T T

T T T T T T

T T T T T T

T T T T T T

T T T T

Page 29: Pro širenja invertovano-indeksnih operacija

29

Računanje relevantnosti dokumenata indeksiranih terminima sa težinama Na osnovu prethodnog je jasno da se svaki bulovski

izraz može automatski prevesti u disjunktivnu normalnu formu, pa to može da uradi računarski program.

Za bulovski upit preveden u disjunktivnu normalnu formu, težina (relevantnost) pronađenog dokumenta može se izračunati u dva koraka: Težina dokumenta se računa u odnosu na svaki

term (konjunkt) u upitu kao minimalna težina termina svakog termina dokumenta iz tog konjunkta.

Težina dokumenta konačnog upita (disjunkcija svih konjunkta) se računa kao maksimalna težina konjunkata izračunata u prvom koraku.

Page 30: Pro širenja invertovano-indeksnih operacija

30

Primer

U tabeli je prikazana tipična situacija, u kojoj postoje dva dokumenta, D1 i D2 čiji sadržaji su reprezentovani istim terminima T1, T2 i T3 od kojih svaki ima težinu specifičnu za dokument.

Page 31: Pro širenja invertovano-indeksnih operacija

31

Upit u disjunktivnoj normalnoj formi ((T1 T2) T3)Vektori dokumenata

Težine konjukata

Težina upita

(T1 T2) T3 ((T1 T2) T3)

D1=(T1,0.2;T2,0.5;T3 ,0.6) 0.2 0.6 0.6

D2=(T1,0.7;T2,0.2;T3 ,0.1) 0.2 0.1 0.2

Težina pronađenog odgovora D1 je 0.6 dok je težina pronađenog odgovoraD2 0.2, što znači da će dokument D1 biti više rangiran. Treba uočiti da težina pronađenog dokumenta zavisi i od težine termina koji su dodeljeni dokumentu i od formulacije upita.

Page 32: Pro širenja invertovano-indeksnih operacija

32

Specifikacija sinonima

U nekim sistemima za pronalaženje informacija može se dodati specifikacija sinonima bilo kom upitnom terminu u formulaciji upita. Svaki takav sinonim zatim automatski menja originalni termin, a dokumenta se pretražuju i originalnim i dodatim terminima. Kada se koriste Bulovske upitne formulacije, sinonimne specifikacije se mogu jednostavno spojiti sa originalnim terminima pomoću or operatora pre nego što se pretraživanje obavi. Tako se upit ((T1 T2) T3)transformiše u širi iskaz

(((T1 S1) T2) (T3 S3)

kada korisnik doda S1 kao sinonim za T1 i S3 kao sinonim za T3. Kada se sinonimi dodaju određenim upitima, broj relevantnih pronađenih stavki u pronalaženju može da se uveća.

Page 33: Pro širenja invertovano-indeksnih operacija

33

Primer - pet dokumenata

D1: juneće meso, crni luk, slanina, biber, lovorov list, vino

D2: teleće meso, beli luk, slanina, puter, pavlaka, vino, orasi

D3: teleće meso, so, jaja, brašno, mrvice, maslac D4: teleće meso, crni luk, češnjak, ulje, biber, soda

bikarbona D5: svinjsko meso, crni luk, ulje, so, biber, ljuta

paprika

Page 34: Pro širenja invertovano-indeksnih operacija

34

Primer - invertovani indeks

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

Page 35: Pro širenja invertovano-indeksnih operacija

35

Primer - rečnik sinonima

beli luk → češnjak biber → papar juneće meso →

junetina ljuta paprika → aleva

paprika maslac → puter mrvice → prezle

pavlaka → mileram svinjsko meso →

svinjetina teleće meso → teletina ulje → zejtin

Page 36: Pro širenja invertovano-indeksnih operacija

Upit bez korišćenja sinonima (teleće meso (beli luk puter))teleće meso: D2, D3, D4beli luk: D2puter: D2Sp(beli luk,puter): D2, D2(beli luk puter): D2Sp(teleće meso, (beli luk puter)): D2, D2, D3,

D4(teleće meso (beli luk puter)): D2Sp((teleće meso (beli luk puter)), teleće meso):

D2, D2, D3, D4teleće meso (beli luk puter)): D3, D4

Page 37: Pro širenja invertovano-indeksnih operacija

37

(teleće meso (beli luk puter))vraća {D3, D4} Kada se koristi rečnik sinonima upit postaje: ((teleće meso teletina)

((beli luk češnjak) (puter maslac)))teleće meso: D2, D3, D4teletina: beli luk: D2češnjak: D4puter: D2maslac: D3Odgovor: