Ontológia (informatika)

A Wikipédiából, a szabad enciklopédiából

Ontológia- Bevezetés[szerkesztés | forrásszöveg szerkesztése]

A mesterséges intelligenciával kapcsolatban használt ontológia szó egyáltalán nem egyértelmű, hanem nagyon is vitatott kifejezés. A filozófiában már régóta használják, ott a létezés témáját jelöli. (Sokan összekeverik az episztemológiával, amely a tudásról szól annak főnévi és igei értelmében, azaz a tudás egyszerre tény, az a cselekvés vagy állapot, hogy valamit tudunk, és a szerzett ismeretek összessége, rendszere, azaz valamilyen reprezentáció.)

Az ismeret vagy a tudás megosztása kontextusban az ontológia a fogalomalkotás, fogalom feltérképezés (conceptualization) specifikációját, vagyis konkrét körülírását, megkülönböztetését jelenti. Az ontológia azon fogalmak és viszonyok leírásának fajtája (akárcsak egy program formális specifikációja), amelyek egy ágens vagy egy sor ágens vonatkozásában fennállnak vagy léteznek. Az ontológia ezen meghatározása azzal az ontológia szóhasználattal vág egybe, amely szerint az ontológia egy sor fogalommeghatározás, de annál általánosabb.

Gyakorlati célból az ontológiai egy formális szerkezetű szótárban szereplő meghatározások csoportját jelenti. Bár nemcsak ez az egyetlen módja van a fogalomalkotás specifikálásának, e módszernek van néhány olyan tulajdonsága, amik miatt az jól használható a tudásmegosztásra a MI-ban (például az olvasótól és a kontextustól független szemantika).

Ontológiákat a MI területén abból a célból készítenek, hogy lehetővé váljon a tudás megosztása (elosztott tudás létrehozása) és ismételt felhasználása. Ebben az értelemben az ontológia az ontológiai elkötelezettségek, (commitment) vagy értelmezési előírások készítésére használt specifikáció. Az ontológiai értelmezési "elkötelezettség" formális meghatározása a következő:

Gyakorlati szempontból az ontológiai elkötelezettség egy olyan egyezség, hogy egy adott szókincset (szótárat) olyan módon használnak a kutatók (azaz kérdéseket tesznek fel, és válaszolnak meg), amely módszer egy ontológiával meghatározott elmélet tekintetében konzisztens (de nem teljes). Olyan ágenseket építenek, amelyek az ontológiákra támaszkodnak. Azért terveznek ontológiákat, hogy az ágensekkel és az ágensek között a tudás megosztható legyen.

A MI rendszereknél létrehozott közös szókincs (szótár) a közös tudást képviseli vagy reprezentálja. A közös diskurzus domén specifikációjának tartalmát, az osztályok, relációk, funkciók (függvények) és egyéb objektumok meghatározásait nevezik ontológiának. A definíciókat ítélet kalkulus (predicate calculus) formában írják le, ezt azután lefordítják specializált reprezentációkra, köztük keret-alapú rendszerekre és relációs nyelvekre

Példa egy XML-ben leírt ontológiára (részlet)[szerkesztés | forrásszöveg szerkesztése]

<ontologies version="Mon Jun 6 00:01:52 2005">

