ontologije

19
Fakultet strojarstva i brodogradnje Upravljanje znanjem Seminar ONTOLOGIJE 0

Upload: 1983matija

Post on 26-Oct-2015

79 views

Category:

Documents


0 download

DESCRIPTION

Seminar iz kolegija upravljanje znanjem ontologije

TRANSCRIPT

Page 1: Ontologije

Fakultet strojarstva i brodogradnje

Upravljanje znanjem

Seminar

ONTOLOGIJE

Matija Petranović

0035148514

Dr.sc. Nenad Bojčetić Računalno inženjerstvo

0

Page 2: Ontologije

Sadržaj1.Ontologije – općenito………………………………………..2

2.Sastav ontologija…………………………………………….3

3.Tipovi ontologija…………………………………………….4

4.Razvoj ontologija……………………………………………5

4.1.Kreiranje ontologije………………………………..6

4.2.Služenje ontologijom………………………………6

4.3.Održavanje ontologije……………………………...7

5.Ontology Library System……………………………………7

6.Ontology Builder…………………………………………….7

7.Ontology Server……………………………………….……..8

8.Formalni jezici za prikaz i primjenu ontologija………….…..9

9.Primjer ontologije e-bankarskih transakcija………………....11

10.Popis literature………………………………………….…..12

1

Page 3: Ontologije

1.Ontologije - općenitoOntologije se proučavaju već dugo vremena. Rana istraživanja iz ontologija poznata su još iz antičkog doba. Tako je prvu formalnu definiciju ontologija iznio Aristotel. Po njemu, ontologija jest metafizička studija prirode stvari i postojanja. U novije vrijeme ontologije se proučavaju unutar područja umjetne (strojne) inteligencije, a posebno u sklopu istraživanja semantičkog Weba. Moderniju, primjenjivu u području računarstva, definiciju ontologije iznio je Gruber. Ontologija jest formalna, eksplicitna, zajednička specifikacija koncepata. Ovdje, koncepti označavaju apstraktne modele pojava u svijetu koji ističu bitna svojstva tih pojava. To što je specifikacija zajednička, označava da je ona dogovorena unutar neke zajednice i predstavlja dijeljeno, zajedničko znanje te zajednice. Specifikacija je formalna jer je napisana u obliku razumljivom računalu, te eksplicitna jer su koncepti i ograničenja postavljena na koncepte eksplicitno definirani.

Ontologije se često vidi kao osnovni građevni blokovi Semantičkog Web-a. Ontologije sadrže ponovno iskoristive dijelove znanja o specifičnim domenama. Međutim, ti dijelovi informacija nisu često statički, već evoluiraju tijekom vremena. Promjene na domenama, prilagodba različitim poslovima ili promjene u konceptualizaciji zahtijevaju modifikacije ontologija. Iz toga zaključujemo da je potrebna podrška za podržavanje tih promjena. To je jako važno u decentraliziranom i nekontroliranom okružju kao što je Web, gdje se promjene događaju bez obavijesti. Promjene u nekontroliranim okruženjima mogu imati veće posljedice na nepredvidivost rezultata naspram kontroliranim okruženjima. Rastom Semantičkog Web-a, te nekontrolirane promjene, će imati još veći utjecaj, jer će kompjuteri koristiti podatke. Nema više ljudi u lancu koji korištenjem ogromnog iskustva te metodama rješavanja problema induktivnim razmišljanjem, mogu uočiti pogrešne kombinacije koje su posljedice nepredvidivih promjena.

Problem podrške za podržavanjem promjena je jako velik, jer postoje velike zavisnosti između podataka, aplikacija i ontologija. Promjene pri kraju će imati dalekosežne posljedice. U praksi je često vrlo teško uskladiti promjene na ontologiji sa modifikacijom aplikacije i podataka koji ju koriste. Ontologije mogu povećati funkcionalnost Web-a na mnogo načina. Mogu biti iskorištene na jednostavan način, poboljšavanje preciznosti u pretraživanju Web-a – pretraživački programi mogu tražiti samo one stranice koje se odnose na određeni koncept umjesto da pronalaze stranice koje koriste jednu od neodređenih ključnih riječi. Naprednije aplikacije će koristiti ontologije za povezivanje informacija na stranicama sa strukturama znanja i pravilima zaključivanja.

