20
Vizuelizacija kartona naučnih radnika Seminarski rad Dragan Dobrić Goran Dražić Mentor: dr Mirjana Ivanović Novi Sad, 2006

Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

Vizuelizacija kartona naučnih radnika

Seminarski rad

Dragan Dobrić Goran Dražić

Mentor: dr Mirjana Ivanović

Novi Sad, 2006

Page 2: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

Sadržaj: VIZUELIZACIJA KARTONA NAUČNIH RADNIKA 2

1 UVOD 2

2 DATA MINING – “ISKOPAVANJE PODATAKA” 3

2.1 ŠTA JE DATA MINING? 3 2.1.1 TEXT MINING 4 2.2 KAKO FUNKCIONIŠE DATA MINING? 4 2.3 TEHNIKE DATA MININGA 5 2.4 NEOPHODNA INFRASTRUKTURA 6 2.5 PRIMENA 6

3 OPIS IMPLEMENTACIJE PROGRAMA I TEST PRIMERI 7

3.1 MODEL BAZE PODATAKA 7 3.1.1 KONCEPTUALNI MODEL BAZE PODATAKA 7 3.1.2 PODACI 8 3.2 SPECIFIKACIJA DIZAJNA 8 3.2.1 PAKET ORG.BEAN 9 3.2.2 PAKET ORG.MANAGER 9 3.2.3 PAKET ORG.JGRAPH 10 3.3 TEST SCENARIO 13

4 ZAKLJUČAK I DALJI RAD 18

LITERATURA 19

1

Page 3: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

Vizuelizacija kartona naučnih radnika

1 Uvod

U ovom radu smo opisali tehnike data mininga koje služe za pretraživanje velikog skupa podataka, kao i iskorištavanje tih rezultata za formiranje znanja o tom skupu. Ljudska bića se u svom radu služe prethodnim iskustvima i predrasudama pa na osnovu te subjektivnosti nije moguće da to pretraživanje i pronalaženje znanja obave precizno kao što to može računar.

Također je opisan program koji služi za vizuelizaciju podataka dobijenih data mining-om. Program crta graf koji predstavlja koautore na nekom naučnom radu ili institucije koje imaju zajednički naučni rad.

Rad sadrži sledeća poglavlja:

• Poglavlje 1 – Uvod

• Poglavlje 2 – Data mining – „Iskopavanje podataka“. U ovom poglavlju opiasan je data mining kao i tehnike korišćenja, zatim tekst mining kao deo data mininga, kako funkcioniše data mining, primena itd...

• Poglavlje 3 – Implementacija programa. U ovom poglavlju opisan je model baze podataka, specifikacija dizajna, test scenario.

• Poglavlje 4 – Zaključak. Ovde je opisano šta je urađeno, zašto je to korisno i moguće usavršavanje tog programa

2

Page 4: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

2 Data mining – “Iskopavanje podataka”

Data mining je nova tehnologija koja se koristi u istraživanju tržišta i otkrivanju potencijalnih klijenata. To je metoda pretraživanja podataka koja se naglo razvila zahvaljujući razvoju računarske tehnologije jer je tek razvitkom brzih računarskih sistema postalo moguće efikasno pretraživati velike količine nagomilanih informacija. Zahvaljujući „iskopavanju podataka”, skupovi podataka se pretvaraju u strukturirane informacije i znanje i na taj način su korisniji i vredniji za istraživanje.

Količina podataka koje kompanije pohranjuju u svoje baze podataka poslednjih godina je drastično porasla. Dnevni unos informacija u baze podataka velikih firmi meri se u terabajtima. Kako bi ova količina podataka dobila opipljivu veličinu, reći ćemo samo da u jedan terabajt „stane” dovoljno teksta za oko dva miliona knjiga. Izvori tih informacija mogu biti različiti. To mogu biti podaci skupljeni s računa iz prodavnica, iz telefonskih anketa, sa popunjenih priznanica, narudžbenica, pretplatnih listića... Oni mogu da obuhvataju ime i prezime osobe, pol, starost, rasu, a mogu biti i potpuno bezlični, kao što je slučaj s računima iz prodavnice. Svi ti podaci se svakodnevno slivaju u jednu veliku bazu podataka. Jasno je da bi ručno pretraživanje jedne takve gungule za bilo kakvom smislenom informacijom predstavljalo noćnu moru. Zbog toga svi ti sirovi podaci koji nisu adekvatno strukturirani i nemaju neku preteranu upotrebnu vrednost, već ih je neophodno pretvoriti u upotrebljive smernice za dalje uspešno poslovanje firme.