- <ontology uri="http://projects.teknowledge.com/DAML/Ontology.owl" id="1">

 <description>Homework Ontology. Attempt to use CycL predicates and formulas to decsribe corporate pages.</description>
 <poc name="Christopher Barbee" organization="Teknowledge Corporation" email="cbarbee@teknowledge.com" />
 <submitter name="Christopher Barbee" organization="Teknowledge Corporation" email="cbarbee@teknowledge.com" date="2000--1-0-" />
 <funder>DARPA DAML Program</funder>
 <class>Act</class>
 <class>Address</class>
 <class>ArtificialIntelligenceSoftware</class>
 <class>AutomaticInferenceEngine</class>
 <class>AutomaticReasoningSystem</class>
 <class>CommonOntologySoftware</class>
 <class>Corporation</class>
 <class>DARPAProject</class>
 <class>DataFusionProgram</class>
 <class>EMailAddress</class>
 <class>ExpertSystems</class>
 <class>FaxNumber</class>
 <class>InternetPortal</class>
 <class>InternetSecurityAssessment</class>
 <class>InternetSecuritySoftware</class>
 <class>InternetSoftware</class>
 <class>PhoneNumber</class>
 <class>ProductTesting</class>
 <class>SecureECommerceDevelopment</class>
 <class>SecureWebSiteDevelopment</class>
 <class>SecuritySoftwareTesting</class>
 <class>SemanticMiddleware</class>
 <class>SituationMonitoringAndAssessmentSoftware</class>
 <class>Software</class>
 <class>SoftwareDevelopment</class>
 <class>SoftwareTesting</class>
 <class>TeknowledgeSecuritySoftware</class>
 <property>address</property>
 <property>businessPartner</property>
 <property>challengeProblemDeveloper</property>
 <property>cityOfAddress</property>
 <property>countryOfAddress</property>
 <property>endingDate</property>
 <property>goal</property>
 <property>integrator</property>
 <property>numberOfAddress</property>
 <property>objectActedOn</property>
 <property>performedBy</property>
 <property>phoneNumberAreaCode</property>
 <property>phoneNumberExtension</property>
 <property>phoneNumberPrefix</property>
 <property>phoneNumberSuffix</property>
 <property>postalCodeOfAddress</property>
 <property>startingDate</property>
 <property>stateOfAddress</property>
 <property>streetOfAddress</property>
 <property>technologyDeveloper</property>
 <namespace>http://www.w3.org/1999/02/22-rdf-syntax-ns</namespace>
 <namespace>http://www.w3.org/2000/01/rdf-schema</namespace>
 <namespace>http://www.w3.org/2002/07/owl</namespace>
 </ontology>

- <ontology uri="http://www.davincinetbook.com:8080/daml/rdf/personal-info.daml" id="2">

 <description>DAML ontology for homework 1</description>
 <poc name="Mark Neighbors" organization="Booz-Allen & Hamilton" email="neighbors_mark@bah.com" />
 <submitter name="Mark Neighbors" organization="Booz-Allen & Hamilton" email="neighbors_mark@bah.com" date="2000--1-0-" />
 <keyword>personal information</keyword>
 <dmoz>http://dmoz.org/dmoz5</dmoz>
 <dmoz>http://dmoz.org/dmoz6</dmoz>
 <funder>DARPA DAML Program</funder>
 <class>AnnotatedBulletList</class>
 <class>Bullet</class>
 <class>BulletList</class>
 <class>Company</class>
 <class>FormDescriptionReference</class>
 <class>Key</class>
 <class>Person</class>
 <class>PersonalInformationForm</class>
 <class>Project</class>
 <class>URIList</class>
 <property>bulletList</property>
 <property>companies</property>
 <property>companyID</property>
 <property>currentEmployerIDs</property>
 <property>currentProjectIDs</property>
 <property>description</property>
 <property>emailAddress</property>
 <property>employees</property>
 <property>firstName</property>
 <property>keyValue</property>
 <property>lastName</property>
 <property>personID</property>
 <property>projectID</property>
 <property>projects</property>
 <property>teamMembers</property>
 <property>title</property>
 <property>uriList</property>
 <property>value</property>
 <property>worksFor</property>
 <property>worksOn</property>
 <namespace>http://www.daml.org/2001/03/daml+oil</namespace>
 <namespace>http://www.w3.org/1999/02/22-rdf-syntax-ns</namespace>
 </ontology>

- <ontology uri="http://grcinet.grci.com/maria/www/codipsite/Onto/Project/ProjectOntology_V26Jul2001.daml" id="3">

 <description>Basic model of a reasearch project.</description>
 <poc name="Lewis Hart" organization="GRCI" email="lhart@grci.com" />
 <submitter name="Lewis Hart" organization="GRCI" email="lhart@grci.com" date="2000--1-0-" />
 <keyword>project schedule tasks product company</keyword>
 <dmoz>http://www.dmoz.org/Business/Management/Project_and_Program_Management/</dmoz>

