Ontologie (informatika)

Jak v informatice, tak v informatice zahrnuje ontologie reprezentaci, formální pojmenování a definici kategorií, vlastností a vztahů mezi pojmy, daty a entitami, které dokládají jednu, mnoho nebo všechny oblasti diskurzu. Zjednodušeně řečeno, ontologie je způsob, jak ukázat vlastnosti předmětné oblasti a jak spolu souvisí, definováním souboru pojmů a kategorií, které reprezentují předmět.

Ontologie jsou běžně kódovány pomocí ontologických jazyků.

Současné ontologie sdílejí mnoho strukturálních podobností 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 (pojmy), atributy a vztahy. V této části je postupně rozebrána každá z těchto složek.

Mohlo by vás zajímat: Oocyty

Jednotlivci (instance) jsou základní „základní“ složky ontologie. Jednotlivci v ontologii mohou zahrnovat konkrétní objekty, jako jsou lidé, zvířata, stoly, automobily, molekuly a planety, stejně jako abstraktní jedince, jako jsou čísla a slova. Přesněji řečeno, ontologie nemusí zahrnovat žádné jedince, ale jedním z obecných účelů ontologie je poskytnout prostředek pro klasifikaci jedinců, i když tito jedinci 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 (tedy třída obsahující vše) atd. Někdy se omezení v tomto směru dělají proto, aby se předešlo určitým dobře známým paradoxům.

Třídy ontologie mohou mít extenzivní nebo intenzivní charakter. Třída je extenzivní tehdy a jen tehdy, je-li charakterizována výhradně svým členstvím. Přesněji, třída C je extenzivní tehdy a jen tehdy, jestliže pro jakoukoli třídu C' má C' přesně stejné členy jako C, pak C a C' jsou identické. Jestliže třída tuto podmínku nesplňuje, pak je intenzivní. Zatímco extenzní třídy jsou lépe vychované a matematicky dobře srozumitelné, stejně jako méně problematické filozoficky, nedovolují jemnozrnné rozlišení, které 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í náhodou přesně stejné členy. Ve výše zmíněných vyšších ontologiích jsou třídy definovány intenzivně. Intenzivně definované třídy mají obvykle nezbytné podmínky spojené s členstvím v každé třídě. Některé třídy mohou mít také dostatečné podmínky a v těchto případech kombinace nezbytných a dostatečných podmínek dělá z této třídy plně definovanou třídu.

Důležité je, že třída může být subsumována nebo být subsumována jinými třídami; třída subsumovaná jinou třídou se nazývá podtřída subsumované třídy. Například Vehicle subsumovává Car, protože (nutně) vše, co je členem druhé třídy, je členem první třídy. Subsumpční vztah se používá k vytvoření hierarchie tříd, typicky s maximálně obecnou třídou jako je Thing nahoře a velmi specifickými třídami jako je Ford Explorer 2002 dole. Kriticky důležitým důsledkem subsumpčního vztahu je dědičnost vlastností z rodičovské (subsumovací) třídy do třídy potomka (subsumované). Tudíž vše, co nutně platí pro rodičovskou třídu, také nutně platí pro všechny její subsumované třídy potomka. V některých ontologiích může mít třída pouze jednoho rodiče (jediné dědictví), ale ve většině ontologií mohou mít třídy libovolný počet rodičů (vícenásobné dědictví), a v druhém případě všechny potřebné vlastnosti každého rodiče dědí třída subsumovaného potomka. Tedy konkrétní třída zvířete (HouseCat) může být dítětem třídy Cat a také dítětem třídy Pet.

Oddíl je sada příbuzných tříd a přidružených pravidel, která umožňují umístit objekty do příslušné třídy. Napravo je například částečný diagram ontologie, která má oddíl třídy Car do tříd 2-kolový pohon a 4-kolový pohon. Pravidlo oddílu určuje, zda je konkrétní automobil umístěn do třídy 2-kolový pohon nebo 4-kolový pohon.

Pokud pravidla pro rozdělení zaručují, že jeden Car nemůže být v obou třídách, pak se oddíl nazývá disjunktní oddíl. Pokud pravidla pro rozdělení zaručují, že každý konkrétní objekt v supertřídě je instancí alespoň jedné z tříd oddílu, pak se oddíl nazývá vyčerpávající oddíl.

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

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

Pokud byste pro pojmy nedefinovali atributy, měli byste buď taxonomii (pokud mezi pojmy existují vztahy hyponym), nebo řízenou slovní zásobu. Ty jsou užitečné, ale nejsou považovány za pravdivé ontologie.

Důležitým použitím atributů je popis vztahů (také známých jako vztahy) mezi objekty v ontologii. Typicky vztah je atribut, jehož hodnota je jiným objektem 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í pochází ze schopnosti popsat tyto vztahy. Sada vztahů společně popisuje sémantiku domény.

Nejdůležitějším typem relace je subsumpční relace (is-superclass-of, konverze is-a, is-subtype-of nebo is-subclass-of). Ta definuje, které objekty jsou členy tříd objektů. Například jsme již viděli, že Ford Explorer je-pohon na 4 kola, což zase je-a Car:

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 souvisí. V takové struktuře je každý objekt 'potomkem' rodičovské třídy (Některé jazyky omezují vztah is-a na jednoho rodiče pro všechny uzly, ale mnohé ne).

