ontoloogiad, referaat

18
Tartu Ülikool Matemaatika-informaatika teaduskond Arvutiteaduse instituut Ontoloogiad Referaat Koostaja: Rein Raudjärv Juhendaja: Tiit Roosmaa Tartu 2006

Upload: rein-raudjaerv

Post on 12-Nov-2014

369 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Ontoloogiad, referaat

Tartu Ülikool

Matemaatika-informaatika teaduskond

Arvutiteaduse instituut

Ontoloogiad

Referaat

Koostaja: Rein Raudjärv

Juhendaja: Tiit Roosmaa

Tartu 2006

Page 2: Ontoloogiad, referaat

2

Sisukord

Sisukord...................................................................................................................................... 2

Sissejuhatus ................................................................................................................................ 3

1. Definitsioon ja eesmärk.......................................................................................................... 4

1.1. Mis on ontoloogia?.......................................................................................................... 4

1.2. Miks luua ontoloogia? ..................................................................................................... 5

2. Sõnaraamatud, leksikonid ja ontoloogiad .............................................................................. 8

3. Olemasolevad ontoloogiad ................................................................................................... 10

3.1. Suured ontoloogiad........................................................................................................ 10

3.2. Ontoloogiakogud ........................................................................................................... 11

4. Ontoloogia loomine.............................................................................................................. 13

4.1. Ontoloogia arendamise sammud ................................................................................... 13

Kokkuvõte ................................................................................................................................ 17

Kasutatud kirjandus.................................................................................................................. 18

Page 3: Ontoloogiad, referaat

3

Sissejuhatus

Arvutiteaduses nimetatakse „ontoloogiaks” andmemudelit, mis esindab mingit valdkonda

ning annab selle objektidele ja objektide vahelistele seostele tähenduse.

Ontoloogiaid kasutatakse arvutiteaduses, tehisintellektis, semantilises veebis ning tarkvara

arenduses kui maailma või selle osa kohta käiva teadmuse esitamise vormi.

Käesolev referaat on Tartu Ülikoolis aine „Keeletehnoloogia” raames valminud töö, mis

põhineb raamatu „Handbook for Language Engineers” (Ali Farghaly, 2001) 5. peatükil ning

on ühtlasi selle lühendatud ning eesti keelde tõlgitud versioon.

Page 4: Ontoloogiad, referaat

4

1. Definitsioon ja eesmärk

1.1. Mis on ontoloogia?

Mitteformaalselt on ontoloogia mingite reaalse maailma objektide mudel. Me loome seda

mudelit arvuti poolt arusaadaval viisil, et seda saaksid töödelda ja kasutada arvutiprogrammid.

Reaalselt ei ole olemas ontoloogia kohta üheselt kokkulepitud definitsiooni. Kõige enam

kasutatav on T. Gruberi definitsiooni (1993) täiendatud variant:

„Ontoloogia on mõistete hulga ühemõtteline formaalne eeskiri.”

(i.k „An ontology is an explicit formal specification of conceptualization.”)

Vaatame läbi definitsiooni erinevad osad: (1) ühemõtteline eeskiri (i.k explicit specification),

(2) formaalne eeskiri (i.k formal specification), (3) mõistete hulk (i.k conceptualization).

1.1.1. Ühemõtteline eeskiri

Oletame, et meil on kaks programmi (agenti – i.k software agent), kumbki oma ülesande

jaoks. Üks agent „töötab” panga heaks ja käsitleb tema klientide rahaülekandeid internetis.

Teine agent „töötab” krediitkaardiettevõttes ja võtab vastu internetis tehtavaid rahaülekandeid

pankadelt. Need agendid saavad koos töötada ainult juhul, kui nad teevad eeldusi välise

maailma kohta ühesuguselt. Nad teatavad, mis valuutat nad kasutavad, kas ülekande päev on

päev, mil klient ülekande teeb või päev, mil raha jõuab krediitkaardifirma kätte jne. St.

pangaagent teatab üheselt mingil kujul kogu info, mida krediitkaardi firma peab teadma selle

asemel, et seda infot varjata oma koodis ja eeldada, et teine agent selle õigesti ära arvab.

Usaldusväärseks suhtluseks on vajalik, et mõlemad pooled annavad teada, mida nad antud

valdkonna kohta eeldavad.

1.1.2. Formaalne eeskiri

Mingi valdkonda eelduste kirjeldamine loomulikus keeles, nagu eesti keel, võib olla piisav