2

Page 4: Ontologije

2.Sastav ontologija Općenito gledano specifikacija ontologije sastoji se od pet osnovnih konstrukta: razreda, instanci, relacija, funkcija i aksioma.

Razredi (engl. classes) predstavljaju osnovne tipove koncepata koji postoje u nekoj domeni. Razredi su tipično organizirani u taksonomije, te čine rječnike pojmova određene domene. Na primjer, u ontologiji sveučilišta, postoje razredi: osoba, profesor, student, fakultet, semestar, ispit, itd.

Instance predstavljaju same objekte, odnosno pojedine primjerke iz određenog razreda. Tako je na primjer, student s imenom Petar jedna instanca razreda student.

Relacije označavaju određene veze između razreda i instanci u domeni. Primjeri relacija su: je-podvrsta, je, i polaže-ispit. U ontologiji sveučilišta možemo utvrditi sljedeće relacije: jepodvrsta(student, osoba), čime se određuje da je svaki objekt razreda student istovremeno i objekt razreda osoba. Slično, relacija polaže-ispit(student, profesor, ispit), određuje da su objekti razreda student povezani s objektima razreda ispitii profesor relacijom polaže-ispit. Relacija može sadržavati i instancu. Na primjer, relacija polaže-ispit(Petar, Marko, Matematika) označava da student Petar polaže ispit iz Matematike kod profesora Marka.

Funkcije su posebna vrsta relacija za koje vrijedi da prvih n-1 argumenata relacije jedinstveno određuje n-ti element relacije. Tako funkcija položio-ispit(Petar, Marko, Matematika) vraća jedinstvenu vrijednost istina ako je Petar položio ispit Matematika kod profesora Marka. Navedena funkcija ekvivalentna je postojanju točno jedne relacije položio-ispit(Petar, Marko, Matematika, istina). Ako bi postojala još jedna relacija položio-ispit(Petar, Marko, Matematika, laž) vrijednost zadnjeg argumenta relacije ne bi bila jedinstvena. Funkcije se mogu izražavati pomoću relacija (proizlazi iz same definicije funkcije), ali jezici ontologija često podržavaju eksplicitnu definiciju funkcija.

Aksiomi su tvrdnje koje su unutar određene ontologije uvijek istinite, odnosno predstavljaju tautologije unutar domene koju ontologija opisuje. Pomoću aksioma izražavaju se temeljne postavke neke domene. Primjeri aksioma su rečenice: «Ako je student položio barem jedan ispit tada student nije brucoš», ili «Ako osoba je profesor tada osoba nije student».

3

Page 5: Ontologije

3.Tipovi ontologija Zavisno od razine općenitosti kojom su definirane i uloge koje zauzimaju u radu sustava ontologije se dijele na nekoliko tipova: domenske ontologije, meta ontologije, općenite ili zdravorazumske ontologije, reprezentacijske ontologije, te metodološke ontologije.

Domenske ontologije karakterizira skupljanje znanja iz određene uske domene. Na primjer, ontologija mikroprocesora sadrži koncepte bitne za gradnju računala. Ti koncepti nisu primjenjivi u području proučavanja sisavaca, te je stoga navedena ontologija domenska.

Meta ontologije pružaju rječnik za opisivanje on-line sadržaja. Dublin Core (DC) je primjer meta ontologije koja služi za nadogradnju metoda pretraživanja Web stranica pružajući rječnik za opisivanje svojstava stranice. DC definira metapodatke koji se vežu uz pojedinu stranicu, a služe za učinkovitije pretraživanje stranica. Tipični metapodaci definirani DC-om su 'Description' koji sadrži kratki opis stranice i 'Creator' koji sadrži ime tvorca stranice. Tvorci Web stranica nadopunjuju stranice navedenim metapodacima, metapodatke dohvaćaju Web pretraživači, tumače ih na osnovu poznavanja ontologije, te koriste prilikom naprednog pretraživanja Weba.

Općenite ili zdravorazumske ontologije služe za pohranjivanje znanja o svijetu, te definiranje općenitih koncepata i oznaka za objekte poput vremena, prostora, stanja i događaja . Pošto su ovakve ontologije vrlo općenite, mogu se koristiti u nekoliko domena. Na primjer, ontologija o mereologiji izražava znanje o relacijama dio-cjelina (engl. part-of relations). Takva ontologija primjenjiva je u mnogim tehničkim disciplinama, odnosno svugdje gdje se definiraju dijelovi, cjeline i njihovi odnosi.

Reprezentacijske ontologije ne vežu se ni uz jednu specifičnu domenu, već definiraju načine (formate) na koje se reprezentira znanje. Odnosno, ove ontologije služe za specifikaciju jezika pomoću kojih se predstavlja znanje. Primjer ovakve ontologije jest Frame Ontology. Ova ontologija definira koncepte okvir, utičnica i ograničenje utičnice, koji služe za definiranje znanja u formalizmu sličnom objektno orijentiranim jezicima.

Metodološke ontologije predstavljaju rječnike i znanje o standardnim metodama rješavanja određenog problema. Metode i problemi nisu iz određene domene djelatnosti, već predstavljaju općenite probleme i metode rješavanja problema. Primjer metodološke ontologije je metodologija rješavanja problema vremenskog raspoređivanja (engl. Scheduling task ontology).

4

Page 6: Ontologije

4.Razvoj ontologijaIako nema jedinstvene metodologije, u literaturi predložene metodologije za razvoj ontologija mogu se sumirati opisom triju glavnih faza životnoga ciklusa ontologija: kreiranje, upotreba (služenje) i održavanje ontologije.

Slika 1. Životni ciklus ontologije

5

Page 7: Ontologije

4.1.Kreiranje ontologije

Četiri su koraka karakteristična za ovu fazu:

• Organiziranje i specifikacija – definiranje svrhe, granica i planova za upotrebu ontologije. Valja odgovoriti na pitanja kao što su: Što je područje upotrebe ontologije? Koja je njezina svrha? Zašto se gradi ontologija? Koji su načini upotrebe? Tko su krajnji korisnici? Kako izgleda scenarij upotrebe?

• Prikupljanje podataka i analiza – pronalaženje osnovnih pojmova i veza te njihova klasifikacija. Izvori za pronalaženje pojmova mogu biti: eksperti, knjige, priručnici, tablice, druge ontologije itd.

• Početna formalizacija – eksplicitno prikazivanje pojmova koji su definirani u prošlom koraku. Takav formalni prikaz mora imati jasno definiranu sintaksu i semantiku. Sintaksa opisuje pojmove i veze koje čine rječnik ontologije te pravila sprezanja. Semantika formalno povezuje tvrdnje i elemente ontologije. Četiri su razine moguće formalizacije ontologija:

Visoko neformalno – elementi ontologije izraženi u prirodnim jezicima �

Strukturirano neformalno – elementi ontologije izraženi u ograničenom i strukturiranom �obliku iz prirodnih jezika

Poluformalno – elementi ontologije izraženi u umjetno formalno definiranim jezicima �

Strogo formalno – elementi ontologije definirani formalnom semantikom, teoremima i dokazima� o potpunosti.

• Nadopuna i vrednovanje – primjena ontologije da bi se zaokružio razvojni proces. Struktura ontologije istancira se sa stvarnim podacima i realnim primjerima. Primjedbe i dopune uključuju se kako bi se dobila potvrđena ontologija.