2.1 Šta je data mining?

Data mining je proces pronalaženja zanimljivih informacija u velikim kolekcijama (neadekvatno strukturiranih) podataka.[1] Zanimljive informacije predstavljaju netrivijalne, neskrivene, prethodno nepoznate i potencijalno korisne informacije. Zahvaljujući data miningu, moguće je predvideti trend tržišta ili ponašanje konzumenata i na taj način obezbediti uspeh firme ili proizvoda. To se postiže analizom podataka iz raznih perspektiva i pronalaženjem veza i odnosa između naizgled nepovezanih informacija.

Zbog svega toga je proces data mininga neraskidivo vezan za računare. Uz pomoć posebnog softvera, veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze, isprobavaju ih i uče na prethodnim iskustvima. Treba uvek imati u vidu da je softver samo alatka i da je i dalje neophodno prisustvo ljudskih eksperata koji će dati poslednju reč. Ali u prvoj fazi obrade kompjuterski sistemi su nezamenjivi zbog svoje brzine i nedostatka predrasuda. Za razliku od čoveka, kome bi neka očigledna veza između dva podatka promakla jer se nalazi van okvira njegovog očekivanja, kompjuteru takva greška ne može da se dogodi. Takođe, čovek može da bude žrtva uslovljenosti prethodnim iskustvom, što može da bude i pozitivno i negativno, ali je to u svakom slučaju nemoguće izbeći.

Jedan krajnje zanimljiv primer će ilustrovati prethodnu tvrdnju. Lanac supermarketa u Americi je, koristeći Oracleov softver za analizu podataka, otkrio da su muškarci koji su

3

Page 5: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

kupovali pelene četvrtkom najčešće kupovali i paket piva. Četvrtak je dan kojim su najradije išli u kupovinu jer bi tako izbegavali gužve u supermarketima koje donosi vikend. Dublja analiza otkrila je da je većina kupaca sedmičnu kupovinu obavljali subotom. Četvrtkom su kupovali samo nekoliko proizvoda, a pivo su kupovali kako bi popunili kućne zalihe za dolazeći vikend, koji donosi slobodne dane i druženje uz utakmice i pivo. Zahvaljujući ovoj informaciji, lanac supermarketa je povećao prihode tako što je vitrinu sa pivom pomerio bliže polici sa pelenama. Takođe, četvrtkom su pivo i pelene prodavani po punoj ceni, bez posebnih popusta. Jasno je da bi svakom ljudskom ekspertu veza između muškaraca, pelena, piva i određenih dana u nedelji promakla, ali ne i nepristrasnoj logici kompjutera.

2.1.1 Text mining Text mining je varijacija na mnogo šire polje data mining, koji pokušava da pronađe zanimljive uzorke iz velike tekstualne baze podataka. Razlika između data mininga i text mininga je ta da u text mining-u se uzorci izvlače iz teksta napisanog prirodnim jezikom u odnosu na data mining kod kojeg se činjenice vade iz nestrukturiranih baza podataka. Baze podataka su dizajnirane za programe koji ih automatski obrađuju, a tekst je pisan za ljude da ga prilikom čitanja razumeju. Ne postoje programi koji znaju shvatiti tekst i verovatno neće ni postojati u bliskoj budućnosti [3]. Jedna tehnika, koja služi za reprezentaciju dokumenta, je «Bag of Words», koja funkcioniše tako što se na osnovu skupa svih dokumenata formira rečnik sa bar nekoliko hiljada reči. Dokumenti se predstave kao vektori sastavljeni od koeficijenata koji se odnose na reči. Zatim se na osnovu statistike formiraju termovi (reči sa atributima) čiji broj se zatim smanjuje. Tehnike za smanjenje broja termova su: eliminisanje cifara i specijalnih znakova, eliminisanje čestih reči (stopwords), pronalaženje korena reči i odabir termova. Posle primene ovih tehnika dobija se sažet dokument koji je predstavljen samo ključnim rečima. Također zadaci text mining-a su i kategorizacija teksta, klastering, rastavljanje na podatke, model podataka, izbor ključnih reči itd...[1]