inimeste jaoks, aga mitte arvutite. Ontoloogia peab olema formaalne eeskiri, et seda suudaksid

tõlgendada ja sellest „aru saada” ka arvutid. Seepärast esitatakse ontoloogia harilikult mingis

Page 5: Ontoloogiad, referaat

5

formaalses keeles, kus on hästi piiritletud süntaktiline struktuur (grammatika) ning

matemaatilise loogika lausetel baseeruv semantika.

Lisaks sellele, et formaalne eeskiri aitab arvutiprogrammidel ontoloogia semantikast aru

saada, hoiab see ära ka kaheti mõistmise, mis esineb loomulikus keeles.

Reaalselt ei ole tänapäeval aga igas ontoloogia keeles hästi defineeritud formaalset semantikat

ning seepärast võib neid valesti tõlgendada nii inimene kui arvuti.

Sellise formaalse semantika piiritlemine on keeruline ja vajab palju rohkem arvutiteatuse ja

matemaatika oskusi kui ontoloogia loomine ise. Õnneks on meil vaja aga vähe ontoloogia

keeli ning palju ontoloogiaid.

1.1.3. Mõiste hulk

Valdkonna mõistete hulk (i.k domain conceptualization) on diskursusest sõltuv mõistete ja

seoste eeskiri. Oletame, et me loome ontoloogiat oma panga ja krediitkaardifirma agentide

jaoks. Selle ontoloogia diskursus on finantstehingud. Seega vajame mõisteid, mida

kasutatakse finantstehingute puhul: kuupäev, kellaaeg, summa, konto, institutsioon, pank,

krediitkaardimakse jne. Need mõisted on üksteisega seotud. Näiteks krediitkaardimakse on

finantstehingu tüüp. Iga finantstehingu tunnused on kuupäev, kelleaeg, summa jne. Iga konto

tunnuseks on institutsioon ja see institutsioon peab olema pank. Kui oleme pannud selle

eeskirja formaalsesse keelde, võime kutsuda seda kõnealuse valdkonna ontoloogiaks.

Formaalsemalt, valdkonna mõistete hulk hõlmab endas diskursuses olevaid mõisteid (klasse –

i.k classes), iga mõiste tunnuseid (välju – i.k properties) ning väljade kitsendusi e. piiranguid

(i.k constraints). Ontoloogia koos hulga klasside isenditega moodustab teadmuse (i.k

knowledge base).

Ontoloogias kasutatavad mõisted sõltuvad ainult antud valdkonnast mitte aga mingi keele

struktuuridest ega ka keelest üldisemalt. See võimaldab ontoloogiaid kasutada üle mitmete

keelte. Ontoloogiaid kasutatakse sageli masintõlkes: tekstiline informatsioon ühes keeles

esitatakse keelest sõltumatus ontoloogias ning seejärel luuakse selle põhjal tekst teises keeles.

1.2. Miks luua ontoloogia?

Kui inimesed üksteisega suhtlevad, siis kasutavad nad üksteisest arusaamiseks mitte ainult

keelelisi teadmisi, vaid ka ühist taustateadmust, maailmateadmust ja kontekstiteadmust.

Analoogiliselt on vaja ka arvutitel üksteisega „suhtlemiseks” jagada taustateadmust.

Ontoloogia pakubki arvutitele arusaadava ja üheselt mõistetava taustateadmuse.

Page 6: Ontoloogiad, referaat

6

Ontoloogia loomise põhjused on järgmised:

• Jagada ühist infostruktuuride tõlgendamist inimeste või tarkvararakenduste seas.

• Võimaldada valdkonna teadmuse taaskasutamist.

• Esitada üheselt eeldused antud valdkonnas.

• Eristada valdkonnateadmust töökorraldusteadmusest.

• Analüüsida valdkonnateadmust.

Ühise infostruktuuride tõlgendamise jagamine inimeste ja tarkvararakenduste seas on üks

ontoloogiate loomise põhieesmärke. (Musem, 1992; Gruber, 1993)

Valdkonnateadmuse taaskasutamise üheks näiteks on aja mõiste. Siia kuuluvad mõisted

ajaintervalli, ajapunkti, suhteliste ajaühikute jms kohta. Kui üks uurimisrühm töötab välja

sellise detailse ontoloogia, siis saavad teised seda kergesti taaskasutada oma valdkonnas.

