39
SVEUČILIŠTE U SPLITU FAKULTET ELEKTROTEHNIKE, STROJARSTVA I BRODOGRADNJE POSLIJEDIPLOMSKI DOKTORSKI STUDIJ ELEKTROTEHNIKE I INFORMACIJSKE TEHNOLOGIJE KVALIFIKACIJSKI DOKTORSKI ISPIT Karmen Klarin Korištenje ontologija pri razvoju informacijskog sustava Split, rujan 2013.

Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

SVEUČILIŠTE U SPLITU

FAKULTET ELEKTROTEHNIKE, STROJARSTVA I BRODOGRADNJE

POSLIJEDIPLOMSKI DOKTORSKI STUDIJ ELEKTROTEHNIKE I INFORMACIJSKE

TEHNOLOGIJE

KVALIFIKACIJSKI DOKTORSKI ISPIT

Karmen Klarin

Korištenje ontologija pri razvoju

informacijskog sustava

Split, rujan 2013.

Page 2: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

1

SADRŽAJ

1. UVOD ......................................................................................................................................... 2

2. DEFINICIJA I ULOGA ONTOLOGIJE .................................................................................... 4

2.1. Povijest ontologije .............................................................................................................. 4

2.2. Ontologija u računarstvu .................................................................................................... 5

2.2.1. Definicija ontologije ................................................................................................... 6

2.2.2. Model sustava temeljen na ontologiji ......................................................................... 7

2.2.3. Utjecaj ontologije na arhitekturu sustava ................................................................... 8

2.3. Osvrt na trenutno stanje i motivacija .................................................................................. 9

3. ONTOLOGIJA .......................................................................................................................... 11

3.1. Taksonomija ontologije .................................................................................................... 11

3.2. Elementi ontologije .......................................................................................................... 12

3.2.1. Komponente ontologije ............................................................................................ 12

3.2.2. Implementacija ontologije ........................................................................................ 14

3.3. Podjela ontologija prema strukturi ................................................................................... 15

3.3.1. Stupanj formalizacije ................................................................................................ 16

3.3.2. Semantička dimenzija .............................................................................................. 17

3.4. Podjela ontologija prema području namjene .................................................................... 18

3.4.1. Bogatstvo konceptualizacije ..................................................................................... 18

3.4.2. Pragmatična dimenzija ............................................................................................. 19

4. RAZVOJ ONTOLOGIJE .......................................................................................................... 21

4.1. Elementi ontološkog inženjerstva .................................................................................... 21

4.2. Proces razvoja ontologije ................................................................................................. 23

5. ONTOLOGIJA U RAZVOJU INFORMACIJSKOG SUSTAVA ............................................ 25

5.1. Razvoj informacijskog sustava ......................................................................................... 25

5.1.1. Osnovni model razvoja programskog proizvoda ...................................................... 25

5.1.2. Arhitektura informacijskog sustava .......................................................................... 26

5.1.3. Ontologija kao podrška arhitekturi informacijskog sustava ..................................... 26

5.2. Uloga ontologije u razvoju informacijskog sustava ......................................................... 27

5.2.1. Međudjelovanje ontologije i informacijskog sustava ............................................... 28

5.2.2. Tipovi ontologija i upravljanje znanjem .................................................................. 30

5.3. Problemi i područje daljnjeg istraživanja ......................................................................... 32

6. ZAKLJUČAK ........................................................................................................................... 34

7. LITERATURA .......................................................................................................................... 35

8. PRILOG .................................................................................................................................... 38

8.1. Kazalo slika ...................................................................................................................... 38

Page 3: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

2

1. UVOD

Informacijski sustavi (IS) kao podrška poslovanju poduzeća, osim ugrađenih zadanih

funkcionalnosti poslovanja, korisniku moraju pružiti i kvalitetno upravljanje znanjem

zadanog područja (eng. domain). Danas poslovanje zahtijeva kontinuiranu razmjenu

informacija s ostalim subjektima poslovnog svijeta, prvenstveno poslovnim partnerima i

klijentima. Stoga programska podrška poslovanju poduzeća danas treba korisniku osigurati

komunikaciju sa vanjskim svijetom [1], bilo da je riječ o vlastitim dijelovima poduzeća,

poznatim suradnicima ili pak nepoznatim ali potencijalno interesantnim sudionicima

poslovnog svijeta.

Stoga dinamika razvoja IS-a, te njegovo održavanje i prilagođavanje sve više zahtijevaju

dogovorene obrasce strukture i ponašanja koji omogućavaju davanje i primanje

informacija, odnosno i više od toga, razmjenu informacija među različitim sustavima (eng.

interoperability) [2]. I dok je tehnička podrška ovim zahtjevima već godinama razvijena,

semantička struktura i opis interesnih područja zaostaje za spomenutim potrebama.

Primjerice, mogućnosti izrade kvalitetnih web aplikacija1 koje će automatski podržati

komunikaciju među poslovnim partnerima su velike, međutim struktura, sadržaj, značenje i

tumačenje informacija koje bi trebalo razmjenjivati češće se dogovaraju na razini trenutnih

potreba dvaju IS-a koji se integriraju, a znatno rjeđe predstavljaju standarde interesnih

grupa [3]. Preduvjet za kvalitetno rješenje ovakvih problema su dobro definirani i povezani

podaci koji osiguravaju učinkovito pretraživanje, automatizam, integraciju i ponovno

korištenje.

Već neko vrijeme u svrhu učenja o problemu i savladavanja spoznaja o detaljima nekog

područja znanja koriste se ontologije. Ontologije pomažu u strukturiranju i prikupljanju

znanja na općenit način, te se zbog toga mogu ponovno koristiti i dijeliti u različitim

aplikacijama i među različitim grupama ljudi. Ontologija predstavlja konceptualnu

kategoriju koja osigurava riznicu znanja kao referentni model nekog sustava, te tako

upotpunjuje znanje pojedinačnog IS-a kao specifične izvedbe zadanog modela. Osim toga,

ontologija može biti formalni alat za pohranu i organizaciju tog znanja te tako predstavlja

nadogradnju programske podrške pojedinačnih IS-ova.

Ontološkim pristupom bi trebalo, prije odabira reprezentativnog IS-a, kreirati model

promatranog svijeta, te razjasniti elemente koji u tom svijetu postoje i njihove međusobne

veze [1]. Ove aktivnosti bi pomogle (1) informatičarima da brže i bolje nauče postavke

njima nepoznatog svijeta, te (2) korisnicima koji bi odmah na početku mogli sagledati

zajedničko interesno područje, a ne samo svoje zadatke i probleme. Tako bi izrada

ontološkog modela bila dobra podloga za razvoj IS-a, a implementacija ontologije bi

obogatila mogućnosti izrade i korištenja programskih rješenja.

U drugom poglavlju ovog rada dana je definicija ontologije uz objašnjenje značenja i uloge

u izradi modela IS-a i njegovog korištenja, te utjecaj ontologije na arhitekturu IS-a.

1 Semantic Web je danas jedno od glavnih računalnih područja u kojem se intenzivno koriste ontologije, a predstavlja

nadogradnju postojeće Web infrastrukture mehanizmima semantičkog povezivanja podataka, te mehanizmima donošenja

zaključaka vezanih za te podatke.

Page 4: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

3

U trećem poglavlju opisani su elementi ontologije, te je razjašnjena podjela ontologije

prema strukturi i prema području namjene. Opisane podjele su dodatno analizirane kroz

odgovarajuće primjere.

U četvrtom poglavlju su navedeni osnovni elementi ontološkog inženjerstva i

općeprihvaćeni proces razvoja ontologije.

U petom poglavlju je problematika proširena prikazom inženjerskog pristupa razvoja IS-a i

analizom međudjelovanja ontologije i IS-a. Naglašena je korisnost ontologije u

strukturiranju i korištenju znanja područja koje se promatra. Navedeno je nekoliko

karakterističnih problema današnjih IS-ova uz naznaku mogućnosti poboljšanja

korištenjem ontologije.

Zaključak naglašava potrebu prilagođavanja programske podrške novim tehnologijama,

mogućnost proširenja zadataka razvoja IS-a pomoću ontologije, te time osiguranje

efikasnijeg korištenja IS-a od strane korisnika.

Page 5: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

4

2. DEFINICIJA I ULOGA ONTOLOGIJE

Pojam ontologije je preuzet iz filozofije i opisuje nauku o postojanju. Ontološki pristup u

filozofskom smislu predstavlja način zaključivanja koji na temelju pojmova i onoga što oni

predstavljaju, po principu proturječnosti i dovoljnog razloga (logike), donosi nove

zaključke o tim pojmovima. Ontologija opisuje neko interesno područje kroz zadanu

terminologiju (rječnik područja), osnovne koncepte, klasifikaciju i taksonomiju tih

koncepata, te povezanost koncepata i definiranje pravila koja vladaju među njima.

Sa stanovišta razvoja IS-a ontologija je detaljan i iscrpan opis strukture nekog područja

znanja, s formalnim definicijama međusobnog odnosa i veza među različitim elementima

tog područja [4]. Može se reći da je ontologija temeljni i iznimno važan dio znanja o

promatranom sustavu [5]. Zbog toga se u računarstvu još od vremena umjetne inteligencije

do današnjeg razvoja IS-a ontologije koriste za prikaz znanja, zatim inženjerstvo,

upravljanje i organizaciju znanja, te kvalitativno modeliranje, oblikovanje baza podataka,

pretraživanje i preuzimanje traženog znanja [6], [7].

2.1. Povijest ontologije

Ontologija potiče iz filozofskih disciplina stare Grčke, a sam Aristotel ju je nazvao „prva

filozofija“. Ta filozofska ontologija promatrala se kao znanost o onome što jest, o vrstama i

strukturama objekata, svojstava, događaja, postupaka i odnosa u svim područjima

stvarnosti [8]. Uz to, ontološko znanje je već tada organizirano u taksonomiju, odnosno u

hijerarhiju u kojoj se znanje nasljeđuje.

U srednjem vijeku filozofi preuzimaju Aristotelove ontološke temelje i pokušavaju na novi

način razumjeti i organizirati „stablo znanja“. Zagovornici takozvanog empirizma

smatraju da se izvorno znanje stječe jedino iskustvom iz realnog svijeta. Racionalist Kant

osporava to stajalište smatrajući ga nepouzdanim jer, po njemu, takvo učenje već

pretpostavlja apriori pojmovne odnose i vlastiti sustav kategorija. Kant zastupa takozvani

holistički pristup koji elemente nekog sustava promatra unutar funkcioniranja tog sustava,

a ne zasebno.

Sama riječ ontologija se izvodi iz grčkih riječi ontos (biće, biti, bivstvovati) i logos (riječ,

govor). Prvi put [9] su je 1613. „skovali“, neovisno jedan od drugoga, filozofi Rudolf

Göckel u svojoj knjizi „Lexicon philosophicum“ i Jacob Lorhard u svojoj knjizi „Theatrum

philosophicum“.

90-ih godina dvadesetog stoljeća ontologija postaje aktualna na području inženjerstva

znanja (eng. knowledge engineering) i umjetne inteligencije. Informatičari su prepoznali

potrebu za pohranjivanjem i prikazom znanja o realnom svijetu uz pomoć ontologija. Tako

1980. računalni znanstvenik John McCarthy ističe da informatičari prilikom razvoja

inteligentnih sustava prvo trebaju „sagledati sve što postoji izgradnjom ontologije

područja“ [9]. U to vrijeme jedan drugi računalni znanstvenik John Sowa ističe

eksplicitnost ontologije koja „opisuje svijet koji promatramo kao katalog svega onoga što

čini taj svijet, kako to sastaviti zajedno i kako to radi“. Sowa je 1976. godine za

prikazivanje konceptualne sheme baze podataka osmislio tehniku konceptualnog grafa.

Page 6: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

5

Prikaz pomoću konceptualnih grafova je logički precizan, lako čitljiv i direktno se može

spojiti s nekim računalnim jezikom.

Još neke definicije (kroz povijest) naglašavaju karakteristike ontologije, njenu formalnu

primjenu i njen značaj:

Gruber [10]: „Ontologija je eksplicitna specifikacija konceptualizacije“.

Borst [11]: „Ontologija je formalna, eksplicitna specifikacija zajedničke

konceptualizacije“.

Guarino i Giaretta [12]: „Ontologija je logička teorija koja daje eksplicitni,

nepotpuni prikaz konceptualizacije …“ (samo dio cijele definicije).

Jasper i Uschold daju definiciju koja popularizira ontologije na druge discipline [2]:

„Ontologije mogu pružiti različite forme, ali će nužno uključivati rječnik pojmova i

neke specifikacije njihovog značenja; to uključuje i definiciju koncepta i njihovog

međusobnog odnosa što u cijelosti nameće strukturu domene i ograničava moguće

prikaze pojmova“.

Tako se do danas ontologije koriste za različite namjene: procesiranje prirodnog jezika,

upravljanje znanjem, e-trgovinu, inteligentna integracija informacija, semantički web, itd. i

u različitim područjima: inženjerstvo znanja, softversko inženjerstvo, inženjerstvo baza

podataka.

