Ontologie (informační věda)

V informatice i informační vědě zahrnuje ontologie reprezentaci, formální pojmenování a definici kategorií, vlastností a vztahů mezi pojmy, daty a entitami, které jsou základem jedné, mnoha nebo všech domén diskurzu. Zjednodušeně řečeno, ontologie je způsob, jak ukázat vlastnosti předmětné oblasti a jejich vzájemné vztahy, a to definováním souboru pojmů a kategorií, které předmět reprezentují.

Ontologie se běžně kódují pomocí ontologických jazyků.

Současné ontologie mají mnoho společných strukturních rysů bez ohledu na jazyk, ve kterém jsou vyjádřeny. Jak bylo uvedeno výše, většina ontologií popisuje jedince (instance), třídy (koncepty), atributy a vztahy. V této části je postupně probrána každá z těchto složek.

Jedinci (instance) jsou základní, „přízemní“ složky ontologie. Jednotliviny v ontologii mohou zahrnovat konkrétní objekty, jako jsou lidé, zvířata, stoly, automobily, molekuly a planety, a také abstraktní jednotliviny, jako jsou čísla a slova. Přísně vzato ontologie nemusí obsahovat žádná individua, ale jedním z obecných účelů ontologie je poskytnout prostředky pro klasifikaci individuí, i když tato individua nejsou výslovně součástí ontologie…

Ontologie se liší v tom, zda třídy mohou obsahovat jiné třídy, zda třída může patřit sama sobě, zda existuje univerzální třída (tj. třída obsahující vše) atd. Někdy se v tomto směru zavádějí omezení, aby se předešlo některým známým paradoxům.

Třídy ontologie mohou být extenzionální nebo intenzionální povahy. Třída je extenzionální tehdy a jen tehdy, je-li charakterizována pouze svým členstvím. Přesněji řečeno, třída C je extenzionální tehdy a jen tehdy, jestliže pro libovolnou třídu C‘ platí, že pokud má C‘ přesně stejné členy jako C, pak jsou C a C‘ identické. Pokud třída tuto podmínku nesplňuje, pak je intenzionální. Extenzionální třídy jsou sice z matematického hlediska lépe uchopitelné a srozumitelnější a z filozofického hlediska méně problematické, ale neumožňují tak jemné rozlišování, jaké ontologie často potřebují. Například ontologie může chtít rozlišovat mezi třídou všech tvorů s ledvinou a třídou všech tvorů se srdcem, i když tyto třídy mají shodou okolností úplně stejné členy. Ve výše uvedených vyšších ontologiích jsou třídy definovány intensionálně. Intensionálně definované třídy mají obvykle nutné podmínky spojené s členstvím v každé třídě. Některé třídy mohou mít také postačující podmínky a v takových případech kombinace nutných a postačujících podmínek činí z dané třídy plně definovanou třídu.

Důležité je, že třída může být podřazena jiným třídám nebo být podřazena jiným třídám; třída podřazená jiné třídě se nazývá podtřída podřazující třídy. Například třída Vozidlo spadá pod třídu Auto, protože (nutně) cokoli, co je členem druhé třídy, je členem třídy první. Vztah subsumpce se používá k vytvoření hierarchie tříd, obvykle s maximálně obecnou třídou jako Věc na vrcholu a velmi specifickými třídami jako Ford Explorer 2002 na konci. Kriticky důležitým důsledkem relace subsumpce je dědění vlastností z rodičovské (subsumující) třídy do třídy podřízené (subsumované). Tedy vše, co je nutně pravdivé pro nadřazenou třídu, je nutně pravdivé i pro všechny její podřazené třídy. V některých ontologiích může mít třída pouze jednoho rodiče (jednoduchá dědičnost), ale ve většině ontologií mohou mít třídy libovolný počet rodičů (vícenásobná dědičnost) a v druhém případě všechny nezbytné vlastnosti každého rodiče dědí i subsumovaná podřízená třída. Tak může být určitá třída zvířat (HouseCat) potomkem třídy Cat a zároveň potomkem třídy Pet.

Rozdělení je sada příbuzných tříd a souvisejících pravidel, která umožňují zařadit objekty do příslušné třídy. Například vpravo je částečný diagram ontologie, která má rozdělení třídy Car na třídy 2-Wheel Drive a 4-Wheel Drive. Pravidlo rozdělení určuje, zda je konkrétní automobil zařazen do třídy 2-Wheel Drive nebo 4-Wheel Drive.