4.2. Služenje ontologijom

U ovoj fazi treba definirati jezik i mehanizme pretraživanja i pregledavanja činjenica koje su na temelju ontologije zapisane u bazi znanja. Ovdje valja naglasiti postojanje jezika za prikaz ontologije i jezika za pretraživanje ontologije. Kod većine sustava koji nude usluge vezane uz kreiranje ontologije ova su dva jezika ista.

6

Page 8: Ontologije

4.3. Održavanje ontologije

Ontologiju tijekom njezina životnoga ciklusa treba sintaktički i leksički analizirati, dodavati i brisati pojedine definicije te imati mogućnost prevođenja ontologije iz jednoga jezika za opis ontologije u drugi. To znači da trebaju postojati mehanizmi za mijenjanje ontologija, kao i za praćenje verzija ontologija koje se proširuju ili evoluiraju.

5.Ontology Library System Ontološki knjižnični sistem je knjižnični sistem koji omogućuje razne funkcije za upravljanje, prilagođavanje i standardizaciju grupa ontologija. Ovaj sistem bi trebao ispuniti potrebe za ponovnu uporabu ontologija. U tom smislu, ontološki knjižnični sistem bi trebao biti lako pristupačan i pružati efikasnu potporu za ponovnu uporabu već postojećih bitnih ontologija i standardizirat ih po «upper-level» ontologijama i ontološki reprezentativnim jezicima.

«Upper-level» ontologija obuhvaća i modelira osnovne koncepte i znanja koja bi mogla biti ponovno iskorištena u kreiranju novih ontologija i u organiziranju ontoloških knjižnica. Prisutna je u većini ontološlih knjižnica. Npr., u ontološkoj knjižnici DAML te u Ontološkom serveru (Vrije Universiteit, Brussels), se NE nalazi, a u nekima (WebOnto, SHOE) imaju svoje bazične ontologije. Moglo bi se reći da je «upper-level» ontologija u većini slučajeva roditeljska ontologija. Većina se ontologija poziva (extends) na «upper-level» ontologiju. One su jako bitne za bolju organizaciju ontoloških knjižničnih sistema.

Najpopularniji ontološki knjižnični sistemi: WebOnto, Ontolingua, DAML Ontology library system, SHOE, Ontology Server, IEEE Standard Upper Ontology, OntoServer, ONIONS

6.Ontology Builder Ontology Builder je više korisnički kolaborativni stvaraoc ontologija i sredstvo održavanja, stvoren da ujedini najbolje dijelove već postojećih ontoloških alata s ciljem da pruže jednostavan, snažan i iskoristiv alat. Napisan je potpuno u Javi pa prema tome Ontology Builder se može pokretati na mnogim platformama. Baziran je na J2EE (Java 2 Enterprise Edition) platformi, koja je standard za implementiranje i lansiranje enteprise aplikacija. Termin «enteprise» označava: rastuću, stalno dostupnu, visoko pouzdanu te sigurnu aplikaciju.

7

Page 9: Ontologije

Ontology Builder podržava koncept ponovne uporabe i uključivanje ontologija kroz relaciju «uses» (koristi). Relacija «uses» omogućuje da sve klase, instance, svi slotovi i facet-i iz uključene ontologije budu vidljivi i korišteni u ontologiji. Relacija «uses» se može lagano dodavati i izbacivati iz ontologije. Kad se relacija «uses» izbaci, može doći do nekonzistentnosti u trenutno aktivnoj ontologiji jer koncepti definirani u izbačenoj «uses» ontologiji su još uvijek referencirani iako se ta ontologija više ne koristi. Promjene na ontologiji su propagirane u stvarnom vremenu na sve ontologije koje koriste tu promijenjenu ontologiju. Relacija «uses « je tranzitivna ( a «uses» b, b «uses»c povlači a «uses» c).

Ontology Builder također nam pruža:

