290 likes | 428 Views
Pobolj šanje performansi pretraživanja. Cvetana Krstev čas 11. Pobolj šanje performansi pretraživanja. Sada ćemo nešto reći o osnovnim metodama za poboljšanje performanski sistema za pronalaženje, a to su: proširivanje upita ( query expansion )
E N D
Poboljšanje performansi pretraživanja Cvetana Krstev čas 11.
Poboljšanje performansi pretraživanja • Sada ćemo nešto reći o osnovnim metodama za poboljšanje performanski sistema za pronalaženje, a to su: • proširivanje upita (query expansion) • povratna informacija o relevantnosti (relevance feedback) • pronalaženje na vebu
Proširivanje upita • Očigledan problem kod pronalaženja dokumenata koja su indeksirana terminima ekstrahovanim iz dokumenta je što korisnik postavlja upit svojim terminima, misleći na ono što mu je potrebno, a ne na to kako bi to moglo u tekstu da bude zapisano. • Evo primera problema. Neka je upit: • who sells complete email solutions for cell phones • Metoda uparivanja indeksa teksta i ovog upita neće pronaći sledeći relevantni segment: • Gizmotron is a leading vendor of electronic messaging services for cellular devices
Moguća rešenja problema • Jedno moguće rešenje je da se pokuša sa “proširivanjem upita” dodavanjem termina koji su u nekom razumnom odnosu sa terminima iz orginalnog upita. • Tezaurus je tradicionalni izvor veza između reči i fraza (postoje mnogi tezaurusi u “papirnom” obliku) pa je prirodno da se termini traže u onlajn bazama podataka koje kodiraju ovakve informacije. • To ne pomaže uvek i ne daje uvek poboljšanje u pretraživanju.
Razlozi zašto proširivanje upita nije uvek uspešno - sinonimija • Sinonimija nije jedina zanimljiva veza između termina. Npr, phone je device ali veza između ova dva termina nije sinonimija već hiponimija (hyponymy). Svi tezaurusi ne podržavaju ovakvu vrstu veza. Takođe ne podržavaju vezu koja postoji između sellsi vendor(jedno je glagol a drugo imenica). U sve to se mešaju i gramatička i morfološka pitanja.
Razlozi zašto proširivanje upita nije uvek uspešno – polisemija (višeznačnost) • Polisemija stvara dodatne probleme. Npr, cell može da se odnosi na zatvorsku ćeliju ili na biološku ćeliju, a to zavisi od konteksta. U srpskom, mišmože da se odnosi na životinju ili na deo računarske opreme. Da bi tezaurus bio od pomoći treba da kodira sve relacije koje između termina postoje vodeći pri tome računa o domenu primene. Ako bi se koristio opšti tezaurus on bi pre doprineo povećaju šuma (pala bi preciznost) nego što bi bila dobit od povećanja odziva.
Razlozi zašto proširivanje upita nije uvek uspešno – regionalne varijante • Regionalne varijante mogu takođe da prave probleme. Npr, u Amerci se češće koristi automobil kada se misli na privatno vozilo, dok u Britaniji više koriste termin car.Sleng i razne vrste skraćenica takođe zavise od regionalne upotrebe. Npr, često se kaže mobilesumesto punog naziva mobile phones. Ovakvi problemi se sreću i izvan engleskog govornog područja, npr. francuski u Francuskoj, Belgiji, Švajcarskoj i Kanadi, ili kineski u Kini i Hong Kongu.
Elektronski tezaurusi - Wordnet • Elektronski tezaurusi mogu biti od velike pomoći. Jedan takav tezaurus je Wordnet koji predstavlja ručno izgrađeni resurs u kome su reči organizovane u skupove sinonima koji se prema engleskom synonym setsskraćeno zovu synsets. • U jednom sinsetu su okupljene sve reči jezika kojima se može izraziti jedno značenje. Naravno, zbog višeznačnosti jedna reč se može naći u više različitih sinsetova. Takav bi bio slučaj sa rečima celli bank u engleskom, ili miš, mol i put u srpskom. • Svi sinsetovi su organizovani u složenu strukturu koja je, pre svega hijerarhijski organizovana relacijama nadređenosti i podređenosti (hypernymy/hyponymy). Na primer, reč vehiclese nalazi u sinsetu koji je nadređen sinsetu koji sadrži reč car.
Wordnet – neke od ostalih relacija • Relacija deo-celina • miš (deo) računar (celina) • brodski top (deo) ratni brod (celina) • član-celina • ratni brod (član) ratna flota (celina) • glodar (član) rod Rodentia, glodari, glodavci (celina) • sastojak-celina • protein (sastojak) jaje (celina) • antonimija (suprotnost) • tugaradost • stanje-biti u stanju • čistoća (stanje) čist (biti u stanju) • (suprotnost) • prljavština (stanje) prljav (biti u stanju)
Posebna vrednost Wordneta kao resursa • Višejezičnost – postoji za mnoge svetske jezike, između ostalih i za srpski. Mnogi od njih su poravnati sa engleskim, koji je i najrazvijeniji, pa se mogu koristiti i za višejezične aplikacije, npr. višejezično pronalaženje informacija. • www.globalwordnet.org/gwa/wordnet_table.htm • Povezivanje sinsetova (koncepata) sa semantičkim domenima, koji predstavljaju polja ljudskog interesovanja od kojih svako ima specifičnu terminologiju i leksičku koherentnost. • Za obeležavanje domena korišćeno je 200 obeležja domena iz Djuijeve decimalne klasifikacije koja imaju hijerarhijsku strukturu drveta. • Povezivanje sa SUMO ontologijom (Standard Upper Merged Ontology) pri čemu se pod ontologijom smatra rečnik ili glosar čija je struktura takva da omogućava računarsku obradu njegovog sadržaja i koji se sastoji od koncepata, aksioma i relacija koje opisuju neki domen interesovanja.
Više o Wordnetu • O wordnetu pogledati rad: • Fellbaum, C., ed. (1998). WordNet: An Electronic Lexical Database. Cambridge: Mass: MIT Press. • www.scribd.com/doc/31463629/5-Papers-on-WordNet • Za srpski wordnet pogledati rad: • Цветана Крстеви група студената-постдипломаца • Кооперативан рад на доградњи српског wordneta • objavljen u časopisu Infoteka, broj 1-2, 2008. • adresa: www.unilib.bg.ac.rs/zajednica01/izdanja/infoteka/br1_2_2008/index.php
Primer sličnih problema na srpskom Primer preuzet sa mašine za pretragu sa lokaciječasopisa Ekonomist http://www.ekonomist.co.rs Neki od najfrekventnijih upita prema datoteci evidencije upita (2004) • 79 Slovenija • 53 Apatinska pivara • 33 Telekom • 24 Hrvatska • 22 Beopetrol • 21 Sartid • 20 Londonski klub • 19 NIS Među frekventnijima je i upit: plate u republikama bivše Jugoslavije
Šta daje upit postavljen mašini za pretragu časopisa Ekonomist (2004)?
Šta kao odgovore nudi Google? ukupno 77 odgovora malo relevantnih
Prvi nivo proširivanja upita [plate] u [republikama bivše jugoslavije] Morfološko proširivanje: [plate] = <plata> = plata+plati+platu+plate+platama+…
Drugi nivo proširivanja [plate] u [republikama bivše jugoslavije] Dodavanje sinonima: [plate] = <plata>+<lični dohodak>+ <zarada>+<primanje>+…
Treći nivo proširivanja [plate] u [republikama bivše jugoslavije] bivša jugoslavija = ex-Yu+SFRJ+… ali i odnos nadređen-podređen(hypernym/hyponym) = <Srbija>|<Hrvatska>|<Slovenija>|… i još …<Beograd>|<Skoplje>|<Tuzla>
Proširivanje upita sa povratnom informacijom o relevatnosti (relevance feedback) • Za proširivanje upita može se koristiti informacija o tome da li su neka dokumenta u kolekciji relevantna ili ne na više različitih načina. Na primer, • mogu se dodati upitu značajni termini iz relevantnih dokumenata; • mogu se modifikovati težine termina u upitu da bi se optimizirala performansa sistema. • Kako se može doći do informacija o relevantnosti? • Može se zatražiti od korisnika da rangira u skupu odgovora n najrelevantnijih; • Korisnik može i implicitno da obezbedi tu informaciju ako, npr, klikne na dugme tipa “više o ovome”; • Sistem može jednostavno da pretpostavi da su n najbolje rangiranih odgovora u izlazu orginalnog upita i najrelevantniji.
Proširivanje upita u modelu vektorskog prostora • U modelu vektorskog prostora i upiti i dokumenta su predstavljeni vektorima težina termina. • Proširivanje upita koje koristi povratnu informaciju o relevantnosti može se u tom slučaju posmatrati kao podešavanje težina u vektoru upita, dok dodavanje termina upitu odgovara promenom njegove težine u upitnom vektoru sa vrednosti 0 na neku vrednost koja je različita od nule. • Isticanje, odnosno smanjivanje, važnosti nekog termina u upitnom vektoru odgovara povećanju, odnosno smanjivanju, njegove težine.
Sličnost između dokumenta i upita • Sličnost između vektora dokumenta D i upitnog vektora Q može se izračunati kao skalarni proizvod ta dva vektora. • Suma se računa samo za termine koji se javljaju u upitu.
Proširivanje upita • Ako je dat upit predstavljen sledećim vektorom: • proces proširivanja upita na osnovu povratne informacije o relevantnosti generiše upit: • gde su težine starih termina wpromenjene novim w’, a dodato je i k novih termina.
Šta je u teoriji optimalan upit? • Ako bi bile poznate sve informacije o relevantnosti, sledeći upit bi vodio pronalaženju mnogih relevantnih dokumenata: • gde Dipredstavlja vektor dokumenta i, a|Di|je njegova “dužina”. N je pretpostavljena dužina kolekcije (broj dokumenata u kolekciji), a n je broj relevantnih dokumenata u kolekciji. • Ovu formulu treba shvatiti ovako: prvi član u razlici će za sve termine koji se javljaju u relevantnim dokumentima doprinositi pozitivnim vrednostima, dok će drugi član za sve termine koji se javljaju u nerelevantnim dokumentima doprinositi negativnim vrednostima.
Šta je u praksi optimalan upit? • Prethodna formula se u praksi ne može koristiti jer koja su sve dokumenta relevantna u kolekciji dokumenata je svrha upita i to nije dato unapred. • Međutim, modifikacija ove formule može da pomogne da se generiše upit na osnovu povratne informacije o relevantnosti koja je utvrđena za dokumenta koja je pronašao orginalni upit. • Ako se zameni “svi relevantni” sa “utvrđeno relevantni” i “svi nerelevantni” sa “utvrđeno nerelevantni”, orginalni upit se može proširiti pomoću sledeće formule: • gde je Q0 početni upit a Q1 preformulisani upit posle prve runde procene relevantnosti; n1 je broj poznatih relevantnih dokumenata, a n2 je broj poznatih nerelevantnih dokumenata.
Primer: šta je optimalan upit? Normalizovani vektori dokumenata D1 -> (0.1,0,0.4,0,0) D2 -> (0.1,0.2,0,0.3,0) D3 -> (0,0.233,0,0.067,0.133) D4 -> (0.233,0.133,0,0.067,0) D5 -> (0.025,0.04,0.225,0,0.04) • D1 = (0.2,0,0.8,0,0) • D2 = (0.3,0.6,0,0.9,0) • D3 = (0,0.7,0,0.2,0.4) • D4 = (0.7,0.4,0,0.2,0) • D5 = (0.1,0.2,0.9,0,0.2) • I neka su relevantna dokumenta D2 i D4, a nisu relevantna D1, D3 i D5. • Q = ½ * (D2/|D2|+D4/|D4|) - ⅓ * (D1/|D1|+D3/|D3|+D5/|D5|) = Pozitivni: (0.333,0.333, 0,0.367,0) /2 (0.167,0.167,0,0.122,0) Negativni: (0.125,0.273,0.625,0.067,0.173)/3 (0.042,0.091,0.207,0.022,0.058) Optimalan upit: Q= (0,125, 0.076, -0,207,0.1,-0.058) Ili Q = (T1, T2, T4) ili Q (T1, T2)
Konačan „recept“ za pronalaženje • Identifikujsamostalne rečiteksta u upitu. • Koristi stop listuzabrisanjeuobičajenihfunkcionalnih reči. • Koristiautomatskoskidanjesufiksazaformiranjekorena reči. • Zameninisko-frekventnetermineklasamaiztezaurusa. • Zamenivisoko-frekventneterminefrazama. • Izračunajtežineterminazasvetermine, frazeiklaseiztezaurusa (tf-idf). • Uporediupitneiskazesavektorimadokumenata. • Identifikujenekapronađenadokumentakaorelevantna, a nekakaonerelevantna. • Izračunajfaktorerelevantnostiterminanaosnovudostupnihprocenarelevantnosti. • Konstruišinoveupite u kojimasudodatinovi termini izrelevantnihdokumenataisatežinamaterminakoje se zasnivajunakombinacijitežinazasnovanihnafrekvencijiirelevantnostitermina. • Vrati se nakorak 7.
Svakikorakpredloženog indeksnogsistemamože se koristitisamzasebe, ne koristećinarednekorake. • Najboljirezultatiće se najverovatnijedobitikada sepovratnainformacija o relevantnostikoristiza bar jedankorakreformulacijeupitakojislediizapočetnogpronalaženja.