2.2 Kako funkcioniše data mining?

Pre same pretrage ili obrade podataka iz baze potrebno ih je pripremiti, tačnije bazu podataka nije moguće odmah koristiti takvu kakva je. Kako bi se dobili validni rezultati, bazu je često neophodno osvežiti od duplih ili nepotpunih podataka. Ponekad je neophodno transformisati podatke, izabrati podgrupe podataka ili suziti ukupan broj promenljivih na veličinu s kojom je moguće raditi. Prilikom pravljenja modela, veći deo posla svodi se na pripremanje baze podataka

Prilikom pretrage podataka data mining softver rešava neki od sledećih zadataka: Predviđanje (Numeric prediction) – proces pronalaženja pravilnosti iz primera, na osnovu koje se određuju očekivane numeričke vrednosti tražene promenljive.

4

Page 6: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

Klasifikacija (Classification) – proces pronalaženja funkcije na osnovu koje se vrši razvrstavanje podataka u jednu od nekoliko klasa. Association learning – uopštenje klasifikacije – izvođenje veza među proizvoljnim atributima. Grupisanje (Klastering)– proces određivanja grupa podataka koji su međusobno slični, ali različiti od ostalih podataka. U ovom procesu se često identifikuju i promenljive po kojima se vrši najbolje grupisanje.

Po završenoj analizi informacija, svi rezultati se prikazuju na pregledan način, najčešće u vidu tabela ili dijagrama koji mogu biti dvodimenzionalni ili trodimenzionalni. Programi čak omogućavaju korisniku da menja neku od promenljivih, a da se efekat njene promene prikazuje u realnom vremenu na dijagramu.

2.3 Tehnike data mininga

Analitičke tehnike koje se koriste u data miningu u najvećem broju slučajeva su odavno poznate matematičke tehnike i algoritmi. Iako je data mining mlada tehnologija, u samom procesu analize podataka koriste se ranija saznanja ali ima i novih proširenja. Ono što je povezalo te tehnike i velike baze podataka jeste pojeftinjenje prostora za skladištenje podataka i procesorske snage. Nabrojaćemo neke od tehnika data mininga.

Veštačke neuralne mreže su analitičke tehnike koje su formirane na osnovu pretpostavljenog procesa učenja u ljudskom mozgu. Kao što je ljudski mozak sposoban da posle procesa učenja izvlači pretpostavke na osnovu ranijih opažanja, tako su i neuralne mreže sposobne da nakon procesa učenja predvide promene i dešavanja u sistemu. Proces učenja se obavlja tako što se mreža balansira na osnovu odnosa koji postoje između elemenata u primerima. Na osnovu važnosti uzroka i posledica između određenih podataka formiraju se jače ili slabije veze između „neurona”. Tako formirana mreža spremna je za rad na nepoznatim podacima i reagovaće na osnovu prethodno naučenog. Veštačke neuralne mreže su idealne za multiprocesorske sisteme, gde se veliki broj operacija obavlja paralelno.

Izvođenje pravila iz baze podataka izvlači if-then pravila koja se oslanjaju na statističku vrednost dobijenih rezultata pretrage.

Uslovno stablo je grafički prikaz odnosa koji postoji između podataka u bazi. Koristi se za klasifikaciju podataka. Rezultat se prikazuje u vidu stabla, pa otuda i ime ove tehnike. Čvorovi koji razdvajaju različite klase se granaju na osnovu if-then uslova. Prikaz u vidu stabla je pregledan i lako ga je razumeti, a algoritmi uslovnog stabla su značajno brži od neuralnih mreža i njihovo podučavanje kraće traje.