Eelduste üheselt esitamine antud valdkonnas võimaldab eeldusi kergesti muuta, kui teadmus

antud valdkonna muutub. Maailma kohta käivate eelduste programmi lähtekoodi püsivalt

sissekirjutamine ei tee eelduste leidmist mitte ainult raskeks vaid samuti raskesti

muudetavaks, eriti inimestele, kes programmeerimist ei tunne.

Valdkonnateadmuse eristamine töökorraldusteadmusest on samuti ontoloogiate levinud

rakendus. Me võime ära kirjeldada tööülesande, kus vastavalt eeskirjale komplekteeritakse

tooteid, ning realiseerida programmi, mis teeb seda sõltumata toodetest ja nende

komponentidest. Seejärel võime luua ontoloogia arvutikomponentidest ja nende

parameetritest ning rakendada algoritmi, mis komplekteerib müügiks valmis arvuteid. Sama

algoritmiga võime komplekteerida ka lifte, kui „söödame talle ette” liftikomponentide

ontoloogia. (Rothenfish et al., 1996)

Valdkonnateadmuse analüüsimine on võimalik kui on valmis mõisteid selgitav eeskiri.

Formaalne mõistete analüüs on äärmiselt väärtuslik nii olemasolevate ontoloogiate

taaskasutamisel kui nende laiendamisel. (McGuiness et al., 2000)

Lisaks on ontoloogiate loomisel järgmised eesmärgid loomuliku keele töötluse ja masintõlke

programmide jaoks (Mahesh ja Nirenberg, 1995; Okumura ja Hovy, 1994):

• Piiritleda keelest sõltumatu valdkonna esitus.

• Toetada tekstis oleva info mõistelise esituse analüüsi ja genereerimist.

Page 7: Ontoloogiad, referaat

7

• Võimaldada sisendtekstist järelduste tegemist kasutades teadmust ontoloogias.

Masintõlge on ontoloogiate arengus teadmuse jagamise ja taaskasutuse järel ehk järgmine

suurem liikumapanev jõud. Keelest sõltumatu esitus võimaldab meil kasutada tekstist

tuletatud informatsiooni esitamiseks sama vormi erinevate keelte jaoks. Ontoloogia on nn.

interlingua struktureeritud esitus.

Loomuliku keele töötlusel on abiks ontoloogias kasutatavad semantilised kitsendused.

Formaalse ontoloogia kujul semantilise info esitamine võimaldab kasutada teadmust, et teha

järeldusi sisendtekstist. Ontoloogia pakub sageli infot vaikeväärtuste või sagedaste väärtuste

kohta. See võimaldab täita lünki, kui tekstis vastav info puudub.

Mahesh ja Nirenberg pakuvad mitmeid teisi põhjuseid miks ontoloogiad on olulised

loomuliku keele rakendustes. (Mahesh ja Nirenberg, 1995)

Page 8: Ontoloogiad, referaat

8

2. Sõnaraamatud, leksikonid ja ontoloogiad

Definitsiooni põhjal võib tekkida tahtmine paljusid asju kutsuda „ontoloogiateks”. Näiteks

XML DTD-d, XML skeemid, andmebaasi skeemid, sõnastikud, tesaurus, formaalne

süstemaatika jne. Võime neid elektroonilisi allikaid kujutada teljel, mille ühes otsas on vähem

formaalsed ja üsna konkreetsed esitused ning teises otsas rohkem formaalsed ja üldisemad.

Joonis 1. Elektrooniliste allikate spekter. Vertikaalne joon näitab ligikaudu, kust alates peetakse mitteformaalseid elektroonilisi allikaid ontoloogiateks.

Spektri vähem formaalsemale poolele jäävad sõnastikud, tesaurus, sõnaraamatud. Mööda

skaalat teisele poole liikudes muutuvad esitused rohkem formaalsemaks ja paremini arvutite

poolt tõlgendatavamateks. Samas muutuvad nad ka vähem keelest sõltuvaks. Võime küll ühte

kohta skaalal joonistada sirge ning öelda, et kõik, mis jääb vasakule, ei ole ontoloogia ning

kõik, mis jääb paremale, on ontoloogia, kuid selle piiri asetamine on väga subjektiivne ning

sageli on raske teha täpset otsust kas mingi kindel infostruktuur on ontoloogia või mitte.

Niisiis, kas interneti sõnastikud ja tesaurus on ontoloogiad või mitte?

