ELTE IK 2006.
5. segédlet
ONTOLÓGIA – Oktatási segédlet Sántáné-Tóth Edit Napjainkban egyre kevesebb az egyedi, a világtól elzárt üzemő számítógép: a gépek döntı többsége az információcsere és az üzleti tranzakciók világhálózatának végpontjai. A számítógépes technológiában kulcskérdésekké váltak mára az adat-, az információ- és a tudás-csere. Ehhez biztosítani kell az elosztott módú és azonos módon érthetı párbeszéd lehetıségét az emberek, illetve az emberek és gépek közötti kommunikáció különbözı tárgyterületein. A mesterséges intelligencia (MI) egy napjainkban felfutó ágának, az ontológiának célja éppen az információ és a tudás megosztásának és újrafelhasználásának a támogatása. Emellett az ontológia, mivel jelentéssel, vagyis tartalmi, szemantikai kérdésekkel foglalkozik, lehetıséges biztosít szöveges információk ún. tartalom-orientált feldolgozására is; ez az Internet eddigi lehetıségeit minıségében megváltoztatja. Az ontológia divatos kifejezéssé vált mára az ismeretalapú rendszerek építésénél, a természetes nyelv feldolgozásban, az együttmőködı információrendszerek kidolgozásánál, az intelligens információ-integrálásnál és tudásmenedzsmentben. A világhálón sokhelyütt találkozhatunk ontológiák alkalmazásával – a Web-oldalak taxonómiai kategorizálásától (pl. Yahoo) kezdve a kereskedelmi termékek jellemzı tulajdonságaik szerinti kategorizálásáig (pl. Amazon.com). Példák jól ismert ontológiákra, ontológia-leíró nyelvekre: − a bibliográfiai adatokra tárgyterület-specifikus módon kidolgozott Dublin Core fogalomgyőjtemény (http://perl.oclc.org/metadata/dublin_core – XML, RDF és HTML támogatással), − a molekuláris biológia ontológiája, a XOL nyelve (http://www.ai.sri.com/pkarp/xol/ – a BioOntology Core Group XML-szintaxisú, keretalapú reprezentációval bıvített nyelve), − a ma létezı legnagyobb orvosi fogalomrendszer, a 150000 fogalmat tartalmazó SNOMED (Systematized Nomenclature of Human and Veterinary Medicine, [Price&Spackman 2000]), − a WWW Consortium (W3C) Web-lapok tartalmi keresésére alkalmas RDF (Resource Description Framework) nyelve ([Brickely&Guha 1999]), − a DARPA és a W3C által ágensek interakciójával bıvített RDF nyelve, a DAML (DARPA Markup Language, [Hendler&McGuinness 2000]) és a − termékek és szolgáltatások terminológiájának leírására alkalmas UNSPSC ontológia, amelyet a B2B tranzakciók egyes területeire dolgozott ki a United Nations Development Program keretében a Dun & Bradstreet (www.unspsc.org)1. Jelen összeállítás a forrásmunkák jegyzékében található anyagok felhasználásával rövid áttekintést nyújt az ontológia kutatások helyzetérıl – a teljesség igénye nélkül. Elıször szó lesz az ontológia meghatározásáról (a filozófiában, a többi tudományterületen majd kiemelten a mesterséges intelligenciában). Ez után szó lesz az ontológia és a taxonómia viszonyáról, az információrendszerek ontológiáinak problémáiról, majd vázoljuk a jelentés szerinti (szemantikai) kezelés iránti Webigényeket és a szemantikus Web irányzat eddigi eredményeit. Végezetül különbözı részletességgel ismertetünk néhány nevezetesebb ontológia-modellezı nyelvet, úgymint a CycL, KIF, Ontolingua, Flogika, leíró logikákat és az OIL nyelveket, valamint a szemantikus világháló leíró eszközeként kidolgozott OWL ontológianyelvet (OWL: Web Ontolgy Language). Megemlítjük, hogy az 1995 év ontológia-projektjeit a http://www.kr.org/top-projects.html dolgozat ismerteti, míg az évezred elejének ontológia-projektjeirıl a http://www.lsi.upc.es/∼luigic/ON-TO/ON-TO_files/right.html dolgozat ad egy 8 oldalas beszámolót. A szemantikus világháló elméleti és gyakorlati kérdéseivel részletesen foglalkozik 2005-ben megjelent [Szeredi 2005] könyv.
1
További szabványos ontológiák az elektronikus kereskedelemben pl. a B2C tranzakciókat támogató Content Europe (www.conteneurope.com) és a hardver-szoftveripar RosettaNet (www.rosettanet.org) vertikális ontológiája. Sántáné-Tóth E.: Ontológia – oktatási segédlet
1
ELTE IK 2006.
5. segédlet
1. Ontológia Az ontológia Arisztotelész idejében a filozófia egyik ága volt (a lételmélet), majd szemléletmódja és módszerei fokozatosan megjelentek a többi tudományterületen. Jelenleg az MI-n belül az ontológia az egyik legintenzívebben mővelt részterület. 1.1 Ontológia a filozófiában és a többi tudományterületen Az ontológia megnevezést a filozófia hosszú története során elıször a lételméleten belül használták. Az ontológia eredetileg a filozófia egyik ágazata, a lételmélet ( a létezı dolgok tudománya), amely a létezı dolgok szisztematikus számbavételével foglalkozik. Az ontológia jellemzıen kvalitatív, minıségi jellegő, szemben a többi tudománnyal, amelyek kvantitatívak, mennyiségekkel foglalkoznak. Ezek mérhetı dolgokkal foglalkoznak, pl. azzal, hogy egy bizonyos osztály tulajdonságainak mérhetı viselkedése hogyan kapcsolódik egy másik osztály tulajdonságainak viselkedéséhez. Továbbá, definíció szerint, csak az érdeklıdési területükbe esı kategóriákkal (az adott terület alapvetı formáival és viszonyaival) foglalkoznak. A filozófia ontológusa nem a mérhetı világgal, hanem a mértékek ontológiájával, a kategóriákon túli kapcsolatokkal foglalkozik – beleértve a különbözı tudományterületek eltérı tartományainak kategóriái közötti kapcsolatokat, valamint a hétköznapi gondolkodásban elıforduló fogalmakat, objektumokat. Összegezve: egy tudományterület ontológiája az adott területre jellemzı kategóriákat (fogalmakat, objektumokat, kifejezéseket), illetve a köztük fennálló kapcsolatokat írja le – jelentésükkel együtt. Minden ontológia megad egy olyan kommunikációs szövegkörnyezetet (domain of discourse2), amelyben az adott terület fogalmai vitathatók, egyértelmően elemezhetık. Ebben van az ontológiák alkalmazásának erıssége. 1.2.Ontológia a számítástudományban, ezen belül a mesterséges intelligenciában Az MI meghatározó egyénisége, McCarthy egy korai mővében már említi az ontológia fogalmát a köznapi gondolkodás kezelésével kapcsolatban ([McCarthy 1980]). Az MI-ben jelenleg elfogadott meghatározás szerint egy adott tárgyterület vonatkozásában az ontológia a fogalomalkotás explicit specifikációja: egy tárgyterület fogalmainak és az azok között fennálló kapcsolatoknak formális specifikációja, amelyhez általában természetes nyelvő leírás is társul ([Gruber 1993a]). Egy adott tárgyterület ontológiája egy olyan reprezentációs szójegyzék („nevezéktan”), amely a tárgyterület leírandó fogalmairól és objektumairól, azok tulajdonságairól és kapcsolatairól szól. Tartalmazza azok olvasható formában leírt megnevezését, a nevek jelentését (interpretációját) és jellemzését (pl. az interpretációs korlátozásokat). Gyakorlatilag ez azt jelenti, hogy egy ontológia egy formális fogalomgyőjtemény definícióinak halmaza, amely osztályok, relációk, függvények stb. definícióiból áll. A tudásmegosztás szempontjából fontos, hogy e definíciók az olvasótól és az alkalmazás kontextusától szemantikailag függetlenek legyenek. Azonos tárgyterületen dolgozó közösség az ontológia közvetítésével azonos módon legyen képes értelmezni és használni a közösen használt fogalmakat, objektumokat, tulajdonságaikat és relációikat. Ezt úgy is mondjuk, hogy minden ilyen közösség tagjai az ontológia által specifikált elméletre nézve konzisztens – esetleg nem teljes – szótárhasználatra vonatkozó ontológiai elkötelezettséget (egy ilyen értelmő „szerzıdést”) vállalva dolgoznak: Egy ontológiai egyezség az egy olyan szerzıdés, amely az ontológia által specifikált elméletre nézve konzistens (de nem teljes) szótárhasználatra vonatkozik – pl. kérdésfeltevésnél, állítások megfogalmazásánál. Egy (szoftver-)ágenst úgy kell megépíteni, hogy az adott tárgykörben „ontológiai elkötelezettséget” vállaljon, míg ontológiák tervezésénél az a cél, hogy segítse az ágensek egymásközti tudás-cseréjét (ld. [Gruber 1993a]).
2
Domain of discourse: a filozófia egyes ágaiban az a kommunikációs szövegkörnyezet, amelyben az adott filozófiai iskola fogalmai nézetei, tézisei vitathatók – amelyben más iskolák fogalmai esetleg egyáltalán nem értelmezhetık, hiszen nem azonos fogalmi alapon és ezért nem azonos vita-alapon állnak. (Az ontológia végül is a tudásról szóló tudás: én azt hiszem, hogy ı azt gondolja, hogy…)
2
Sántáné-Tóth E.: Ontológia – oktatási segédlet
ELTE IK 2006.
5. segédlet
A közös ontológiákat arra használjuk, hogy arra nézve ontológiai kötelezettségvállalást írjunk le ágensek egy halmazára nézve úgy, hogy ezen ágensek anélkül tudjanak kommunikálni, hogy egy globálisan megosztott, közös elmélet fölött mőködnének. Nem kell tehát osztozniuk egymás ismeretbázisában! Mindegyik ismerhet olyan dolgokat, amit a másik nem, és egyik számára sem kötelezı válaszolni a megosztott fogalomgyőjteményt használó összes kérdésre (ezt jelenti a „nem teljes szótárhasználat”). Az MI esetében egy ontológia a következıket tartalmazza: − a kommunikációs szövegkörnyezet ún. entitásainak nevéhez kapcsolt, e nevek jelentését megadó, ember által olvasható definíciókat (egy entitás lehet osztály, reláció, függvény stb.), − az interpretációk körét korlátozó formális axiómákat, valamint − az elıbbi definíciókból és axiómákból képezett jólformált szövegeket, „formulákat”. Formálisan: egy ontológia egy logikai elmélet leírása. Az ontológia megjelenési formái: leíró szótár, típushierarchia (leírásokkal bıvített taxonómia) stb. Az ontológia fokozatai: informális (pl. szójegyzék3), félig-formális, formális (ontológia-nyelvő leírás). Az ontológia-kutatás céljai: 1. olyan köztes nyelv definiálása, amely több tárgyterülethez tartozó szoftver leírását és együttmőködését támogatja, 2. ontológiák tervezését és kiértékelését támogató eszközök és módszerek kifejlesztése, 3. ontológia-könyvtárak létrehozása. Utóbbi egységes, újrafelhasználható és elosztott ontológiák kidolgozását és ezek elérésének biztosítását jelenti. Ennek elıfeltétele az ontológiák specifikálásának és cseréjének szabványosítása. A legkorábban ilyen céllal kidolgozott ontológia-könyvtár KSL Ontology Server; errıl és néhány jelentısebb ontológia modellezı nyelvrıl a késıbbiekben lesz szó. Az egyes szakterületi ontológiák fejlesztésének céljai ([Noy&McGuiness 2001]): 1. Emberek és/vagy szoftver-ágensek által elérhetı, elosztott információ struktúrájának és jelentésének azonos értelmezése. Pl. különbözı Web-oldalak tartalmaznak orvosi információt, mások e-kereskedelmi szolgáltatásokat. Felhasználói kérésre ezekbıl – közös értelmezhetıség esetén – kigyőjthetık és összesíthetık hasznos orvosi-kereskedelmi információk. 2. Szakterületi ismeretek újrafelhasználásának biztosítása. Pl. sok szakterület leírása igényli az idı kezelését. Amennyiben az idıkezelés ontológiáját hozzáértı kutatók kidolgozzák és rendelkezésre bocsátják, azt már nem kell szakterületenként külön-külön (és eltérı módokon) kidolgozni. 3. Adott szakterületrıl szóló feltételezések, korlátozások explicit megfogalmazása. Amennyiben e feltételezések, korlátozások változnak, csak ezeket kell módosítani, nem kell a programkódban megkeresni a vonatkozó részeket (amelyek módosítása rendszerint kemény munka). Ráadásul egy ilyen explicit leírás jól hasznosítható az új munkatársak betanításánál/betanulásánál is (ugyanis ennek révén a betanulási idı lényegesen lerövidíthetı). 4. A szakterületi ismeretanyagnak a „mőködtetı” ismeretektıl való elkülönítése. Ha pl. ezen igénnyel, szakterülettıl független módon dolgoznak ki egy konfiguráló rendszert (amely tehát komponenseibıl adott korlátozások figyelembevételével konstruál meg egy objektumot), akkor az – a szakterületi ismeretanyag cseréjével – alkalmazható PC-k, emelıgépek stb. konfigurálására is. (Az ismeretalapú technológia alapértelmezésben ilyen jellegő!) 5. A szakterületi ismeretanyag elemzése. Az elemzés deklaratív specifikációk esetében formális módon történhet, ami segíti mind az újrafelhasználást, mind pedig a továbbfejlesztést.
3
Ontológiák definíciójának, elosztásának és összekapcsolásának módszereirıl és technikáiról szóló jegyzetekre példa Sowa ontológiája: http://users.bestweb.net/~sowa/ontology/gloss.htm. Sántáné-Tóth E.: Ontológia – oktatási segédlet
3
5. segédlet
ELTE IK 2006.
2. Ontológia és taxonómia A taxonómia a logikának az a része, amely az ismeretek rendszerezésével foglalkozik. Egy taxonómia tulajdonképpen rendszertan, pontosabban valamely leíró tudománynak az ismereti anyagot a saját rendszerezı elvei alapján rendszerbe foglaló része (gondoljunk az állat- vagy növény-rendszertanra). Bármely tudományos vizsgálódás azzal szokott kezdıdni, hogy valamilyen rendbe szervezik, osztályozzák a megfigyelés alatt álló fogalmakat és objektumokat, kiépítve az adott terület fogalomhierarchiáját, taxonómiáját. Adott tárgyterületen belül egy meghatározott osztályozási szempont szerint kidolgozott taxonómiát leggyakrabban hierarchikus fával ábrázolnak. Egy szakterületi ontológia, elsı közelítésben, kategóriákból álló olyan táblázat, amely táblázat minden egyes sorának entitástípusa egy hierarchikus gráf (irányított ciklusmentes gráf, fa) valamely csomópontjához kapcsolódik. Fogjuk látni, hogy nem feltétlenül csak egy taxonómia, hanem taxonómiák jól szervezett családja állhat egy ontológiát reprezentáló táblázat mögött. (Azt már most leszögezhetjük, hogy egy ontológia jellemzıen bıvebb egy taxonómiánál, mivel egyben a fogalmak, objektumok leírását is tartalmazza.) Mármost nem minden taxonómia lehet alapja egy ontológiának; annak jól-formáltnak kell lennie. Egy taxonómia jól-formáltságának három követelménye [Smith 2002] szerint: 1. Egy taxonómiát – matematikai értelemben – irányított ciklusmentes gráffal, fával lehet leírni. Egy ilyen fa csomópontjai reprezentálják a kategóriákat, a legfelsı, legáltalánosabb kategóriáktól kezdve az egyre kevésbé általános felé haladva, szigorú alá-és fölérendeltségben. Utóbbi azt jelenti, hogy ha két kategória példányai átfedik egymást, akkor az egyik a másik alkategóriája kell, hogy legyen. A ciklusmentesség (más néven trapézmentesség) elve azon alapul, hogy a taxonómia által adott osztályozás „kétszeres beszámítást” nem tartalmazhat. Például, ha a közút egy pontján megfigyeljük az áthaladó kocsikat, és (külön) megszámoljuk a piros kocsikat és a Chevrolet-eket, akkor a piros Chevroleteket nem számolhatjuk hozzá mindkét osztályhoz. A probléma itt az, hogy a tekintett két csomópont között nincs természetes kapcsolat: két külön osztályozás a szín és a típus szerinti osztályozás! A természettudományok, pl. az állattan, a növénytan vagy a kémia kielégítik (legalább is ideálisan) a ciklusmentesség követelményét, azonban a valós életben nagyon sok az ellenpélda. Olykor hasznos fa-szerkezettıl eltérı taxonómiát alkalmazni, ahol is egy adott kategóriát szimultán számos független ágra vághatunk oly módon, hogy minden ágból öröklıdik az információ. Így pl. egy adott vírus lehet RNA típusú vírus, amely még hozzá van társítva bizonyos nyirokszövet daganathoz. Az ilyen „kereszt-osztályozások” két cél keverésével jönnek létre. Az egyik cél szigorúan taxonómiai: a fa minden levele – egymást páronként kizárva – együttesen kimerítik a tekintett tárgyterületet (a taxonómia kidolgozásának adott szemcsézettségi szintjén). A másik cél annak biztosítása, hogy egy kategória példányairól szóló ismereteket egy másik fa egy adott csomópontjához rendeljük hozzá. 2. Egy taxonómia építésének alapelve az, hogy a legalacsonyabb kategóriákat reprezentáló, vagyis az alkategóriával nem rendelkezı (levél-)csomópontok száma minimális legyen. Ez a vektortereknél alkalmazott elvhez hasonlít. Ez a szabály azt garantálja, hogy a fa legalsó szintje kimerítı módon megadja a maximális számú „elemi” kategóriát; ha pl. a nemes gázok esetén ezek a hélium, neon, argon, kripton, xenon és radon. Ez a szabály egyben azt is biztosítja, hogy minden közbülsı csomópont csak a minimális számú csomópont kombinációja lehet. 3. Egy taxonómia egyesíthetı legyen abban az értelemben, hogy kell lennie egy legfelsı vagy maximális csomópontnak, amely a „maximális kategóriát” reprezentálja. Ez a maximális kategória magába foglalja (általánosítja) a fa összes alsóbb csomópontja által reprezentált kategóriát. Ezen elv azt jelenti, hogy két maximális csomóponttal rendelkezı taxonómiának rendelkeznie kell egy extra, még magasabb szintő, e két (maximális) kategória egyesítését reprezentáló csomóponttal. Ha nincs ilyen még maximálisabb csomópont, akkor két elkülönülı, egymással versengı taxonómiánk van.
4
Sántáné-Tóth E.: Ontológia – oktatási segédlet
ELTE IK 2006.
5. segédlet
A taxonómia legfelsı szintő, maximális kategóriáját megcímkézhetjük egyetlen termmel, mint entitással; ezt általában „thing”, „object”, „item”, „element”, „existent” névvel látják el. A gyakorlatban egy ontológiát jól-formált faként ábrázolni nem mindig lehet. Ennél erısebb állítás is igaz: a fenti három szabály teljesítése egyszerre általában nem realizálható. Ráadásul, egy ontológia nem egy fa, hanem fák családja, amelynek minden tagja az adott szakterületet specifikus szempontból veszi szemügyre különbözı szemcsézettségi (pl. mikro-, közép- vagy makro-) szinten. Az egyetlen fával történı ábrázolás ellen szól az is, ha elvárjuk, hogy az alsóbb szintek fogalmai a felsıbb szintek fogalmaiból származnak. Ha minden ontológiát egyetlen fával ábrázolnánk, mi lenne a legfelsıbb szintő kategória? Egy ilyen fa esetlegesen lehetne rendezett – és ismétlések és kihagyások lennének benne. (Megjegyezzük, hogy a filozófiai ontológiát bonyolulttá teszi még az is, hogy a valóság vizsgálatához nem csak taxonómiát, hanem szervezeti hierarchiát, partonómiát is alkalmaz. Utóbbi azt jelenti, hogy számba veszi az entitások adott típusú részeit. E két dolog nem tévesztendı össze: a nyúl kategóriája részkategóriája az emlıs állatok kategóriájának, azonban a nyúl lába része a nyúlnak.
3. Az információrendszerek ontológiájának problémái Az információrendszerek ontológiájának problémáit nagyon jól jellemzi a [Smith 2002] dolgozat; jelen fejezet ennek alapján készült. A filozófus-ontológusokat elvileg egy cél vezérli: a valóságról megszerezni az összes igazságot, miközben arra keressük a választ, hogy „mi az, ami létezik”. Az információrendszereknél, ezzel ellentétben, egy ontológia egy olyan szoftverrel vagy formális nyelven leírt mőalkotásról szól, amelyet valamely számítógépes környezet specifikus használatára terveztek. Egy ontológia a gyakorlati életben olykor nem más, mint amit az ügyfél megrendel(!): specifikus igények kielégítése specifikus környezetben, specifikus források felhasználásával. Új információrendszerek ontológiájának készítése során a legfontosabb feladat megbirkózni az adatbázisok Bábel tornyának problémájával. Történeti, kulturális és nyelvi okokból az adat- és ismeretbázisú rendszerek építıinek különbözı csoportjai saját egyéni jellemzı szokásaik szerint dolgozták (és dolgozzák) ki rendszerük információ-reprezentációját: ugyanazt a fogalmat másképpen nevezik, ill. ugyanazt a szót más fogalom megnevezésére használják. Az ilyen jellegő információ mennyisége egyre nı; ennek megosztása és közös használata átfordítás nélkül lehetetlen. 3.1 Közös ontológiák kidolgozása Korán felismerték annak szükségességét, hogy valamiféle szisztematikus módszert kellene találni a terminológiai és a fogalmi inkompatibilitás feloldására. Elıször konkrét esetenként próbálták ezt megoldani, majd rájöttek, hogy egy közös hivatkozási taxonómia ebben nagy segítséget nyújtana. Késıbb ezt ontológiának kezdték nevezni; ebben az esetben ez egy olyan szótár, amelyben a fogalmak kanonikus, hitelesnek elismert szintaxissal vannak leírva, és közösen elfogadott definícióval rendelkeznek. Ez egy lexikális és taxonómiai keretet jelent a különbözı információrendszerközösségek számára az ismeretek reprezentációjára. Már csak egy lépés ehhez képest az, hogy ez olyan formális elmélet legyen, amely megfelelı axiómákkal van megtámogatva (ahol az axiómák implicit definíciókkal vagy értelmezésre vonatkozó korlátozásokkal lehetnek adottak). Ez egyfajta ontológiai eszperantó nyelv lenne, amelynek jószolgálati értéke nyilvánvaló. A közös ontológia megalapozását adó ezen Nagy Enciklopédiának két része lenne:
−
T-Box: terminológiai komponens (fogalmak, objektumok leírása, fogalomhierarchia, pl.: az anya nınemő és van gyermeke) – az adatbázis közösség számára,
A-Box: állításokat (assertions) tartalmazó komponens, amelynek állításai a terminológiai komponens entitásairól szóló ismeretek, „róluk szóló tudásunk” (pl. Margit anya). Egy következtetı rendszer szemszögébıl: az ismeretbázis a két doboz együtt, ahol a T-Box (az elsırendő predikátumkalkulusnál gyengébb eszközökkel) a „rész” (is-a) kapcsolatokat ábrázolja, a többi információt pedig az A-Box tartalmazza. (Elvégezhetı következtetések pl.: egy fogalom egy másik általánosítása, egy objektum egy fogalom példánya, ellentmondások felfedezése stb.) Guarino az információrendszer-ontológia legfıbb alakja, aki a FOIS (Formal Ontology and Information Systems) konferencia-sorozat elindítója. Arisztotelésztıl kezdve több filozófiai ontológus
−
Sántáné-Tóth E.: Ontológia – oktatási segédlet
5
5. segédlet
ELTE IK 2006.
volt rá hatással. Olyan általános (tárgyterület-független) kategóriákat keres, mint: idı, tér, beletartozás, példányosítás, azonosság, anyag, ok, mérték, mennyiség, funkcionális függıség, folyamat, esemény, attribútum, határ stb. Szerinte ([Guarino 1998]) az információrendszerek ontológiája Egy ontológia egy mérnöki mőalkotás, amely egy bizonyos realitás leírását adó specifikus szójegyzék, továbbá a szójegyzékben szereplı szavakra vonatkozó explicit feltételezések halmaza. A legegyszerőbb esetben egy ontológia a tartalmazási relációt feltüntetı fogalomhierarchia. Bonyolultabb esetben ehhez megfelelı axiómák is tartoznak, amelyek a fogalmak közötti relációkat, valamint a lehetséges interpretációs megszorításokat fejezik ki. A Guarino által javasolt ontológia-építés módszere egyrészt az adatbázis-kezelı rendszereknél alkalmazott módszerekbıl, másrészt a logikában és az analitikus filozófiában használt (pl. axiomatikus) módszerekbıl származik. A már meglévı taxonómiákból, adatbázis szótárakból indult ki, amelyeket különbözı korlátozásokkal egészített ki (pl. terminológiai konzisztencia és hierarchikus jól-formáltság), de származtatott elemeket a nyelvi győjteményekbıl, így a WordNet4-bıl is. Munkatársaival a WordNet 100.000 szinonima halmazából a tartalmazási reláció révén hierarchikus szerkezeteket hoztak létre („an x is a kind of y” alapon), majd ezt felhasználva elıállítottak egy (taxonomikus szabályok gyenge változata által kielégített) ontológiát. Azonban az elıbb látott ontológia-kiterjesztés akadályokba ütközik; az a valós probléma, hogy az adatbázisok integrálását megoldjuk, sajnos óriási mérető. Hasonló ez a világtörténelem közös ontológiájának kidolgozásához, ahol egy semleges és közös keretben kellett (volna) a már megtörtént összes történelmi tényt, jogi és politikai rendszert, törvényt, hiedelmet, erıforrást stb. leírni – ráadásul eltérı eredető források felhasználásával ([Lenat & Guha 1990]). A kiterjesztés elıbbi problémáját még tetézi az elfogadás szintjének problémája. Egy ily módon kidolgozott, igen nagyszámú kifejezés hitelesnek elismert definícióját tartalmazó ontológia bármennyire semleges, és a különbözı adatkezelı közösségek bármennyire is megegyeztek korábban benne, a gyakorlatban nagyarányú ellenérdekeltség, ütközés van a semlegességi korlátozás, valamint a széleskörőség és az erıteljesség követelményei között. Egy lehetséges megoldás itt az lehet, hogy az ontológiaépítést két részfeladatra bontjuk: 1. Általános szintő ontológiára (amely több szakterületen alkalmazható), valamint 2. Szakterület-specifikus vagy regionális ontológiára, pl. orvosi, földrajzi ontológiára. E két ontológia közötti kapcsolat hasonlít az elméleti és az alkalmazott matematika kapcsolatára: az elméleti matematika alapjait mindenütt ugyanúgy alkalmazzák, míg az egyes szakterületek a maguk specifikus alkalmazott matematikai jelölésrendszerében dolgoznak. Egyetlen ontológiát (ráadásul egy legmagasabb szintőt) készíteni, majd azt széles körben felhasználni – ez volt a Cyc alkalmazóinak vágya (ld. késıbb), amelyet végül is feladtak. Ennek oka egyrészt az, hogy egy ontológia építése sokkal bonyolultabb, mint kezdetben gondolják (ez a filozófiai ontológusok számára már 2000 éve bebizonyosodott). Másrészt az információrendszerek világa maga eléggé szubjektív és gyakran – pl. kereskedelmi környezetben – rövidtávú horizonttal rendelkezik. Az ontológiafejlesztés során a lehetséges osztályozásokra koncentrálunk, azonban a korábban kidolgozott taxonómiák és definíciók korlátozásai eleve nem „láthatnak elıre”. Az eljárások leírásának magas szintő pontosságához automatizálás szükséges; az ontológia egy olyan mechanizmus, amely ebben tud segíteni. A (tárgyterület-specifikus) terminológiai szabványok kidolgozásának kísérletei egyre fontosabbak az olyan szakterületeken, mint az orvostudomány vagy a közlekedésirányítás – még akkor is, ha a közös ontológia eredeti célja többek között e területek megtámogatása. Az ontológia jelen van a következı megnevezésekben (még ha a név nem is utal erre): − az adatbázis fogalmi sémája, − a szoftverfejlesztésben az alkalmazási terület modellje, − az objektumorientált szoftvertervezésben az osztály modellje.
4
WordNet: http://www.cogsci.princeton.edu/~wn (A WordNet készítıi nem gondoltak ontológiára, azonban mivel a győjtemény sok tárgyterületet ölel fel, tekinthetı a benne szereplı fogalmak ismeretreprezentációjaként.)
6
Sántáné-Tóth E.: Ontológia – oktatási segédlet
ELTE IK 2006.
5. segédlet
3.2 A zártvilág feltételezés problémája Az ontológiával kapcsolatban beszélnünk kell még a jól ismert zártvilág feltételezés problémájáról is. Ez (adatbázisoknál, Prolog programoknál stb.) azon alapul, hogy feltételezzük: programunk a tárgyterület objektumairól szóló összes pozitív információt tartalmazza – amit nem tartalmaz, az tehát hamis információ. A zártvilág feltételezés nem csak azt jelenti azonban, hogy csak azok az entitások léteznek, amelyeket reprezentáltunk, hanem hogy ezek az objektumok csak olyan tulajdonságokkal rendelkeznek, amelyeket reprezentáltunk a rendszerben. Egy személyektıl szóló adatbázis minden személyrıl csak véges számú tulajdonságot reprezentál (név, nem, születési dátum stb.), több tulajdonságról nem is beszélhetünk a rendszeren belül (mint ahogy Hamlet hajának színérıl sem beszélhetünk, hisz errıl nem tesz említést a szerzı…) A zártvilág feltételezés alapján megfogalmazott modellek mind egyszerőbbek a valós világtól. Ha a mindig változó valós világ ontológiáját szeretnénk kidolgozni a maga „hús-vér” mivoltában, el kell vetnünk a zártvilág feltételezést (a szoftverfejlesztés sokkal nehezebb lesz). Ezek a problémák nyilvánvalóan fontosak az orvosi informatikában; pl. ha egy beteg rekordjában nincs reprezentálva a cukorbetegség, ez nem hatalmazza fel a rendszert arra, hogy kijelentse, hogy a beteg nem cukorbeteg! 3.3 Valós és adminisztratív területek ontológiái Az információrendszerekkel kapcsolatban fontos kétféle ontológiát megkülönböztetnünk: − létezı (,már korábban is létezett) valós tárgyterület reprezentálását, ahol szisztematikusan meg lehet feleltetni az ontológiai kategóriákat valós entitásoknak, és − adminisztratív információs rendszerek reprezentálását, ahol is semmi más realitás nincs, csak amit a rendszerbe beépítettünk. Egy ilyen rendszer, értelemszerően, korrekt. Tekintsük a banki szférát. Itt csak azok a mőveletek léteznek, amelyeket a programba beépítettek. Egy on-line üzleti rendszerben csak az az üzlet létezik, amelyet a rendszer kezelni tud: az üzleti világ a rendszeren belül létezik, az a rendszeren belüli eseménysorozattal reprezentálható. Egy banki ügyfél definíciójára is fennáll ez. Ezeket tehát inkább operációs rendszereknek nevezhetnénk. Ha most egy ilyen információrendszer-ontológia környezete továbbfejlıdik (pl. e-kereskedelem), ezt a program köteles követni ahhoz, hogy a rendszer generálni/kezelni tudja az új entitásokat. Eközben a rendszer a – valós világban létezı – ügyfelek számára szolgáltatásokat nyújt, gyakran hibákkal, zavaros dolgokkal terhelten. Robusztus és konzisztens ontológiai hierarchiát nehéz megalkotni itt; az elméletellenes, pragmatikus lesz mindig. Hasonló áll a nyelvi győjtemények esetére. 3.4 Példák ontológiák alkalmazására az informatikán belül Ontológiai szempontból vizsgáljunk most meg néhány specifikus informatikai területet:
−
Az adatbázis-fejlesztık gyakran szembesülnek a különbözı forrásokból származó adatok összehozásának problémájával. Ontológiai módszerek szükségesek a metaadatok szabványainak formalizálásához, amely metaadatok célja: rendszerezett módon információt adni a felhasznált adatokról, azok minıségérıl, eredetérıl, természetérıl és felhasználási módjáról. Ontológiai módszerek szükségesek a szoftverfejlesztéseknél is; e nélkül baj van a különbözı rendszerek integrálásával.
−
Ontológiai módszerek alkalmazhatók az orvosi vagy tudományos irodalom nagymérető könyvtáraiban való információkinyerésnél, vagy az Interneten való navigálásnál, nem is beszélve a késıbb említendı szemantikus Web-rıl. Utóbbi célja az, hogy eszközként szolgáljon az Internet tartalmak forrásainak mérhetetlen sokféleségének „megzabolázásában”; ennek elınyeit mind az információt adó közösségek, mind a felhasználó érezni fogja majd.
−
Ontológiai módszerek szükségesek a természetes nyelvek fordításának területén, pl. az elemzés és a kétértelmőségek feloldása esetében. Megemlítjük az ontológiai szemantika módszert [Nierburg 2001], amelyet az automatizált természetes nyelv feldolgozásban fognak alkalmazni. Az ontológiát arra használják, hogy természetes nyelvő szövegekbıl kivonják (és reprezentálják) annak jelentését, következtessenek a szövegbıl kinyert ismeretek alapján, valamint hogy szövegeket generáljanak a jelentés reprezentációjából. (Ld. a jelen század elejének nyelvtechnológiáról szóló [Prószéky 2003] áttekintést.)
Sántáné-Tóth E.: Ontológia – oktatási segédlet
7
ELTE IK 2006.
5. segédlet
−
Az információrendszerek világában intenzíven mővel terület az ontológiák automatikus generálása és különbözı ontológiák automatikus integrálása. Ilyen pl. a nyelvészet statisztikai korpuszainak felhasználásával történı szabványos szójegyzék – majd ontológia – generálása.
Az üzleti, banki szféra is egyre jobban kezdi alkalmazni az ontológiát (pl. [Ushold et al. 1998], [Obrst et al. 2001]). Egy nagy nemzetközi bank esetében, amelynek a világ számos helyén vannak fiókjai, az információk integrálása létkérdés. Egy közös, a különbözı világrészben mőködı fiókok pénzügyi, hitelügyi, biztonsági stb. világait tartalmazó ontológia kell ehhez. Példa: az USA a GAAP, Európa az IASC szabvány szerint bonyolítja a tranzakciókat, a költségeket viszont az országok eltérı adótörvényei miatt másként kell számítani a két országban stb. Az információrendszer-ontológusok jelenleg kénytelenek automatikus konverziót alkalmazni a bevétel vagy a mérleg meghatározásakor. A két rendszer egyesítésekor pontosan meg kell adni azok kapcsolatát: pl. a kereskedelmi tranzakciókét, valamint hogy ugyanazt a dolgot a két rendszer hogyan dolgozza fel. Ebben az esetben egy közös információrendszer-fejlesztés azzal kezdıdik, hogy kidolgoznak egy közös ontológiát. Általában is igaz, hogy átfogó információrendszerek fejlesztését közös ontológia kidolgozásával, a meglévı ontológiák egyesítésével célszerő kezdeni!
−
4. Tartalom szerinti feldolgozás igénye a Web-en A Web 1999-ben már közel 300 millió statikus objektumot tartalmazott, amely – becslések szerint – a világhálón elérhetı aktuális információnak csak a 20%-a. Az MI erıs hagyományokkal rendelkezik az információ és az ismeretek strukturálását illetıen; alkalmazni kell ezeket az információ-források szemantikájának számítógéppel feldolgozható reprezentációjára. Az MI-technikák alkalmazásához természetesen szükség van a Web-források magyarázó jegyzettel (meta-adatal) való ellátására. Tartalom, jelentés szerinti feldolgozásra van szükség, ha a kívánt információ megtalálásánál többet akarunk elérni. Nagymennyiségő félig-strukturált információ feldolgozása négyféle problémát vet fel: − Információ keresés: a jelenlegi kulcsszavas keresés eredményezhet a tárgyhoz nem tartozó eredményt, amennyiben egy szót különbözı jelentéssel használunk, továbbá a keresés információvesztéssel járhat, amennyiben a kívánt jelentésre különbözı szavakat használunk. − Információ kivonatolás: a jelenlegi automatikus számítógépes ágensek, mivel egyrészt nem rendelkeznek az (emberi) köznapi gondolkodás képességével, nem alkalmasak szövegek kivonatolására, másrészt kudarcot vallanak a különbözı szöveg-forrásokban szétszórtan elhelyezkedı információ integrálásánál. (Egy hazai példa: a Morphology cég üzleti rövid hírek tartalmi kivonatolására alkalmas szoftvert fejleszt.) − Karbantartás: gyengén strukturált, nagymérető szövegforrások karbantartása bonyolult és idıigényes tevékenység. Ilyen együttesek/győjtemények konzisztenciája, korrektsége, naprakészsége csak úgy biztosítható, ha a szövegek szemantikájának, valamint az anomáliák felismerését támogató korlátozások reprezentációjának feldolgozására számítógépes mechanizmusok állnak rendelkezésre. − Automatikus dokumentáció-generálás: jó lenne, ha olyan adaptív Web-oldalak állnának rendelkezésre, amelyeket a felhasználó profilja vagy más fontos szempontok alapján dinamikusan lehetne átkonfigurálni. Ez azonban csak akkor lehetséges, ha ezen infomációforrások szemantikájának van számítógéppel hozzáférhetı – és kezelhetı – reprezentációja. A fenti célt két alternatív, egymást kiegészítı stratégiával lehet elérni: − deklaratív módon: az információ-forrásokat számítógéppel kezelhetı, magyarázó jegyzetekkel (meta-adatokkal) történı ellátásával, − procedurális módon: olyan programok (szőrık, kivonatoló programok) írásával, amelyek az információ-forrásokból „kivonják” a szemantikát (ld. [Kushmerik 1997]). A fenti feladatok megoldását célozza az RDF sémán alapuló szemantikus Web, amely egy következtetéseket elısegítı infrastruktúra az Interneten (ld. [Schwartz 2003], [Szeredi 2005]). Nézzük meg most röviden ennek kialakulási folyamatát. Vegyük tehát sorra az 1999-tıl megjelenı Web8
Sántáné-Tóth E.: Ontológia – oktatási segédlet
ELTE IK 2006.
5. segédlet
szabványokat, ill. webes ontológianyelveket, kizárólag ontológiai szerepvállalásuk feltüntetésével ([Fensel&Horrocks 2000], [Szeredi 2005]): − XML (eXtendible Markup Language): statikus információforrásokat definiáló nyelv, amelyben fastruktúrákat lehet lineáris szintaxissal leírni. − DTD (Document Type Definition): XML dokumentumok szerkezetének és építı elemeinek („tag”s) definíciójára alkalmas nyelv. − XSL (eXtensible Style Language): az XML-be dinamikát bevivı nyelv: az XML forrásdokumentumok egyes osztályait reprezentáló szabályokat adó stílusok leíró nyelve. Szemantikát nem lehet vele leírni – információ átvitel esetén külön egyeztetni kell! − RDF (Resource Description Framework): dokumentumok transzformálására és lekérdezésére szolgáló nyelv, amellyel a dokumentumokhoz szemantikát lehet adni. Pontosabban: URI-val azonosított erıforrásokból hármasok képzésével meta-adatokat lehet kapcsolni (URI: Universal Resource Identifier), így az átvitt információ egyértelmő lehet a felek számára. RDF sémák: lehetıséget adnak saját, alkalmazás-specifikus osztályok és tulajdonságok definiálására, ezen osztályok és tulajdonságok egymás közti hierarchikus viszonyainak, egyéb jellemzıinek megadására. − OIL (Ontology Inference Layer) és DAML-ONT (DARPA Agent Markup Language), majd DAML+OIL: leíró logika alapú ontológianyelvek, az alábbi OWL nyelv alapjai. − OWL (WEB Ontology Language): az RDF séma nyelvének kibıvítése, amely (az RDF és az RDF séma nyelvekkel együtt) 2004 február óta hivatalos W3C ajánlás. Az OWL (mint az RDF-séma) rendelkezik a nyílvilág-feltételezéssel: egy bárki által definiált osztályhoz bárki más mondhat további tulajdonságokat. A szemantikus web-szolgáltatások leírásához OWL nyelvő ontológiákat használnak. Ismertetése: [Szeredi 2005]
5. Ismertebb ontológia modellezı nyelvek Elıször az elsırendő predikátumlogikai nyelvekrıl, a CycL és KIF nyelvekrıl, majd a keretalapú (frame-based) közelítésekrıl, az Ontolingua és a Frame Logic nyelvekrıl lesz szó (elsısorban a [Fensel & Horrocks 2000] dolgozat alapján). Ez után szó lesz a leíró logikákról (DL: Description Logics), az OIL (Ontology Inference Layer) nyelvrıl, valamint az OWL (World Ontology Language) nyelvekrıl. (A KIF nyelvrıl részletesen az elıadáson hallgatói beszámoló hangzik el.)
5.1 CycL (Cyc Language) ([Lenat & Guha 1990]); http://www.cyc.com/cycl.html/ Cél: a hétköznapi józan ész ontológiájának specifikálása – nagymérető ismeretalapú rendszerek számára. Jóllehet messze nem érték el a célt, 2000-ben ez volt a világ legnagyobb mérető formalizált ontológiája. A CycL az elsırendő predikátumkalkulusból származó, másodrendő fogalmakkal kiegészített nyelv (predikátumok, függvények, argumentumok és formulák is kvantifikálhatók). A kifejezésekben a predikátumok konstansként kezelıdnek. Egy CycL-ismeretbázis CycL-mondatokból álló halmaz. Érdekes konstrukció a mikroelmélet vagy kontextus: mindegyik az ismeretbázisban lévı formulák egy halmaza. Minden formula legalább egy kontextusba tartozik, de egy rá vonatkozó állítás csak ahhoz az egyetlen kontextushoz, amelyben az állítás „elhangzott”. A mikroelméletek CycL formulákból állnak, azonban egy mikroelmélet lehet valamely CycL formula része is. Minden formulához igazságérték rendelhetı (mikroelméletenként). Öt igazságérték van: default true, monotonically true, default false, monotonically false, unknown. A CycL által támogatott bizonytalanságkezelési modellek: CycL Bayes (Bayes-modell és -hálók), valamint (ettıl elkülönítve) a fuzzy-modell. Minden CycL-rendszer legalább egy true és legalább egy false értéket kell támogasson. A két leggyakoribb true-érték: − monoton igaz (monotonically true): kivétel nélkül igaz. Minden változóillesztés esetén igaz, és ez az érték nem hatálytalanítható. − alapértelmezetten igaz (default true): igaz, de van kivétel. Bizonyos (fontos) kontextusokban igaz, de ez az érték hatálytalanítható (a nélkül, hogy ezt a felhasználó kezdeményezné).
Sántáné-Tóth E.: Ontológia – oktatási segédlet
9
5. segédlet
ELTE IK 2006.
Öszegezve: a Cycl predikátumlogikát alkalmaz, kiegészítve típusokkal és helyettesítéssel (reification). A predikátumok és a formulák termek, a termek formulákban alkalmazott kifejezések, a mikroelméletek pedig a formulák igazságértékeinek kontextusai. Végezetül megemlítjük azt a híres Cyc projektet, melynek célja a világtörténelem ontológiájának kidolgozása, az összes történeti tény semleges leírási keretének kidolgozásával. A Cyc mikroelméletei alkalmasak lennének erre a célra, azonban az egységes, semleges leírási keret kidolgozása nem igazán sikerült. Például a napóleoni jogi struktúrát leíró mikro-elmélet a francia és a spanyol struktúra alapján áll, míg az elmélet struktúrája a (közös) Anglo-Saxon struktúra alapján készült. Mindezen mikro-elméletek, valamint a megfelelı jogi szójegyzékek a Cyc kódban egymás mellett foglalnak helyet; nem tettek kísérletet arra, hogy bármelyik kettıt egyesítsék, egyiket a másikra átfordítsák, vagy integrálják azokat. A világtörténelem Cyc-ontológiája, „egyszerően csak nı és nı, mint ahogyan a szılı ágai elburjánzanak…”.
5.2 KIF: Knowledge Interchange Format ([Genesereth 1991], [Genesereth & Fikes 1991]); http://logic/stanford.edu/kif/kif/html A KIF fejlesztésének célja az ismeretek elosztásának és integrálásának támogatása; különbözı számítógépes rendszerek közötti ismeret-cserét támogató nyelv. A megcélzott rendszerek különbözı idıben, nyelven, különbözı programozók által megírt rendszerek, melyek felhasználói felülete igen eltérhet. A KIF emellett ontológiák cseréjére is alkalmazható. A KIF jellemzıi: − deklaratív szemantika, − logikai értelemben széleskörő/átfogó: ez azt jelenti, hogy tetszıleges logikai mondat megfogalmazására alkalmas. Ebben különbözik a relációs adatbázis nyelvektıl (pl. SQL) és a logikai programoktól (pl. Prolog) is, − a „tudásról szóló tudás” reprezentálására alkalmas: a felhasználó explicit módon írhatja le az ismeret reprezentálására vonatkozó döntéseit, és bevezethet új reprezentációs szerkezeteket. A KIF-ben történı fogalomalkotás kétféle halmazelméleti objektum megadásával történik: a (modellezendı valós) világot reprezentáló objektumok (mint a kommunikációs szövegkörnyezet), valamint a tulajdonságokat, relációkat és függvényeket leíró, rendezett n-esek halmaza. A KIF nyelv néhány logikai jellegzetessége: négyféle konstanst kezel (objektum-, függvény-, reláció- és logikai konstans); a konstansokat szintaktikailag nem különbözteti meg; állításokról szóló állításokat lehet benne megfogalmazni; a kvantifikált mondatok tartalmazhatnak szabad változókat.
5.3 Ontolingua: Ontology Intechange Language (ld. pl. [Gruber 1993]); http://ontolingua.stanford.edu/ Az Ontolingua célja ontológiák tervezésének és specifikációjának támogatása – tiszta logikai szemantikával, a KIF-re alapozva. Biztosítani kíván − nagy kifejezı erejő, deklaratív, tárgyterület-független, köztes nyelvet, − a tárgyterületi implementálás lehetıségét biztosító fordítóprogramot – korlátozott kifejezı erejő, következtetést is biztosító, specializált reprezentációk nyelvére történı fordításhoz, − könnyő kiterjeszthetıséget és jó kifejezıképességet. Nem egy konkrét reprezentációs nyelv (nem is reprezentációk szabványosítása), hanem − közös ontológiák5 hordozhatóságát célzó, (de facto) szabványos rendszer, amely − konkrét ontológiák kidolgozásában ad segítséget − a fogalmi tervezés során. Az Ontolingua a KIF-et modularizálási lehetıséggel bıvíti: az axiómákat ontológiai jelentıségüknek megfelelı definíciós alakban leírt, intuitív módon lehet benne modularizálni. A nyelv szerver-bıvítése6 támogatja ilyen modulok összeállítását, kiterjesztését és finomítását. A nyelv Frame Ontológiát ad objektumorientált és keret-(frame-)nyelvi elemek számára. Ez tárgyterület-
5
Közös ontológia ≈ hagyományos szoftver-könyvtárak globális típusdeklarációi + a modulok ki/bemenetére elıírt megszorítások, megkötések. 6 A Stanford Egyetem Knowledge Systems Laboratory által létrehozott és gondozott szerver: KSL Ontology Server ([Farquhar et al., 1997] vagy http://www-ksl.stanford.edu/).
10
Sántáné-Tóth E.: Ontológia – oktatási segédlet
ELTE IK 2006.
5. segédlet
független, újrafelhasználható primitívek (osztályok, példányok, rekeszek, korlátozások, relációk, függvények, halmazok, listák) jól-dokumentált, axiomatizált leírását teszi lehetıvé. Az Ontolingua definíciói Lisp-stílusúak: a KIF-mondatokból álló halmazok kulcsszavakkal vannak címkézve. Egy ontológia leírása osztályokból, relációkból, függvényekbıl, megkülönböztetett objektumokból és ezekhez kapcsolódó axiómákból áll. Teljes körően axiomatizáltak az osztályok és példányaik, a rekeszek (slots) és rekesz-korlátozások, az osztály- és reláció-specializálások, a relációk inverze, és kompozíciója, valamint az osztály-partíciók. Minden termnek megfelel − egy természetes nyelvő megjegyzés (mint informális értelmezés) és − egy KIF-nyelven leírt axióma (mint formális értelmezés). Informális példa [Gruber 1993]: „All writers are misunderstood by some reader.” forall ?W (=> (writer ?W) (exists (?R ?D) (and (reader ?R) (document ?D) (writes ?W ?D) (reads ?R ?D) (not (understands ?R ?D)))) ahol writer és reader relációkonstans, writers bináris reláció, míg az utolsó sor egy korlátozás (constraint) megfogalmazása.
Egy példa a Frame Ontology könyvtárból (define-class AUTHOR (?author) "An author is a person who writes things. An author must have created at least one document. In this ontology, an author is known by his or her real name." :def (and (person ?author) (= (value-cardinality ?author AUTHOR.NAME) 1) (value-type ?author AUTHOR.NAME biblio-name) (>= (value-cardinality ?author AUTHOR.DOCUMENTS) 1) (<=> (author.name ?author ?name) (person.name ?author ?name)))) lehetséges lekérdezés (amennyiben a kérdezı „ontológiai kötelezettséget” vállal): (ask ?x (author.documents ?x society-of-mind)) Egy lehetséges válasz ?x értékére: „Marvin Minsky”.
Az AUTHOR fenti osztály-definíciójának KEE (Knowledge Enginnering Environment) fordítása: Unit: AUTHOR Comment: "An author is a person who writes things. An author must have created at least one document. In this ontology, an author is known by his or her real name." Superclasses: PERSON Member Of: CLASSES Member slot: AUTHOR.NAME ValueClass: (MEMBER.BIBLIO-NAME) Min.Cardinality: 1 Max.Cardinality: 1 Member slot: AUTHOR.DOCUMENTS Min.Cardinality: 1 Member slot: PERSON.NAME from Person
Az Ontolingua rendelkezik egy olyan fordítóprogrammal, amely biztosítja több reprezentációs nyelv felé a kompatibilitást. Emiatt az Ontolingua nyelven megírt ontológiák hordozhatók, és multiágens rendszerekben elosztott módon felhasználhatók. A fordítóprogram a teljes KIF-nyelvet elfogadja, de – a konkrét tárgyelvek adta megszorítások miatt – a Frame Ontology csak a KIF egy résznyelvét használja (hiányoznak pl. a metaszintő operátorok és a felhasználó által definiált másodrendő relációk).
Sántáné-Tóth E.: Ontológia – oktatási segédlet
11
5. segédlet
ELTE IK 2006.
5.4 Frame-logika vagy F-logika [Kiefer et al. 1995] Objektumorientált adatbázisok, keretalapú rendszerek és logikai programok specifikálására alkalmas nyelv. A fogalmi modellezés szerkezeteit (osztályok, attribútumok, értelmezési tartományok és értékkészletek megszorításai, öröklıdés, axiómák) összefüggı logikai keretbe foglalja. Biztosítja osztályok, attribútumok (értelmezési tartomány- és értékkészlet-megszorításokkal), részosztályok halmaza és többszörös attribútum-hierarchiát megengedı is-a hierarchiák, ontológia-elemek és példányaik között fennálló további relációk jellemzésére alkalmas axiómák leírását. Mind az Ontolingua, mind a Frame-logika logikai alapokra épít, azonban eltérnek a keretalapú primitívek logikai megvalósításában: míg az Ontolingua a kereteket a logika nyelvének axiómáival jellemzi, addig a Frame-logika a kereteket szemantikájuk explicit definiálásával adja meg
5.5 Leíró logikák (DL: Description Logics) [Brachman & Schmolze 1985]; http://dl.kr.org/ A leíró logikák vagy terminológiai logikák a logika-alapú ismeretreprezentációs nyelvek fontos és erıteljes osztályát képezik (ld. pl. a népszerősítı célú [Bognár 2000] ismertetést). Kutatásuk a korai szemantikus háló kutatásokból indult ki, formális és operációs szemantikát adva azoknak. A kutatók az elsırendő logika egy olyan fragmentumát keresték, amely magas kifejezı erıvel rendelkezik, de (még) adható hozzá eldönthetı és hatékony következtetı eljárás. Az ismertebb DL-implementációk: BACK, CLASSIC, CRACK, FLEX, K-REP, KL-ONE, KRIS, LOOM és YAK7. A leíró logikák alapvetı elemei a fogalmak, a szerepek és az egyedek: − a fogalmak (concepts) az egyedek valamely összességének közös sajátosságait írják le, és az egyedek halmazaiként értelmezett unáris predikátumnak tekinthetık, míg − a szerepek (roles) egyedek közötti bináris relációk (≈ tulajdonságok, attribútumok). Egy szerep felfogható olyan függvényként, amelynek elsı argumentuma a fogalom (mint független változó), a második a tulajdonság (mint függı változó). (Az olyan leíró logikákban, ahol a szerepek aritása nincs kettıre korlátozva, ez a függvényanalógia nem használható.) Minden leíró logika tartalmaz olyan nyelvi szerkezeteket (metszet, unió, szerep-kvantifikáció stb.), amelyek segítségével új fogalmakat és szerepeket képezhetünk. A leíró logikák jellegzetessége az, hogy az osztályok (fogalmak) intenzionálisan8 definiálhatók – az objektumok tulajdonságait az adott fogalomhoz tartozó módon specifikálva. E logikák összetett leírások képzését is megengedik – beleértve a szerepek bináris relációira vonatkozó megszorításokat. A CLASSIC nyelv legegyszerőbb eleme a primitív fogalom; ez egyszerő, bár nem szükségképpen atomi. Minden primitív fogalomnak van legalább egy (nála általánosabb) szülıje – kivéve a legfelsı, legáltalánosabb fogalmat, a THING-et (melynek üres a szülıje). Példa a kocsi definíciójára: (PRIMITIVE THING car) Ez azt mondja, hogy van valami (itt) nem specifikált különbség a kocsi és a THING között. A primitívek rendelkezhetnek nem-triviális szülıkkel is. Így a sportautók definiálhatók mind az autók, mind a drága dolgok részfogalmaként: (PRIMITIVE (AND CAR EXPENSIVE-THING) sportcar). A primitívek szükséges (necessary) feltételeket specifikálnak: ha Corvette egy sportkocsi, akkor kocsi is és drága dolog is (nincs elégséges feltétel specifikálva a primitív fogalmakra!). A CLASSIC a hagyományos szemantikus adatmodellek szokásos IS-A hierarchiáitól lényegesen eltér: itt konstruktorokkal lehet az objektumok szerkezetét megadni, amelyek következtetés útján determinált osztálybatartozás-relációt jelentenek. Ilyen konstruktorok az értékmegszorítások (value restrictions), a számosság vagy kardinalitás megkötése (cardinality bound) és az egymásra hivatkozás korlátozása (co-reference constraints). 7
http:/www.research.att.com/sw/tools/classic/imp/systems.html Intenzionális jellegőek az olyan meghatározások, amelyek egy adott fogalom jellemzı tulajdonságaira épülnek anélkül, hogy az ezekkel a tulajdonságokkal rendelkezı egyedekre hivatkoznának. Extenzionális jellegőek azok a meghatározások, amelyek a fogalomhoz tartozó egyedek felsorolásán alapulnak. 8
12
Sántáné-Tóth E.: Ontológia – oktatási segédlet
ELTE IK 2006.
5. segédlet
A CLASSIC nyelvben egy fogalom jelentése annak szerkezetével van meghatározva; emiatt a fogalmak között bizonyos relációk a fogalmak definíciója alapján állnak fenn. Így lehetséges, hogy számos eltérı fogalom-kifejezés ugyanazt az osztályt jelöli, így pl.: (AND (ALL thing-driven CAR) (ALL thing-driven EXPENSIVE-THING)) ugyanazt jelöli, mint (ALL thing-diven (AND CAR EXPENSIVE-THING)). Vizsgálják a nyelv kiterjesztéseinek kifejezıerejét, valamint a fogalmak és egyedek közötti is-a reláció számítási bonyolultságát. A leíró logikák kifejezı ereje csekély (más logikákkal, konkrétan az elsırendő logikával összehasonlítva), ezért azonban kárpótol a következtetési feladatok eldönthetısége, illetve sok esetben a kezelhetısége. (Vagyis létezik a probléma eldöntésére olyan algoritmus, amely bizonyosan terminál, illetve ez a kérdés polinimiális idıben eldönthetı.) A nyelv primitívjeibıl álló mag hatékony implementálását adja a FaCT rendszer9.
5.6 OIL (Ontology Inference Layer) ([Fensel & Horrocks 2000]); http://www.cordis.lu/ist/projects/99-10132.htm Az OIL három alappillére három, különbözı közösség által létrehozott nyelv/szemléletmód: 1. formális szemantika és hatékony következtetés biztosítása – mint pl. a Leíró Logika (DL). 2. gazdag modellezı primitívek – mint pl. a keretalapú (frame-based) rendszerek, 3. szabványos javaslat szintaktikus információ-csere jelölésre – XML- és RDF-alapú szintaxis. Az OIL sokban hasonlít az OKBC10 (Open Knowledge Base Connectivity) nyelvre. Ez a keretalapú rendszerek létezı, szabványos ontológiacserére alkalmas nyelve (amely igazából egy alkalmazói programfelület, API). Az OKBC ismeretmodellje támogatja a legáltalánosabban használatos keretalapú reprezentációs rendszereket, objektumalapú adatbázisokat és relációs adatbázisokat. Miért nem Ontolingua? Az Ontolingua nyelvvel az a baj, hogy bár kifejezıereje nagy, de nem ad hozzá ellenırzı eszközt. Nem meglepı, hogy nincs hozzá következtetı támogatás. Az OIL az ellenkezı oldalról indul, egy nagyon egyszerő és korlátozott nyelvi magból. Két szabványkialakítási stratégia ismeretes (mindkettı vezethet sikerre): 1. A modellezı primitíveknek egy „kis” halmazát kell definiálni, melyre van közös megegyezés az adott közösségen belül, és amelyhez megfelelı szemantika tartozik. 2. A modellezı primitívek meghatározásánál figyelembe vesszük a közösség összes igényét (bizonyos szempontból) kielégítı nagy halmazokat, majd e halmazokat „összeragasztjuk”. Az elsı stratégia vezérelte a HTML (HTML 5. verzió, XHTML és XML) kidolgozását – és ez vitte sikerre is. A másodikra példa az UML stratégiája: induláskor az adott közösség által igényelt összes modellezı primitíveket bevették. Ez redundanciához vezetett, és gyakran hiányzott a precíz szemantika. Ennek ellenére az UML-t elfogadta a szoftveripar, tehát ez a stratégia is hozhat sikert. Az OIL az elsı stratégiát követi, mivel különbözı tárgyterületi elméleteknek kíván számítógéppel kezelhetı szemantikát adni – következtetı támogatással együtt (Cél: a. szemantikus Web). Az OIL nyelvrıl röviden Egy OIL ontológia több komponensbıl álló struktúra – sok közülük maga is struktúra, egyesek opcionálisak, míg vannak ismétlıdı komponensek. Az OIL ontológia leírásoknak három szintje van: 1. tárgyterületi szint: az ontológia konkrét példányainak leírását tartalmazza. Ezen alkalmazás-specifikus információk cseréjével az OIL jelenlegi változata nem foglalkozik. 9
http://www.cs.man.ac.uk/∼horrocks/softeatr.html A FaCT (Fast Classification of Terminology) egy leíró logikai osztályozó, amelyet a modális és egyéb logikáknál konzisztencia-ellenırzésre használnak. Ez egy Java-alapú projekt, az EER séma-integráló eszköz része ([Calvanese et al., 1999]). A FaCT jól volt alkalmazható pl. a GALEN projektben kidolgozott nagy orvosi terminológiai ontológiánál ([Rector et al., 1993]). Itt az összes (pontosan 2.740) osztály konzisztenciaellenırzését elvégezte, és a teljes osztályhierarchiát meghatározta 60 mp alatt (450 Mhz-es Pentium III. gépen). 10 http://www.ai.sri.com/∼okbc Sántáné-Tóth E.: Ontológia – oktatási segédlet
13
ELTE IK 2006.
5. segédlet
2. elsı metaszint (ontológia-definíció): aktuális ontológiai definíciók vannak itt; ez a terminológia, amelyet a tárgyterületi szint példányosít. 3. második metaszint (meta-meta szint, ontológia-konténer): ontológiák tulajdonságainak leírását tartalmazza (pl. szerzı, név, tárgy stb.) A meta-adatokat a már említett Dublin Core Metadata Element Set (Ver. 1.1) szabvány alkalmazásával adja meg. Ontológia-definíció: definíció-halmazok vannak ezen a szinten: XML-sémák és OIL-leírások importálása, szabályok valamint osztály- és rekesz-definíciók megadása, osztály-kifejezések és rekeszkorlátozások megadása. Ontológia-konténer: az OIL-ban (szemben a Dublin Core-ral, ahol csak opcionalitás és ismétlıdés van) néhány elemnek itt lehet elıre definiált értéke. Az anyag pszeudo-XML szintaxist használ – RDF alapú szintaktikus leírást csatolva függelékként. Meta-adat elemek: cím, készítı(kreátor), tárgy, leírás, kiadó, hozzájáruló, dátum, típus, formátum, azonosító, forrás, nyelv, reláció, fedılap/kötés és jogok. Leegyszerősített példa az OIL ontológia használatára - [Fensel & Horrocks 2000] class-def tree ontology container title „Africal animals” subclass-of plant creator „Ian Horrocks” class-def branch subject „animal, food, vegetarians” slot-constraint is-part-of description „A didactic example ontology has-value tree class-def leaf describing African animals” description.release „1.01” slot-constraint is-part-of publisher „I. Horrocks” has-value branch class-def defined carnivore type „ontology” subclass-of animal format „pseudo-xml” format „pdf” slot-constraint eats identifier „http://www.cs.vu.nl/ value-type animal class-def defined herbivore ~dieter/oil/TR/oil.pdf” source „http://www.ontosRus.com/ subclass-of animal, NOT carnivore aniamls/jungle.onto” slot-constraint eats language „OIL” value-type plant OR (slot-constraint is-part-of has-value language „en-uk” relation.hasPart „http://www.ontosRus.com/ plant) class-def giraffe animals/jungle.onto” subclass-of animal slot-constraint eats ontology-definitions value-type leaf slot-def eats inverse is-eaten-by class-def lion subclass-of animal slot-def has-part inverse is-part-of slot-constraint eats value-type herbivore properties transitive class-def animal class-def tasty-plant class-def plant subclass-of plant subclass-of not-animal slot-constraint eaten-by has-value herbivore, carnivore Itt az utolsó osztálydefiníció ellentmondásos: azt állítja, hogy az ízletes növényeket a növényevı és a húsevı állatok egyaránt fogyasztják, holott korábban azt állítottuk, hogy a húsevık csak állatokat esznek, és hogy az állatok és növények egymástól idegen osztályok.
14
Sántáné-Tóth E.: Ontológia – oktatási segédlet
ELTE IK 2006.
5. segédlet
Az OIL megvalósításáról Az OIL nagy elınye, hogy számos eszköz támogatja a tervezést, a cserét, az integrálást és a verifikálást. Mindenek elıtt megemlítjük, hogy a FaCT következtetı rendszer alkalmazható egy ontológia osztálydefinícióinak konzisztencia-ellenırzésére, valamint a definíciókban explicit módon ki nem mondott részosztály/szuperosztály (beletartozási vagy része) relációk felderítésére. Az OIL jelenlegi korlátairól A nyelv szabadon bıvíthetı (a következtetı támogatás rovására). A következı hiánylista olyan jellemzıket sorol fel, amelyek valamelyik ontológia-nyelvnél megvannak, azonban az OIL-nál (még) nincsenek meg: − öröklıdést kezel, de nem lehet felülírni az értékeket, − rögzített számú algebrai leírás adható a rekeszek tulajdonságaira, − nem lehet összetett relációdefiníciókat megadni, − az axiómák hiányát részben kompenzálják az inverse, transitivity, symmetry, reflexivity relációk (kellene még: irreflexivity, antisymetry, asymetry,linearity, connectivity, partial order, total order, − nincs modularizálás (importált ontológiáknál átnevezéssel, átstrukturálással, átdefiniálással élnek), − sok ontológiai nyelv (pl. KIF, CycL, Ontolingua) támogat ún. reifikációs mechanizmust, amely a nyelv mondatainak objektumként való kezelését biztosítja, így állításokról szóló állítások fogalmazására van mód (másodrendő jelleget biztosító „szintaktikus cukor”).
5.7 OWL11 (Web Ontology Language) A leíró logikákon alapszik, végül is az RDF séma nyelv kibıvítéseként dolgozták ki. Az OWL kialakulásának története a következı Az RDF hatásait is magukon hordozták a leíró logikai alapokon kifejlesztett OIL (Ontology Inference Layer) és DAML-ONT (DARPA Agent Markup Language) ontológianyelvek. Az e törekvések elınyös tulajdonságainak ötvözete, a DAML+OIL nyelv képezi az OWL nyelv alapjait, amely 2004 február óta hivatalos W3C ajánlás ([Bechhofer 2004]). A szemantikus web-szolgáltatások leírásához OWL nyelvő ontológiákat használnak. Jellemzése:
−
Egy OWL leírás nem más, mint jól-definiált jelentéssel bíró XML elemek és attribútumok halmaza, amelyek felhasználásával termeket, relációikat és azok kapcsolatait írhatjuk le.
− − − −
Az OWL kibıvíti az RDF és az RDF-sémák nyelvét. Egy OWL dokumentum írásakor minden RDF és RDF-séma elem és attribútum leírható. Az OWL nyelv világos szintaxist ad tulajdonságokról és osztályokról szóló állítások leírására. Az RDF-sémához hasonlóan él az ún. nyílt világ feltételezéssel (minden leírás bárki által bıvíthetı).
Az OWL által megkülönböztetett osztályok: Megnevezett (named), felsorolásos (enumaration), tulajdonságkorlátozással megadott (property restriction), osztályok metszeteként megadott (intersection), osztályok úniójaként megadott (union) és egy osztály komplemenseként elıálló (complement) osztály. (A megnevezett osztályokhoz, és csak ezekhez társul URI.) Az OWL résznyelvei, amelyek kifejezıerı szempontjából eltérek egymásól: 1. OWL Full: a teljes OWL nyelv, amely (a leíró logikákkal ellentétben) nem választja élesen el az egyedeket és az adattípusokhoz tartozó értékeket (egy elem benne lehet mindkét halmazban). Minden, az RDF által megengedett konstrukció használható (pl. egy osztály példánya lehet egy másik osztálynak). Ez olykor komoly problémákat vet fel a következtetésnél. 2. OWL DL: bizonyos megkötésekkel megszorított OWL nyelv. Minden OWL konstrukciót használható, de követelmény, hogy páronként különbözı legyenek az osztályok, 11
Az owl név nem igazi betőszó: angolul baglyot jelent.
Sántáné-Tóth E.: Ontológia – oktatási segédlet
15
5. segédlet
ELTE IK 2006.
adattípusok, egyedtulajdonságok, adattípus-tulajdonságok stb. Itt nem lehet egy erıforrás egyszerre osztály is és egyed is. 3. OWL Lite: bizonyos OWL konstrukciókat nem enged meg. Az RDF sémánál kifejezıbb nyelv, de igen közel van hozzá. Alapötlet: az RDF sémákat feldolgozni képes alkalmazások idıvel fel tudják dolgozni az OWL Lite leírásokat is, ami így ugródeszkát jelent az igazi OWL alkalmazások feldolgozásához. OWL eszközök ([Costello 2003]): • RDF példányképzı (RDF Instance Creator (RIC): http://www.mindswap.org/~mhgrove/RIC/RIC.shtml • Ontológia-szerkesztı (OIL editor, OilEd – a DAML+OIL továbbfejlesztve): http://oiled.man.ac.uk/ • OWL validátor – Web-alapú vagy parancs-soros segédprogramként használható: http://owl.bbn.com/validator/ • Osztály- és tulajdonság hierarchia megjelenítı: http://www.daml.org/2001/03/dumpont/ • OWL ontológia validátor (az OWL Lite, az OWL DL és az OWL Full konstrukciók specifikus ellenırzésére): http://phoebus.cs.man.ac.uk:9999/OWL/Validator • Következtetı gép, Euler (sok teszt-esetre használva már): http://www.agfa.com/w3c/euler/ • Ontológia fejlesztı környezet, Chimaera (DAML-OIL eszköz, OWL export-importtal): http://www.ksl.stanford.edu/software/chimaera/ DAML Tools Page: http://www.daml.org/tools/ Az OWL nyelv kialakulása, elméleti alapjai és példákkal illusztrált részletes ismertetése a [Szeredi 2005] könyvben található.
6. Az ontológia-fejlesztés módszertanáról Az ontológia az ismeretalapú rendszerek módszertanán belül fogalmi keretet ad a szakterület modellezésére.12 A rendszerfejlesztést a szakterület ontológiájának kidolgozásával kell kezdeni, ami felveti az ontológiák fejlesztési technológiájának (nyelv/eszköz + módszer) igényét. Ontológia-leíró nyelvek már vannak. Módszertani kísérletekrıl egyre többen publikálnak; olvashatunk fejlesztést támogató eszközök alkalmazásáról is (ld. pl. [Molnár 1999] bevezetıje). A következıkben vázlatosan bemutatunk két ontológia-fejlesztési módszertanról szóló esettanulmányt (ld. [Sántáné-Tóth 2002]). Egy ontológia-alapú tudásmenedzsment rendszer fejlesztésérıl szól a [Staab 2001] dolgozat. A szerzık fejlesztési módszerüket egy vegyipari üzem üzleti stratégiáját támogató Corporate History Analyser ontológia kidolgozásával illusztrálják. A módszer egy követelmény-specifikációra épülı visszacsatolásos folyamat, amelynek fázisai: a megvalósíthatósági tanulmány kidolgozása, a tényleges fejlesztés elindítása (kick-off), az ontológia finomítása és kiértékelése, végül karbantartása. A fejlesztés során felhasználták a CommonKADS módszertan továbbfejlesztett változatát és egy 12
Gruber szerint az MI rendszerekben „ami létezik, az éppen az, amit reprezentáltunk”, vagyis amit formálisan leírtunk. Ezen idealista szemléletmód szerint nem a valós világ objektumaira kell koncentrálnunk, hanem a világról alkotott ismereteinkre és hiedelmeinkre – mégpedig azon fogalmak és nyelv segítségével, amelyet használunk, amikor a világról beszélünk. Idézzük itt David Stove e szemlélettel vitázó példáját: Csak úgy ehetünk osztrigát, ha olyan pszichológiai és kémiai feltételeket teremtünk, amelyek az evés lehetıségéhez szükségesek. Ha azonban evés közben erre koncentrálunk, akkor mi nem is igazán magát az osztrigát esszük… Megjegyezzük, hogy a CommonKADS alapvetıen realista ontológiai nézetet vall: elıírja, hogy a fogalomalkotás során az elemi entitások pontosan feleljenek meg a modellezendı világ valós elemeinek, vagyis hogy a fogalmak és kapcsolataik „üljenek” a megcélzott szakterület valós világán.
16
Sántáné-Tóth E.: Ontológia – oktatási segédlet
ELTE IK 2006.
5. segédlet
OntoAnnotate nevő eszközt. Tanulságos a megvalósíthatóság elemzéséhez kidolgozott kérdıívük, az üzleti stratégia kompetenciáját tesztelı kérdés-sorozatuk és a vállalat történeti elemzésére szolgáló taxonómiájuk. (A fejlesztés menetét bemutatja az esettanulmány magyar nyelvő feldolgozása is.) Egy objektum-orientált szemlélető ontológia fejlesztésérıl szól a [Noy&McGuiness 2001] dolgozat. A szerzık deklaratív keretalapú rendszerek ontológiájának kifejlesztését célzó módszerük mőködését egy közismert szakterületen belül (borok, ételek és kombinációik) illusztrálják. Az objektum-orientált módszertanokból indulnak ki, figyelve az alapvetı eltérésekre. Amíg ugyanis az OO egy osztály tulajdonságait algoritmikusan, metódusok közvetítésével realizálja, addig az ontológiáknál egy osztály csak a struktúrát deklarálja, ahol a (mindenhonnan látható) tulajdonságokat a keret attribútumai reprezentálják. A szerzık saját és mások gyakorlati tapasztalataira építve a megadják az ontológia-fejlesztés három alapszabályát: 1. Nem létezik egyetlen igazi, korrekt ontológia-fejlesztési módszertan sem; adott esetben mindig a legjobban alkalmazható módszertant válasszuk, amely erısen függ a szakterület jellegétıl. 2. Egy ontológia-fejlesztési folyamat szükségszerően iteratív jellegő. 3. Elemi követelmény, hogy az ontológia fogalmai szorosan kapcsolódjanak a valós világhoz, pontosan utaljanak meglévı fizikai/logikai objektumokra, azok relációira. Megjegyezzük, hogy egy ontológia fejlesztésének módszertana mindenképpen egyszerőbb, mint a szakértı rendszereké, elvárásaiban azonban szigorúbb (pl. a benne szereplı objektumok a valós világhoz erısen kell kapcsolódjanak).
4. Összefoglalás Számos nagymérető információrendszer, ismeretalapú rendszer, tudásmenedzsment támogató rendszer stb. fejlesztése és integrálása során már korábban felismerték az ontológiák alkalmazásának szükségességét. A világhálón megvalósuló adat/információ/tudás-cserék hosszú távon csak úgy lehet elképzelni, hogy az azonos módon történı értelmezést automatikus eszközök támogatják. Az ontológiák elterjedt használatának azonban elıfeltétele a leírásukra vonatkozó egységes szabvány. (A relációs adatmodell sikere sem válhatott volna valóra az adatok SQL által biztosított implementációfüggetlen kezelése nélkül.) A [Foktl 2000] diplomamunka jó áttekintését adja e területnek; az ontológiafejlesztés módszereirıl, eszközeirıl és nyelveirıl a [Corcho 2002] dolgozat ad beszámolót. Végezetül megemlítjük az IBROW projektet (An Intelligent Brokering Service for KnowledgeComponent Reuse on the World Wide Web, http://hcs.science.uva.nl/projects/ibrow/home.html). Ennek célja intelligens rendszerek fejlesztésének támogatása, pontosabban: a Web-en található elosztott következtetı komponensek együttmőködı ismeretalapú rendszerré való konfigurálása. E projekt egyesíti a heterogén adatbázisok kezelésénél használatos technológiákat az ismeretalapú- és a Web-technológiákkal. Eddig eredményük egy következtetı komponensek leírására szolgáló specifikációs nyelv, az UPML kifejlesztése. Ezzel egy lépéssel elırejutottunk a szakértı rendszerek 2. generációjával szembeni elvárások teljesítésében.
Forrásmunkák jegyzéke [Bognár 2000]: Bognár K., „Leíró logikák az ismeretábrázolásban”, Alkalmazott Matematikai Lapok, 20(2000/2) 183-193. [Costello 2003]: Costello, R.L., Jacobs, D.B., “OWL Web Ontology Language”, The MITRE Corporation, The tutorial sponsored by DARPA, 2003. [Fensel&Horrocks 2000]: Fensel, D., Horrocks, I. et al., „ON TO knowledge – Ontology Language, Version 1”, Research document of IST/1999/10132 project of the Commission of the European Communities, 2000, pp.159. [Foktl 2000]: Foktl A., „Információs rendszerek integrálását segítı tudásalapú eszközök – diplomamunka”, BME Villamosmérnöki és Informatikai Kar, Budapest, 2000. [Gruber 1993a]: Gruber, T.R., „A Translation Approach to Portable Ontology Specifications”, Knowledge Acquisition, 5(1993/2) 199-220.
Sántáné-Tóth E.: Ontológia – oktatási segédlet
17
5. segédlet
ELTE IK 2006.
[Gruber 1993b]: Gruber, T.R., „Toward principles for the design of ontologies used for knowledge sharing”, In: Guarino, N. (ed.), Proc. of Padua Worshop on Formal Ontology, March 1993. [McCarthy 1980]: J. McCarthy, „Circumscription – A Form of Non-Monotonic Reasoning”, Artificial Intelligence, 5 (1980/13) 27-39. [Molnár 1999]: Molnár B., „Ismeretszerzés”, In: Futó (szerk.), „Mesterséges intelligencia”, Aula Kiadó, Budapest, 1999, 665-708. [Noy&McGuiness 2001]: Noy, F.N. and McGuiness, D.L., „Ontology Development 101: A Guide to Creating Your First Ontology”, Stanford University, Manuscript, 2001, p. 25 [Prószéky 2003]: Prószéky G.: „Megértéstámogatás és gépi fordítás: nyelvtechnológia a XXI. század elején”, In: VIII. Országos (Centenáriumi) Neumann Kongresszus CD Kiadványa, NJSZT, Budapest 2003. okt. 15-17. 12 old. [Sántáné-Tóth 2002]: Sántáné-Tóth E., „Szakértı rendszerek fejlesztésének módszertani és oktatási kérdései”, Informatika az oktatásban 2002 konferencia CD-kiadványa”, Debrecen, 2002. aug. 28-30, 6 old. [Smith 2002]: Smith, B, „Ontology and Information Systems”, 2001.13 http://ontology.buffalo.edu/ ontology.doc (http://www.vtt.fi/tte.staff.publications/ontologies_ho.pdf) [Staab 2001]: Staab, S. and Studer, R., „Knowledge Process and Ontologies”, IEEE Intelligent Sysytems, Jan/Febr, 2001, 26-34. [Szeredi 2005]: Szeredi P., Lukácsy G. és Benkı T., „A szemantikus világháló elmélete és gyakorlata”, Typotex, Budapest, 2005.
Az ELTE hallgatói által 2003-ig feldolgozott anyagok Corcho, O., Fernàndez-López, M., Gómez-Pérez, A., „Methodologies, tools and languages for building ontologies. Where is their meeting point?” Data &Knowledge Engineering, 46 (2003) 41-64. Correa da Silva, F.S. et al., „On the insufficiency of ontologies: problems in knowledge sharing and alternative solution”, Knowledge-Based Systems 15(2002) 147-167. Donini, F.M., et al., „Reasoning in Description Logics”, In: Brewka, G (ed.), Principles of Knowledge Representation”, CSLI Publ., Stanford, USA, 1996, 191-236. Genesereth, M.R., Fikes, R.E., „Knowledge Interchange Format Version 3.0 Reference Manual”, Computer Science Department, Sdtanford Univ., Logic Group, Report Logic 92Staab, S. and Studer, R., „Knowledge Process and Ontologies”, IEEE Intelligent Sysytems, Jan/Febr, 2001, pp. 26-34. Sugumaran, V., Storey, V.C., „Ontologies for conceptual modeling: their creation, use and management”, Data &Knowledge Engineering, 42 (2002) 251-271.
További hivatkozások [Bechhofer 2004]: „OWL web ontology language reference”, W3C recommendation, February 2004. [Brachman & Schmolze 1985]: Brachman, R. and Schmolze, J., „An overwiev of the KL-ONE Knowledge Representation Sysytem”, Cognitive Science, 9(2): 171-216, 1985. [Brickely&Guha 1999]: „Resource Description Framework (RDF) Schema Specification. Proposed recommendation”, WWW Consortium, 1999, http://www.w3.org/TR/PR-rdf-schema. [Calvanese et al. 1995]: Calvanese et al., „Stuctured objects: Model and Reasoning”, In: Proc. of teh Fourth Int. Cinf. on Deductive and Object-Oriented Databases (DOOD-95), LNCS, Springer, 1995. [Farquhar et al. 1997]: Farquhar et al., „The Ontolingua Server: A Tool for Collaborative Ontology Construction”, Int. Journal of Human-Computer Studies, 46: 707-728, 1997,
13
A dolgozat a National Science Foundation által támogatott „Ontology and Geography Categories” és a Humboldt Alapítvány „Wofgang Paul Program” keretében készült, 2001-ben.
18
Sántáné-Tóth E.: Ontológia – oktatási segédlet
ELTE IK 2006.
5. segédlet
[Genesereth 1991]: Genesereth, M. R., „Knowledge Interchange Format”, In Proc. of the Second Int. Conf. on Principles of Knowledge Representation and Reasoning (KR-91), Allenet et a. (eds.), Morgan Kaufmann Publ., 1991, pp. 238-249. [Genesereth & Fikes 1992]: Genesereth, M. R., and Fikes, R. E.,”Knowledge Interchange Format, Version 3.0, Reference manual”, Technical Report, Logic-92-1, Comp. Sci. Dept., Stanford Univ., 1992. (http://www.cs.umbe.edu/kse/) [Guarino 1998]: Guarino, N. (ed.), „Formal Ontology in Information Systems”, Amstardam, Berlin, Oxford: IOS Press. Tokyo, Washington, DC: IOS Press, 1998. [Hendler&McGuinness 2000]: Hendler, J. and McGuinness, D.L., „The DARPA Agent Markup Language”, IEEE Intelligent Systems 16(6): 67-73, 2000. [Kiefer et al. 1995]: Kiefer, M., Lausen, G. and Wu, I., „Logical Foundations of Object-Oriented and Frame-Based Languages”, Journal of the ACM, 42, 1995. [Kushmerik 1997]: Kushmerik, N., „Wrappes Introduction for Information Extraction”, Ph. D. Dissertation, Department of Comp. Sci. & Engineering, Univ. of Washington, 1997. – Technical Report UW-CSE-97-11-04. [Lenat & Guha 1990]: Lenat, D. B., and Guha, R. V., „Building large knowledge-based systems. Representation and inference in the Cyc project”, Addison-Wesley, Reading, Massachusetts, 1990. [Nierburg 2001]: Nierburg, S. and Raskin, V., „Ontological semantics, formal ontology, and ambiguity”, in Welty, C. and Smith, B. (eds.), Formal Ontology in Information Systems. Proc. of the Second International Conference (FOIS’01), October 17-19, Ogunquit, Maine, New Work: ACM Press, 151-161. [Orbst et al. 2001]: Orbst, L., Wray, R. E. and Liu, H., „Ontological engineering for B2B Ecommerce”, in Welty, C. and Smith, B. (eds.), Formal Ontology in Information Systems. Proc. of the Second International Conference (FOIS’01), October 17-19, Ogunquit, Maine, New Work: ACM Press, 117-126. [Schwartz 2003]: Schwartz, D. G., „From Open IS Semantics to the Semantic Web: The Road Ahead”, IEEE Intelligent Systems, May/June 2003, 52-58. [Ushold et al. 1998]: Ushold, M. et al. „The Enterprise Ontology”, Knowledge Engineering Review, 13, 1998. [Price&Spackman 2000]: Price, C. and Spackman, K., „SNOMED clinical terms”, BJHC&IM-British Journal of Healhcare Computing & Information Management 17(2000/3) 27-31. CycL: http://www.cyc.com/cycl.html/ DL: http://dl.kr.org http:/www.research.att.com/sw/tools/classic/imp/systems.html Dublin Core: http://perl.oclc.org/metadata/dublin_core LOOM: http://www.isi.edu/isd/LOOM/LOOM-HOME.html FaCT: http://www.cs.man.ac.uk/∼horrocks/softeatr.html http://www.cordis.lu/ist/projects/99-19005.htm IBROW: KIF: http://logic/stanford.edu/kif/kif/html http://meta2.stanford.edu/kif/kif.html KSL Ontology Server: http://www-ksl.stanford.edu/ OIL: http://www.cordis.lu/ist/projects/99-10132.htm Ontolingua: http://ontolingua.stanford.edu/ Ontology Glossary: http://users.bestweb.net/~sowa/ontology/gloss.htm. OWL: ld. az 5.7 pontban XML: http://www.w3.org/XML XOL http://www.ai.sri.com/pkarp/xol/ ontológia-projektek pl.: http://www.kr.org/top-projects.html http://www.lsi.upc.es/∼luigic/ON-TO/ON-TO_files/right.html
Sántáné-Tóth E.: Ontológia – oktatási segédlet
19