2.2. Ontologija u računarstvu

Razvijenost ICT-a danas poduzećima pruža mogućnost komunikacije i razmjene znanja sa

svim zainteresiranim stranama, što ne znači da je ona time i osigurana. Česti slučaj je da

operativno-upravljačka podrška zaostaje za tehničko-tehnološkom, uglavnom iz razloga

složenosti ali i specifičnosti poslovanja nekog područja. Još ozbiljniji problem može biti

raznolika programska podrška koju je teško integrirati (unutar poduzeća) ili je teško

uspostaviti kvalitetne i jednoobraze kanale komunikacije među poslovnim partnerima.

Ontologija može podržati uspješnu komunikaciju na način da u kontekstu poslovnih

potreba poduzeća omogući prepoznavanje:

područja (domene) poslovanja,

okruženja (prvenstveno programske podrške) tog područja poslovanja i

arhitekture poslovnog sustava.

Domena (područje) poslovanja: Uspješna komunikacija se zasniva na definiranju

elemenata područja poslovanja, međusobnom odnosu i povezanosti tih elemenata, te

karakteristikama pomoću kojih se elementi raspoznaju i uspostavlja komunikacija.

Konceptualnu strukturu elemenata područja poslovanja i njihovu formalnu implementaciju

može pružiti ontologija. U prvom dijelu ovog poglavlja objašnjena je jedna od definicija

ontologije koja onda pruža uvid u njihovu korisnost za današnje zahtjevne informacijske

sustave.

Okruženje programske podrške: Kao što unutar sustava poslovanja i njegovog IS-a koji ga

podržava vrijedi dogovoreni poslovni model, tako i ostali sustavi u okolini imaju svoje

varijante modela poslovanja koji se više ili manje međusobno razlikuju. Istovjetne

djelatnosti imaju uzor (predložak) za svoje modele, uglavnom u općeprihvaćenim i

zakonom zadanim obrascima ponašanja. I raznovrsne djelatnosti imaju obavezu i potrebu

pridržavati se zajedničkih obrazaca komuniciranja tj. zajedničkih modela ponašanja. U

Page 7: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

6

drugom dijelu ovog poglavlja je naglašeno kako model sustava temeljen na ontologiji

osigurava zajedničko uporište za oblikovanje i izradu vlastitih modela poslovanja.

Arhitektura poslovnog sustava: Način na koji pojedino poduzeće organizira svoje

poslovne procese određuje opseg IS-a koji će biti podrška tim procesima. Hijerarhijski

složene organizacije zahtijevaju i slojevite module IS-a (transakcijski sustav, izvršni,

upravljački i slično). Primjerice, u sustavima javne uprave je važna organizacijska

hijerarhija, a uz nju još značajniju ulogu u raznolikosti i razmjeni znanja ima i različitost

poslovnih područja poput školstva, zdravstva, sudstva i slično. U trećem dijelu ovog

poglavlja prikazana je uloga ontologije u korištenju komponenti programske podrške.

2.2.1. Definicija ontologije

Ontologije imaju sve veći značaj u traganju za načinom kako strukturirati, zapisati i

koristiti znanje nekog područja. Koliko god se godinama već priča o njima i mnogi

informatičari analiziraju mogućnosti uklapanja ontološkog pristupa u razvoj i korištenje IS-

a [6], [13], [14], još uvijek je to relativno nepoznato područje za širu informatičku

zajednicu. Sigurno da je jedan od razloga i relativno mala stvarna primjena koja bi

egzaktno približila ljudima značenje ontologije, njena svojstva i mogućnosti. Naime,

ontološki pristup može imati i cijeli niz problema i nedostataka, prvenstveno u resursima:

informatičari koji moraju poznavati razvoj ontologija, vrijeme i novac koji zahtijeva

ontološki (projekti) pristup, te odgovarajuća realizirana infrastruktura kao dodatni napor u

rješavanju nekog problema.

Pozitivne karakteristike ontologije mogu se, ponajprije, prepoznati u njenim definicijama.

Po jednoj od osnovnih definicija [11] ontologija je formalna specifikacija zajedničke

konceptualizacije. Sva četiri pojma ove definicije kriju svojstva i karakteristike ontologije.

Konceptualizacija predstavlja apstraktni model svijeta prikazan pomoću koncepata i

njihovih veza. Pomoću konceptualnog modela nastoji se strukturirati općenitost pojmova

uz njihovu definiciju, povezanost, te pravila i ograničenja ponašanja (Slika 1.). Stoga bi

konceptualni model trebao biti meta-struktura instanci različitih modela poslovanja u

pojedinim poduzećima koja se bave istom djelatnošću [15].

Slika 1. Jednostavni primjer konceptualnog modela ontologije živih organizama [16]

Specifikacija ontologije povezuje elemente kao što su (1) komponente ontologije koje se

koriste za modeliranje znanja, (2) obrasci (eng. paradigms) prikaza znanja koji se koriste u

Page 8: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

7

prikazu komponenti, te (3) jezika koji se koristi u implementaciji ontologije unutar zadanih

obrazaca prikaza znanja [17]. Komponente ontologije koje se koriste u modeliranju znanja

su: koncepti, instance, relacije, funkcije i aksiomi [18] (više u potpoglavlju 3.2.1.).

Formalno zapisana ontologija u nekom ontološkom jeziku je preduvjet da se može koristiti

(da bude strojno čitljiva, eng. machinereadable) od strane sustava programske podrške i

ljudi, zajednički naziv je agenti (eng. agents). Treba naglasiti da ontologija nije 'aktivna' u

smislu da se može pokrenuti poput programa, već ona deklarativno prikazuje određeno

znanje koje se koristi od strane nekog programa [5].

Zajednički dogovor unutar neke grupe o strukturi i namjeni ontologije ugrađuje se kao

dijeljeno, zajedničko znanje te grupe. Tako se ontologija razvija dinamikom kojom

napreduje razmjena i usvajanje znanja o području među članovima projektnog tima. Time

se otvaraju mogućnosti za dijeljenje znanja i njegovo ponovno korištenje (eng. reuse), te

semantičku interoperabilnost među agentima i programima.

2.2.2. Model sustava temeljen na ontologiji

Konceptualizacija predstavlja apstraktni model neke pojave u svijetu koji prikazuje bitne

koncepte te pojave. Jedan od načina da se znanje organizira, strukturira, pohrani i koristi je

ontologija kao dio ili zasebno programsko rješenje.

Oblikovanje IS-a može se provoditi nad ontologijama jer one specificiraju znanje koje IS

mora obuhvatiti kako bi obavio postavljene zadaće. Dakle, za oblikovanje sustava nužno je

posjedovati znanje o promatranom području. Sustavi poslovanja su u pravilu kompleksni, a

uz to i specifični u okruženju u kome funkcioniraju. Stoga je potrebno napraviti model

sustava koji predstavlja poopćenu sliku svijeta i koji se onda koristi za izgradnju

računalnih programa. Ukoliko postoji ontologija promatranog područja onda je model

sustava koji je ugrađen u programsko rješenje moguće usporediti s tom ontologijom i po

potrebi prilagoditi. Model razmatranog sustava razvija se nad ontologijom koja opisuje

sustav smješten u stvarnom svijetu, kako prikazuje Slika 2.

Slika 2. Model sustava temeljen na ontologiji [15]

Ovakav pristup izradi modela omogućava postupnu doradu modela sustava sukladno

novim saznanjima ili novim pogledima na sustav. Korištenje ontologije pruža mogućnost

Page 9: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

8

razvoja IS-a zasnovanog na ontološkom modelu [5], [7], [19], [20], [21]. Tako se znanjem

ugrađenim u ontologiju upotpunjuje znanje specifičnog programskog rješenja.

2.2.3. Utjecaj ontologije na arhitekturu sustava

S ciljem cjelovitijeg prikaza utjecaja ontologija na IS (Slika 3.) treba se osvrnuti i na

specifičan način kojim ontologija utječe na glavne komponente IS-a [13]:

Baza podataka/ baza znanja - smatra se da ontologija ima važnu ulogu u fazi

analize i konceptualnog modeliranja podataka budućeg IS-a. Koristeći ontologiju

konceptualni model se može prikazati u formatu razumljivom računalu i tako

prenijeti na neku određenu platformu. I za vrijeme izvođenja aplikacija postoje

različiti oblici zajedničkog rada baze podataka i ontologije, npr. uporabljivost

ontologije kao izvora informacija koji se koristi u posredovanju prilikom integracije

informacija.

Aplikacije – često je u aplikacije ugrađeno implicitno znanje o domeni sustava, npr.

poslovna pravila. Još za vrijeme razvoja IS-a u ontologiju je moguće ugraditi

statički dio funkcionalnosti (pravila poslovanja) po principu modularnosti.

Aplikacije za vrijeme izvođenja prevode i uklapaju eksplicitno znanje iz ontologije

u implicitno znanje pohranjenu u samoj aplikaciji i tako se ontološko znanje

prevodi u znanje zasnovano na konkretnom IS-u i njegovoj funkcionalnosti.

Slika 3. Uloga ontologije i Semantic Weba [18]

Danas stvarni praktični doprinos ontologije treba sagledati u internet okruženju gdje

međudjelovanje korisnika usluga web-a i pružatelja usluga preko web-a treba dostići

razinu na kojoj je informacijski prostor web-a dovoljno računalno čitljiv da pruži korisniku

precizan prikaz onoga što korisnik traži. Semantic Web je proširenje web-a u kojem su

informacije zadane na dobro definiran način (ontologije) koji onda omogućava ljudima i

računalima bolju uzajamnu suradnju. Semantic Web je zasnovan na ideji da su podaci

Page 10: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

9

definirani i povezani na način koji omogućava učinkovito pretraživanje, automatizam,

integraciju i ponovno korištenje među različitim aplikacijama.

Na slici (Slika 3.) prikazane su važne uloge eksplicitne ontologije i Semantic Weba u

korištenju IS-a [2], [22]:

Osiguranje komunikacije među ljudima i/ ili sustavima kojem doprinosi ontologija

jer smanjuje konceptualne i terminološke nejasnoće. Ontologija osigurava

povećanu konzistenciju informacija, eliminira višeznačnosti i objedinjuje različita

gledišta korisnika.

Pretraživanje informacija putem interneta olakšano je korištenjem ontologije koja

je izvor informacija strukturiranih u rječnik i potrebno znanje o tom rječniku.

Idealizirano, web postaje veliki rječnik koji pruža brži i cjelovitiji pristup izvoru

traženih informacija.

Pristupanje informacijama od strane korisnika ili sustava može biti izraženo na

nepoznatom jeziku ili u nedostižnom formatu. Ontologija pomaže u prikazu

informacija na razumljiv način jer je u stanju pružiti zajedničko razumijevanje

pojmova ili pridruživanje među skupovima pojmova. Korisnost zajedničkog

pristupa informacijama je efikasnije korištenje i ponovno korištenje izvora znanja,

te interoperabilnost odnosno sposobnost razmjene informacija i znanja.

Interoperabilnost kao uzajamno djelovanje među različitim korisnicima ili

softverskim alatima prilikom razmjene podataka. U tom slučaju ontologija ima

ulogu međujezika koji će podržati prijevod iz jednog u drugi jezik ili prikaz. U

praksi, da bi prevođenje bilo učinkovito trebalo bi imati 'prevoditelja' sa svake

strane tj. ontologiju razmjene (eng. exchange ontology).

Kritični element interoperabilnosti (na razini web aplikacija) je sposobnost opskrbe

podacima i odgovarajućim aplikacijama. Potrebno je da različite aplikacije i izvori

podataka mogu koristiti isti skup dobro definiranih pojmova koji opisuju domenu

podataka. Biblioteka ontologija je sustav [23] u koji se prikupljaju ontologije iz različitih

izvora i tako se olakšava zadatak istraživanja, pronalaženja i korištenja ontologija. Ovako

koncipirana biblioteka može omogućiti različitim korisnicima i aplikacijama da pronalaze,

otkrivaju, procjenjuju, koriste i publiciraju ontologije odgovarajućeg područja.

2.3. Osvrt na trenutno stanje i motivacija

Ontologije su prisutne u razvoju programske podrške već neko vrijeme što se može

protumačiti kao njihov pozitivan utjecaj. Očito je da informatičari nastoje iskoristiti dobre

strane ontološkog pristupa kako bi poboljšali programska rješenja. Oni uviđaju da razvoj

ontologije kao podrška razvoju IS-a pokazuje slijedeće dobre strane [24]:

Mogućnost analize domene i eksplicitni prikaz elemenata domene – U trenutku

kada se deklarativno uspostavi specifikacija pojmova moguća je njihova formalna

analiza kod ponovnog korištenja postojeće ontologije ili proširenja iste. Time se i

nakon implementacije mogu jednostavno mijenjati elementi sustava. Također,

eksplicitni prikaz domene i znanja o toj domeni može biti koristan za nove

korisnike koji trebaju učiti o elementima i povezanosti nekog poslovnog područja.

Dijeljenje zajedničkih spoznaja o strukturi informacija među agentima (ljudi i

aplikacije) - Na razini informacija o domeni koje bi koristili građani i pravne osobe

mogu se pretraživati različiti oblici dokumenata, web stranica, stručnih područja.

Page 11: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

10

Na razini pretraživanja i pristupanja informacijama agenti bi pronalazili,

prepoznavali i zaprimali/ prosljeđivali podatke i znanje o rješavanju odgovarajućih

zadataka poslovnog područja.

Mogućnost ponovnog korištenja znanja o domeni – Danas je to jedna od snažnijih

karakteristika ontoloških istraživanja. Ako jedan tim u svom istraživanju razvije

ontologiju do u detalje, neki drugi tim je možda može iskoristiti za svoju domenu,

djelomično ili u potpunosti. Uz to, ako se grade velike i opsežne ontologije, može

se kao polazna točka uzeti nekoliko već postojećih ontologija koje opisuju dijelove

te velike domene.

Potreba za razdvajanjem znanja o domeni od znanja o operacijama – Konfiguracija

programskog proizvoda je neovisna o funkcionalnim zahtjevima koji su zadovoljeni

opisom domene. U stvari domena je zajednička i jedinstvena, a razni programi se

prilagođavaju zahtjevima i potrebama korisnika.

U ovom trenutku cjelovite ontologije nisu standardni dio većine IS-a. Ipak, danas gotovo

sva poduzeća imaju programsku podršku za većinu svog poslovanja. Dobar dio tog

poslovanja je realiziran kroz oblik elektroničkog poslovanja koje zahtijeva dobro

definirane načine komunikacije među agentima. Tako se sve više standardiziraju strukture i

postupci pojedinih područja, što stvara pretpostavke za njihovo organiziranje u neki oblik

ontologije. Noviji primjeri modeliranja i izrade ontologija [5], [6], [19], [25], [26], [27]

pružaju uvid u mogućnosti i potrebe za nadopunjavanje i prilagođavanje vlastite

standardne programske podrške s ontologijama.

Potreba za postojanjem konceptualnih struktura u okruženju s kojim IS treba komunicirati

danas se temelji na Semantičkom webu i aktualnim istraživanjima i spoznajama o

njegovom korištenju i mogućnostima [7], [20], [23], [28], [29].

Nastavak ovog rada usmjeren je ka prikazu međusobne povezanosti značajki sustava i

konceptualnih značajki ontologije kao referentnog modela područja koje se obrađuje,

odnosno kao nadopuna ostalim modelima sustava u smislu riznice znanja o tom području.

Također je pokazano kako faze izgradnje ontologije kroz različite strukture formalnosti

prikaza (neformalne kao modeli analize i oblikovanja, te formalni kao implementacija

elemenata i svojstava sustava, odnosno njegovo korištenje i validacija) prate životni ciklus

programskog proizvoda, te time obogaćuju i upotpunjuju metodološki pristup razvoju IS-a.

Page 12: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

11

3. ONTOLOGIJA

U informatici ontologija je formalni opis objekata i njihovih oznaka, veza, ograničenja i

ponašanja. Tako Neches [30] pruža širu definiciju koja kaže: „Ontologija definira osnovne

pojmove i njihove veze kao rječnik elementarnih pojmova, te pravila za kombiniranje

pojmova i veza kao definicije proširenja tog rječnika“. I ova šira definicija ontologije znači

da u njoj nisu samo pojmovi koji su eksplicitno definirani, nego je u njoj i znanje koje

proizlazi iz tih pojmova.

3.1. Taksonomija ontologije

Iz definicija ontologije vidljiva je karakteristika oblikovanja strukture koja je potrebna za

formalnu specifikaciju, te karakteristika značenja i namjene koja definira zajedničko

područje istraživanja ontologije. Prijedlog tipizacije zajedničkih karakteristika dan je u

dokumentu [31]. Dokument sistematizira šest najvažnijih ontoloških dimenzija (Slika 4.)

pomoću kojih je moguće opisati karakteristike danas korištenih ontologija. Rezultat

istraživanja je predloženi okvir kao osnova za određivanje meta-podataka za različite

ontologije. Time se ujedno i stvaraju preduvjeti za usporedbu ontologija razvijanih u

različitim postupcima, te njihovo zajedničko dijeljenje i ponovno korištenje.

Predložena karakterizacija ontologija pruža okvirni pogled kroz dvije grupe dimenzija:

Semantička dimenzija opisuje što je ontologija, a uključuje ekspresivnost

(izražavanje), strukturu i reprezentacijsku zrnatost (razlučivost prikazivanja).

Pragmatična dimenzija kazuje čija je ontologija, a uključuje kontekst i namjenu,

korištenje automatskog zaključivanja i upravljanje, te metodologiju oblikovanja.

Semantika Pragmatika

Ontologija

Sadržaj

Područje

Ispravnost

Strogoća

Upravljanje

ZaključivanjeZrnatost

Elementi

Stvari Veze

Znanje

Aplikacija

Funkcionalnost

Kontekst

Metoda

oblikovanja

Namjena

Formaliziranje

Izražavanje

Strukturiranje

Slika 4. Mapa ontoloških dimenzija [31]

Page 13: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

12

Veze između koncepta ontologije i njenog pragmatičnog dijela područja koje ona opisuje

(desni dio slike) govore o namjeni i sadržaju ontologije (npr. ontologija živih organizama).

Metoda oblikovanja pomoću koje se razvija ontologija osigurava njenu strogu

formalizaciju i postupke provjere njene ispravnosti. U ontologiju nekog područja mora biti

ugrađeno znanje o tom području, te funkcionalnost i primjena tog znanja. Više o različitoj

namjeni i sadržaju ontologija bit će riječi u potpoglavlju 3.4.2.

Skup veza između glavnog koncepta ontologije i njenog semantičkog koncepta sadržaja

(lijevi dio slike) govori o strukturi koju će dobiti ontologija i odabranom formalnom jeziku

u kome će biti izražena. Sami sadržaj po svom volumenu može biti ili više općenit i

generički ili više zrnat i detaljan. Bez obzira na zrnatost sadržaja svaka ontologija se sastoji

od osnovnih elemenata a to su stvari (zovu se i koncepti) i njihove međusobne veze. Više o

različitim ontološkim strukturama bit će riječi u potpoglavlju 3.3.2.

3.2. Elementi ontologije

Ontologija je sustav koncepata i njihovih veza u kome je svaki koncept prikazan na izričit,

to jest deklarativan način [6]. U raspodijeljenoj okolini (eng. distributed environment)

agenti koriste ontologiju za međusobnu komunikaciju na razini znanja pomoću specifičnih

jezika i zadanih protokola. Stoga bi u opisu ontologije trebalo prepoznati povezanost i

značaj elemenata kao što su: komponente ontologije koje se koriste za modeliranje znanja,

obrasci (eng. paradigms) prikaza znanja koji se koriste u prikazu komponenti, te jezika

koji se koristi u implementaciji ontologije unutar zadanih obrazaca prikaza znanja.

Komponente ontologije koje se koriste u modeliranju znanja su: koncepti (nazivaju se i

klase ili stvari), instance (nazivaju se i individue), relacije, funkcije i aksiomi.

Obrasci odnosno predlošci za prikaz znanja o komponentama ontologije najčešće su zadani

logičkim skupom pravila. Logika prvog reda (eng. first-order logic) i opisna logika (eng.

description logic) su neki od načina kako zadati pravila koja vrijede u pojedinoj ontologiji.

Jezici koji se koriste u implementaciji ontologije (eng. ontology language) su formalni

jezici pomoću kojih se konstruira ontologija i zapisuje znanje o specifičnosti nekog

područja, te pravila ponašanja pomoću kojih se donose odluke vezane za podršku i obradu

tog znanja.

Spomenuti elementi su potrebni da bi se opisala ontologija kroz strukturu i pravila, te da bi

bila formalizirana u nekom strojno čitljivom jeziku.

3.2.1. Komponente ontologije

Ontologija se gradi od slijedećih komponenti: koncepata (eng. concepts), veza (eng.

relations), funkcija (eng. functions), aksioma (engl. axioms) i instanci (eng. instances).

Koncepti opisanog područja predstavljaju kategorizaciju pojmova koji postoje u svijetu

oko nas i često su organizirani u taksonomije kroz koje je primijenjen mehanizam

nasljeđivanja. Taksonomije su najčešće hijerarhijski strukturirane, no ne mora uvijek biti

tako, ovisi o području koje se opisuje. Na primjer, taksonomija teritorijalnog ustroja RH

[32] ima strukturu kako je zadano na slici (Slika 5.).

Page 14: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

13

Slika 5. Primjer taksonomije koncepata

Relacije predstavljaju tip veze između koncepata. Formalno se relacija R definira kao

podskup Kartezijevog produkta n skupova koncepata , to jest , i zapisuje se u obliku ( ). Ontologije najčešće sadrže binarne relacije

kojima se: izgrađuje taksonomija, povezuju različiti dijelovi taksonomije, prikazuju

svojstva (atributi) koncepata:

Općenita binarna relacija nazvana je (eng. is-a ili subclass-of) koristi se za

izgradnju taksonomije kao na slici (Slika 5.). Primjerice, ako općenito vrijedi da je

relacija je(koncept,koncept) relacija između dvaju koncepata, onda su primjeri

takve binarne relacije je(Grad,JedinicaUprave) i je(Opcina,JedinicaUprave).

Binarna relacija se koristi i za povezivanje različitih dijelova taksonomija. Tako

općenita binarna relacija nazvana je-dio (eng. part-of) povezuje koncepte od kojih

jedan predstavlja dio drugog koncepta. Primjerice, ako općenito vrijedi da je

relacija je-dio(koncept,koncept) relacija između dvaju koncepata, onda su primjeri

binarne relacije je-dio(Zupanija,Drzava) i je-dio(JedinicaUprave,Zupanija).

Binarne relacije se koriste i za prikaz svojstava koncepata. Tako atributi dodatno

opisuju pojedini koncept i imaju svoju domenu te je svaki atribut koncepta ujedno i

sam koncept. Tako se formira binarna relacija koja povezuje domenu koncepta i

domenu atributa. Primjerice, binarna relacija za prikaz atributa koncepta je

atribut(koncept,atribut), i može se primijeniti kao na slici lijevo (Slika 6.), za

koncept grada i njegove atribute šifra i naziv u obliku atribut(Grad,Sifra) i

atribut(Grad,Naziv).

Slika 6. Primjer a) taksonomije i b) jedne instance za koncept grada

Instance se koriste za prikaz elemenata ili jedinki (eng. individuals) ontologije, kako je

prikazano u primjeru na slici desno (Slika 6.).

Funkcije su specijalni slučajevi relacija gdje je n-ti element relacije jedinstven za n-1

prethodnih elemenata. Formalno se funkcija F definira sa domene Kartezijevog produkta n-

1 skupova koncepata u skup koncepata , i prikazuje se u obliku . Primjerice, svaka država ima jedinstveni glavni grad, te se može

definirati funkcija glavni-grad(Drzava)=Grad.

Page 15: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

14

Aksiomi se koriste za provjeru konzistentnosti same ontologije ili konzistentnosti znanja

pohranjenog u bazu znanja. Aksiomi služe za prikazivanje znanja koje se ne može

formalno definirati pomoću ostalih komponenti, a predstavljeni su rečenicama koje su

uvijek istinite. Aksiomi su korisni kod izvođenja zaključaka novog znanja. Primjer na slici

(Slika 7.). definira pretpostavku da je grad dio županije a županija dio države, iz čega se

može izvesti zaključak da je grad dio države. Time je postavljeno svojstvo tranzitivnosti

relacije je-dio u slučaju je-dio(Drzava,Zupanija) i je-dio(Zupanija,Grad) iz čega slijedi

je-dio(Drzava,Grad).

Slika 7. Primjer definiranja svojstva tranzitivnosti

Pomoću komponenti ontologije može se prikazati deklarativno znanje kroz strukturu

koncepata i njihovih veza. Također se može prikazati i proceduralno znanje kroz

povezanost koncepata definiranjem relacija, funkcija i aksioma pomoću kojih se u

strukturu znanja ugrađuju elementi zaključivanja.

S obzirom na mogućnosti izražavanja, ontologija zapisana u odabranom ontološkom jeziku

predstavlja znanje koje je pohranjeno u zapisu i tako postaje formalizirano, dostupno i

razumljivo svima koji znaju pročitati zapisane informacije.

3.2.2. Implementacija ontologije

Za modeliranje ontologije i ugradnju znanja najčešće se koriste dvije osnovne grupe

obrazaca: logika prvog reda i opisna logika.

Logika prvog reda ima matematičku podlogu te predstavlja mehanizam zaključivanja

opisan logičkim simbolima. Osnovni elementi poput osnovnih pojmova i tvrdnji koje

definiraju ili mijenjaju svojstva pojmova, te na osnovu njih zadane rečenice ili izjave

(temeljni aksiomi) grade znanje pojedine ontologije.

U konstrukciji rečenice koriste se veznici: , , , , (negacija, i, ili, ako, ako i samo

ako), te kvantifikatori: , (za svaki, postoji) i znak jednakosti . Rečenicama se

prikazuju aksiomi i ostalo izvedeno znanje. Primjerice, tvrdnja da svaka država ima glavni