Interneti sõnastikud. Kas interneti sõnastik on ontoloogia? Sõnastikud vastavad vähemalt

ühele osale ontoloogia definitsioonist: nad kirjeldavad mingi valdkonna mõisteid ja

nendevahelisi seoseid. Samas, need seosed ei ole esitatud formaalselt, arvuti poolt loetaval

viisil. Nad on osa loomuliku keele definitsioonist ja seetõttu ei saa neid sellisel kujul arvuti

Mõisted Te-saurus

Mitte-formaalne

mis-on hierarhia

(nt. Yahoo)

XML skeemi

d

Kaardi-põhised

info-baasid

Üldine loogika

Sõnastikud

XML DTD-d

Andme-baasi

skeemid

Formaalsed

taksonoomiad

Kirjeldav loogika

Page 9: Ontoloogiad, referaat

9

poolt töödelda. Veelgi enam, seosed ise pole formaalsed ning puudub ka üldine lähenemine

kuidas mõistete tähendusi defineerida. Seetõttu ei saa me pidada sõnaraamatuid

„ontoloogiateks”.

Leksikonid ja tesaurused. Leksikonid on harilikult palju rohkem struktureeritud kui

sõnastikud. Me teame täpselt millised on sõnade vahelised seosed (sünonüümia, antonüümia,

…). Nende seoste semantika on selgesti arusaadav ja arvutiprogrammide jaoks kergesti

kasutatav. Samas on leksikonid väga keele spetsiifilised. Seega ei paku nad üldist valdkonna

mõistete hulka vaid pigem kirjeldavad nende vahelisi seoseid mingis kindlas keeles.

Sellegipoolest kasutatakse leksikone mitmetes masintõlke ja loomuliku keele töötluse

projektides kui ontoloogia mõistete hulka. Leksikonis olevad erinevad sõna tähendused

võivad olla seotud erinevate mõistetega ontoloogias.

Üldiselt on piir ontoloogiate ja mitte ontoloogiate vahel ähmane. Eriti näiteks WordNet-i

puhul. WordNet on interneti leksikaalsete seoste süsteem, mis baseerub psühholingvistilistel

alustel. Leksikaalsed objektid WordNetis on jaotatud semantiliselt. Keskseks objektiks on

sünohulk. Erinevalt sünonüümide hulgast võib ühte sünohulka kuuluda ka ainult üks sõna.

Sünohulgad on jaotatud hierarhiliselt ning nende vahel esineb palju erinevaid seoseid. Mõned

inimesed peavad WordNeti ontoloogiaks, kuid teised mitte. Siinkohal liigitame meie selle

ontoloogiaks (kuigi ainult „pindmiselt“).

Page 10: Ontoloogiad, referaat

10

3. Olemasolevad ontoloogiad

Üks ontoloogia uuringute eesmärke on teadmiste jagamine ja taaskasutamine. Kui me loome

selge formaalse valdkonna mudeli, sis võime seda erinevate projektide vahel jagada selle

asemel, et sama valdkonna mudelit üha uuesti luua. Seepärast on oluline teada milliseid

ontoloogiaid on juba loodud ja mida me võime neilt laenata. Nii loomuliku keele töötluse kui

üldisema eesmärgiga ontoloogiate arendamisel on läbi viidud palju suuri projekte. Lisaks on

loodud mitmeid väiksemaid ontoloogiad, mis kuuluvad ontoloogiakogudesse (i.k. ontology

library).

3.1. Suured ontoloogiad

Siinkohal tutvustame SENSUS-e ja Microkosmose ontoloogiad. Mõlemad loodi ühe osana

suurtest masintõlke projektidest. Seejärel pöörame tähelepanu Cyc-ile – üldisele ontoloogiale,

mis on väga mahukas ning mida on koostatud juba 20 aastat.

3.1.1. SENSUS

Ontoloogia SENSUS (Knight ja Luk, 1994) oli üks osa projektist PANGLOSS – suurest

teadmusepõhisest masintõlke projektist. SENSUS täitis antud projektis kahte eesmärki: (1)

pakkus keelest sõltumatut teksti analüüsimise ja genereerimise „semantiliste sümbolite” kogu;

(2) kirjeldas nende sümbolite vahelisi seoseid. Knight ja Luk iseloomustasid esimest kui

„interlingua leksikoni” ning teist kui „interlingua grammatikat”. Projekti eesmärk oli luua

