Ontológiák Bárány Máté József 2008.XII.03. Tartalomjegyzék Bevezetés Motiváció Ontológiák Protégé, egy ontológiai szerkesztő.

Slides:



Advertisements
Hasonló előadás
Hatékonyságvizsgálat, dokumentálás
Advertisements

Informatikai tudásleképezés paradigmái és problémái Szekeres András Márk.
Néhány fontos terület a Kreatív Ipar fejlődéséhez
C++ programozási nyelv Gyakorlat hét
Programozás III OOP ALAPOK.
Rendszertervezés GIMP.
Hálózati architektúrák
Az integrált áramkörök (IC-k) tervezése
1 eEgészség Program Összetett, rendezett fogalomtár(ontológia) adatszerkezet készítése, feltöltése mintatartalommal eBeavatkozások eEgészség Program Konferencia.
Fekvőbeteg adatbázis szervezés GyógyinfokPirisa Levente.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Vizuális modellezés Uml és osztálydiagram UML eszközök
Halmazok, relációk, függvények
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Adatbázis-kezelés ACCESS program:
A C++ programozási nyelvSoós Sándor 1/12 C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Miskolci Egyetem Gépészmérnöki és Informatikai Kar Alkalmazott Informatikai Tanszék Dr. Kulcsár Gyula egyetemi adjunktus.
A virtuális technológia alapjai Dr. Horv á th L á szl ó Budapesti Műszaki Főiskola Neumann János Informatikai Kar, Intelligens Mérnöki Rendszerek.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
6. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
© Kozsik Tamás Csomagok. © Kozsik Tamás A program tagolása Típusdefiníciók (osztályok, interfészek) Metódusok Blokk utasítások Csomagok.
Gazdasági informatikából megkaptuk a félévi feladatot!!! Mindenki nagy örömére… 0. hét.
Az UML kiterjesztési lehetőségei
Szoftvertechnológia Rendszertervezés.
Ficsor Lajos CPP6 / 1 Virtuális bázisosztály Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék.
ESzabványok Workshop 1. előadás: Bevezető, eAdatmodell október 13.
Bevezetés a terminológiába. input output Gépi feldolgozás Jelentés- független Jelentés- függő Információfeldolgozás.
ISMERETALAPÚ RENDSZEREK SZAKÉRTŐ RENDSZEREK
Objektumok. Az objektum információt tárol, és kérésre feladatokat hajt végre. Az objektum adatok (attribútumok) és metódusok (operációk,műveletek) összessége,
Objektumorientált tervezés és programozás II. 3. előadás
Budapest, június 28. Ontológia kezelő modul tervezése szöveges információt kezelő informatikai rendszer számára Förhécz András BME Méréstechnika.
Természetes és formális nyelvek Jellemzők, szintaxis definiálása, Montague, extenzió - intenzió, kategóriákon alapuló gramatika, alkalmazások.
1 Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése Célkitűzés: Információk téma-specifikus, különböző típusú forrásokból (internet, intranet.
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
ONTOLÓGIA és TUDÁSREPREZENTÁCIÓ Szőts Miklós Alkalmazott Logikai Laboratórium
Protégé konferencia 2007 Budapest Workshop: "Do ontologies work?"
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Objektumorientált programozás
A metafizika és a természettudomány. Különböző érzékszervi ingereket érzünk, melyeket alkalmi mondatokkal fejezhetünk ki. Pl.: a tej látványára a „Tej.
Objektumorientált tervezés Út az objektumig Az objektum fogalma, jellemzői Objektummal kapcsolatos fogalmak Hardverfogalmak A rendszer modell nézetei Objektumorientált.
SICStus Objects Objektum orientált kiterjesztés a SICStus Prolog nyelvhez Pereszlényi Attila Az előadás.
6.Fogalomalkotás [C. G. Hempel: A taxonómia alapjai. In: Bertalan (szerk.): A társadalomtudományi fogalmak logikája (Helikon, Budapest 2005)] 1.A definíció.
Adatbázis-kezelés.
Koncepció: Specifikáció: e par exp i = eb imp bod ib Specifikáció elemzése: tulajdonságok felírása a koncepció alapján + tulajdonságok bizonyítása.
Objektumvezérelt rendszerek tervezése 7. óra – Iterator, State, Interpreter © Szőke Gábor.
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
Az NVU webszerkesztő program
Objektumvezérelt rendszerek tervezése
Budapest University of Technology and Economics Department of Measurement and Information Systems Monitor komponensek fejlesztése okostelefon platformra.
Szoftver születik Eötvös Konferencia Köllő Hanna.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
C Programozási alapok.
Haladó C++ Programozás Programtervezési minták – alapok Sonkoly Balázs
1 Objektum orientált programozás Az objektumok és az osztályok – példányosodás Nagy Szilvia.
Programozás I. 3. gyakorlat.
Grafikus programozás Készítette: Csernok László
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
PÁRHUZAMOS ARCHITEKTÚRÁK – 13 INFORMÁCIÓFELDOLGOZÓ HÁLÓZATOK TUDÁS ALAPÚ MODELLEZÉSE Németh Gábor.
Adatbázisszintű adatmodellek
A szoftver mint komplex rendszer: objektumorientált megközelítés.
Strukturális tervezési minták
Neumann János Informatikai Kar
Hernyák Zoltán Programozási Nyelvek II.
Előadás másolata:

Ontológiák Bárány Máté József 2008.XII.03

Tartalomjegyzék Bevezetés Motiváció Ontológiák Protégé, egy ontológiai szerkesztő

Bevezetés Nem egyértelmű, nagyon is vitatott kifejezés A filozófiában régóta használt fogalom, lételméletet jelent Mesterséges Intelligencia: „Az ontológia megegyezésen alapuló fogalmi rendszer formális, egyértelmű leírása.” - Thomas Gruber

Motiváció Az emberek, szervezetek, szoftverrendszerek kommunikálnak egymással Eltérő háttér és különböző zsargon használata Ugyanarra a jelenségre több, egymást részben fedő fogalom használata A tudás megosztásának hiánya

Motiváció Következmények:  Nehézkes kommunikáció  Nehézségek a rendszerspecifikációk meghatározásában  Korlátolt együttműködés különböző tudományterületek között  Kevés lehetőség az újrafelhasználásra Jelentős erőfeszítések szükségesek a problémák áthidalására

Motiváció Megoldás: A fogalmi és terminológiai zavar csökkentése vagy megszüntetése, ezáltal a tudás megosztása A tudás megosztása lehetőséget ad egy egységes váz létrehozására a különböző nézőpontok számára

Motiváció A tudás megosztása:  Segíti a kommunikációt különböző szükségletű és hátterű emberek között  Megkönnyíti az együttműködést különböző rendszerek és tudományterületek között  Segít jobb specifikációt készíteni egy informatikai rendszer számára, ha különböző csoportok igényeit vesszük figyelembe  Egy informatikai rendszerben lehetővé teszi a konzisztencia ellenőrzésének automatizálását, ami egy megbízhatóbb rendszert eredményez  Stb.

Motiváció - Példa Az MI, Döntéstámogatás és Elosztott rendszerek rokon területek, de nem tudnak közvetlenül profitálni egymás eredményeiből Ok: A megegyező alapötletek eltérő megközelítése és eltérő fogalmak használata Megoldás: Egy olyan egységes fogalmi váz kidolgozása, amely lehetővé teszi az eredmények egymás közti felhasználását

Motiváció - Példa Megvalósítás:  Azonosítsuk a tématerületek közös ötleteit és a hozzájuk kapcsolódó szakkifejezéseket  Keressük meg az azonos fogalmakat, és nézzük meg a fogalmak egymáshoz való viszonyát  Egységes fogalmi keretrendszer: lingua – franca Eredmény:  Egymás kutatási eredményei felhasználhatóak  A fejlődés üteme felgyorsul, nem szükséges háromszor felfedezni ugyanazt

Motiváció – Példa II. Az űrkutatásban egy űrhajó működtetéséhez több, egymástól független ismeretalapú rendszert használnak, pl. tervezés, anomália észlelése, diagnózis, stb. Kívánatos a rendszerek integrációja, pl. az anomália észlelése modul eredményei felhasználhatóak a diagnózis modul bemeneteként Probléma: A rendszerek különböző megközelítéseket használnak

Motiváció – Példa II. A különböző rendszerek uniformizálása nem kívánatos és nem is praktikus Megoldás: Ágens alapú megközelítés ATOS : Advanced Technology Operations System

Motiváció – Példa II. Megoldás  Azonosítsuk a lényeges fogalmakat  Keressük meg a hozzájuk tartozó szakkifejezéseket  Jelöljük a fogalmak közötti kapcsolatokat  Egységes keretrendszer, lingua – franca  A modulok változatlanok maradnak, a fordítást az ágensek végzik

Motiváció – Példa II. Következmény  Az alrendszerek elérhetővé válnak egymás számára  Lehetőség nyílik az együttműködésre és a tudás megosztására az egymástól függetlenül fejlesztett alrendszerek között

Ontológiák Nincs egységes definíció A példákban látható egységes vázakat/keretrendszereket, amelyekkel lehetővé válik a tudás megosztása és a problémák megoldása, Ontológiáknak nevezzük.

Ontológiák Egy Ontológia részei:  fogalmak  fogalmak attribútumai és tulajdonságai  az attribútumokkal és tulajdonságokkal kapcsolatos feltételek Egy Ontológia definiálja:  a közös szókincset (szótár)  a tudás megosztását

Ontológiák Egy Ontológia sokféle lehet, de minden esetben tartalmaznia kell:  a szótárat, amiben a kifejezések vannak  a szótárban szereplő kifejezések magyarázatát A szótár formalizálására nincs megkötés  Természetes nyelvű  Természetes nyelvű, de strukturált  Formális  Szigorúan formális

Ontológiák Kommunikáció Emberek és szervezetek között Együttműködés Rendszerek között Újrafelhasználható komponensek Megbízhatóság Specifikáció System Engineering Az ontológiák felhasználásának fő területei

Ontológiák - Együttműködés L1L2 L3L4 L1L2 L3L4 Ontológiák segítségével a különböző komponensek közötti együttműködés megkönnyíthető O(n 2 ) vs O(n)

Ontológiák - Együttműködés

Ontológiák – System Engineering Specifikáció  Az, hogy egy ontológia milyen szerepet játszik a specifikációban, függ a formalizáltság fokától  Informális megközelítés: a rendszer követelményeinek és a komponensek kapcsolatainak meghatározása  Formális megközelítés: inkább, hogy mire tervezzük a rendszert, ahelyett, hogy hogyan valósítsa meg a funkcionalitásokat

Ontológiák – System Engineering Megbízhatóság  Formális ontológiák segítségével lehetőség nyílik a szoftverrendszer (fél)automatizált ellenőrzésére Újrahasznosítás  A különböző szoftverrendszerek moduljai felhasználhatóak a különböző rendszerekben  Ontológiák segítségével meg lehet mondani, hol melyik modul használható fel

Ontológiák - Emlékeztető Egy Ontológia részei:  fogalmak  fogalmak attribútumai és tulajdonságai  az attribútumokkal és tulajdonságokkal kapcsolatos feltételek Egy Ontológia definiálja:  a közös szókincset (szótár)  a tudás megosztását

Ontológiák A kifejezések és a köztük lévő kapcsolatok meghatározásának folyamata: Ontology Engineering  Fogalmak meghatározása (osztályok)  Fogalmak hierarchiába rendezése (ősosztályok, származtatott osztályok)  Az osztályok attribútumainak és tulajdonságaiknak (slotok) meghatározása a hozzájuk tartozó korlátokkal együtt  A slotok feltöltése értékekkel

Ontológiák  A világ szerkezetét tükrözik  Fogalmak struktúrája a lényeges  Fizikai reprezentáció nem lényeges OO struktúra  Az adat és kód szerkezetét tükrözi  Általában a viselkedés a lényeges (metódusok)  A fizikai reprezentációt is leírja (int, char, stb…)

Ontológiák Egy ontológia fejlesztésének folyamata: determine scope consider reuse enumerate terms define classes define properties define constraints create instances determine scope consider reuse enumerate terms define classes consider reuse enumerate terms define classes define properties create instances define classes define properties define constraints create instances define classes consider reuse define properties define constraints create instances A valóságban ez egy iteratív folyamat…

Ontológiák Probléma- megoldó módszerek Ágensek Domain független alkalmazások Tudásbázisok Adatbázisok Egy ontológia legtöbbször csak a kezdet… Struktúra Domain leírás

Ontológiai szerkesztők Protégé   grafikus felületű  open-source Ontolingua and Chimaera OntoEdit OilEd

Protégé - Példa French wines and wine regions California wines and wine regions Which wine should I serve with seafood today? A shared ONTOLOGY of wine and food A shared ONTOLOGY of wine and food

Ontológia fejlesztése - Protégé Domain és hatáskör meghatározása determine scope consider reuse enumerate terms define classes define properties define constraints create instances  Milyen területet fed le az ontológia?  Mire fogjuk használni az ontológiát?  Milyen típusú kérdésekre fog választ adni az ontológia ? (kompetencia kérdések)  A kérdésekre adott válaszok változhatnak az életciklus során

Ontológia fejlesztése, Protégé Kompetencia kérdések  A bor mely jellegzetességét vegyük figyelembe a bor kiválasztása során?  A bordeauxi bor vörös vagy fehér?  Melyik bor a legjobb választás grillezett húshoz?  Melyik évjárat jó a Napa Zinfandel számára?  A Cabernet Sauvignon megfelelő tengeri ételekhez?  Stb.

Ontológia fejlesztése, Protégé Érdemes megfontolni az újrafelhasználást determine scope consider reuse enumerate terms define classes define properties define constraints create instances  Erőfeszítések megspórolására  Együttműködés olyan eszközökkel amelyek más ontológiákat használnak  Olyan ontológiák felhasználása, amelyeket már bizonyítottak más alkalmazásokban

Ontológia fejlesztése, Protégé Mit lehet újrafelhasználni?  Ontológiai könyvtárak Protégé ontology library  Felsőbb ontológiák IEEE Standard Upper Ontology  Általános ontológiák DMOZ  Domén-specifikus ontológiák UMLS Semantic Net

Ontológia fejlesztése, Protégé A lényeges kifejezések felsorolása consider reuse determine scope enumerate terms define classes define properties define constraints create instances  Milyen kifejezésekről kell beszélnünk?  Milyen tulajdonságaik vannak a kifejezéseknek?  Mit akarunk elmondani a kifejezésekről?

Ontológia fejlesztése, Protégé A kifejezések felsorolása a példa ontológiában:  bor, szőlő, borászat, helyszín  a bor színe, íze, cukortartalma  fehérbor, vörösbor, bordeauxi bor  étel, tengeri étel, hal, hús, zöldség, sajt

Ontológia fejlesztése, Protégé Osztályok és osztályhierarchia meghatározása consider reuse determine scope define classes define properties define constraints create instances enumerate terms  Egy osztály a domain egy fogalmának feleltethető meg borok borászatok vörösborok  Egy osztály hasonló tulajdonságú elemek gyűjteménye  Osztályok példányai egy pohár kalifornai bor

Ontológia fejlesztése, Protégé Öröklődés  Az osztályok általában rendszertani hierarchiát alkotnak (ősosztály – származtatott osztály)  A származtatott osztály egy példánya az ősosztály egy példánya is  Ha az osztály elemek egy halmaza, akkor a származtatott osztály egy részhalmaz

Ontológia fejlesztése, Protégé Öröklődés – Példa  Az alma a gyümölcs osztály származtatott osztálya Minden alma gyümölcs  A vörösbor a bor osztály származtatott osztálya Minden vörösbor bor  Chianti a vörösbor osztály származtatott osztálya Minden chianti vörösbor

Ontológia fejlesztése, Protégé Hierarchia szintek Top level Middle level Bottom level

Ontológia fejlesztése, Protégé Fejlesztési módszerek:  top – down : először a legáltalánosabb fogalmakat definiáljuk, majd azokat specializáljuk  bottom – up: először a legspecifikusabb fogalmakat definiáljuk, majd általánosabb osztályokba szervezzük őket  kombináció: először a legkézenfekvőbb fogalmakat definiáljuk, majd azokat specializáljuk és általánosítjuk

Ontológia fejlesztése, Protégé Dokumentáció  Az osztályoknak és slotoknak általában van dokumentációja Az osztály leírása természetes nyelven Szinonimák felsorolása Az osztály szempontjából lényeges domain feltevések felsorolása  Az osztályok és slotok dokumentálása legalább olyan lényeges, mint egy programkódé

Ontológia fejlesztése, Protégé Az osztályok tulajdonságainak meghatározása (slotok) consider reuse determine scope define constraints create instances enumerate terms define classes define properties  Egy osztálydefinícióban a slotok leírják az osztály példányának a tulajdonságait és viszonyát más példányokhoz Minden bornak lesz színe, cukortartalma, gyártója, stb.

Ontológia fejlesztése, Protégé Tulajdonságok (slotok)  Tulajdonságok típusai: „belső” tulajdonságok : íz és szín „külső” tulajdonságok : név és ár részek : hozzávalók viszonyok más objektumokhoz : gyártó (borászat)  Egyszerű és összetett tulajdonságok: Egyszerű tulajdonságok : stringek, számok Összetett tulajdonságok : más objektumokat tartalmaznak

Ontológia fejlesztése, Protégé A wine osztály tulajdonságai

Ontológia fejlesztése, Protégé Tulajdonságok és öröklődés  Egy származtatott osztály az ősosztály összes slotját örökli Ha a bornak van neve és íze, akkor a vörösbornak is lesz  Ha egy osztálynak több őse van, az összestől örököl tulajdonságokat A port vörös és fehérbor is. Az utóbbitól a cukortartalmat, az előbbitől a színt örökli.

Ontológia fejlesztése, Protégé A tulajdonságok korlátai (facets) consider reuse determine scope create instances enumerate terms define classes define constraints define properties  Limitálják a lehetséges értékeket egy slot számára A bor neve string A gyártó a borászat egy példánya Egy borászathoz pontosan egy helyszín tartozik

Ontológia fejlesztése, Protégé Gyakori facet-ek  Slot számossága : hány értéke lehet a slotnak  Slot érték típus : milyen típusú értékei lehetnek egy slotnak  Min és max érték : numerikus slot esetén a lehetséges számtartomány  Alapértelmezett érték : a slot értéke alapból, amíg mást nem adunk meg

Ontológia fejlesztése, Protégé A Slot számossága  N számosság : a slotnak legalább N értékkel kell rendelkeznie  Minimum számosság Ha egy, akkor a slotnak kell értéket adni (required) Ha nulla, akkor opcionális  Maximum számosság Ha egy, akkor a slotnak legfeljebb egy értéke lehet Ha nagyobb, mint egy, akkor több értéke is lehet

Ontológia fejlesztése, Protégé Értéktípusok:  String: karaktersztring  Szám: egész vagy lebegőpontos  Bool: igaz/hamis  Enumeráció: a megengedett értékek felsorolása  Összetett típus: egy másik osztály példánya

Ontológia fejlesztés, Protégé Öröklődés és facetek  Egy származtatott osztály az ősosztály összes tulajdonságát megörökli  A származtatott osztály felülírhatja a faceteket, hogy szűkítse a megengedett értékek listáját a numerikus értékek tartományának csökkentése egy osztály lecserélése egy származtatott osztályra

Ontológia fejlesztése, Protégé Példányosítás consider reuse determine scope create instances enumerate terms define classes define properties define constraints  Az osztály egy példányának létrehozása Az osztály a példány közvetlen típusa lesz A közvetlen típus bármely őse a példány típusa lesz  Slot értékek megadása A faceteknek megfelelő értékeket kell megadnunk

Ontológia fejlesztése, Protégé A Fehér Burgundy osztály egy példánya

Protégé Protégé  Java alapú  Open source  Tovább bővíthető különböző pluginekkel  Automatikusan generálja a grafikus felhasználói interészeket a felhasználó által definiált modelleknek megfelelően

Protégé A bekeretezett részt a Protégé támogatja determine scope consider reuse enumerate terms define classes define properties define constraints create instances

Protégé GUI komponensek  Fülek segítenek kiválasztani a különböző munkaterületeket  Widgetek a slotok létrehozására, szerkesztésére, és megtekintésére  Gombok és menük műveletek végzésére

Protégé

Alaptípusok:  Any  Bool  Class  Instance  Float  String  Integer  Symbol (felsorolt konstansok)

Protégé Többszörös öröklődés A port típusú bornak több ősosztálya is van

Protégé Slotok a Protégé-ben  A Protégé-ben a slotok első osztályú objektumok  A legmagasabb szinten vannak definiálva (top level)  A tudásbázisban csak egy slot lehet, de az több osztályhoz is hozzárendelhető Név Személy Újságpapír

Protégé Facetek a Protégé-ben:

Protégé Slot browser fül a Protégé-ben

Protégé Instances fül a Protégé-ben

Protégé Mike Uschold & Michael Gruninger : Ontologies : Principles, Methods and Applications Natasha F. Noy & Samson W. Tu : Developing Medical Informatics Ontologies With Protégé

KÖSZÖNÖM SZÉPEN A FIGYELMET!