29
1 Poboljšanje performansi pretraživanja Cvetana Krstev čas 11.

Pobolj šanje performansi pretraživanja

  • Upload
    perry

  • View
    41

  • Download
    0

Embed Size (px)

DESCRIPTION

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 ) - PowerPoint PPT Presentation

Citation preview

Page 1: Pobolj šanje performansi pretraživanja

1

Poboljšanje performansi pretraživanja

Cvetana Krstevčas 11.

Page 2: Pobolj šanje performansi pretraživanja

2

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)

Page 3: Pobolj šanje performansi pretraživanja

3

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

Page 4: Pobolj šanje performansi pretraživanja

4

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.

Page 5: Pobolj šanje performansi pretraživanja

5

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, tj. relacija podređenost) jer je phone vrsta device. Svi tezaurusi ne podržavaju ovakvu vrstu veza. Takođe ne podržavaju vezu koja postoji između sells i vendor (jedno je glagol a drugo imenica). U sve to se mešaju i gramatička i morfološka pitanja.

Page 6: Pobolj šanje performansi pretraživanja

6

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.

Page 7: Pobolj šanje performansi pretraživanja

7

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 mobiles umesto 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.

Page 8: Pobolj šanje performansi pretraživanja

8

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 sets skrać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 cell i 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č vehicle se nalazi u sinsetu koji je nadređen sinsetu koji sadrži reč car.

Page 9: Pobolj šanje performansi pretraživanja

9

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)

tuga radost stanje-biti u stanju

čistoća (stanje) čist (biti u stanju) (suprotnost) prljavština (stanje) prljav (biti u stanju)

Page 10: Pobolj šanje performansi pretraživanja

10

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.

Page 11: Pobolj šanje performansi pretraživanja

11

Ilustracija relacije nadređeni/podređeni – primer miš (1)

Page 12: Pobolj šanje performansi pretraživanja

12

Ilustracija relacije nadređeni/podređeni – primer miš (2)

Page 13: Pobolj šanje performansi pretraživanja

13

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

Page 14: Pobolj šanje performansi pretraživanja

14

Primer sličnih problema na srpskomPrimer preuzet sa mašine za pretragu sa lokacije časopisa

Ekonomist http://www.ekonomist.co.rsNeki 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 NISMeđu frekventnijima je i upit: plate u republikama bivše Jugoslavije

Page 15: Pobolj šanje performansi pretraživanja

15

Šta daje upit postavljen mašini za pretragu časopisa Ekonomist (2004)?

Page 16: Pobolj šanje performansi pretraživanja

16

?

Ima li među njima relevantnih? Jedan odgovor...

?

Page 17: Pobolj šanje performansi pretraživanja

17

Šta kao odgovore nudi Google?

ukupno 77 odgovoramalo relevantnih

Page 18: Pobolj šanje performansi pretraživanja

18

Prvi nivo proširivanja upita

[plate] u [republikama bivše jugoslavije]

Morfološko proširivanje:

[plate] = <plata>

= plata+plati+platu+plate+platama+…

Page 19: Pobolj šanje performansi pretraživanja

19

Drugi nivo proširivanja

[plate] u [republikama bivše jugoslavije]

Dodavanje sinonima:

[plate] = <plata>+<lični dohodak>+

<zarada>+<primanje>+…

Page 20: Pobolj šanje performansi pretraživanja

20

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>

Page 21: Pobolj šanje performansi pretraživanja

21

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 upitu dodati 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.

Page 22: Pobolj šanje performansi pretraživanja

22

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.

Page 23: Pobolj šanje performansi pretraživanja

23

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.

Page 24: Pobolj šanje performansi pretraživanja

24

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 w promenjene novim w’, a dodato je i k novih termina.

Page 25: Pobolj šanje performansi pretraživanja

25

Š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 Di predstavlja 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.

Page 26: Pobolj šanje performansi pretraživanja

26

Š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.

Page 27: Pobolj šanje performansi pretraživanja

Primer: šta je optimalan upit? 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|) =

27

Normalizovani vektori dokumenataD1 -> (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)

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)IliQ = (T1, T2, T4) ili Q (T1, T2)

Page 28: Pobolj šanje performansi pretraživanja

Konačan „recept“ za pronalaženje1. Identifikuj samostalne reči teksta u upitu. 2. Koristi stop listu za brisanje uobičajenih funkcionalnih

reči.3. Koristi automatsko skidanje sufiksa za formiranje korena

reči.4. Zameni niskofrekventne termine klasama iz tezaurusa.5. Zameni visokofrekventne termine frazama.6. Izračunaj težine termina za sve termine, fraze i klase iz

tezaurusa (tf-idf).7. Uporedi upitne iskaze sa vektorima dokumenata.8. Identifikuje neka pronađena dokumenta kao relevantna, a

neka kao nerelevantna.9. Izračunaj faktore relevantnosti termina na osnovu

dostupnih procena relevantnosti.10. Konstruiši nove upite u kojima su dodati novi termini iz

relevantnih dokumenata i sa težinama termina koje se zasnivaju na kombinaciji težina zasnovanih na frekvenciji i relevantnosti termina.

11. Vrati se na korak 7.

28

Page 29: Pobolj šanje performansi pretraživanja

Zaključak

Svaki korak predloženog indeksnog sistema može se koristiti sam za sebe, ne koristeći naredne korake.

Najbolji rezultati će se najverovatnije dobiti kada se povratna informacija o relevantnosti koristi za bar jedan korak reformulacije upita koji sledi iza početnog pronalaženja.

29