valdkonnast sõltumatu hispaania-inglise keele tõlkesüsteemi prototüüp. SENSUS-e autorid

ühendasid oma süsteemi mitmed olemasolevad elektroonilised allikad, et ära kasutada nende

unikaalset teavet.

3.1.2. Microkosmos

New Mexico ülikooli Microkosmose ontoloogia (Mahesh ja Nirenberg, 1995) on samuti

suuremahuline masintõlke projekt. Projekti põhieesmärk oli luua süsteem, mis viiks igas

algkeeles suvalise etteantud teksti formaalsele kujule. Esimene prototüüp oli hispaania keele

analüsaator. Seega, nagu SENSUS-e puhul, oli ka siin põhiülesanne luua keelest sõltumatu

Page 11: Ontoloogiad, referaat

11

mingi diskursuse valdkonna esitus. Oli ka mitmeid olulisi erinevusi: (1) Microkosmosel oli

piiratud diskursusega valdkond, SENSUS oli valdkonnast sõltumatu; (2) Microkosmose

ontoloogia ülesehitamine toimus täiesti käsitsi ning aluseks ei võetud mingit olemasolevat

süsteemi; (3) Microkosmose ontoloogias on rikkalikum mõistete vara ning rohkem seoseid

kui SENSUSes. Samas on aga Microkosmose ontoloogia ka väiksem kui SENSUS.

3.1.3. Cyc

Projekt Cyc (Lenat ja Guha, 1990; Lenat, 1990, 1995) on tõenäoliselt kõige suurem

ontoloogia projekt. Tegemist on üldise ontoloogiaga, mille teadmusbaasi on arendatud juba

viimased 20 aastat ning see on endiselt aktiivne. Cyc alustas ülikooli projektina ning muutus

hiljem eraldi firmaks. Nüüdseks kuulub baasi üle 200 000 mõiste ning üle 2 miljoni fakti

(predikaatavaldise). Mõisted varieeruvad üldistest materiaalsetest ja mittemateriaalsetest

asjadest kuni valdkonna spetsiifiliste asjadeni nagu sõjaväeüksused. Mõisted moodustavad

hierarhia, kus igal objektil saab olla mitu vanemat. Seda võib vaadata kui komplekti

erinevatest hierarhiatest, millest igaüks on organiseeritud erineva printsiibi alusel. Cyci

ontoloogiat on kasutatud mitmetes projektides: intelligente küsimus-vastus süsteem,

ülesandest kokkuvõtte tegemise süsteem jne.

3.2. Ontoloogiakogud

Siiamaani oleme vaadanud ainult suuri ning üldisi ontoloogiad. Praktikas on aga loodud ka

palju väikseid ja spetsiifilisi ontoloogiad. Tavaliselt on need mingi kindla projekti jaoks, kuid

sobivad kasutamiseks ka teistes sama valdkonna projektides. Seetõttu on loodud

ontoloogiakogud – avalikud kogud jagatavatest ontoloogiatest. Nendest võib leida

ontoloogiaid erinevatest valdkondadest: keemilised elemendid, sõjaväeüksused ja

operatsioonid, teadusprojektid, ülikoolid jne. Mõned olemasolevad ja aktiivsed ontoloogiate

kogud on:

• Ontolingua ontoloogiakogu (Ontolingua ontology library) (http://www-ksl-

svc.stanford.edu:5915) – See on kõige vanem ontoloogiakogu. Ontolingua sisaldab üle

60 ontoloogia, mis koosnevad mõnest mõistest kuni kahe-kolme tuhande mõisteni.

Mitmed ontoloogiad on ka üksteisega seotud. Näiteks, keemiliste elementide

ontoloogia võib viidata üldisele mõõtühikute ontoloogiale jne. Ontoloogiakogu on

veebipõhine ja lubab mitmetel kasutajatel teha ontoloogiate arendamisel koostööd.

Üheks puuduseks on kasutajaliidese liigne keerukus.

Page 12: Ontoloogiad, referaat

12

• DAML ontoloogiakogu (The DAML ontology library) – Defense Advance

Research Projects Agency (DARPA) on otsustanud sponsoreerida ontoloogia keele

arendamist WWW jaoks. Selle käigus on loodud DARPA Agent Markup Language

(DAML). DAML projekti eesmärk on ära kaotada veeb, mille dokumente saavad

lugeda ainult inimesed ja arendada veebi ontoloogiatest ning nende isenditest, mida