Pokud pravidlo (pravidla) rozdělení zaručuje (zaručují), že jeden vůz nemůže být v obou třídách, pak se rozdělení nazývá disjunktní rozdělení. Pokud pravidla rozdělení zajišťují, že každý konkrétní objekt v nadtřídě je instancí alespoň jedné z tříd rozdělení, pak se rozdělení nazývá vyčerpávající rozdělení.

Objekty v ontologii lze popsat přiřazením atributů. Každý atribut má alespoň jméno a hodnotu a slouží k uložení informací, které jsou specifické pro objekt, k němuž je přiřazen. Například objekt Ford Explorer má atributy jako např:

Hodnota atributu může být složený datový typ; v tomto příkladu je hodnotou atributu s názvem Engine seznam hodnot, nikoli pouze jedna hodnota.

Pokud byste nedefinovali atributy pojmů, měli byste buď taxonomii (pokud mezi pojmy existují hyponymické vztahy), nebo řízený slovník. Ty jsou užitečné, ale nepovažují se za skutečné ontologie.

Důležitým využitím atributů je popis vztahů (známých také jako relace) mezi objekty v ontologii. Vztah je typicky atribut, jehož hodnotou je jiný objekt v ontologii. Například v ontologii, která obsahuje Ford Explorer a Ford Bronco, může mít objekt Ford Bronco následující atribut:

To nám říká, že Explorer je model, který nahradil Bronco. Velká část síly ontologií vychází ze schopnosti popsat tyto vztahy. Soubor vztahů dohromady popisuje sémantiku domény.

Nejdůležitějším typem relace je relace subsumpce (is-superclass-of, obrácená relace is-a, is-subtype-of nebo is-subclass-of). Ta určuje, které objekty jsou členy tříd objektů. Například jsme již viděli, že Ford Explorer je-a čtyřkolka, která je zase-a auto:

Přidáním vztahů is-a vznikla hierarchická taxonomie; stromová struktura (nebo obecněji částečně uspořádaná množina), která jasně zobrazuje, jak spolu objekty souvisejí. V takové struktuře je každý objekt „dítětem“ „rodičovské třídy“ (některé jazyky omezují vztah is-a na jednoho rodiče pro všechny uzly, ale mnoho jazyků tak nečiní).

Dalším běžným typem relací je relace meronymie, zapisovaná jako part-of, která představuje způsob, jakým se objekty spojují a vytvářejí složené objekty. Pokud bychom například rozšířili naši příkladovou ontologii o objekty jako volant, řekli bychom, že „volant je-částí Fordu Explorer“, protože volant je jednou ze součástí Fordu Explorer. Pokud do naší ontologie zavedeme meronymické vztahy, zjistíme, že se tato jednoduchá a elegantní stromová struktura rychle stane složitou a její ruční interpretace podstatně obtížnější. Není těžké pochopit proč; entita, která je popsána jako „součást“ jiné entity, může být také „součástí“ třetí entity. V důsledku toho mohou mít entity více než jednoho rodiče. Vzniklá struktura se nazývá směrovaný acyklický graf (DAG).

Kromě standardních relací is-a a part-of ontologie často obsahují další typy relací, které dále zpřesňují sémantiku, kterou modelují. Tyto vztahy jsou často specifické pro danou oblast a používají se k zodpovězení konkrétních typů otázek.

Například v doméně automobilů můžeme definovat vztah made-in, který nám říká, kde je každé auto vyrobeno. Ford Explorer je tedy vyroben v Louisville. Ontologie může také vědět, že Louisville je v Kentucky a Kentucky je stát USA. Software používající tuto ontologii by nyní mohl odpovědět na otázku typu „Která auta jsou vyrobena v Americe?“.

Doménové ontologie a vyšší ontologie

Doménová ontologie (nebo doménově specifická ontologie) představuje pojmy, které patří do určité oblasti světa, například biologie nebo politiky. Každá doménová ontologie obvykle modeluje definice pojmů specifické pro danou oblast. Například slovo karta má mnoho různých významů. Ontologie o doméně poker by modelovala význam tohoto slova „hrací karta“, zatímco ontologie o doméně počítačový hardware by modelovala významy „děrovaná karta“ a „videokarta“.

Vrchní ontologie (nebo základní ontologie) je model společných objektů, které jsou obecně použitelné v široké škále doménových ontologií. Obsahuje základní slovník, jehož termíny lze popsat objekty v souboru domén. K dispozici je několik standardizovaných horních ontologií, které lze používat, včetně Dublin Core, GFO, OpenCyc/ResearchCyc, SUMO a DOLCEl. WordNet, ačkoli je některými považován za vyšší ontologii, není ontologií: jedná se o jedinečnou kombinaci taxonomie a řízeného slovníku (viz výše v části Atributy).