Genetski algoritmi se baziraju na principu genetske modifikacije, mutacije i prirodne selekcije. Genetski algoritam kreira određen broj nasumičnih rešenja problema. Sva ta rešenja ne moraju biti dobra, neka grupa rešenja može da bude sasvim preskočena, a može da dođe i do preklapanja rešenja. Loša rešenja se odbacuju, a dobra zadržavaju. Dobra rešenja se zatim nadograđuju i ceo proces se ponavlja. Na kraju, slično procesu prirodne selekcije, ostaju samo

5

Page 7: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

najbolja rešenja. Nedostatak ove metode je to što zahteva ogromnu količinu procesorske snage i što je prespora za trivijalne probleme.

Metoda najbližeg suseda je tehnika koja se takođe koristi za klasifikaciju podataka. Za razliku od ostalih tehnika, ne postoji proces učenja kako bi se kreirao model. Podaci koji se koriste za učenje u stvari jesu model. Kada se pojavi novi podatak, algoritam analizira sve podatke u bazi kako bi našao podgrupu slučajeva koji najbolje odgovaraju tom slučaju i na osnovu toga je u stanju da predvidi ishod.

2.4 Neophodna infrastruktura

Softver za data mining je pristupačan kako za velike sisteme tako i za samostalne računare. Cena sistema varira od nekoliko hiljada dolara pa do nekoliko miliona dolara za najveće sisteme. Dva osnovna uslova za izbor odgovarajuće platforme jesu veličina baze podataka i kompleksnost upita. Velika baza podataka sa sobom povlači veliki broj podataka koji treba skladištiti i održavati i samim tim zahteva moćniji sistem. Kompleksnost upita i njihov veliki broj takođe povećavaju potrebu za procesorskom moći. Ubrzavanje rešavanja upita može se postići indeksiranjem podataka. Takođe, paralelno procesiranje značajno ubrzava rad s velikim bazama podataka. Stotine paralelno vezanih (običnih) kompjutera mogu da postignu performanse jednog superkompjutera.

2.5 Primena

Primena data mininga je moguća u mnogim sferama ljudskog delovanja. Pomenuli smo primenu u trgovini radi poboljšanja prodaje nekih proizvoda. Takođe, moguće je predvideti reakciju tržišta na novi proizvod i odrediti kada je najbolji trenutak za njegovu promociju. Ova tehnologija nalazi primenu i u bankarstvu, gde je, recimo, moguće na osnovu ranijih slučajeva odrediti da li pojedinac spada u rizičnu grupu kada je u pitanju davanje kredita. U medicini može da se odredi koju terapiju treba prepisati pacijentu. Elektrane ili telefonske kompanije mogu da predvide kada će i koliki biti vrhunac opterećenja, kako bi ga izbegle. Geografski informacioni sistemi koriste tehniku data mininga za pronalaženje relevantnih informacija, itd…

U poslednje vreme javlja se i pojam data warehousing, koji podrazumeva centralizaciju svih podataka u jedno veliko „skladište”. Centralizacija podataka dramatično ubrzava pristup podacima i njihovu analizu. Podaci koji se nalaze u ovim skladištima mogu biti dostupni svima.

6

Page 8: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

3 Opis implementacije programa i test primeri U ovom poglavlju biće opisan program za vizuelno prikazivanje povezanosti naučnih radnika (ili institucija) na osnovu njihovih publikacija. Prikaz je zamišljen kao graf u kome čvorovi predstavljaju naučnog radnika (ili instituciju) a grane i njihova kardinalnost (debljina) broj zajedničkih radova na kojima se pojavljuju kao autori (ili ako je instucija u pitanju koliko zajedničkih radova imaju zaposleni naučni radnici u tim institucijama). Biće opisano po poglavljima: model baze podataka, specifikacija dizajna kao i nekoliko test primera.

3.1 Model baze podataka

3.1.1 Konceptualni model baze podataka Na sledećoj slici se može videti konceptualni model baze podataka:

Slika 1. Konceptualni model baze podataka

Kao što se se vidi, osnovni entiteti su «Institution», «Researcher» i «Publication». Pored njih tu su dve vezne tabele: «res_pub» i «inst_pub». One obezbeđuju da u izradi jedne publikacije može da učestvuje više istraživača kao i više institucija. I još postoji veza između entiteta «Institution» i «Researcher» koja obezbeđuje pripadnost istraživača određenoj instituciji.