oskaks kasutada ka arvutid. Seetõttu on loomulik, et üheks DAML programmi

tulemuseks on üha laienev ontoloogiakogu (http://www.daml.org/ontologies/).

Praeguseks on kogus üle 280 ontoloogia. Mõned neist on väga väiksed – ainult mõned

sõnastikud (i.k. frames), kuid nende eesmärk on toetada teisi ontoloogiaid. Paljud

ontoloogiad katavad sama valdkonda, kuid on loodud erinevate inimeste poolt –

huvitav materjal erinevate lähenemiste võrdlemiseks. Samas ei paku kogu ise

võimalusi ontoloogiate vaatamiseks. Ontoloogiad on esitatud DAML keeles XML

failidena, mis tuleb omakorda sisse lugeda eraldi programmi.

• Protégé ontoloogiakogu (The Protégé ontology library)

(http://protege.stanford.edu) – Sellel kogul on oma graafiline kasutajaliides, mille

üheks eesmärgiks on teha ontoloogiate arendamine kättesaadavaks iga valdkonna

spetsialistile. Ontoloogiate kasutamiseks tuleb alla laadida ja paigaldada

samanimeline programm, kus ontoloogia avamisel on näha tema graafiline esitus.

Protégé kogu on nüüdseks juba arvukas ja kasvab kiiresti.

Page 13: Ontoloogiad, referaat

13

4. Ontoloogia loomine

Selles peatükis esitame lihtsa ontoloogia-arendamise metoodika. See on kokkuvõte palju

detailsemast juhisest (Noy ja McGuiness, 2001).

Ontoloogia loomisel on soovitav kasutada iteratiivset protsessi, kus ontoloogia arendamise

esimene samm on pealiskaudne. Seejärel toimub vigade parandamine, ontoloogia täiustamine

ja detailsemaks muutmine.

Siinkohal tuleb rõhutada mõnda ontoloogia arendamise põhireeglit.

1. Ei ole olemas ühte õiget viisi, kuidas valdkonda modelleerida – alati on olemas

toimivad alternatiivid. Parim lahendus sõltub peaaegu alati rakendusest, mida silmas

peetakse.

2. Ontoloogia arendus on paratamatult iteratiivne protsess.

3. Ontoloogia mõisted peaksid olema lähedased antud valdkonna objektidele (füüsilistele

või loogilistele) ja seostele. Need on peamiselt nimi- (objektid) ja tegusõnad (seosed)

antud valdkonda kirjeldavates lausetes.

Siinkohal ei pööra me tähelepanu tegelikule ontoloogia esitusele ning keskendume sellele,

mis peaks ontoloogias olemas olema, mitte kuidas seda sisemiselt esitada. Ideaalselt toimubki

ontoloogia arendamine sõltumatult selle keelest.

4.1. Ontoloogia arendamise sammud

1. Määrata kindlaks ontoloogia valdkond ja skoop

Soovitav on alustada ontoloogia arendamist defineerides ära selle valdkonna ning skoobi, s.o.

vastata järgmistele küsimustele:

• Mis valdkonda see ontoloogia katab?

• Milleks me seda ontoloogiat hakkame kasutama?

• Missugustele küsimustele peaks ontoloogias olev info pakkuma vastuseid?

Page 14: Ontoloogiad, referaat

14

• Kes seda ontoloogiat kasutab ja haldab?

Vastused võivad ontoloogia arendamise käigus muutuda, kuid nad aitavad igal ajal piiritleda

mudeli skoopi.

Näiteks, ontoloogia, mis kirjeldab finantstehinguid ja mida plaanime kasutada loomuliku

keele töötlemisel ning teadete koostamiseks pankadele, valdkonnaks on finantstehingute

esitus. Loomulikult kuuluvad sellesse ontoloogiasse mõisted, mis kirjeldavad erinevaid

finantstehinguid, finantsasutusi, pangatöötajaid, pangakliente ning teisi finantstehingutega

seotud inimesi. Samas on ebatõenäoline, et see ontoloogia hõlmaks mingit infot

pangatöötajate või klientide hobide kohta. Kuna antud ontoloogia on mõeldud loomuliku

keele töötlemiseks ja teadeteks, on oluline lisada ontoloogia mõistete juurde sünonüüme ning

väljendeid. Kui inimesed, kes seda ontoloogiat haldavad, kirjeldavad antud valdkonda keeles,

mis pole sama, mis ontoloogia kasutajatel, on vaja mõisted nendes keeltes viia omavahel

vastavusse.

2. Kaaluda olemasoleva ontoloogia taaskasutamist

Peaaegu alati tasub uurida, mida teised on teinud, ning teha kindlaks, kas on võimalik mõnda

olemasolevat allikat antud valdkonna ja ülesande jaoks täiustada või laiendada. Olemasoleva

ontoloogia taaskasutamine võib olla isegi vajalik, kui meie süsteem peab suhtlema teiste

rakendustega, mis on juba seotud mõne olemasoleva ontoloogiaga.

Näiteks, võib juba olemas olla ontoloogia, mis kirjeldab krediitkaarditehinguid ning meil on

vaja seda ainult täiendada teist tüüpi tehingutega kasutades olemasolevaid mõisteid.

3. Loetleda üles ontoloogia olulised mõisted

Kasulik on üles kirjutada nimekiri kõigist mõistetest, mida me võiksime kasutada antud

valdkonda kirjeldavates lausetes või kasutajale seletamiseks. Mis mõisteid me võiksime

kasutada? Missuguseid tunnuseid võiksid need mõisted omada? Mida me võiksime tahta

nende mõistete kohta öelda?

Meie näites oleksid olulised mõisted tehing, finantsasutus, konto, summa, kuupäev, aadress,

asukoht ja tehingu kirjeldus, eri tüüpi finantsasutused nagu pank ja krediitkaardifirma, eri

tüüpi kontod nagu era- ja ärikonto jne. Esialgu on oluline saada ulatuslik mõistete nimekiri

ning pole vaja muretseda mõistete kattumise, seoste ning tunnuste eest.

Järgmised kaks sammu – klassihierarhia loomine ning mõistete tunnuste määramine – on

tihedalt läbi põimunud. Raske on teha ühte enne ning siis teist. Tavaliselt loome hierarhias

Page 15: Ontoloogiad, referaat

15

mõned mõisted ning nende tunnused jne. Need kaks sammu on ka ontoloogia arendamise

protsessis kõige olulisemad.

4. Määrata klassid ning klasside hierarhia

Klassi hierarhia loomisel on erinevaid lähenemisi: (1) ülevalt alla – alustades kõige

üldisematest klassidest; (2) alt üles – alustades kõige spetsiifilisematest klassidest – hierarhia

lehtedest; (3) kombineeritult – defineerides kõigepealt kõige rohkem eristuvad mõisted ning

seejärel üldistades ning täpsustades neid vastavalt. Ükski neist meetoditest ei ole parem.

Lähenemisviis sõltub tugevalt sellest, kuidas keegi antud valdkonda näeb. Kui arendajal on

olemas süstemaatiline ülevalt alla valdkonna ülevaade, on lihtne kasutada ülevalt alla

lähenemist. Kombineeritud meetod on sageli kergem paljudele ontoloogia loojatele, kuna

mõisted „keskel” juhtuvad olema raskemini määratletavad (Rosch, 1978).

Millist lähenemist me ka ei kasutaks, harilikult alustame klasside defineerimisest. 3. sammus

koostatud nimekirja põhjal valime välja mõisted, mis vastavad objektidele ning eksisteerivad

sõltumata teistest mõistetest, hoidudes mõistetest, mis iseloomustavad neid objekte. Meie

näites: tehing, finantsasutus, konto, pank, krediitkaardifirma, erakonto ja ärikonto. Need

mõisted saavad antud ontoloogia klassideks ning klassihierarhia tippudeks. Organiseerime

klassid hierarhiliseks süsteemiks, küsides, kas objekti ühe klassi isendiks olemine eeldab

(definitsiooni alusel) ka teise klassi isendiks olemist.

Kui klass A on klassi B ülemklass, siis iga klassi B isend on ka klassi A isend. Teiste

sõnadega, klass B esindab mõistet, mis on „nagu” A. Näiteks, iga pank on alati finantsasutus.

Seega klass pank on klassi finantsasutus alamklass. Kui meie ontoloogias omab finantsasutus

tunnused nagu aadress, juhatajate nimekiri jne, siis ka pangal on need tunnused.

5. Määrata klasside tunnused – väljad

Klassid üksi ei anna piisavalt infot, et vastata pädevalt küsimustele 1. sammus. Olles

defineerinud mõned klassid, peame kirjeldame ka mõistete sisemise struktuuri.

Oleme juba valinud 3. sammus koostatud mõistete nimekirjast välja klassid. Enamik alles

jäänud mõistest ongi klasside tunnused. Need mõisted on näiteks tehingu summa, kuupäev,

tehingus osalevad kontod.

Iga tunnuse puhul nimekirjas, tuleb määratleda, mis klassi ta iseloomustab. Nendest

tunnustest saavad väljad, mis lisatakse klassidele. Seega tehingu klassil saavad olema

Page 16: Ontoloogiad, referaat

16

järgmised väljad: summa, kuupäev, tehingu kirjeldus, sihtkonto, lähtekonto. Finantsasutuse

klassil saavad olema tunnused, mis kirjeldavad tema asukohta ja teostavate tehingute tüüpe.

Kõik klassi alamklassid pärivad selle klassi väljad. Näiteks kõik klassi finantsasutus väljad,

pärinevad kõigile finantsasutuse alamklassidele – pangale ja krediitkaardifirmale. Me võime

lisada täiendavaid välju alamklassidele.

Väli peaks olema seotud kõige üldisemale klassile, mis seda tunnust omab. Näiteks,

finantsasutuse asukoht peaks olema seotud klassiga finantsasutus, kuna see on kõige üldisem

klass, mille isendid reaalsuses kuskil asuvad.

Klasside ja väljade defineerimisel tuleb teha disaini otsuseid, mille puhul pole olemas kindlaid

reegleid. Näiteks, on olemas eri tüüpi finantstehinguid: väljamaks, hoiustamine, ülekanne jne.

Tegelikult on meil selle esitamiseks kaks võimalust: (1) võime lisada välja tehingutüüp

klassile tehing või (2) moodustada klassist tehing erinevad alamklassid: hoiustamine,

väljamaks, ülekanne. Kumb on õige? Vastus sõltub meie ontoloogia skoobist. Kui oluline on

nende tehingu tüüpide eristamine? Kas tehingul on sõltuvalt tema tüübist erinevad tunnused?

Kas tehingu tüübist sõltuvad seoste tüübid tehingu isendi ja teiste isendite vahel. Kui vastus

viimasele kahele küsimusele on „jah”, siis on vaja iga tehingu tüübi kohta teha eraldi klass.

Kui meie valdkonnas on erinevate tehingu tüüpide eristamine ainult teisejärguline, siis piisab

kui hoida seda infot välja väärtusena.

6. Määrata väljade kitsendused

Väljadel võivad olla mitmeid kitsendused, mis kirjeldavad välja tüüpi, lubatud väärtusi,

väärtuste arvu (mitmesust, i.k. cardinality) ja teisi antud välja väärtuste omadusi. Näiteks,

välja nimi väärtus (nagu „panga nimi”) on üks sõne. S.o. nimi on sõne-tüüpi väli. Väli summa

omab numbrilist väärtust. Välja haru (nagu „pank on ABC grupi haru”) väärtused on klassi

aktsiaselts isendid. S.o. väli haru väärtuste tüüp on isend, mille lubatud klass on aktsiaselts.

Page 17: Ontoloogiad, referaat

17

Kokkuvõte

Antud käsitlus kajastas ontoloogiate arendamist ainult väga algsel tasemel.

Ontoloogia on formaalne selge mingi valdkonna kirjeldus. Praktikas sõltub iga ontoloogia

rakendusest, mille jaoks ta luuakse. Seega, kui kuskil on vaja kasutada ontoloogiat, siis tasub

otsida sellist olemasolevat ontoloogiat, mis on loodud sarnast rakendust silmas pidades. Kui

tekib vajadus luua uus ontoloogia, tuleb meeles pidada, et selle loomine on loov protsess ning

kunagi pole kahe erineva inimese poolt loodud ontoloogiad samasugused. Rakendused, mille

jaoks ontoloogiat luuakse ning arendajate arusaam antud valdkonnast mõjutavad kahtlemata

otsuseid ontoloogia disainimisel.

Ontoloogia tegelik väärtus ilmneb alles siis, kui teda kasutatakse rakenduses, mille jaoks ta

loodi.

Page 18: Ontoloogiad, referaat

18

Kasutatud kirjandus

1. A. Farghaly, Handbook for Language Engineers, Stanford, California, USA, 2002.

2. Wikipedia. http://en.wikipedia.org – viimati vaadatud 10.04.2006.