KAPITOLA 9.: KLASIFIKÁTORY A KLASIFIKACE ONTOLOGIE - KLASIFIKACE ONTOLOGIE

Klasifikátor dále slouží k provádění tzv. testu subsumpce. Podle toho, jaké podmínky jsou uvedeny u definovaných a popsaných tříd, tak na jejich základě testuje, jestli jedna třída nemůže být podtřídou jiné. Doposavad jsme tvořili tzv. vloženou hierarchii tříd (asserted hierarchy). Je to taková hierarchie, která je tvořena námi vytvořenými popsanými, definovanými nebo přídavnými třídami. Existuje ovšem ještě odvozená hierarchie tříd (inferred hierarchy). Tu spočítá klasifikátor na základě podmínek, které jsou u tříd uvedené. Zkrátka dovede nám zachytit a zobrazit znalosti, které mi sami jsme přímo explicitně v ontologii nereprezentovali (tj. nezanesli tak, aby nám byly přímo na očích) - zviditelňuje tzv. skryté znalosti, provádí odvozování nových znalostí.

Jak odvozování funguje?

Tvůrce ontologie dodá klasifikátoru vloženou hierarchii tříd, resp. podmínky, které mají třídy splňovat. To jsou pro klasifikátor vstupy. Klasifikátor si to všechno "přechroustá" a na výstup tvůrci ontologie dodá ontologii, která může (i nemusí) být obohacena o nové vztahy, které vyplynuly z podmínek přiřazených třídám, viz. obrázek Odvozování pomocí klasifikátoru.


Odvozování pomocí klasifikátoru

Obrázek: Odvozování pomocí klasifikátoru

Experimenty s ontologií

Budeme dělat pokusy s naším ontologickým modelem, abychom zjistili, jak odvozování funguje. Vytvoříme popsanou třídu TestParrotClass. Bude reprezentovat papouška, který bude mít následující charakteristiky (podmínky):

  1. každý takový papoušek žije jen v Austrálii nebo v Asii, přičemž konkrétní jedinec vždy na jednom z nich;
  2. každý takový papoušek se živí zeleninou a ovocem;
  3. každý takový papoušek se dožívá jen velmi vysokého věku.

Jak budeme postupovat?

Je dobré si jednotlivé podmínky představit, jak by vypadaly v ručním nákresu, pak je reprezentovat v Protégé, před klasifikací odhadnout, k jaké definované třídě bude třída patřit, provést klasifikaci a zhodnotit, jestli jsme správně odhadli subsumpční vztahy (vztah typu nadtřída/podtřída), pokud ne, zjišťujeme, proč tomu tak není. Obrázek níže odpovídá ručnímu nákresu spolu s reprezentací v prostředí Protégé.


Podmínky u TestParrotClass

Obrázek: Podmínky u TestParrotClass

Před klasifikací odhadujeme, že třída TestParrotClass bude klasifikována jen jako podtřída definované třídy LongLivedParrot. Nebude ani podtřídou třídy AustralianParrot, AsiaParrot nebo ParrotHerbivore. Proč? Aby náš testovací papoušek spadal do třídy AustralianParrot, tak by musela být podmínka uvedena jinak. Australský papoušek je totiž takový papoušek, který se pochází jen a jen v Austrálii a od jinud ne! Náš testovací papoušek sice Austrálii obsahuje, ale není to "čistokrevný Australan", může totiž pocházet i z Asie, proto nemůžeme říci, že je jen z Austrálie, když podmínka u třídy TestParrotClass není tak reprezentována. Přejděme ke stravě papouška.

Třída TestParrotClass sice obsahuje zeleninu a ovoce, ale podmínka je reprezentována bez axiomu uzávěru vlastnosti, tzn., že náš testovací papoušek klidně ještě může jíst maso. To sice reprezentováno přímo v naší ontologii není, ale neuvedením axiomu uzávěru vlastnosti toto připouštíme.

Náš papoušek je zkrátka klasifikován jen jako dlouhověký papoušek, protože definovaná třída LongLivedParrot má u sebe podmínku, která říká, že dlouhověký papoušek je takový papoušek, který se dožívá jen a jen dlouhého věku (Aeon) a to náš testovací papoušek splňuje uvedenou podmínkou hasLongevity some Aeon spolu s axiomem uzávěru vlastnosti, který říká, že žádná další třída pro vlastnost nepřipadá v úvahu.

Pokud bychom tedy chtěli, aby náš papoušek-tester byl klasifikován podle místa svého původu, klidně bychom mohli zavést novou definovanou třídu, třeba s názvem AustralianAsianParrot a dodat podmínku, že AustralianOrAsianParrot je takový druh papouška, který se nachází v Austrálii nebo Ásii. Abychom rozhodli o zařazení papouška podle stravy, stačí uvést axiom uzávěru vlastnosti u třídy TestParrotClass.

Udržování ontologie v lehce spravovatelném stavu

Tato problematika je spojena s technikou zvanou Normalizace ontologie a s tou se seznámíme v další kapitole.

Na závěr je dobré ještě říct, že klasifikátor doplňuje ontologii o nové vztahy mezi třídami (třída je podtřídou jiné), nedokáže bohužel opravit ontologický model, ale jen upozornit na možné nesrovnalosti. Řídá jen, jestli je model realizovatelný, neříká, jestli odpovídá realitě (uživatel sám mu ten pohled na realitu dává).


Stáhnout projekt

parrot10Test.zip (experimenty s ontologií)