Prilikom realizacije aplikacije nije se direktno koristila baza podataka već su se koristili podaci iz datoteka u koje su ranije učitani podaci iz baze. Analogno imenima tabela iz

7

Page 9: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

baze postoje i odgovarajuće datoteke: “institution.txt“ “researcher.txt“, “publication.txt“,.“res_pub.txt“ i “inst_pub.txt“.

3.1.2 Podaci Podaci pomoću kojih ovaj program izvršava iscrtavanje grafa koautorstva se, kao što je već rečeno, nalaze u gore navedenim datotekama. Datoteke su sastavljene na osnovu kartona naučnih radnika AP Vojvodine koji se nalaze na WWW-u na sajtu « http://apv-nauka.ns.ac.yu/vece/Osnovno.jsp ». Pri čemu su se sa sajta preuzimali svi kartoni (podaci o naučnim istraživačima) i zatim su se ti pojedinačni «.doc» fajlovi prebacivali u «.html» format, da bi bili pogodni za parsiranje. Parsiranje je izvršeno pomoću paketa «HTMLParser Version 1.6». Iz svih podataka o naučnom radniku preuzeti su samo: ime, prezime, institucija u kojoj je zaposlen-a i naučni rad u kojem je učestvovao-la kao autor. Zatim su ti podaci smeštani u tabele baze podataka (korišćena je baza podataka «MySql 5.0.21»). I konačno, iz baze podataka, a pomoću SQL upita i grafičkih alata MySql-a generisane su navedene datoteke. Više podataka o postupku dobijanja podataka dato je u [1].

3.2 Specifikacija dizajna Ako se pogleda model aplikacije mogu se uočiti tri funkcionalne celine:

1. paket org.bean sadrži klase koje predstavljaju model baze 2. paket org.manager sadrži klasu koja implementira “poslovnu logiku“ (pretrage, učitavanje podataka iz datoteka) 3. paket org.jgraph sadrži klasu sa glavnom formom koja predstavlja korisnički interfejs aplikacije

Izgled paketa u “package explorer-u“ Eclipse-a dat je na sledećoj slici:

Slika 2.Paket aplikacije Sledi malo detaljnije objašnjenje svakog paketa i klasa iz njega.

8

Page 10: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

3.2.1 Paket org.bean

Ovaj paket sadrži klase koje predstavljaju model podataka koji se učitavaju iz datoteke. U njemu se nalaze tri klase

- Klasa Bean.java je natklasa za ostale bean klase, definise dva atributa: id bean-a (to svi entiteti u bazi imaju) i listu svih publikacija za dotični bean (bilo da li je to institucija ili istrazivač)

- Klasa Institution.java nasleđuje klasu Bean.java i dodaje atribut za naziv institucije.

- Klasa Researcher.java nasleđuje klasu Bean.java i dodaje atribute za ime i prezime

istraživača kao i atribut za id institucije na kojoj ovaj istraživač radi.

3.2.2 Paket org.manager Ovaj paket sadrži samo jednu klasu – BeanManager.java koja obavlja poslovnu logiku aplikacije. Prilikom instanciranja klase kao parametar joj se prosleđuju imena datoteka iz koje će se čitati podaci. Učitani podaci se tokom izvršavanja programa čuvaju u bean-ovima (koji su objašnjeni prilikom opisa org.bean paketa) čije se instance nalaze u hash mapama koje su atributi BeanManager klase. Bean-ovi se drže u hash mapama da bi se obezbedilo brže pretraživanje. Smeštanje u hash mapu se izvodi tako što se formiraju parovi [ključ, vrednost] gde je ključ ime ili prezime a vrednost je lista prezimena ili imena koji se slažu sa ključem (ako je ključ ime onda je vrednost lista prezimena istraživača sa tim imenom, a kada je ključ prezime onda je vrednost lista imena istraživača sa tim prezimenom). Ovim se obezbeđuje indeksiranje – prilikom traženja istraživača neće se morati “ručno“ pretraživati sve instance klase Reasearcher već će se koristiti mogućnosti koje nam nudi klasa java.util.Hashtable i njena metoda get(Object key) koja nam za dati ključ vraća objekat povezan sa njim (u našem slučaju key je ime ili prezime istraživača a value lista istraživača koji imaju navedeno ime ili prezime).

Za podatke o instucijama nije urađeno indeksiranje na osnovu ključa već se one direktno smeštaju u listu gde se pamte id institucije i naziv institucije. Institucija ima mnogo manje nego istraživača pa su one stoga jednstavnije za pretragu. Pretraživanje se vrši na osnovu imena ili dela imena institucije.

U ključne reči za pretraživanje dozvoljeno je ubaciti specijalne znake kao što su znaci “ “ što znači da će se tražiti tačan izraz pod znacima navoda. Na primer ako se kao ključne reči unese Pera Perić rezlutat metode za pretraživanje će biti lista istraživača sa imenom Pera ili prezimenom Perić, ali ukoliko se unese “pera perić“ rezultat pretrage će biti samo istraživač sa imenim Pera Perić (naravno ukoliko on postoji). Treba napomenuti da pretraživač nije case sensitive, tj. ne razlikuje mala i velika slova.

9

Page 11: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

Prilikom pretraživanja izraz dobijen iz forme za pretraživanje se prvo transformiše u oblik pogodan za parsiranje (izbacuju se eventualni navodnici) a zatim se pristupa pretraživanju. Izraz se zatim parsira po praznim mestima, nalaze se rezultati za svaku reč, ukoliko su ključne reči bile pod znacima navoda traži se presek rezultat, ukoliko nema navodnika radi se unija rezultata. Ukoliko ima više ključnih reči po kojima se vrši pretraga može se desiti da ima rezulata koji zadovoljavaju više upita pa se prilikom vraćanja rezultata izbacuju duplikati, tj bean-ovi kojih ima više od jedan u listi nađenih. Takođe se iz liste nađenih izbacuju oni koji imaju broj veza prema ostalim nađenim bean-ovima manji od zadatog broj (što je takođe parametar metode za pretragu).

U sklopu pretraživanja ubačena je još jedna opcija a to je spajanje sa “susedima“ pri čemu se susedom smatra onaj istraživač (institucija) koji sa nađenim radi na istoj publikaciji. Pri tom može se zadati broj nivoa koliko duboko će pratraga da ide (u tom slučaju pretražuju se susedi suseda i tako do više nivoa u dubinu). Pošto u opštem slučaju ova pretraga može da vrati jako mnogo rezultata omogućeno je zadavanje maksimalnog broja rezultata a samim tim i skraćenje vremena pretrage. Treba napomenuti da je pretraživanje suseda za institucije i istraživače identično, koristi se ista metoda samo joj se prosledi druga hash tabela, u zavisnosti da li se pretražuju istraživači ili institucije. Kratak opis kako radi ovo pretraživanje: za zadate ključne reči se nađu rezultati, pošto u opštem slučaju može da bude više rezultata koji odgovaraju datom upitu, uzima se prvi iz liste nađenih. Zatim se za njega traže susedi i dodaju u listu nađenih rezultata. To je prvi nivo. Ukoliko je broj nivoa veći od 1, uzimaju se rezultati sa prvog nivoa i za njih se traže susedi i rezultati se stavljaju u listu nađenih. I tako za svaki sledeći nivo, uzimaju se razultati sa prethodnog nivoa i za njih se traže susedi i stavljaju u listu nađenih. Prilikom stavljanja u listu nađenih se proverava da li je broj rezultata veći ili jednak od maksimalnog broja rezultata, ukoliko jeste prekida se sa pretragom.

3.2.3 Paket org.jgraph Ovaj paket sadrži klasu MainForm koji prestavlja korisnički interfejs aplikacije. Ona sadrži main metodu tako da se aplikacija pokreće startovanjem ove klase. Prilikom instanciranja ove klase poziva se instanciranje klase BeanManager i kao parametar joj se prosleđuju putanje do datoteka sa podacima koji će se učitati. Nakon toga sledi pravljenje vizuelnih objekata i njihov prikaza korisniku, tj. prikaz korisničkog interfejsa. Izgled glavnog prozora dat je na slici 3.

10

Page 12: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

