380 likes | 732 Vues
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.
E N D
Proširenja invertovano-indeksnih operacija Cvetana Krstev Čas 3.
Proširenja invertovano-indeksnih operacija • Predložena su i implementirana različita proširenja standardnihinvertovano-indeksnih tehnika sa ciljem: • pojednostavljivanja ovih operacija i • poboljšanja pronalaženja.
Uslovi udaljenosti • Kada uskladišteni slogovi pokrivaju tekstove i dokumenta na prirodnomjeziku, termini koji se koriste za karakterisanje slogova su često izvađeni iz samog teksta dokumenata. To je slučaj i kod ručnog i kodautomatskog indeksirnja gde, u prvom slučaju, obučeni indekser biratermine, 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 uformulacijama upita dodavanjem odgovarajućih Bulovih operatora. Tako,se recimo upit informationandretrieval možeupotrebiti za pronalaženje tekstova koji se bave opštom temom information retrieval.
Neadekvatnost bulovskih upita za povezivanje termina • upit informationandretrievalpronalazi dokumenta koja su indeksirana terminima iinformationiretrieval, š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.
Još neki primeri sa Google-a • Pretraga sa beliandluk daje (između ostalog): • U narodu beli luk je lek za sve. • Predsjednik Hrvatskog sabora Luka Bebić sastao se u srijedu u Budafi s predsjednikom Narodne skupštine Mađarske Belom... • Beli je morska luka otvorena za javni promet lokalnog značaja, a njezino proširenje je moguće uz prethodno obavljene istražne radove. ... • 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 ...
Parametri blizine u specifikaciji upita • Specifikovana veza između dva ili više termina može da se ojačadodavanjem parametara blizine (nearness) specifikaciji upita. Dvamoguća parametra ove vrste su: • unutar rečenice • i specifikacijasusedstva, • (Aunutar iste rečenice kaoB) implicirada termini AiBmoraju zajedno da se pojave u istoj rečenici dok • (A susedno saB) implicira da se terminiAiBmoraju pojaviti kao susedniu tekstu. Kada se parametri blizine uključeni u specifikaciju upita, temase bliže definiše, a verovatnoća relevantnosti svake pronađenestavke je veća.
Primeri upita sa specifikacijom parametara blizine • (informationu istoj rečenici saretrieval) • (belisusedno saluk) • od četiri primera odgovora koje nudi Google (slajd 4) samo prvi bi bio pronađen.
Implementacija specifikacije upita sa parametrima blizine • Konceptualno, najjednostavniji način da se implementira specifikacija upita sa parametrom blizine je obrada šireg and-upita (A andB) a zatim odbacivanje pronađenih stavki koje ne zadovoljavajudodatni uslov. Odmah se vidi da to zahteva operaciju skaniranjaoriginalnog, polaznog, teksta svih stavki koje je pronašao upit (A andB), 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đenihkaraktera ili reči u tekstu dokumenta. Ali, operacije skaniranja teksta seskupe, sa stanovišta potrebnog vremena, i obično prespore za opštuupotrebu. 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.
Modifikacija invertovanog indeksa radi zadovoljavanja uslova udaljenosti iz upita • Poželjnije rešenje za zadovoljavanje uslova udaljenosti sastoji se u uključivanjuinformacija 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 svakitermin u invertovanom indeksu tako što se svakom pojavljivanju termina pridruži i podatak o rednom broju rečenice u kojoj se termin pojavljuje.
Primer: standardni invertovani indeks • Posmatrajmo dve klasične liste za termineinformation i retrieval koje se pojavljuju u nekominvertovanom indeksu: information : {Z345,Z348,Z350... } retrieval :{Z123,Z128,Z345, Z350... } • Upit (informationandretrieval) pronalazi dokumenta u zapisima{Z345,Z350}
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 termininformation pojavljuje dvaputa uzapisu 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.
Postavljanje upita sa uslovima udaljenosti preko proširenog indeksa • Koristeći oveproširene liste za termine information i retrievaliz indeksno-invertovane datoteke, na upit (informationunutar iste rečeniceretrieval) dobija se odgovor Z345jerliste za oba termina sadrže stavkuZ345,37 koja govori da rečenica37 zapisaZ345sadrži oba termina. Zapis Z350ne bi bio deo odgovorajer se termin information javlja u rečenici 8 a termin retrievalu rečenici 21 istog zapisa. • Upit (informationunutar iste rečeniceretrieval) pronalazi dokument u zapisu{Z345}
Dalje proširivanje invertovanog indeksa • Dalja proširenja invertovano-indeksnih entiteta, koja mogu da pokriju, naprimer, brojeva pasusa, brojeva rečenica unutar pasusa, brojeve rečiunutar rečenica, i slično, mogu da pruže odgovore na upite kakvi su (informationsusedno saretrieval)ili (informationnajviše 5 reči udaljeno odretrieval) . 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 pojavljujeu 2 pasusu, 3. rečenici, kao 5. reč u zapisuZ345 dok se drugi terminpojavljuje u 2. pasusu, 3. rečenica, kao 6. reč u istom dokumentu.
Nedostaci modifikovanog invertovanog indeksa koji zadovoljava uslove udaljenosti • Uključivanje informacija o lokaciji termina u invertovano-indeksne listeznačajno uvećava veličinu indeksa, za faktor dva ili tri, jer svakopojavljivanje termina u dokumentu mora zasebno da bude zabeleženo, a ne samojednom, kakav je slučaj sa jednostavnim invertovano-indeksnim listama.Međutim, ove informacije omogućavaju da se dobiju mnogo brži odgovorina upite sa uslovima udaljenosti nego što to izgleda moguće sa metodamasravnjivanja teksta.
Dodatni lokacijski uslovi • U nekim sistemima, mogu se nametati i dodatni lokacijski uslovi, koji ukazujuda se termin iz upita mora ograničiti na specifični deo dokumenta. Takvaspecifikacija lokacije može da bude oblikaunutar-naslova, unutar-bibliografskog-citata ili unutar apstrakta, a one se moguzadovoljiti koristeći slične metode kao one koje se koriste za termineunutar rečenice.
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)
Primer – prvi dokument; termini (pridevi i imenice) ekstrahovani iz teksta • D1: 1Juneć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
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
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 Indeks je: • š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 (beoandluk)? {D1, D2} Šta vraća upit (seckanandslanina)? {D1, D2}
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) Prošireni indeks koji zadovoljava uslove udaljenosti je • š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 (beliu istoj rečeniciluk)? {D2} Šta vraća upit (seckanu istoj rečenicislanina)?
Težine termina • Uvođenje pojma težine termina kako za termine iz dokumenata tako i za termine izupita, u smislu njihovog značaja, omogućava da se vrednuju termini kojisu 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 izgledaovako: Zi={Ti1,0.2; Ti2,0.5; Ti3,0.6}, što znači da termin 3 zapisaZiima težinu (značaj) 0.6,dok termin 1 istog zapisa ima mnogo manju težinu (značaj) 0.2. Kada se težina terminadoda u invertovani indeks, pronađeni zapisi se mogu rangirati poopadajućim težinama sravnjenih termina između upita i dokumenata.
Kako su termini sa težinama dodeljeni dokumentima? • Strategija za dodeljivanje težine terminima dokumenta mora biti jednostavnaza generisanje i laka za primenu. Postoji više metoda za (automatsko) dodeljivanje težina terminima o kojimaće kasnije biti govora (u okviru teme automatskoindeksiranja).
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 upitaizražavajednostavno kao skup termina, onda se težina pronađenog dokumenta može definisati jednostavno kao zbir težina svih termina tog dokumenta. Tako, ako seupit Qsastoji od termina (Ti,Tj,Tk), težina pronađenog zapisaZnkoji sadrži sva tri termina iz upita bi se izračunala jednostavno kao Wni+Wnj+Wnk, gde je Wnptežina terminaTpu zapisuZn.
Bulovski upiti i težine termina • Određivanje težine pronađenogdokumenta je kompleksnije jer postoje mnoge ekvivalentne formulacije bulovskihizraza. Jedna mogućnost sastoji se u transformisanju svakog upita u oblikzbira proizvoda (ili disjunkcija konjunkcija), koji je takođe poznat kao disjunktivna normalnaforma, gde se upit pojavljuje kao skup ili-veza jednog ili više terma (to su termini povezaniandoperatorom kao u upitu (TiandTjand Tk), a svitermi (konjunkti) se povezuju jedan s drugimoperatorom or. Na primer, bulovski upit (T1 T2) T3 je u disjunktivnoj normalnoj formi, dok jedisjunktivna normalna forma bulovskog upita T1 (T2 T3)=(T1T2)(T1 T3 )
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 jepnetačno, a qi rtačno • Dakle, izraz mse svodi na sledeću disjunktivnu normalnu formu (samo jedan term) (p q r)
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,qi 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)
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,qi 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)
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 kaominimalna težina termina svakog termina dokumenta iz tog konjunkta. • Težina dokumenta konačnog upita (disjunkcija svih konjunkta) seračuna kao maksimalna težina konjunkata izračunata u prvom koraku.
Primer • U tabeli je prikazana tipična situacija, u kojoj postoje dvadokumenta, D1 i D2čiji sadržaji su reprezentovani istim terminimaT1, T2i T3od kojih svaki ima težinu specifičnu za dokument.
Upitu disjunktivnoj normalnoj formi ((T1 T2) T3) Težina pronađenog odgovora D1je 0.6 dok je težinapronađenog odgovora D2 0.2, što znači da će dokument D1 bitiviš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.
Specifikacija sinonima • U nekim sistemima za pronalaženje informacija može se dodatispecifikacija sinonima bilo kom upitnom terminu u formulaciji upita. Svakitakav sinonim zatim automatski menja originalni termin, a dokumenta sepretražuju i originalnim i dodatim terminima. Kada se koriste Bulovskeupitne formulacije, sinonimne specifikacije se mogu jednostavno spojiti saoriginalnim terminima pomoću oroperatora pre nego što se pretraživanje obavi. Tako se upit ((T1 T2) T3) transformiše u širi iskaz (((T1S1) T2) (T3S3) kada korisnik dodaS1kao sinonim za T1i S3kao sinonim za T3. Kada se sinonimi dodaju određenim upitima, brojrelevantnih pronađenih stavki u pronalaženju može da se uveća.
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
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
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 Primer - rečnik sinonima
Upit bez korišćenja sinonima • (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
(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, D4 teletina: beli luk: D2 češnjak: D4 puter: D2 maslac: D3 Odgovor: