700 likes | 938 Views
Ontoloogiate spetsifikatsioon, kontseptualisatsioon ja arendus. Hele-Mai Haav Küberneetika Instituut 26. august 2010 a. Koolitused ja infopäevad toimuvad Euroopa Liidu struktuurifondide programmi „Infoühiskonna teadlikkuse tõstmine“ raames, mida rahastab Euroopa Regionaalarengu Fond.
E N D
Ontoloogiate spetsifikatsioon, kontseptualisatsioon ja arendus Hele-Mai Haav Küberneetika Instituut 26. august 2010 a Koolitused ja infopäevad toimuvad Euroopa Liidu struktuurifondide programmi „Infoühiskonna teadlikkuse tõstmine“ raames, mida rahastab Euroopa Regionaalarengu Fond. Koolituste ja infopäevade tellija on Riigi Infosüsteemide Arenduskeskus ja koolitused viib läbi BCS Koolitus AS
Koolituste ajakava • I päev 26.08.2010 • II päev ? • III päev ? • Koolituspäev kestab: 9.00 – 16.45
Päevakava (26.08.2010) 09.00 – 9.15 Kogunemine ja registreerumine 09.15 – 10.45 Ontoloogia spetsifikatsioon ja arendus, Hele-Mai Haav 10.45 – 12.15 Praktilisi metoodilisi näpunäiteid ontoloogia loomiseks, Hele-Mai Haav 12.15 – 13.15 Lõuna 13.15 – 14.45 Praktikum: iga osavõtja teeb oma IS ontoloogia põhiosa spetsifikatsiooni. Juhendab Hele-Mai Haav 14.45 – 15.00 Energiapaus 15.00 – 16.45 Praktikum jätkub. Juhendab Hele-Mai Haav
Koolituse eesmärgid • Koolituste üldiseks eesmärgiks on luua teie infosüsteemi või vastava valdkonna ontoloogia spetsifikatsioon ja ontoloogia kirjeldus OWL keeles. Loodud kirjeldused publitseeritakse RIHA määruse alusel RIHA keskkonnas. • Tänase koolituse eesmärgid • Õppida aru saama ontoloogia mõistest ja komponentidest • Olema võimelised spetsifitseerima mingi valdkonna ontoloogia • Olema võimelised looma valdkonna mudelit ontoloogia kontseptualisatsioonina • Olema võimelised hindama ontoloogia kontseptualisatsiooni leidmaks taksonoomilisi jm vigu • Looma lihtsa ontoloogia kirjelduse OWL-s kasutades ontoloogiaredaktorit Protege • Looma teie poolt hallatava infosüsteemi ontoloogia spetsifikatsiooni ja kontseptualisatsiooni
Sisu Ontoloogia kui valdkonna kontseptualisatsiooni spetsifikatsioon (so ontoloogia mõiste) Ontoloogia spetsifikatsioon (ja seda esitava dokumendi sisu) Eesmärk, kasutus-stsenaariumid, kasutajad, formaalsuse tase, skoop, detailsus jms. Ontoloogia kontseptualisatsioon Kontseptualiseerimise etapid ja tulemid terminite sõnastik, mõistete taksonoomia seoste diagramm, mõistete sõnastik seoste, atribuutide, konstantide määratlused aksioomide ja reeglite määratlused indiviidide määratlused Ontoloogia kontseptualisatsiooni hindamine Ontoloogia kontseptualisatsiooni kirjeldus OWL keeles
Mõnede ontoloogiatega seotud mõistete tähendused: semantika • Semantika on teadus tähendusest (tavaliselt keele sõnade ja fraaside tähendusest) • Arvutiteaduses vaadeldakse semantikat kui matemaatilise loogika rakendust, mis väljendab programmide tähendust • Semantilise veebi visioonis tähendab semantika veebis leiduva informatsiooni ja teenuste tähendust, mille defineerimisel on inimestel ja masinatel võimalik aru saada veebi sisust. • Veebi laiendamine semantiliste metaandmete abil tähendab liikumist semantilise veebi poole • Semantilised metaandmed võivad olla esitatud ontoloogiatena • Veebi sisu rikastatakse metaandmetega so ontoloogiatega
Semantika ja Eesti riik • Riigi IT koosvõime raamistik,[http://www.riso.ee/et/koosvoime/raamistik] Riigi IT koosvõime raamistik defineerib semantilise koosvõime järgmiselt: “Semantiline koosvõime on erinevate organisatsioonide võime mõista vahetatud informatsiooni (andmete) tähendust ühte moodi “ Andmekogude teenustel baseeruv semantiline koosvõime on eelduseks (või esimeseks etapiks) raamistikus käsitletud üldisemale semantilisele koosvõimele.
Semantika ja RIHA • Vastavalt RIHA määrusele on RIHA andmekogude alamregistrisse kantavate andmekogus töödeldavate andmete koosseisus nõutud lisaks muule ka andmeobjekti semantilist kirjeldust viitena valdkonna terminile (so valdkonna ontoloogia vastavale mõistele, seosele või atribuudile). • Lisaks sellele tuleb RIHA teenuste alamregistrisse kantavate teenuste andmete koosseisus esitada muu hulgas ka teenuse sisendite ja väljundite semantiline kirjeldus.
Mõnede ontoloogiatega seotud mõistete tähendused: taksonoomia • Taksonoomia on teadus objektide klassifitseerimisest ja süstematiseerimisest. • Mingi objektide hulga taksonoomia (taksonoomiline skeem) on klassifikatsioon, mis moodustab hierarhilise struktuuri (või üldjuhul osaliselt järjestatud hulga). • Matemaatiliselt on hierarhiline taksonoomia mingi objektide hulga klassifikatsioonide puukujuline struktuur. Struktuuri tipus on ainult üks klassifikatsioon, mis rakendub kõigile objektidele (juurtipp). Selle juurtipu all olevad tipud moodustavad spetsiifilisemaid klassifikatsioone, mis rakenduvad klassifitseeritava objektide hulga alamhulkadele. • Näiteks, klassifikatsioonid Eesti_kodanik ja Välismaalane on klassifikatsiooni Isik alamklassifikatsioonid. Isik on juurtipp. • See tähendab, et iga Isik pole Eesti_kodanik, kuid iga Eesti_kodanik on Isik. Isik Eesti_kodanik Välismaalane
Ontoloogia mõiste definitsioon Ontoloogia mõiste definitsiooni arvutiteaduses esitas Tom Gruber (Stanfordi Ulikool) 1992 a. järgmiselt: „Ontoloogia on kontseptualisatsiooni ilmutatud ja formaalne spetsifikatsioon“ • “An explicit specification of a conceptualisation” [Gruber93] • Gruber T. R., A translation approach to portable ontologies. Knowledge Acquisition, 5(2):199-220, 1993
Ontoloogia mõiste definitsioon„Ontoloogia on kontseptualisatsiooni ilmutatud ja formaalne spetsifikatsioon“ Kontseptualisatsioonid on inimeste maailma mõistmise ja esitamise (struktureerimise) viisid. Näide: RIS valdkonna raames on meil tihti tegemist selliste mõistetega nagu isik, aadress, pass jms. Kontseptualisatsioonid on sõltumatud kasutatavast keelest ja mingi spetsiifilise situatsiooni tegelikust toimumisest. Näide: sõnad Õun ja Apple jagavad sama kontseptualisatsiooni, mis ei sõltu sellest, kas me sööme neid või keedame neist moosi
Ontoloogia mõiste definitsioon„Ontoloogia on kontseptualisatsiooni ilmutatud ja formaalnespetsifikatsioon“ Spetsifikatsioon sisaldab valdkonna mõistete unikaalseid nimesid (sõnastik) ja nende nimede tähenduse kirjeldust. Nimede tähenduse kirjeldused sisaldavad nii mõistete kui mõistete vaheliste seoste kirjeldusi. Need kirjeldused on formaalsed so masinloetavad.
Seega ... • Ontoloogia defineerib (formaalselt) mingi rakendusvaldkonna kirjeldamiseks ja esitamiseks kasutatavad terminid ja nendevahelised seosed. (definitsioon OWL dokumentatsioonist) • Formaalsed masinloetavad definitsioonid võimaldavad automaatset arutlust valdkonna teadmiste üle.
Milleks ontoloogia? • Ontoloogiate kasutamine aitab muuta tarkvara efektiivsemaks, adaptiivsemaks ja intelligentsemaks, sest see võimaldab: • Jagada üldist arusaama informatsiooni struktuurist ja tähendusest nii inimeste kui tarkvara vahel ning inimeste ja tarkvara vahel • Eraldada valdkonna teadmisi operatsioonilistest teadmistest • Ilmutatult esitada valdkonna eeldusi (nõudeid) • Taaskasutada valdkonna teadmisi • Analüüsida valdkonna teadmisi
Milleks ontoloogia?Näide • Süsteemide integratsioon (või andmete jagamine) • Jagatud üldine standardne ontoloogia Isik Kindlustatud_Isik E-tervis KMA Kindlustatud_Isik Isik vastavustabelid
Milleks ontoloogia?Näide • Süsteemide integratsioon (või andmete jagamine) 2. Viiteontoloogia kasutamine (igal valdkonnal/rakendusel on oma ontoloogia, millest viitab viiteontoloogiale) Isik Kindlustatud_Isik E-tervis KMA Patsient Kodanik vastavustabelid
Milleks ontoloogia?RIHA näide • Veebiteenuste ja andmeobjektide kirjelduste semantiline rikastamine • See võimaldab • Tagada IS semantilise koosvõime • Vältida liiasust IS loomisel • Paremini planeerida uusi IS • Paremini planeerida uute veebiteenuste loomist • Analüüsida olemasolevate IS koosvõimet
Ontoloogiate loomise strateegia riigis • Baasontoloogiate valik • Äriregister • Füüsilise isiku andmed • Aadressandmed • Ruumiandmed • Need katavad umbes 80% praeguste veebiteenuste sisend/väljund parameetritest • Baasontoloogiate loomisel kasutatud metoodika soovitamine teiste ontoloogiate loomiseks (semantika metoodika ja juhendi täiustamine)
Ontoloogilised pühendumused... on kokkulepped jagatud sõnastiku tihedalt seotud ja kooskõlaliseks kasutamiseks. Näide: Eesti riigi infosüsteemide semantilise koosvõime saavutamise initsiatiiv
Ontoloogia komponendid • Indiviidid (klassi eksemplarid) • Hele-Mai, Peep, Martin • Mõisted (klassid) on mingis mõttes sarnaste indiviidide hulgad • Kodanik • Omadused (properties) • Lihtsad omadused, so atribuudid ehk andmetüübiomadused (on spetsiifilised mingile indiviidile ja esitavad lihtväärtusi) • Näiteks, Nimi, Perekonnanimi, Isikukood, • H-M <nimi> “Hele-Mai” • Keerulised omadused, so seosed, mis viitavad teistele indiviididele. (Seosed indiviidide vahel spetsifitseerivad kuidas indiviidid on omavahel seotud.) • Näiteks, H-M <viib_läbi> Koolitus
Seoste liigid • Kõige tähtsam seos on <is-a> ehk alamklass/ülemklass seos, mis määrab indiviidide klassifitseerimise klassidesse. • <is-a> seos loob kas hierarhilise taksonoomia või üldjuhul osaliselt järjestatud hulga, mis selgelt esitab indiviidide seose teiste indiviididega. • St. Iga alamklassi indiviid on alati ka ülemklassi indiviid!!! ja pärib ülemkassi indiviidi omadused • Näiteks, Kodanik <is-a> Inimene st iga kodanik on inimene • Inimesel on atribuut Nimi, st et Kodanikul on ka atribuut Nimi • Teine levinud seose tüüp on <osa> seos (part-of), mis esitab indiviididest liitindiviidide moodustumise. • Näiteks, Käsi <is-part-of> Inimene
Seoste omadused • Kitsendused • näiteks, domeeni ja ulatuse kitsendused • Seosed seovad domeeni klassi kuuluvaid indiviide indiviididega ulatus klassist. Seega domeen on seose lähteklass ja ulatus tema sihtklass. • sümmeetria, • transitiivsus, • kardinaalsus, jms. Koolitus Kodanik Moodul2 H-M viib_läbi
Seoste omadused • Kitsendusteks on ka loogikaavaldised, mille abil saab defineerida klasse, mille indiviidid peavad rahuldama antud loogilist tingimust. Näiteks, kui on tegemist semantilise veebi ontoloogiaga, mis on kirjeldatud OWL (Ontology Web Language) keeles, siis esitatakse kitsendus kirjeldusloogika avaldisena. • Kitsendusi saab näiteks kasutada klassifitseerimaks objekte mingitesse defineeritud klassidesse.
Indiviidid !!! Ontoloogia ei pea tingimata sisaldama indiviide, kuid üldiselt üheks ontoloogia eesmärgiks on võimaldada indiviidide klassifitseerimist isegi siis kui need indiviidid ei ole ilmutatult ontoloogia osaks.
Ontoloogia näide Isikukood Eesnimi Perenimi atribuudid klassid omab seosed DokNR V-andm-aeg
Ontoloogia mõiste kokkuvõttes Ontoloogia Seosed Kitsendused Reeglid Taksonoomia + Sõnastik + üldistusseos “is-a” Üldistusseosele lisaks saab defineerida muid seoseid, millest tähtsaim on kompositsioon “part-of”.
Ontoloogia kooskõlalisus ja täielikkus • Ontoloogia on kooskõlaline siis ja ainult siis kui ta ei võimalda tuletada paikapidamatuid (kehtetuid) järeldusi • Ontoloogia on täielik siis ja ainult siis kui ta võimaldab tuletada kõik võimalikud kehtivad järeldused alustades ontoloogia sõnastikust ja rakendades lubatud tuletusreegleid
Ontoloogia arendus on sama keeruline, raske ja aeganõudev kui tarkvara arendus Kaasaegsed ontoloogiate loomise metodoloogiad on üles ehitatud sarnaselt tarkvara arendusprotsessidega
Arendusmetoodikad • Ühte standardset ontoloogiate loomise ja arenduse metoodikat pole olemas. • Kõige kuulsam ja süstemaatilisem on METHONTOLOGY
Mõned viited metodoloogiatele • Gruninger, M., & Fox, M. S. (1995). Methodology for the design and evaluation of ontologies. IJCAI Workshop on Basic Ontological Issues in Knowledge Sharing. Montreal, Quebec, Canada. • Uschold, M., & Gruninger, M. (1996). Ontologies: principles, methods and applications. Knowledge Engineering Review, 11(2), 93-155. • Jones, D., Bench-Copon, T., & Visser, P. (1998). Methodologies for ontology development. In: J. Cuena (Ed.), Proceedings of ITi and KNOWS Conference of the 15th IFIP World Computer Congress, Budapest, August 1998, pp. 62-75. Retrieved November 20, 2004, from http://www.iet.com/Projects/RKF/SME/methodologies-for-ontology-development.pdf • Fernandez-Lopez, M. (1999). Overview of methodologies for building ontologies. In: Proceedings of the IJCAI-99 workshop on ontologies and problem-solving methods, Stockholm, Sweden. Retrieved November 20, 2004, from http://www.lsi.upc.es/~bejar/aia/aia-web/4-fernandez.pdf • Corcho, O., Fernandez-Lopez, M., & Gumez-Perez, A. (2003). Methodologies, tools and languages for building ontologies: where is their meeting point? Data & Knowledge Engineering, 46, 41-64. • Gómez-Pérez, A., Fernández-López, M., Corcho, O., Ontological Engineering with examples from the areas of Knowledge Management, e-Commerce and the Semantic Web. Springer, 2004,
Arendustegevused • Spetsifitseerimine Ontoloogia eesmärgi ja skoobi esitamine loomulikus keeles ning dokumendi vormis. Lisaks esitatakse nimekiri põhilistest infoallikatest ja valdkonna olemitest. • Kontseptualiseerimine Valdkonna kontseptuaalse mudeli loomine ontoloogiana • Formaliseerimine Sobiva formalismi valik ja ontoloogia esituse sellega vastavusse viimine
Arendustegevused • Realiseerimine Ontoloogia kodeerimine kindlasse formaalsesse keelde (näiteks OWL DL) • Haldamine Põhiliste muutuste haldamine • Kasutamine ja taaskasutamine... on ontoloogiate loomise peamine lootus. Sel kujul formaliseeritud teadmised on paremini taaskasutatavad.
Ontoloogia spetsifikatsioon ... • on dokument, mis sisaldab järgmist infot: • Eesmärk, kasutus-stsenaariumid, kasutajad, formaalsuse tase, skoop, detailsus jms. • Põhilised infoallikad k.a. taaskasutatavad ontoloogiad • Põhilised olemid (olemite hulgad)
Skoop • Valdkonna ontoloogia ei peaks katma kogu valdkonna teadmisi • Pole vaja mõisteid üldistada või spetsialiseerida rohkem kui rakendus nõuab • Pole vaja lülitada ontoloogiasse kõiki indiviidide omadusi • Ainult kõige tähtsamad omadused • Ainult need omadused, mida rakendus nõuab
Ontoloogia spetsifikatsiooni näide • Eesmärk- • ontoloogia eesmärgiks on esitada kodakondsusameti IS poolt hõivatud valdkonna ontoloogia riigi IS semantilise koosvõime saavutamiseks veebiteenuste kirjelduste semantilise rikastamise abil nimetatud ontoloogia mõistetega • Kasutusstsenaariumid ja kasutajad- • Kasutajad on IS disainerid ja arendajad. • Kasutusstsenaarium: IS arendaja soovib luua uut veebiteenust. Kasutades RIHA funktsionaalsust esitab ta päringu, milles märgib uue veebiteenuse sisendile, väljundile või mõlematele vastavad mõisted. Vastuseks saab listi võimalike (komponent)veebiteenuste kirjeldustega. • Skoop • Kodakondsusameti IS olemasolevate ja tulevaste veebiteenuste liideste sisend ja väljundparameetritele vastavad mõisted ning vajadusel vastavatele andmebaasi väljadele vastavad mõisted • Formaalsuse tase- • formaalne, OWL DL • Taaskasutatavad ontoloogiad ja teised infoallikad- • riigi õigusaktid, IS loomise dokumendid, andmebaasiskeemid, olemasolevate WSDLs kirjeldatud veebiteenuste kirjeldused, RIHAs publitseeritud ontoloogiad, e-riigi ontoloogiad teistest projektidest jms
Kontseptualiseerimine hõlmab... valdkonna teadmiste hõivamist, selle organiseerimist ja struktureerimist. Ontoloogia kontseptualisatsiooni esitamiseks kasutatakse viise, mis on sõltumatud ontoloogia formaliseerimise ja realiseerimise keeltest. Seega on kontseptualisatsiooni esitus suhteliselt vaba, meie lähtume, kuid ei kopeeri METHONTOLOGY poolt pakutavat.
Kontseptualiseerimise etapid ja tulemid: • terminite sõnastik, • mõistete taksonoomia • seoste diagramm, • mõistete sõnastik • seoste, atribuutide, ja konstantide määratlused/kirjeldused • aksioomide ja reeglite määratlused • indiviidide määratlused/kirjeldused
1. Terminite sõnastik Ontoloogiasse lülitavate terminite kindlaksmääramine,nende terminite loomulikus keeles esitatud kirjelduste, sünonüümide ja lühendite esitamine.
2. Mõistete arendamine taksonoomiatesse Mõistete klassifitseerimine taksonoomiatesse ja taksonoomiliste vigade leidmine ning korrigeerimine Mõned asjad, mida peaks silmas pidama! • Ei ole ühte korrektset taksonoomiat • Iga alamklassi indiviid on tema ülemklassi indiviid • Klasside taksonoomia on transitiivne Kui B on A alamklass ja C on B alamklass, siis C on A alamklass • Klassil võib olla mitu ülemklassi. Erinevad süsteemid lahendavad sellest tekkinud konflikte erinevalt. • Klassid on lõikumatud kui neil ei saa olla ühiseid indiviide. Lõikumatutel klassidel ei saa olla ka ühiseid alamklasse
Formaalsete taksonoomiate modelleerimine • Alamklass: klassid A ja B on klassi C alamklassid • Lõikumatu dekompositsioon: klassi C alamklasside hulk, mis ei oma ühiseid indiviide ja ei kata C-d • Ammendav dekompositsioon: hulk klassi C alamklasse, mis katavad C ja mis võivad omada ühiseid indiviide ja alamklasse • Jaotus: klassi C alamklasside hulk, mis katab C ja ei oma ühiseid indiviide või alamklasse B A B A
Tsüklid klasside taksonoomias Väldi sellist pilti! Klassid A, B, ja C omavad ekvivalentset indiviidide hulka. Enamuse definitsioonide järgi loetakse mõisted A, B ja C sel juhul ekvivalentseteks.
Taksonoomiate loomise trikid • Klasside taksonoomias esineva klassi kõik sama taseme alamklassid peavad olema samal abstraktsiooni tasemel • Kui klassil on ainult üks alamklass, siis see viitab modelleerimise probleemile • Klassid esitavad valdkonna mõisteid, mitte nende mõistete nimesid • Klassi nimi võib muutuda, kuid klass ise esitab ikkagi sama mõistet • Sama mõiste sünonüümnimed ei ole erinevad klassid
Taksonoomiate loomise trikid • Alammõistete optimaalne arv- 2-12 (ainult üks alammõiste viitab liiasusele) • Kas uus mõiste või atribuut? • Kui olem esineb erinevates seostes, siis on parem teha temast mõiste. Kui olemi väärtus muutub tihti, siis on parem teha temast atribuut. • Kui olemi eksistents on alati sõltuvuses mingist teises olemist, siis tee temast atribuut. • Kas mõiste või indiviid? • Kui olem esitab mingite asjade hulka, siis tee temast mõiste, vastasel korral indiviid. Mõiste on alati turvalisem kujutusviis. • Ontoloogiate dokumenteerimine-kasuta inimloetavaid kirjeldusi • Ontoloogiate modulariseerimine- • suurte ja keeruliste ontoloogiate mooduliteks jagamine • Primitiivsed mõisted (ilma loogiliste aksioomideta) defineeritakse sõltumatutes moodulites • Taksonoomia on puu kujul ja baseerub ühel eristaval mõistel • Mooduleid ühendatakse aksioomide abil defineeritud mõistete abil
3. Seoste diagramm KodanikuAadress Kodanik Aadress onKodanikuAadress seos/pöördseos ulatus domeen