Az ontológia egy formálisan ábrázolt tudás halmaz fogalmi leírásán (conceptualization) alapszik: az objektumok, fogalmak és egyéb entitásokról feltételezik, hogy valamilyen érdeklődési körbe vont területen „léteznek” és köztük viszonyok állnak fenn. A fogalmi leírás (conceptualization) maga pedig annak a világnak, amelyet valamilyen célból reprezentálni szeretnének – elvont, egyszerűsített képe. Minden tudásbázis, tudás alapú rendszer vagy tudás szintű ágens valamilyen fogalmi leíráshoz (fogalomalkotáshoz) (conceptualization) kötődik, akár explicit akár implicit módon Az ontológia e fogalmi leírás (conceptualization) specifikációjának (megkülönböztetésének) explicit formája.

A fogalmat a filozófiából kölcsönözték, ahol az ontológia a létezésről szóló rendszerezett, mégis vitatott beszámolónak számít…

A MI rendszerek szempontjából azt lehet reprezentálni, ami tényleg létezik. Amikor egy domén tudását deklaratív formális eszközökkel lehet reprezentálni, akkor a reprezentálható objektumok halmazát diskurzus univerzumnak nevezik. Ez az objektum halmaz, valamint a köztük lévő relációk egy olyan reprezentációkat tartalmazó szótárban vannak tükrözve, amelynek segítségével a tudást a egy tudás alapú program reprezentálja, megjeleníti. Így a MI keretén belül egy program ontológiáját egy sor reprezentációt tartalmazó fogalom definiálásával írják le. Egy ilyen ontológiában a diskurzus univerzumban található entitások nevének (például osztály, viszony, függvény vagy egyéb objektum) meghatározásait olyan emberileg olvasható szöveggel társítják, amely leírja, hogy mit jelentenek a nevek, valamint olyan formális axiómákkal, amelyek e fogalmak értelmezésnek korlátait és a jól formáltság kritériumait adják meg. Formálisan az ontológia tehát egy logikai elmélet megfogalmazása.

A közös ontológiákat arra használják, hogy egy ágens halmaz ontológiai hovatartozását (commitment) írják le velük, hogy azok egy diskurzus doménről anélkül tudjanak kommunikálni, hogy egy okvetlenül közös elméletnek lennének a részei. Azt mondják, hogy egy ágens akkor kötelezi el magát egy ontológiával, akkor értelmezi annak jelentését, ha annak megfigyelhető akciói az ontológiában található meghatározásokkal konzisztensek.

Az ontológiai elkötelezettség gondolata a tudás-szintű perspektíván alapszik. A tudás szintű perspektíva egy ágens tudása leírásának olyan szintű leírása, amely független az ágensben, az ágens által használt szimbólum szintű reprezentációtól. Az ágenseknek a cselekedeteik megfigyelése révén tulajdonítanak tudást, az ágens akkor „tud” valamit, ha úgy „cselekszik” mintha rendelkezésére állna az az információ, amelyre a racionális cselekvéshez szüksége van azért, hogy elérhesse céljait. Az ágensek cselekedeteit – beleértve a tudás alapú szerverekét és a tudás alapú rendszerekét is, egy „mondd meg és kérdezd meg” funkcionális interfész segítségével lehet látni, ahol a kliens logikai állítások megfogalmazásával és kérdések feltevésével az ágenssel interakcióban áll.

Gyakorlati szempontból egy közös ontológia azt a szótárt adja meg, amelynek segítségével az ágensek egymás között kérdéseket és válaszokat tudnak megfogalmazni. Az ontológiai elkötelezettségek ennek a közös szótárnak koherens és konzisztens használatára vonatkozó megállapodások. A szótárt használó ágensnek nem kell megosztania a tudásbázisát, minden ágens tud olyasmit, amit a másik nem, és egy ontológiát használó ágensnek nem kell tudni a közös szótár segítségével összeállítható minden kérdésre válaszolni. Röviden, a közös ontológia melletti elkötelezettség a konzisztencia garanciája, a teljességé nem, már ami az ontológiában meghatározott szótár segítségével elkészíthető kérdések és állítások teljességét illeti.

