Upload
leminh
View
229
Download
3
Embed Size (px)
Citation preview
SVEUILITE U SPLITU
PRIRODOSLOVNO-MATEMATIKI FAKULTET
Diplomski rad
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
Student: ime Igli
Mentor: doc.dr.sc. Ani Grubii
Split, listopad 2013.
Sadraj
1 Uvod ................................................................................................................................................ 1
2 Inteligentni tutorski sustavi ............................................................................................................. 2
2.1 Definicija inteligentnih tutorskih sustava i podrunog znanja ................................................ 2
2.2 AC-ware Tutor ......................................................................................................................... 3
3 Ontologija ........................................................................................................................................ 6
3.1 Primjena ontologije ................................................................................................................. 7
3.2 Elementi ontologije ................................................................................................................. 9
3.3 Povijest ontologije ................................................................................................................. 10
3.4 Uenje ontologije .................................................................................................................. 11
3.4.1 Otvoreni problemi u uenju ontologije ......................................................................... 12
3.5 Ontologija i konceptualne mape ........................................................................................... 13
3.6 OWL ....................................................................................................................................... 15
3.6.1 Opis OWL jezika ............................................................................................................. 17
3.7 XML ........................................................................................................................................ 19
3.8 Alati za konstruiranje ontologija ........................................................................................... 23
3.8.1 Protg .......................................................................................................................... 24
3.8.2 Altova SemanticWorks .................................................................................................. 24
3.8.3 SMORE / SWOOP ........................................................................................................... 25
3.8.4 TopBraid Composer ....................................................................................................... 26
4 Programski modul za oblikovanje ontoloki utemeljenog podrunog znanja .............................. 28
4.1 Oblikovanje ontologije podrunog znanja............................................................................. 30
4.2 Prikaz mape koncepata u XML datoteci ................................................................................ 31
4.3 Spajanje na XML datoteku ..................................................................................................... 33
4.4 Uitavanje podataka iz XML-datoteke .................................................................................. 33
4.5 Izdvajanje duplih podataka ................................................................................................... 35
4.6 Spajanje na bazu AC-ware Tutora ......................................................................................... 36
4.7 Spremanje podataka u bazu .................................................................................................. 39
4.8 Arhitektura modula za oblikovanje ontoloki utemeljenog podrunog znanja .................... 40
5 Zakljuak ........................................................................................................................................ 44
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
6 Literatura ....................................................................................................................................... 45
7 Prilozi ............................................................................................................................................. 47
7.1 Prikaz koda aplikacije ............................................................................................................ 47
7.2 Izgled aplikacije prilikom pokretanja ..................................................................................... 52
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
1
1 Uvod
U posljednje vrijeme uenici se susreu s mnotvom informacija koje moraju nauiti. Obujam gradiva
koje uenici moraju savladati postaje sve vei, te se javlja problem kako uenik to sve moe nauiti i
na koje naine. Jedan od zanimljivijih naina na koji se ovaj problem moe rijeiti je primjena
konceptualnih mapa koje na jedan sasvim drugaiji, to jest slikovitiji, nain pomau ueniku da naui i
zapamti velik broj informacija.
Posljednjih desetljea ubrzani razvoj tehnologija i weba doveo je do razvoja sustava e-uenja.
Svakodnevno se ti sustavi razvijaju i usavravaju da bi se uenicima osiguralo to bolje uenje i
pouavanje.
Sustavi e-uenja su se toliko razvili da su postali i inteligentni te mogu uenika pouavati kao to ga
pouava stvarni uitelj u uionici, komunicirajui s uenikom tijekom cijelog procesa. Neki sustavi e-
uenja imaju mogunost prilagoavati se znanju uenika, te njegovu napretku.
Meutim, koliko god sustavi e-uenja bili napredni i inteligentni, ti sustavi moraju sadravati neko
podruno znanje koje e uenik uiti i koje sustav e-uenja kao onaj koji pouava mora znati.
Veinom je to podruno znanje u obliku podataka uneseno u bazu podatka sustava e-uenja koja je
neizostavni dio svakog sustava e-uenja. Kod podrunog se znanja susreemo s problemima: kojom je
brzinom mogue unijeti podruno znanje u bazu podataka sustava e-uenja, koje tehnologije i
programske alate koristiti kako bi se to ostvarilo, koji se koraci moraju poduzeti da bi to bilo mogue,
kolika je strunost potrebna onoga koji to radi, te koliko je sve to mogue automatizirati i ubrzati
koristei neku od tehnologija i programskih alata. U elji za boljim razumijevanjem problema i
eventualnom napretku u rjeavanju istih pristupit e se rjeavanju problema na najbolji nain, ovisno
fizikoj izvedivosti i dostupnosti materijala i tehnologija.
Izvedivost projekta, kao i potencijalni rezultati otkrit e nam o koliko sloenim problemima je rije, a
u sluaju pozitivnih rezultata govorimo o stvaranju izvrsne podloge za daljnja istraivanja i pokuaje
unaprjeenja izvravanja zadataka.
Struktura ovog diplomskog rada je sljedea: u prvom poglavlju upoznajemo se s problematikom ovog
rada. U drugom poglavlju se opisuju inteligentni tutorski sustavi kao i sam problem podrunog
znanja, to jest problem njegova unosa u inteligentni tutorski sustav. U treem poglavlju se opisuje
ontologija, primjena ontologije, alati za kreiranje ontologije, naini uenja ontologije, problemi u
uenju ontologije te jezik ontologije. U etvrtom poglavlju se opisuje praktini dio diplomskog rada te
njegova realizacija kroz korake od poetka do kraja. U petom poglavlju se daje zakljuak, to jest osvrt
na rad i ono to se u radu postiglo.
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
2
2 Inteligentni tutorski sustavi
Napretkom tehnologija napredovali su i sustavi e-uenja i to u na nain da ti sustavi vie ne koriste
samo za uenje nego su postali toliko razvijeni da su u mogunosti i pouavati uenike. Takvi sustavi
se nazivaju inteligentni tutorski sustavi. to su to inteligentni tutorski sustavi te koji se problemi
javljaju kod rada sustava moe se vidjeti u sljedeim poglavljima.
2.1 Definicija inteligentnih tutorskih sustava i podrunog znanja
Matt Lewis: Inteligentni tutorski sustav je sustav koji minimalno sadri mogunost simulacije
ovjekovog nainima rjeavanja problema u danom podrunom znanju te poput ivog tutora ima
sposobnost odvajanja podrunog znanja od pedagogijskog (Stankov, 2010) . Inteligentni tutorski
sustav se sastoje od sljedeih komponenti (Stankov, 2010):
Modul strunjaka (podruno znanje) nosilac podrunog znanja s kojim e uenik tijekom uenja i pouavanja komunicirati.
Modul uenika (znanje uenika) obuhvaa sve aspekte stjecanja uenikova znanja i vjetina u danom podrunom znanju.
Modul uitelja (tutorsko znanje) je modul koji je nositelj scenarija pouavanja i pedagogijskih znanja s kojima raspolae ivi uitelj.
Okruenje nastavnog procesa i suelja uenika (modul komunikacije) koji sadri elemente inteligentnog tutorskog sustava koji podrava uenikov rad u raznim situacijama te razliite
programske alate koji mu olakavaju proces uenja i pouavanja.
Modul strunjaka je najvaniji modul inteligentnog tutorskog sustava esto nazivan i kraljenica
inteligentnog tutorskog sustava. Da bi ovaj modul bio to bolje napravljen, a samim time i inteligentni
tutorski sustav na to veoj razini zadovoljavao svoju namjenu, potrebno je to bolje oblikovanje i
predstavljanje podrunog znanja. Podruno znanje je znanje o podruju koje je ueniku namijenjeno
za uenje i pouavanje (Stankov, 2010) . Siromano, slabo oblikovanje i prikazivanje podrunog
znanja dovodi do potekoa u koritenju inteligentnih tutorskih sustava te samim time i do slabog
znanja uenika, meutim nijedan sustav ne moe posjedovati sve znanje iz nekog podruja zbog
velikog obujma znanja ak i kod nekog ogranienog podruja. Bilo koji oblik predstavljanja znanja
mora zadovoljiti sljedee uvjete:
Izravno modeliranje tehnika koje bi strunjak primijenio u rjeavanju problema s tog podruja, ak i pod uvjetom siromanije baze znanja jer je pouavanje jedino ovjekov nain
i tehnika rjeavanja problema.
Eksplicitno predstaviti strategije i tehnike rjeavanja problema. Sustav mora predstaviti sve vjerojatne strategije ak i one koje su pogrene da bi tutor mogao prepoznati to uenik
pokuava uiniti.
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
3
Tri su pristupa za strukturiranje znanja u modulu strunjaka inteligentnog tutorskog sustava (Stankov,
2010):
Model crne kutije Model prozirne kutije Kognitivni ili spoznajni model
Kod modela crne kutije strunjak crne kutije generira korektno ulazno silazno ponaanje preko
zadataka u podrunom znanju i tako omoguava besprijekornu prosudbu. Meutim problem je to je
njen mehanizam nepristupaan (Stankov, 2010).
Kod modela prozirne kutije temeljna metodologija u izgradnji modula strunjaka zahtijeva inenjera
znanja i strunjaka podrunog znanja koji je u stanju identificirati problemsko podruje te iterativno
testirati i unaprijediti sustav. Sustave temeljene na modelu prozirne kutije karakterizira obimnost i
posebno izraena priroda znanja poput ljudskog razmiljanja (Stankov, 2010).
Kognitivni model je model koji je mnogo djelotvorniji u simulaciji ovjekovog naina rjeavanja
problema jer omoguava da modul strunjaka oponaa ovjekovo razmiljanje i nain upotrebe
znanja. Vrijednost ovog pristupa se ogleda u mnogo prihvatljivijem nainu komuniciranja uenika i
modula strunjaka ali ovakav pristup ima i nedostataka. Razvoj kognitivnog modela je mnogo
ogranienja i vremenski zahtjevnija zadaa nego li jednostavan razvoj ekspertnog sustava. Pokretanje
raunanja kognitivnih modela moe biti izrazito raunalno skupo. Jedan od problema je u tomu kolika
koliina detalja koje je potrebna unijeti u kognitivni model (Stankov, 2010).
Kao to je u poglavlju naglaeno kod modula strunjaka javlja se problem oblikovanja podrunog
znanja meutim to nije jedini problem koji se moe javiti. Jedan od vanijih problema koji se javlja
kod podrunog znanja je kako to podruno znanje unijeti u odreeni sustav. Konkretni primjer
problematike moe se vidjeti kod sustava AC-ware Tutor-a.
2.2 AC-ware Tutor
AC-ware Tutor (Grubii, 2012) (Slika 1) je model sustava za automatsko i dinamiko generiranje
raunalom oblikovanog nastavnog sadraja, koji se prilagoava trenutnom znanju uenika. Ontoloki
pristup u opisivanju podrunog znanja omoguava jednostavnu formalizaciju deklarativnog znanja
koritenjem razliitih alata koji podravaju rad s konceptima i relacijama. Uenje na sustavu se odvija
tako da sustav najprije preko inicijalnog testa provjeri znanje uenika te ueniku na osnovu
pokazanog znanja pridrui stereotip. Stereotip moe biti (Grubii, 2012): poetnik, novak, osrednji,
napredni, strunjak.
Stereotip koji je pridruen uenikovom znanju ovisi o njegovom pokazanom znanju na inicijalnom
testu. Nakon to je uenik dobio stereotip uenik odreeno vrijeme ui te nakon toga ponovno na isti
nain slijedi provjera znanja. U sluaju da uenik pokae znanje on napreduje to se tie stereotipa i
automatski mu se koliina gradiva za nauiti prilagoava njegovom stereotipu to jest poveava,
ukoliko uenikovo znanje ostaje nepromijenjeno stereotip takoer ostaje nepromijenjen, ukoliko se
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
4
uenikovo znanje pogoralo uenik dobiva stereotip nie razine te mu se automatski gradivo
prilagoava i postaje lake. Uenik sam odabire vrijeme koje e provoditi u uenju i do kojeg
stereotipa eli ii.
Slika 1: Prikaz korisnikog suelja AC-ware Tutor-a
U nastavku e ukratko biti objanjena problematika unosa podrunog znanja u sustav AC-ware Tutor.
Kao prvo vano je napomenuti da bi se podruno znanje moglo unijeti u neki sustav taj sustav mora
imati bazu podataka (Slika 2) koja se kod ovakvih sustava naziva i baza znanja u koju je to podruno
znanje pohranjeno i iji se obujam moe poveavati to znai da se baza sustava moe nadopunjavati
s novim znanjem.
Slika 2: Prikaz baze podataka podrunog znanja
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
5
Jedan od problema unosa podrunog znanja u sustav AC-ware Tutor je taj to je to vrlo dugotrajan
proces koji zahtijeva mnogo vremena zato to se podruno znanje unosi runo koristei MS Excel
alat. Da bi se podaci unijeli u bazu podataka u MS Excel-u se svi podaci i naredbe za unos podataka u
bazu trebaju unijeti runo kao to je prikazano na slici ispod.
Slika 3: Primjer unosa podataka u tablicu trojke koristei MS Excel
Na (Slika 3) je mogue vidjeti primjer runog unosa podataka u tablicu trojki koristei MS Excel. Baza
podataka podrunog znanja AC-ware Tutora napravljena je u SQL programskom alatu. Da bi se
problem unosa podrunog znanja u sustav AC-ware Tutor olakao i da bi se skratilo vrijeme samog
unosa podrunog znanja u sustav potrebno je ovaj proces automatizirati i ubrzati koristei razne
programske alate. Automatizacija unosa podrunog znanja u sustav Ac-ware Tutor te naini ubrzanja
njegovog unosa biti e objanjeni u nekom od narednih poglavlja.
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
6
3 Ontologija
Ontologija (engl. ontology) u raunarskim znanostima podrazumijeva nain predstavljanja znanja
kojim se oblikuje promatrana domena imenovanjem koncepata u domeni i formiranjem relacija
meu njima na nain da budu razumljivi i ovjeku i raunalu (Prcela, 2010).
Ontologije se smatraju idealnim rjeenjem za mnoge aplikacije kao npr. integracija baza podataka,
peer-to-peer sustavi, elektroniko poslovanje, usluge weba. U raunalnoj znanosti postoje razni
podatkovni i pojmovni modeli koji se smatraju ontologijama (npr. UML modeli, XML sheme, formalne
ontologije, itd.). Ontologije se zapisuju pomou jezika za zapisivanje ontologija.
Za ontologiju moemo rei da se sastoji od:
- Skupa koncepata - Skupa relacija ili veza - Skupa instanci dodijeljenih pojedinom konceptu
Sloene (engl. heavyweight) i jednostavne (engl. lightweight) ontologije su ontologije koje se mogu
konstruirati razliitim tehnikama modeliranja. Za ovakve ontologije je vano rei da mogu biti
implementirane u razliitim jezicima. Ontologije mogu prezentirati visoku razinu informacija (engl.
highly informal) koje su korisne korisnicima ako su zapisane u prirodnom jeziku. Ontologije mogu biti
ogranieno informativne (engl. semi-informal) ako se zapisuju u restriktivnoj i strukturiranoj formi
prirodnog jezika. Polu-formalne (engl. semi-formal) ontologije su zapisane u umjetnom jeziku ili u
nekom formalno definiranom jeziku kao to je OWL (engl. Ontology Web Language). Ontologije koje
su zapisane u prirodnom jeziku nisu itljive od strane raunala.
Razliite tehnike koje se upotrebljavaju u pojedinim podrujima kao to su: programsko inenjerstvo i
baza podataka u svrhu modeliranja koncepata te veza izmeu koncepata mogu posluiti za izgradnju
jednostavnijih ontologija (Uschold & Gruninger, 1996, str. 12). Postoji nekoliko klasifikacija
ontologija.
Guarino (Guarino, 1998) predlae jednostavnu klasifikaciju tipova ontologija prema stupnju njihove
ovisnosti o zadatku i tako razlikuje ope ontologije, domenske ontologije, ontologije za specifine
zadatke i aplikacijske ontologije.
Ope ontologije su ve dobro razraene i postoji nekoliko opih ontologija koje se esto koriste u
istraivanjima, ali takve ontologije su obino neupotrebljive za neke konkretne zadatke koje zahtjeva
odreena domena ili aplikacija (Guarino, 1998).
Domenske ontologije su ontologije koje se mogu iznova upotrebljavati samo u domeni koju
obuhvaaju. Domenske ontologije sadre vokabulare s konceptima iz domene i relacije koje postoje
izmeu njih, informacije o aktivnostima koje se odvijaju u domeni, te elementarna pravila koja
vladaju u istoj. Razlika izmeu domenskih i opih ontologija je u tome to koncepti u domenskim
ontologijama predstavljaju specijalizaciju koncepata definiranih u opim ontologijama (Guarino,
1998).
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
7
Ontologije zadataka sadre vokabulare vezane uz neki specifini zadatak ili aktivnost. Ovakve
ontologije esto nastaju specijaliziranjem koncepata iz opih ontologija. Vokabular takvih ontologija
sadri pojmove koji se upotrebljavaju pri rjeavanju problema vezanih uz neki zadatak koji ne mora
biti u podruju samo jedne domene (Guarino, 1998).
Aplikacijske ontologije ovise o aplikacijama koje ih upotrebljavaju. Aplikacijske ontologije sadre sve
definicije potrebne za oblikovanje modela znanja nunog za odreenu aplikaciju, te ovakve ontologije
esto proiruju ili specijaliziraju koncepte iz vokabulara domenskih ontologija ili ontologija specifinih
zadataka (Guarino, 1998).
S obzirom na podatke kojima se raspolae, uenje ontologije se moe podijeliti na nekoliko zadataka:
fokus na uenje koncepata, fokus na uenje relacija izmeu koncepata, uenje i koncepata i relacija u
isto vrijeme. Formalno reeno, proces uenja ontologije podrazumijeva mapiranja izmeu
komponenti ontologije, gdje su neke komponente ve poznate, a neke nedostaju i njih elimo otkriti.
Prednosti ontologija (urakovi & Veri, 2013):
- Koherentna navigacija, omoguava kretanje od koncepta do koncepta u strukturi ontologije - Fleksibilne ulazne toke, jer svaka specifina perspektiva u ontologiji moe se pratiti i dovesti
u vezu sa svim njegovim povezanim konceptima
- Veze koje istiu relevantne informacije bez zahtjeva prethodnog znanja o domeni ili njezinoj terminologiji
- Sposobnost da predstavi bilo koji oblik informacija, ukljuujui i nestrukturirane, polu-strukturirane i strukturirane podatke
- Povezivanje koncepta - Integriranje sadraja pravilnim povezivanjem i mapiranjem koncepata
Nedostatci ontologija (urakovi & Veri, 2013):
- Koncept koji je nov nepoznat je za mnoge korisnike tako da se esto javljaju greke - Problem mapiranja dobivene ontologije sa postojeim domenskim ontologijama, - Problem gubitka semantike nakon transformacije
3.1 Primjena ontologije
Ontologije u informacijskim znanostima se ponajvie koriste u: semantikom webu, umjetnoj
inteligenciji i programskom inenjerstvu.
Semantiki web je nadopuna, ekstenzija World Wide Web-a koji je nastao u potrazi za efikasnijim
rjeenjima za pronalaenje informacija. Semantiki web omoguuje bolju suradnju izmeu raunala i
korisnika. Ideja semantikog weba je da se sve informacije koje se na web-u pojavljuju oznae
posebnim oznakama tako da raunala mogu automatizirano povezivati podatke iz jednoga tipa
informacija s nekim drugim tipom informacija.
Semantiki web omoguava da webu dostupni izvori informacija mogu biti organizirani i koriteni
semantikim, a ne sintaktikim ili strukturalnim metodama. Semantiki web predstavlja skup
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
8
programa koji prikupljaju sadraj sa weba te: procesira informaciju, razmjenjuje rezultate sa drugim
programima na globalnoj razini (Jovi, 2005, str. 4). Semantiki web je osmislio Tim Berners-Lee.
Semantiki web e donijeti strukturu smislenom sadraju Web stranica gdje se ontologije izdvajaju
kao kljuni mehanizam za predstavljanje znanja Semantikog web-a. Ontologija prua mogunost
generiranja novih injenica na osnovu injenica koje su eksplicitno dane. Ontologije omoguavaju
postizanje vieg stupnja funkcionalnosti Web-a. Razlozi sve ee primjene ontologija na Web-u su
(urakovi & Veri, 2013):
- Poveanje preciznosti u pretraivanju Web-a - Povezivanje informacija na stranicama sa pridruenim im strukturama znanja i pravilima
zakljuivanja
- Razmjenu znanja izmeu ljudi i programskih jezika - Dijeljeno razumijevanje domena - Pruanje strukture za prijenos informacija u Semantikom web-u - Mogunost nadograivanja i mijenjanja u skladu s potrebama
Umjetna inteligencija (engl. Artificial Intelligence) je disciplina koja se bavi oblikovanjem inteligentnih
sustava koji implementiraju ona svojstva ljudskog ponaanja koja se smatraju inteligentnim (Matei,
2010). Podruja koja se bave istraivanjem umjetne inteligencije su: raunarstvo, matematika,
ekonomija, psihologija, itd.
Umjetnu inteligenciju dijelimo na slabu i jaku. Kod slabe umjetne inteligencije razvijaju se inteligentni
sustavi kojima se dodaju smo neki oblici ljudskog ponaanja, dok kod jake umjetne inteligencije se
razvijaju inteligentni sustavi kojima se u potpunosti dodaju sve inteligentne osobine ljudskog bia
(Slika 4).
Slika 4: Primjer umjetne inteligencije
Programsko inenjerstvo primjena je sustavnog, discipliniranog i mjerljivog pristupa u razvoju,
uporabi i odravanju programske podrke (IEEE, 2004, str. 24). Disciplina programskog inenjerstva
obuhvaa: znanje, alate, metode za definiranje zahtjeva programske podrke koji omoguavaju
obavljanja zadataka dizajna programske podrke, konstrukcije programske podrke, testiranja
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
9
i odravanja programske podrke. Programsko inenjerstvo je disciplina koja posjeduje znanje iz
razliitih polja kao to su: raunarstvo, menadment, matematika, upravljanje projektima, itd.
Primjena ontologije u razvoju programske potpore moe doprinijeti optimiziranju procesa razvoja i
koritenja programskog rjeenja, ontologija moe posluiti kao predloak za optimiranje oblikovanja
novog sustava tako to se ponovno koristi znanje zapisano u strukturi ontologije. U koritenju
programa ontologija moe biti komunikator meu agentima i na taj nain omoguiti njihovo bolje
meudjelovanje.
3.2 Elementi ontologije
Gledajui iru sliku svijeta, to jest svemira u kojem se ivi moe se vidjeti da se cijeli svemir sastoji od
elemenata koji se neophodni za njegovo postojanje. Takoer primjena elemenata kao neeg bitnog
moe se nai u ontologiji koja te elemente opisuje.
Osnovni elementi koje ontologije opisuju su (Slika 5):
- Individue: osnovne objekte poetne razine - Klase: zbirke ili tipove objekata - Atribute: pripadajua svojstva, pojave, karakteristike ili parametre koje objekt moe imati ili
distribuirati
- Odnose: nain na koji se objekti odnose jedni prema drugima
Individue su osnovna, poetna razina sastavnica ontologije koje u ontologiji mogu ukljuiti konkretne
objekte poput ljudi, ivotinja, stolova, automobila, molekula i planeta. Ontologija ne mora ukljuiti
individuu.
Klase su apstraktne grupe, skupine ili zbirke objekata. Mogu sadravati individue, druge klase ili
kombinaciju jednih i drugih.
Svi objekti u ontologiji mogu biti opisani tako da im pridruujemo atribute. Svaki atribut ima barem
ime i vrijednost. Atribut se koristi pohranu informacija koje su specifine za objekt na koji se oslanja.
Moemo ih koristiti za opisivanje odnosa izmeu objekata u ontologiji. Relacija je atribut ija je
vrijednost drugi atribut u ontologiji.
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
10
Slika 5: Grafiki prikaz ontologije
3.3 Povijest ontologije
Ontologija potie iz filozofske discipline koja je se procjenjuje da je stara kao i sam Aristotel, smatra
se sinonimom za metafiziku. U to doba je bila nazvana prva filozofija, a izvodi se od grke rijei ontos
to u prijevodu znai biti to jest bie i logos to znai rije ili govor (Legg, 2007). Takozvana filozofska
ontologija je znanost o onome to jest, o vrstama i strukturama objekata, svojstava ,dogaaja,
postupaka i odnosa u svim podrujima stvarnosti (Smith & Welty, 2001). Materijalni objekt, Osoba,
Vrijeme i Broj su neke od kategorija koje su predloili tradicionalni ontolozi. Aristotelovo djelo
Kategorije predstavlja prvi pokuaj ovjeanstva da odredi sustavnu formalnu ontologiju. Ovo je
djelo znaajno isprepleteno s Aristotelovom logikom. Razumijevanje pravila zakljuivanja po kojima
znanje razvrstano u odreene kategorije moe biti pretvoreno u kategorizirano znanje koje je za
Aristotela neodvojivo od razumijevanja samih kategorija. Iako kasniji filozofi tee nastaviti istraivanja
s ontologijom i formalnom logikom kao odvojenim disciplinama, formalna ih je ontologija u
aplikacijama informacijske tehnologije bila prisiljena ujediniti. Tijekom godina istraivanja filozofske
ontologije postoje mnoga neodgovorena pitanja o kojima se raspravlja i danas:
- Stupanj do kojeg se kategorije koje su smislili ljudi ontolozi mogu smatrati sveope primjenjivima ili objektivnima u opreci s artefaktima u odreenim kontekstima, kao to je
kultura, vremensko razdoblje ...
- Do koje mjere treba kategorije jednog ontologa smatrati valjanima za sva vremena, a do koje su mjere djeljive u svim zajednicama?
- Mora li se sav ontoloki posao raditi lokalno i opetovano?
Kasnih 50-tih godina ontologija svoju primjenu pronalazi u raunalnim znanostima. Razvoj baza
podataka i njihova sloenost dovelo je do toga da su odreeni problemi koje oblikovatelji baza
podataka susreu zapravo ontoloke naravi. Na primjer: to je osoba? Je li to entitet koji postoji kao
cjelina u jednomu odreenom vremenu ili je to entitet koji pokriva itav ivot osobe. Nekakva opa
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
11
standardizirana pojmovna shema smatra se poeljnom radi omoguavanja da se privremena rjeenja
ontolokih problema zatite od raunalnih programera koji bi te probleme koristili u zlonamjerne
svrhe. Prema Tomu Gruberu (Gruber, 1993) znaenje ontologije u kontekstu raunalnih znanosti
jest opis koncepata i odnosa koji mogu postojati za agenta ili zajednicu agenata specificirajui da je
ontologija openito reeno set definicija formalnog rjenika. Reprezentacija entiteta, ideja i dogaaja
zajedno s njihovim svojstvima i odnosima s obzirom na sistem kategorija je ono to je zajedniko
ontologiji u raunalnoj znanosti i filozofiji. Filozofi su manje zabrinuti oko utvrivanja fiksnih,
kontroliranih pojmova negoli istraivai u raunalnim znanostima dok su raunalni znanstvenici
manje ukljueni u raspravu o nekim nunim poetnim principima.
Kao to je i ranije reena u to doba ontologija ima veliku primjenu i u umjetnoj inteligenciji. U kasnim
1970-im i ranim 1980-im, intenzivni istraivaki napori bili su usmjereni u tzv. ekspertne sustave.
Takvi sustavi su teili predstavljanju znanja neke domene tako da se na pitanja o toj domeni moglo
odgovoriti na razini ljudskih strunjaka. Danas ontologija ima primjenu u mnogim znanstvenim
disciplinama meu njima je najzanimljivija primjena ontologije u informatici.
3.4 Uenje ontologije
Uenje ontologije (engl. ontology learning) odnosi se na automatsko kreiranje i otkrivanje ontologija pomou tehnika iz podruja strojnog uenja ili otkrivanja znanja (Juri, 2013). Poluautomatske
metode kreiranja ontologija za razliku od manualnih omoguavaju kreiranje ontologija na mnogo
iroj razini sa znatno veom brzinom.
Jezici za prezentacije ontologija nalaze se izmeu prirodnog jezika koji je razumljiv ljudima i
formalnog jezika koji je razumljiv strojevima. Kako bi se taj problem rijeio potrebno je i dalje
dopustiti ljudima koritenje prirodnog jezika na nain da se automatski mapiraju rijei i izrazi iz
prirodnog jezika koji je razumljivi ljudima u ontoloke koncepte. Znanje pohranjeno u ontologijama je
deklarativno, eksplicitno i vrlo strogo. Znanje koje se izraava ljudskih govornim i pisanim jezikom je:
implicitno, esto nejasno ili ak nerazumljivo.
Kod otkrivanja znanja ontologija predstavlja model kojeg je potrebno prikazati u nekom hipotetskom
jeziku (Juri, 2013). S obzirom na podatke kojima se raspolae uenje ontologije se moe podijeliti na
nekoliko zadataka:
- Fokus na uenje koncepata, - Fokus na uenje relacija izmeu koncepata - Uenje i koncepata i relacija u isto vrijeme
Metode iz podruja otkrivanja znanja usmjerene su na otkrivanje znanja pronalaenjem strukture
unutar podataka. Metode iz podruja otkrivanja znanja koriste za mapiranje podataka koji su
nestrukturirani kao na primjer velike kolekcije dokumenata u ontologiji. Sredinji problem u podruju
otkrivanja znanja predstavlja skalabilnost prilikom ega je esto potrebno manipulirati velikim
koliinama podataka. Koraci u ovom procesu su:
- Kreiranje koncepata - Kreiranje relacija
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
12
- Popunjavanje ontologije instancama - Konstruiranje ontologije - Proirivanje ontologije novim sadrajem
Kod strojnog uenja tehnike su usmjerene na automatsko prepoznavanje i detekciju odreenih
uzoraka i pravila unutar nekog skupa podataka. Proces strojnog uenja zasniva se na indukciji,
odnosno na donoenju nekih generalnih zakljuaka nad nekim skupom podataka. Uenje nad takvim
podacima moe biti nadzirano ili bez nadzora. S aspekta uenja ontologija, metode iz ovog podruja
kao izvor imaju najee tekstualne dokumente. U podruju strojnog uenja ve je nastao velik broj
smislenih tehnika za induktivno uenje iz skupa podataka, ali veina ih je osim par iznimki uglavnom
suprotna ideji uenja ontologija.
Tehnike strojnog uenja najprije pokuavaju razviti analitike modele koji objanjavaju podatke. Iz tog
razloga se te tehnike najee koriste za potrebe predvianja, odnosno za klasifikaciju novih primjera.
Veina radova koji koriste tehnike strojnog uenja koriste: segmentiranje, klasificiranje, memorijsko
uenje ili induktivno zakljuivanje iz uzoraka unutar primjera.
3.4.1 Otvoreni problemi u uenju ontologije
Iako je u uenju ontologije napravljen velik pomak jo uvijek postoje problemi koje je bitno
razmotriti, u nastavku e biti navedeni osnovni problemi s kojima se susreemo u uenju ontologije.
Neki od problema u uenju ontologija su (Juri, 2013):
- Uenje specifinih relacija - Uenje relacija vieg stupnja - Uenje definicija - Filtriranje pojmova - Kreiranje ontologija visokog stupnja - Vrednovanje, itd.
Uenje specifinih relacija bazira se na uenju specifine vrste relacija. Za neke domene jako su vane
manje prouavane vrste relacija poput relacije dio-cjelina (Juri, 2013).
Uenje relacija vieg stupnja bazira se, kako i sam naziv kae, na relacije vieg stupnja kao to su na
primjer relacija povjerenje (Juri, 2013).
Uenje definicija bazira se na razliitim oblicima od identifikacije i ekstrakcije novih definicija,
odabiranja alternativnih definicija ili slaganja definicija od dijelova informacija. Za uenje definicija
esto se koriste relacije poput definira i odnosi se na (Juri, 2013).
Filtriranje pojmova se odnosi na filtriranje nerelevantnih koncepata unutar teksta (Juri, 2013).
Kreiranje ontologija visokog stupnja predstavlja proces kreiranja ontologija visokog stupnja iz
podataka koje dobijemo koritenjem nekih od metoda uenja ostaje problematian. Povezivanje
lingvistikih entiteta s konceptima u ontologiji moe se izvesti runo ili automatski. Takoer spajanje i
integracija ontologija ostaje i dalje jako zahtjevan zadatak (Juri, 2013).
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
13
Veina ontologija nastala tehnikama uenja ontologija vrednovana je od strane ljudi. Vano je
napomenuti da se kod vrednovanja javlja problem pronalaska strunih ljudi za obavljanje ovog
procesa te samim time vrednovanje predstavlja jako zahtjevan posao za ovjeka (Juri, 2013).
3.5 Ontologija i konceptualne mape
Konceptualne mape (engl. Conceptual Maps) predstavljaju alat za bre i uinkovitije uenje. Zapravo
to je tehnika koja pomae da pojedinac zapamti to vie podataka koji mu za neto slue (Skokandi,
2008).
Velika primjena konceptualnih mapa se nalazi u obrazovanju. U obrazovanju konceptualne mape se
koriste da bi uenici (Skokandi, 2008):
- Zapamtili veliku koliinu gradiva - Skratili vrijeme uenja - Naueno pohranili u dugorono pamenje
Konceptualne mape se jo nazivaju i kognitivne mape. Utemeljitelj modernih konceptualnih mapa je
profesor Tony Buzan koji je prouavao naine uenja svojih studenata. Zakljuio je da uenici ne
mogu dovoljno dobro uiti i nauiti samo iz svojih biljeki nego da bi konceptualne mape omoguile
bolje i lake uenje velikih koliina gradiva. Konceptualnim mapama se potie fotografsko pamenje i
vizualno razmiljanje jer na taj nain se moe postii da odreeni podatak moemo zapamtiti gdje se
nalazi i koji je podatak. U suprotnom se moemo sjetiti samo mjesta gdje se podatak nalazi ali ne i
koji je podatak, to se lako moe i provjeriti ako pojedinac napravi osobni pokus na nain da
odreene podatke pamti na tradicionalni nain da buba ili ui na pamet gradivo i na nain da koristi
konceptualne mape. Kod prvog naina se moe dogoditi da znamo mjesto gdje se sadraj nalazi ali ga
se ne moemo sjetiti, a kod konceptualnih mapa uenik se prisjea podatka preko slika, zabiljeki i
boja. Vrlo je bitno napomenuti da sav tekst, rijei, reenice koje su mogue, zamijenimo simbolima ili
slikama.
Postoje dvije vrste konceptualnih mapa (Skokandi, 2008):
- Raunalne konceptualne mape - Rune konceptualne mape
Kod stvaranja runih konceptualnih mapa potreban je samo: papir, olovka, boje i malo dobre volje za
to sve nacrtati (Slika 6).
Kod raunalnih konceptualnih mapa potrebno je raunalo i alat koji omoguava crtanje
konceptualnih mapa, dok umijee u crtanju nije potrebno (Slika 7).
Prilikom izrade konceptualnih mapa potrebno se pridravati sljedeih pravila (Skokandi, 2008):
- Poetak ide od sredine i crta se crte koji karakterizira temu na kojoj se radi - Koritenje razliitih simbola i veliina slova u cijelom dijagramu - Odrediti i upisati kljune rijei - Koristiti razliite boje
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
14
- Razvijati vlastiti stil izrade umne mape - Naglasiti najvanije dijelove i koristiti asocijacije - Svaka kljuna rije je samostalno zapisana
Prilikom izrade konceptualnih mapa postoje stvari koje treba izbjegavati kao to su (Skokandi, 2008):
- Previe boja(najmanje tri, najvie pet) - Toke meu linija - Nejasna sredinja tema - Teme udaljene od rijei na koje se odnose - Slova u razliitim bojama
Slika 6: Primjer konceptualne mape nacrtane rukom (http://os-gjuro-ester-koprivnica.skole.hr/upload/os-gjuro-ester-
koprivnica/images/static3/1405/attachment/primjer_umne_mape_2.JPG)
Uiteljima u nastavi ovo je odlian alat za:
- Mjeseno planiranje nastave - Obradu problematinih uenika - Voenje biljeaka
Pri izradi konceptualnih mapa u razredu veinom se koristi Oluja ideja to jest stvaranje ideja i
kreiranja konceptualnih mapa od strane grupe uenika gdje se ideje pojedinca ne kritiziraju ve se
unaprjeuju, a cilj je istaknuti to vei broj ideja bez obzira na njihovu valjanost.
Glavna razlika izmeu konceptualne mape i ontologije je to to konceptualna mapa odraava
razmiljanje o jednom predmetu razgovora, a ontologije se sastoje od niza meusobno povezanih
koncepata na temelju ega se moe zakljuiti kako za izradu ontologije treba izraditi barem onoliko
konceptualnih mapa koliko ontologija ima razliitih koncepata, a veze izmeu konceptualnih mapa
predstavljat e veze izmeu koncepata u ontologiji (Prgomet, 2011). Konceptualne mape se najee
izrauju u nekom od alata predvienih za to.
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
15
Slinost konceptualne mape i ontologije je to oboje slue za strukturirano predstavljanje znanja. Konceptualna mapa koja nije razumljiva raunalu ne moe predstavljati ontologiju (Prgomet, 2011). Osim koncepta konceptualna mapa sadri i relacije koje definiraju odnos meu konceptima. Meutim, konceptualna mapa se organizira oko jednog pojma pa je moemo interpretirati kao modul ontologije koji je takoer ontologija te moe predstavljati drugaiji pogled na sustav.
Slika 7: Primjer konceptualne mape kreirane programskim alatom (Prgomet, 2011)
3.6 OWL
Postoje mnogi ontoloki jezici ali u narednom poglavlju e biti opisan OWL jezik. OWL (Web Ontology
Language) je ontoloki jezik namijenjen opisu pojmova i odnosa izmeu pojmova te opisivanje
ontologija na web-u, a to znai da informacije koje se nalaze u dokumentima su obradive od strane
aplikacija i sadraj je razumljiv korisnicima (Prcela, 2008). OWL je nastao iz ideje o semantikom
webu. OWL je izveden iz DAML i OIL ontolokih jezika. Informacije opisane ovim jezikom postaju
znanje. OWL ima mogunost izvoenja injenica koje nisu eksplicitno navedene. OWL se koristi kao
deklarativni jezik u predstavljanju znanja raznih domena primjene kao to su (Slika 8):
- Medicina - Molekularna biologija - Programsko inenjerstvo - Konfiguracija sloenih sustava, itd.
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
16
Slika 8: Primjena OWL-a
U OWL-u mogue je:
- Definirati sinonime za objekte, klase i svojstva - Definirati karakteristike svojstava kao to su: tranzitivnost, simetrinost, inverzno svojstvo - Definirati ogranienja na vrijednosti koje neko svojstvo moe imati - Definirati nove klase primjenom skupovnih operacija nad postojeim klasama.
U razvoju OWL-a moraju se uzeti obzir pretpostavke o razliitim ontologijama i dozvola za
kombiniranjem razliitih ontologija. Moe se dogoditi da neke od kombiniranih ontologija mogu biti
proturjene, ali nove informacije ne smiju nikada opozivati postojee, jedino se mogu dodavati. Kako
bi se omoguila takva kompatibilnost OWL uvodi tri pod jezika za razliite namjene (Prcela, 2008):
- OWL Full - OWL DL - OWL Lite
Potpuni pod jezik ili OWL Full upotrebljava osnovni OWL jezik koji dozvoljava njegovu kombinaciju na
proizvoljan nain s RDF-om i RDF Schemom. Prednost mu je njegova sintaktika i semantika
kompatibilnost s RDF-om. Svaki legalni RDF dokument je takoer legalni OWL Full dokument. Svaki
valjani RDF/RDF Schema zakljuak je takoer valjani OWL Full zakljuak ( (Prcela, 2008), (Paunovic &
Stokic, 2012) ).
OWL DL (deskriptivna logika) je pod jezik od OWL Full-a. Ovaj pod jezik posjeduje neka ogranienja u
vezi upotrebe konstrukata iz OWL-a i RDF-a. Prednost je osiguranje efikasne razumijevajue podrke.
Nedostatak je gubljenje potpune kompatibilnosti s RDF-om. RDF dokument se treba proiriti na
odreeni nain i ograniiti na neki drugi nain prije nego to bude legalni OWL DL dokument. Svaki
legalni OWL DL dokument je legalni RDF dokument ( (Prcela, 2008), (Paunovic & Stokic, 2012)).
OWL Lite je uglavnom namijenjen podravanju klasifikacijske hijerarhije i jednostavnih ogranienja.
Ovaj jezik je dobra polazna osnova za pravljenje ontolokih alata. OWL Full je proirenje OWL DL, koji
je proirenje OWL Lite. Svaka OWL Lite ontologija je OWL DL i OWL Full ontologija. Svaka OWL DL
ontologija je i OWL Full ontologija ( (Prcela, 2008) , (Paunovic & Stokic, 2012)).
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
17
3.6.1 Opis OWL jezika
to se tie sintakse OWL jezika je izgraen na RDF-u i RDF shemi te koristi RDF-ovu XML-baziranu
sintaksu (Slika 9).
RDF/XML ne osigurava itljivu sintaksu zbog ega su druge sintaksne forme takoer definirane za
RDF:
- XML temeljenu sintaksu koja ne slijedi RDF konvencije i ime se osigurava vea itljivost korisnicima
- Saetu sintaksu, koja je vie kompaktna i itljiva nego XML sintaksa ili RDF/XML sintaksa - Grafiku sintaksu temeljenu na UML (Unified Modeling Language) konvenciji, koja je iroko
upotrebljavanja i predstavlja jednostavan nain kojim korisnici postaju upoznati s OWL-om
Postoji apstraktna sintaksa koja je jednostavnija i vie prilagoena ljudima, a mogue ju je koristiti za
OWL DL i OWL Lite. XML/RDF sintaksa je slubena OWL sintaksa namijenjena strojnoj obradi i moe
se koristiti za sve tri inaice OWL-a.
Slika 9: Prikaz OWL sintakse
to se tie zaglavlja (Slika 10) vano je napomenuti da su OWL dokumenti koji se nazivaju i OWL
ontologije ujedno i RDF dokumenti (Pavic, 2013). Osnovni element u takvim dokumentima je rdf:RDF
koji je takoer i poetni element OWL dokumenta.
Slika 10: OWL zaglavlje
OWL dokument zapoinje i nizom izjava koje slue za odravanje dokumenta. Te izjave su grupirane
unutar owl:Ontology elementa koji sadri komentare, oznaku verzije i ukljuivanje drugih ontologija
(Slika 11).
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
18
Slika 11: Proireno zaglavlje OWL-a
Vaan dio zaglavlja su i informacija o verziji ontologije odnosno njegovoj kompatibilnosti s
prethodnim verzijama ontologije koje prikazuju sljedei elementi:
- owl:versionInfo openita informacija o verziji (bilo brojana, bilo znakovna) - owl:backwardCompatibleWith ova izjava definira prethodnu verziju s kojom je ontologija
kompatibilna
- owl:incompatibleWith oznaava da nije kompatibilna s nekom prethodnom verzijom
OWL klasa se definira koritenjem owl:Class elementa (Pavic, 2013). Kod OWL-a se podrazumijeva
postojanje dvije specijalne klase:
- owl:Thing - najopenitija klasa (sve je stvar) - sve klase su pod klase ove klase - owl:Nothing - prazna klasa- svaka klasa je nad klasa ove klase
Pri definiranju proizvoljne klase mogue je koristiti dodatne elemente kojima se poblie odreuje
klasa. Dodatni elementi proizvoljne klase su:
- owl:disjointWith - definira disjunkciju dviju klasa - owl:equivalentClass - definira ekvivalenciju dviju klasa
OWL razlikuje dva tipa svojstava (Pavic, 2013):
- svojstvo objekata - svojstvo tipa podataka (datatype)
OWL ne posjeduje predefinirane tipove podataka (cjelobrojni, float, niz znakova,...). OWL ne prua
specifian nain definiranja predefinirani tipova podataka nego doputa koritenje redefiniranih
tipova iz XML Scheme odnosno njegovih tipova podataka. Jedna od posebnosti OWL su podrane
restrikcije nad svojstvima. Restrikcija se postie uvoenjem elementa owl:Restriction koji se
obavezno sastoji od elemenata :
- owl:onProperty svojstvo koje se ograniava - jedan od elemenata koje definiraju ograniavanje
Elementi koji definiraju ograniavanje mogu biti :
- owl:hasValue - posjeduje neku odreenu vrijednost - owl:allValuesFrom - posjeduje sve vrijednosti - owl:someValuesFrom - posjeduje neke vrijednosti - owl:minCardinality i/ili owl:maxCardinality (owl:cardinality)
Enumeracija u OWL-u je definirana owl:oneOf elementom koji se koristi pri definiranju klase kao niz
svojih elementa.
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
19
Iako je OWL jezik jako vaan za rad s ontologijama, jedan od neizostavnih jezika kad se govori o
ontologiji je XML o kojem e biti rijei u narednom poglavlju.
3.7 XML
XML je kratica za eXtensible Markup Language, odnosno jezik za oznaavanje podataka (Harold &
Means, 2006). EXtensible oznaava da je jezik proirljiv de dozvoljava definiranje novih oznaka.
Markup oznaava dodavanje specijalnog znaenja podatku. Ovaj jezik definira sintaksu za
oznaavanje podataka jednostavnim, svima razumljivim oznakama (engl. tags). XML bi kao jezik
trebao biti razumljiv i ljudima i raunalima.
Princip realizacije je vrlo jednostavan: odgovarajui sadraj treba se uokviriti odgovarajuim
oznakama koje ga opisuju i imaju poznato ili lako shvatljivo znaenje. XML i njegova struktura je vrlo
slina HTML-u, samo to XML oznaka definira podatak dok HTML oznaka definira izgled stranice to
se vidi na (Slika 12).
Slika 12: Razlika XML-a i HTML-a
Danas je XML jezik vrlo rairen i koristi se za razliite namjene (Harold & Means, 2006):
- Odvajanje podataka od prezentacije - Razmjenu podataka - Pohranu podataka - Poveavanje dostupnosti podataka - Izradu novih specijaliziranih jezika za oznaavanje - Vektorska grafika - Pozivanje udaljenih funkcija, itd.
XML omoguava pisanje vlastitih programa za rad s podacima u XML dokumentima i njihovu obradu.
Ako sami radite program, koristite i vlastite oznake koje opisuju tono ono to je vama potrebno za
rad. Za rad sa XML dokumentima moete upotrijebiti i gotov alat, kao to su itai Weba (engl. Web
browsers) ili programi za obradu teksta. Jedan dio alata moe raditi sa svim XML dokumentima dok
su drugi prilagoeni za podrku odreenoj XML aplikaciji.
to se tie povijesti XML-a, vano je rei da je nastao iz razliitih jezika pa tako 60-tih godina 20.
stoljea istraivai IBM-a poinju razvijati Generalized Markup Language (GML). Do GML-a se dolazi
zbog problema s ogromnom koliinom razliite tehnike dokumentacije koja se za svaku posebnu
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
20
namjenu morala prepisivati i nanovo ureivati. Ideja je bila nainiti prvi ire koriteni jezik za
oznaavanje podataka.
Kako se GML pokazao kao uspjean proizvod, razvoj u tom smjeru je nastavljen. 1986. objavljen je
Standard Generalized Markup Language (SGML) (Harold & Means, 2006). Najvei nedostatak SGML-a
je njegova veliina. Nastali jezik bio je opiran, sloen za koritenje te skup u upotrebi. Razlog tome je
to su autori pokuali pokriti svaku moguu primjenu jezika. Zbog tih osobina SGML nije bio rairen u
praksi .
Iz SGML-a nastao je HTML (HyperText Markup Language). Za njegov razvoj izabran je jedan manji
skup oznaka iz SGML skupa koji je bio primijenjen na formatiranje dokumenta. HTML je imao skup
oznaka koje su opisivale osnovne dijelove dokumenta, a programi koji su tumaili strukturu takvih
dokumenata bili su HTML preglednici. Nedostatak mu je mala koliina oznaka koja nije bila dovoljna
za neku veu upotrebu. Zbog potreba i elja trita te razvoja tehnologija proirivan je nestandardnim
oznakama koje su sluile za formatiranje sadraja u smislu njegovog prikaza u internet pregledniku.
XML se razvija poetkom 90-tih godina 20.stoljea od strane World Wide Web Consortium-a. XML je
zapravo jezik koji objedinjuje jednostavnost HTML-a i izraajnu snagu SGML-a. Razvojni tim je bio
voen nekim ciljevima kakav bi XML trebao biti, a to su:
- XML mora biti izravno primjenjiv preko interneta - XML mora podravati irok spektar primjena - XML mora biti kompatibilan s SGML-om - Mora biti lako pisati programe koji procesiraju (parsiraju) XML dokumente - Broj opcionalnih znaajki u XML-u mora biti apsolutno minimalan, u idealnom sluaju jednak
nuli
- XML dokumenti moraju biti itljivi ljudima, te u razumnoj mjeri jednostavni - Standard mora biti specificiran to prije - Dizajn XML-a mora biti formalan i precizan - Kreiranje XML dokumenata mora biti jednostavno - Saetost kod oznaavanja dokumenta XML-om je od minimalnog znaaja
Xml dokument se sastoji od (Harold & Means, 2006):
- Zaglavlja - Sadraja dokumenta
Primjer xml dokumenta mogue je vidjeti na (Slika 13).
Slika 13: Primjer XML dokumenta
Zaglavlje (Slika 14) se nalazi na poetku xml dokumenta i korisniku omoguava da vidi informacije o
samom xml-u, to jest koja je verzija xml-a i standard po kojem je xml napravljen.
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
21
Slika 14: Primjer zaglavlja XML dokumenta
U sadraju (Slika 15) xml dokumenta nalazi se sadraj koji je omeen xml oznakama. Svaki XML
dokument mora imati jedan korijenski ili root element koji uokviruje kompletan sadraj. Taj element opisuje XML dokument. Unutar korijenskog elementa ugnijeeni su svi ostali.
Slika 15: Prikaz sadraja XML dokumenta
XML elementi mogu biti u odnosu (Harold & Means, 2006):
- roditelj-dijete (engl. parent-child) - sestrinskom (engl. siblings)
Kod odnosa roditelj dijete (Slika 16) jedan je element hijerarhijski nadreen drugom.
Slika 16: Roditelj-dijete odnos
U ovom primjeru element poruka je roditelj elementu naslov (nadreen je elementu naslov). Kae se da je element naslov ugnijeen unutar elementa poruka. U XML-u elementi moraju biti pravilno
ugnijeeni, to bi znailo da ne smije doi do preklapanja oznaka kao to je to vidljivo na (Slika 17).
Slika 17: Primjer nepravilno ugnijeenih elemenata
Kod sestrinskog odnosa (Slika 18) elementi se nalaze na istoj razini. U primjeru ispod elementi: naslov
i tijelo se nalaze na istoj razini.
Slika 18: Primjer sestrinskog odnosa elemenata
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
22
Nazivi elemenata (Harold & Means, 2006):
- Mogu sadravati: brojeve, slova i posebne znakove - Moraju poinjati slovima - Ne smiju sadravati praznine - Treba izbjegavati koritenje znakova kao to su -,/ - Ne smiju poinjati tekstom xml ili XML
XML atributi nude podatke koji dodatno opisuju XML elemente. Podatci koji se navode kao atributi
mogu biti zanimljivi ovjeku ili raunalnom programu koji parsira XML dokument. Atributi imaju svoj
naziv i vrijednost koja se navodi pod navodnicima (Slika 19).
Slika 19: Prikaz XML atributa
Prilikom rada u XML dokumentu moraju se potivati i odreena sintaksna pravila kao to su (Harold &
Means, 2006):
- Svaki XML element mora imati poetnu i zavrnu oznaku - Svi elementi moraju biti pravilno ugnijeeni - XML oznake su osjetljive na velika i mala slova - Svaki XML dokument mora imati korijenski element koji uokviruje cijeli sadraj - Vrijednosti atributa se navodi pod navodnicima - Komentari se prikazuju pomou posebne oznake - Svaki xml dokument poinje zaglavljem u kojem je navedena verzija XML-a i kodna stranica - Znakovi koji u XML-u imaju posebno znaenje u tekstu se moraju prikazivati na poseban
nain, znakovnim ili numerikim kodovima koji na poetku imaju znak & (engl. ampersand), a
na kraju toku-zarez
Prednosti XML-a (Harold & Means, 2006):
- Jednostavno je itljiv ovjeku i raunalu - XML dokument je obina tekstualna datoteka itljiva na svakoj platformi koja moe itati
tekstualne podatke
- Podrava Unicode i omoguuje prikaz teksta na svim danas poznatim jezicima - Format je samodokumentirajui. Oznake opisuju sadraj koji se nalazi unutar njih. - Ima stroga sintaksna pravila tako da je jednostavno kontrolirati ispravnost nastalog
dokumenta.
- Meunarodno prihvaen standard. Mnogi proizvoai programa su ga prihvatili i koriste u svojim proizvodima
- Hijerarhijska struktura je pogodna za opisivanje mnogih sadraja - Kompatibilan je sa SGML-om
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
23
Nedostaci XML-a (Harold & Means, 2006):
- Sintaksa je redundantna i opirna to moe zamarati i zbunjivati osobu koja ita XML dokument.
- Zbog opirnosti raunalni program koji obrauje dokument mora obraditi veliku koliinu podataka to e ga djelomino usporiti
- Da bi dokument bio dovoljno dobro "samoopisan" nazivi oznaka moraju biti dovoljno precizni to dovodi do dugih naziva
- Redundancija i velika koliina podataka stvaraju velike zahtjeve za propusnosti mree - Programi koji obrauju XML podatke su dosta sloeni jer moraju obraivati velike koliine
ugnijeenih podataka u vie razina
- Nedostatak formalno propisanih formata za podatke moe stvarati probleme ako sudionici u razmjeni nisu dobro opisali (npr. da li se decimalni brojevi prikazuju s decimalnom tokom ili
zarezom)
Postoje dvije verzije XML-a (Harold & Means, 2006):
- XML 1.0 - XML 1.1
XML 1.0 inicijalno je kreirana 1998. godine. Do danas je imala nekoliko malih promjena. irom je
prihvaena os strane korisnika u svijetu te se jo i danas preporuuje za koritenje. Bazira se na
filozofiji da je zabranjeno sve to nije dozvoljeno.
XML 1.1 inicijalno je objavljena 2004. godine i ima odreena svojstva koja olakavaju rad programima
na velikim raunalima. Njezin pristup je da je dozvoljeno sve to nije zabranjeno. Na takav nain
omoguuje se koritenje svih buduih Unicode znakova koji e se bilo kada u budunosti definirati. Zbog svoje rairenosti uglavnom se jo uvijek koristi verzija XML 1.0 jer je zadovoljavajua za veinu
korisnika. Korisnici koji imaju problema s ogranienjima verzije XML 1.0 uglavnom su ve preli na
koritenje verzije XML 1.1.
3.8 Alati za konstruiranje ontologija
Brzi razvitak ontologije doveo je jednako tako i do brzog razvoja alata za kreiranje ontologija, u
sljedeem poglavlju e biti rijei o alatima za kreiranje ontologije. Alati za kreiranje ontologije moraju
osigurati sljedee zahtjeve:
- Izvlaenje znanja to jest prikupljanje znanja od korisnika - Odziv: mogunost pretrage ontologija na temelju pojmova, relacija, sredstava od strane
korisnika
- Ureivanje - Vrednovanje
U nastavku e biti opisani sljedei alati:
- Protg - Altova SemanticWorks - SMORE/SWOOP
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
24
- TopBraid Composer
3.8.1 Protg
Protg (http://protege.stanford.edu/) je besplatan, alat otvorenog koda za konstrukciju ontologija
te rad s njima. Podrava dva bitna naina modeliranja ontologija putem Protg-Frames i Protg-
OWL editora (Slika 20). Ontologije stvorene u Protg-u se mogu pohraniti u veem broju formata
kao to su RDF(S), OWL te XML formati. Pisan je u Javi. Budui da je pisan u Javi, prenosiv je i moe se
izvravati na svim raunalima koja imaju Java Virtual Machine. Podran je od mnogobrojne zajednice
raznovrsnih korisnika. Koristi se za rjeavanje problema povezanim sa znanjem u podrujima kao to
su biomedicina, obavjetajni poslovi te korporacijsko modeliranje. Nedavno je zabiljeeno vie od
100000 registriranih Protg korisnika.
Slika 20: Izgled korisnikog suelja Protg-a
3.8.2 Altova SemanticWorks
Altova SemanticWorks (http://www.altova.com/products/semanticworks/rdf_owl_editor.html) je
alat koji omoguava veliku fleksibilnost kod stvaranja i ureivanja ontologije. Trenutno se smatra
jednim od najboljih ontolokih alata. Alat omoguava korisniku pronai bilo koju greku u radu te ju
je jednostavno ispraviti, alat takoer omoguava kreiranje kompleksnih ontologija te njihov vizualni
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
25
prikaz koristei napredni sustav pomoi te intuitivan sustav kratica i ikona (Slika 21). Alat je
primjeren i za poetnike koji posjeduju barem osnovno znanje o ontologijama. to se izbornika tie
slian je Protg-u, provjera sintaksne i semantike ispravnosti je jednostavna, takoer ga odlikuje i
bogat repozitorij pomoi i uputa koji omoguavaju jo bre snalaenje u ovom alatu.
Slika 21: Izgled korisnikog suelja Altova SemanticWorks-a
3.8.3 SMORE / SWOOP
SMORE i SWOOP (https://code.google.com/p/swoop/) alati su alati za ureivanje ontologija koji
korisnicima doputaju kreiranje i ureivanje ontologija koristei jednostavno suelje (Slika 22). I jedan
i drugi alat su slini samo to SMORE ima integriranu komponentu web preglednika. Ova funkcija
omoguava korisniku pristup internetu preko alata te samim time kreiranje ontologije na webu.
SWOOP nudi i bogatiji skup opcija kao to su :
- Ispravljanje pogreaka - Automatsko particiranje - Paletu upita
Takoer je vano napomenuti da je alat otvorenog koda kojeg korisnici mogu nadograivati po
svojim potrebama. SMORE i SWOOP su efikasni alati koji omoguavaju korisniku:
- Opis strukture - Pregled izvornog koda - Kornjaa pregled - Strukturirani pregled klasa
to se tie koritenja ovi alati su malo zahtjevniji za koritenje zbog nedostatka u dizajnu korisnikog
suelja i uputa.
3.8.4 TopBraid Composer
TopBraid Composer (http://www.topquadrant.com/products/TB_Composer.html
za modeliranje i izgradnju semantikih aplikacija. Potpuno je u skladu s W3C standardima te nudi
potpunu podrku za: razvoj, upravljanje i testiranje on
Composer (Slika 23) prua podrku za razvoj semantikih rjeenja koja se mogu integrirati u razliite
aplikacije i izvore podataka. Takoer se koristi za:
- Razvoj ontolokih modela- Konfiguriranje izvornih podataka- Stvaranje semantikih web usluga- Kreiranje korisnikih suelja
Alat prua opsenu pomo i upute koji pokrivaju teme kao to su:
- Ureivanje ontologije i RDF podataka- Razvijanje semantikih web aplikacija- Alat za razvoj aplikacija - Rad s XML datotekama i tablicama- Razvoj Web podataka - Integracija podataka
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
26
ie koritenja ovi alati su malo zahtjevniji za koritenje zbog nedostatka u dizajnu korisnikog
Slika 22: Izgled SWOOP korisnikog suelja
http://www.topquadrant.com/products/TB_Composer.html
za modeliranje i izgradnju semantikih aplikacija. Potpuno je u skladu s W3C standardima te nudi
potpunu podrku za: razvoj, upravljanje i testiranje ontologije i povezanih podataka. TopBraid
prua podrku za razvoj semantikih rjeenja koja se mogu integrirati u razliite
aplikacije i izvore podataka. Takoer se koristi za:
Razvoj ontolokih modela
Konfiguriranje izvornih podataka
Stvaranje semantikih web usluga
Kreiranje korisnikih suelja
Alat prua opsenu pomo i upute koji pokrivaju teme kao to su:
Ureivanje ontologije i RDF podataka
Razvijanje semantikih web aplikacija
Rad s XML datotekama i tablicama
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
ie koritenja ovi alati su malo zahtjevniji za koritenje zbog nedostatka u dizajnu korisnikog
http://www.topquadrant.com/products/TB_Composer.html) je najmoniji alat
za modeliranje i izgradnju semantikih aplikacija. Potpuno je u skladu s W3C standardima te nudi
tologije i povezanih podataka. TopBraid
prua podrku za razvoj semantikih rjeenja koja se mogu integrirati u razliite
Slika
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
27
Slika 23: Izgled korisnikog suelja TopBraid-a
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
28
4 Programski modul za oblikovanje ontoloki utemeljenog podrunog znanja
Unos podrunog znanja u inteligentni tutorski sustav u ovom sluaju AC-ware Tutor kao i velika
vremenska zahtjevnost namee se kao jedan od problema ije rjeenje bi uvelike pomoglo onima koji
se tim problemom susreu. Kao rjeenje ovoga programa namee se potreba za koritenjem nekoliko
programskih alata pomou kojih bi se ovaj proces automatizirao te samim time skratilo vrijeme unosa
podrunog znanja u sustav. Vano je napomenuti da se ovaj proces za sada ne moe u potpunosti
automatizirati upravo zbog potrebe za koritenjem razliitih alata ali se u mnogome moe ubrzati.
Neki od programskih alata koji se mogu koristiti da bi se ovaj problem rijeio su: alat za kreiranje
podrunog znanja CmapTools, C# kao alat u kojem e se realizirati programski modul, SQL u kojem je
napravljena baza sustava AC-ware Tutor-a. Da bi se proces unosa podrunog znanja olakao i ubrzao
potrebno je:
- Osigurati spajanje na xml datoteku - Izdvojiti podatke iz xml datoteke - Sprema podataka u bazu podataka
Spajanje na xml datoteku je potrebno iz razloga jer se na taj nain omoguava brzo iitavanje
podrunog znanja koje je kreirano u CmapTools-u. Nakon spajanja na xml datoteku potrebno je
izdvojiti sve podate koje tvore podruno znanje iz razloga. Nakon izdvajanja podataka potrebno je te
izdvojene podatke unijeti u bazu podrunog znanja AC-ware Tutor-a . Realizacija ovakvog projekta je
zahtjevna i nije izvediva odjednom te je rad na ovom projektu bilo potrebno podijeliti u nekoliko
manjih koraka koji omoguavaju laki rad i bru realizaciju projekta. Koraci u realizaciji projekta su
sljedei:
- Izraditi konceptualnu mapu u nekom od alata koji to omoguavaju - Exportati konceptualnu mapu napravljenu u CmapTools-u u XML datoteku - Spojiti se na XML datoteku - Uitavanje podataka iz XML-datoteke - Izdvajanje duplih podataka - Spajanje na bazu podataka sustava - Spremanje podataka u bazu
Za oblikovanje podrunog znanja koriten je programski alat CmapTools. Koritenje ovog alata se
odabralo zbog jednostavnosti koritenja alata te posjedovanje suelja koje je vrlo dobro dizajnirano i
lako za snalaenje. Jednostavnost rada i snalaenje prilikom koritenja alata omoguava i najveem
laiku da se snae u ovom alatu, vano je napomenuti da alat prua korisniku sve to mu treba za brzo
i jednostavno kreiranje podrunog znanja. Jo jedna prednost ovog alata i razlog koritenja je brzo
exportanje podrunog znanja koje je grafiki prikazano u xml datoteku, bez koje nastavak rada ne bi
bio mogu.
IHMC CmapTools (NOVAK & CAAS, 2006) je alat razvijen na IHMC institutu (Florida Institute for
Human and Machine Cognition) ija podruja djelatnosti obuhvaaju prezentaciju znanja u formi
pogodnoj za raunalnu obradu, istraivanje i razvijanje standarda za razvoj semantikog Interneta -
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
29
Interneta koji prua bogatiji i bolje povezani sadraj. IHMC CmapTools slui za izradu konceptualnih
mapa u kojima je svaki entitet u izraenoj konceptualnoj mapi mogue dodatno pojasniti
podatkovnom poveznicom na novu konceptualnu mapu, video, sliku ili dokument. Spremanje
dokumenata je mogue na dva naina. Prvi nain je da se dokument spremi na vlastito raunalo, a
drugi nain omoguava da se dokument spremi na nekom od Cmap servisa na kojima je omogueno
dijeljenje vlastitih mapa ostalim korisnicima, ovo spremanje radi na principu da se pri svakom
spremanju mape generira njena web stranica na nekom od servera. Takoer je dostupna i stranica
koja omoguava pretragu svih konceptualnih mapa i njihovog sadraja. Stranicu je mogue posjetiti
na linku: http://www.cmappers.net/. Kod spremanja vano je napomenuti da alat omoguava
spremanje dokumenta u razliitim formatima poput: PNG, PDF, HTML, CXL, XTM/XCM, IVLM, TEXT.
Slika 24: Korisniko suelje CmapTools-a
Na (Slika 24) se vidi izgled korisnikog suelja CmapTools-a. Korisniko suelje koje korisniku
omoguava izradu konceptualnih mapa izgleda malo drugaije i mogue ga je vidjeti na slici ispod.
Slika 25: Prikaz suelja za kreiranje konceptualne mape
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
30
Kao to je na (Slika 25) mogue vidjeti koncept se kreira dvostrukim klikom na radnu povrinu alata.
Nakon to se kreira koncept automatski se pojavi izbornik koji omoguava ureivanje fonta teksta
koji e biti upisan u koncept, njegovo poravnanje te jo mnoge druge opcije. Veze meu konceptima
se dobivaju jednostavnim povlaenjem linije od jednog koncepta do drugog.
Veina programskog modula realizirana je u programskom jeziku C#-u koji je na neki nain poveznica
izmeu xml datoteke i baze podataka AC-ware Tutor-a. C# uzet za realizaciju programskog modula
zbog njegove velike primjene u programiranju te omoguavanja korisniku rjeavanja i najzahtjevnijih
problema.
C# je najnoviji objektno orijentirani programski jezik koji je doivio razne nadogradnje i stalno se
razvija. Nastao je i razvijao se pod vodstvom Andersa Hejlsberga i njegovih suradnika. Danas je glavni
jezik .NET platforme koja je, pak, glavni Microsoftov adut za razvoj programske podrke. Svaki ozbiljan programer na Microsoftovoj platformi ne moe pobjei od .NET-a, a time ni od C#-a. .NET
(dot-net) je ime najmodernije platforme koja e imati velike utjecaje na programiranje u budunosti.
U nazivu je osnovna poruka koju nosi ova tehnologija: dostupnost u svakom trenutku na svakom
mjestu. .NET daje realne osnove da postane osnovna platforma razvoja modernih aplikacija. Radni
okvir .NET razvijen je sa ciljem da osigura okruenje za razvoj svih modernih aplikacija na Windows
sustavu.
C# je dobro opremljen za izradu Web servisa, nanovo upotrebljivih komponenti na internetu koje
udovoljavaju otvorenim standardima. Web servisi aplikacijama omoguuju upotrebu usluga
distribuiranih irom Weba, to pojednostavljuje razvoj i poveava ponovnu upotrebljivost koda.
Za rad s bazom podataka AC-ware Tutor-a koriten je SQL koji je nezaobilazan programski jezik za rad
s bazom podataka.
Microsoft SQL (engl. Structured Query Language) je programski jezik koji je dizajniran za upravljanje podacima u relacijskim sustavima za upravljanje bazom podataka (RDBMS). Svrstavamo ga u
neproceduralne programske jezike jer za razliku od programskog jezika C opisuje to elimo dobiti
kao rezultat, a ne kako doi do njega. SQL ima naredbe za sveobuhvatan rad s relacijskom bazom
podataka:
- Kreiranje tablice - Unos podataka u tablice - Brisanje podataka iz tablica - Naredbe za definiranje baze podataka(DDL-Data Definition Language) - Naredbe za manipulaciju podacima(DML-Data Manipulation Language) - Upravljake naredbe
4.1 Oblikovanje ontologije podrunog znanja
U ovom poglavlju govorit emo o podrunom znanju koje je kreirano u CmapTolols-u. Podruno
znanje koje je koriteno u ovom radu je modul komunikacije (Stankov, 2010) iz podruja inteligentnih
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
31
tutorskih sustava. Ovaj modul je uzet kao primjer iz razloga jer je vrlo bitan u radu inteligentnog
tutorskog sustava i vano je da ga uenici tonije studenti dobro razumiju. Modul komunikacije je
zapravo model koji osigurava nesmetanu i ispravnu komunikaciju uenika i inteligentnog sustava.
Jedino dobro osmiljena komunikacija i oblikovano korisniko suelje poboljava sposobnosti ovakvih
sustava u suprotnom dobra komunikacija te samim time i uenje na ovakvim sustavima bilo bi
komplicirano. Primjer konceptualne mape iz izraene u CmapTools-u prikazan je na sljedeoj slici
(Slika 26).
Slika 26: Primjer konceptualne mape kreirane u CmapTools-u
4.2 Prikaz mape koncepata u XML datoteci
Nakon to se u CmapTools-u napravi konceptualna mapa ona se moe exportati ili spremiti u raznim
formatima kao to je u prethodnom poglavlju napomenuto. U narednom tekstu e biti objanjeno
kako napraviti export konceptualne mape u xml datoteku te kako ona izgleda. Izgled ovakve xml
datoteke je malo drugaiji nego obine xml datoteke iz razloga to alat sam generira xml datoteku pa
ona izgleda drugaije nego ona koju kreira korisnik. Na (Slika 27) je mogue vidjeti export
konceptualne mape kao xml datoteke.
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
32
Slika 27: Prikaz spremanja dokumenta u CmapTools-u
Vano je napomenuti da kod odabira formata export-a korisnik odabere XTM format. Nakon to je
ovaj proces zavren alat alje povratnu poruku korisniku da je spremanje uspjeno zavreno. Kao to
se moe vidjeti prilikom export-a u xml datoteku , datoteka se zapravo export-a u XTM datoteku koja
je sadrajem zapravo XML datoteka. XTM dolazi od XML Topic Maps format.
Poto je u prethodnom tekstu objanjeno kako dobiti xml datoteku iz CmapTools alata u narednom
tekstu e biti prikazan izgled xml datoteke i u kratkim crtama opisan sadraj xml datoteke. Izgled xml
datoteke moe se vidjeti na sljedeoj slici.
Slika 28: Izgled XML datoteke
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
33
Kao to se iz (Slika 28) vidi xml datoteka se sastoji od zaglavlja koje daje informacije o samoj xml
datoteci kao to su: verzija xml-a te standard u kojem je xml napisan. Takoer je mogue vidjeti i id-
ove koji omoguavaju da korisnik moe dobiti uvid u podatke kao to su koncepti i veze koji ih
povezuju. Elementi od kojih se sastoji xlm datoteka su sljedei:
- topicRef: referenca na glavni element - subjectIndicatorRef: referenca na indikator podruja - instanceOF: element koji ukazuje na glavnu klasu - topicMap: element konceptualne mape - topic: glavni element - baseName:ime elementa - baseNameString: ime stringa kojeg sadri - association: glavna veza, itd
4.3 Spajanje na XML datoteku
U prethodnom poglavlju je objanjeno kako iz CmapTools-a dobiti xml datoteku dok e u ovom
poglavlju biti ukratko objanjeno kako se pomou C# spojiti na xml datoteku.
Da bi se XML datoteci pristupilo preko nekog programskog jezika potrebno je znati adresu na
korisnikovom raunalu gdje se ta datoteka nalazi. Pristupanje XML datoteci koristei programski jezik
C# mogue je vidjeti na (Slika 29).
Slika 29: Prikaz pristupa XML datoteci preko C#
4.4 Uitavanje podataka iz XML-datoteke
Nakon spajanja na XML datoteku glavni zadatak je preko programskog jezika C# izvui podatke.
Podaci koji su potrebni za rad su:
- Koncepti - Veze ili relacije - Trojke smislena cjelina koja se sastoji od koncepata i veza
Da bi rad s podacima te pristup njima bio laki korist e se liste koje se definiraju na poetku
programa te e se kasnije puniti traenim podacima. U ovom primjeru liste su koritene da bi se
izbjeglo dupliciranje koda te da bi se poveala itljivost koda. Definiranje liste se vidi na (Slika 30).
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
34
Slika 30: Definiranje liste u C#
Iako je zadatak pronai koncepte, veze i trojke, koncepti i veze e se traiti preko trojki iz nekoliko
razloga:
- Zbog jednostavnosti dobivanja koncepata i veza iz trojki - Zbog ekonominosti to jest smanjenja potronje vremena u pisanju koda - Zbog itljivosti koda i lakeg snalaenja u kodu
Vano je napomenuti da je aplikacija raena u Windows aplikaciji koja se zasniva na form klasi i koja
omoguava grafiki prikaz onoga to se radi. U da bi se problem pronalaenja koncepata, veza i trojki
uspjeno rijeio u radu su koriteni objekti:
Button Label Listbox Tabcontrol
Nakon pokretanja aplikacije korisnik je u mogunosti vidjeti grafiki prikaz onoga to je radio ili
takozvanu formu.
Slika 31: Izgled aplikacije prilikom pokretanja
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
35
Prilikom pokretanja aplikacije (Slika 31) moe se vidjeti da se aplikacija sastoji od izbornika koji
prilikom klika na jednu od opcija izbornika omoguava korisniku kretanje po aplikaciji i izvravanje
onog dijela u aplikaciji koji korisnik odabere. Redoslijed izvravanja programa i prikaza rjeenja na
zaslonu nije biran te korisnik o njemu sam odluuje ovisno o njegovim eljama i potrebama. Kako bi
korisnik izvravanje programa mogao vidjeti na ekranu potrebno je kliknuti na botun onoga to eli
vidjeti inae to nije mogue. Prikaz podataka omoguava listbox. Prikaz trojki mogue je vidjeti na
(Slika 32).
Slika 32: Prikaz trojki u C#-u
4.5 Izdvajanje duplih podataka
Prilikom izrade konceptualnih mapa esto se dogaa da se pojedini koncepti i veze ponavljaju vie
puta to jest dupliciraju. U ovom koraku izrade aplikacije zadatak je izbaciti duple koncepte i veze.
Dupli koncepti i veze se nastoje izbaciti zbog toga to se ti podaci spremaju u bazu podataka, a
prilikom spremanja koncepata i veza u bazu podataka izdvajanjem duplih podataka nastoji se
optimizirati zauzee baze podataka.
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
36
Slika 33: Prikaz koncepata i veza u C#-u
Na (Slika 33) se vidi kako izgleda kada se izdvoje koncepti i veze koji su dupli, a nakon izdvajanja
duplih koncepata i veza dobiju se originalni koncepti i veze to se vidi na (Slika 34).
Slika 34: Prikaz originalnih koncepata i veza u C#-u
4.6 Spajanje na bazu AC-ware Tutora
Nakon izdvajanja originalnih podataka potrebno je te podatke spremiti u bazu podataka. Baza
podataka sustava je napravljena u Microsoft SQL programskom jeziku to je i ranije napomenuto.
Prije samog spremanja podataka u bazu napraviti e se kratki uvod o koracima koji su potrebni za
spajanje na bazu.
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
37
Da bi se spojili na bazu potrebno je:
- instalirati SQL programski jezik na vlastito raunalo (Slika 35)
Slika 35: Instalacija SQL-a
- kreirati novu konekciju te u postavkama izvor podataka(engl. Data Source) postaviti na .\R2 da bi konekcija bila mogua (Slika 36)
Slika 36: Prikaz postavki za konekciju na bazu podataka
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
38
- testiranje konekcije (Slika 37)
Slika 37: Testiranje konekcije
- preuzimanje konekcijskog stringa (Slika 38)
Slika 38: Prikaz konekcijskog stringa
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
39
4.7 Spremanje podataka u bazu
Da bi bilo mogue spremanje podataka u bazu nekog sustava najprije se mora vidjeti od ega se baza
podataka sustava sastoji, konkretno koja su imena tablica te koje podatke te tablice sadre. Baza
podataka sustava AC-ware Tutora se sastoji od tablica (Grubii, 2012):
Triple Link Node Attribute Area Subarea Frame
Tablice koje su vane za ovu aplikaciju su: trojke, koncepti i trojke. Podaci koji se unose u tablicu
koncepata i veza su:
AuthorID SubareaID Name Inherit Description Type IsRemoved
Vano je napomenuti da su svi podaci osim imena fiksni i unaprijed zadani dok je vrijednost imena
zapravo vrijednost veza i koncepata koji su dobiveni iz xml datoteke te su prikazani u listboxu. Id-ovi
koncepata i veza se automatski generiraju prilikom unosa podataka u tablicu. Kasnije se ti id-ovi
spremaju u tablicu trojki. Pristup i manipulacija podacima radi se jednostavnim upitima koristei SQL
naredbe pod pretpostavkom da je korisnik spojen na bazu sustava na nain koji je u prethodnom
poglavlju objanjen.
Da bi se podaci podatci unijeli u bazu podataka koristi se naredba INSERT dok se naredbom SELECT
uitavaju podaci iz baze i prikazuju korisniku. Naredbom SELECT se omoguava provjera ispravnosti
unesenih podataka te da bi se omoguio kasniji unos id-ova u bazu podataka. Napomena: prilikom
unoenja trojki u bazu mora se paziti da se trojke dobivene preko podataka unesenih iz XML
datoteke mogu samo jednom unijeti u bazu podataka u suprotnom programski jezik C# javlja
pogreku.
Prikaz podataka iz baze moe se vidjeti na (Slika 39).
Slika 39
4.8 Arhitektura modula za oblikovanje znanja
Arhitektura praktinog dijela diplomskog rada e u ovom poglavlju biti pojanjena pomou UML
dijagrama. Osnovni UML dijagrami koji e biti prikazani su: dijagram sluajeva koritenja (engl. use
case diagram) i dijagram klasa (engl. class diagram).
Struktura praktinog rada ili aplikacije se vidi kroz opis sudionika i funkcionalnosti koje kori
sudionici sustava. Jedini sudionik ovog sustava je korisnik koji moe biti
u rad na raunalu. Korisnik moe vidjeti: koncepte i relacije te ureenje trojke koje su smislena cjelina
koja se sastoji od veze i koncepata. Nadalje korisnik moe spremiti odreene podatke u bazu
podataka sustava AC-ware Tutor
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
40
39: Prikaz podataka iz baze sustava AC-ware Tutor-a
modula za oblikovanje ontoloki utemeljenog podrunog
Arhitektura praktinog dijela diplomskog rada e u ovom poglavlju biti pojanjena pomou UML
dijagrama. Osnovni UML dijagrami koji e biti prikazani su: dijagram sluajeva koritenja (engl. use
(engl. class diagram).
Struktura praktinog rada ili aplikacije se vidi kroz opis sudionika i funkcionalnosti koje kori
sudionici sustava. Jedini sudionik ovog sustava je korisnik koji moe biti svatko tko se imalo razumije
risnik moe vidjeti: koncepte i relacije te ureenje trojke koje su smislena cjelina
koja se sastoji od veze i koncepata. Nadalje korisnik moe spremiti odreene podatke u bazu
ware Tutora (Slika 40).
Slika 40: Dijagram sluajeva koritenja
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
ontoloki utemeljenog podrunog
Arhitektura praktinog dijela diplomskog rada e u ovom poglavlju biti pojanjena pomou UML
dijagrama. Osnovni UML dijagrami koji e biti prikazani su: dijagram sluajeva koritenja (engl. use
Struktura praktinog rada ili aplikacije se vidi kroz opis sudionika i funkcionalnosti koje koriste
svatko tko se imalo razumije
risnik moe vidjeti: koncepte i relacije te ureenje trojke koje su smislena cjelina
koja se sastoji od veze i koncepata. Nadalje korisnik moe spremiti odreene podatke u bazu
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
41
Dijagram klasa predstavlja vizualnu specifikaciju objekata koji postoje u sustavu i odnose izmeu njih. Njima se mogu specificirati konceptualni i implementacijski dijelovi sustava. U ovom
sluaju dijagram klasa (Slika 41) je takoer raen preko UML alata kao to je raen dijagram
sluajeva koritenja.
Slika 41: Dijagram klasa
Model podataka sustava AC-ware Tutor moe se vidjeti na (Slika 42). Naglasak se stavlja na tablice
koje su vane u ovom radu, a to su: koncepti (engl. Node), veze (engl. Link) te trojke (engl. Triple).
Vanost ovih tablica je u tome to se u ove tablice zapravo sprema podruno znanje sustava AC-ware
Tutor-a.
Slika 42: Model podataka AC-ware Tutor-a
Sljedei UML dijagram koji e biti obraen i opisan je dijagram redoslijeda (engl. Sequence diagram)
koji zapravo opisuje ponaanje aplikacije koje se prikazuje kroz sinkronu razmjenu poruka te
prikazuje redoslijed dogaaja koji se javljaju. Dijagram redoslijeda je povezan s dijagramom sluajeva
koritenja jer se svaka funkcionalnost dijagrama sluajeva koritenja moe opisati i razraditi
dijagramom redoslijeda te se kae da je dijagram redoslijeda zapravo realizacija dijagrama sluajeva
koritenja pod pretpostavkom da je dijagram sluajeva koritenja ve nacrtan.
Na (Slika 43) se moe vidjeti realizacija dijagrama redoslijeda za funkcionalnost prikaza koncepata i
relacija.
Slika 43
Na (Slika 44) se vidi realizacija dijagrama redoslijeda za funkcionalnost prikai ureene trojke.
Slika
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
42
te se kae da je dijagram redoslijeda zapravo realizacija dijagrama sluajeva
koritenja pod pretpostavkom da je dijagram sluajeva koritenja ve nacrtan.
se moe vidjeti realizacija dijagrama redoslijeda za funkcionalnost prikaza koncepata i
43: Dijagram redoslijeda za prikaz koncepata i relacija
se vidi realizacija dijagrama redoslijeda za funkcionalnost prikai ureene trojke.
Slika 44: Dijagram redoslijeda za prikaz ureenih trojki
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
te se kae da je dijagram redoslijeda zapravo realizacija dijagrama sluajeva
se moe vidjeti realizacija dijagrama redoslijeda za funkcionalnost prikaza koncepata i
se vidi realizacija dijagrama redoslijeda za funkcionalnost prikai ureene trojke.
Posljednja funkcionalnost za koju je realiziran dijagram redoslijeda je spremi u bazu i
na (Slika 45).
Slika
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
43
Posljednja funkcionalnost za koju je realiziran dijagram redoslijeda je spremi u bazu i
Slika 45: Dijagram redoslijeda za spremi u bazu
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
Posljednja funkcionalnost za koju je realiziran dijagram redoslijeda je spremi u bazu i moe se vidjeti
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
44
5 Zakljuak
Prilikom realizacije rada pojavilo se nekoliko problema koji su na kraju uspjeno rijeeni i rad je
priveden kraju. Prvi problem se javljao usred nedovoljno dobrog razumijevanja ontologije i
konceptnih mapa, te je oblikovanje podrunog znanja ilo malo sporije, ali nakon odreenog
vremena taj je problem rijeen.
Drugi problem je bio s izvlaenjem podataka iz xml datoteke, jer je xml datoteka kreirana od strane
programskog alata i izgleda drugaije nego kad je kreira korisnik. Da bi se podaci dobili iz xml
datoteke korisnik mora dobro poznavati izgled dane xml datoteke, te na temelju toga dobiti neke
zakljuke i vidjeti kako su elementi povezani s obzirom na strukturu xml datoteke i njezinu veliinu.
Problem je to je xml datoteka jako duga i malo je tee pratiti njenu strukturu i uoiti neke
zakonitosti. Da bi se jako brzo shvatilo kako su podaci organizirani u xml potrebno se orijentirati na
id-ove jer jedino je tako mogue uoiti neke zakonitosti u jako kratkom roku.
U ovom diplomskom radu bilo je potrebno koristiti razne programske alate. Bez obzira na koritenje
raznih programskih alata potrebno je mnogo vremena da se podruno znanje oblikuje i da se podaci
unesu u bazu podataka. Oblikovanje podrunog znanja oduzima najvie vremena i za sada ga je
nemogue ubrzati i automatizirati, ali moda se i taj problem rijei nekim naprednim programskim
alatom koji bi omoguio automatsku izradu podrunog znanja. U svakom sluaju aplikacija koja se
razvijala u ovom radu ubrzava rad korisnika i smanjuje vrijeme potrebno da se podruno znanje
prenese u neki sustav. Aplikacija omoguava automatizaciju nekih dijelova gdje je omoguena utedu
vremena i manji napor od strane onoga koji radi podruno znanje.
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
45
6 Literatura
1. Damir Juri: Metode uenja ontologija-trenutno stanje i problemi, s Interneta, http://www.fer.unizg.hr/_download/repository/KvalifikacijskiIspitDamirJuric.pdf, 09.09.2013
2. urakovi A.; Veri V.: Semantiki web, s Interneta http://www.mathos.unios.hr/~adjurako/semantickiweb/Semanti%C4%8Dki%20web.pdf,
09.09.2013
3. Gruber, T.R. (1993). A translation approach to portable ontology specifications. Knowlege acquisition, 5(2), pp. 199-220.
4. Grubii, A.: Model prilagodljivoga stjecanja znanja u sustavima e-uenja, FER Zagreb, 2012
5. Guarino N.: Formal ontology and Information systems, s Interneta, http://www.mif.vu.lt/~donatas/Vadovavimas/Temos/OntologiskaiTeisingasKoncepcinisMode
liavimas/papildoma/Guarino98-Formal%20Ontology%20and%20Information%20Systems
.pdf, 20.09.2013
6. IEEE: Guide to the Software Engineering Body of Knowledge, s Interneta http://www.inf.ed.ac.uk/teaching/courses/seoc/2006_2007/resources/SWEBOK_Guide_200
4.pdf, 20.09.2013
7. Legg C.: Ontologije na semantikom webu, s Interneta, http://www.hkdrustvo.hr/datoteke/838/vbh/God.53(2010),br.1, 19.09.2013
8. Matei M.: Umjetna inteligencija, s Interneta, http://www.mensa.hr/glavna/misli-21-stoljeca/479-umjetna-inteligencija-uvod, 19.09.2013
9. Novak J. D., Caas A. J.: The Theory Underlying Concept Maps and How to Construct and Use Them. Technical Report IHMC CmapTools 2006-01 Rev 2008-01
10. Paunovi L., Stoki A.: Uticaj ontologija na funkcionalnost web-a, s Interneta http://www.infoteh.rs.ba/rad/2012/RSS-8/RSS-8-3.pdf, 20.09.2013
11. Pavi K.: Semantiki web, s Interneta, http://www.zemris.fer.hr/predmeti/krep/ Pavic.pdf, 09.09.2013
12. Prcela M.: Predstavljanje ontologija na webu, s Interneta http://www.fer.unizg.hr/_download/repository/Marin_Prcela_SW.pdf, 20.09.2013
13. Prgomet M.: Neformalni oblici prikaza znanja u Internet okruenju, s Interneta, http://www.splithorizont.com/pdf/mentalna_mapa_diplomski.pdf, 09.09.2013
14. Programsko inenjerstvo,s Interneta, http://hr.wikipedia.org/wiki/Programsko_in%C5%BEenjerstvo, 19.09.2013
15. Scott M. W.: XML za programere, Elliotte Rusty Harold, 2006
Pristup oblikovanju ontoloki utemeljenog podrunog znanja
46
16. Skokandi A.: Umne mape, s Interneta, http://www.cool-school.net/index.php? ucitelj=askokandic&view=221, 19.09.2013
17. Smith B., Welty C.: Ontology: Towards a New Synthesis, s Interneta http://www.cs.vassar.edu/~weltyc/papers/fois-intro.pdf, 20.09.2013