Slika 3.Glavni prozor aplikacije Sa leve strane prozora se nalaze polja za unos ključnih reči za pretragu kao i broj veza. Ispod toga se nalazi opcija da li se primenjuje pretraga preko suseda kao i polja koja treba popuniti u tom slučaju (ukoliko korisnik ne popuni ova polja koriste se predefinisane vrednosti koje su programski ubačene u edit polja). Treba napomenuti da ova opcija treba da se koristi samo kad se ključne reči stave pod navodnike jer tad korisnik zna šta traži (traži susede za tačno određenog istraživača ili instituciju), dok ukoliko se navodnici ne koriste više istraživača (insitucija) može da zadovolji ključne reči. U tom slučaju se susedi traže za prvog iz liste nađenih.

Izborom kartice Institucije ili Istraživači se biraju entiteti koji će se pretraživati. Ispod ovoga se nalazi komponenta koja će prikazivati imena nađenih entiteta (bean-ova) a sa desne strane je canvas po kome se vrši crtanje.

Dalje, klasa MainForm sadrži metode koje reaguju na događaje kao što su iniciranje

pretrage. Izborom dugmeta Pretraga se prvo proverava da li su parametri korektni (da li su uneseni i ako jesu da li odgovaraju semantici, npr. da li je umesto očekivanog broja za broj veza uneseno slovo). Ako su parametri u redu poziva se odgovarajuća metoda za pretragu BeanManager klase. Ako je pretraga bila uspesna (vraćeno je više od nula rezulata) kreće se sa iscrtavanjem grafičkih objekata. Nakon što su objekti iscrtani sledi njihovo spajanje pri čemu se spajaju samo oni objekti koji imaju broj veza veći ili jednak zadatom broju veza. Ukoliko se kao minimalni broj veza unese broj 0, radi preglednosti se neće prikazivati one veze čiji je kardinalitet 0. Nakon isrctavanja elemenata sledi popunjavanje liste rezultata sa leve strane prozora aplikacije. Ukoliko se klikne na neki od rezultata, nađeni element sa tim imenom biće selektovan sa na desnoj strani prozora aplikacije.

11

Page 13: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

Čvorovi u grafu su slagani hronološki (xy koordinate) na osnovu rešenja za dati upit

unutar desnog okna (split pane) na prozoru (frame-u). Prethodno se funkcijom random izračuna neki broj između 0 i 25, zatim se prvi čvor postavi na poziciju: x=0 i y=20, a potom i svaki sledeći se dodaje tako što se x koordinata poveća za 250 a svakom četvrtom čvoru se poveća i y koordinata za 200 (da bi bili u novom redu). Svaki čvor se slučajnim brojem pomera unutar kvadrata 50x50 da se ne bi poklapale neke od linija veza (što bi otežavalo čitanje).

Informacije o programu i autorima nalaze se u meni liniji. Biranjem jedne od opcija iz

menija «Informacije» dobijaju se sledeci prozori sa porukama prikazanim na slikama 4 i 5.

Slika 4. Informacije o autorima.

Slika 5. Informacije o programu:

12

Page 14: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

3.3 Test Scenario Sledi nekoliko primera korišćenja aplikacije: 1. Pretražuju se istraživači, ključne reči su: goran petrovic, minimalni broj veza je 1. Rezultat je sledeći:

Slika 6. Rezultati pretrage istraživača Kao što se vidi, izlistani su svi istraživači koji imaju ime Goran ili prezime Petrović i koji su radili na najmanje jednoj zajedničkoj publikaciji. Sa leve strane su data imena i prezimena nađenih istraživača.

13

Page 15: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

2. Pretražuju se istraživači, ključne reči su: “ivanovic mirjana“ “radovanovic milos“, minimalni broj veza je 0. Rezultat je sledeći:

Slika 7. Rezultati pretrage istraživača

U ovom slučaju izlistani su samo istraživači Mirjana Ivanović i Milos Radovanović. Dakle, kad se stavi navodnici kao ključna reč se smatra izraz pod navodnicima, i traži se istraživač sa tačno tim podacima. U polje za pretragu može da se unese više takvih izraza. Ako nađeni istraživači nisu radili na zajedničkim publikacijama neće biti povezani linijama (u ovom slučaju postoje 4 koautorstva).