Az ontológiákat gyakran összekeverik az osztályok taxonómiai hierarchiájával, és az alárendelő, magában foglaló viszonnyal (subsumption), de az ontológiák nem korlátozódnak csupán ezekre a formákra. Az ontológiák nem korlátozódnak továbbá a konzervatív meghatározás fajtákra sem, vagyis azokra a hagyományos logikai meghatározásokra, amelyek csak terminológiát vezetnek be, és a világról nem adnak új tudást. A fogalomalkotás, leírás (conceptualization) specifikációjához csak az kell, hogy olyan axiómakat fogalmazzunk meg, amelyek a meghatározott fogalmak lehetséges értelmezéseit korlátozzák, behatárolják (kijelölik határait).

Különböző ontológiák[szerkesztés | forrásszöveg szerkesztése]

A számítástechnika tudományban, egy ontológia egy doménről szóló kimerítő és szabatos fogalmi séma megfogalmazására irányuló kísérlet eredménye. Egy ontológia tipikusan egy olyan hierarchikus adatszerkezet, amelyben helyet kap az összes odatartozó entitás és azok relációi és a szabályook (például domén ontológia).

Az olyan ontológiát, amely nem kötődik egy konkrét probléma doménhez, de amely általános entitásokat igyekszik leírni alap ontológiának vagy felső ontológának nevezik. Általában specializáltabb, konkrétabb domén-specifikus sémát kell ahhoz létrehozni, hogy az adatok való világi döntésekhez hasznosak lehessenek.

Típusok[szerkesztés | forrásszöveg szerkesztése]

A domén ontológia egy specifikus (konkrét) doménhez tartozó ontológia. Az alap ontológia olyan formájú ontológia, amely megpróbál kevésbé konkrét lenni, és ily módon általánosabban alkalmazható. Van benne egy alapszókincs amelynek segítségével minden mást le lehet, és le kell írni a szélesebb doménben. Például a Longman angol szótárban 2000 szó szerepel, ezekkel határozzák meg a leggyakoribb 4000 angol idiomát. Az alap ontológia az informatikában a számítógép programok és felhasználók számára a „velő” ontológiat adja, az befolyásolja az adatok és az események értelmezését.

Mivel a számítógépes reprezentációk bizonyos probláma doméneket csak haloványan képesek megjeleníteni, kidolgozottabb és különlegesebb sémákra van szükség az adatoknak a valós világhoz illeszkedő döntések szempontjából hasznossá tételéhez. Szabványokra van szükség, amelyek ezeket a 'velő' ontológiákat kidolgozzák (például a Dublin Core-t az SGML-ben) és beépítik őket az ’alapokba'.

Tom R. Gruber és R. Studer szerint "az ontológia egy fogalomalkotás explicit és formális specifikációja".

Szemantikus háló[szerkesztés | forrásszöveg szerkesztése]

Bár az 'ontológia' szakkifejezést igen tágan használják szinte majdnem minden fogalmi osztályozási rendszere, a gyakorló számítástechnikai ontológusok szerint az igazi ontológia, amely a bennefoglalás viszony mellett (jelölése még: 'van', 'altípus' vagy 'alosztály'), az entitásokat még más 'szemantikai viszony' szerint is jellemzi, olyanokkal, amelyek az egyes fogalmak összekapcsolódási módját adják meg.

A bennefoglaláson vagy alárendeltségen (subsumption) kívül a leggyakoribb szematikai viszony a 'része' reláció. Formális jelölésben ez a viszony (isPartOf Spine Vertebrate) azt jelenti, hogy a 'Spine' (egy konkrét értelemben) a Vertebrate része (vagyis a gerinc a gerincesek része). Az ontológiák fogalmak szerint vannak rendezve, nem szavak szerint, így a gerinc vagy 'spine' fogalom, amely egy könyv gerincére utal, nem maradhat így, hanem 'BookSpine'-ként vagy könyvgerincként kell megjelölni.

Ontológiák használata és haszna[szerkesztés | forrásszöveg szerkesztése]