grad može se zapisati na slijedeći način: x y ( država(x) grad(y) glavni-grad(x)=y.

Opisna logika nema strogi logički pristup zaključivanju jer se znanje prikazuje kao

unaprijed zadana struktura podataka unutar koje se definira semantička mreža i okviri (eng.

frames). Opisna logika sadrži i opisuje djelotvornija rješenja problema nego logika prvog

reda, a i pokazalo se da je, s obzirom na ljudski način razmišljanja, praktičniji mrežno

zasnovani sustav prikaza znanja za razliku od logičkog. Problem može stvarati semantička

nepreciznost koja je karakteristika opisne logike.

Page 16: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

15

Jezici za prikaz ontologije čine cjelinu zajedno sa alatima za razvoj ontologije. U stvari,

svaka metodologija razvoja ontologije ima svoje alate za podršku kojima je uloga

generirati iskoristivu ontologiju, a prateći jezici formalno prikazuju ontologiju i

omogućavaju njenu komunikaciju sa ostalim svijetom. Dva primjera ontologije zapisane u

ontološkim jezicima dana su na slikama (Slika 8. i Slika 9.).

Jezici za prikaz ontologija su jezici za prikazivanje znanja (eng. KR – Knowledge

Representation) jer su prirodni nastavak jezika iz vremena umjetne inteligencije. Nova

karakteristika ontoloških jezika je prihvaćanje XML sintakse kako bi se mogli nositi sa

potrebom obrade web informacija.

Slika 8. U jeziku KIF2 zapisan dio ontologije (Slika 6.a)

Slika 9. U jeziku OWL3 zapisan dio ontologije (Slika 5.)

3.3. Podjela ontologija prema strukturi

Ontološka literatura [7], [18], [22], [33], [34] nudi razne poglede na podjelu ontologija

koje uglavnom ovise o strukturi i namjeni korištenja ontologije. Podjele uglavnom

uspoređuju osnovne elemente od kojih se može izgraditi struktura nasuprot izvedenim

elementima koji opisuju specifična detaljna svojstva nekog podpodručja promatranja.

2 KIF (eng. Knowledge Interchange Format) je jezik razvijen unutar ARPA projekta. 3 OWL (od eng. Web Ontology Language) je ontološki jezik za prikaz znanja.

(define-class Grad (?X) :def (and (Šifra ?X Number) (Naziv ?X String)) :axiom-def (and (Subclass-Of Grad JedinicaUprave) (Template-Facet-Value Cardinality Šifra Grad 1) (Template-Facet-Value Cardinality Naziv Grad 1)) :class-slots ((Šifra "4090") (Naziv "Split"))

<owl:Class rdf:ID=JedinicaUprave/>

<owl:Class rdf:ID=Grad>

<rdfs:subClassOf rdf:resource=#JedinicaUprave/> <owl:disjointWith rdf:resource=#Opcina/> </owl:Class>

<owl:Class rdf:ID=Opcina>

<rdfs:subClassOf rdf:resource=#JedinicaUprave/> <owl:disjointWith rdf:resource=#Grad/> </owl:Class>

Page 17: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

16

3.3.1. Stupanj formalizacije

Što je struktura ontologije složenija to je u nju ugrađeno više detalja i specifičnog znanja

(Slika 10.). Tako se stupanj prisutnosti formalizama može dodatno detaljizirati i

organizirati u slijedeće konceptualizacije [18]: rječnik, leksikon, neformalna hijerarhija,

formalna hijerarhija, okviri i ograničenja.

Slika 10. Podjela ontologija prema strukturi [35]

Rječnik (eng. Glossaries) sadrži popis pojmova s opisom definicija u prirodnom jeziku.

Rječnik nije dovoljno precizan da bi ga mogli obraditi računalni agenti jer spomenute

definicije nisu jednoznačne. Na primjer, pojmu grad može se pridružiti definicija

urbanizirano naseljeno mjesto.

Leksikon (eng. Thesauruses) osim opisa (kao u rječniku) omogućava dodatnu semantiku

među pojmovima. Daje informacije kao što su veze među sinonimima, ali još uvijek ne

podržava eksplicitnu hijerarhiju. Ni ovakvu vrstu povezanosti u mnogim slučajevima

računalni agenti nisu u stanju jednoznačno protumačiti. Primjerice, pojmovi država,

zemlja, nacija predstavljaju sinonime.

Neformalna hijerarhija (eng. Informal hierarchies) ne odgovara strogoj podjeli u podklase

u ontološkom smislu (veza is-a). Smatra se da je to granični primjer strukture koja se

smatra ontologijom. Nasuprot njoj, formalna hijerarhija je prava ontologija. U neformalnoj

hijerarhiji kategorizacija pojmova je dosta labavo posložena te podjele nisu uvijek

dovoljno jasne pa se može dogoditi višeznačnost.

Formalna hijerarhija (eng. Formal hierarchies) ima strogu podjelu opisanu vezom is-a.

Primjerice, koncept učitelj je dio koncepta ljudi i nasljeđuje sva svojstva nadređenog

koncepta. Također vrijedi i da su sve instance koncepta učitelj ujedno i instance koncepta

ljudi. Formalna hijerarhija je nužna za računalno prepoznavanje, za ovaj primjer je to

korištenje principa nasljeđivanja.

Okviri (eng. Frames) predstavljaju strukturu u kojoj se uz koncepte uključuju i svojstva

koncepata. Svojstva dobivaju na značenju ukoliko se poopće i postanu poseban koncept sa

svojim potkonceptima (tip svojstva, neke druge opće karakteristike, i slično) i instancama.

Tako primjerice, svojstvo cijena koncepta proizvod predstavlja općenito svojstvo tipa

numeric, podtipa valuta (podtipovi mogu biti recimo, duljina, težina, jedinica vremena

itd.), a instance valute su HRK, Euro, USD, itd.

Page 18: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

17

Ograničenja (eng. Constraints) dopuštaju posebna ograničenja među pojmovima

ontologije korištenjem primjerice logike prvog reda. Naime, potrebno je unutar ontološke

strukture pohraniti sve više informacija i znanja, te se aksiomima, teoremima i dokazima

obogaćuje i specificira to dodatno znanje.

3.3.2. Semantička dimenzija

Prikazana podjela razina formalnosti objedinjuje sve karakteristike semantičke dimenzije

(Slika 4.) jer se u njoj ogleda i složenost strukture i zastupljenost pojedinih elemenata

ontologije. Što je formalizam veći to je vrsta povezanosti među elementima i količina

aksioma, ograničenja i pravila veća. Pomičući se po pravcu razine formalnosti, kako je

prikazano na slici (Slika 11.) [4], [36], povećava se ekspresivnost, jasnoća i jednoznačnost

prikaza ontologije.

Uz ovakvu podjelu na razini formalnosti može se uočiti i odgovarajuća kategorija jezika za

prikaz ontologije. Sa slike se vidi da nije moguće napraviti striktnu podjelu, ali se vidi

kontinuitet od neformalnih načina tekstualnog zapisa poput rječnika i leksikona, preko

hijerarhijskih struktura taksonomije i tezaurusa, do formalnih zapisa modela podataka i

XML struktura i do konačnih vrlo formalnih logičkih jezika poput opisne logike, logike

prvog reda i sličnih.

Slika 11. Razina formalizacije i organizacija znanja

Bogatstvo unutarnje strukture ontologije kao sredstvo prikaza znanja ujedno predstavlja i

razinu formalnosti tog znanja. Naime, podjela na slici osim semantičkih karakteristika

ontologije pruža i temelj za definiranje razina organizacije znanja. Tako ontologija postaje

i sredstvo za organizaciju i upravljanje znanjem. Ovako prikazani slijed izgradnje

ontologije nekog područja podržava i prati razine organizacije znanja [37], poput kreiranja

znanja, prikupljanja/ pohranjivanja znanja, pretvorbe/ organizacije znanja, distribucije/

pristupa znanju i primjene znanja.

Page 19: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

18

Kreiranjem jednostavne (eng. lightweight) ontologije rječnika i leksikona koncepata s

primjerima instanci započinje se kreiranje znanja o nekom zadanom području.

Prikupljanje/ pohranjivanje znanja kroz neformalnu, a zatim i formalnu hijerarhiju daje

precizne i točne strukture koncepata, instanci i veza među konceptima. Tako se od

jednostavnih prelazi na složene (eng. heavyweight) ontologije.

Okviri formalno omogućuju da se svojstva kao koncepti mogu pomoću binarnih relacija

pridružiti ostalim konceptima. Uključivanjem svojstava koncepata znanje zadanog

područja se nadopunjuje i organizira, a pretvorba znanja u formalnu strukturu osigurava

znanje zapisano na dogovoreni način.

Nadopunjavanje znanja dogovorenim i primjenjivim ograničenjima omogućava kvalitetan

pristup znanju i primjenu takvog znanja kod 1) prepoznavanja obrazaca za zadane

probleme i njihovo rješenje, i 2) korištenja aksioma i formalnih definicija za izvođenje

novog znanja.

3.4. Podjela ontologija prema području namjene

Znanje ugrađeno u ontologiju je znanje o nekom području (domeni). U prethodnom

poglavlju je sistematizirana podjela formalnog zapisivanja znanja o promatranom

području. Konceptualna podjela s obzirom na interesna područja prikazana je u nastavku.

Podjela polazi od općenitih koncepata zajedničkih za više područja, preko specifičnih za

pojedino područje, do detaljnih, primjenjivih na određene specifične dijelove tog

promatranog područja.

3.4.1. Bogatstvo konceptualizacije

Podjela na slici (Slika 12.) prikazuje tko koristi ontološko znanje i na koji način. Podjela

ontologija ovisno o području konceptualizacije [34] uspoređuje ontologije visoke razine

(opće ontologije) koje sadrže znanje koje je nezavisno o rješenju, dok ontologije domene i

zadataka, te ontologije aplikacija, u sebi imaju uključeno i znanje o načinu rješavanja

problema.

Slika 12. Podjela ontologija prema području konceptualizacije

Ontologije visoke razine (eng. Top-level ontologies ili Upper-level ontologies) sadrže

općenite koncepte i neovisne su o specifičnim domenama ili problemima. Namjena im je

ujednačavanje kriterija među velikim zajednicama korisnika a sadrže zajedničke koncepte,

Page 20: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

19

veze i sl. Ponekad se ontologije visoke razine koriste za izradu ontologije domene, no

uglavnom se prvo pristupa izradi ontologije domene nakon čega se ona povezuje sa

ontologijom visoke razine. Primjerice, za potrebe povezivanja ontologija domene radna

grupa IEEE je specificirala ontologiju visoke razine u dokumentu IEEE Standard Upper

Ontology (SUO) Working Group [38].

Ontologije domene (eng. Domain ontologies) prikazuju konceptualizaciju specifičnu za

neko promatrano područje. Koncepti u ontologiji domene su najčešće definirani kao

specijalizacija koncepata i veza koje postoje u takozvanoj općoj ontologiji domene (viša

razina podjele po područjima). Primjerice, koncept i svojstva građana su elementi opće

ontologije domene, dok su atributi kojima se opisuje pripadnost zdravstvenom, poreznom

ili nekom drugom društvenom sustavu elementi pripadajućih specifičnih domena.

Ontologija domene je nepotpuna ukoliko nema pridruženu i ontologiju zadataka (u

nastavku) koja proširuje osnovnu ontologiju koncepata.

Ontologije zadatka (eng. Task ontologies) sadrže rječnik koji je povezan s nekom

općenitom aktivnosti poput planiranja, kontroliranja, dijagnosticiranja, oblikovanja i

slično. Cilj izgradnje ontologije zadataka je da pruži predloške potrebne za izgradnju

modela procesa kojima se rješava problem neke zadane domene. Ti predlošci su

organizirani kao sustavni rječnik pojmova koji se poput gradbenih blokova (eng. building

block) koriste za rješenje nekog problema, bez obzira kojoj zadanoj domeni pripadaju.

Ontologije domene i zadataka (eng. Domain task ontologies) su ontologije koje bi u sebi

trebale objediniti strukturu koncepata domene i strukturu rješavanja problema nad

konceptima domene. Sama ontologija domene se shvaća kao ontologija koja je ovisna o

korištenju (eng. use-dependent). Ontologija zadataka doprinosi rješavanju problema

ponovnog korištenja (eng. reuse) jer se koncepti definirani za pojedini zadatak umjesto u

ontologiji domene nalaze u ontologiji zadataka. Time je postignuta neovisnost ontologije

domene o zadacima, te su određena znanja iz različitih domena organizirana i optimizirana

kroz ponovnu iskoristivost elemenata te domene.

Ontologije aplikacija (eng. Application ontologies) ovise o aplikacijama, te proširuju i

prilagođavaju ontologije domene ili ontologije zadatka zadanim aplikacijama. Ove

ontologije sadrže koncepte koji su specijalizacija koncepata ontologije domene i koncepata

ontologije zadataka. Koncepti ontologije aplikacija općenito odgovaraju ulogama koje

imaju entiteti domene kod pokretanja neke akcije, te tako osiguravaju specifičnost pristupa