Dalším běžným typem vztahů je meronymní vztah, psaný jako součást, který představuje, jak se objekty spojují dohromady, aby vytvořily složené objekty. Pokud bychom například rozšířili naši příkladovou ontologii o objekty, jako je volant, řekli bychom, že „volant je součástí Fordu Explorer“, protože volant je jednou ze součástí Fordu Explorer. Pokud zavedeme meronymní vztahy do naší ontologie, zjistíme, že tato jednoduchá a elegantní stromová struktura se rychle stává složitou a výrazně obtížněji se interpretuje ručně. Není těžké pochopit proč; entita, která je popisová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. Struktura, která se objevuje, je známá jako směrovaný acyklický graf (DAG).

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

Například v oblasti automobilů bychom mohli definovat vztah vyrobeno-in, který nám říká, kde je každé auto postaveno. Takže Ford Explorer je vyrobeno-in 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 jako „která auta jsou vyrobena v Americe?“

Doménové ontologie a horní ontologie

Doménová ontologie (nebo doménově specifická ontologie) představuje pojmy, které patří do sféry světa, jako je biologie nebo politika. Každá doménová ontologie obvykle modeluje doménově specifické definice pojmů. Například slovo karta má mnoho různých významů. ontologie o doméně pokeru by modelovala význam slova „hrací karta“, zatímco ontologie o doméně počítačového hardwaru by modelovala významy „děrná karta“ a „videokarta“.

Horní ontologie (nebo základová ontologie) je model společných objektů, které jsou obecně použitelné v celé řadě doménových ontologií. Obsahuje základní glosář, v jehož pojmech lze objekty v sadě domén popsat. K dispozici je několik standardizovaných horních ontologií, včetně Dublin Core, GFO, OpenCyc/ResearchCyc, SUMO a DOLCEl. WordNet, i když je některými považován za horní ontologii, není ontologie: je unikátní kombinací taxonomie a řízené slovní zásoby (viz výše, v části Atributy).

Gellishská ontologie je příkladem kombinace horní a doménové ontologie.

Vzhledem k tomu, že doménové ontologie představují pojmy velmi specifickými a často eklektickými způsoby, 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šího zastoupení. To představuje výzvu pro tvůrce ontologie. Různé ontologie ve stejné doméně mohou také vzniknout kvůli odlišnému vnímání domény na základě kulturního pozadí, vzdělání, ideologie nebo proto, že byl zvolen jiný reprezentační jazyk.

V současnosti je slučování ontologií do značné míry manuální proces, a proto časově náročný a nákladný. Použití základové ontologie k vytvoření společné definice základních pojmů může tento proces učinit zvládnutelným. Existují studie o zobecněných technikách slučování ontologií, ale tato oblast výzkumu je stále z velké části teoretická.

ontologický jazyk je formální jazyk používaný ke kódování ontologie. Pro ontologie existuje řada takových jazyků, jak proprietárních, tak založených na standardech:

Vztah k filozofickému pojmu

Termín ontologie má svůj původ ve filozofii, kde je názvem jedné základní větve metafyziky, zabývající se analýzou různých typů nebo způsobů existence, často se zvláštní pozorností věnovanou vztahům mezi jednotlivostmi a univerzály, 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 počítačové vědy „popisem pojmů a vztahů, které mohou existovat pro agenta nebo společenství agentů“. Dále upřesňuje, že ontologie se obecně píše „jako soubor definic formální slovní zásoby“.

Co má ontologie společného jak v informatice, tak ve filosofii, je reprezentace entit, myšlenek a událostí, spolu s jejich vlastnostmi a vztahy, podle systému kategorií. V obou oborech najdeme značnou práci na problémech ontologické relativity (např. Quine a Kripke ve filosofii, Sowa a Guarino v informatice (ontologické kategorie nejvyšší úrovně. Autor: Sowa, John F. In International Journal of Human-Computer Studies, v. 43 (listopad/prosinec 1995) str. 669-85.), a debaty o tom, zda je normativní ontologie životaschopná (např. debaty o foundationalismu ve filosofii, debaty o projektu Cyc v AI).

Rozdíly mezi nimi jsou do značné míry předmětem zájmu. Filozofové se méně zabývají vytvářením pevných, řízených slovníků než výzkumníci v informatice, zatímco informatici se méně zapojují do diskusí o prvotních principech (například debat o tom, zda existují takové věci jako pevné esence nebo zda entity musí být ontologicky více primární než procesy). Během druhé poloviny 20. století filozofové rozsáhle debatovali o možných metodách nebo přístupech k budování ontologií, aniž by ve skutečnosti sami budovali nějaké velmi propracované ontologie. Naproti tomu informatici budovali některé velké a robustní ontologie (jako WordNet a Cyc) s poměrně malou debatou o tom, jak byly postaveny.

V prvních letech 21. století se díky interdisciplinárnímu projektu kognitivní vědy oba kruhy vědců sbližují. Mluví se například o „výpočetním obratu ve filozofii“, který zahrnuje filozofy analyzující formální ontologie informatiky (někdy dokonce pracující přímo se softwarem), zatímco výzkumníci v informatice se více odvolávají na ty filozofy, kteří na ontologii pracují (někdy s přímými důsledky pro jejich metody). Přesto mnoho vědců v obou oborech není do tohoto trendu kognitivní vědy zapojeno a nadále pracují nezávisle na sobě a sledují odděleně své odlišné zájmy.

Příklady publikovaných ontologií

Rozvoj ontologií pro web vedl ke zjevení služeb poskytujících seznamy nebo adresáře ontologií s vyhledávacím zařízením. Takové adresáře se nazývají ontologické knihovny.

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

Následují jak adresáře, tak vyhledávače. Zahrnují crawlery hledající na webu dobře vytvořené ontologie.

Související filozofické pojmy