Elterjedt az ontológiák használata a mesterséges intelligencia és tudás reprezentáció szakterületeken. A számítógépes programok számos célra használnak ontológiákat, beleértve az induktív érvelés, osztályozás, különböző problémamegoldás technikák témáját, illetve különböző rendszerek közti kommunikáció segítésére és információ megosztásra.

Az alapontológiák vagy felső ontológiák kereskedelmileg értékesek, ezért sokan foglakoznak készítésükkel. Peter Murray-Rust azt írja, hogy emiatt "szemantikai és ontológiai háborúzás folyik az egymással versenyző szabványok miatt ", és ennek következtében minden valamirevaló alap ontológiát a kereskedelmi és politikai szereplők alaposan megbírálnak, mert mindegyiknek más elképzelése van arról, hogy 'mi az, ami létezik' (filozófiai értelmben).

Ezért még egyik felső ontológia sem talált egyetemes elfogadásra de facto szabványként. Különböző szervezetek próbálkoznak konkrét doménekre szabványok kidolgozásával. Például létezik a 'Process Specification Language' (PSL), amelyet a National Institute for Standards and Technology (NIST) dolgozott ki.

Kapható ontológiák[szerkesztés | forrásszöveg szerkesztése]

Közismert és átfogó, kereskedelemben kapható és szerzői joggal védett ontológia a Cyc, amelyet 1985 óta fejlesztenek, és amelynek van egy alapontológiája és számos domén-specifikus ontológiája (ezeket mikroelméleteknek nevezik). Ennek az ontológiának egy alkészletét szabad szoftverként is be lehet szerezni, a neve OpenCyc (lásd a külső hivatkozásokat).

Egy másik szabad szoftver, adatbázis és ma már szótárnak számít, a WordNet, amelyet eredetileg szemantikus hálóként terveztek pszicholinguisztikai elvek mentén, azért, mert kiegészítetették definíciókkal. Felső ontológiának is számít, mert szerepelnek benne a legáltalánosabb fogalmak, valamint speciálisabb szakszavak is – egymással nemcsak bennefoglalási viszonyban, hanem egyéb szemantikai kapcsolatban, például része vagy oka viszonylatban. Azonban a Cyc-kell ellentétben ebben nincs formális axiomatikus rendszer, ezért az egyes fogalmak között nem áll fenn pontos logikai reláció. Használata igen elterjedt a nyelvtechnológiai kutatásban, az NLP-ben Natural Language Processing.

Egy másik átfogó, azaz sokat tudó ontológia neve a SUMO Suggested Upper Merged Ontology. Van benne egy felső ontológia, amelynek alkotója az IEEE P1600.1 munkacsportja (főleg Ian Niles és Adam Pease személyében). Számos domén ontológiával van kiegészítve és teljes linkkapcsolat fűzi össze a WordNet-tel. Szintén ingyen használható.

Bizonyos fogalmakat és jelentésüket fenntartja az összes 'P1600.1 szabványú' rendszerre. Vannak, akik szerint ez azzal jár, hogy az általános ontológia (filozófiai értelemben) határozza meg, hogy 'mi létezik'. Egyesek úgy is érzik, hogy a különösen a 'felső' jelző használata olyan hierarchiát jelent, amelyet muszáj elfogadni, nem úgy, mint az alap, amelyet az ember megválaszt, és ez kulturális bélyeget nyom a fogalomkörre. A felső ontológiák alkotói azonban úgy tartják, hogy a felső ontológia nem más, mint egy olyan szakszó halmaz, amelyet az emberek vagy a szoftver rendszerek választásuk szerint közösen használnak. A SUMO kulturális pártalanságát kipróbálták, amikor lefordították kínai nyelvre és hindi nyelvre, és a használat során nem találkoztak a kulturális elfogultság vádjával.

További példák találhatók a domén ontológiákra az Open Biomedical Ontology weboldalon. A hely egy „nagykalapos” szervezet a biológiai témájú ontológiák gyűjtésére. (lásd a külső hivatkozásokat)

Gyakorlati tanulság a filozófiából: egy felső ontológia célja[szerkesztés | forrásszöveg szerkesztése]