14

Page 16: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

3. Pretražuju se institucije, ključne reči su: kikinda zrenjanin, minimalni broj veza je 2. Rezultat je sledeći:

Slika 8. Rezultati pretrage institucija

Kao što se vidi nađene su sve institucije iz Zrenjanina ili Kikinde koje su povezane preko najmanje dve publikacije.

15

Page 17: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

4. Pretražuju se insititucije preko suseda, ključne reči su "Medicinski fakultet - Novi Sad" broj nivoa je 1, broj rezultata 10. Dobija se sledeći rezultat pretrage

Slika 9. Rezultati pretrage institucija Kao što se vidi prvo je nađena institucija sa datim nazivom (gornji levi ugao rezultata) potom njeni susedi. Kao što se vidi sa dijagrama sve ostale insitucije su u vezi sa nađenom institucijom – susedi su.

16

Page 18: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

Ukoliko se ne unese ključna reč za pretragu dobija se sledeća poruka

Slika 10. Poruka ukoliko nije uneta ključna reč ukoliko broj veza nije korektan (uneseno je slovo ili ništa nije uneseno) dobija se sledeća poruka

Slika 11. Poruka ukoliko nije unet broj veza

Ukoliko nema razultata pretrage koji zadovoljavaju date ključne reči dobija se sledeća poruka

Slika 12. Poruka ukoliko nema rešenja za zadati upit Na toolbar-u postoje još dve korisne opcije manipulaciju grafom rezultata, to su Zoom In i Zoom Out.

17

Page 19: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

4 Zaključak i dalji rad U ovom radu je grafičkim prikazom urađeno povezivanje naučnih radnika i institucija na osnovu određenih kriterijuma. Program iz velike količine podataka o naučnim radnicima, institucijama i naučnim radovima (izdanjima) izdvaja one koji su bitni da bi se dva naučna radnika ili dve institucije mogle povezati linijom na grafu. Svaka linija predstavlja vezu između naučnika ili institucija. Značenje ovih veza je višeznačno. Kao prvo, vizuelno su prikazani naučni radnici koji su u vezi na osnovu koautorstva, što je vrlo teško (ili nemoguće) zaključiti za svakoga naučnika iščitavanjem njihovog kartona, koji je uglavnom opširan i teško čitljiv. Isto se odnosi i na institucije. Drugo, ovim grafom se može lako i brzo videti koje institucije i koji naučni radnici najčešće i najučestalije sarađuju, što bi moglo da bude korisno za vođenje evidencije o tome. Preko veza o komšijama moglo bi da se dođe do naučnika koji su u mogućnosti da sarađuju jer najverovatnije izučavaju iste oblasti nauke itd... Ovaj program je moguće usavršavati, uglavnom u vizuelnom smislu. Kao prvo moguće je elegantnije uraditi prikaz čvorova dobijenih pretragom tako da u centru ekrana (desnog panoa forme) stoji čvor sa najviše veza ili čvor koji zadovoljava naš upit, a ostali čvorovi se raspoređuju na osnovu učestalosti veza (najdalji su oni čvorovi koji imaju najmanje zajedničkih veza sa centralnim čvorom).

Također je moguće uraditi da se selektovanjem nekog imena u levom panou u listi rešenja, desni pano automatski centrira na odabrano rešenje iz liste.

Bilo bi korisno uvesti mogućnost pretrage naučnih radnika i instutucija preko naslova ili dela naslova nekog naučnog rada što bi otvorilo širu praktičnu primenu ovog programa.

18

Page 20: Vizuelizacija kartona nau nih radnika Seminarski rad · Seminarski rad Dragan Dobri ... veliki kompjuterski sistemi analiziraju podatke iz različitih uglova, pronalaze hipoteze,

Literatura: [1] M. Radovanovic, J. Ferlež, D. Mladenić, M. Grobelnik and M. Ivanović. Extending the IST-World database with Serbian research publications. In Proceedings of IS2006, 9th International Multiconference on Information Society, pages 251-254, Ljubljana, Slovenia, 2006 [2] www.the-data-mine.com [3] Marti Hearst [SIMS,UC Berkeley, ACL'99.] - What Is Text Mining

19