znanju i primjene tog znanja u zadanim aplikacijama. Sama specifičnost ontologije

aplikacija znači da one uglavnom nisu ponovno iskoristive, poput primjera terapije liječenja od gripe (Slika 12.) koja je specifična i neprimjenjiva na neku drugu bolest.

3.4.2. Pragmatična dimenzija

Izgradnja ontologije može se promatrati kao proces (više u poglavlju 4.) koji od početka do

konačne verzije evoluira od jednostavnih struktura i općenitih koncepata do bogatih i

kompleksnih riznica znanja. Obje dimenzije (i formalnosti i konceptualizacije) igraju ulogu

u karakteristikama pragmatične dimenzije ontologije (Slika 4.). Područje poslovanja koje

će podržati neka ontologija određuje njen sadržaj i njenu namjenu. Sadržaj

konceptualizacije predstavlja strukturu osnovnih elemenata poslovanja, a namjenom će se

implementirati i elementi kojima se opisuje funkcionalnost i primjena područja poslovanja.

Page 21: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

20

U nastavku su kroz jednostavni primjer iz zdravstvenog sustava objašnjene ontologije

različitih područja konceptualizacije.

Ontologija je specifični model znanja koji ne mora predstavljati znanje o cijelom području.

Npr. za zdravstveni sustav u općoj domeni bolesti može se pričati o dijagnozi, uzročnicima, lijekovima, prevenciji i slično. Inženjer ontologije će modelirati različite

skupove koncepata ovisno o dijelu područja koje treba opisati. Specifični koncepti

pojedinog odabranog područja, primjerice dijagnoze, temelj su za evidenciju bolesti u

ontologiji domene, u ovom primjeru je to gripa (Slika 13.).

Slika 13. Raspodjela znanja kroz primjer konceptualizacije

Ontologija domene je nepotpuna ukoliko nema pridruženu i ontologiju zadataka koja

proširuje osnovnu ontologiju koncepata. Zadatak plan se općenito sastoji od aktivnosti,

faza i trajanja tih aktivnosti, te mjesta, vremena, posla i ostalih resursa koji su potrebni. U

sprezi sa ontologijom domene može se napraviti plan liječenja gripe. Tako se u domeni

bolesti za primjer gripe koriste postojeći predlošci tj. gradbeni blokovi (eng. building

block) iz ontologije zadataka i/ ili iz ontologije domene. U sprezi ontologije domene i

zadataka spomenuti gradbeni blokovi 'ožive' kada se konceptima bolesti pridruže specifični

parametri koji opisuju zadatak plana.

Ontologije aplikacija mogu opisivati pojedine algoritme koji postaju karakteristični kada se

primjene na nekoj domeni uz parametre koje definiraju pridruženi zadaci. Primjer terapije liječenja antibioticima predstavlja postupak (jednostavna varijanta tog postupka može se

pročitati u uputama o korištenju lijeka) koji se prilagođava zadanoj okolini i zadanim

uvjetima. Tako se u plan liječenja gripe može uključiti primjena antibiotika, koja se onda

prilagođava tom konkretnom slučaju, te liječnik pripisuje terapiju liječenja gripe.

Page 22: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

21

4. RAZVOJ ONTOLOGIJE

Životni ciklus razvoja ontologije podržan je metodologijama koje u sebi imaju ugrađene

korake specifične s obzirom na elemente ontologije, vrste ontologije, te primjenu u raznim

jezicima za prikaz ontologije [18]. Općenito, većina poznatih metodologija razvoja

ontologije zasnovana je na IEEE standardu za procese razvoja životnog ciklusa

programske podrške (eng. Software Development Life Cycle, SDLC) [39].

4.1. Elementi ontološkog inženjerstva

Ontološkog inženjerstvo se ozbiljno razmatra i proučava zadnjih 15-tak godina, a uključuje

nekoliko ključnih elemenata [34]: proces razvoja ontologije; principe, metode i

metodologije za izgradnju ontologije; te alate i jezike za podršku tim procesima.

Metodologije za razvoj ontologija uglavnom sadrže korake ili faze izgradnje ontologije, od

neformalnog oblika u početku prikupljanja i specifikacije znanja do formalnog oblika

implementiranog u nekom ontološkom jeziku.

Metodologije razvoja ontologija pojavljuju se 1990.g. i postaju važan element razvoja

sustava zasnovanih na znanju [33], primjerice Ushold & King [40], TOVE [41] i

METHONTOLOGY [43]. U većini metodologija riječ je o strukturnom pristupu razvoju

ontologije kroz konceptualno modeliranje, formalan i logički bogat opis ontologije, te

implementaciju u nekom ontološkom jeziku.

Uobičajene aktivnosti razvoja ontologije su: planiranje, specifikacija, konceptualizacija i

formalizacija, održavanje, procjena, te ponovno korištenje [33], [43]. Stoga, ako se razvoj

ontologije tretira kao projekt onda je izgledno da se zadaci tog posla mogu podijeliti u

grupe zadataka, a unutar grupa u skup aktivnosti, kako je i naznačeno na primjeru

metodologije METHONTOLOGY, Slika 14.

Slika 14. Zadaci i aktivnosti metodologije razvoja ontologije METHONTOLOGY [42].

Page 23: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

22

Alati za podršku razvoju ontologija pojavljuju se sredinom 90-tih, a podijeljeni su u dvije

osnovne grupe:

Alati čiji model znanja je direktno povezan sa odgovarajućim jezikom ontologije.

Jednom kada je ontologija kreirana i pohranjena u biblioteku, novi koncepti se

mogu dodavati i grafički. Kroz grafički editor mogu se definirati elementi

ontologije kao što su koncepti, atributi, veze, funkcije, procedure, pravila, aksiomi i

instance.

Integrirani alati čija glavna karakteristika je proširiva arhitektura i model znanja

koji je neovisan o ontološkom jeziku. Omogućavaju osnovni skup usluga (servisa) i

jednostavno proširenje sa modulima koji omogućavaju dodatne funkcije, poput

alata Protégé4. Protégé je osmišljen da pojednostavni proces prikupljanja znanja za

ekspertne sustave tako da koristi već priskrbljeno znanje (ukoliko ga ima) za

generiranje prilagođenih formi za zapis novog znanja.

Ontološki jezici se započinju stvarati početkom 90-tih kao prirodni nastavak AI jezika za

prikaz znanja, u početku zasnovanih na logici prvog reda, zatim okvirima i logici prvog

reda, i konačno na opisnoj logici. Sve zajedno je bilo korišteno na malom broju aplikacija,

uglavnom je za svaki projekt razvijena pripadajuća ontologija podržana alatima i jezikom

koji onda čine cjelinu, ali se dalje nisu popularizirali do šire uporabe.

Razvoj Interneta dovodi do potrebe za izradom ontološkog jezika koji će moći iskoristiti

karakteristike weba (često nazvani Web-based ontology language ili ontology markup

language). Sintaksa ovih jezika zasnovana je na jezicima kao što su HTML i XML. XML

se ne koristi samo za strukturiranje teksta nego i za razmjenu podataka široko

rasprostranjenih po cijelom webu koji su u pravilu različito strukturirani. Time XML

omogućava bolju interoperabilnost među različitim programima a ontologije postaju važno

sredstvo razmjene informacija pomoću kojih se opisuje struktura i semantika tih

informacija.

Struktura i semantika podataka podržana je ontološkim jezicima čija povezanost je

prikazana na slici (Slika 15.) [18].

Slika 15. Web podržani ontološki jezici

Nemaju svi ontološki jezici isti princip izražavanja ni istu namjenu. Osim toga obrasci

prikaza znanja za implementiranu ontologiju su različiti: okviri, opisna logika, logika

prvog reda, semantička mreža i slično. Svaki od jezika ima ugrađenu svoju ontologiju koja

4 http://protege.stanford.edu/, 12.04.2013.; Protégé je free, open source editor za izradu ontologije i obrazaca zasnovanih

na znanju

Page 24: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

23

onda služi kao opća ontologija ili meta-ontologija za sve ontologije koje se zapisuju u tom

jeziku. Primjer meta-strukture koja povezuje klase jezika OWL i RDF prikazan je na slici

(Slika 16.) [36]. Stoga je važno odabrati prikladan jezik u kome će ontologija biti

implementirana.

Slika 16. Struktura povezanosti klasa jezika OWL i RDF

4.2. Proces razvoja ontologije

Ontologija se može razvijati od početka ili se mogu za razvoj ontologije ponovno koristiti

dijelovi već postojeće ontologije (eng. reuse) i eventualno prilagoditi vlastitim potrebama

(eng. reengineering). To se ostvaruje postupcima spajanja (eng. merging) ili učenja o

ontologiji (eng. ontology learning). Koji god put odabrali [19], [20], [23], [44] lakše ćemo

ga savladati ukoliko koristimo metodološki pristup.

Metodologije za razvoj ontologija (primjer METHONTOLOGY, Slika 14.) uglavnom

podržavaju slijedeće aktivnosti koje treba napraviti da bi se izgradila ontologija [4], bez

naznaka o redoslijedu:

Planiranje i specifikacija - Prije izgradnje ontologije treba napraviti plan glavnih

zadataka, kako te zadatke organizirati, koliko vremena treba i sa kojim resursima da

bi se zadaci napravili. Treba odrediti cilj i namjenu ontologije te specificirati

takozvana pitanja o sposobnosti koja će odgovoriti je li ontologija dobro

strukturirana i hoće li ljudi i aplikacije kojima služi dobiti ispravne i odgovarajuće

informacije. Ova pitanja su sastavni dio dokumenta koji se naziva dokument

specifikacije zahtjeva nad ontologijom. Specifikacija može biti neformalna ili

formalna, što odgovara laganom odnosno složenom prikazu strukture ontologije.

Ukoliko se ontologija gradi iz početka vjerojatno je da će u ovom početnom koraku

biti na razini neformalne strukture.

Konceptualizacija i formalizacija - Kada je prikupljeno dovoljno znanja može se

pristupiti izradi konceptualnog modela koji opisuje problem i njegovo rješenje.

Konceptualizacija je aktivnost u kojoj se prikupljeno znanje formira u strukturu

koncepata. Cilj procesa konceptualizacije je izgraditi formalnu ontologiju, zapisanu u

nekom formalnom jeziku koji osim što opisuje strukturu koncepata ontologije,

opisuje i veze, funkcije i aksiome. Za opis funkcija i aksioma koristi se logika prvog

reda, okviri i opisna logika, koji su sastavni dio jezika za prikaz ontologije. Kroz

formalizaciju i implementaciju model koncepata ontologije postaje iskoristiv i

ukoliko procjena i kontrola kvalitete otkriju nedostatke treba napraviti izmijene ili

usklađenja, te ponovno provjeriti novu verziju.

Page 25: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

24

Ponovno korištenje - Da bi ontologija bila računalno izvediva (eng. computable)

treba je implementirati u neki formalni jezik. U izradi treba nastojati ponovno

iskoristiti postojeće ontologije i integrirati što je moguće više od njih u vlastitu

ontologiju. Aktivnost ponovnog korištenja znanja (eng. reuse) je princip koji se

smatra obaveznim primijeniti u mnogim granama informatike. Ponovno korištenje

mora biti odlika i dobre ontologije.

Procjena - Kako se ne bi dogodilo da se ponovno koristi i implementira kriva

ontologija potrebno je napraviti procjenu ontologije odnosno evaluaciju. Pod tim se

misli na njenu ispravnost, ali i neodgovarajuću strukturu ontologije ili

neodgovarajuće područje koje ona prikazuje.

Održavanje i dokumentacija - Prije ili kasnije će se dogoditi da treba dodati ili

izmijeniti nešto u definiciji ontologije, te je održavanje važna aktivnost koja bi

trebala biti podržana odgovarajućim uputama. Stoga je ontologiju potrebno dobro

dokumentirati kako bi bila ponovno iskoristiva ili potencijalno dijeljena sa drugima.

Navedene aktivnosti opisuju pristup izgradnji i korištenju ontologije preko modeliranja,

zatim formalne i logički bogate definicije do implementacije u računalno razumljivom

obliku.

Slika 17. prikazuje redoslijed odvijanja i povezanost aktivnosti i zadataka za model

životnog ciklusa metodologije METHONTOLOGY [18]. Ovaj model podržava evolucijski

razvoj pomoću prototipa koji dopušta aktivnosti dodavanja, izmjene, te uklanjanja pojmova

i koncepata iz nove verzije ontologije.

Slika 17. Proces razvoja i životni ciklus metodologije METHONTOLOGY

Page 26: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

25

5. ONTOLOGIJA U RAZVOJU INFORMACIJSKOG

SUSTAVA

Za informatičara jedan od problema u oblikovanju programskog rješenja može biti

nepoznavanje područja poslovanja. Dodatni problem predstavlja korisnik ukoliko nije u

stanju svoje znanje prenijeti na cjelovit i logički ispravna način. Korisnik često ima

subjektivno viđenje vlastitih poslovnih zadataka, a postojeći način rada i rješavanja

problema u organizaciji nisu dovoljni da informatičar stekne kvalitetnu sliku o poslovanju.