• «import and export» baziran na XOL-u (Ontology Exchange Language baziran na XML-u).

• verifikaciju osmišljenu da održava konzistentnost terminologije u jeziku

• Sigurnosni model za sigurnost podataka i pristupa ontologijama

7.Ontology Server Ontološki server je server s velikom performansom i velikom mogućnosti rasta. On je kritična komponenta komercijalne aplikacije koja zahtjeva ontologiju da pokreče njihovu uslugu. Ontološki server koristi potpuno istu arhitekturu i reprezentaciju kao i Ontology Builder i pruža XML i Java RMI sučelja za pristup podacima u ontologijama. Optimiziran je za pristup samo čitanja (read-only) pa je za operacije čitanja podataka iz ontologija puno brži od Ontology Builder-a. Ontološki server definira svoje vlastito sučelje, koje je jednostavnije i prikladnije za komercijalnu aplikaciju negoli općenito OKBC (Open Knowledge Base Connectivity Working Group) sučelje. Zanemarujući umrežavanje, serijalizaciju i vrijeme traženja, vrijeme procesiranja Ontološkog servera je samo 1-3 milisekunde (PIII 800MHz 512 RAM) i kad se jednom frame učita u bazu podataka to vrijeme ne varira previše bez obzira na broj klijenata. Inicijalno vrijeme učitavanja svakog frame-a je oko 20-250 milisekunde, ovisno o broju slot-ova, facet-a, klasa, roditelja, djece i relacija metaklasa koji se trebaju dohvatiti. Kad su dohvaćeni, server aplikacija pohranjuje (cache) frame-ove i sljedovi zahtjeva koji su potrebni za dohvatiti taj frame traju samo 1-3 milisekunde bez obzira na broj klijenata koji potražuju taj frame. Broj pohranjenih (cached) frame-ova može biti specificirano kao parametar. Frame-ovi koji nisu bili dohvaćeni neko vrijeme će biti izbačeni i zamijenjeni sa novijim frame-ovima čim se limit dostigne (caching limit).

8

Page 10: Ontologije

8.Formalni jezici za prikaz i primjenu ontologija Početkom 1990-ih godina 20. stoljeća počeo je razvoj čitavoga skupa jezika za prikaz i primjenu ontologija. U idućim ulomcima pobliže ćemo pogledati njihove značajke.

KIF je jezik zasnovan na logici prvoga reda, kreiran kao format za razmjenu znanja između različitih sustava. Na temelju KIF-a razvijen je jezik Ontolingua koji kombinira paradigmu za prikaz znanja koja postoji u okvirnim sustavima s izrazima logike prvoga reda. Ontolingua je najširi jezik od svih koji postoje te omogućuje prikaz pojmova, taksonomija, relacija između više pojmova, funkcija, aksioma, instanci i procedura. No proces zaključivanja nije podržan ovim jezikom.

LOOM se počeo razvijati istodobno s Ontolingua jezikom te inicijalno nije bio namijenjen za primjenu ontologija, nego za prikaz znanja općenito. Omogućuje prikaz pojmova, taksonomija, relacija između više pojmova, funkcije, aksiome te pravila.

FLogic je razvijen 1995. Taj jezik ima značajke logike prvoga reda, omogućujući na taj način prikazivanje pojmova, taksonomija, binarnih relacija, funkcija, instanci, aksioma te deduktivnih pravila. Jezik uključuje i mehanizme zaključivanja, koji se mogu rabiti za provjeru ograničenja i dedukciju novih informacija. S razvojem interneta pojavila se potkraj 90-ih godina 20. stoljeća čitava nova grupa jezika za kreiranje ontologija, prilagođenih značajkama mrežne radne okoline. Takvi se jezici najčešće nazivaju "ontology markup languages" i još se uvijek razvijaju.

