Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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ő.

Hasonló előadás


Az előadások a következő témára: "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ő."— Előadás másolata:

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

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

3 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

4 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

5 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

6 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

7 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.

8 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

9 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

10 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

11 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

12 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

13 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

14 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.

15 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

16 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

17 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

18 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)

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

20 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

21 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

22 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

23 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

24 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…)

25 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…

26 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

27 Ontológiai szerkesztők Protégé  http://Protégé.stanford.edu/ http://Protégé.stanford.edu/  grafikus felületű  open-source Ontolingua and Chimaera OntoEdit OilEd

28 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

29 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

30 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.

31 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

32 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

33 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?

34 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

35 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

36 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

37 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

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

39 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

40 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é

41 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.

42 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

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

44 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.

45 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

46 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

47 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

48 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

49 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

50 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

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

52 Protégé Protégé 3.3.1  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

53 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

54 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

55 Protégé

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

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

58 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

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

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

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

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

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


Letölteni ppt "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ő."

Hasonló előadás


Google Hirdetések