A következő érvek szólnak egy abszolút felső ontológia megvalósíthatósága mellett, illetve ellen. Az érvek nem foglalkoznak azzal, hogy normális társadalmi körülmények között (tudományos kutatási és politikai szabadság meglétét feltételezve) számos ontológia fog egymás mellett létezni és versenyezni a követőkért. Nem valószínű, hogy állandóra sikerülne bármilyen merev rendszert elfogadni, és valószínűleg nem is ez a köz érdeke. Ha ezt kimondtuk, akkor ha arra bátorítjuk a magánkezdeményezéseket, hogy készítsenek egy nagyon sikeres felső ontológiát, amely hasznossága révén sok követőre talál, annak valószínűleg meg lesz az a társadalmi haszna, hogy segítségével javul majd a kommunikáció.

Miért kivitelezhetetlen a felső ontológia?[szerkesztés | forrásszöveg szerkesztése]

Minden olyan munka, amely egy hasznos felső ontológia kódolását tűzi ki célul, olyan ontológiai megszorítáasokat fog tartalmazni, amelyeket a filozófusok a történelem során megkerülhetetlennek találtak. Mindenekelőtt ezek a korlátok kérdőjelezik meg egy általános célú felső ontológia készítésének a lehetségességét. Nevezetesen:

  • A világ fogalmakra való tagolásának nincs magától értetődő módja
  • Nincs olyan semleges talaj, amely specializált (alacsony) ontológiák közti fordítás eszközéül szolgálhatna
  • Maga az emberi nyelv is már egy önkényes megközelítés a sok lehetséges fogalmi leképezés közül. Ahhoz, hogy a szükséges korrelációt megállapítsuk az angol szavai és tetszés szerinti számú, reprezentálni kívánt fogalom között, csak tovább nehezítjük az életünket. A (WordNet azért sikeres és hasznos, mert nem akar általános célú felső ontológia szerepében tetszelegni, inkább a szemantikai / szintaktikai / nyelvészeti egyértelműsítés eszköze, (amely történetesen gazdagon be van ágyazva az angol nyelv különlegességeibe és furcsaságaiba)
  • A fogalmak minden hierarchikus vagy topológiai reprezentációjának valamilyen ontológiai, episztemológiai, nyelvészeti, kulturális, és – mindenek felett – pragmatikus perspektívával kell rendelkeznie.

Mivel az ontológiák többek közt szociális / kulturális képzödmények (artifact), nem létezik olyan tisztán objektív szemszög, amelyből a fogalmak „teljes körét” át lehetne tekinteni. Ahelyett, hogy azt kérdeznénk, hogy “milyen hierarchikus fogalmi reprezentációk ragadják meg az általános eszmék közti univerzális viszonyokat,” sokkal hasznosabb, ha azt kérdezzük “milyen konkrét célunk van ezzel az entitás fogalmi térképpel, és mit számít a gyakorlatban egy ilyen ontológia?” Ez a pragmatikus filozófiai állásfoglalás felhagy minden olyan reménnyel abban a tekintetben, hogy ki lehet találni “minden eshetőségnek (everything that is the case)” kódolt ontológiai változatát (Wittgenstein, Tractatus Logico-Philosophicus).

Barry Smith szerint a The Blackwell Guide to the Philosophy of Computing and Information (2004) c. munkájában, "Fel kellett hagyni az egyetlen ontológia építésének a projektjével, mégha az egy egyszintes, felső ontológiai is lett volna, de ugyanakkor nem triviális, és a különböző információs rendszerek szélesebb közönsége által elfogadható." (p. 159)

Miért valósítható meg a felső ontológia[szerkesztés | forrásszöveg szerkesztése]

Miközben nem létezik egy közös elfogadott metafizika, az a tény, hogy milyen régen áll fenn vita e területen azt mutatja, hogy több olyan modell is létezik, amely nem teljes reménytelen. Egy felső ontológiai hívei úgy érvelnek, hogy bár nincs egyetlen igazi felső ontológia, azért több jót is lehet készíteni. A kommunikációban és az (tudás) elosztásban végrehajtott szabványosítás eredményei azt sugallják a gyakorlati megvalósítóknak, hogy foglalkozzanak a közös felső ontológia alkalmazásával.

A felső ontológia ellen felhozott ismert érvek egy részét viágosabbá lehet teni, ha szétválasztjuk a fogalom meghatározás kérdéseit (ontológia), a nyelv ([[lexikon]ok]] ügyeit, és a tények (tudás) tartalmát. A nem formális ontológiák közti konfliktus leggyakoribb oka maga a nyelvhasználati különbség. Ez a különbség még akkor is nyilvánvaló, ha a közösség tagjai ugyanazt a nyelvet beszélik. Ugyanarra fogalomra az emberek más szakszavakat és kifejezéseket használnak. Ez nem jelenti okvetlenül, hogy más fogalmakra vonatkoztatnak, utalnak. Csak más nyelvet beszélnek. Fontos, hogy a fogalmakra utaló használt nyelvet maguktól a fogalmaktól megkülönböztessük. A formális ontológiák általban nyelvészeti címkéket használnak a fogalmakra való utaláskor, de a szakszavak (terminusok) sem többet, sem kevesebbet nem jelentenek annál, amit az axiomák szerint jelenteknek. A címkék a szoftverváltozó nevekhez hasonlóak. Eszünkbe kell juttassák a dolgot, de nem tévesztendők össze a névnek a formális rendszer kontextusában szereplő jelentésével.

A másik érv, hogy a emberek különböző dolgokban hisznek, ezért nem lehetnek azonos ontológiáik. Azonban a hitbeli különbségek sok esetben egy adott állítás igazság értékének a különbségét jelentik, nem pedig azokban a szakszavakban való hitetlenséget, amelyek az adott logikai kijelentést felépítik. Még egy dolog létezéséről szóló vitában is szükség van arra, hogy egy fogalomban legyen közös értelmezési tartományunk, még ha az adott dolog létezése a valós világban kérdéses is. A hit elválasztása a megnevezéstől és a meghatározástól szintén segít a dolog tisztázásában és megmutatja, hogyan lehet közös fogalmunk annak ellenére, hogy hiteink eltérnek.

Összefoglalva a felső ontológia kivitelezhetelenségéről szóló vita arra vezethető vissza, hogy keveredés van az ontológia, a nyelv és a tudás fogalmit illetően a gondolkodásunkban. További probléma, hogy a specializált tudásokat illetően nincs elegendő közös ismeretünk. A tudás hiánya azonban nem zárja ki a közös ontológia megteremthetőségét, csak arra mutat rá, hogy nincsenek átfedő ismereteink belső ontológiáinkban. A gyakorlati konklúzió, hogy jó, ha minél többen osztozunk, és hogy rengeteget lehet megosztani.

Egy ontológia anatómiája[szerkesztés | forrásszöveg szerkesztése]

A jelenkori ontológiák sok strukturális hasonlóságot mutatnak, függetlenül attól, hogy melyik ontológia nyelvet (tehát szintaxist) használtak hozzá. Ez a bekezdés az ontológiák számos közös tulajdonságát mondja el röviden, egyszerűen.

Fontos emlékezni arra, hogy az ontológiák nem 'csinálnak' semmit. Egy számítástechnikai rendszer azon funkcionalitása, amely egy ontológiát kihasznál nemcsak az ontológián belüli adatoktól és azok struktúrájától függ, hanem a szoftver telepítésétől is. Például egy ontológia támogathatja egy fogalom részekre tagolását. Azonban ahhoz, hogy ezt használni lehessen szükség van egy interfész eszközre is.

Fogalmak[szerkesztés | forrásszöveg szerkesztése]

Egyszerűen szólva egy fogalom bármi lehet, amiről mondani lehet valamit. Lehet valós entitás vagy képzeletbeli. Lehet konkrét vagy absztrakt, egy feladat, egy érvelési folyamat, egy függvény stb. Egyes nyelvekeben osztályoknak, objektumoknak és kategóriának nevezik őket.

  • Partíció/tagolás: egymással relációban lévő fogalmak, amelykről szabályok állapíthatók meg, és amelyekre ezek alkalmazhatók. Például…
               kocsi
                |
                |
     -----------------------
     |                     |
2-kerék         4-kerék meghajtásos
meghajtásos

A 'kocsi' két alosztályát fel lehet bontani és olyan szabály alkalmazható, hogy a 'kocsi' egy előfordulása nem lehet egyszere '2-kerék meghajtású' és '4-kerék meghajtású'. Ennek a neve kizáró tagolás Disjoint Partition.

Ez partíció másik gyakori használata annak a megállapítása, hogy egy fogalom előfordulása az egyik tagolt alfogalom előfordulásával egyezik meg. Ez a teljes körű tagolás Exhaustive Partition.

Tulajdonságok[szerkesztés | forrásszöveg szerkesztése]

Egy ontológián belül minden fogalmat le lehet írni tulajdonságok megadásával. Az attributumok összetettebb relációkat engednek megmodellezni az ontológiák segítségével. Nézzünk egy ontológiát, amely nem határoz meg tulajdonságokat fogalmaihoz, legyen mondjuk egy egyszerű taxonómia (ha le vannak írva a fogalmi kapcsolatok) vagy egy szűkített szótár' (csak bizonyos szavakat használó szótár). Ezek hasznos dolgok, de nem tekinthetők valódi ontológiáknak.

  • Előfordulás tulajdonságok -
  • Osztály tulajdonságok -
  • Lokális tulajdonságok -
  • Globális tulajdonságok -

Taxonómiák és az 'irányított aciklikus gráf'[szerkesztés | forrásszöveg szerkesztése]

A fogalmi entitások leírás után az eredményt szerencsésebb inkább szűkített szótárnak vagy glosszáriumnak nevezni. Nyilván az entitások közti relációkat is meg kell adnunk, ha pontos fogalmat akarunk alkotni a minket érdeklő doménről.

A két leggyakoribb relációt ('is a' & 'part of') az alábbiakban írjuk le.

Az 'is a' (van) viszonnyal való bővítéssel 'lineáris' taxonómia keletkezik, egy faszerkezet, amely világosan leírja, hogyan kapcsolódnak egymáshoz az entitások. Ebben a szerkezetben minden entitás csak egy szülő osztály gyermeke.

                                     Class A
                                        |
                   -------------------------------------------
                   |                                         |
               Sub-Class B                              Sub-Class C
                   |                                         |
        ----------------------                    -----------------------
        |                    |                    |                     |
Sub-Sub-Class D       Sub-Sub-Class E      Sub-Sub-Class F      Sub-Sub-Class G

Ha most az ontológiába bevezetjük a „része 'part of' relációt, akkor azt látjuk, hogy ez az egyszerű és elegáns fa egy-kettőre elbonyolódik és jóval nehezebb a formát manuálisan értelmezni.

Könnyű belátni, hogy miért; egy másik entitás részeként definiált entitás része lehet egy jobb entitásnak is. Következésképpen az entitásoknak több szülőjük is lehet. A kialkuló szerkezet neve Directed Acyclic Graph.

Ontológia nyelvek[szerkesztés | forrásszöveg szerkesztése]

Ahhoz, hogy hasznosak legyenek, az ontológiákat konkrét jelölő rendszerrel kell tudni leírni. Az ontológia nyelv olyan formális nyelv amelynek segítségével fel lehet építeni egy ontológiát. Számos ontológiákhoz való adatnyelv létezik, vannak köztük nem ingyenes használatúak és szabvány alapúak is.:

  • A Cyc projektnek saját ontológia nyelve volt elsőrendű logika alapú, a neve: CycL.
  • KIF a neve annak a nyelvnek, amelyet szintaxisként használtak egy olyan first order logic-hoz amelyet a számítógép könnyen tudott feldolgozni
  • OWL egy ontológiai állítások megfogalmazására alkalmas nyelv, a RDF és a RDFS projektekből, valamint korábbi ontológiai nyelv projektekből, például OIL, DAML és DAML+OIL fejleszteték ki őket

Külső hivatkozások[szerkesztés | forrásszöveg szerkesztése]

Az alábbi linkek elérése problematikus

Lásd még[szerkesztés | forrásszöveg szerkesztése]

Kapható ontológiák[szerkesztés | forrásszöveg szerkesztése]