Bez shvaćanja općenitosti problema i usvajanja znanja o promatranom području poslovanja

informatičar neće biti u stanju oblikovati kvalitetan i poopćen model novog IS-a. Ontološki

pristup u strukturiranju znanja o zadanom području može pomoći informatičarima da

premoste ove probleme. U nastavku je prikazano kako se zajedno mogu koristiti razvoj IS-

a i razvoj ontologije(a).

5.1. Razvoj informacijskog sustava

Svaki projekt razvoja IS-a nastaje kao rezultat potreba nekog poslovanja; bilo da je riječ o

potrebi popravka/ nadgradnje postojećih programa, ili potrebi da se gotovo programsko

rješenje uvede u poslovanje, ili potrebi da se izradi potpuno novi programski proizvod. Na

početku projekta poslovne potrebe su izražene u neformalnom obliku i rezultat su

preliminarnih jednostavnih poslovnih razgovora među (ruko)voditeljima zainteresiranih

strana.

Razvoj IS-a je zahtjevan posao s prilično neizvjesnim rezultatom. Nastojanje da se razvoj

odvija po unaprijed zadanim pravilima ili barem po dogovoru, često u informatici izmakne

kontroli. Razvijati programsko rješenje znači analizirati potrebe i oblikovati ih u rješenja

koja se onda realiziraju kroz računalne programe. Uz to treba još definirati kako će teći

razvoj, tko će ga voditi, tko sudjeluje u njemu, što su zadaci članova tima i koji su

međurezultati, te ne kraju i konačni rezultat tog posla.

Izgradnja informacijski sustava je kompleksna te je potrebno sagledati cjelokupnu

arhitekturu poslovnog sustava. Poslovanje poduzeća je potrebno proučiti i prikazati kroz

modele koji daju različite poglede na poslovnu organizaciju, korištenje informacija i

tehnologiju razvoja. Ti modeli se onda koriste u poslovima programskog inženjerstva, od

analize i oblikovanja programa do njegove izrade, testiranja i uvođenja u rad.

5.1.1. Osnovni model razvoja programskog proizvoda

Programsko inženjerstvo prati nekoliko osnovnih faza razvoja u koje se ubraja analiza

poslovnog sustava, oblikovanje buduće programske podrške, izrada programske podrške te

provjera ispravnosti (testiranje) i na kraju uvođenje programskog rješenja kod korisnika

(Slika 18.). Navedena podjela nije jednostavna, koraci se mogu preklapati, mogu se

odvijati slijedno ili istovremeno, a rezultati nekog koraka mogu utjecati na jedan ili više

drugih koraka.

Page 27: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

26

Stoga se u svakom razvoju koristi određena metodologija razvoja IS-a, pratite se faze i

zadatci pomoću neke metode rada uz korištenje dogovorenih informatičkih ili nekih drugih

modela i tehnika.

Programsko

inženjerstvoAnaliza

Oblikovanje

Planiranje

Informacijski

sustav

Izrada

Primjena

Slika 18. Faze programskog inženjerstva

5.1.2. Arhitektura informacijskog sustava

Prije aktivnosti razvoja potrebno je napraviti plan, definirati poslovne probleme i opseg

zahtijevanog rješenja tog problema. Važno je identificirati glavne koristi novog sustava i

funkcionalnosti koje će taj sustav podržati. Potrebno je izraditi i raspored odvijanja

aktivnosti razvoja programske potpore uvažavajući metodu (i metodologiju) razvoja.

Arhitektura informacijskog sustava je važan razvojni faktor u izgradnji informacijskih

sustava prvenstveno zbog njegove sve veće kompleksnosti. Tako NIST model arhitekture

poslovnog sustava [45] prikazuje trenutno stanje i željeni oblik povezanosti poslovanja i

informacijske tehnologije. Ovaj model sagledava međuodnose arhitekture poslovanja koja

diktira arhitekturu informacija koja onda propisuje arhitekturu IS-a kojim se utvrđuje

arhitektura podataka koja određuje (i s druge strane je podržana) arhitekturu programa,

hardvera, komunikacije i sl.

Važnost strukture podataka u određivanju arhitekture IS-a opisana je i u primjeru okvira

arhitekture procesa razvoja DoDAF [46]. Podatkovno orijentirani pristup opisan je kroz

korake: utvrditi namjenu i opseg sustava; odrediti podatke; prikupiti, razvrstati i pohraniti

podatke; provesti analizu ciljeva; dokumentirati rezultate.

Zachman [47] daje okvir za arhitekturu poslovnog sustava prikazujući spregu između

modela arhitekture sustava i njegovih osnovnih karakteristika (struktura podataka,

funkcije/ procesi, korisnici, lokacije, vrijeme i motivacija). Okvir opisuje model poslovanja

i promatrano područje, model novog sustava, model tehnološkog rješenja, model

komponenti koje grade IS i model uporabe IS-a. Okvir ne daje konačne odgovore na

probleme izgradnje, nego je alat za promišljanje o sustavu koji pomaže pri savladavanju

kompleksnosti izgradnje sustava.

5.1.3. Ontologija kao podrška arhitekturi informacijskog sustava

Metodologije za razvoj ontologija (potpoglavlje 4.1.) koriste se u razvoju ontologija

domene raznih područja poslovanja i ljudskog djelovanja [11], [17], [18]. S ciljem

Page 28: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

27

poboljšanja procesa razvoja IS-a i osiguranja kvalitete programskih rješenja razmatra se i

utjecaj ontološkog inženjerstva kao dijela programskog inženjerstva.

I u razvoju ontologije mogu se prepoznati osnovni inženjerski koraci. Slika 19. prikazuje

ontološko inženjerstvo kroz specifikaciju ontološkog modela kao analizu koja daje model

domene tj. sustava, konceptualizaciju kao dizajn novog sustava tj. modeliranje ontologije,

te formalizaciju kao izvedbu na osnovu modela tj. stvaranje računalom podržane

ontologije. Zajednički dogovor je prihvaćanje i korištenje novog sustava čiji dio je i

razvijena ontologija. Tako uklapanje ontološkog inženjerstva u programsko inženjerstvo

predstavlja poboljšanje razvoja, izvedbe i korištenja sustava [2], [6], [14].

Slika 19. Razvoj IS-a i razvoj ontologije

U prethodnim poglavljima prikazano je kako modeliranje ontologija kroz

konceptualizaciju pruža uvid u opseg i namjenu sustava. Formaliziranje ontologije u

računalno čitljivom obliku nadopunjuje modele organizacije i izvedbe programskih

rješenja. Slika 19. naglašava mogućnost proširenja razvoja IS-a postupcima, modelima i

rješenjima koja pruža razvoj ontologija. Tako će ontologije biti dio modeliranja i

strukturiranja podataka, utjecat će na tehnološka rješenja i arhitekturu IS-a, te će osigurati

bolju razmjenu podataka i komunikaciju s okolinom.

5.2. Uloga ontologije u razvoju informacijskog sustava

Razvoj IS-a je složen proces u kome je prisutno logičko modeliranje, iskorištavanje već

osmišljenih ili napravljenih komponenti, provjera učinjenoga preko modela poslovanja, te

integracije komponenti u cjelinu gotovog proizvoda. Ove važne karakteristike odlika su i

razvoja ontologije koji još i omogućuje proširivanje i usklađivanje postojeće ontologije

potičući tako bolju suradnju unutar razvojnog tima, te među timovima međusobno.

Inženjerski pristup razvoju IS-a i/ ili pripadajuće ontologije naglašava mogućnosti

proširenja zadataka koji prate funkcionalne zahtjeve razvoja programske potpore nekom

poslovanju sa širim pogledom na područje i značaj elemenata tog poslovanja kroz

uključivanje znanja strukturiranog i pohranjenog u ontologiju promatranog područja.

Page 29: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

28

5.2.1. Međudjelovanje ontologije i informacijskog sustava

Uloga ontologije u izradi i korištenju programskih rješenja prepoznata je kroz dva pogleda

[14]. Jedan se opisuje kao ontologija koja postoji i koristi se u razvoju IS-a (eng.

development time), a drugi je korištenje postojeće ontologije u izvršavanju programa (eng.

run time). Unutar ove dvije podjele mogu se konceptualno prepoznati dodatne dvije koje su

određene vrstom ontologije koja podržava IS [14]. To je ontologija kao dio programskog

alata (infrastruktura) i ontologija područja (softver). Slika 20. prikazuje ova dva pogleda u

međusobnom unakrsnom djelovanju. Prikaz tog djelovanja daje nekoliko mogućnosti

suradnje ontologije i razvoja IS-a.

U slučaju kada se ontologija koristi u razvoju IS-a (Slika 20. lijevi stupac) ona je već

implementirana i njenu bazu znanja projektanti mogu ponovno iskoristiti i uklopiti u

analizu i razvoj svojih programskih rješenja na dva načina.

Slika 20. Primjena ontologije u razvoju IS-a [14]

Razvoj omogućen ontologijom (eng. ontology-enabled development) kada postoji opća

ontologija (ontologija visoke razine) kao infrastruktura koju informatičari koriste kao

podršku u izradi programa. Nedostatak ontologije visoke razine je manjak detalja i

različitosti koje onda pružaju ograničenu količinu ontološkog znanja. Međutim ona

omogućuje standardizaciju strukture znanja i pomaže projektantima kod konceptualne

analize poslovnog sustava kako bi se optimizirala programska rješenja:

Standardizacija strukture znanja [44], [48], [49] – Ontologija je osposobljena za

izradu modela i meta-modela, definiranje transformacija među modelima i

upravljanje meta-podacima. Model područja u obliku koncepata, veza i poslovnih

pravila moguće je prikazati pomoću nekog od standardnih jezika za modeliranje

kao što je UML, ili pomoću nekog od ontoloških jezika.

Optimizacija programskog rješenja [25], [50] – Znanje združeno u formalni oblik

predstavlja predložak za generiranje algoritama i postupaka i tako optimizira i

preoblikuje programsko rješenje.

Page 30: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

29

Razvoj vođen ontologijom (eng. ontology-driven development) je slučaj kada postoji skup

ponovno iskoristivih ontologija organiziranih u biblioteke ontologija domene i/ ili

ontologija zadataka [13]. U ovom slučaju semantički kontekst ontologija se može prevesti

u komponente sustava, te tako smanjiti napor uložen u analizu poslovnog sustava i

osigurati ispravnost modeliranja IS-a:

Eksplicitni opis strukture [27], [51] – Ontologija opisuje područje programskog

rješenja i sadrži jezično neovisne opise strukture podataka i programa. Tako pruža

objedinjeni prikaz znanja zadanog područja i izvornog koda omogućujući

jednostavnije međusobno prepoznavanje i upotpunjavanje.

Zajednička suglasnost [48] – Elementi ontologije stvaraju preduvjete da se

sudionici slažu sa shvaćanjem područja problema, te ako je potrebno mijenjaju

korisničke zahtjeve.

Ponovno korištenje [20], [23] – Ontologija se može koristiti kao podrška

upravljanju zahtjevima jer je prikladna za evolucijski i iterativni pristup

specifikaciji zahtjeva.

Provjera valjanosti i konzistentnosti [26] – Automatska provjera konzistentnosti

strukture ontologije je potencijalna prednost u odnosu na polu-formalne i

neformalne pristupe koji ne sadržavaju logičke formalizme.

U slučaju kada se ontologiju koristi u izvršavanju programa (Slika 20. desni stupac)

promatramo je kao sastavni dio arhitekture IS-a. Ova ontologija je implementirana i

aktivno sudjeluje u pretraživanju i pristupanju podacima, također na dva načina.

Arhitektura omogućena ontologijom (eng. ontology-enabled architectures) gdje je

ontologija ugrađena u programsko rješenje. Korištenje programa aktivira ontologiju koja

surađuje s ostalim komponentama kako bi se postigle traženi ciljevi i funkcionalnosti:

Podržano logičko zaključivanje [25], [50], [52] – Ontološki jezici za razliku od

standardnih programskih jezika bolje podržavaju logičko zaključivanje, integraciju

i međudjelovanje.

Semantic web servisi [3], [20], [53] – Korištenje web formata za prikaz znanja nudi

programerima mogućnost pronalaženja potencijalno djeljivih modela domene i

baze znanja iz vanjskih i unutarnjih izvora.

Kreiranje upita i pogleda na kod [51] – Formalna specifikacija ontološkog modela

može biti preduvjet za primjenu modelom vođenog (eng. model-driven) pristupa u

oblikovanju i izradi programa.

Testiranje programskog rješenja [28] – Ontologija može pomoći u generiranju

osnovnih primjera za testiranje ukoliko je znanje nekog područja kodirano u

ontološkom jeziku. Jednom kad je ontologija zapisana i raspoloživa u nekom

formatu, moguće je to znanje ponovno iskoristiti i za aktivnost testiranja

programskog proizvoda.

Arhitektura temeljena na ontologiji (eng. ontology-based architectures), što znači da su

struktura i znanje o postojećoj (ili potencijalnoj) ontologiji zadanog područja ugrađeni u

komponente programskog rješenja. Ovo znanje se može iskoristiti u zadanim i definiranim

uvjetima rada samog IS-a:

Struktura podataka i programa [27], [44] – Ontologija pruža mehanizme

združivanja informacija koje u normalnim okolnostima ostaju izolirane u

odvojenim opisima modela sustava ili komponenti sustava.

Page 31: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

30

Preslikavanje modela u kod [21], [26] – Ontologija raspolaže ontološkim jezicima

koji pružaju mogućnosti za integraciju sa programskim jezicima koji koriste MDA

(eng. Model-Driven Architecture ) principe.

Primjena poslovne logike pomoću generatora pravila [49] – Promjene poslovnih

pravila se lakše mogu mijenjati jer nisu implicitno zapečena u kodu nego su

eksplicitno zapisana u nekom formalnom jeziku ontologije.

Prethodno tumačenje veze ontologije i IS-a stavlja naglasak na razvoj IS-a za koji se

analizira eventualna uloga ontologije. U nastavku je detaljnije analizirano ontološko

modeliranje kroz opis tipova ontologija prema razini konceptualizacije i prema razini

formalnosti. Ovom podjelom se dobiva bolji uvid u razine strukture i područja koji se

opisuje ontologijom, te se tako dobiva uvid u detalje njene mogućnosti doprinosa razvoju

IS-a.

5.2.2. Tipovi ontologija i upravljanje znanjem

Ontološki pristup kao podrška procesima razvoja IS-a može se razmatrati kroz dva aspekta:

konceptualni i formalni. Konceptualna svojstva (značajke) sadržavaju znanje o području

koje upotpunjuje znanje o poslovanju ugrađeno u modele IS-a (kako logičke, tako i

fizičke). Formalna razina ontologije prikazuje stupanj oblikovanja ontološkog modela koji

ovisi o fazi u kojoj se nalazi razvoj pojedine ontologije, te njenoj podržanosti ontološkim

alatima i jezicima.

Slika 21. prikazuje shemu na kojoj se ontologije dijele na nekoliko različitih područja i

struktura. Vertikalna os prikazuje jednostavnu podjelu na dvije osnovne razine

konceptualizacije:

visoka razina - modeli koji se koriste u ontološkim alatima i

domena - modeli koji opisuju neko promatrano područje.

Horizontalna os je podijeljena u dva osnovna stupnja formalnosti:

logički model (neformalne ontologije) – važan u razvoju programa i

fizički model (formalne ontologije) – ugrađen u programsko rješenje.

Još finija podjela ontologija [33] (Slika 21. po uzoru na Slika 13.) omogućava prikaz

složenijeg odnosa između razine konceptualizacije i razine formalnosti.

Razina konceptualizacije je podijeljena s obzirom na namjenu i bogatstvo koncepata

ontološkog modela. Početak meta-modela zadane domene je ontologija visoke razine koja

je sastavni dio ontološkog alata. Ove ontologije visoke razine, te dijelom i ontologije

domene [5] predstavljaju meta-strukture na koje se referenciraju ontologije zadataka i

ontologije aplikacija zadanog područja.

Razina formalnosti također polazi od meta-modela (logičkog modela) u obliku neformalne

strukture. Neformalna struktura postaje specifična u trenutku formalizacije kada se

implementira u neki ontološki jezik. Dodatna specifičnost u oblikovanju strukture postiže

se ugradnjom pravila i ograničenja.

Ovakva specifična formalna struktura često je upotpunjena i s postavkama primjene u

zadanom okruženju. To znači da niti jedna od osi nije samodostatna u opisu neke zadane

ontologije. Ona je najčešće predstavljena kombinacijom jednog ili više tipova ontologija

definiranih po svakoj od osi na slici (Slika 21.).

Page 32: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

31

Slika 21. Ontološko bogatstvo i upravljanje znanjem

Između dvije opisane osi na gornjoj slici smještena je linija znanja. Glavni procesi

upravljanja znanjem poput organizacije, prikupljanja i transfera znanja rezultat su (dobrog)

vođenja i upravljanja procesima poslovanja [52]. Situacija kada je poslovanje podržano

programskim rješenjem i ontološkom strukturom (Slika 20.) stvara preduvjete za

učinkovito prikupljanje i obradu raznolikih i složenih područja znanja. Primjerice [25],

sustav upravljanja znanjem (eng. Knowledge Management System) zasnovan na ontologiji

oslanja se na pretraživanje (eng. mining knowledge) informacija i ugrađenog znanja,

organizaciju i izražavanje tog znanja pomoću ontologije, te prikaz i dijeljenje tako

organiziranog znanja agentima koji ih potražuju. Može se reći da je mjesto u dijelu ravnine

omeđene dvjema osima gdje je smještena neka ontologija važno u smislu da tu ontologiju

opisuje kroz bogatstvo ugrađenog znanja [44].

No linija znanja na slici (Slika 21.) ukazuje na još važnih karakteristika tog znanja ukoliko

se ono promatra kroz ontologiju kao riznicu znanja. Potreba za ontologijom unutar

specifične zadane domene nekog poslovnog područja započinje ispitivanjem okoline. Vrlo

je vjerojatno da izvan poslovnog sustava postoje biblioteke gotovih iskoristivih ontologija

u kojima se nalaze dijelovi potrebnog znanja.

U tu svrhu Slika 21. prikazuje međusobni odnos vanjskog i unutarnjeg svijeta zadane

poslovne domene. U traganju za meta-modelima zadane domene nailazimo na grupe

konceptualno bogatih ontologija koje sadrže puno više od onoga što je potrebno specifičnoj

ontologiji neke domene. Takva je situacija s ontologijama koje opisuju zajedničke

koncepte, primjerice, podaci o građanima, podaci o automobilima i sl. Također je tako i

sa skupovima ontologijama (klasteri ontologija [53]) koje opisuju šire domene od onih koje

su potrebne u specifičnim okolnostima pojedinog poslovanja. Primjerice, klasteri

ontologija medicinskih znanosti sigurno u sebi imaju elemente korisne i za specifičnu

ontologiju domene Zavoda za zdravstveno osiguranje. Pronađene ontološke strukture je

potrebno dodatno proširiti i/ ili ograničiti u obliku specifičnih zadataka i aplikacija koje

predstavljaju prilagođavanje potrebama zadane ontologije domene.

Page 33: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

32

5.3. Problemi i područje daljnjeg istraživanja

U današnje vrijeme nove tehnologije usmjeruju razvoj programskih rješenja te tako utječu

na modeliranje komponenti i arhitekturu IS-a. Postojeći IS-ovi se sve teže nose s

očekivanjima koja diktira tehnologija. Zanimljive posljedice s obzirom na analizu

korištenja ontologija u razvoju IS-a odnose se na arhitekturu i pristup podacima, te

efikasno korištenje tih podataka. S tim vezano je i ovih nekoliko problema:

Organiziranje podataka [26] – Izrada programskih rješenja u okruženju

Semantičkog web-a zahtijeva organiziranje podataka u ontologije i njihov pristup

pomoću agenata. U takvom okruženju agenti potražuju informacije iz ontologija i

prosljeđuju ih drugim programima. Time se postepeno klasične glomazne baze

podataka i podatkovni sloj u standardnim programima zamjenjuju ontologijama.

Interoperabilnost [54] – Veliki broj sustava zahtijeva definiranje standarda za

razmjenu informacija. Uobičajene papirnate specifikacije trebale bi ustupiti mjesto

ontologijama koje pružaju jedinstvenu domenu, meta-podatke kao zajedničko

spremište, te zadana pravila i okvire u koje se ugrađuju različiti servisi.

Upravljanje znanjem [25] – Potreba za osnovnim, eksplicitnim, strukturiranim i

nestrukturiranim znanjem raste paralelno s razvojem tehnologije i veliki je izazov

za informatičare kako efikasno prikupiti i sortirati složeno, različito i

višenamjensko znanje. Sustav upravljanja znanjem na temelju ontologije osigurava

učinkovito pretraživanje, organiziranje i izražavanje, bilo od strane ljudi ili

programa.

Potrebno je definirati postupak rješavanja problema izrade/ izmjene/ nadopune

programskih rješenja pomoću ontologije. Ideje za postupak otkrivanja znanja o domeni

pomoću ontološkog inženjerstva, te posljednja dostignuća na ovom području mogu se

pronaći i u relevantnoj literaturi.

Primjerice, postupak formiranja Interoperability Registry infrastructure [54] realiziran je

kroz korake:

1. definiranja eGovernment ontologije domene,

2. oblikovanja sheme meta-podataka s osnovnim elementima,

3. izrade formalnog opisa tijeka procesa i pripadajućih dokumenata, te

4. realizacije sveobuhvatne platforme za implementaciju.

U [55] se navodi nekoliko općenitih goal-oriented e-government faza za izradu web

servisa, poput:

1. faze otkrivanja u kojoj se semantički ispravno strukturira zahtjev,

2. faze istraživanja web-a gdje se mogu dohvatiti gotovi servisi,

3. faze implementacije i

4. faze izvršavanja zahtjeva.

Još jedan primjer je razvoj ontološkog modela u kontekstu e-government knowledge

modelling prikazan u [51]. U ovom modelu izgradnja ontologije opisana je kroz nekoliko

razina:

1. apstrakcija u kojoj se izgrađuje core conceptual model,

2. semantički kontekst gdje se izgrađuju entiteti e-government ontologije,

Page 34: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

33

3. definicija i prilagođavanja specifičnim potrebama i zahtjevima i

4. izgradnja instanci, svojstava i ograničenja.

Očito je da se zajednički nazivnik ovih nekoliko opisanih pristupa može sažeti u korake:

prepoznavanje domene, izgradnja domene, obogaćivanje domene s specifičnim zadacima,

te implementacija domene u okruženje. Time je naglašeno kako pozicija u kojoj se nalazi

proces razvoja IS-a može dostići bolju razinu kvalitete, te efikasniji i brži daljnji razvoj

ukoliko se udruži s razvojem ontologije. Kako nije svejedno koji stupanj bogatstva

strukture (Slika 21.), a time i ugrađenog znanja, ima odgovarajuća ontologija, svakako

treba prvo prepoznati kakve je strukture i o čemu je ta ontologija, a onda s obzirom na

spoznaju odrediti gdje će se ona primijeniti u razvoju i korištenju IS-a.

Tako bi, s obzirom na ove dosadašnje spoznaje, postupak u rješavanju određenog

projektnog zadatka pomoću ontologije mogao općenito biti definiran kroz slijedeće korake:

1. Prepoznavanje područja i definiranje opsega projektnog zadatka.

2. Oblikovanje strukture znanja o području pomoću elemenata prepoznate ontologije,

te eventualno nadogradnjom vlastite ontologije specifičnim konceptima i pravilima

ponašanja (poslovanja).

3. Modeliranje i implementacija novog programskog rješenja u zadani informatički

prostor.

4. Povezivanje novog programskog rješenja sa poslovnim sustavima iz okruženja.

Navedeni postupak sadrži elemente razvoja ontologije i razvoja IS-a. U početku je težište

na modelu informacija (domeni) a kasnije na modelu funkcionalnosti (procesima) [29].

Stoga se može pretpostaviti da bi korištenje ontologije utjecalo na arhitekturu IS-a, a

posljedično i na organizaciju poslovanja i upravljanje znanjem.

Page 35: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

34

6. ZAKLJUČAK

U ovom radu je prikazana mogućnost uvođenja ontologije i pristupa ontološke podrške u

razvoj i održavanje IS-a. Ontološka baza znanja za IT stručnjake predstavlja znanje koje se

može ponovno koristiti i uklopiti u analizu i razvoj novih programskih rješenja. Također

može pomoći kod izmjene i poboljšanja postojeće programske podrške, kako na web-u

tako i u drugim arhitekturnim rješenjima.

Danas još uvijek ontologije nisu sastavni dio IS-a, no razvoj informacijske tehnologije

omogućava neke nove pristupe u izvedbi i korištenju programskih rješenja. Tako se web

okruženje nameće kao infrastruktura koja poduzećima omogućava efikasniju komunikaciju

sa svijetom, te u konačnici bolje pozicioniranje u konkurentskom okruženju prema svojim

klijentima.

Uočeno je nekoliko problema koje imaju današnji robusni IS-ovi, poput neefikasne

organizacije i skladištenja podataka, problema u komunikaciji i razmjeni podataka, te

nedovoljno kvalitetne organizacije i upravljanja znanjem.

U ovom radu je analizirana mogućnost proširenja zadatka razvoja IS-a pomoću ontološkog

inženjerstva. Karakteristike koje pruža takvo proširenje predstavljaju potencijal i

poboljšanja u rješavanju gore navedenih problema. Također su, u nekoliko koraka,

naznačene i smjernice postupka koji opisuje kako koristiti ontologiju u razvoju IS-a.

U navedenom postupku korištenja ontologije u razvoju IS-a, trebalo bi voditi računa o

slijedećim pitanjima:

Vrste i bogatstvo strukture korištenih ontologija – Razina formalnosti pojedine

ontologije predstavlja ograničenje u mogućnosti korištenja u razvoju IS-a.

Primjerice, ontologija razvijena samo do konceptualne razine nije iskoristiva u