SHOE je nastao prvi, kao proširenje standardnoga HTML jezika, i to tako da su definirani novi tagovi koji omogućuju uključivanje značajki ontologije u standardne HTML dokumente. SHOE jezik kombinira okvirne sustave i deskriptivnu logiku, omogućujući prikaz pojmova, njihovih taksonomija, relacija između pojmova, instanci i deduktivnih pravila zaključivanja. SHOE izvorna sintaksa modificirana je i može rabiti XML sintaksu, pošto je XML postao standardnim jezikom za razmjenu informacija u mrežnoj okolini.

RDF je razvijen od konzorcija W3C koji se brine za standarde u mrežnoj okolini, kao jezik zasnovan na semantičkim mrežama. RDF Schema dodana je kasnije kao proširenje osnovnih elementa RDF-a i poznata je kao RDFS. Ova grupa jezika nije previše ekspresivna, pa samo omogućuje prikaz pojmova, taksonomija te binarnih relacija. Na temelju RDFS-a razvila se grupa jezika s namjerom da podrži semantičke mreže: OIL, DAML+OIL, te OWL. OIL je dodao prikaz znanja temeljen na okvirnim sustavima te formalnu semantiku zasnovanu na deskriptivnoj logici. DAML+OIL dodaje također deskriptivnu logiku osnovnom RDFS-u. Zadnji je na ovoj listi OWL, potpuno nov jezik za prikaz i primjenu ontologija, razvoj kojega je započeo 2001. godine.

9

Page 11: Ontologije

Slika 2.Stablo tehnologija koje su uključene u jezike za prikaz i implementaciju ontologija

Slika 3.Jezici za prikaz ontologija u mrežnoj okolini

10

Page 12: Ontologije

9.Primjer ontologije e-bankarskih transakcijaNa osnovu e-bankarskih servisa napravljen je prvi hijerarhijski nivo ontologije e-bankarskih transakcija. Ontologija je razvijana u ontološkom editoru Protégé-2000 , verzija 2.0, u jeziku OWL (Web Ontology Language). Izgled ove ontologije je prikazan na Slici 4.

Slika 4. Ontologija bankarskih transakcija u ontološkom editoru Protégé-2000

Klasa Transactions obuhvaća slijedeću hijerarhiju podklasa: CustomerServices, AlertsStockMarket, Payments-Transfers, ApplicationForms, PortfolioManagement

S obzirom da su e-bankarske transakcije neposredno povezane sa e-plaćanjem, e-karticama i e-financijama, ontologija sadrži i ove segmente e-poslovanja kao posebno označene i ontološki implementirane klase (e-Payment, e-Card, e-Finance).

Podklasa CustomerServices odnosi se na slijedeće vrste servisa dostupne klijentima: Izbor UserID i PIN-a, i njihova eventualna izmjena; Upravljanje aplikacionim formama; Izmjena izgleda aplikacionih formi; Provjera korisnih informacija

Podklasa Payments-Transfers obuhvaća slijedeće vrste servisa:Transfer na vlastiti račun klijenta;Transfer na račun treće strane;Određena financijska institucija zahtjeva plaćanje;Transfer na račune platnog spiska;Plaćanje produženja važnosti kreditne kartice;Višestruki prijenos novca;Prikaz izvršenog prijenosa novca…

11

Page 13: Ontologije

10.Popis literature:http://bs.wikipedia.org/wiki/Ontologija

http://spvp.zesoi.fer.hr/seminari/2005/JovicOgnjen_SemantickiWeb.pdf

http://www.zemris.fer.hr/predmeti/mr/arhiva/2002-2003/seminari/finished/pdf/semantic_web.pdf

www.fsb.hr/PhD/Mario_Storga_disertacija.pdf

http://www.ffzg.hr/infoz/dzs/text/Slavic_2004.pdf

http://www.zemris.fer.hr/predmeti/krep/Benc.pdf

http://www.24x7.co.yu/default.aspx?cid=600&fid=400&pid=WebInteligencija%5CPrimenaTrendova

12