Gellishova ontologie je příkladem kombinace nadřazené a doménové ontologie.

Protože doménové ontologie reprezentují pojmy velmi specifickým a často eklektickým způsobem, jsou často nekompatibilní. Jak se systémy, které se spoléhají na doménové ontologie, rozšiřují, často potřebují sloučit doménové ontologie do obecnější reprezentace. To představuje výzvu pro tvůrce ontologií. Rozdílné ontologie ve stejné doméně mohou vznikat také v důsledku odlišného vnímání domény na základě kulturního prostředí, vzdělání, ideologie nebo proto, že byl zvolen jiný jazyk reprezentace.

V současné době je slučování ontologií převážně ruční proces, a proto je časově i finančně náročné. Použití základní ontologie, která poskytuje společnou definici základních pojmů, může tento proces učinit zvládnutelným. Existují studie o zobecněných technikách pro slučování ontologií, ale tato oblast výzkumu je stále převážně teoretická.

Jazyk ontologie je formální jazyk používaný k zakódování ontologie. Existuje řada takových jazyků pro ontologie, a to jak proprietárních, tak standardních:

Vztah k filozofickému pojmu

Termín ontologie má svůj původ ve filozofii, kde je názvem jednoho ze základních odvětví metafyziky, zabývajícího se analýzou různých typů či způsobů existence, často se zvláštním zřetelem na vztahy mezi jednotlivostmi a univerzáliemi, mezi vnitřními a vnějšími vlastnostmi a mezi podstatou a existencí. Podle Toma Grubera ze Stanfordovy univerzity je význam ontologie v kontextu informatiky „popis pojmů a vztahů, které mohou existovat pro agenta nebo společenství agentů“. Dále upřesňuje, že ontologie je obecně zapsána „jako soubor definic formálního slovníku“.

Společným rysem ontologie v informatice i filozofii je reprezentace entit, idejí a událostí spolu s jejich vlastnostmi a vztahy podle systému kategorií. V obou oborech lze nalézt značné množství prací zabývajících se problémy ontologické relativity (např. u Quinea a Kripkeho ve filozofii, u Sowy a Guarina v informatice (Top-level ontological categories. Autor: M: Sowa, John F. In International Journal of Human-Computer Studies, v. 43 (listopad/prosinec 1995) s. 669-85.), a debaty o tom, zda je normativní ontologie životaschopná (např. debaty o fundacionalismu ve filozofii, debaty o projektu Cyc v umělé inteligenci).

Rozdíly mezi nimi jsou do značné míry otázkou zaměření. Filozofové se méně zabývají vytvářením pevných, kontrolovaných slovníků než badatelé v informatice, zatímco informatici se méně zabývají diskusemi o prvních principech (například debatami o tom, zda existují takové věci jako pevné podstaty nebo zda musí být entity ontologicky primárnější než procesy). V druhé polovině 20. století filosofové hojně diskutovali o možných metodách či přístupech k budování ontologií, aniž by sami nějaké příliš propracované ontologie skutečně budovali. Naproti tomu počítačoví vědci budovali některé rozsáhlé a robustní ontologie (například WordNet a Cyc) s relativně malou debatou o způsobu jejich budování.

V prvních letech 21. století sbližuje interdisciplinární projekt kognitivní vědy oba okruhy vědců. Hovoří se například o „počítačovém obratu ve filozofii“, který zahrnuje filozofy analyzující formální ontologie informatiky (někdy dokonce přímo pracující se softwarem), zatímco badatelé v oblasti informatiky se více odkazují na ty filozofy, kteří se zabývají ontologií (někdy s přímými důsledky pro jejich metody). Přesto se mnozí vědci z obou oborů do tohoto trendu kognitivní vědy nezapojují a nadále pracují nezávisle na sobě a sledují odděleně své odlišné zájmy.

Příklady zveřejněných ontologií

Vývoj ontologií pro web vedl ke vzniku služeb poskytujících seznamy nebo adresáře ontologií s možností vyhledávání. Takové adresáře se nazývají knihovny ontologií.

Následují statické knihovny ontologií vybraných člověkem.

Následují adresáře a vyhledávače. Patří mezi ně crawlery, které na webu hledají dobře formulované ontologie.

Související filozofické koncepty