primjeni IS-a ukoliko se iz nje ne izradi formalna ontologija.

Mjesto primjene u procesu razvoja IS-a – Aktivnosti pojedine faze razvoja IS-a

treba prilagoditi mogućnostima koje pružaju potencijalne ontologije. Primjerice, u

testiranju sustava ontologije mogu obogatiti testiranje u 'laboratorijskim uvjetima'

jer pretpostavljamo da je u njih ugrađeno znanje o području.

Page 36: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

35

7. LITERATURA

[1] P. Mika, H Akkermans, “Analysis of the State-of-the-Art in Ontology-based Knowledge

Management,” EU-IST Project IST-2001-34103 SWAP, Vrije Universiteit, Amsterdam,

2003.

[2] R. Jasper, M. Uschold, “A Framework for Understanding and Classifying Ontology

Applications,” Twelfth Workshop on Knowledge Acquisition Modeling and Management

KAW’99, 1999.

[3] N. Leung, S. H. Kang, S. K. Lau, J. Fan, “Ontology-based Collaborative Inter-organizational

KM Network,” Interdisciplinary Journal of Information, Knowledge, and Management,

Volume 4., 2009.

[4] K. Klarin, “Ontologija i razvoj informacijskog sustava u javnoj upravi,“ CASE 23, Zagreb,

2011.

[5] D. Gasevic, D. Djuric, V. Devedzic, “Model Driven Architecture and Ontology

Development,“ Springer-Verlag, Berlin, Heidelberg, 2006.

[6] V. Devedžić, “Understanding ontological engineering,” Communications of the ACM, 2002.

[7] O. Lassila, D. McGuinness, “The Role of Frame-Based Representation on the Semantic

Web,” Technical Report KSL-01-02, Knowledge Systems Laboratory, Stanford University,

Stanford, California, 2001.

[8] C. Legg, „Ontologies on the semantic web,“ Annual Review of Information Science and

Technology 41(2007), Chapter 9, 407–452, 2007.

[9] B. Smith, C. Welty, „Ontologies: Towards a New Synthesis,” FOIS’01, October 17-19,

2001, Ogunquit, Maine, USA, 2001.

[10] T. R. Gruber, „A Translation Approach to Portable Ontology Specifications,“ Knowledge

Acquisition 5(2), str. 199-220, 1993.

[11] W. N. Borst, “Construction of Engineering Ontologies for Knowledge Sharing and Reuse,”

Centre for Telematica and Information Technology, University of Twenty, Enschede, The

Netherlands, 1997.

[12] N. Guarino, P. Giaretta, „Ontologies and Knowledge Bases: Towards a Terminological

Clarification,“ in N.J.I. Mars N (ed), Towards Very Large Knowledge Bases, IOS Press,

Amsterdam, 1995.

[13] N. Guarino, „Formal Ontology in Information Systems,“ FOIS'98, Trento, Italy, 1998.

[14] H. Happel, S. Seedorf, „Applications of Ontologies in Software Engineering,“ 2nd

International Workshop on Semantic Web enabled Software Engineering (SWESE), 5th

International Semantic Web Conference (ISWC), 2006.

[15] K. Klarin, S. Mladenovic, „The Method of Knowledge Distribution and Use in Public

Adminitration,“ MIPRO, 2012 Proceedings of the 35th International Convention, 1672-1678,

2012.

[16] http://www.scientific-computing.com/features/feature.php?feature_id=37, posjećeno zadnji

put: 22.05.2013.

[17] R. Mizoguchi, „Tutorial on Ontological Engineering,“ New Generation Computing,

21(2003), Ohmsha Ltd. and Springer-Verlag, 2003.

[18] A. Gomez-Perez, M. Fernandez-Lopez, O. Corcho, “Ontological Engineering,“ Springer-

Verlag, Berlin, Heidelberg, 2004.

Page 37: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

36

[19] C. Pardo at al., „An ontology for the harmonization of multiple standards and models,“

Computer Standards & Interface 34 (2012) 48-59, Elsevier, 2012.

[20] E. Simperl, „Reusing ontologies on the Semantic Web: A feasibility study,“ Data &

Knowledge Engineering 68 (2009) 905-925, Elsevier, 2009.

[21] N. Ferreira, R. J. Machado, D. Gašević, “An Ontology-based Approach to Model-Driven

Software Product Lines,“ Fourth International Conference on Software Engineering

Advances, IEEE, DOI 10.1109/ICSEA.2009.88, 2009.

[22] M. Uschold, M. Gruninger, “Ontologies: Principles, Methods and Applications,” The

University of Edinburgh, 1996.

[23] M. d’Aquin, N. F. Noy, „Where to publish and find ontologies? A survey of ontology

libraries,“ Web Semantics: Science, Services and Agents on the World Wide Web 11 (2012)

96–111, Elsevier, 2012.

[24] N. F. Noy, D. L. McGuinness, „Ontology development 101: A guide to creating your first

ontology,“ Technical report, KSL-01-05, Stanford Knowledge Systems Laboratory, 2001.

[25] J.Zhang, W. Zhao, G. Xie, H. Chen, „Ontology-Based Knowledge Management System and

Application,” Procedia Engineering 15 (2011) 1021–1029, Elsevier, 2011.

[26] A. J. Wiebe, C. W. Chan, „Ontology driven software engineering,“ 25th IEEE Canadian

Conference on Electrical and Computer Engineering (CCECE), IEEE, 2012.

[27] R. R. Starr, J. M. Parente de Oliveira, “Concept maps as the first step in an ontology

construction method,” Information Systems 38 (2013) 771–783, Elsevier, 2013.

[28] X. Wang, T. Vitvar, V. Peristeras, “WSMO-PA: Formal Specification of Public

Administration Service Model on Semantic Web Service Ontology,“ 40th Annual HICSS,

DOI 10.1109/HICSS.2007.618, 2007.

[29] R. Klischewski, „Information Integration or Process Integration? How to Achieve

Interoperability in Administration,“ Proceedings of the Third International Conference,

EGOV 2004, Zaragoza, Spain, pp 57-65, DOI 10.1007/978-3-540-30078-6_10, 2004.

[30] R. Neches et al., “Enabling technology for knowledge sharing,” AI Magazine 12(3):36–56,

1991.

[31] M. Gruninger, O. Bodenreider, F. Olken, L. Obrst, P. Yim, „Ontology, taxonomy,

folksonomy: Understanding the distinctions,“ Ontology Summit 2007, Applied Ontology 3

(2008) 191–200, DOI 10.3233/AO-2008-0052, 2008.

[32] Ministarstvo financija RH, „Pravilnik o proračunskim klasifikacijama,“ NN br. 026/2010.

[33] C. Roussey, “Guidelines to build ontologies: A bibliographic study; Urban ontologies for an

improved communication in urban civil engineering projects - TOWNTOLOGY Project,”

COST Technical Committee “Transport and Urban Development”, Lyon, 2005.

[34] C. Calero, F. Ruiz, M. Piattini, “Ontologies for Software Engineering and Software

Technology,” Springer-Verlag, Berlin, Heidelberg, 2006.

[35] P. Cimiano, „Ontology learning and population from text:Algorithms, Evaluation and

Applications,” Springer, 2006.

[36] N. Guarino, D. Oberle, S. Staab, „What Is an Ontology?,“ Handbook on Ontologies, Second

Edition, str. 1-20, DOI 10.1007/9783540926733, SpringerVerlag Berlin Heidelberg 2003.,

2009.

[37] J. Liebowitz, „What They Didn't Tell You About Knowledge Management,“, Scarecrow

Press, Inc., 2006.

[38] http://suo.ieee.org, posjećeno zadnji put: lipanj, 2012.

[39] “IEEE Standard for Developing Software Life Cycle Processes,” IEEE Std 1074-1997,

(Revision of IEEE Std 1074-1995; Replaces IEEE Std 1074.1-1995)

Page 38: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

37

[40] M. Uschold, M. King, “Towards a Methodology for Building Ontology,” IJCAI'95

Workshop on Basic Ontological Issues in Knowledge Sharing, Montreal, Canada, 1995.

[41] M. Gruninger, M. S. Fox, “Methodology for the Design and Evaluation of Ontologies,”

Workshop on Basic Ontological Issues in Knowledge Sharing, IJCAI-95, Montreal, 1995.

[42] http://rhizomik.net/html/~roberto/thesis/html/Methodology.html, posjećeno zadnji put

20.05.2013

[43] M. Fernandez, A. Gomez-Perez, N. Juristo, „METHONTOLOGY: From Ontological Art

Towards Ontological Engineering“, AAAI Technical Report SS-97-06, 1997.

[44] R. J. Gil, M. J. Martin-Bautista, „A novel integrated knowledge support system based on

ontology learning: Model specification and a case study,“ Knowledge-Based Systems 36

(2012) 340-352, Elsevier, 2012.

[45] NIST Special Publication 500-167, „Information Management Directions: The Integration

Challenge,” 1989.

[46] DoDAF – Department od Defense Architecture Framework Version 2.02, SAD, 2010.

[47] T. A. Hokel, „The Zachman Framework for Enterprice Architecture: an Overview,”

Framework Software, Inc., The Enterprise Framework Group, 2008.

[48] T. E. El-Diraby, H. Osman, „A domain ontology for construction concepts in urban

infrastructure products,“ Automation in Construction 20 (2011) 1120-1132, Elsevier, 2011.

[49] L. Rao, G. Mansingh, K.-M. Osei-Bryson, “Building ontology based knowledge maps to

assist business process re-engineering,” Decision Support Systems 52 (2012) 577–589,

Elsevier, 2012.

[50] T Walter, F. S. Parreiras, S. Staab, “An ontology-based framework for domain-specific

modeling,” Software System Model, Springer, DOI 10.1007/s10270-012-0249-9, 2012.

[51] A.-M. Sourouni, G. Kourlimpinis, S. Mouzakitis, D. Askounis, “Towards the government

transformation: An ontology-based government knowledge repository,” Computer Standards

& Interfaces 32 (2010) 44–53, Elsevier, 2010.

[52] I. Savvas, N. Bassiliades, „A process-oriented ontology-based knowledge management

system for facilitating operational procedures in public administration,“ Expert Systems with

Applications 36 (2009) 4467-4478, Elsevier, 2009.

[53] Lj. Stojanovic, N. Stojanovic, D. Apostolou, „Change management in e-government:

OntoGov case study,“ Journal Article in Electronic Government, an International Journal ,

Volume 3, Number 1/2006, 74-92, Inderscience Publishers, 2006.

[54] Y. Charalabidis, D. Askounis, “Interoperability Registries in eGovernment: Developing a

Semantically Rich Repository for Electronic Services and Documents of the new Public

Administration,” Proceedings of the 41st HICSS 2008, DOI 10.1109/HICSS.2008.218, 2008.

[55] P. Salhofer, B. Stadlhofer, G. Tretter, “Ontology Driven e-Government,” Electronic Journal

of e-Government Volume 7 Issue 4 2009, (pp 415 - 424), available online at www.ejeg.com,

2009.

Page 39: Korištenje ontologija pri razvoju - FESBintranet.fesb.hr/Portals/0/docs/nastava/kvalifikacijski/Karmen Klarin KDI v14.pdf · znanja (eng. knowledge engineering) i umjetne inteligencije

Karmen Klarin Kvalifikacijski doktorski ispit

38

8. PRILOG

8.1. Kazalo slika

Slika 1. Jednostavni primjer konceptualnog modela ontologije živih organizama [16] ....... 6

Slika 2. Model sustava temeljen na ontologiji [15] ............................................................... 7

Slika 3. Uloga ontologije i Semantic Weba [18] ................................................................... 8

Slika 4. Mapa ontoloških dimenzija [31] ............................................................................ 11

Slika 5. Primjer taksonomije koncepata .............................................................................. 13

Slika 6. Primjer a) taksonomije i b) jedne instance za koncept grada ................................. 13

Slika 7. Primjer definiranja svojstva tranzitivnosti ............................................................. 14

Slika 8. U jeziku KIF zapisan dio ontologije (Slika 6.a) ..................................................... 15

Slika 9. U jeziku OWL zapisan dio ontologije (Slika 5.) .................................................... 15

Slika 10. Podjela ontologija prema strukturi [35]................................................................ 16

Slika 11. Razina formalizacije i organizacija znanja ........................................................... 17

Slika 12. Podjela ontologija prema području konceptualizacije.......................................... 18

Slika 13. Raspodjela znanja kroz primjer konceptualizacije ............................................... 20

Slika 14. Zadaci i aktivnosti metodologije razvoja ontologije METHONTOLOGY [42]. . 21

Slika 15. Web podržani ontološki jezici .............................................................................. 22

Slika 16. Struktura povezanosti klasa jezika OWL i RDF .................................................. 23

Slika 17. Proces razvoja i životni ciklus metodologije METHONTOLOGY ..................... 24

Slika 18. Faze programskog inženjerstva ............................................................................ 26

Slika 19. Razvoj IS-a i razvoj ontologije ............................................................................. 27

Slika 20. Primjena ontologije u razvoju IS-a [14] ............................................................... 28

Slika 21. Ontološko bogatstvo i upravljanje znanjem ......................................................... 31